@xrkseek/harness 0.4.12 → 0.5.2

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 (554) 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/core-session/dist/index.d.ts.map +1 -1
  36. package/node_modules/@xrkseek/core-session/dist/index.js +3 -0
  37. package/node_modules/@xrkseek/core-session/dist/index.js.map +1 -1
  38. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts.map +1 -1
  39. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js +16 -0
  40. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js.map +1 -1
  41. package/node_modules/@xrkseek/core-session/dist/store.d.ts +5 -0
  42. package/node_modules/@xrkseek/core-session/dist/store.d.ts.map +1 -1
  43. package/node_modules/@xrkseek/exec-computer-use/dist/background.js +2 -2
  44. package/node_modules/@xrkseek/exec-computer-use/dist/background.js.map +1 -1
  45. package/node_modules/@xrkseek/exec-computer-use/dist/format.d.ts +22 -1
  46. package/node_modules/@xrkseek/exec-computer-use/dist/format.d.ts.map +1 -1
  47. package/node_modules/@xrkseek/exec-computer-use/dist/format.js +75 -9
  48. package/node_modules/@xrkseek/exec-computer-use/dist/format.js.map +1 -1
  49. package/node_modules/@xrkseek/exec-computer-use/dist/index.d.ts +2 -2
  50. package/node_modules/@xrkseek/exec-computer-use/dist/index.d.ts.map +1 -1
  51. package/node_modules/@xrkseek/exec-computer-use/dist/index.js +2 -2
  52. package/node_modules/@xrkseek/exec-computer-use/dist/index.js.map +1 -1
  53. package/node_modules/@xrkseek/exec-computer-use/dist/memory.d.ts +2 -0
  54. package/node_modules/@xrkseek/exec-computer-use/dist/memory.d.ts.map +1 -1
  55. package/node_modules/@xrkseek/exec-computer-use/dist/memory.js +18 -2
  56. package/node_modules/@xrkseek/exec-computer-use/dist/memory.js.map +1 -1
  57. package/node_modules/@xrkseek/exec-computer-use/dist/tools.d.ts +15 -1
  58. package/node_modules/@xrkseek/exec-computer-use/dist/tools.d.ts.map +1 -1
  59. package/node_modules/@xrkseek/exec-computer-use/dist/tools.js +77 -22
  60. package/node_modules/@xrkseek/exec-computer-use/dist/tools.js.map +1 -1
  61. package/node_modules/@xrkseek/exec-computer-use/dist/types.d.ts +5 -0
  62. package/node_modules/@xrkseek/exec-computer-use/dist/types.d.ts.map +1 -1
  63. package/node_modules/@xrkseek/exec-computer-use/dist/types.js.map +1 -1
  64. package/node_modules/@xrkseek/exec-computer-use/dist/windows-uia.d.ts +4 -0
  65. package/node_modules/@xrkseek/exec-computer-use/dist/windows-uia.d.ts.map +1 -1
  66. package/node_modules/@xrkseek/exec-computer-use/dist/windows-uia.js +138 -6
  67. package/node_modules/@xrkseek/exec-computer-use/dist/windows-uia.js.map +1 -1
  68. package/node_modules/@xrkseek/exec-environment/README.md +2 -2
  69. package/node_modules/@xrkseek/exec-environment/dist/index.d.ts +1 -0
  70. package/node_modules/@xrkseek/exec-environment/dist/index.d.ts.map +1 -1
  71. package/node_modules/@xrkseek/exec-environment/dist/index.js +1 -0
  72. package/node_modules/@xrkseek/exec-environment/dist/index.js.map +1 -1
  73. package/node_modules/@xrkseek/exec-environment/dist/memory.d.ts +25 -0
  74. package/node_modules/@xrkseek/exec-environment/dist/memory.d.ts.map +1 -0
  75. package/node_modules/@xrkseek/exec-environment/dist/memory.js +290 -0
  76. package/node_modules/@xrkseek/exec-environment/dist/memory.js.map +1 -0
  77. package/node_modules/@xrkseek/exec-environment/dist/resolve.d.ts +5 -3
  78. package/node_modules/@xrkseek/exec-environment/dist/resolve.d.ts.map +1 -1
  79. package/node_modules/@xrkseek/exec-environment/dist/resolve.js +13 -5
  80. package/node_modules/@xrkseek/exec-environment/dist/resolve.js.map +1 -1
  81. package/node_modules/@xrkseek/exec-environment/dist/types.d.ts +1 -1
  82. package/node_modules/@xrkseek/exec-environment/dist/types.d.ts.map +1 -1
  83. package/node_modules/@xrkseek/exec-environment/package.json +1 -1
  84. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts +1 -1
  85. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
  86. package/node_modules/@xrkseek/exec-fs/dist/index.js +1 -1
  87. package/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
  88. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts +2 -0
  89. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts.map +1 -1
  90. package/node_modules/@xrkseek/exec-fs/dist/read-image.js +69 -31
  91. package/node_modules/@xrkseek/exec-fs/dist/read-image.js.map +1 -1
  92. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.d.ts.map +1 -1
  93. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js +10 -1
  94. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js.map +1 -1
  95. package/node_modules/@xrkseek/exec-image-gen/dist/format.d.ts +14 -0
  96. package/node_modules/@xrkseek/exec-image-gen/dist/format.d.ts.map +1 -1
  97. package/node_modules/@xrkseek/exec-image-gen/dist/format.js +28 -6
  98. package/node_modules/@xrkseek/exec-image-gen/dist/format.js.map +1 -1
  99. package/node_modules/@xrkseek/exec-image-gen/dist/index.d.ts +1 -1
  100. package/node_modules/@xrkseek/exec-image-gen/dist/index.d.ts.map +1 -1
  101. package/node_modules/@xrkseek/exec-image-gen/dist/index.js +1 -1
  102. package/node_modules/@xrkseek/exec-image-gen/dist/index.js.map +1 -1
  103. package/node_modules/@xrkseek/exec-image-gen/dist/references.d.ts.map +1 -1
  104. package/node_modules/@xrkseek/exec-image-gen/dist/references.js +8 -1
  105. package/node_modules/@xrkseek/exec-image-gen/dist/references.js.map +1 -1
  106. package/node_modules/@xrkseek/exec-image-gen/dist/schema.d.ts.map +1 -1
  107. package/node_modules/@xrkseek/exec-image-gen/dist/schema.js +11 -7
  108. package/node_modules/@xrkseek/exec-image-gen/dist/schema.js.map +1 -1
  109. package/node_modules/@xrkseek/exec-image-gen/dist/tools.d.ts +2 -2
  110. package/node_modules/@xrkseek/exec-image-gen/dist/tools.d.ts.map +1 -1
  111. package/node_modules/@xrkseek/exec-image-gen/dist/tools.js +38 -14
  112. package/node_modules/@xrkseek/exec-image-gen/dist/tools.js.map +1 -1
  113. package/node_modules/@xrkseek/exec-image-gen/package.json +2 -1
  114. package/node_modules/@xrkseek/exec-sandbox/dist/bwrap.d.ts +23 -3
  115. package/node_modules/@xrkseek/exec-sandbox/dist/bwrap.d.ts.map +1 -1
  116. package/node_modules/@xrkseek/exec-sandbox/dist/bwrap.js +40 -5
  117. package/node_modules/@xrkseek/exec-sandbox/dist/bwrap.js.map +1 -1
  118. package/node_modules/@xrkseek/exec-sandbox/dist/doctor.js +1 -1
  119. package/node_modules/@xrkseek/exec-sandbox/dist/doctor.js.map +1 -1
  120. package/node_modules/@xrkseek/exec-sandbox/dist/index.d.ts +1 -1
  121. package/node_modules/@xrkseek/exec-sandbox/dist/index.d.ts.map +1 -1
  122. package/node_modules/@xrkseek/exec-sandbox/dist/index.js +1 -1
  123. package/node_modules/@xrkseek/exec-sandbox/dist/index.js.map +1 -1
  124. package/node_modules/@xrkseek/exec-sandbox/dist/resolve.d.ts +8 -0
  125. package/node_modules/@xrkseek/exec-sandbox/dist/resolve.d.ts.map +1 -1
  126. package/node_modules/@xrkseek/exec-sandbox/dist/resolve.js +13 -4
  127. package/node_modules/@xrkseek/exec-sandbox/dist/resolve.js.map +1 -1
  128. package/node_modules/@xrkseek/exec-shell/dist/index.d.ts +6 -3
  129. package/node_modules/@xrkseek/exec-shell/dist/index.d.ts.map +1 -1
  130. package/node_modules/@xrkseek/exec-shell/dist/index.js +40 -10
  131. package/node_modules/@xrkseek/exec-shell/dist/index.js.map +1 -1
  132. package/node_modules/@xrkseek/exec-subprocess/dist/index.d.ts +4 -0
  133. package/node_modules/@xrkseek/exec-subprocess/dist/index.d.ts.map +1 -1
  134. package/node_modules/@xrkseek/exec-subprocess/dist/index.js +2 -0
  135. package/node_modules/@xrkseek/exec-subprocess/dist/index.js.map +1 -1
  136. package/node_modules/@xrkseek/exec-video-gen/dist/format.js +6 -6
  137. package/node_modules/@xrkseek/exec-video-gen/dist/format.js.map +1 -1
  138. package/node_modules/@xrkseek/exec-video-gen/dist/tools.js +2 -2
  139. package/node_modules/@xrkseek/exec-video-gen/dist/tools.js.map +1 -1
  140. package/node_modules/@xrkseek/exec-web/dist/browser-cdp.d.ts.map +1 -1
  141. package/node_modules/@xrkseek/exec-web/dist/browser-cdp.js +26 -1
  142. package/node_modules/@xrkseek/exec-web/dist/browser-cdp.js.map +1 -1
  143. package/node_modules/@xrkseek/exec-web/dist/browser-session.d.ts +10 -2
  144. package/node_modules/@xrkseek/exec-web/dist/browser-session.d.ts.map +1 -1
  145. package/node_modules/@xrkseek/exec-web/dist/browser-session.js +27 -4
  146. package/node_modules/@xrkseek/exec-web/dist/browser-session.js.map +1 -1
  147. package/node_modules/@xrkseek/exec-web/dist/browser-tools.d.ts.map +1 -1
  148. package/node_modules/@xrkseek/exec-web/dist/browser-tools.js +43 -14
  149. package/node_modules/@xrkseek/exec-web/dist/browser-tools.js.map +1 -1
  150. package/node_modules/@xrkseek/exec-web/dist/format.d.ts.map +1 -1
  151. package/node_modules/@xrkseek/exec-web/dist/format.js +2 -1
  152. package/node_modules/@xrkseek/exec-web/dist/format.js.map +1 -1
  153. package/node_modules/@xrkseek/exec-web/dist/index.d.ts +1 -1
  154. package/node_modules/@xrkseek/exec-web/dist/index.d.ts.map +1 -1
  155. package/node_modules/@xrkseek/exec-web/dist/index.js.map +1 -1
  156. package/node_modules/@xrkseek/llm/dist/reasoning-effort.d.ts +14 -0
  157. package/node_modules/@xrkseek/llm/dist/reasoning-effort.d.ts.map +1 -0
  158. package/node_modules/@xrkseek/llm/dist/reasoning-effort.js +21 -0
  159. package/node_modules/@xrkseek/llm/dist/reasoning-effort.js.map +1 -0
  160. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  161. package/node_modules/@xrkseek/preset-harness/dist/preset.js +28 -4
  162. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  163. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  164. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  165. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  166. package/node_modules/@xrkseek/protocol/dist/workspace-changes.d.ts.map +1 -1
  167. package/node_modules/@xrkseek/protocol/dist/workspace-changes.js +3 -1
  168. package/node_modules/@xrkseek/protocol/dist/workspace-changes.js.map +1 -1
  169. package/node_modules/@xrkseek/server-face/dist/attach-http.d.ts +6 -2
  170. package/node_modules/@xrkseek/server-face/dist/attach-http.d.ts.map +1 -1
  171. package/node_modules/@xrkseek/server-face/dist/attach-http.js +120 -46
  172. package/node_modules/@xrkseek/server-face/dist/attach-http.js.map +1 -1
  173. package/node_modules/@xrkseek/server-face/dist/canvas-store.d.ts +63 -0
  174. package/node_modules/@xrkseek/server-face/dist/canvas-store.d.ts.map +1 -0
  175. package/node_modules/@xrkseek/server-face/dist/canvas-store.js +235 -0
  176. package/node_modules/@xrkseek/server-face/dist/canvas-store.js.map +1 -0
  177. package/node_modules/@xrkseek/server-face/dist/canvas-tools.d.ts +14 -0
  178. package/node_modules/@xrkseek/server-face/dist/canvas-tools.d.ts.map +1 -0
  179. package/node_modules/@xrkseek/server-face/dist/canvas-tools.js +229 -0
  180. package/node_modules/@xrkseek/server-face/dist/canvas-tools.js.map +1 -0
  181. package/node_modules/@xrkseek/server-face/dist/context.d.ts +21 -3
  182. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  183. package/node_modules/@xrkseek/server-face/dist/dispatch.d.ts.map +1 -1
  184. package/node_modules/@xrkseek/server-face/dist/dispatch.js +13 -3
  185. package/node_modules/@xrkseek/server-face/dist/dispatch.js.map +1 -1
  186. package/node_modules/@xrkseek/server-face/dist/face-schema.d.ts.map +1 -1
  187. package/node_modules/@xrkseek/server-face/dist/face-schema.js +1 -0
  188. package/node_modules/@xrkseek/server-face/dist/face-schema.js.map +1 -1
  189. package/node_modules/@xrkseek/server-face/dist/goal-store.d.ts +2 -0
  190. package/node_modules/@xrkseek/server-face/dist/goal-store.d.ts.map +1 -1
  191. package/node_modules/@xrkseek/server-face/dist/goal-store.js +6 -0
  192. package/node_modules/@xrkseek/server-face/dist/goal-store.js.map +1 -1
  193. package/node_modules/@xrkseek/server-face/dist/handlers/canvas.d.ts +4 -0
  194. package/node_modules/@xrkseek/server-face/dist/handlers/canvas.d.ts.map +1 -0
  195. package/node_modules/@xrkseek/server-face/dist/handlers/canvas.js +70 -0
  196. package/node_modules/@xrkseek/server-face/dist/handlers/canvas.js.map +1 -0
  197. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.d.ts.map +1 -1
  198. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js +2 -1
  199. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js.map +1 -1
  200. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.d.ts +11 -1
  201. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.d.ts.map +1 -1
  202. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js +170 -4
  203. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js.map +1 -1
  204. package/node_modules/@xrkseek/server-face/dist/handlers/session-added.d.ts.map +1 -1
  205. package/node_modules/@xrkseek/server-face/dist/handlers/session-added.js +3 -2
  206. package/node_modules/@xrkseek/server-face/dist/handlers/session-added.js.map +1 -1
  207. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts +6 -0
  208. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  209. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +90 -6
  210. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  211. package/node_modules/@xrkseek/server-face/dist/index.d.mts +3734 -0
  212. package/node_modules/@xrkseek/server-face/dist/index.d.mts.map +1 -0
  213. package/node_modules/@xrkseek/server-face/dist/index.d.ts +8 -3
  214. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  215. package/node_modules/@xrkseek/server-face/dist/index.js +8 -3
  216. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  217. package/node_modules/@xrkseek/server-face/dist/index.mjs +22085 -0
  218. package/node_modules/@xrkseek/server-face/dist/index.mjs.map +1 -0
  219. package/node_modules/@xrkseek/server-face/dist/model-reasoning.d.ts +51 -0
  220. package/node_modules/@xrkseek/server-face/dist/model-reasoning.d.ts.map +1 -0
  221. package/node_modules/@xrkseek/server-face/dist/model-reasoning.js +104 -0
  222. package/node_modules/@xrkseek/server-face/dist/model-reasoning.js.map +1 -0
  223. package/node_modules/@xrkseek/server-face/dist/plugin-agent-presets.d.ts +34 -0
  224. package/node_modules/@xrkseek/server-face/dist/plugin-agent-presets.d.ts.map +1 -0
  225. package/node_modules/@xrkseek/server-face/dist/plugin-agent-presets.js +41 -0
  226. package/node_modules/@xrkseek/server-face/dist/plugin-agent-presets.js.map +1 -0
  227. package/node_modules/@xrkseek/server-face/dist/plugin-inventory.d.ts +5 -2
  228. package/node_modules/@xrkseek/server-face/dist/plugin-inventory.d.ts.map +1 -1
  229. package/node_modules/@xrkseek/server-face/dist/plugin-inventory.js +13 -2
  230. package/node_modules/@xrkseek/server-face/dist/plugin-inventory.js.map +1 -1
  231. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.d.ts.map +1 -1
  232. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.js +3 -1
  233. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.js.map +1 -1
  234. package/node_modules/@xrkseek/server-face/dist/remote-event.d.ts +1 -1
  235. package/node_modules/@xrkseek/server-face/dist/remote-event.d.ts.map +1 -1
  236. package/node_modules/@xrkseek/server-face/dist/remote-event.js +1 -0
  237. package/node_modules/@xrkseek/server-face/dist/remote-event.js.map +1 -1
  238. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts +17 -4
  239. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  240. package/node_modules/@xrkseek/server-face/dist/runtime.js +22 -2
  241. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  242. package/node_modules/@xrkseek/server-face/dist/session-agent-preset-store.d.ts +14 -0
  243. package/node_modules/@xrkseek/server-face/dist/session-agent-preset-store.d.ts.map +1 -0
  244. package/node_modules/@xrkseek/server-face/dist/session-agent-preset-store.js +71 -0
  245. package/node_modules/@xrkseek/server-face/dist/session-agent-preset-store.js.map +1 -0
  246. package/node_modules/@xrkseek/server-face/dist/session-agent-preset.d.ts +17 -0
  247. package/node_modules/@xrkseek/server-face/dist/session-agent-preset.d.ts.map +1 -0
  248. package/node_modules/@xrkseek/server-face/dist/session-agent-preset.js +50 -0
  249. package/node_modules/@xrkseek/server-face/dist/session-agent-preset.js.map +1 -0
  250. package/node_modules/@xrkseek/server-face/dist/session-attachment.d.ts +4 -0
  251. package/node_modules/@xrkseek/server-face/dist/session-attachment.d.ts.map +1 -1
  252. package/node_modules/@xrkseek/server-face/dist/session-attachment.js +30 -7
  253. package/node_modules/@xrkseek/server-face/dist/session-attachment.js.map +1 -1
  254. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
  255. package/node_modules/@xrkseek/server-face/dist/session-status.js +2 -1
  256. package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
  257. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts +6 -0
  258. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts.map +1 -1
  259. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js +68 -12
  260. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js.map +1 -1
  261. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  262. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +7 -3
  263. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  264. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  265. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +25 -1
  266. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  267. package/node_modules/@xrkseek/server-face/dist/types.d.ts +3 -0
  268. package/node_modules/@xrkseek/server-face/dist/types.d.ts.map +1 -1
  269. package/node_modules/@xrkseek/server-face/dist/wire/paths.d.ts.map +1 -1
  270. package/node_modules/@xrkseek/server-face/dist/wire/paths.js +1 -0
  271. package/node_modules/@xrkseek/server-face/dist/wire/paths.js.map +1 -1
  272. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.d.ts +1 -1
  273. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.d.ts.map +1 -1
  274. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.js +15 -0
  275. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.js.map +1 -1
  276. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts +2 -0
  277. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts.map +1 -1
  278. package/node_modules/@xrkseek/server-face/dist/workspace-face.js +61 -3
  279. package/node_modules/@xrkseek/server-face/dist/workspace-face.js.map +1 -1
  280. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts +33 -2
  281. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts.map +1 -1
  282. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js +61 -2
  283. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js.map +1 -1
  284. package/node_modules/@xrkseek/server-face/dist/workspace-store.d.ts +2 -0
  285. package/node_modules/@xrkseek/server-face/dist/workspace-store.d.ts.map +1 -1
  286. package/node_modules/@xrkseek/server-face/dist/workspace-store.js +4 -0
  287. package/node_modules/@xrkseek/server-face/dist/workspace-store.js.map +1 -1
  288. package/node_modules/@xrkseek/server-host/dist/cron-http.d.ts +26 -0
  289. package/node_modules/@xrkseek/server-host/dist/cron-http.d.ts.map +1 -0
  290. package/node_modules/@xrkseek/server-host/dist/cron-http.js +77 -0
  291. package/node_modules/@xrkseek/server-host/dist/cron-http.js.map +1 -0
  292. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  293. package/node_modules/@xrkseek/server-host/dist/index.js +258 -128
  294. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  295. package/node_modules/@xrkseek/server-host/dist/mcp-wire.d.ts +8 -0
  296. package/node_modules/@xrkseek/server-host/dist/mcp-wire.d.ts.map +1 -1
  297. package/node_modules/@xrkseek/server-host/dist/mcp-wire.js +33 -1
  298. package/node_modules/@xrkseek/server-host/dist/mcp-wire.js.map +1 -1
  299. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.d.ts.map +1 -1
  300. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js +2 -1
  301. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js.map +1 -1
  302. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.d.ts +2 -0
  303. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.d.ts.map +1 -0
  304. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.js +98 -0
  305. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.js.map +1 -0
  306. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.d.ts +18 -0
  307. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.d.ts.map +1 -0
  308. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.js +141 -0
  309. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.js.map +1 -0
  310. package/node_modules/@xrkseek/server-host/dist/sidebar-pty.d.ts +11 -4
  311. package/node_modules/@xrkseek/server-host/dist/sidebar-pty.d.ts.map +1 -1
  312. package/node_modules/@xrkseek/server-host/dist/sidebar-pty.js +353 -2
  313. package/node_modules/@xrkseek/server-host/dist/sidebar-pty.js.map +1 -1
  314. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.d.ts +30 -0
  315. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.d.ts.map +1 -0
  316. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.js +96 -0
  317. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.js.map +1 -0
  318. package/node_modules/@xrkseek/server-http/dist/boot-inject.d.ts +14 -0
  319. package/node_modules/@xrkseek/server-http/dist/boot-inject.d.ts.map +1 -1
  320. package/node_modules/@xrkseek/server-http/dist/boot-inject.js +31 -0
  321. package/node_modules/@xrkseek/server-http/dist/boot-inject.js.map +1 -1
  322. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.d.ts.map +1 -1
  323. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.js +306 -11
  324. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.js.map +1 -1
  325. package/node_modules/@xrkseek/server-http/dist/dsh-compat/audit-community-client.d.ts.map +1 -1
  326. package/node_modules/@xrkseek/server-http/dist/dsh-compat/audit-community-client.js +53 -3
  327. package/node_modules/@xrkseek/server-http/dist/dsh-compat/audit-community-client.js.map +1 -1
  328. package/node_modules/@xrkseek/server-http/dist/dsh-compat/billing.d.ts +9 -0
  329. package/node_modules/@xrkseek/server-http/dist/dsh-compat/billing.d.ts.map +1 -0
  330. package/node_modules/@xrkseek/server-http/dist/dsh-compat/billing.js +80 -0
  331. package/node_modules/@xrkseek/server-http/dist/dsh-compat/billing.js.map +1 -0
  332. package/node_modules/@xrkseek/server-http/dist/dsh-compat/code-server.d.ts +11 -0
  333. package/node_modules/@xrkseek/server-http/dist/dsh-compat/code-server.d.ts.map +1 -0
  334. package/node_modules/@xrkseek/server-http/dist/dsh-compat/code-server.js +152 -0
  335. package/node_modules/@xrkseek/server-http/dist/dsh-compat/code-server.js.map +1 -0
  336. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-plugin-root.d.ts +5 -0
  337. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-plugin-root.d.ts.map +1 -0
  338. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-plugin-root.js +31 -0
  339. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-plugin-root.js.map +1 -0
  340. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-root-http.d.ts +17 -3
  341. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-root-http.d.ts.map +1 -1
  342. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-root-http.js +265 -8
  343. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-root-http.js.map +1 -1
  344. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-client-scan.d.ts.map +1 -1
  345. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-client-scan.js +6 -1
  346. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-client-scan.js.map +1 -1
  347. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-codex-ui.d.ts +7 -0
  348. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-codex-ui.d.ts.map +1 -0
  349. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-codex-ui.js +188 -0
  350. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-codex-ui.js.map +1 -0
  351. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.d.ts.map +1 -1
  352. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js +3 -3
  353. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js.map +1 -1
  354. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-context.d.ts +11 -0
  355. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-context.d.ts.map +1 -0
  356. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-context.js +117 -0
  357. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-context.js.map +1 -0
  358. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-email.d.ts +11 -0
  359. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-email.d.ts.map +1 -0
  360. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-email.js +381 -0
  361. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-email.js.map +1 -0
  362. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-path-capabilities.d.ts.map +1 -1
  363. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-path-capabilities.js +43 -1
  364. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-path-capabilities.js.map +1 -1
  365. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-pet-legacy.d.ts +11 -0
  366. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-pet-legacy.d.ts.map +1 -0
  367. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-pet-legacy.js +173 -0
  368. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-pet-legacy.js.map +1 -0
  369. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-skins.d.ts +17 -0
  370. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-skins.d.ts.map +1 -0
  371. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-skins.js +209 -0
  372. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-skins.js.map +1 -0
  373. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-ssh.d.ts +7 -0
  374. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-ssh.d.ts.map +1 -0
  375. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-ssh.js +470 -0
  376. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-ssh.js.map +1 -0
  377. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-update.d.ts +7 -0
  378. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-update.d.ts.map +1 -0
  379. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-update.js +93 -0
  380. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-update.js.map +1 -0
  381. package/node_modules/@xrkseek/server-http/dist/dsh-compat/free-search.d.ts +27 -0
  382. package/node_modules/@xrkseek/server-http/dist/dsh-compat/free-search.d.ts.map +1 -0
  383. package/node_modules/@xrkseek/server-http/dist/dsh-compat/free-search.js +213 -0
  384. package/node_modules/@xrkseek/server-http/dist/dsh-compat/free-search.js.map +1 -0
  385. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-dsh-http.d.ts +6 -2
  386. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-dsh-http.d.ts.map +1 -1
  387. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-dsh-http.js +92 -14
  388. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-dsh-http.js.map +1 -1
  389. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-plugin-http.d.ts +1 -0
  390. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-plugin-http.d.ts.map +1 -1
  391. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-plugin-http.js +72 -1
  392. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-plugin-http.js.map +1 -1
  393. package/node_modules/@xrkseek/server-http/dist/dsh-compat/git-graph.d.ts +9 -0
  394. package/node_modules/@xrkseek/server-http/dist/dsh-compat/git-graph.d.ts.map +1 -0
  395. package/node_modules/@xrkseek/server-http/dist/dsh-compat/git-graph.js +341 -0
  396. package/node_modules/@xrkseek/server-http/dist/dsh-compat/git-graph.js.map +1 -0
  397. package/node_modules/@xrkseek/server-http/dist/dsh-compat/honest-http-catchall.d.ts.map +1 -1
  398. package/node_modules/@xrkseek/server-http/dist/dsh-compat/honest-http-catchall.js +3 -0
  399. package/node_modules/@xrkseek/server-http/dist/dsh-compat/honest-http-catchall.js.map +1 -1
  400. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-connect.d.ts +7 -0
  401. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-connect.d.ts.map +1 -0
  402. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-connect.js +138 -0
  403. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-connect.js.map +1 -0
  404. package/node_modules/@xrkseek/server-http/dist/dsh-compat/install.d.ts +11 -0
  405. package/node_modules/@xrkseek/server-http/dist/dsh-compat/install.d.ts.map +1 -0
  406. package/node_modules/@xrkseek/server-http/dist/dsh-compat/install.js +85 -0
  407. package/node_modules/@xrkseek/server-http/dist/dsh-compat/install.js.map +1 -0
  408. package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.d.ts +27 -0
  409. package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.d.ts.map +1 -1
  410. package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.js +230 -52
  411. package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.js.map +1 -1
  412. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mcp-connector.d.ts +11 -0
  413. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mcp-connector.d.ts.map +1 -0
  414. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mcp-connector.js +182 -0
  415. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mcp-connector.js.map +1 -0
  416. package/node_modules/@xrkseek/server-http/dist/dsh-compat/michengai.d.ts +13 -0
  417. package/node_modules/@xrkseek/server-http/dist/dsh-compat/michengai.d.ts.map +1 -0
  418. package/node_modules/@xrkseek/server-http/dist/dsh-compat/michengai.js +151 -0
  419. package/node_modules/@xrkseek/server-http/dist/dsh-compat/michengai.js.map +1 -0
  420. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon-store.d.ts +6 -0
  421. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon-store.d.ts.map +1 -1
  422. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon-store.js +34 -0
  423. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon-store.js.map +1 -1
  424. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon.d.ts +2 -0
  425. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon.d.ts.map +1 -1
  426. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon.js +271 -20
  427. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mnemon.js.map +1 -1
  428. package/node_modules/@xrkseek/server-http/dist/dsh-compat/modlens.d.ts +1 -1
  429. package/node_modules/@xrkseek/server-http/dist/dsh-compat/modlens.d.ts.map +1 -1
  430. package/node_modules/@xrkseek/server-http/dist/dsh-compat/modlens.js +105 -21
  431. package/node_modules/@xrkseek/server-http/dist/dsh-compat/modlens.js.map +1 -1
  432. package/node_modules/@xrkseek/server-http/dist/dsh-compat/niulai-kws.d.ts +7 -0
  433. package/node_modules/@xrkseek/server-http/dist/dsh-compat/niulai-kws.d.ts.map +1 -0
  434. package/node_modules/@xrkseek/server-http/dist/dsh-compat/niulai-kws.js +81 -0
  435. package/node_modules/@xrkseek/server-http/dist/dsh-compat/niulai-kws.js.map +1 -0
  436. package/node_modules/@xrkseek/server-http/dist/dsh-compat/pet.d.ts +8 -0
  437. package/node_modules/@xrkseek/server-http/dist/dsh-compat/pet.d.ts.map +1 -0
  438. package/node_modules/@xrkseek/server-http/dist/dsh-compat/pet.js +378 -0
  439. package/node_modules/@xrkseek/server-http/dist/dsh-compat/pet.js.map +1 -0
  440. package/node_modules/@xrkseek/server-http/dist/dsh-compat/remote-web-ui.d.ts +7 -0
  441. package/node_modules/@xrkseek/server-http/dist/dsh-compat/remote-web-ui.d.ts.map +1 -0
  442. package/node_modules/@xrkseek/server-http/dist/dsh-compat/remote-web-ui.js +229 -0
  443. package/node_modules/@xrkseek/server-http/dist/dsh-compat/remote-web-ui.js.map +1 -0
  444. package/node_modules/@xrkseek/server-http/dist/dsh-compat/server-deck.d.ts +7 -0
  445. package/node_modules/@xrkseek/server-http/dist/dsh-compat/server-deck.d.ts.map +1 -0
  446. package/node_modules/@xrkseek/server-http/dist/dsh-compat/server-deck.js +300 -0
  447. package/node_modules/@xrkseek/server-http/dist/dsh-compat/server-deck.js.map +1 -0
  448. package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-defaults.d.ts.map +1 -1
  449. package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-defaults.js +10 -1
  450. package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-defaults.js.map +1 -1
  451. package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-store.d.ts.map +1 -1
  452. package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-store.js +40 -9
  453. package/node_modules/@xrkseek/server-http/dist/dsh-compat/settings-store.js.map +1 -1
  454. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skills-manager.d.ts +8 -0
  455. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skills-manager.d.ts.map +1 -0
  456. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skills-manager.js +428 -0
  457. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skills-manager.js.map +1 -0
  458. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-assets.d.ts +12 -0
  459. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-assets.d.ts.map +1 -0
  460. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-assets.js +166 -0
  461. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-assets.js.map +1 -0
  462. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-center.d.ts +20 -0
  463. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-center.d.ts.map +1 -0
  464. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-center.js +308 -0
  465. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-center.js.map +1 -0
  466. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-discover.d.ts +32 -0
  467. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-discover.d.ts.map +1 -0
  468. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-discover.js +183 -0
  469. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-discover.js.map +1 -0
  470. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-market.d.ts +2 -0
  471. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-market.d.ts.map +1 -1
  472. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-market.js +20 -16
  473. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-market.js.map +1 -1
  474. package/node_modules/@xrkseek/server-http/dist/dsh-compat/task-board.d.ts +7 -0
  475. package/node_modules/@xrkseek/server-http/dist/dsh-compat/task-board.d.ts.map +1 -0
  476. package/node_modules/@xrkseek/server-http/dist/dsh-compat/task-board.js +245 -0
  477. package/node_modules/@xrkseek/server-http/dist/dsh-compat/task-board.js.map +1 -0
  478. package/node_modules/@xrkseek/server-http/dist/dsh-compat/token-usage-stats-dash.d.ts +9 -0
  479. package/node_modules/@xrkseek/server-http/dist/dsh-compat/token-usage-stats-dash.d.ts.map +1 -0
  480. package/node_modules/@xrkseek/server-http/dist/dsh-compat/token-usage-stats-dash.js +116 -0
  481. package/node_modules/@xrkseek/server-http/dist/dsh-compat/token-usage-stats-dash.js.map +1 -0
  482. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/http-json.d.ts +1 -0
  483. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/http-json.d.ts.map +1 -1
  484. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/http-json.js +5 -2
  485. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/http-json.js.map +1 -1
  486. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.d.ts +2 -1
  487. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.d.ts.map +1 -1
  488. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.js +2 -1
  489. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.js.map +1 -1
  490. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/plugin-surface-store.d.ts +18 -0
  491. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/plugin-surface-store.d.ts.map +1 -0
  492. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/plugin-surface-store.js +65 -0
  493. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/plugin-surface-store.js.map +1 -0
  494. package/node_modules/@xrkseek/server-http/dist/dsh-compat/univer-api.d.ts +11 -0
  495. package/node_modules/@xrkseek/server-http/dist/dsh-compat/univer-api.d.ts.map +1 -0
  496. package/node_modules/@xrkseek/server-http/dist/dsh-compat/univer-api.js +114 -0
  497. package/node_modules/@xrkseek/server-http/dist/dsh-compat/univer-api.js.map +1 -0
  498. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper.d.ts +3 -1
  499. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper.d.ts.map +1 -1
  500. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper.js +42 -1
  501. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wallpaper.js.map +1 -1
  502. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire/stub-handlers.d.ts +6 -1
  503. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire/stub-handlers.d.ts.map +1 -1
  504. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire/stub-handlers.js +68 -8
  505. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire/stub-handlers.js.map +1 -1
  506. package/node_modules/@xrkseek/server-http/dist/fetch-dispatch.d.ts.map +1 -1
  507. package/node_modules/@xrkseek/server-http/dist/fetch-dispatch.js +111 -26
  508. package/node_modules/@xrkseek/server-http/dist/fetch-dispatch.js.map +1 -1
  509. package/node_modules/@xrkseek/server-http/dist/host-owned-paths.d.ts +6 -0
  510. package/node_modules/@xrkseek/server-http/dist/host-owned-paths.d.ts.map +1 -0
  511. package/node_modules/@xrkseek/server-http/dist/host-owned-paths.js +32 -0
  512. package/node_modules/@xrkseek/server-http/dist/host-owned-paths.js.map +1 -0
  513. package/node_modules/@xrkseek/server-http/dist/index.d.ts +2 -1
  514. package/node_modules/@xrkseek/server-http/dist/index.d.ts.map +1 -1
  515. package/node_modules/@xrkseek/server-http/dist/index.js +2 -1
  516. package/node_modules/@xrkseek/server-http/dist/index.js.map +1 -1
  517. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.d.ts.map +1 -1
  518. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.js +10 -0
  519. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.js.map +1 -1
  520. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.d.ts +9 -0
  521. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.d.ts.map +1 -1
  522. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.js +68 -21
  523. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.js.map +1 -1
  524. package/node_modules/@xrkseek/server-http/package.json +1 -0
  525. package/node_modules/@xrkseek/server-loader/dist/index.d.ts +1 -1
  526. package/node_modules/@xrkseek/server-loader/dist/index.d.ts.map +1 -1
  527. package/node_modules/@xrkseek/server-loader/dist/index.js.map +1 -1
  528. package/node_modules/@xrkseek/server-loader/dist/load.d.ts.map +1 -1
  529. package/node_modules/@xrkseek/server-loader/dist/load.js +5 -2
  530. package/node_modules/@xrkseek/server-loader/dist/load.js.map +1 -1
  531. package/node_modules/@xrkseek/server-loader/dist/managed-state.d.ts +11 -1
  532. package/node_modules/@xrkseek/server-loader/dist/managed-state.d.ts.map +1 -1
  533. package/node_modules/@xrkseek/server-loader/dist/managed-state.js +11 -2
  534. package/node_modules/@xrkseek/server-loader/dist/managed-state.js.map +1 -1
  535. package/node_modules/@xrkseek/workspace/dist/index.d.ts +9 -0
  536. package/node_modules/@xrkseek/workspace/dist/index.d.ts.map +1 -1
  537. package/node_modules/@xrkseek/workspace/dist/index.js +4 -2
  538. package/node_modules/@xrkseek/workspace/dist/index.js.map +1 -1
  539. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.d.ts +32 -2
  540. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.d.ts.map +1 -1
  541. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.js +69 -2
  542. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.js.map +1 -1
  543. package/node_modules/@xrkseek/xrk-session-reference/README.md +1 -1
  544. package/node_modules/@xrkseek/xrk-session-reference/README.zh.md +1 -1
  545. package/node_modules/@xrkseek/xrk-session-reference/dist/spill.d.ts +5 -3
  546. package/node_modules/@xrkseek/xrk-session-reference/dist/spill.d.ts.map +1 -1
  547. package/node_modules/@xrkseek/xrk-session-reference/dist/spill.js +20 -17
  548. package/node_modules/@xrkseek/xrk-session-reference/dist/spill.js.map +1 -1
  549. package/node_modules/@xrkseek/xrk-session-reference/package.json +1 -1
  550. package/package.json +1 -1
  551. package/node_modules/@xrkseek/server-face/dist/opencode-zen.d.ts +0 -13
  552. package/node_modules/@xrkseek/server-face/dist/opencode-zen.d.ts.map +0 -1
  553. package/node_modules/@xrkseek/server-face/dist/opencode-zen.js +0 -40
  554. package/node_modules/@xrkseek/server-face/dist/opencode-zen.js.map +0 -1
