@xrkseek/harness 0.4.11 → 0.5.1

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 (526) hide show
  1. package/node_modules/@xrkseek/a2a/README.md +8 -6
  2. package/node_modules/@xrkseek/a2a/dist/client.d.ts +1 -0
  3. package/node_modules/@xrkseek/a2a/dist/client.d.ts.map +1 -1
  4. package/node_modules/@xrkseek/a2a/dist/client.js +36 -20
  5. package/node_modules/@xrkseek/a2a/dist/client.js.map +1 -1
  6. package/node_modules/@xrkseek/a2a/dist/inbound.d.ts +9 -2
  7. package/node_modules/@xrkseek/a2a/dist/inbound.d.ts.map +1 -1
  8. package/node_modules/@xrkseek/a2a/dist/inbound.js +86 -41
  9. package/node_modules/@xrkseek/a2a/dist/inbound.js.map +1 -1
  10. package/node_modules/@xrkseek/a2a/dist/index.d.ts +2 -1
  11. package/node_modules/@xrkseek/a2a/dist/index.d.ts.map +1 -1
  12. package/node_modules/@xrkseek/a2a/dist/index.js +2 -1
  13. package/node_modules/@xrkseek/a2a/dist/index.js.map +1 -1
  14. package/node_modules/@xrkseek/a2a/dist/protocol.d.ts +9 -0
  15. package/node_modules/@xrkseek/a2a/dist/protocol.d.ts.map +1 -1
  16. package/node_modules/@xrkseek/a2a/dist/protocol.js +25 -0
  17. package/node_modules/@xrkseek/a2a/dist/protocol.js.map +1 -1
  18. package/node_modules/@xrkseek/a2a/dist/task-store.d.ts +43 -0
  19. package/node_modules/@xrkseek/a2a/dist/task-store.d.ts.map +1 -0
  20. package/node_modules/@xrkseek/a2a/dist/task-store.js +105 -0
  21. package/node_modules/@xrkseek/a2a/dist/task-store.js.map +1 -0
  22. package/node_modules/@xrkseek/context-fragments/README.md +4 -2
  23. package/node_modules/@xrkseek/context-fragments/dist/index.d.ts +10 -2
  24. package/node_modules/@xrkseek/context-fragments/dist/index.d.ts.map +1 -1
  25. package/node_modules/@xrkseek/context-fragments/dist/index.js +16 -11
  26. package/node_modules/@xrkseek/context-fragments/dist/index.js.map +1 -1
  27. package/node_modules/@xrkseek/core-agent/dist/index.d.ts +5 -0
  28. package/node_modules/@xrkseek/core-agent/dist/index.d.ts.map +1 -1
  29. package/node_modules/@xrkseek/core-agent/dist/index.js +3 -0
  30. package/node_modules/@xrkseek/core-agent/dist/index.js.map +1 -1
  31. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts +11 -0
  32. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  33. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +9 -0
  34. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  35. package/node_modules/@xrkseek/exec-computer-use/dist/background.js +2 -2
  36. package/node_modules/@xrkseek/exec-computer-use/dist/background.js.map +1 -1
  37. package/node_modules/@xrkseek/exec-computer-use/dist/format.d.ts +22 -1
  38. package/node_modules/@xrkseek/exec-computer-use/dist/format.d.ts.map +1 -1
  39. package/node_modules/@xrkseek/exec-computer-use/dist/format.js +75 -9
  40. package/node_modules/@xrkseek/exec-computer-use/dist/format.js.map +1 -1
  41. package/node_modules/@xrkseek/exec-computer-use/dist/index.d.ts +2 -2
  42. package/node_modules/@xrkseek/exec-computer-use/dist/index.d.ts.map +1 -1
  43. package/node_modules/@xrkseek/exec-computer-use/dist/index.js +2 -2
  44. package/node_modules/@xrkseek/exec-computer-use/dist/index.js.map +1 -1
  45. package/node_modules/@xrkseek/exec-computer-use/dist/memory.d.ts +2 -0
  46. package/node_modules/@xrkseek/exec-computer-use/dist/memory.d.ts.map +1 -1
  47. package/node_modules/@xrkseek/exec-computer-use/dist/memory.js +18 -2
  48. package/node_modules/@xrkseek/exec-computer-use/dist/memory.js.map +1 -1
  49. package/node_modules/@xrkseek/exec-computer-use/dist/tools.d.ts +15 -1
  50. package/node_modules/@xrkseek/exec-computer-use/dist/tools.d.ts.map +1 -1
  51. package/node_modules/@xrkseek/exec-computer-use/dist/tools.js +77 -22
  52. package/node_modules/@xrkseek/exec-computer-use/dist/tools.js.map +1 -1
  53. package/node_modules/@xrkseek/exec-computer-use/dist/types.d.ts +5 -0
  54. package/node_modules/@xrkseek/exec-computer-use/dist/types.d.ts.map +1 -1
  55. package/node_modules/@xrkseek/exec-computer-use/dist/types.js.map +1 -1
  56. package/node_modules/@xrkseek/exec-computer-use/dist/windows-uia.d.ts +4 -0
  57. package/node_modules/@xrkseek/exec-computer-use/dist/windows-uia.d.ts.map +1 -1
  58. package/node_modules/@xrkseek/exec-computer-use/dist/windows-uia.js +138 -6
  59. package/node_modules/@xrkseek/exec-computer-use/dist/windows-uia.js.map +1 -1
  60. package/node_modules/@xrkseek/exec-environment/README.md +2 -2
  61. package/node_modules/@xrkseek/exec-environment/dist/index.d.ts +1 -0
  62. package/node_modules/@xrkseek/exec-environment/dist/index.d.ts.map +1 -1
  63. package/node_modules/@xrkseek/exec-environment/dist/index.js +1 -0
  64. package/node_modules/@xrkseek/exec-environment/dist/index.js.map +1 -1
  65. package/node_modules/@xrkseek/exec-environment/dist/memory.d.ts +25 -0
  66. package/node_modules/@xrkseek/exec-environment/dist/memory.d.ts.map +1 -0
  67. package/node_modules/@xrkseek/exec-environment/dist/memory.js +290 -0
  68. package/node_modules/@xrkseek/exec-environment/dist/memory.js.map +1 -0
  69. package/node_modules/@xrkseek/exec-environment/dist/resolve.d.ts +5 -3
  70. package/node_modules/@xrkseek/exec-environment/dist/resolve.d.ts.map +1 -1
  71. package/node_modules/@xrkseek/exec-environment/dist/resolve.js +13 -5
  72. package/node_modules/@xrkseek/exec-environment/dist/resolve.js.map +1 -1
  73. package/node_modules/@xrkseek/exec-environment/dist/types.d.ts +1 -1
  74. package/node_modules/@xrkseek/exec-environment/dist/types.d.ts.map +1 -1
  75. package/node_modules/@xrkseek/exec-environment/package.json +1 -1
  76. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts +1 -1
  77. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
  78. package/node_modules/@xrkseek/exec-fs/dist/index.js +1 -1
  79. package/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
  80. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts +2 -0
  81. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts.map +1 -1
  82. package/node_modules/@xrkseek/exec-fs/dist/read-image.js +69 -31
  83. package/node_modules/@xrkseek/exec-fs/dist/read-image.js.map +1 -1
  84. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.d.ts.map +1 -1
  85. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js +10 -1
  86. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js.map +1 -1
  87. package/node_modules/@xrkseek/exec-image-gen/dist/format.d.ts +14 -0
  88. package/node_modules/@xrkseek/exec-image-gen/dist/format.d.ts.map +1 -1
  89. package/node_modules/@xrkseek/exec-image-gen/dist/format.js +28 -6
  90. package/node_modules/@xrkseek/exec-image-gen/dist/format.js.map +1 -1
  91. package/node_modules/@xrkseek/exec-image-gen/dist/index.d.ts +1 -1
  92. package/node_modules/@xrkseek/exec-image-gen/dist/index.d.ts.map +1 -1
  93. package/node_modules/@xrkseek/exec-image-gen/dist/index.js +1 -1
  94. package/node_modules/@xrkseek/exec-image-gen/dist/index.js.map +1 -1
  95. package/node_modules/@xrkseek/exec-image-gen/dist/references.d.ts.map +1 -1
  96. package/node_modules/@xrkseek/exec-image-gen/dist/references.js +8 -1
  97. package/node_modules/@xrkseek/exec-image-gen/dist/references.js.map +1 -1
  98. package/node_modules/@xrkseek/exec-image-gen/dist/schema.d.ts.map +1 -1
  99. package/node_modules/@xrkseek/exec-image-gen/dist/schema.js +11 -7
  100. package/node_modules/@xrkseek/exec-image-gen/dist/schema.js.map +1 -1
  101. package/node_modules/@xrkseek/exec-image-gen/dist/tools.d.ts +2 -2
  102. package/node_modules/@xrkseek/exec-image-gen/dist/tools.d.ts.map +1 -1
  103. package/node_modules/@xrkseek/exec-image-gen/dist/tools.js +38 -14
  104. package/node_modules/@xrkseek/exec-image-gen/dist/tools.js.map +1 -1
  105. package/node_modules/@xrkseek/exec-image-gen/package.json +2 -1
  106. package/node_modules/@xrkseek/exec-sandbox/dist/bwrap.d.ts +23 -3
  107. package/node_modules/@xrkseek/exec-sandbox/dist/bwrap.d.ts.map +1 -1
  108. package/node_modules/@xrkseek/exec-sandbox/dist/bwrap.js +40 -5
  109. package/node_modules/@xrkseek/exec-sandbox/dist/bwrap.js.map +1 -1
  110. package/node_modules/@xrkseek/exec-sandbox/dist/doctor.js +1 -1
  111. package/node_modules/@xrkseek/exec-sandbox/dist/doctor.js.map +1 -1
  112. package/node_modules/@xrkseek/exec-sandbox/dist/index.d.ts +1 -1
  113. package/node_modules/@xrkseek/exec-sandbox/dist/index.d.ts.map +1 -1
  114. package/node_modules/@xrkseek/exec-sandbox/dist/index.js +1 -1
  115. package/node_modules/@xrkseek/exec-sandbox/dist/index.js.map +1 -1
  116. package/node_modules/@xrkseek/exec-sandbox/dist/resolve.d.ts +8 -0
  117. package/node_modules/@xrkseek/exec-sandbox/dist/resolve.d.ts.map +1 -1
  118. package/node_modules/@xrkseek/exec-sandbox/dist/resolve.js +13 -4
  119. package/node_modules/@xrkseek/exec-sandbox/dist/resolve.js.map +1 -1
  120. package/node_modules/@xrkseek/exec-shell/dist/index.d.ts +6 -3
  121. package/node_modules/@xrkseek/exec-shell/dist/index.d.ts.map +1 -1
  122. package/node_modules/@xrkseek/exec-shell/dist/index.js +40 -10
  123. package/node_modules/@xrkseek/exec-shell/dist/index.js.map +1 -1
  124. package/node_modules/@xrkseek/exec-subprocess/dist/index.d.ts +4 -0
  125. package/node_modules/@xrkseek/exec-subprocess/dist/index.d.ts.map +1 -1
  126. package/node_modules/@xrkseek/exec-subprocess/dist/index.js +2 -0
  127. package/node_modules/@xrkseek/exec-subprocess/dist/index.js.map +1 -1
  128. package/node_modules/@xrkseek/exec-video-gen/dist/format.js +6 -6
  129. package/node_modules/@xrkseek/exec-video-gen/dist/format.js.map +1 -1
  130. package/node_modules/@xrkseek/exec-video-gen/dist/tools.js +2 -2
  131. package/node_modules/@xrkseek/exec-video-gen/dist/tools.js.map +1 -1
  132. package/node_modules/@xrkseek/exec-web/dist/browser-cdp.d.ts.map +1 -1
  133. package/node_modules/@xrkseek/exec-web/dist/browser-cdp.js +26 -1
  134. package/node_modules/@xrkseek/exec-web/dist/browser-cdp.js.map +1 -1
  135. package/node_modules/@xrkseek/exec-web/dist/browser-session.d.ts +10 -2
  136. package/node_modules/@xrkseek/exec-web/dist/browser-session.d.ts.map +1 -1
  137. package/node_modules/@xrkseek/exec-web/dist/browser-session.js +27 -4
  138. package/node_modules/@xrkseek/exec-web/dist/browser-session.js.map +1 -1
  139. package/node_modules/@xrkseek/exec-web/dist/browser-tools.d.ts.map +1 -1
  140. package/node_modules/@xrkseek/exec-web/dist/browser-tools.js +43 -14
  141. package/node_modules/@xrkseek/exec-web/dist/browser-tools.js.map +1 -1
  142. package/node_modules/@xrkseek/exec-web/dist/format.d.ts.map +1 -1
  143. package/node_modules/@xrkseek/exec-web/dist/format.js +2 -1
  144. package/node_modules/@xrkseek/exec-web/dist/format.js.map +1 -1
  145. package/node_modules/@xrkseek/exec-web/dist/index.d.ts +1 -1
  146. package/node_modules/@xrkseek/exec-web/dist/index.d.ts.map +1 -1
  147. package/node_modules/@xrkseek/exec-web/dist/index.js.map +1 -1
  148. package/node_modules/@xrkseek/llm/dist/reasoning-effort.d.ts +14 -0
  149. package/node_modules/@xrkseek/llm/dist/reasoning-effort.d.ts.map +1 -0
  150. package/node_modules/@xrkseek/llm/dist/reasoning-effort.js +21 -0
  151. package/node_modules/@xrkseek/llm/dist/reasoning-effort.js.map +1 -0
  152. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  153. package/node_modules/@xrkseek/preset-harness/dist/preset.js +28 -4
  154. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  155. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  156. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  157. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  158. package/node_modules/@xrkseek/protocol/dist/workspace-changes.d.ts.map +1 -1
  159. package/node_modules/@xrkseek/protocol/dist/workspace-changes.js +3 -1
  160. package/node_modules/@xrkseek/protocol/dist/workspace-changes.js.map +1 -1
  161. package/node_modules/@xrkseek/server-face/dist/attach-http.d.ts +6 -2
  162. package/node_modules/@xrkseek/server-face/dist/attach-http.d.ts.map +1 -1
  163. package/node_modules/@xrkseek/server-face/dist/attach-http.js +120 -48
  164. package/node_modules/@xrkseek/server-face/dist/attach-http.js.map +1 -1
  165. package/node_modules/@xrkseek/server-face/dist/context.d.ts +18 -3
  166. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  167. package/node_modules/@xrkseek/server-face/dist/dispatch.d.ts.map +1 -1
  168. package/node_modules/@xrkseek/server-face/dist/dispatch.js +6 -2
  169. package/node_modules/@xrkseek/server-face/dist/dispatch.js.map +1 -1
  170. package/node_modules/@xrkseek/server-face/dist/face-schema.d.ts.map +1 -1
  171. package/node_modules/@xrkseek/server-face/dist/face-schema.js +1 -0
  172. package/node_modules/@xrkseek/server-face/dist/face-schema.js.map +1 -1
  173. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.d.ts.map +1 -1
  174. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js +2 -1
  175. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js.map +1 -1
  176. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.d.ts +11 -1
  177. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.d.ts.map +1 -1
  178. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js +170 -4
  179. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js.map +1 -1
  180. package/node_modules/@xrkseek/server-face/dist/handlers/session-added.d.ts.map +1 -1
  181. package/node_modules/@xrkseek/server-face/dist/handlers/session-added.js +3 -2
  182. package/node_modules/@xrkseek/server-face/dist/handlers/session-added.js.map +1 -1
  183. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  184. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +7 -6
  185. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  186. package/node_modules/@xrkseek/server-face/dist/index.d.mts +3734 -0
  187. package/node_modules/@xrkseek/server-face/dist/index.d.mts.map +1 -0
  188. package/node_modules/@xrkseek/server-face/dist/index.d.ts +7 -4
  189. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  190. package/node_modules/@xrkseek/server-face/dist/index.js +7 -4
  191. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  192. package/node_modules/@xrkseek/server-face/dist/index.mjs +22085 -0
  193. package/node_modules/@xrkseek/server-face/dist/index.mjs.map +1 -0
  194. package/node_modules/@xrkseek/server-face/dist/model-reasoning.d.ts +51 -0
  195. package/node_modules/@xrkseek/server-face/dist/model-reasoning.d.ts.map +1 -0
  196. package/node_modules/@xrkseek/server-face/dist/model-reasoning.js +104 -0
  197. package/node_modules/@xrkseek/server-face/dist/model-reasoning.js.map +1 -0
  198. package/node_modules/@xrkseek/server-face/dist/plugin-agent-presets.d.ts +34 -0
  199. package/node_modules/@xrkseek/server-face/dist/plugin-agent-presets.d.ts.map +1 -0
  200. package/node_modules/@xrkseek/server-face/dist/plugin-agent-presets.js +41 -0
  201. package/node_modules/@xrkseek/server-face/dist/plugin-agent-presets.js.map +1 -0
  202. package/node_modules/@xrkseek/server-face/dist/plugin-inventory.d.ts +5 -2
  203. package/node_modules/@xrkseek/server-face/dist/plugin-inventory.d.ts.map +1 -1
  204. package/node_modules/@xrkseek/server-face/dist/plugin-inventory.js +13 -2
  205. package/node_modules/@xrkseek/server-face/dist/plugin-inventory.js.map +1 -1
  206. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.d.ts.map +1 -1
  207. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.js +3 -1
  208. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.js.map +1 -1
  209. package/node_modules/@xrkseek/server-face/dist/remote-event.d.ts +1 -1
  210. package/node_modules/@xrkseek/server-face/dist/remote-event.d.ts.map +1 -1
  211. package/node_modules/@xrkseek/server-face/dist/remote-event.js +1 -0
  212. package/node_modules/@xrkseek/server-face/dist/remote-event.js.map +1 -1
  213. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts +17 -4
  214. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  215. package/node_modules/@xrkseek/server-face/dist/runtime.js +14 -2
  216. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  217. package/node_modules/@xrkseek/server-face/dist/session-agent-preset-store.d.ts +14 -0
  218. package/node_modules/@xrkseek/server-face/dist/session-agent-preset-store.d.ts.map +1 -0
  219. package/node_modules/@xrkseek/server-face/dist/session-agent-preset-store.js +71 -0
  220. package/node_modules/@xrkseek/server-face/dist/session-agent-preset-store.js.map +1 -0
  221. package/node_modules/@xrkseek/server-face/dist/session-agent-preset.d.ts +17 -0
  222. package/node_modules/@xrkseek/server-face/dist/session-agent-preset.d.ts.map +1 -0
  223. package/node_modules/@xrkseek/server-face/dist/session-agent-preset.js +50 -0
  224. package/node_modules/@xrkseek/server-face/dist/session-agent-preset.js.map +1 -0
  225. package/node_modules/@xrkseek/server-face/dist/session-attachment.d.ts +4 -0
  226. package/node_modules/@xrkseek/server-face/dist/session-attachment.d.ts.map +1 -1
  227. package/node_modules/@xrkseek/server-face/dist/session-attachment.js +30 -7
  228. package/node_modules/@xrkseek/server-face/dist/session-attachment.js.map +1 -1
  229. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
  230. package/node_modules/@xrkseek/server-face/dist/session-status.js +2 -1
  231. package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
  232. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts +6 -0
  233. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts.map +1 -1
  234. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js +68 -12
  235. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js.map +1 -1
  236. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  237. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +7 -3
  238. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  239. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  240. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +25 -1
  241. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  242. package/node_modules/@xrkseek/server-face/dist/types.d.ts +3 -0
  243. package/node_modules/@xrkseek/server-face/dist/types.d.ts.map +1 -1
  244. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts +2 -0
  245. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts.map +1 -1
  246. package/node_modules/@xrkseek/server-face/dist/workspace-face.js +61 -3
  247. package/node_modules/@xrkseek/server-face/dist/workspace-face.js.map +1 -1
  248. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts +23 -2
  249. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts.map +1 -1
  250. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js +37 -2
  251. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js.map +1 -1
  252. package/node_modules/@xrkseek/server-face/dist/workspace-store.d.ts +2 -0
  253. package/node_modules/@xrkseek/server-face/dist/workspace-store.d.ts.map +1 -1
  254. package/node_modules/@xrkseek/server-face/dist/workspace-store.js +4 -0
  255. package/node_modules/@xrkseek/server-face/dist/workspace-store.js.map +1 -1
  256. package/node_modules/@xrkseek/server-face/dist/ws-heartbeat.d.ts +9 -3
  257. package/node_modules/@xrkseek/server-face/dist/ws-heartbeat.d.ts.map +1 -1
  258. package/node_modules/@xrkseek/server-face/dist/ws-heartbeat.js +11 -7
  259. package/node_modules/@xrkseek/server-face/dist/ws-heartbeat.js.map +1 -1
  260. package/node_modules/@xrkseek/server-face/dist/ws-send-queue.d.ts +4 -9
  261. package/node_modules/@xrkseek/server-face/dist/ws-send-queue.d.ts.map +1 -1
  262. package/node_modules/@xrkseek/server-face/dist/ws-send-queue.js +12 -24
  263. package/node_modules/@xrkseek/server-face/dist/ws-send-queue.js.map +1 -1
  264. package/node_modules/@xrkseek/server-host/dist/cron-http.d.ts +26 -0
  265. package/node_modules/@xrkseek/server-host/dist/cron-http.d.ts.map +1 -0
  266. package/node_modules/@xrkseek/server-host/dist/cron-http.js +77 -0
  267. package/node_modules/@xrkseek/server-host/dist/cron-http.js.map +1 -0
  268. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  269. package/node_modules/@xrkseek/server-host/dist/index.js +222 -123
  270. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  271. package/node_modules/@xrkseek/server-host/dist/mcp-wire.d.ts +8 -0
  272. package/node_modules/@xrkseek/server-host/dist/mcp-wire.d.ts.map +1 -1
  273. package/node_modules/@xrkseek/server-host/dist/mcp-wire.js +33 -1
  274. package/node_modules/@xrkseek/server-host/dist/mcp-wire.js.map +1 -1
  275. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.d.ts.map +1 -1
  276. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js +2 -1
  277. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js.map +1 -1
  278. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.d.ts +2 -0
  279. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.d.ts.map +1 -0
  280. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.js +98 -0
  281. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.js.map +1 -0
  282. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.d.ts +18 -0
  283. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.d.ts.map +1 -0
  284. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.js +141 -0
  285. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.js.map +1 -0
  286. package/node_modules/@xrkseek/server-host/dist/sidebar-pty.d.ts +11 -4
  287. package/node_modules/@xrkseek/server-host/dist/sidebar-pty.d.ts.map +1 -1
  288. package/node_modules/@xrkseek/server-host/dist/sidebar-pty.js +353 -2
  289. package/node_modules/@xrkseek/server-host/dist/sidebar-pty.js.map +1 -1
  290. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.d.ts +30 -0
  291. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.d.ts.map +1 -0
  292. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.js +96 -0
  293. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.js.map +1 -0
  294. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.d.ts.map +1 -1
  295. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.js +306 -11
  296. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.js.map +1 -1
  297. package/node_modules/@xrkseek/server-http/dist/dsh-compat/audit-community-client.d.ts.map +1 -1
  298. package/node_modules/@xrkseek/server-http/dist/dsh-compat/audit-community-client.js +53 -3
  299. package/node_modules/@xrkseek/server-http/dist/dsh-compat/audit-community-client.js.map +1 -1
  300. package/node_modules/@xrkseek/server-http/dist/dsh-compat/billing.d.ts +9 -0
  301. package/node_modules/@xrkseek/server-http/dist/dsh-compat/billing.d.ts.map +1 -0
  302. package/node_modules/@xrkseek/server-http/dist/dsh-compat/billing.js +80 -0
  303. package/node_modules/@xrkseek/server-http/dist/dsh-compat/billing.js.map +1 -0
  304. package/node_modules/@xrkseek/server-http/dist/dsh-compat/code-server.d.ts +11 -0
  305. package/node_modules/@xrkseek/server-http/dist/dsh-compat/code-server.d.ts.map +1 -0
  306. package/node_modules/@xrkseek/server-http/dist/dsh-compat/code-server.js +152 -0
  307. package/node_modules/@xrkseek/server-http/dist/dsh-compat/code-server.js.map +1 -0
  308. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-plugin-root.d.ts +5 -0
  309. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-plugin-root.d.ts.map +1 -0
  310. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-plugin-root.js +31 -0
  311. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-plugin-root.js.map +1 -0
  312. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-root-http.d.ts +17 -3
  313. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-root-http.d.ts.map +1 -1
  314. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-root-http.js +265 -8
  315. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-root-http.js.map +1 -1
  316. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-client-scan.d.ts.map +1 -1
  317. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-client-scan.js +6 -1
  318. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-client-scan.js.map +1 -1
  319. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-codex-ui.d.ts +7 -0
  320. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-codex-ui.d.ts.map +1 -0
  321. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-codex-ui.js +188 -0
  322. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-codex-ui.js.map +1 -0
  323. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.d.ts.map +1 -1
  324. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js +3 -3
  325. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js.map +1 -1
  326. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-context.d.ts +11 -0
  327. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-context.d.ts.map +1 -0
  328. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-context.js +117 -0
  329. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-context.js.map +1 -0
  330. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-email.d.ts +11 -0
  331. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-email.d.ts.map +1 -0
  332. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-email.js +381 -0
  333. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-email.js.map +1 -0
  334. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-path-capabilities.d.ts.map +1 -1
  335. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-path-capabilities.js +43 -1
  336. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-path-capabilities.js.map +1 -1
  337. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-pet-legacy.d.ts +11 -0
  338. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-pet-legacy.d.ts.map +1 -0
  339. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-pet-legacy.js +173 -0
  340. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-pet-legacy.js.map +1 -0
  341. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-skins.d.ts +17 -0
  342. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-skins.d.ts.map +1 -0
  343. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-skins.js +209 -0
  344. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-skins.js.map +1 -0
  345. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-ssh.d.ts +7 -0
  346. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-ssh.d.ts.map +1 -0
  347. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-ssh.js +470 -0
  348. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-ssh.js.map +1 -0
  349. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-update.d.ts +7 -0
  350. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-update.d.ts.map +1 -0
  351. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-update.js +93 -0
  352. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-update.js.map +1 -0
  353. package/node_modules/@xrkseek/server-http/dist/dsh-compat/free-search.d.ts +27 -0
  354. package/node_modules/@xrkseek/server-http/dist/dsh-compat/free-search.d.ts.map +1 -0
  355. package/node_modules/@xrkseek/server-http/dist/dsh-compat/free-search.js +213 -0
  356. package/node_modules/@xrkseek/server-http/dist/dsh-compat/free-search.js.map +1 -0
  357. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-dsh-http.d.ts +6 -2
  358. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-dsh-http.d.ts.map +1 -1
  359. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-dsh-http.js +92 -14
  360. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-dsh-http.js.map +1 -1
  361. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-plugin-http.d.ts +1 -0
  362. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-plugin-http.d.ts.map +1 -1
  363. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-plugin-http.js +72 -1
  364. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-plugin-http.js.map +1 -1
  365. package/node_modules/@xrkseek/server-http/dist/dsh-compat/git-graph.d.ts +9 -0
  366. package/node_modules/@xrkseek/server-http/dist/dsh-compat/git-graph.d.ts.map +1 -0
  367. package/node_modules/@xrkseek/server-http/dist/dsh-compat/git-graph.js +341 -0
  368. package/node_modules/@xrkseek/server-http/dist/dsh-compat/git-graph.js.map +1 -0
  369. package/node_modules/@xrkseek/server-http/dist/dsh-compat/honest-http-catchall.d.ts.map +1 -1
  370. package/node_modules/@xrkseek/server-http/dist/dsh-compat/honest-http-catchall.js +3 -0
  371. package/node_modules/@xrkseek/server-http/dist/dsh-compat/honest-http-catchall.js.map +1 -1
  372. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-connect.d.ts +7 -0
  373. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-connect.d.ts.map +1 -0
  374. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-connect.js +138 -0
  375. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-connect.js.map +1 -0
  376. package/node_modules/@xrkseek/server-http/dist/dsh-compat/install.d.ts +11 -0
  377. package/node_modules/@xrkseek/server-http/dist/dsh-compat/install.d.ts.map +1 -0
  378. package/node_modules/@xrkseek/server-http/dist/dsh-compat/install.js +85 -0
  379. package/node_modules/@xrkseek/server-http/dist/dsh-compat/install.js.map +1 -0
  380. package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.d.ts +27 -0
  381. package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.d.ts.map +1 -1
  382. package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.js +230 -52
  383. package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.js.map +1 -1
  384. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mcp-connector.d.ts +11 -0
  385. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mcp-connector.d.ts.map +1 -0
  386. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mcp-connector.js +182 -0
  387. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mcp-connector.js.map +1 -0
  388. package/node_modules/@xrkseek/server-http/dist/dsh-compat/michengai.d.ts +13 -0
  389. package/node_modules/@xrkseek/server-http/dist/dsh-compat/michengai.d.ts.map +1 -0
  390. package/node_modules/@xrkseek/server-http/dist/dsh-compat/michengai.js +151 -0
  391. package/node_modules/@xrkseek/server-http/dist/dsh-compat/michengai.js.map +1 -0
  392. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon-store.d.ts +6 -0
  393. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon-store.d.ts.map +1 -1
  394. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon-store.js +34 -0
  395. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon-store.js.map +1 -1
  396. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon.d.ts +2 -0
  397. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon.d.ts.map +1 -1
  398. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon.js +271 -20
  399. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon.js.map +1 -1
  400. package/node_modules/@xrkseek/server-http/dist/dsh-compat/modlens.d.ts +1 -1
  401. package/node_modules/@xrkseek/server-http/dist/dsh-compat/modlens.d.ts.map +1 -1
  402. package/node_modules/@xrkseek/server-http/dist/dsh-compat/modlens.js +105 -21
  403. package/node_modules/@xrkseek/server-http/dist/dsh-compat/modlens.js.map +1 -1
  404. package/node_modules/@xrkseek/server-http/dist/dsh-compat/niulai-kws.d.ts +7 -0
  405. package/node_modules/@xrkseek/server-http/dist/dsh-compat/niulai-kws.d.ts.map +1 -0
  406. package/node_modules/@xrkseek/server-http/dist/dsh-compat/niulai-kws.js +81 -0
  407. package/node_modules/@xrkseek/server-http/dist/dsh-compat/niulai-kws.js.map +1 -0
  408. package/node_modules/@xrkseek/server-http/dist/dsh-compat/pet.d.ts +8 -0
  409. package/node_modules/@xrkseek/server-http/dist/dsh-compat/pet.d.ts.map +1 -0
  410. package/node_modules/@xrkseek/server-http/dist/dsh-compat/pet.js +378 -0
  411. package/node_modules/@xrkseek/server-http/dist/dsh-compat/pet.js.map +1 -0
  412. package/node_modules/@xrkseek/server-http/dist/dsh-compat/remote-web-ui.d.ts +7 -0
  413. package/node_modules/@xrkseek/server-http/dist/dsh-compat/remote-web-ui.d.ts.map +1 -0
  414. package/node_modules/@xrkseek/server-http/dist/dsh-compat/remote-web-ui.js +229 -0
  415. package/node_modules/@xrkseek/server-http/dist/dsh-compat/remote-web-ui.js.map +1 -0
  416. package/node_modules/@xrkseek/server-http/dist/dsh-compat/server-deck.d.ts +7 -0
  417. package/node_modules/@xrkseek/server-http/dist/dsh-compat/server-deck.d.ts.map +1 -0
  418. package/node_modules/@xrkseek/server-http/dist/dsh-compat/server-deck.js +300 -0
  419. package/node_modules/@xrkseek/server-http/dist/dsh-compat/server-deck.js.map +1 -0
  420. package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-defaults.d.ts.map +1 -1
  421. package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-defaults.js +10 -1
  422. package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-defaults.js.map +1 -1
  423. package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-store.d.ts.map +1 -1
  424. package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-store.js +40 -9
  425. package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-store.js.map +1 -1
  426. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skills-manager.d.ts +8 -0
  427. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skills-manager.d.ts.map +1 -0
  428. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skills-manager.js +428 -0
  429. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skills-manager.js.map +1 -0
  430. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-assets.d.ts +12 -0
  431. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-assets.d.ts.map +1 -0
  432. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-assets.js +166 -0
  433. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-assets.js.map +1 -0
  434. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-center.d.ts +20 -0
  435. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-center.d.ts.map +1 -0
  436. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-center.js +308 -0
  437. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-center.js.map +1 -0
  438. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-discover.d.ts +32 -0
  439. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-discover.d.ts.map +1 -0
  440. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-discover.js +183 -0
  441. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-discover.js.map +1 -0
  442. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-market.d.ts +2 -0
  443. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-market.d.ts.map +1 -1
  444. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-market.js +20 -16
  445. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-market.js.map +1 -1
  446. package/node_modules/@xrkseek/server-http/dist/dsh-compat/task-board.d.ts +7 -0
  447. package/node_modules/@xrkseek/server-http/dist/dsh-compat/task-board.d.ts.map +1 -0
  448. package/node_modules/@xrkseek/server-http/dist/dsh-compat/task-board.js +245 -0
  449. package/node_modules/@xrkseek/server-http/dist/dsh-compat/task-board.js.map +1 -0
  450. package/node_modules/@xrkseek/server-http/dist/dsh-compat/token-usage-stats-dash.d.ts +9 -0
  451. package/node_modules/@xrkseek/server-http/dist/dsh-compat/token-usage-stats-dash.d.ts.map +1 -0
  452. package/node_modules/@xrkseek/server-http/dist/dsh-compat/token-usage-stats-dash.js +116 -0
  453. package/node_modules/@xrkseek/server-http/dist/dsh-compat/token-usage-stats-dash.js.map +1 -0
  454. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/http-json.d.ts +1 -0
  455. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/http-json.d.ts.map +1 -1
  456. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/http-json.js +5 -2
  457. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/http-json.js.map +1 -1
  458. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.d.ts +2 -1
  459. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.d.ts.map +1 -1
  460. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.js +2 -1
  461. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.js.map +1 -1
  462. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/plugin-surface-store.d.ts +18 -0
  463. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/plugin-surface-store.d.ts.map +1 -0
  464. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/plugin-surface-store.js +65 -0
  465. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/plugin-surface-store.js.map +1 -0
  466. package/node_modules/@xrkseek/server-http/dist/dsh-compat/univer-api.d.ts +11 -0
  467. package/node_modules/@xrkseek/server-http/dist/dsh-compat/univer-api.d.ts.map +1 -0
  468. package/node_modules/@xrkseek/server-http/dist/dsh-compat/univer-api.js +114 -0
  469. package/node_modules/@xrkseek/server-http/dist/dsh-compat/univer-api.js.map +1 -0
  470. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper.d.ts +3 -1
  471. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper.d.ts.map +1 -1
  472. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper.js +42 -1
  473. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper.js.map +1 -1
  474. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire/stub-handlers.d.ts +6 -1
  475. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire/stub-handlers.d.ts.map +1 -1
  476. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire/stub-handlers.js +68 -8
  477. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire/stub-handlers.js.map +1 -1
  478. package/node_modules/@xrkseek/server-http/dist/fetch-dispatch.d.ts.map +1 -1
  479. package/node_modules/@xrkseek/server-http/dist/fetch-dispatch.js +111 -26
  480. package/node_modules/@xrkseek/server-http/dist/fetch-dispatch.js.map +1 -1
  481. package/node_modules/@xrkseek/server-http/dist/host-owned-paths.d.ts +6 -0
  482. package/node_modules/@xrkseek/server-http/dist/host-owned-paths.d.ts.map +1 -0
  483. package/node_modules/@xrkseek/server-http/dist/host-owned-paths.js +32 -0
  484. package/node_modules/@xrkseek/server-http/dist/host-owned-paths.js.map +1 -0
  485. package/node_modules/@xrkseek/server-http/dist/index.d.ts +1 -0
  486. package/node_modules/@xrkseek/server-http/dist/index.d.ts.map +1 -1
  487. package/node_modules/@xrkseek/server-http/dist/index.js +1 -0
  488. package/node_modules/@xrkseek/server-http/dist/index.js.map +1 -1
  489. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.d.ts.map +1 -1
  490. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.js +10 -0
  491. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.js.map +1 -1
  492. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.d.ts +9 -0
  493. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.d.ts.map +1 -1
  494. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.js +68 -21
  495. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.js.map +1 -1
  496. package/node_modules/@xrkseek/server-http/package.json +1 -0
  497. package/node_modules/@xrkseek/server-loader/dist/index.d.ts +1 -1
  498. package/node_modules/@xrkseek/server-loader/dist/index.d.ts.map +1 -1
  499. package/node_modules/@xrkseek/server-loader/dist/index.js.map +1 -1
  500. package/node_modules/@xrkseek/server-loader/dist/load.d.ts.map +1 -1
  501. package/node_modules/@xrkseek/server-loader/dist/load.js +5 -2
  502. package/node_modules/@xrkseek/server-loader/dist/load.js.map +1 -1
  503. package/node_modules/@xrkseek/server-loader/dist/managed-state.d.ts +11 -1
  504. package/node_modules/@xrkseek/server-loader/dist/managed-state.d.ts.map +1 -1
  505. package/node_modules/@xrkseek/server-loader/dist/managed-state.js +11 -2
  506. package/node_modules/@xrkseek/server-loader/dist/managed-state.js.map +1 -1
  507. package/node_modules/@xrkseek/workspace/dist/index.d.ts +9 -0
  508. package/node_modules/@xrkseek/workspace/dist/index.d.ts.map +1 -1
  509. package/node_modules/@xrkseek/workspace/dist/index.js +4 -2
  510. package/node_modules/@xrkseek/workspace/dist/index.js.map +1 -1
  511. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.d.ts +32 -2
  512. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.d.ts.map +1 -1
  513. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.js +69 -2
  514. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.js.map +1 -1
  515. package/node_modules/@xrkseek/xrk-session-reference/README.md +1 -1
  516. package/node_modules/@xrkseek/xrk-session-reference/README.zh.md +1 -1
  517. package/node_modules/@xrkseek/xrk-session-reference/dist/spill.d.ts +5 -3
  518. package/node_modules/@xrkseek/xrk-session-reference/dist/spill.d.ts.map +1 -1
  519. package/node_modules/@xrkseek/xrk-session-reference/dist/spill.js +20 -17
  520. package/node_modules/@xrkseek/xrk-session-reference/dist/spill.js.map +1 -1
  521. package/node_modules/@xrkseek/xrk-session-reference/package.json +1 -1
  522. package/package.json +1 -1
  523. package/node_modules/@xrkseek/server-face/dist/opencode-zen.d.ts +0 -13
  524. package/node_modules/@xrkseek/server-face/dist/opencode-zen.d.ts.map +0 -1
  525. package/node_modules/@xrkseek/server-face/dist/opencode-zen.js +0 -40
  526. package/node_modules/@xrkseek/server-face/dist/opencode-zen.js.map +0 -1