@@ -12,9 +12,10 @@ import { installOutboundHttpProxy } from "./http-proxy.js";
12
12
  import { mountInvariantsFailFast } from "./invariants-fail-fast.js";
13
13
  import { watchPolicyFile } from "./policy-file-watch.js";
14
14
  import { createA2aInboundPublicHandler } from "./a2a-inbound-public.js";
15
+ import { createCronApiHandler } from "./cron-http.js";
15
16
  import { tryMountHostIsolatingWorkflowEngine } from "./workflow-engine-mount.js";
16
- import { applyXrkProductBootPolicy, chainPublicHandlers, ensureDshCompatHostPlugin, createLiveHostPluginsPublicHandler, createHttpServer, createXrkPluginPublicHandler, createSidebarPublicHandler, prewarmDshCompatAdapters, shutdownDshCompatServices, applyHostPackageByName, stopHostPackageFiber, listHostAppliedPackages, invokeDshCompatRpc, attachDshCompatUpgrades, DSH_SETTINGS_NAMESPACES, DSH_SETTINGS_DEFAULTS, runPluginMutate, ensureXrkPlatformClientBootEntries, injectBootIntoHtml, injectMobileAccessShellIntoHtml, loadBootManifestFromWebDist, mergeWebBootManifests, resolveWebBootManifest, createXrkWalletPort, createMobileAccessGateChecker, createMobileAccessGateHandler, loadSidebarPrefs, } from "@xrkseek/server-http";
17
- import { attachFaceUpgrades, bindSubagentTools, bindSessionQueryTools, createFaceRuntime, effectiveHostApiKey, isLoopbackAddress, listCredentialSlots, peekSettingsYamlSection, publishRemoteEvent, createSessionRoutingLlm, liveRouteAllowsImageInput, resolveSessionCwd, canonicalAgentPresetId, resolveAgentPresetProfile, DEFAULT_MAX_DEPTH, DEFAULT_MAX_ACTIVE_CHILDREN, tryHandleFaceHttp, isPluginSoftDisabledAt, readDisabledPluginIdsAt, readManagedPackageIndexAt, reconcileManagedProcessPlugins, snapshotSessionWorkspace, SNAPSHOT_DRAIN_BUDGET_MS, } from "@xrkseek/server-face";
17
+ import { applyXrkProductBootPolicy, chainPublicHandlers, ensureDshCompatHostPlugin, createLiveHostPluginsPublicHandler, createHttpServer, createXrkPluginPublicHandler, createSidebarPublicHandler, prewarmDshCompatAdapters, shutdownDshCompatServices, applyHostPackageByName, stopHostPackageFiber, listHostAppliedPackages, invokeDshCompatRpc, attachDshCompatUpgrades, DSH_SETTINGS_NAMESPACES, DSH_SETTINGS_DEFAULTS, runPluginMutate, ensureXrkPlatformClientBootEntries, injectBootIntoHtml, injectBootThemeIntoHtml, injectMobileAccessShellIntoHtml, loadBootManifestFromWebDist, mergeWebBootManifests, resolveWebBootManifest, createXrkWalletPort, createMobileAccessGateChecker, createMobileAccessGateHandler, loadSidebarPrefs, } from "@xrkseek/server-http";
18
+ import { attachFaceUpgrades, bindSubagentTools, bindSessionQueryTools, createFaceRuntime, effectiveHostApiKey, ensureMcpLiveIfIdle, isLoopbackAddress, listCredentialSlots, peekSettingsYamlSection, publishRemoteEvent, createSessionRoutingLlm, liveRouteAllowsImageInput, resolveSessionCwd, canonicalAgentPresetId, resolveAgentPresetProfile, effectiveSessionAgentPreset, DEFAULT_MAX_DEPTH, DEFAULT_MAX_ACTIVE_CHILDREN, tryHandleFaceHttp, isPluginSoftDisabledAt, readDisabledPluginIdsAt, readManagedPackageIndexAt, reconcileManagedProcessPlugins, snapshotSessionWorkspace, SNAPSHOT_DRAIN_BUDGET_MS, } from "@xrkseek/server-face";
18
19
  import { createPluginLoader, composeHostPolicyEngine, wireCompositionChannels, wireCompositionLlm, collectChannelPluginRegistrations, } from "@xrkseek/server-loader";
19
20
  import { existsSync } from "node:fs";
20
21
  import { access } from "node:fs/promises";
@@ -148,6 +149,19 @@ export function createHostShellPrepareArgv(options) {
148
149
  return confined;
149
150
  };
150
151
  }
152
+ /** Face `removeUserPlugin` / `updateUserPlugin` — prefer composed mutate error over bare stderr. */
153
+ function facePluginMutateResult(result) {
154
+ return {
155
+ ok: result.ok,
156
+ ...(result.error
157
+ ? { error: result.error }
158
+ : !result.ok && result.stderr
159
+ ? { error: result.stderr }
160
+ : {}),
161
+ stdout: result.stdout,
162
+ stderr: result.stderr,
163
+ };
164
+ }
151
165
  export function createHostManager() {
152
166
  const instances = new Map();
153
167
  let seq = 0;
@@ -189,16 +203,25 @@ export function createHostManager() {
189
203
  ? path.resolve(configuredPluginsDir)
190
204
  : path.join(resolveXrkHome(), "plugins");
191
205
  const managedPluginsRootReady = () => existsSync(resolvedPluginsDir);
206
+ // Desktop shell: listen + IPC ready first; process plugins catch up in
207
+ // background so Electron can remount onto loopback without waiting for
208
+ // every extension ESM graph (Cursor-like first paint).
209
+ const deferManagedPlugins = String(process.env.XRK_SURFACE ?? "").trim() === "desktop";
192
210
  let loadedPluginIds = [];
193
- if (managedPluginsRootReady()) {
194
- // Single path with Settings soft-disable: discover+load enabled,
195
- // skip soft-disabled (never mcp:*). Optional load failures warn;
196
- // required failures throw (abort spawn).
211
+ const loadManagedPlugins = async () => {
212
+ if (!managedPluginsRootReady())
213
+ return;
197
214
  const bootPlugins = await reconcileManagedProcessPlugins(loader, resolvedPluginsDir);
198
215
  loadedPluginIds = [...bootPlugins.ids];
199
216
  for (const failure of bootPlugins.failures) {
200
217
  log?.warn(`plugin load failed (${failure.id}): ${failure.message}`);
201
218
  }
219
+ };
220
+ if (!deferManagedPlugins) {
221
+ await loadManagedPlugins();
222
+ }
223
+ else if (managedPluginsRootReady()) {
224
+ log?.info("desktop surface: deferring process-plugin reconcile until after HTTP listen");
202
225
  }
203
226
  // File rules first, then kind:policy plugins. Delegate so a later
204
227
  // plugin refresh / policy-file watch rebuilds without swapping captures.
@@ -250,7 +273,7 @@ export function createHostManager() {
250
273
  const mcpFileSourced = configuredMcpSpecs(config).length === 0;
251
274
  let mcpAllowConnect = resolveMcpAllowConnect(config);
252
275
  if (mcpSpecs.length > 0) {
253
- log?.info(`mcp desired ${mcpSpecs.length} (source=${mcpFileSourced ? "host-settings" : "env/config"}; allow=${mcpAllowConnect ? "on" : "off"})`);
276
+ log?.info(`mcp desired ${mcpSpecs.length} (source=${mcpFileSourced ? "host-settings" : "env/config"}; allow=${mcpAllowConnect ? "on" : "off"}; connect after HTTP ready)`);
254
277
  }
255
278
  let invalidateAgents = async () => { };
256
279
  /** Sessions skipped mid-turn; invalidate once drain goes idle. */
@@ -306,26 +329,75 @@ export function createHostManager() {
306
329
  notifyMcpOverlay();
307
330
  },
308
331
  };
309
- if (mcpSpecs.length > 0) {
310
- const boot = await reconcileMcpToolPlugins({
311
- desired: mcpSpecs,
312
- list: () => loader.list(),
313
- register: (plugin) => {
314
- loader.register(plugin);
315
- if (!loadedPluginIds.includes(plugin.id)) {
316
- loadedPluginIds = [...loadedPluginIds, plugin.id];
317
- }
318
- },
319
- unregister: mcpUnregister,
320
- retained: () => mcpDeferred.retained(),
321
- policy,
322
- allowConnect: mcpAllowConnect,
323
- workspaceRoot: config.runtime.workspaceRoot,
324
- imageAdmission: mcpImageAdmission,
325
- ...mcpHooks,
332
+ const registerMcpPlugin = (plugin) => {
333
+ loader.register(plugin);
334
+ if (!loadedPluginIds.includes(plugin.id)) {
335
+ loadedPluginIds = [...loadedPluginIds, plugin.id];
336
+ }
337
+ };
338
+ const mcpReconcileOptions = (desired, allowConnect) => ({
339
+ desired,
340
+ list: () => loader.list(),
341
+ register: registerMcpPlugin,
342
+ unregister: mcpUnregister,
343
+ retained: () => mcpDeferred.retained(),
344
+ policy,
345
+ allowConnect,
346
+ workspaceRoot: config.runtime.workspaceRoot,
347
+ imageAdmission: mcpImageAdmission,
348
+ ...mcpHooks,
349
+ });
350
+ let mcpClosed = false;
351
+ let mcpSyncTail = Promise.resolve();
352
+ /** Last reconcile overlay — applied when `notifyMcpOverlay` is wired to Face. */
353
+ let lastMcpReconcileOverlay;
354
+ const enqueueMcpReconcile = (label, desired, allowConnect) => {
355
+ const run = mcpSyncTail.then(async () => {
356
+ if (mcpClosed) {
357
+ return { failures: [], parked: [], added: [], removed: [], kept: [] };
358
+ }
359
+ const result = await reconcileMcpToolPlugins({
360
+ ...mcpReconcileOptions(desired, allowConnect),
361
+ onConnectProgress: async ({ phase, serverName }) => {
362
+ if (mcpClosed)
363
+ return;
364
+ const prev = lastMcpReconcileOverlay;
365
+ const connecting = new Set(prev?.connecting ?? []);
366
+ if (phase === "connecting")
367
+ connecting.add(serverName);
368
+ else
369
+ connecting.delete(serverName);
370
+ lastMcpReconcileOverlay = {
371
+ connectFailures: prev?.connectFailures ?? [],
372
+ parked: prev?.parked ?? [],
373
+ connecting: [...connecting],
374
+ };
375
+ // Live row badges: refresh connected plugins + push overlay mid-serial.
376
+ notifyMcpOverlay();
377
+ if (phase === "connecting") {
378
+ log?.info(`mcp ${label}: connecting ${serverName}`);
379
+ }
380
+ },
381
+ });
382
+ if (mcpClosed)
383
+ return result;
384
+ logMcpReconcile(log, label, result);
385
+ lastMcpReconcileOverlay = {
386
+ connectFailures: result.failures,
387
+ parked: result.parked,
388
+ connecting: [],
389
+ };
390
+ // Boot/reconcile used to refresh plugins only — Settings MCP card kept
391
+ // stale `parked` until a manual save. Push the same overlay event as
392
+ // health changes so connected/parked badges update live.
393
+ notifyMcpOverlay();
394
+ await invalidateAgents();
395
+ return result;
326
396
  });
327
- logMcpReconcile(log, "boot", boot);
328
- }
397
+ mcpSyncTail = run.then(() => undefined, () => undefined);
398
+ return run;
399
+ };
400
+ // Face/HTTP first (Codex-style): MCP stdio/HTTP handshake must not block spawn.
329
401
  refreshFacePlugins();
330
402
  const agentCache = createHostAgentCache(loader.list(), { hostId: id });
331
403
  // MCP remount / settings_mutate runs inside an active drain. Aborting that
@@ -343,14 +415,13 @@ export function createHostManager() {
343
415
  });
344
416
  await mcpDeferred.flush();
345
417
  };
346
- let mcpSyncTail = Promise.resolve();
347
418
  const lastDrainResult = new Map();
348
419
  // Local Host + remote cwd: swap fs/shell (Hermes/DSH provider pattern).
349
420
  // Env `XRK_SSH_HOST` CI-bypasses Face; else peek settings.yaml before Face
350
421
  // (SSH world must own workspaceRoot before createFaceRuntime).
351
- // Optional HTTP ExecEnvironment (Modal/e2b-style sidecar) when SSH is off.
422
+ // Optional pluggable ExecEnvironment (HTTP sidecar · memory CI world) when SSH is off.
352
423
  let sshWorld;
353
- let httpWorld;
424
+ let envWorld;
354
425
  /** Local Host cwd before SSH workspace swap (browse/settings anchor). */
355
426
  let localHostRoot;
356
427
  let execWorldKind;
@@ -365,21 +436,26 @@ export function createHostManager() {
365
436
  config.runtime.workspaceRoot =
366
437
  sshWorld.workspaceRoot;
367
438
  }
368
- else if (String(process.env.XRK_EXEC_ENVIRONMENT ?? "")
369
- .trim()
370
- .toLowerCase() === "http") {
371
- execWorldKind = "http";
372
- const provider = resolveExecEnvironment({ env: process.env });
373
- httpWorld = await provider.createWorld({
374
- workspaceRoot: config.runtime.workspaceRoot,
375
- });
439
+ else {
440
+ const envKind = String(process.env.XRK_EXEC_ENVIRONMENT ?? "")
441
+ .trim()
442
+ .toLowerCase();
443
+ if (envKind === "http" || envKind === "memory") {
444
+ execWorldKind = envKind;
445
+ const provider = resolveExecEnvironment({ env: process.env });
446
+ envWorld = await provider.createWorld({
447
+ workspaceRoot: config.runtime.workspaceRoot,
448
+ });
449
+ }
376
450
  }
377
451
  }
378
452
  catch (err) {
379
453
  const message = err instanceof Error ? err.message : String(err);
380
454
  throw new Error(execWorldKind === "http"
381
455
  ? `HTTP exec environment: ${message}`
382
- : `SSH remote workspace: ${message}`, { cause: err });
456
+ : execWorldKind === "memory"
457
+ ? `Memory exec environment: ${message}`
458
+ : `SSH remote workspace: ${message}`, { cause: err });
383
459
  }
384
460
  // Codex-shaped outbound allowlist audit → Host logger (not MITM).
385
461
  setOutboundAllowlistAuditObserver((ev) => {
@@ -396,8 +472,8 @@ export function createHostManager() {
396
472
  ? createLocalShell({
397
473
  subprocess: sshWorld
398
474
  ? sshWorld.subprocess
399
- : httpWorld
400
- ? httpWorld.subprocess
475
+ : envWorld
476
+ ? envWorld.subprocess
401
477
  : createLocalSubprocess(),
402
478
  defaultCwd: config.runtime.workspaceRoot,
403
479
  // Host-wide shared registry — sandbox confine resolves lazily so
@@ -535,12 +611,18 @@ export function createHostManager() {
535
611
  // Sidebar agent-opens / agent-terminals — Host registries (not plugin host.mjs).
536
612
  const agentOpenRegistry = new AgentOpenRegistry();
537
613
  const agentPtyRegistry = new AgentPtyRegistry();
614
+ // Filled in attachExtras — Desktop HTTP PTY (no WS upgrade when listen:false).
615
+ const sidebarPtyHttp = {};
538
616
  const cronBox = {};
539
617
  const resolveAgent = async (sessionId) => {
540
618
  // Cache composition binding only — never treat AgentHandle as transcript source (ADR-0003).
541
619
  const parentSessionId = lineage.parentOf(sessionId);
542
620
  const sessionRoot = sessionCwdBox.get?.(sessionId) ?? config.runtime.workspaceRoot;
543
- const agentPreset = sessionPresetBox.get?.(sessionId);
621
+ const agentPreset = sessionPresetBox.get?.(sessionId) ??
622
+ (faceBox.runtime
623
+ ? effectiveSessionAgentPreset(faceBox.runtime, sessionId)
624
+ : undefined) ??
625
+ config.runtime.preset;
544
626
  const wsId = faceRuntime.workspaces.workspaceIdOf(sessionId);
545
627
  const wsRow = wsId ? faceRuntime.workspaces.get(wsId) : undefined;
546
628
  return agentCache.resolve(sessionId, async () => {
@@ -582,8 +664,8 @@ export function createHostManager() {
582
664
  remoteExecution: true,
583
665
  codeRuntime: sshWorld.codeRuntime,
584
666
  }
585
- : httpWorld
586
- ? { fs: httpWorld.fs }
667
+ : envWorld
668
+ ? { fs: envWorld.fs }
587
669
  : {}),
588
670
  ...(faceBox.runtime
589
671
  ? {
@@ -702,7 +784,7 @@ export function createHostManager() {
702
784
  }
703
785
  // ask_user / exit_plan_mode: Face resolveAgent rebinds once.
704
786
  if (agent.tools && faceBox.runtime) {
705
- const profile = resolveAgentPresetProfile(agentPreset ?? config.runtime.preset, config.runtime.preset);
787
+ const profile = resolveAgentPresetProfile(agentPreset, config.runtime.preset);
706
788
  if (profile.subagents.mode === "on") {
707
789
  const faceDepth = pluginSettings.maxSubagentDepth ?? DEFAULT_MAX_DEPTH;
708
790
  const faceActive = pluginSettings.maxActiveSubagents ??
@@ -907,16 +989,31 @@ export function createHostManager() {
907
989
  rev: overlayBoot.rev,
908
990
  entries: overlayBoot.entries.filter((e) => !isPluginSoftDisabledAt(e.id, disabledIds, packageIndex)),
909
991
  };
910
- const boot = applyXrkProductBootPolicy(ensureXrkPlatformClientBootEntries(mergeWebBootManifests(resolveWebBootManifest(config.runtime.webDist), filteredOverlay), config.runtime.webDist));
911
- // Mutable like facePlugins: soft-disable / remove rewrite boot.json, so
912
- // inventory must re-read overlay or removed clients stay as active ghosts.
992
+ // Mutable live boot: soft-disable / install rewrites pluginsDir web/boot.json.
993
+ // HTML inject and inventory must re-read the overlay, or a browser reload
994
+ // after install still serves the start-of-process graph (needsRestart ghost).
995
+ const liveBoot = {
996
+ current: applyXrkProductBootPolicy(ensureXrkPlatformClientBootEntries(mergeWebBootManifests(resolveWebBootManifest(config.runtime.webDist), filteredOverlay), config.runtime.webDist)),
997
+ };
998
+ // Same array reference is passed to webStatic.extraRoots — must update in
999
+ // place when the first client install creates `{pluginsDir}/web` mid-process,
1000
+ // or reload injects the new boot row while `/plugins/<id>/client.js` 404s.
1001
+ const liveExtraRoots = webOverlay ? [webOverlay] : [];
913
1002
  const faceWebPlugins = [];
914
1003
  const refreshFaceWebPlugins = async () => {
915
1004
  if (!config.runtime.webDist) {
916
1005
  faceWebPlugins.splice(0, faceWebPlugins.length);
1006
+ liveExtraRoots.splice(0, liveExtraRoots.length);
1007
+ liveBoot.current = {
1008
+ rev: liveBoot.current.rev,
1009
+ entries: [],
1010
+ };
917
1011
  return;
918
1012
  }
919
1013
  const overlayRoot = await resolveWebPluginOverlay(resolvedPluginsDir);
1014
+ liveExtraRoots.splice(0, liveExtraRoots.length);
1015
+ if (overlayRoot)
1016
+ liveExtraRoots.push(overlayRoot);
920
1017
  const nextOverlay = overlayRoot
921
1018
  ? loadBootManifestFromWebDist(overlayRoot)
922
1019
  : undefined;
@@ -929,9 +1026,10 @@ export function createHostManager() {
929
1026
  entries: nextOverlay.entries.filter((e) => !isPluginSoftDisabledAt(e.id, disabled, index)),
930
1027
  };
931
1028
  const nextBoot = applyXrkProductBootPolicy(ensureXrkPlatformClientBootEntries(mergeWebBootManifests(resolveWebBootManifest(config.runtime.webDist), filtered), config.runtime.webDist));
1029
+ liveBoot.current = nextBoot;
932
1030
  faceWebPlugins.splice(0, faceWebPlugins.length, ...nextBoot.entries.map((e) => ({ id: e.id })));
933
1031
  };
934
- faceWebPlugins.push(...boot.entries.map((e) => ({ id: e.id })));
1032
+ faceWebPlugins.push(...liveBoot.current.entries.map((e) => ({ id: e.id })));
935
1033
  const hostWireRef = {};
936
1034
  const syncCordisHostApplied = () => {
937
1035
  hostPublic.cordisHostApplied = listHostAppliedPackages().map((row) => row.packageName);
@@ -982,24 +1080,26 @@ export function createHostManager() {
982
1080
  spec,
983
1081
  pluginsDir: resolvedPluginsDir,
984
1082
  });
985
- return result.ok
986
- ? { ok: true }
987
- : { ok: false, error: result.error ?? result.stderr };
1083
+ return facePluginMutateResult(result);
988
1084
  },
989
- updateUserPlugin: async (spec) => {
1085
+ updateUserPlugin: async (spec, options) => {
990
1086
  const result = await runPluginMutate({
991
1087
  action: "add",
992
1088
  spec,
993
1089
  pluginsDir: resolvedPluginsDir,
1090
+ ...(options?.registry?.trim()
1091
+ ? { registry: options.registry.trim() }
1092
+ : {}),
1093
+ ...(options?.onChunk !== undefined
1094
+ ? { onChunk: options.onChunk }
1095
+ : {}),
994
1096
  });
995
- return result.ok
996
- ? { ok: true }
997
- : { ok: false, error: result.error ?? result.stderr };
1097
+ return facePluginMutateResult(result);
998
1098
  },
999
- syncManagedProcessPlugins: async () => {
1099
+ syncManagedProcessPlugins: async (options) => {
1000
1100
  if (!managedPluginsRootReady())
1001
1101
  return;
1002
- const synced = await reconcileManagedProcessPlugins(loader, resolvedPluginsDir);
1102
+ const synced = await reconcileManagedProcessPlugins(loader, resolvedPluginsDir, options);
1003
1103
  loadedPluginIds = [...synced.ids];
1004
1104
  for (const failure of synced.failures) {
1005
1105
  log?.warn(`plugin load failed (${failure.id}): ${failure.message}`);
@@ -1011,36 +1111,12 @@ export function createHostManager() {
1011
1111
  ...(mcpFileSourced
1012
1112
  ? {
1013
1113
  syncMcpServers: async (servers, options) => {
1014
- const run = mcpSyncTail.then(async () => {
1015
- mcpAllowConnect = resolveMcpAllowConnect(config, options?.allowConnect);
1016
- const result = await reconcileMcpToolPlugins({
1017
- desired: mcpDraftsToSpecs(servers),
1018
- list: () => loader.list(),
1019
- register: (plugin) => {
1020
- loader.register(plugin);
1021
- if (!loadedPluginIds.includes(plugin.id)) {
1022
- loadedPluginIds = [...loadedPluginIds, plugin.id];
1023
- }
1024
- },
1025
- unregister: mcpUnregister,
1026
- retained: () => mcpDeferred.retained(),
1027
- policy,
1028
- allowConnect: mcpAllowConnect,
1029
- workspaceRoot: config.runtime.workspaceRoot,
1030
- imageAdmission: mcpImageAdmission,
1031
- ...mcpHooks,
1032
- });
1033
- logMcpReconcile(log, "reconcile", result);
1034
- refreshFacePlugins();
1035
- await invalidateAgents();
1036
- return {
1037
- failures: result.failures,
1038
- parked: result.parked,
1039
- };
1040
- });
1041
- // Keep the chain alive even if one reconcile rejects.
1042
- mcpSyncTail = run.then(() => undefined, () => undefined);
1043
- return run;
1114
+ mcpAllowConnect = resolveMcpAllowConnect(config, options?.allowConnect);
1115
+ const result = await enqueueMcpReconcile("reconcile", mcpDraftsToSpecs(servers), mcpAllowConnect);
1116
+ return {
1117
+ failures: result.failures,
1118
+ parked: result.parked,
1119
+ };
1044
1120
  },
1045
1121
  }
1046
1122
  : {}),
@@ -1126,38 +1202,6 @@ export function createHostManager() {
1126
1202
  else {
1127
1203
  log?.warn("Isolating WorkflowEngine not mounted (Cordis stub unavailable under this install)");
1128
1204
  }
1129
- // Face hydrate may migrate legacy settings.yaml mcp → host-settings after
1130
- // boot reconcile already ran with []. Remount once when file-sourced.
1131
- if (mcpFileSourced && mcpSpecs.length === 0) {
1132
- const mcpUser = faceRuntime.settingsNamespaces.ensure("mcp").user;
1133
- const drafts = Array.isArray(mcpUser.servers)
1134
- ? mcpUser.servers
1135
- : [];
1136
- const desired = mcpDraftsToSpecs(drafts);
1137
- if (desired.length > 0) {
1138
- mcpAllowConnect = resolveMcpAllowConnect(config, mcpUser.allowConnect === true);
1139
- const migrated = await reconcileMcpToolPlugins({
1140
- desired,
1141
- list: () => loader.list(),
1142
- register: (plugin) => {
1143
- loader.register(plugin);
1144
- if (!loadedPluginIds.includes(plugin.id)) {
1145
- loadedPluginIds = [...loadedPluginIds, plugin.id];
1146
- }
1147
- },
1148
- unregister: mcpUnregister,
1149
- retained: () => mcpDeferred.retained(),
1150
- policy,
1151
- allowConnect: mcpAllowConnect,
1152
- workspaceRoot: config.runtime.workspaceRoot,
1153
- imageAdmission: mcpImageAdmission,
1154
- ...mcpHooks,
1155
- });
1156
- logMcpReconcile(log, "yaml-migrate", migrated);
1157
- refreshFacePlugins();
1158
- await invalidateAgents();
1159
- }
1160
- }
1161
1205
  sessionCwdBox.get = (sessionId) => resolveSessionCwd(faceRuntime, sessionId);
1162
1206
  sessionPresetBox.get = (sessionId) => faceRuntime.sessionAgentPresets.get(sessionId);
1163
1207
  hostStatusBox.publish = (sessionId, running) => {
@@ -1188,7 +1232,8 @@ export function createHostManager() {
1188
1232
  loop.maxSteps > 0
1189
1233
  ? Math.floor(loop.maxSteps)
1190
1234
  : undefined;
1191
- const autoContinueOnMaxTokens = loop.autoContinueOnMaxTokens === true;
1235
+ // Schema default is true; treat omit as on so Settings UI "开" matches Host.
1236
+ const autoContinueOnMaxTokens = loop.autoContinueOnMaxTokens !== false;
1192
1237
  const autoContinueMaxRoundsRaw = loop.autoContinueMaxRounds;
1193
1238
  const autoContinueMaxRounds = typeof autoContinueMaxRoundsRaw === "number" &&
1194
1239
  Number.isFinite(autoContinueMaxRoundsRaw) &&
@@ -1660,6 +1705,13 @@ export function createHostManager() {
1660
1705
  lineage.parentOf = (sessionId) => faceRuntime.subagents.getByChild(sessionId)?.parentSessionId;
1661
1706
  notifyMcpOverlay = () => {
1662
1707
  refreshFacePlugins();
1708
+ if (lastMcpReconcileOverlay) {
1709
+ faceRuntime.mcpSyncOverlay = {
1710
+ connectFailures: lastMcpReconcileOverlay.connectFailures,
1711
+ parked: lastMcpReconcileOverlay.parked,
1712
+ connecting: lastMcpReconcileOverlay.connecting,
1713
+ };
1714
+ }
1663
1715
  const slot = faceRuntime.settingsNamespaces.ensure("mcp");
1664
1716
  publishRemoteEvent(faceRuntime.bus, "settings/document-updated", [
1665
1717
  "mcp",
@@ -1763,7 +1815,10 @@ export function createHostManager() {
1763
1815
  ensureSession,
1764
1816
  resolveAgent,
1765
1817
  drain,
1766
- tryHandlePublic: chainPublicHandlers(createA2aInboundPublicHandler({
1818
+ tryHandlePublic: chainPublicHandlers(
1819
+ // Desktop PTY SSE must run before createSidebarPublicHandler — the
1820
+ // sidebar JSON-RPC surface would otherwise 405 GET /sidebar/api/pty/stream.
1821
+ (req, res) => sidebarPtyHttp.handle?.(req, res) === true, createA2aInboundPublicHandler({
1767
1822
  host: config.runtime.host,
1768
1823
  port: config.runtime.port,
1769
1824
  face: faceRuntime,
@@ -1817,15 +1872,40 @@ export function createHostManager() {
1817
1872
  ? {
1818
1873
  webStatic: {
1819
1874
  root: config.runtime.webDist,
1820
- ...(webOverlay ? { extraRoots: [webOverlay] } : {}),
1821
- transformIndex: (html) => injectMobileAccessShellIntoHtml(injectBootIntoHtml(html, boot)),
1875
+ // Live array: refreshFaceWebPlugins mutates after first client install.
1876
+ extraRoots: liveExtraRoots,
1877
+ transformIndex: (html) => {
1878
+ // Match client-ui-theme / Face ui-theme fontSize bounds (12–17).
1879
+ const themeNs = faceRuntime.settingsNamespaces.view("ui-theme").value;
1880
+ const fontRaw = themeNs?.fontSize;
1881
+ const fontSize = typeof fontRaw === "number" &&
1882
+ Number.isInteger(fontRaw) &&
1883
+ fontRaw >= 12 &&
1884
+ fontRaw <= 17
1885
+ ? fontRaw
1886
+ : 14;
1887
+ return injectMobileAccessShellIntoHtml(injectBootThemeIntoHtml(injectBootIntoHtml(html, liveBoot.current), faceRuntime.uiSettings.theme, fontSize));
1888
+ },
1822
1889
  },
1823
1890
  }
1824
1891
  : {}),
1825
- tryHandleExtraApi: (req, res) => tryHandleFaceHttp(req, res, faceRuntime, {
1826
- apiKey: effectiveHostApiKey(faceRuntime),
1827
- checkAuth: faceCheckAuth,
1828
- }),
1892
+ tryHandleExtraApi: (req, res) => {
1893
+ // Backup if a future reorder puts SPA before public PTY (primary is
1894
+ // the tryHandlePublic head hook above).
1895
+ if (sidebarPtyHttp.handle?.(req, res) === true)
1896
+ return true;
1897
+ // Host cron read API first (`/api/cron/*`), then Face extras.
1898
+ const cronApi = createCronApiHandler({
1899
+ resolveScheduler: () => cronBox.scheduler,
1900
+ checkAuth: faceCheckAuth,
1901
+ });
1902
+ if (cronApi(req, res))
1903
+ return true;
1904
+ return tryHandleFaceHttp(req, res, faceRuntime, {
1905
+ apiKey: effectiveHostApiKey(faceRuntime),
1906
+ checkAuth: faceCheckAuth,
1907
+ });
1908
+ },
1829
1909
  attachExtras: (server) => {
1830
1910
  const face = attachFaceUpgrades(server, faceRuntime, {
1831
1911
  apiKey: effectiveHostApiKey(faceRuntime),
@@ -1837,15 +1917,22 @@ export function createHostManager() {
1837
1917
  // Sidebar interactive PTY is Host-local node-pty — not SSH. Skip when
1838
1918
  // remote so defaultCwd is never a remote POSIX path on the Host disk.
1839
1919
  const sidebarPty = sshWorld
1840
- ? { close() { } }
1920
+ ? {
1921
+ close() { },
1922
+ tryHandleHttp() {
1923
+ return false;
1924
+ },
1925
+ }
1841
1926
  : attachSidebarPtyUpgrades(server, {
1842
1927
  defaultCwd: faceRuntime.workspaceRoot,
1843
1928
  checkAuth: faceCheckAuth,
1844
1929
  agentPty: agentPtyRegistry,
1845
1930
  agentOpens: agentOpenRegistry,
1846
1931
  });
1932
+ sidebarPtyHttp.handle = (req, res) => sidebarPty.tryHandleHttp(req, res);
1847
1933
  return {
1848
1934
  close() {
1935
+ delete sidebarPtyHttp.handle;
1849
1936
  sidebarPty.close();
1850
1937
  agentPtyRegistry.disposeAll();
1851
1938
  agentOpenRegistry.dispose();
@@ -1866,6 +1953,40 @@ export function createHostManager() {
1866
1953
  else {
1867
1954
  log?.info("http stack ready (listen disabled — pipe / fetch transport)");
1868
1955
  }
1956
+ if (deferManagedPlugins) {
1957
+ void loadManagedPlugins()
1958
+ .then(() => {
1959
+ rebuildPolicyEngine();
1960
+ log?.info(`desktop process plugins ready (${String(loadedPluginIds.length)})`);
1961
+ })
1962
+ .catch((err) => {
1963
+ const message = err instanceof Error ? err.message : String(err);
1964
+ log?.warn(`desktop process-plugin reconcile failed: ${message}`);
1965
+ });
1966
+ }
1967
+ {
1968
+ // Env/config specs auto-connect after HTTP (CI/headless).
1969
+ // File-sourced Settings share Face `ensureMcpLiveIfIdle` with
1970
+ // settings.describe — Allow on remounts without Desktop restart.
1971
+ if (mcpFileSourced) {
1972
+ const mcpUser = faceRuntime.settingsNamespaces.ensure("mcp").user;
1973
+ const n = Array.isArray(mcpUser.servers) ? mcpUser.servers.length : 0;
1974
+ mcpAllowConnect = resolveMcpAllowConnect(config, mcpUser.allowConnect === true);
1975
+ if (n > 0 && !mcpAllowConnect) {
1976
+ log?.info(`mcp file-sourced ${n} deferred until Settings save (allow=off)`);
1977
+ }
1978
+ else if (n > 0) {
1979
+ log?.info(`mcp file-sourced ${n} connecting (allow already on)`);
1980
+ }
1981
+ ensureMcpLiveIfIdle(faceRuntime);
1982
+ }
1983
+ else if (mcpSpecs.length > 0) {
1984
+ void enqueueMcpReconcile("boot", mcpSpecs, mcpAllowConnect).catch((err) => {
1985
+ const message = err instanceof Error ? err.message : String(err);
1986
+ log?.warn(`mcp background connect failed: ${message}`);
1987
+ });
1988
+ }
1989
+ }
1869
1990
  let status = "running";
1870
1991
  let stopPromise;
1871
1992
  const instance = {
@@ -1897,6 +2018,7 @@ export function createHostManager() {
1897
2018
  return stopPromise;
1898
2019
  status = "stopped";
1899
2020
  stopPromise = (async () => {
2021
+ mcpClosed = true;
1900
2022
  cronBox.scheduler?.stop();
1901
2023
  policyFileWatch?.dispose();
1902
2024
  // Phase1 consolidate before agents/store go away (Hermes finalize).
@@ -1936,6 +2058,14 @@ export function createHostManager() {
1936
2058
  // Host stop must continue even if SSH ControlMaster exit fails.
1937
2059
  }
1938
2060
  }
2061
+ if (envWorld) {
2062
+ try {
2063
+ envWorld.dispose();
2064
+ }
2065
+ catch {
2066
+ // Host stop must continue even if pluggable exec world teardown fails.
2067
+ }
2068
+ }
1939
2069
  if (sharedPty) {
1940
2070
  try {
1941
2071
  await sharedPty.service.dispose();