@@ -0,0 +1,470 @@
1
+ /**
2
+ * `@linxin666/dsh-ssh` — persisted host catalog under `~/.xrk/dsh-ssh/`.
3
+ * `/test` does a TCP connect probe; exec / tunnel remain honest (no SSH engine).
4
+ */
5
+ import { existsSync, readFileSync } from "node:fs";
6
+ import { createConnection } from "node:net";
7
+ import { homedir } from "node:os";
8
+ import path from "node:path";
9
+ import { sendJson } from "./underlying/http-json.js";
10
+ import { createXrkDocStore } from "./underlying/doc-store.js";
11
+ import { httpMethod, parseJsonBody } from "./underlying/http-kit.js";
12
+ import { DSH_COMPAT_ADAPTER } from "./meta.js";
13
+ const STORE = createXrkDocStore(["dsh-ssh", "hosts.json"], {
14
+ hosts: [],
15
+ });
16
+ function seatGap(message) {
17
+ return {
18
+ ok: false,
19
+ error: "ssh-engine-unavailable",
20
+ message,
21
+ adapter: DSH_COMPAT_ADAPTER,
22
+ };
23
+ }
24
+ /** TCP reachability only — not an SSH handshake. */
25
+ function probeTcp(host, port, timeoutMs = 3000) {
26
+ const started = Date.now();
27
+ return new Promise((resolve) => {
28
+ const socket = createConnection({ host, port });
29
+ let settled = false;
30
+ const finish = (ok, error) => {
31
+ if (settled)
32
+ return;
33
+ settled = true;
34
+ socket.destroy();
35
+ resolve({
36
+ ok,
37
+ latencyMs: Date.now() - started,
38
+ ...(error ? { error } : {}),
39
+ });
40
+ };
41
+ socket.setTimeout(timeoutMs);
42
+ socket.once("connect", () => finish(true));
43
+ socket.once("timeout", () => finish(false, "tcp-timeout"));
44
+ socket.once("error", (err) => finish(false, err instanceof Error ? err.message : String(err)));
45
+ });
46
+ }
47
+ function asString(value, fallback = "") {
48
+ return typeof value === "string" ? value.trim() : fallback;
49
+ }
50
+ function asPort(value, fallback = 22) {
51
+ const n = typeof value === "number" ? value : Number(value);
52
+ return Number.isInteger(n) && n > 0 && n <= 65535 ? n : fallback;
53
+ }
54
+ function asStringList(value) {
55
+ if (Array.isArray(value)) {
56
+ return value
57
+ .filter((v) => typeof v === "string")
58
+ .map((v) => v.trim())
59
+ .filter(Boolean);
60
+ }
61
+ if (typeof value === "string") {
62
+ return value
63
+ .split(/[,;\s]+/)
64
+ .map((v) => v.trim())
65
+ .filter(Boolean);
66
+ }
67
+ return [];
68
+ }
69
+ function normalizeAuth(raw, previous) {
70
+ if (raw && typeof raw === "object") {
71
+ const auth = raw;
72
+ const kind = asString(auth.kind, previous?.kind ?? "key");
73
+ if (kind === "password") {
74
+ const password = asString(auth.password) || previous?.password || "";
75
+ return {
76
+ kind: "password",
77
+ ...(password ? { password } : {}),
78
+ };
79
+ }
80
+ if (kind === "agent") {
81
+ const agentPath = asString(auth.agentPath) || previous?.agentPath || "";
82
+ return {
83
+ kind: "agent",
84
+ ...(agentPath ? { agentPath } : {}),
85
+ };
86
+ }
87
+ const keyPath = asString(auth.keyPath) || previous?.keyPath || "";
88
+ const passphrase = asString(auth.passphrase) || previous?.passphrase || "";
89
+ return {
90
+ kind: "key",
91
+ ...(keyPath ? { keyPath } : {}),
92
+ ...(passphrase ? { passphrase } : {}),
93
+ };
94
+ }
95
+ return previous ?? { kind: "key" };
96
+ }
97
+ function publicHost(host) {
98
+ return {
99
+ alias: host.alias,
100
+ host: host.host,
101
+ port: host.port,
102
+ user: host.user,
103
+ auth: host.auth.kind,
104
+ proxyJump: [...host.proxyJump],
105
+ ...(host.proxyCommand ? { proxyCommand: host.proxyCommand } : {}),
106
+ ...(host.description ? { description: host.description } : {}),
107
+ ...(host.environment ? { environment: host.environment } : {}),
108
+ tags: [...host.tags],
109
+ ...(host.location ? { location: host.location } : {}),
110
+ };
111
+ }
112
+ function mergeHost(alias, body, previous) {
113
+ const host = asString(body.host, previous?.host ?? "");
114
+ const user = asString(body.user, previous?.user ?? "");
115
+ if (!alias)
116
+ return { error: "alias-required" };
117
+ if (!host)
118
+ return { error: "host-required" };
119
+ if (!user)
120
+ return { error: "user-required" };
121
+ const proxyCommand = asString(body.proxyCommand, previous?.proxyCommand ?? "");
122
+ const description = asString(body.description, previous?.description ?? "");
123
+ const environment = asString(body.environment, previous?.environment ?? "");
124
+ const location = asString(body.location, previous?.location ?? "");
125
+ return {
126
+ alias,
127
+ host,
128
+ port: asPort(body.port, previous?.port ?? 22),
129
+ user,
130
+ auth: normalizeAuth(body.auth, previous?.auth),
131
+ proxyJump: body.proxyJump !== undefined
132
+ ? asStringList(body.proxyJump)
133
+ : [...(previous?.proxyJump ?? [])],
134
+ ...(proxyCommand && proxyCommand.toLowerCase() !== "none"
135
+ ? { proxyCommand }
136
+ : {}),
137
+ ...(description ? { description } : {}),
138
+ ...(environment ? { environment } : {}),
139
+ tags: body.tags !== undefined
140
+ ? asStringList(body.tags)
141
+ : [...(previous?.tags ?? [])],
142
+ ...(location ? { location } : {}),
143
+ };
144
+ }
145
+ function requestUrl(req) {
146
+ return new URL(req.url ?? "/", "http://127.0.0.1");
147
+ }
148
+ /** Minimal OpenSSH config Host-block parser for import. */
149
+ function parseSshConfig(text) {
150
+ const hosts = [];
151
+ const skippedBlocks = [];
152
+ let current = null;
153
+ const flush = () => {
154
+ if (!current?.aliases?.length) {
155
+ current = null;
156
+ return;
157
+ }
158
+ for (const alias of current.aliases) {
159
+ if (alias === "*" || alias.includes("*") || alias.includes("?")) {
160
+ skippedBlocks.push({ alias, reason: "pattern-alias" });
161
+ continue;
162
+ }
163
+ if (!current.host) {
164
+ skippedBlocks.push({ alias, reason: "missing-hostname" });
165
+ continue;
166
+ }
167
+ hosts.push({
168
+ alias,
169
+ host: current.host,
170
+ port: current.port ?? 22,
171
+ user: current.user ?? process.env.USERNAME ?? "user",
172
+ auth: current.auth ?? { kind: "key" },
173
+ proxyJump: current.proxyJump ?? [],
174
+ ...(current.proxyCommand ? { proxyCommand: current.proxyCommand } : {}),
175
+ tags: [],
176
+ });
177
+ }
178
+ current = null;
179
+ };
180
+ for (const rawLine of text.split(/\r?\n/)) {
181
+ const line = rawLine.replace(/#.*$/, "").trim();
182
+ if (!line)
183
+ continue;
184
+ const m = /^(\S+)\s+(.+)$/.exec(line);
185
+ if (!m)
186
+ continue;
187
+ const key = m[1].toLowerCase();
188
+ const value = m[2].trim();
189
+ if (key === "host") {
190
+ flush();
191
+ current = { aliases: value.split(/\s+/).filter(Boolean) };
192
+ continue;
193
+ }
194
+ if (!current)
195
+ continue;
196
+ if (key === "hostname")
197
+ current.host = value;
198
+ else if (key === "port")
199
+ current.port = asPort(value, 22);
200
+ else if (key === "user")
201
+ current.user = value;
202
+ else if (key === "identityfile") {
203
+ current.auth = { kind: "key", keyPath: value.replace(/^~/, homedir()) };
204
+ }
205
+ else if (key === "proxyjump") {
206
+ current.proxyJump = value.split(/[, ]+/).filter(Boolean);
207
+ }
208
+ else if (key === "proxycommand") {
209
+ current.proxyCommand = value;
210
+ }
211
+ }
212
+ flush();
213
+ return { hosts, skippedBlocks };
214
+ }
215
+ export function isDshSshPath(pathname) {
216
+ return pathname === "/api/dsh-ssh" || pathname.startsWith("/api/dsh-ssh/");
217
+ }
218
+ export async function handleDshSshHttp(req, res, pathname, options = {}) {
219
+ if (!isDshSshPath(pathname))
220
+ return false;
221
+ const method = httpMethod(req);
222
+ const url = requestUrl(req);
223
+ const xrkHome = options.xrkHome;
224
+ if (pathname === "/api/dsh-ssh/hosts") {
225
+ if (method === "GET" || method === "HEAD") {
226
+ const q = (url.searchParams.get("query") ?? "").trim().toLowerCase();
227
+ const hosts = STORE.read(xrkHome).data.hosts
228
+ .filter((h) => {
229
+ if (!q)
230
+ return true;
231
+ const hay = [
232
+ h.alias,
233
+ h.host,
234
+ h.user,
235
+ h.description ?? "",
236
+ h.environment ?? "",
237
+ h.location ?? "",
238
+ ...h.tags,
239
+ ]
240
+ .join(" ")
241
+ .toLowerCase();
242
+ return hay.includes(q);
243
+ })
244
+ .map(publicHost);
245
+ sendJson(res, 200, { hosts, adapter: DSH_COMPAT_ADAPTER });
246
+ return true;
247
+ }
248
+ if (method === "POST") {
249
+ const body = await parseJsonBody(req);
250
+ const alias = asString(body.alias);
251
+ const existing = STORE.read(xrkHome).data.hosts;
252
+ if (existing.some((h) => h.alias === alias)) {
253
+ sendJson(res, 409, {
254
+ ok: false,
255
+ error: "alias-exists",
256
+ message: `Host alias already exists: ${alias}`,
257
+ adapter: DSH_COMPAT_ADAPTER,
258
+ });
259
+ return true;
260
+ }
261
+ const merged = mergeHost(alias, body);
262
+ if ("error" in merged) {
263
+ sendJson(res, 400, {
264
+ ok: false,
265
+ error: merged.error,
266
+ adapter: DSH_COMPAT_ADAPTER,
267
+ });
268
+ return true;
269
+ }
270
+ STORE.patch(xrkHome, (doc) => ({ hosts: [...doc.hosts, merged] }));
271
+ sendJson(res, 200, {
272
+ ok: true,
273
+ host: publicHost(merged),
274
+ adapter: DSH_COMPAT_ADAPTER,
275
+ });
276
+ return true;
277
+ }
278
+ if (method === "PATCH") {
279
+ const body = await parseJsonBody(req);
280
+ const alias = asString(url.searchParams.get("alias") ?? body.alias);
281
+ const doc = STORE.read(xrkHome).data;
282
+ const prev = doc.hosts.find((h) => h.alias === alias);
283
+ if (!prev) {
284
+ sendJson(res, 404, {
285
+ ok: false,
286
+ error: "host-not-found",
287
+ adapter: DSH_COMPAT_ADAPTER,
288
+ });
289
+ return true;
290
+ }
291
+ const merged = mergeHost(alias, body, prev);
292
+ if ("error" in merged) {
293
+ sendJson(res, 400, {
294
+ ok: false,
295
+ error: merged.error,
296
+ adapter: DSH_COMPAT_ADAPTER,
297
+ });
298
+ return true;
299
+ }
300
+ STORE.patch(xrkHome, (current) => ({
301
+ hosts: current.hosts.map((h) => (h.alias === alias ? merged : h)),
302
+ }));
303
+ sendJson(res, 200, {
304
+ ok: true,
305
+ host: publicHost(merged),
306
+ adapter: DSH_COMPAT_ADAPTER,
307
+ });
308
+ return true;
309
+ }
310
+ if (method === "DELETE") {
311
+ await parseJsonBody(req).catch(() => ({}));
312
+ const alias = asString(url.searchParams.get("alias"));
313
+ const before = STORE.read(xrkHome).data.hosts.length;
314
+ STORE.patch(xrkHome, (doc) => ({
315
+ hosts: doc.hosts.filter((h) => h.alias !== alias),
316
+ }));
317
+ const after = STORE.read(xrkHome).data.hosts.length;
318
+ sendJson(res, 200, {
319
+ ok: before !== after,
320
+ deleted: before !== after,
321
+ adapter: DSH_COMPAT_ADAPTER,
322
+ });
323
+ return true;
324
+ }
325
+ }
326
+ if (pathname === "/api/dsh-ssh/hosts/import-ssh-config") {
327
+ if (method === "POST" || method === "PUT") {
328
+ await parseJsonBody(req).catch(() => ({}));
329
+ }
330
+ const configPath = path.join(homedir(), ".ssh", "config");
331
+ if (!existsSync(configPath)) {
332
+ sendJson(res, 200, {
333
+ result: {
334
+ parsed: 0,
335
+ added: 0,
336
+ skipped: 0,
337
+ skippedBlocks: [],
338
+ },
339
+ adapter: DSH_COMPAT_ADAPTER,
340
+ });
341
+ return true;
342
+ }
343
+ let text;
344
+ try {
345
+ text = readFileSync(configPath, "utf8");
346
+ }
347
+ catch {
348
+ sendJson(res, 200, {
349
+ result: {
350
+ parsed: 0,
351
+ added: 0,
352
+ skipped: 0,
353
+ skippedBlocks: [{ alias: "*", reason: "unreadable-config" }],
354
+ },
355
+ adapter: DSH_COMPAT_ADAPTER,
356
+ });
357
+ return true;
358
+ }
359
+ const parsed = parseSshConfig(text);
360
+ let added = 0;
361
+ const skippedBlocks = [...parsed.skippedBlocks];
362
+ STORE.patch(xrkHome, (doc) => {
363
+ const aliases = new Set(doc.hosts.map((h) => h.alias));
364
+ const next = [...doc.hosts];
365
+ for (const host of parsed.hosts) {
366
+ if (aliases.has(host.alias)) {
367
+ skippedBlocks.push({ alias: host.alias, reason: "already-exists" });
368
+ continue;
369
+ }
370
+ aliases.add(host.alias);
371
+ next.push(host);
372
+ added += 1;
373
+ }
374
+ return { hosts: next };
375
+ });
376
+ sendJson(res, 200, {
377
+ result: {
378
+ parsed: parsed.hosts.length + parsed.skippedBlocks.length,
379
+ added,
380
+ skipped: skippedBlocks.length,
381
+ skippedBlocks,
382
+ },
383
+ adapter: DSH_COMPAT_ADAPTER,
384
+ });
385
+ return true;
386
+ }
387
+ if (pathname === "/api/dsh-ssh/test") {
388
+ const body = await parseJsonBody(req);
389
+ const alias = asString(body.alias);
390
+ const row = STORE.read(xrkHome).data.hosts.find((h) => h.alias === alias);
391
+ if (!row) {
392
+ sendJson(res, 200, {
393
+ result: {
394
+ ok: false,
395
+ alias,
396
+ latencyMs: null,
397
+ error: alias ? `Unknown host alias: ${alias}` : "alias-required",
398
+ },
399
+ adapter: DSH_COMPAT_ADAPTER,
400
+ });
401
+ return true;
402
+ }
403
+ const probe = await probeTcp(row.host, row.port);
404
+ sendJson(res, 200, {
405
+ result: {
406
+ ok: probe.ok,
407
+ alias,
408
+ latencyMs: probe.latencyMs,
409
+ ...(probe.error ? { error: probe.error } : {}),
410
+ probe: "tcp",
411
+ note: "TCP connect only; SSH auth/exec is not embedded on XRK-Harness.",
412
+ },
413
+ adapter: DSH_COMPAT_ADAPTER,
414
+ });
415
+ return true;
416
+ }
417
+ if (pathname === "/api/dsh-ssh/exec") {
418
+ const body = await parseJsonBody(req);
419
+ sendJson(res, 200, {
420
+ result: {
421
+ ...seatGap("Remote exec requires an embedded SSH engine (not on XRK-Harness)."),
422
+ alias: asString(body.alias),
423
+ exitCode: null,
424
+ stdout: "",
425
+ stderr: "",
426
+ durationMs: 0,
427
+ },
428
+ adapter: DSH_COMPAT_ADAPTER,
429
+ });
430
+ return true;
431
+ }
432
+ if (pathname === "/api/dsh-ssh/cluster") {
433
+ const body = await parseJsonBody(req);
434
+ const aliases = asStringList(body.aliases ?? body.hosts);
435
+ sendJson(res, 200, {
436
+ results: aliases.map((alias) => ({
437
+ alias,
438
+ ...seatGap("Cluster exec is not embedded on XRK-Harness."),
439
+ exitCode: null,
440
+ stdout: "",
441
+ stderr: "",
442
+ durationMs: 0,
443
+ })),
444
+ adapter: DSH_COMPAT_ADAPTER,
445
+ });
446
+ return true;
447
+ }
448
+ if (pathname === "/api/dsh-ssh/upload" ||
449
+ pathname === "/api/dsh-ssh/download" ||
450
+ pathname === "/api/dsh-ssh/ls" ||
451
+ pathname === "/api/dsh-ssh/tunnel" ||
452
+ pathname === "/api/dsh-ssh/terminal") {
453
+ await parseJsonBody(req).catch(() => ({}));
454
+ sendJson(res, 200, {
455
+ result: seatGap(`${pathname} requires an embedded SSH engine (not on XRK-Harness).`),
456
+ adapter: DSH_COMPAT_ADAPTER,
457
+ });
458
+ return true;
459
+ }
460
+ if (method === "POST" || method === "PUT" || method === "PATCH") {
461
+ await parseJsonBody(req).catch(() => ({}));
462
+ }
463
+ sendJson(res, 200, {
464
+ ok: true,
465
+ path: pathname,
466
+ adapter: DSH_COMPAT_ADAPTER,
467
+ });
468
+ return true;
469
+ }
470
+ //# sourceMappingURL=dsh-ssh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dsh-ssh.js","sourceRoot":"","sources":["../../src/dsh-compat/dsh-ssh.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ export type DshUpdateHttpOptions = {
3
+ readonly pluginsDir?: string;
4
+ };
5
+ export declare function isDshUpdatePath(pathname: string): boolean;
6
+ export declare function handleDshUpdateHttp(req: IncomingMessage, res: ServerResponse, pathname: string, options?: DshUpdateHttpOptions): Promise<boolean>;
7
+ //# sourceMappingURL=dsh-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dsh-update.d.ts","sourceRoot":"","sources":["../../src/dsh-compat/dsh-update.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAMjE,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAiFF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,OAAO,CAAC,CA2BlB"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * `/api/update/*` for `@linxin666/dsh-web-all` / dsh-update client.
3
+ *
4
+ * The browser half treats any 200 JSON as {@link UpdateStatus} and reads
5
+ * `packages` without optional chaining on the array — the honest HTTP
6
+ * catch-all body (`{ ok, status, path, … }`) throws during ResultBody and
7
+ * takes down `sidebar.footer.action`. Return a client-shaped snapshot instead.
8
+ *
9
+ * XRK does not run DSH profile `pnpm update`; status reports the staged
10
+ * aggregate when present, otherwise `mode: "missing"`. Run is refused with
11
+ * `errorCode: "link"` (translated by the panel).
12
+ */
13
+ import { existsSync, readFileSync } from "node:fs";
14
+ import path from "node:path";
15
+ import { sendJson } from "./underlying/http-json.js";
16
+ import { DSH_COMPAT_ADAPTER } from "./meta.js";
17
+ const AGGREGATE = "@linxin666/dsh-web-all";
18
+ function readStagedAggregateVersion(pluginsDir) {
19
+ if (!pluginsDir)
20
+ return undefined;
21
+ const manifest = path.join(path.resolve(pluginsDir), "web", "plugins", ...AGGREGATE.split("/"), "package.json");
22
+ if (!existsSync(manifest))
23
+ return undefined;
24
+ try {
25
+ const raw = JSON.parse(readFileSync(manifest, "utf8"));
26
+ return typeof raw.version === "string" && raw.version.trim()
27
+ ? raw.version.trim()
28
+ : undefined;
29
+ }
30
+ catch {
31
+ return undefined;
32
+ }
33
+ }
34
+ function statusOf(pluginsDir) {
35
+ const version = readStagedAggregateVersion(pluginsDir);
36
+ if (version === undefined) {
37
+ return {
38
+ mode: "missing",
39
+ packages: [],
40
+ outdated: false,
41
+ adapter: DSH_COMPAT_ADAPTER,
42
+ note: "No staged @linxin666/dsh-web-all; DSH profile pnpm update is not hosted on XRK.",
43
+ };
44
+ }
45
+ return {
46
+ mode: "npm",
47
+ anchor: AGGREGATE,
48
+ packages: [{ name: AGGREGATE, current: version, latest: version }],
49
+ outdated: false,
50
+ adapter: DSH_COMPAT_ADAPTER,
51
+ note: "XRK reports the staged aggregate; DSH profile pnpm update is not hosted here.",
52
+ };
53
+ }
54
+ function runRefused() {
55
+ return {
56
+ ok: false,
57
+ exitCode: null,
58
+ output: "",
59
+ errorCode: "link",
60
+ error: "XRK does not run DSH profile `pnpm update`. Update community clients from Settings → Plugins.",
61
+ adapter: DSH_COMPAT_ADAPTER,
62
+ };
63
+ }
64
+ export function isDshUpdatePath(pathname) {
65
+ return pathname === "/api/update" || pathname.startsWith("/api/update/");
66
+ }
67
+ export async function handleDshUpdateHttp(req, res, pathname, options = {}) {
68
+ if (!isDshUpdatePath(pathname))
69
+ return false;
70
+ const method = (req.method ?? "GET").toUpperCase();
71
+ const sub = pathname === "/api/update" ? "" : pathname.slice("/api/update/".length);
72
+ if ((sub === "" || sub === "status") && (method === "GET" || method === "HEAD")) {
73
+ if (method === "HEAD") {
74
+ res.writeHead(200, { "cache-control": "no-store", "content-length": "0" });
75
+ res.end();
76
+ return true;
77
+ }
78
+ sendJson(res, 200, statusOf(options.pluginsDir));
79
+ return true;
80
+ }
81
+ if (sub === "run" && method === "POST") {
82
+ sendJson(res, 200, runRefused());
83
+ return true;
84
+ }
85
+ sendJson(res, 404, {
86
+ ok: false,
87
+ error: "not-found",
88
+ path: pathname,
89
+ adapter: DSH_COMPAT_ADAPTER,
90
+ });
91
+ return true;
92
+ }
93
+ //# sourceMappingURL=dsh-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dsh-update.js","sourceRoot":"","sources":["../../src/dsh-compat/dsh-update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * `dsh-free-search` — `/api/dsh-free-search-settings/*` describe/mutate + raw-search.
3
+ * Keyless `ddg` uses `@xrkseek/exec-web` DuckDuckGo HTML search.
4
+ */
5
+ import type { IncomingMessage, ServerResponse } from "node:http";
6
+ export interface FreeSearchOptions {
7
+ readonly xrkHome?: string;
8
+ /** Injected for tests — defaults to DuckDuckGo HTML search. */
9
+ readonly search?: {
10
+ search(request: {
11
+ query: string;
12
+ maxResults: number;
13
+ }, signal?: AbortSignal): Promise<{
14
+ sources: ReadonlyArray<{
15
+ url: string;
16
+ title?: string;
17
+ snippet?: string;
18
+ publishedAt?: string;
19
+ }>;
20
+ truncated: boolean;
21
+ content?: string;
22
+ }>;
23
+ };
24
+ }
25
+ export declare function isFreeSearchPath(pathname: string): boolean;
26
+ export declare function handleFreeSearchHttp(req: IncomingMessage, res: ServerResponse, pathname: string, options?: FreeSearchOptions): Promise<boolean>;
27
+ //# sourceMappingURL=free-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"free-search.d.ts","sourceRoot":"","sources":["../../src/dsh-compat/free-search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOjE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,MAAM,CACJ,OAAO,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,EAC9C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;YACT,OAAO,EAAE,aAAa,CAAC;gBACrB,GAAG,EAAE,MAAM,CAAC;gBACZ,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,WAAW,CAAC,EAAE,MAAM,CAAC;aACtB,CAAC,CAAC;YACH,SAAS,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;KACJ,CAAC;CACH;AA8ED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAK1D;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAoJlB"}