@xrkseek/harness 0.4.0-rc.4 → 0.4.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 (625) hide show
  1. package/dist/index.d.ts +3 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -2
  4. package/dist/index.js.map +1 -1
  5. package/node_modules/@xrkseek/checkpoint/README.md +88 -0
  6. package/node_modules/@xrkseek/checkpoint/dist/index.d.ts +5 -0
  7. package/node_modules/@xrkseek/checkpoint/dist/index.d.ts.map +1 -0
  8. package/node_modules/@xrkseek/checkpoint/dist/index.js +5 -0
  9. package/node_modules/@xrkseek/checkpoint/dist/index.js.map +1 -0
  10. package/node_modules/@xrkseek/checkpoint/dist/json-file.d.ts +5 -0
  11. package/node_modules/@xrkseek/checkpoint/dist/json-file.d.ts.map +1 -0
  12. package/node_modules/@xrkseek/checkpoint/dist/json-file.js +29 -0
  13. package/node_modules/@xrkseek/checkpoint/dist/json-file.js.map +1 -0
  14. package/node_modules/@xrkseek/checkpoint/dist/process-git.d.ts +8 -0
  15. package/node_modules/@xrkseek/checkpoint/dist/process-git.d.ts.map +1 -0
  16. package/node_modules/@xrkseek/checkpoint/dist/process-git.js +40 -0
  17. package/node_modules/@xrkseek/checkpoint/dist/process-git.js.map +1 -0
  18. package/node_modules/@xrkseek/checkpoint/dist/store.d.ts +101 -0
  19. package/node_modules/@xrkseek/checkpoint/dist/store.d.ts.map +1 -0
  20. package/node_modules/@xrkseek/checkpoint/dist/store.js +312 -0
  21. package/node_modules/@xrkseek/checkpoint/dist/store.js.map +1 -0
  22. package/node_modules/@xrkseek/checkpoint/dist/types.d.ts +65 -0
  23. package/node_modules/@xrkseek/checkpoint/dist/types.d.ts.map +1 -0
  24. package/node_modules/@xrkseek/checkpoint/dist/types.js +18 -0
  25. package/node_modules/@xrkseek/checkpoint/dist/types.js.map +1 -0
  26. package/node_modules/@xrkseek/checkpoint/package.json +23 -0
  27. package/node_modules/@xrkseek/code-runtime/README.md +11 -4
  28. package/node_modules/@xrkseek/code-runtime/dist/index.d.ts +43 -3
  29. package/node_modules/@xrkseek/code-runtime/dist/index.d.ts.map +1 -1
  30. package/node_modules/@xrkseek/code-runtime/dist/index.js +209 -7
  31. package/node_modules/@xrkseek/code-runtime/dist/index.js.map +1 -1
  32. package/node_modules/@xrkseek/context-fragments/README.md +28 -0
  33. package/node_modules/@xrkseek/context-fragments/dist/index.d.ts +104 -0
  34. package/node_modules/@xrkseek/context-fragments/dist/index.d.ts.map +1 -0
  35. package/node_modules/@xrkseek/context-fragments/dist/index.js +192 -0
  36. package/node_modules/@xrkseek/context-fragments/dist/index.js.map +1 -0
  37. package/node_modules/@xrkseek/context-fragments/package.json +27 -0
  38. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts +1 -1
  39. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  40. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +7 -4
  41. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  42. package/node_modules/@xrkseek/core-agent-loop/dist/invariant.d.ts +11 -0
  43. package/node_modules/@xrkseek/core-agent-loop/dist/invariant.d.ts.map +1 -0
  44. package/node_modules/@xrkseek/core-agent-loop/dist/invariant.js +21 -0
  45. package/node_modules/@xrkseek/core-agent-loop/dist/invariant.js.map +1 -0
  46. package/node_modules/@xrkseek/core-agent-loop/dist/tool-result-bound.d.ts +7 -5
  47. package/node_modules/@xrkseek/core-agent-loop/dist/tool-result-bound.d.ts.map +1 -1
  48. package/node_modules/@xrkseek/core-agent-loop/dist/tool-result-bound.js +24 -109
  49. package/node_modules/@xrkseek/core-agent-loop/dist/tool-result-bound.js.map +1 -1
  50. package/node_modules/@xrkseek/core-agent-loop/package.json +7 -0
  51. package/node_modules/@xrkseek/core-session/README.md +3 -1
  52. package/node_modules/@xrkseek/core-session/dist/invariant.d.ts +18 -0
  53. package/node_modules/@xrkseek/core-session/dist/invariant.d.ts.map +1 -0
  54. package/node_modules/@xrkseek/core-session/dist/invariant.js +114 -0
  55. package/node_modules/@xrkseek/core-session/dist/invariant.js.map +1 -0
  56. package/node_modules/@xrkseek/core-session/dist/session-interchange.d.ts +2 -1
  57. package/node_modules/@xrkseek/core-session/dist/session-interchange.d.ts.map +1 -1
  58. package/node_modules/@xrkseek/core-session/dist/session-interchange.js +6 -1
  59. package/node_modules/@xrkseek/core-session/dist/session-interchange.js.map +1 -1
  60. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts.map +1 -1
  61. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js +37 -23
  62. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js.map +1 -1
  63. package/node_modules/@xrkseek/core-session/package.json +33 -26
  64. package/node_modules/@xrkseek/core-system-prompt/README.md +7 -7
  65. package/node_modules/@xrkseek/core-system-prompt/dist/index.d.ts +1 -1
  66. package/node_modules/@xrkseek/core-system-prompt/dist/index.d.ts.map +1 -1
  67. package/node_modules/@xrkseek/core-system-prompt/dist/index.js +1 -1
  68. package/node_modules/@xrkseek/core-system-prompt/dist/index.js.map +1 -1
  69. package/node_modules/@xrkseek/core-system-prompt/dist/three-layer.d.ts +55 -3
  70. package/node_modules/@xrkseek/core-system-prompt/dist/three-layer.d.ts.map +1 -1
  71. package/node_modules/@xrkseek/core-system-prompt/dist/three-layer.js +107 -11
  72. package/node_modules/@xrkseek/core-system-prompt/dist/three-layer.js.map +1 -1
  73. package/node_modules/@xrkseek/core-tools/dist/guards.d.ts +9 -1
  74. package/node_modules/@xrkseek/core-tools/dist/guards.d.ts.map +1 -1
  75. package/node_modules/@xrkseek/core-tools/dist/guards.js +53 -9
  76. package/node_modules/@xrkseek/core-tools/dist/guards.js.map +1 -1
  77. package/node_modules/@xrkseek/core-tools/dist/index.d.ts +2 -1
  78. package/node_modules/@xrkseek/core-tools/dist/index.d.ts.map +1 -1
  79. package/node_modules/@xrkseek/core-tools/dist/index.js +2 -1
  80. package/node_modules/@xrkseek/core-tools/dist/index.js.map +1 -1
  81. package/node_modules/@xrkseek/core-tools/dist/session-query-prompt.d.ts +5 -0
  82. package/node_modules/@xrkseek/core-tools/dist/session-query-prompt.d.ts.map +1 -0
  83. package/node_modules/@xrkseek/core-tools/dist/session-query-prompt.js +12 -0
  84. package/node_modules/@xrkseek/core-tools/dist/session-query-prompt.js.map +1 -0
  85. package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.d.ts.map +1 -1
  86. package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.js +6 -2
  87. package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.js.map +1 -1
  88. package/node_modules/@xrkseek/exec-computer-use/README.md +1 -1
  89. package/node_modules/@xrkseek/exec-computer-use/dist/format.d.ts.map +1 -1
  90. package/node_modules/@xrkseek/exec-computer-use/dist/format.js +7 -5
  91. package/node_modules/@xrkseek/exec-computer-use/dist/format.js.map +1 -1
  92. package/node_modules/@xrkseek/exec-computer-use/dist/index.d.ts +14 -3
  93. package/node_modules/@xrkseek/exec-computer-use/dist/index.d.ts.map +1 -1
  94. package/node_modules/@xrkseek/exec-computer-use/dist/index.js +22 -8
  95. package/node_modules/@xrkseek/exec-computer-use/dist/index.js.map +1 -1
  96. package/node_modules/@xrkseek/exec-computer-use/dist/keys.d.ts +10 -0
  97. package/node_modules/@xrkseek/exec-computer-use/dist/keys.d.ts.map +1 -0
  98. package/node_modules/@xrkseek/exec-computer-use/dist/keys.js +89 -0
  99. package/node_modules/@xrkseek/exec-computer-use/dist/keys.js.map +1 -0
  100. package/node_modules/@xrkseek/exec-computer-use/dist/tools.d.ts +3 -1
  101. package/node_modules/@xrkseek/exec-computer-use/dist/tools.d.ts.map +1 -1
  102. package/node_modules/@xrkseek/exec-computer-use/dist/tools.js +12 -8
  103. package/node_modules/@xrkseek/exec-computer-use/dist/tools.js.map +1 -1
  104. package/node_modules/@xrkseek/exec-computer-use/dist/windows-uia.d.ts.map +1 -1
  105. package/node_modules/@xrkseek/exec-computer-use/dist/windows-uia.js +138 -2
  106. package/node_modules/@xrkseek/exec-computer-use/dist/windows-uia.js.map +1 -1
  107. package/node_modules/@xrkseek/exec-fs/README.md +12 -9
  108. package/node_modules/@xrkseek/exec-fs/dist/apply-patch-apply.d.ts +32 -0
  109. package/node_modules/@xrkseek/exec-fs/dist/apply-patch-apply.d.ts.map +1 -0
  110. package/node_modules/@xrkseek/exec-fs/dist/apply-patch-apply.js +203 -0
  111. package/node_modules/@xrkseek/exec-fs/dist/apply-patch-apply.js.map +1 -0
  112. package/node_modules/@xrkseek/exec-fs/dist/apply-patch-parser.d.ts +52 -0
  113. package/node_modules/@xrkseek/exec-fs/dist/apply-patch-parser.d.ts.map +1 -0
  114. package/node_modules/@xrkseek/exec-fs/dist/apply-patch-parser.js +260 -0
  115. package/node_modules/@xrkseek/exec-fs/dist/apply-patch-parser.js.map +1 -0
  116. package/node_modules/@xrkseek/exec-fs/dist/apply-patch.d.ts +27 -0
  117. package/node_modules/@xrkseek/exec-fs/dist/apply-patch.d.ts.map +1 -0
  118. package/node_modules/@xrkseek/exec-fs/dist/apply-patch.js +69 -0
  119. package/node_modules/@xrkseek/exec-fs/dist/apply-patch.js.map +1 -0
  120. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts +6 -1
  121. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
  122. package/node_modules/@xrkseek/exec-fs/dist/index.js +72 -3
  123. package/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
  124. package/node_modules/@xrkseek/exec-fs/dist/present.d.ts +4 -0
  125. package/node_modules/@xrkseek/exec-fs/dist/present.d.ts.map +1 -1
  126. package/node_modules/@xrkseek/exec-fs/dist/present.js +25 -0
  127. package/node_modules/@xrkseek/exec-fs/dist/present.js.map +1 -1
  128. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.d.ts +1 -1
  129. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.d.ts.map +1 -1
  130. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js +10 -6
  131. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js.map +1 -1
  132. package/node_modules/@xrkseek/exec-image-gen/dist/index.d.ts +15 -2
  133. package/node_modules/@xrkseek/exec-image-gen/dist/index.d.ts.map +1 -1
  134. package/node_modules/@xrkseek/exec-image-gen/dist/index.js +14 -7
  135. package/node_modules/@xrkseek/exec-image-gen/dist/index.js.map +1 -1
  136. package/node_modules/@xrkseek/exec-image-gen/dist/tools.d.ts +6 -1
  137. package/node_modules/@xrkseek/exec-image-gen/dist/tools.d.ts.map +1 -1
  138. package/node_modules/@xrkseek/exec-image-gen/dist/tools.js +14 -8
  139. package/node_modules/@xrkseek/exec-image-gen/dist/tools.js.map +1 -1
  140. package/node_modules/@xrkseek/exec-memory/README.md +5 -3
  141. package/node_modules/@xrkseek/exec-memory/dist/http.d.ts +42 -0
  142. package/node_modules/@xrkseek/exec-memory/dist/http.d.ts.map +1 -0
  143. package/node_modules/@xrkseek/exec-memory/dist/http.js +232 -0
  144. package/node_modules/@xrkseek/exec-memory/dist/http.js.map +1 -0
  145. package/node_modules/@xrkseek/exec-memory/dist/index.d.ts +5 -2
  146. package/node_modules/@xrkseek/exec-memory/dist/index.d.ts.map +1 -1
  147. package/node_modules/@xrkseek/exec-memory/dist/index.js +3 -1
  148. package/node_modules/@xrkseek/exec-memory/dist/index.js.map +1 -1
  149. package/node_modules/@xrkseek/exec-memory/dist/provider.d.ts +19 -0
  150. package/node_modules/@xrkseek/exec-memory/dist/provider.d.ts.map +1 -0
  151. package/node_modules/@xrkseek/exec-memory/dist/provider.js +8 -0
  152. package/node_modules/@xrkseek/exec-memory/dist/provider.js.map +1 -0
  153. package/node_modules/@xrkseek/exec-memory/dist/resolve.d.ts +25 -0
  154. package/node_modules/@xrkseek/exec-memory/dist/resolve.d.ts.map +1 -0
  155. package/node_modules/@xrkseek/exec-memory/dist/resolve.js +46 -0
  156. package/node_modules/@xrkseek/exec-memory/dist/resolve.js.map +1 -0
  157. package/node_modules/@xrkseek/exec-memory/dist/store.d.ts +8 -4
  158. package/node_modules/@xrkseek/exec-memory/dist/store.d.ts.map +1 -1
  159. package/node_modules/@xrkseek/exec-memory/dist/store.js +6 -0
  160. package/node_modules/@xrkseek/exec-memory/dist/store.js.map +1 -1
  161. package/node_modules/@xrkseek/exec-memory/dist/tools.d.ts.map +1 -1
  162. package/node_modules/@xrkseek/exec-memory/dist/tools.js +12 -9
  163. package/node_modules/@xrkseek/exec-memory/dist/tools.js.map +1 -1
  164. package/node_modules/@xrkseek/exec-memory/dist/write-path.d.ts +17 -6
  165. package/node_modules/@xrkseek/exec-memory/dist/write-path.d.ts.map +1 -1
  166. package/node_modules/@xrkseek/exec-memory/dist/write-path.js +81 -20
  167. package/node_modules/@xrkseek/exec-memory/dist/write-path.js.map +1 -1
  168. package/node_modules/@xrkseek/exec-memory/package.json +1 -0
  169. package/node_modules/@xrkseek/exec-sandbox/dist/doctor.d.ts +24 -0
  170. package/node_modules/@xrkseek/exec-sandbox/dist/doctor.d.ts.map +1 -0
  171. package/node_modules/@xrkseek/exec-sandbox/dist/doctor.js +118 -0
  172. package/node_modules/@xrkseek/exec-sandbox/dist/doctor.js.map +1 -0
  173. package/node_modules/@xrkseek/exec-sandbox/dist/hardline.d.ts +24 -0
  174. package/node_modules/@xrkseek/exec-sandbox/dist/hardline.d.ts.map +1 -0
  175. package/node_modules/@xrkseek/exec-sandbox/dist/hardline.js +93 -0
  176. package/node_modules/@xrkseek/exec-sandbox/dist/hardline.js.map +1 -0
  177. package/node_modules/@xrkseek/exec-sandbox/dist/index.d.ts +3 -1
  178. package/node_modules/@xrkseek/exec-sandbox/dist/index.d.ts.map +1 -1
  179. package/node_modules/@xrkseek/exec-sandbox/dist/index.js +3 -1
  180. package/node_modules/@xrkseek/exec-sandbox/dist/index.js.map +1 -1
  181. package/node_modules/@xrkseek/exec-sandbox/dist/resolve.d.ts +17 -0
  182. package/node_modules/@xrkseek/exec-sandbox/dist/resolve.d.ts.map +1 -1
  183. package/node_modules/@xrkseek/exec-sandbox/dist/resolve.js +47 -5
  184. package/node_modules/@xrkseek/exec-sandbox/dist/resolve.js.map +1 -1
  185. package/node_modules/@xrkseek/exec-sandbox/dist/service.d.ts.map +1 -1
  186. package/node_modules/@xrkseek/exec-sandbox/dist/service.js +2 -5
  187. package/node_modules/@xrkseek/exec-sandbox/dist/service.js.map +1 -1
  188. package/node_modules/@xrkseek/exec-ssh/README.md +16 -16
  189. package/node_modules/@xrkseek/exec-ssh/dist/config.d.ts +10 -0
  190. package/node_modules/@xrkseek/exec-ssh/dist/config.d.ts.map +1 -1
  191. package/node_modules/@xrkseek/exec-ssh/dist/config.js +50 -0
  192. package/node_modules/@xrkseek/exec-ssh/dist/config.js.map +1 -1
  193. package/node_modules/@xrkseek/exec-ssh/dist/fs.d.ts +1 -1
  194. package/node_modules/@xrkseek/exec-ssh/dist/fs.d.ts.map +1 -1
  195. package/node_modules/@xrkseek/exec-ssh/dist/fs.js +18 -1
  196. package/node_modules/@xrkseek/exec-ssh/dist/fs.js.map +1 -1
  197. package/node_modules/@xrkseek/exec-ssh/dist/index.d.ts +1 -1
  198. package/node_modules/@xrkseek/exec-ssh/dist/index.d.ts.map +1 -1
  199. package/node_modules/@xrkseek/exec-ssh/dist/index.js +1 -1
  200. package/node_modules/@xrkseek/exec-ssh/dist/index.js.map +1 -1
  201. package/node_modules/@xrkseek/exec-video-gen/dist/index.d.ts +15 -2
  202. package/node_modules/@xrkseek/exec-video-gen/dist/index.d.ts.map +1 -1
  203. package/node_modules/@xrkseek/exec-video-gen/dist/index.js +14 -9
  204. package/node_modules/@xrkseek/exec-video-gen/dist/index.js.map +1 -1
  205. package/node_modules/@xrkseek/exec-video-gen/dist/tools.d.ts +6 -1
  206. package/node_modules/@xrkseek/exec-video-gen/dist/tools.d.ts.map +1 -1
  207. package/node_modules/@xrkseek/exec-video-gen/dist/tools.js +14 -10
  208. package/node_modules/@xrkseek/exec-video-gen/dist/tools.js.map +1 -1
  209. package/node_modules/@xrkseek/exec-voice/README.md +25 -25
  210. package/node_modules/@xrkseek/exec-voice/dist/index.d.ts +16 -3
  211. package/node_modules/@xrkseek/exec-voice/dist/index.d.ts.map +1 -1
  212. package/node_modules/@xrkseek/exec-voice/dist/index.js +14 -8
  213. package/node_modules/@xrkseek/exec-voice/dist/index.js.map +1 -1
  214. package/node_modules/@xrkseek/exec-voice/dist/readiness.d.ts +26 -0
  215. package/node_modules/@xrkseek/exec-voice/dist/readiness.d.ts.map +1 -0
  216. package/node_modules/@xrkseek/exec-voice/dist/readiness.js +69 -0
  217. package/node_modules/@xrkseek/exec-voice/dist/readiness.js.map +1 -0
  218. package/node_modules/@xrkseek/exec-voice/dist/tools.d.ts +4 -1
  219. package/node_modules/@xrkseek/exec-voice/dist/tools.d.ts.map +1 -1
  220. package/node_modules/@xrkseek/exec-voice/dist/tools.js +3 -14
  221. package/node_modules/@xrkseek/exec-voice/dist/tools.js.map +1 -1
  222. package/node_modules/@xrkseek/exec-web/README.md +11 -11
  223. package/node_modules/@xrkseek/exec-web/dist/browser-cdp.d.ts +22 -0
  224. package/node_modules/@xrkseek/exec-web/dist/browser-cdp.d.ts.map +1 -1
  225. package/node_modules/@xrkseek/exec-web/dist/browser-cdp.js +32 -1
  226. package/node_modules/@xrkseek/exec-web/dist/browser-cdp.js.map +1 -1
  227. package/node_modules/@xrkseek/exec-web/dist/browser-runtime-registry.d.ts +21 -0
  228. package/node_modules/@xrkseek/exec-web/dist/browser-runtime-registry.d.ts.map +1 -0
  229. package/node_modules/@xrkseek/exec-web/dist/browser-runtime-registry.js +52 -0
  230. package/node_modules/@xrkseek/exec-web/dist/browser-runtime-registry.js.map +1 -0
  231. package/node_modules/@xrkseek/exec-web/dist/browser-session.d.ts +2 -0
  232. package/node_modules/@xrkseek/exec-web/dist/browser-session.d.ts.map +1 -1
  233. package/node_modules/@xrkseek/exec-web/dist/browser-session.js +3 -0
  234. package/node_modules/@xrkseek/exec-web/dist/browser-session.js.map +1 -1
  235. package/node_modules/@xrkseek/exec-web/dist/browser-tools.d.ts +9 -0
  236. package/node_modules/@xrkseek/exec-web/dist/browser-tools.d.ts.map +1 -1
  237. package/node_modules/@xrkseek/exec-web/dist/browser-tools.js +34 -15
  238. package/node_modules/@xrkseek/exec-web/dist/browser-tools.js.map +1 -1
  239. package/node_modules/@xrkseek/exec-web/dist/fetch-http.d.ts +7 -0
  240. package/node_modules/@xrkseek/exec-web/dist/fetch-http.d.ts.map +1 -1
  241. package/node_modules/@xrkseek/exec-web/dist/fetch-http.js +8 -2
  242. package/node_modules/@xrkseek/exec-web/dist/fetch-http.js.map +1 -1
  243. package/node_modules/@xrkseek/exec-web/dist/format.d.ts.map +1 -1
  244. package/node_modules/@xrkseek/exec-web/dist/format.js +4 -3
  245. package/node_modules/@xrkseek/exec-web/dist/format.js.map +1 -1
  246. package/node_modules/@xrkseek/exec-web/dist/index.d.ts +4 -2
  247. package/node_modules/@xrkseek/exec-web/dist/index.d.ts.map +1 -1
  248. package/node_modules/@xrkseek/exec-web/dist/index.js +8 -3
  249. package/node_modules/@xrkseek/exec-web/dist/index.js.map +1 -1
  250. package/node_modules/@xrkseek/exec-web/dist/outbound-allowlist.d.ts +46 -0
  251. package/node_modules/@xrkseek/exec-web/dist/outbound-allowlist.d.ts.map +1 -0
  252. package/node_modules/@xrkseek/exec-web/dist/outbound-allowlist.js +144 -0
  253. package/node_modules/@xrkseek/exec-web/dist/outbound-allowlist.js.map +1 -0
  254. package/node_modules/@xrkseek/exec-web/dist/url-policy.d.ts +6 -1
  255. package/node_modules/@xrkseek/exec-web/dist/url-policy.d.ts.map +1 -1
  256. package/node_modules/@xrkseek/exec-web/dist/url-policy.js +5 -2
  257. package/node_modules/@xrkseek/exec-web/dist/url-policy.js.map +1 -1
  258. package/node_modules/@xrkseek/im-gateway-contract/README.md +50 -0
  259. package/node_modules/@xrkseek/im-gateway-contract/dist/index.d.ts +77 -0
  260. package/node_modules/@xrkseek/im-gateway-contract/dist/index.d.ts.map +1 -0
  261. package/node_modules/@xrkseek/im-gateway-contract/dist/index.js +120 -0
  262. package/node_modules/@xrkseek/im-gateway-contract/dist/index.js.map +1 -0
  263. package/node_modules/@xrkseek/im-gateway-contract/examples/mock-sidecar.mjs +124 -0
  264. package/node_modules/@xrkseek/im-gateway-contract/package.json +25 -0
  265. package/node_modules/@xrkseek/mcp/dist/index.d.ts +1 -0
  266. package/node_modules/@xrkseek/mcp/dist/index.d.ts.map +1 -1
  267. package/node_modules/@xrkseek/mcp/dist/index.js +1 -0
  268. package/node_modules/@xrkseek/mcp/dist/index.js.map +1 -1
  269. package/node_modules/@xrkseek/mcp/dist/oauth-product.d.ts +31 -0
  270. package/node_modules/@xrkseek/mcp/dist/oauth-product.d.ts.map +1 -0
  271. package/node_modules/@xrkseek/mcp/dist/oauth-product.js +72 -0
  272. package/node_modules/@xrkseek/mcp/dist/oauth-product.js.map +1 -0
  273. package/node_modules/@xrkseek/policy/README.md +18 -15
  274. package/node_modules/@xrkseek/policy/dist/index.d.ts +1 -0
  275. package/node_modules/@xrkseek/policy/dist/index.d.ts.map +1 -1
  276. package/node_modules/@xrkseek/policy/dist/index.js +1 -0
  277. package/node_modules/@xrkseek/policy/dist/index.js.map +1 -1
  278. package/node_modules/@xrkseek/policy/dist/permission-pre.d.ts.map +1 -1
  279. package/node_modules/@xrkseek/policy/dist/permission-pre.js +1 -0
  280. package/node_modules/@xrkseek/policy/dist/permission-pre.js.map +1 -1
  281. package/node_modules/@xrkseek/policy/dist/security-guidance.d.ts +50 -0
  282. package/node_modules/@xrkseek/policy/dist/security-guidance.d.ts.map +1 -0
  283. package/node_modules/@xrkseek/policy/dist/security-guidance.js +262 -0
  284. package/node_modules/@xrkseek/policy/dist/security-guidance.js.map +1 -0
  285. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts +81 -7
  286. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  287. package/node_modules/@xrkseek/preset-harness/dist/preset.js +307 -63
  288. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  289. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  290. package/node_modules/@xrkseek/preset-harness/package.json +53 -52
  291. package/node_modules/@xrkseek/preset-minimal/dist/preset.d.ts.map +1 -1
  292. package/node_modules/@xrkseek/preset-minimal/dist/preset.js +7 -2
  293. package/node_modules/@xrkseek/preset-minimal/dist/preset.js.map +1 -1
  294. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  295. package/node_modules/@xrkseek/preset-server/dist/preset.d.ts.map +1 -1
  296. package/node_modules/@xrkseek/preset-server/dist/preset.js +19 -1
  297. package/node_modules/@xrkseek/preset-server/dist/preset.js.map +1 -1
  298. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  299. package/node_modules/@xrkseek/protocol/dist/json-schema.d.ts.map +1 -1
  300. package/node_modules/@xrkseek/protocol/dist/json-schema.js +3 -0
  301. package/node_modules/@xrkseek/protocol/dist/json-schema.js.map +1 -1
  302. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts +18 -0
  303. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts.map +1 -1
  304. package/node_modules/@xrkseek/protocol/dist/session-events.js.map +1 -1
  305. package/node_modules/@xrkseek/protocol/dist/validate.d.ts.map +1 -1
  306. package/node_modules/@xrkseek/protocol/dist/validate.js +30 -0
  307. package/node_modules/@xrkseek/protocol/dist/validate.js.map +1 -1
  308. package/node_modules/@xrkseek/runtime-invariants/README.md +28 -0
  309. package/node_modules/@xrkseek/runtime-invariants/dist/index.d.ts +94 -0
  310. package/node_modules/@xrkseek/runtime-invariants/dist/index.d.ts.map +1 -0
  311. package/node_modules/@xrkseek/runtime-invariants/dist/index.js +163 -0
  312. package/node_modules/@xrkseek/runtime-invariants/dist/index.js.map +1 -0
  313. package/node_modules/@xrkseek/runtime-invariants/package.json +27 -0
  314. package/node_modules/@xrkseek/secrets/README.md +28 -0
  315. package/node_modules/@xrkseek/secrets/dist/index.d.ts +11 -0
  316. package/node_modules/@xrkseek/secrets/dist/index.d.ts.map +1 -0
  317. package/node_modules/@xrkseek/secrets/dist/index.js +23 -0
  318. package/node_modules/@xrkseek/secrets/dist/index.js.map +1 -0
  319. package/node_modules/@xrkseek/secrets/dist/keyring.d.ts +10 -0
  320. package/node_modules/@xrkseek/secrets/dist/keyring.d.ts.map +1 -0
  321. package/node_modules/@xrkseek/secrets/dist/keyring.js +77 -0
  322. package/node_modules/@xrkseek/secrets/dist/keyring.js.map +1 -0
  323. package/node_modules/@xrkseek/secrets/dist/memory.d.ts +4 -0
  324. package/node_modules/@xrkseek/secrets/dist/memory.d.ts.map +1 -0
  325. package/node_modules/@xrkseek/secrets/dist/memory.js +21 -0
  326. package/node_modules/@xrkseek/secrets/dist/memory.js.map +1 -0
  327. package/node_modules/@xrkseek/secrets/dist/redact.d.ts +23 -0
  328. package/node_modules/@xrkseek/secrets/dist/redact.d.ts.map +1 -0
  329. package/node_modules/@xrkseek/secrets/dist/redact.js +38 -0
  330. package/node_modules/@xrkseek/secrets/dist/redact.js.map +1 -0
  331. package/node_modules/@xrkseek/secrets/dist/resolve.d.ts +10 -0
  332. package/node_modules/@xrkseek/secrets/dist/resolve.d.ts.map +1 -0
  333. package/node_modules/@xrkseek/secrets/dist/resolve.js +24 -0
  334. package/node_modules/@xrkseek/secrets/dist/resolve.js.map +1 -0
  335. package/node_modules/@xrkseek/secrets/dist/types.d.ts +27 -0
  336. package/node_modules/@xrkseek/secrets/dist/types.d.ts.map +1 -0
  337. package/node_modules/@xrkseek/secrets/dist/types.js +15 -0
  338. package/node_modules/@xrkseek/secrets/dist/types.js.map +1 -0
  339. package/node_modules/@xrkseek/secrets/package.json +29 -0
  340. package/node_modules/@xrkseek/server-config/dist/index.d.ts +6 -0
  341. package/node_modules/@xrkseek/server-config/dist/index.d.ts.map +1 -1
  342. package/node_modules/@xrkseek/server-config/dist/index.js +12 -0
  343. package/node_modules/@xrkseek/server-config/dist/index.js.map +1 -1
  344. package/node_modules/@xrkseek/server-cron/README.md +1 -1
  345. package/node_modules/@xrkseek/server-cron/dist/index.d.ts +10 -1
  346. package/node_modules/@xrkseek/server-cron/dist/index.d.ts.map +1 -1
  347. package/node_modules/@xrkseek/server-cron/dist/index.js +9 -2
  348. package/node_modules/@xrkseek/server-cron/dist/index.js.map +1 -1
  349. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts.map +1 -1
  350. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js +6 -2
  351. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js.map +1 -1
  352. package/node_modules/@xrkseek/server-face/dist/agent-team-output.d.ts +34 -0
  353. package/node_modules/@xrkseek/server-face/dist/agent-team-output.d.ts.map +1 -0
  354. package/node_modules/@xrkseek/server-face/dist/agent-team-output.js +140 -0
  355. package/node_modules/@xrkseek/server-face/dist/agent-team-output.js.map +1 -0
  356. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.d.ts +13 -0
  357. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.d.ts.map +1 -0
  358. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js +67 -0
  359. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js.map +1 -0
  360. package/node_modules/@xrkseek/server-face/dist/agent-team-tasks.d.ts +79 -0
  361. package/node_modules/@xrkseek/server-face/dist/agent-team-tasks.d.ts.map +1 -0
  362. package/node_modules/@xrkseek/server-face/dist/agent-team-tasks.js +230 -0
  363. package/node_modules/@xrkseek/server-face/dist/agent-team-tasks.js.map +1 -0
  364. package/node_modules/@xrkseek/server-face/dist/approval-category.d.ts +25 -0
  365. package/node_modules/@xrkseek/server-face/dist/approval-category.d.ts.map +1 -0
  366. package/node_modules/@xrkseek/server-face/dist/approval-category.js +108 -0
  367. package/node_modules/@xrkseek/server-face/dist/approval-category.js.map +1 -0
  368. package/node_modules/@xrkseek/server-face/dist/approvals.d.ts +17 -0
  369. package/node_modules/@xrkseek/server-face/dist/approvals.d.ts.map +1 -1
  370. package/node_modules/@xrkseek/server-face/dist/approvals.js +50 -0
  371. package/node_modules/@xrkseek/server-face/dist/approvals.js.map +1 -1
  372. package/node_modules/@xrkseek/server-face/dist/context.d.ts +22 -0
  373. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  374. package/node_modules/@xrkseek/server-face/dist/cost-meter-store.d.ts.map +1 -1
  375. package/node_modules/@xrkseek/server-face/dist/cost-meter-store.js +22 -0
  376. package/node_modules/@xrkseek/server-face/dist/cost-meter-store.js.map +1 -1
  377. package/node_modules/@xrkseek/server-face/dist/dispatch.d.ts.map +1 -1
  378. package/node_modules/@xrkseek/server-face/dist/dispatch.js +14 -2
  379. package/node_modules/@xrkseek/server-face/dist/dispatch.js.map +1 -1
  380. package/node_modules/@xrkseek/server-face/dist/external-agent-runtime.d.ts +87 -2
  381. package/node_modules/@xrkseek/server-face/dist/external-agent-runtime.d.ts.map +1 -1
  382. package/node_modules/@xrkseek/server-face/dist/external-agent-runtime.js +456 -32
  383. package/node_modules/@xrkseek/server-face/dist/external-agent-runtime.js.map +1 -1
  384. package/node_modules/@xrkseek/server-face/dist/goal-round-driver.d.ts +48 -0
  385. package/node_modules/@xrkseek/server-face/dist/goal-round-driver.d.ts.map +1 -0
  386. package/node_modules/@xrkseek/server-face/dist/goal-round-driver.js +69 -0
  387. package/node_modules/@xrkseek/server-face/dist/goal-round-driver.js.map +1 -0
  388. package/node_modules/@xrkseek/server-face/dist/goal-store.d.ts +6 -1
  389. package/node_modules/@xrkseek/server-face/dist/goal-store.d.ts.map +1 -1
  390. package/node_modules/@xrkseek/server-face/dist/goal-store.js +45 -9
  391. package/node_modules/@xrkseek/server-face/dist/goal-store.js.map +1 -1
  392. package/node_modules/@xrkseek/server-face/dist/goal-tools.d.ts +13 -0
  393. package/node_modules/@xrkseek/server-face/dist/goal-tools.d.ts.map +1 -0
  394. package/node_modules/@xrkseek/server-face/dist/goal-tools.js +131 -0
  395. package/node_modules/@xrkseek/server-face/dist/goal-tools.js.map +1 -0
  396. package/node_modules/@xrkseek/server-face/dist/handlers/checkpoint.d.ts +10 -0
  397. package/node_modules/@xrkseek/server-face/dist/handlers/checkpoint.d.ts.map +1 -0
  398. package/node_modules/@xrkseek/server-face/dist/handlers/checkpoint.js +156 -0
  399. package/node_modules/@xrkseek/server-face/dist/handlers/checkpoint.js.map +1 -0
  400. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts +7 -0
  401. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  402. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +88 -2
  403. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  404. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.d.ts.map +1 -1
  405. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js +62 -3
  406. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js.map +1 -1
  407. package/node_modules/@xrkseek/server-face/dist/index.d.ts +19 -5
  408. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  409. package/node_modules/@xrkseek/server-face/dist/index.js +18 -4
  410. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  411. package/node_modules/@xrkseek/server-face/dist/managed-worktree.d.ts +115 -0
  412. package/node_modules/@xrkseek/server-face/dist/managed-worktree.d.ts.map +1 -0
  413. package/node_modules/@xrkseek/server-face/dist/managed-worktree.js +330 -0
  414. package/node_modules/@xrkseek/server-face/dist/managed-worktree.js.map +1 -0
  415. package/node_modules/@xrkseek/server-face/dist/mcp-oauth.d.ts +33 -0
  416. package/node_modules/@xrkseek/server-face/dist/mcp-oauth.d.ts.map +1 -0
  417. package/node_modules/@xrkseek/server-face/dist/mcp-oauth.js +352 -0
  418. package/node_modules/@xrkseek/server-face/dist/mcp-oauth.js.map +1 -0
  419. package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts +1 -1
  420. package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts.map +1 -1
  421. package/node_modules/@xrkseek/server-face/dist/projections/index.js.map +1 -1
  422. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.d.ts +15 -1
  423. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.d.ts.map +1 -1
  424. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.js +26 -2
  425. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.js.map +1 -1
  426. package/node_modules/@xrkseek/server-face/dist/propose-skill.d.ts +20 -0
  427. package/node_modules/@xrkseek/server-face/dist/propose-skill.d.ts.map +1 -0
  428. package/node_modules/@xrkseek/server-face/dist/propose-skill.js +65 -0
  429. package/node_modules/@xrkseek/server-face/dist/propose-skill.js.map +1 -0
  430. package/node_modules/@xrkseek/server-face/dist/ralph-tool.d.ts +33 -0
  431. package/node_modules/@xrkseek/server-face/dist/ralph-tool.d.ts.map +1 -0
  432. package/node_modules/@xrkseek/server-face/dist/ralph-tool.js +366 -0
  433. package/node_modules/@xrkseek/server-face/dist/ralph-tool.js.map +1 -0
  434. package/node_modules/@xrkseek/server-face/dist/reference-discovery.d.ts.map +1 -1
  435. package/node_modules/@xrkseek/server-face/dist/reference-discovery.js +1 -0
  436. package/node_modules/@xrkseek/server-face/dist/reference-discovery.js.map +1 -1
  437. package/node_modules/@xrkseek/server-face/dist/rollout-trace.d.ts +58 -0
  438. package/node_modules/@xrkseek/server-face/dist/rollout-trace.d.ts.map +1 -0
  439. package/node_modules/@xrkseek/server-face/dist/rollout-trace.js +194 -0
  440. package/node_modules/@xrkseek/server-face/dist/rollout-trace.js.map +1 -0
  441. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts +7 -0
  442. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  443. package/node_modules/@xrkseek/server-face/dist/runtime.js +93 -4
  444. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  445. package/node_modules/@xrkseek/server-face/dist/session-export.d.ts.map +1 -1
  446. package/node_modules/@xrkseek/server-face/dist/session-export.js +74 -0
  447. package/node_modules/@xrkseek/server-face/dist/session-export.js.map +1 -1
  448. package/node_modules/@xrkseek/server-face/dist/session-query-tools.d.ts +23 -0
  449. package/node_modules/@xrkseek/server-face/dist/session-query-tools.d.ts.map +1 -0
  450. package/node_modules/@xrkseek/server-face/dist/session-query-tools.js +275 -0
  451. package/node_modules/@xrkseek/server-face/dist/session-query-tools.js.map +1 -0
  452. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts +209 -0
  453. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -0
  454. package/node_modules/@xrkseek/server-face/dist/session-status.js +559 -0
  455. package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -0
  456. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts +2 -0
  457. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts.map +1 -1
  458. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js +67 -0
  459. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js.map +1 -1
  460. package/node_modules/@xrkseek/server-face/dist/settings-document.d.ts +5 -0
  461. package/node_modules/@xrkseek/server-face/dist/settings-document.d.ts.map +1 -1
  462. package/node_modules/@xrkseek/server-face/dist/settings-document.js +69 -0
  463. package/node_modules/@xrkseek/server-face/dist/settings-document.js.map +1 -1
  464. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  465. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +220 -1
  466. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  467. package/node_modules/@xrkseek/server-face/dist/slash.d.ts.map +1 -1
  468. package/node_modules/@xrkseek/server-face/dist/slash.js +70 -16
  469. package/node_modules/@xrkseek/server-face/dist/slash.js.map +1 -1
  470. package/node_modules/@xrkseek/server-face/dist/subagent-registry.d.ts +4 -0
  471. package/node_modules/@xrkseek/server-face/dist/subagent-registry.d.ts.map +1 -1
  472. package/node_modules/@xrkseek/server-face/dist/subagent-registry.js +4 -0
  473. package/node_modules/@xrkseek/server-face/dist/subagent-registry.js.map +1 -1
  474. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts +14 -1
  475. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  476. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +614 -62
  477. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  478. package/node_modules/@xrkseek/server-face/dist/subagent-worktree.d.ts.map +1 -1
  479. package/node_modules/@xrkseek/server-face/dist/subagent-worktree.js +7 -2
  480. package/node_modules/@xrkseek/server-face/dist/subagent-worktree.js.map +1 -1
  481. package/node_modules/@xrkseek/server-face/dist/types.d.ts +4 -0
  482. package/node_modules/@xrkseek/server-face/dist/types.d.ts.map +1 -1
  483. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.d.ts.map +1 -1
  484. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.js +11 -0
  485. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.js.map +1 -1
  486. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.d.ts +40 -0
  487. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.d.ts.map +1 -0
  488. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.js +154 -0
  489. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.js.map +1 -0
  490. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts +1 -0
  491. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts.map +1 -1
  492. package/node_modules/@xrkseek/server-face/dist/workspace-face.js +25 -0
  493. package/node_modules/@xrkseek/server-face/dist/workspace-face.js.map +1 -1
  494. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts +11 -0
  495. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts.map +1 -1
  496. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js +14 -4
  497. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js.map +1 -1
  498. package/node_modules/@xrkseek/server-face/package.json +3 -0
  499. package/node_modules/@xrkseek/server-host/dist/index.d.ts +61 -0
  500. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  501. package/node_modules/@xrkseek/server-host/dist/index.js +376 -10
  502. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  503. package/node_modules/@xrkseek/server-host/dist/invariants-fail-fast.d.ts +16 -0
  504. package/node_modules/@xrkseek/server-host/dist/invariants-fail-fast.d.ts.map +1 -0
  505. package/node_modules/@xrkseek/server-host/dist/invariants-fail-fast.js +24 -0
  506. package/node_modules/@xrkseek/server-host/dist/invariants-fail-fast.js.map +1 -0
  507. package/node_modules/@xrkseek/server-host/dist/standing-tools.d.ts.map +1 -1
  508. package/node_modules/@xrkseek/server-host/dist/standing-tools.js +4 -1
  509. package/node_modules/@xrkseek/server-host/dist/standing-tools.js.map +1 -1
  510. package/node_modules/@xrkseek/server-host/package.json +10 -0
  511. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.d.ts.map +1 -1
  512. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.js +10 -4
  513. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.js.map +1 -1
  514. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts +17 -0
  515. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts.map +1 -1
  516. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.d.ts +8 -0
  517. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.d.ts.map +1 -1
  518. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.js +20 -5
  519. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.js.map +1 -1
  520. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-http.js +1 -1
  521. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-http.js.map +1 -1
  522. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js +2 -2
  523. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js.map +1 -1
  524. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-gateway-sidecar.d.ts +5 -17
  525. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-gateway-sidecar.d.ts.map +1 -1
  526. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-gateway-sidecar.js +50 -49
  527. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-gateway-sidecar.js.map +1 -1
  528. package/node_modules/@xrkseek/server-http/dist/dsh-compat/memory-embeddings.d.ts +14 -4
  529. package/node_modules/@xrkseek/server-http/dist/dsh-compat/memory-embeddings.d.ts.map +1 -1
  530. package/node_modules/@xrkseek/server-http/dist/dsh-compat/memory-embeddings.js +30 -14
  531. package/node_modules/@xrkseek/server-http/dist/dsh-compat/memory-embeddings.js.map +1 -1
  532. package/node_modules/@xrkseek/server-http/dist/dsh-compat/noema.d.ts +3 -0
  533. package/node_modules/@xrkseek/server-http/dist/dsh-compat/noema.d.ts.map +1 -1
  534. package/node_modules/@xrkseek/server-http/dist/dsh-compat/noema.js +5 -5
  535. package/node_modules/@xrkseek/server-http/dist/dsh-compat/noema.js.map +1 -1
  536. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.d.ts +5 -0
  537. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.d.ts.map +1 -1
  538. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.js +1 -0
  539. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.js.map +1 -1
  540. package/node_modules/@xrkseek/server-http/package.json +1 -0
  541. package/node_modules/@xrkseek/server-loader/dist/index.d.ts +1 -1
  542. package/node_modules/@xrkseek/server-loader/dist/index.d.ts.map +1 -1
  543. package/node_modules/@xrkseek/server-loader/dist/index.js +1 -1
  544. package/node_modules/@xrkseek/server-loader/dist/index.js.map +1 -1
  545. package/node_modules/@xrkseek/server-loader/dist/shell-hooks.d.ts +75 -3
  546. package/node_modules/@xrkseek/server-loader/dist/shell-hooks.d.ts.map +1 -1
  547. package/node_modules/@xrkseek/server-loader/dist/shell-hooks.js +415 -46
  548. package/node_modules/@xrkseek/server-loader/dist/shell-hooks.js.map +1 -1
  549. package/node_modules/@xrkseek/session-format/README.md +20 -0
  550. package/node_modules/@xrkseek/session-format/dist/catalog.d.ts +27 -0
  551. package/node_modules/@xrkseek/session-format/dist/catalog.d.ts.map +1 -0
  552. package/node_modules/@xrkseek/session-format/dist/catalog.js +36 -0
  553. package/node_modules/@xrkseek/session-format/dist/catalog.js.map +1 -0
  554. package/node_modules/@xrkseek/session-format/dist/chain.d.ts +38 -0
  555. package/node_modules/@xrkseek/session-format/dist/chain.d.ts.map +1 -0
  556. package/node_modules/@xrkseek/session-format/dist/chain.js +86 -0
  557. package/node_modules/@xrkseek/session-format/dist/chain.js.map +1 -0
  558. package/node_modules/@xrkseek/session-format/dist/detect.d.ts +29 -0
  559. package/node_modules/@xrkseek/session-format/dist/detect.d.ts.map +1 -0
  560. package/node_modules/@xrkseek/session-format/dist/detect.js +68 -0
  561. package/node_modules/@xrkseek/session-format/dist/detect.js.map +1 -0
  562. package/node_modules/@xrkseek/session-format/dist/index.d.ts +12 -0
  563. package/node_modules/@xrkseek/session-format/dist/index.d.ts.map +1 -0
  564. package/node_modules/@xrkseek/session-format/dist/index.js +12 -0
  565. package/node_modules/@xrkseek/session-format/dist/index.js.map +1 -0
  566. package/node_modules/@xrkseek/session-format/dist/interchange-version.d.ts +6 -0
  567. package/node_modules/@xrkseek/session-format/dist/interchange-version.d.ts.map +1 -0
  568. package/node_modules/@xrkseek/session-format/dist/interchange-version.js +6 -0
  569. package/node_modules/@xrkseek/session-format/dist/interchange-version.js.map +1 -0
  570. package/node_modules/@xrkseek/session-format/dist/sqlite-schema.d.ts +31 -0
  571. package/node_modules/@xrkseek/session-format/dist/sqlite-schema.d.ts.map +1 -0
  572. package/node_modules/@xrkseek/session-format/dist/sqlite-schema.js +52 -0
  573. package/node_modules/@xrkseek/session-format/dist/sqlite-schema.js.map +1 -0
  574. package/node_modules/@xrkseek/session-format/package.json +24 -0
  575. package/node_modules/@xrkseek/session-telemetry/dist/index.d.ts +18 -4
  576. package/node_modules/@xrkseek/session-telemetry/dist/index.d.ts.map +1 -1
  577. package/node_modules/@xrkseek/session-telemetry/dist/index.js +97 -36
  578. package/node_modules/@xrkseek/session-telemetry/dist/index.js.map +1 -1
  579. package/node_modules/@xrkseek/spill/README.md +27 -0
  580. package/node_modules/@xrkseek/spill/dist/index.d.ts +11 -0
  581. package/node_modules/@xrkseek/spill/dist/index.d.ts.map +1 -0
  582. package/node_modules/@xrkseek/spill/dist/index.js +11 -0
  583. package/node_modules/@xrkseek/spill/dist/index.js.map +1 -0
  584. package/node_modules/@xrkseek/spill/dist/local-store.d.ts +30 -0
  585. package/node_modules/@xrkseek/spill/dist/local-store.d.ts.map +1 -0
  586. package/node_modules/@xrkseek/spill/dist/local-store.js +73 -0
  587. package/node_modules/@xrkseek/spill/dist/local-store.js.map +1 -0
  588. package/node_modules/@xrkseek/spill/dist/policy.d.ts +59 -0
  589. package/node_modules/@xrkseek/spill/dist/policy.d.ts.map +1 -0
  590. package/node_modules/@xrkseek/spill/dist/policy.js +143 -0
  591. package/node_modules/@xrkseek/spill/dist/policy.js.map +1 -0
  592. package/node_modules/@xrkseek/spill/dist/types.d.ts +46 -0
  593. package/node_modules/@xrkseek/spill/dist/types.d.ts.map +1 -0
  594. package/node_modules/@xrkseek/spill/dist/types.js +8 -0
  595. package/node_modules/@xrkseek/spill/dist/types.js.map +1 -0
  596. package/node_modules/@xrkseek/spill/package.json +27 -0
  597. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.d.ts.map +1 -1
  598. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.js +2 -0
  599. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.js.map +1 -1
  600. package/node_modules/@xrkseek/workspace/dist/index.d.ts +1 -0
  601. package/node_modules/@xrkseek/workspace/dist/index.d.ts.map +1 -1
  602. package/node_modules/@xrkseek/workspace/dist/index.js +1 -0
  603. package/node_modules/@xrkseek/workspace/dist/index.js.map +1 -1
  604. package/node_modules/@xrkseek/workspace/dist/skill-propose.d.ts +71 -0
  605. package/node_modules/@xrkseek/workspace/dist/skill-propose.d.ts.map +1 -0
  606. package/node_modules/@xrkseek/workspace/dist/skill-propose.js +259 -0
  607. package/node_modules/@xrkseek/workspace/dist/skill-propose.js.map +1 -0
  608. package/node_modules/@xrkseek/xrk-file-reference-local/README.md +46 -45
  609. package/node_modules/@xrkseek/xrk-file-reference-local/README.zh.md +46 -45
  610. package/node_modules/@xrkseek/xrk-file-reference-local/dist/gitignore.d.ts +37 -0
  611. package/node_modules/@xrkseek/xrk-file-reference-local/dist/gitignore.d.ts.map +1 -0
  612. package/node_modules/@xrkseek/xrk-file-reference-local/dist/gitignore.js +91 -0
  613. package/node_modules/@xrkseek/xrk-file-reference-local/dist/gitignore.js.map +1 -0
  614. package/node_modules/@xrkseek/xrk-file-reference-local/dist/search.d.ts +7 -0
  615. package/node_modules/@xrkseek/xrk-file-reference-local/dist/search.d.ts.map +1 -1
  616. package/node_modules/@xrkseek/xrk-file-reference-local/dist/search.js +46 -4
  617. package/node_modules/@xrkseek/xrk-file-reference-local/dist/search.js.map +1 -1
  618. package/node_modules/@xrkseek/xrk-file-reference-local/package.json +30 -29
  619. package/node_modules/ignore/LICENSE-MIT +21 -0
  620. package/node_modules/ignore/README.md +452 -0
  621. package/node_modules/ignore/index.d.ts +81 -0
  622. package/node_modules/ignore/index.js +793 -0
  623. package/node_modules/ignore/legacy.js +690 -0
  624. package/node_modules/ignore/package.json +87 -0
  625. package/package.json +17 -1
@@ -1,12 +1,16 @@
1
1
  import { createLocalAttachmentStore, resolveLocalAttachmentsRoot } from "@xrkseek/attachment-local";
2
- import { createMemorySessionStore, createPersistentSessionStore, createSessionDrainHub, newSession, SessionsDirInUseError, } from "@xrkseek/core-session";
2
+ import { createMemorySessionStore, createPersistentSessionStore, createSessionDrainHub, newSession, readSessionEvents, SessionsDirInUseError, } from "@xrkseek/core-session";
3
3
  import { createProviderRegistry } from "@xrkseek/llm-registry";
4
4
  import { loadPolicyRulesetFile } from "@xrkseek/policy";
5
+ import { flattenText, isHumanUserMessageSource } from "@xrkseek/protocol";
6
+ import { consolidateCuratedMemoryPhase1, createCuratedMemoryStore, } from "@xrkseek/exec-memory";
7
+ import { resolveSecretStore } from "@xrkseek/secrets";
5
8
  import { hostSettingsPath, defaultSpillDir, resolveXrkHome } from "@xrkseek/server-config";
6
9
  import { installOutboundHttpProxy } from "./http-proxy.js";
10
+ import { mountInvariantsFailFast } from "./invariants-fail-fast.js";
7
11
  import { watchPolicyFile } from "./policy-file-watch.js";
8
12
  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";
9
- import { attachFaceUpgrades, bindSubagentTools, createFaceRuntime, effectiveHostApiKey, isLoopbackAddress, publishRemoteEvent, createSessionRoutingLlm, liveRouteAllowsImageInput, resolveSessionCwd, canonicalAgentPresetId, resolveAgentPresetProfile, DEFAULT_MAX_DEPTH, DEFAULT_MAX_ACTIVE_CHILDREN, tryHandleFaceHttp, isPluginSoftDisabledAt, readDisabledPluginIdsAt, readManagedPackageIndexAt, reconcileManagedProcessPlugins, } from "@xrkseek/server-face";
13
+ import { attachFaceUpgrades, bindSubagentTools, bindSessionQueryTools, createFaceRuntime, effectiveHostApiKey, isLoopbackAddress, peekSettingsYamlSection, publishRemoteEvent, createSessionRoutingLlm, liveRouteAllowsImageInput, resolveSessionCwd, canonicalAgentPresetId, resolveAgentPresetProfile, DEFAULT_MAX_DEPTH, DEFAULT_MAX_ACTIVE_CHILDREN, tryHandleFaceHttp, isPluginSoftDisabledAt, readDisabledPluginIdsAt, readManagedPackageIndexAt, reconcileManagedProcessPlugins, snapshotSessionWorkspace, } from "@xrkseek/server-face";
10
14
  import { createPluginLoader, composeHostPolicyEngine, wireCompositionChannels, wireCompositionLlm, collectChannelPluginRegistrations, } from "@xrkseek/server-loader";
11
15
  import { existsSync } from "node:fs";
12
16
  import { access } from "node:fs/promises";
@@ -31,8 +35,9 @@ import { createMcpDeferredDispose } from "./mcp-deferred-dispose.js";
31
35
  import { createStandingToolRegistry } from "./standing-tools.js";
32
36
  import { createDefaultPtyAccess } from "@xrkseek/exec-pty";
33
37
  import { createLocalShell } from "@xrkseek/exec-shell";
38
+ import { createBrowserRuntimeRegistry } from "@xrkseek/exec-web";
34
39
  import { createLocalSubprocess } from "@xrkseek/exec-subprocess";
35
- import { createSshExecutionWorld, resolveSshConfigFromEnv, } from "@xrkseek/exec-ssh";
40
+ import { createSshExecutionWorld, resolveSshConfig, } from "@xrkseek/exec-ssh";
36
41
  /** True while an unattended cron agent turn is running — skip cron tools to avoid recursion. */
37
42
  const cronAgentDepth = new AsyncLocalStorage();
38
43
  export { createHostAgentCache, HOST_PLUGINS_KEY } from "./agent-cache.js";
@@ -118,6 +123,13 @@ export function createHostManager() {
118
123
  }
119
124
  throw err;
120
125
  }
126
+ let invariantsRegistry;
127
+ if (config.runtime.invariantsFailFast) {
128
+ const mounted = mountInvariantsFailFast(store);
129
+ store = mounted.store;
130
+ invariantsRegistry = mounted.registry;
131
+ log?.info("runtime invariants fail-fast enabled (XRK_INVARIANTS_FAIL_FAST)");
132
+ }
121
133
  const loader = createPluginLoader();
122
134
  const registry = createProviderRegistry();
123
135
  // Face / mutate / soft-disable always share this absolute path. Config may
@@ -285,11 +297,14 @@ export function createHostManager() {
285
297
  let mcpSyncTail = Promise.resolve();
286
298
  const lastDrainResult = new Map();
287
299
  // Local Host + remote cwd: swap fs/shell (Hermes/DSH provider pattern).
300
+ // Env `XRK_SSH_HOST` CI-bypasses Face; else peek settings.yaml before Face
301
+ // (SSH world must own workspaceRoot before createFaceRuntime).
288
302
  let sshWorld;
289
303
  /** Local Host cwd before SSH workspace swap (browse/settings anchor). */
290
304
  let localHostRoot;
291
305
  try {
292
- const sshConfig = resolveSshConfigFromEnv(process.env);
306
+ const sshProduct = peekSettingsYamlSection(resolveXrkHome(), "ssh-remote");
307
+ const sshConfig = resolveSshConfig(process.env, sshProduct);
293
308
  if (sshConfig) {
294
309
  localHostRoot = config.runtime.workspaceRoot;
295
310
  sshWorld = createSshExecutionWorld({ config: sshConfig });
@@ -317,8 +332,45 @@ export function createHostManager() {
317
332
  defaultCwd: config.runtime.workspaceRoot,
318
333
  })
319
334
  : undefined;
335
+ /** Session-keyed browser pages — survives agent invalidate (Hermes task_id map). */
336
+ const sharedBrowser = config.runtime.preset === "harness" || config.runtime.preset === "server"
337
+ ? createBrowserRuntimeRegistry()
338
+ : undefined;
320
339
  const ensureSession = (sid) => newSession(store, sid).id;
321
340
  const faceBox = {};
341
+ /** Session-end Phase1: fold leftover human notes into MEMORY.md (disk only). */
342
+ const consolidateCuratedMemoryForSession = (sessionId) => {
343
+ try {
344
+ const rt = faceBox.runtime;
345
+ const memEnvRaw = String(process.env.XRK_CURATED_MEMORY ?? "").trim();
346
+ let enabled = memEnvRaw !== "" ? memEnvRaw !== "0" : true;
347
+ if (memEnvRaw === "" && rt) {
348
+ const memNs = rt.settingsNamespaces.view("curated-memory")
349
+ .value;
350
+ enabled = memNs.enabled !== false;
351
+ }
352
+ if (!enabled)
353
+ return;
354
+ const userTexts = [];
355
+ for (const event of readSessionEvents(store, sessionId)) {
356
+ if (event.type !== "user/message")
357
+ continue;
358
+ if (!isHumanUserMessageSource(event.source))
359
+ continue;
360
+ const text = flattenText(event.content).trim();
361
+ if (text)
362
+ userTexts.push(text);
363
+ }
364
+ if (userTexts.length === 0)
365
+ return;
366
+ void consolidateCuratedMemoryPhase1(createCuratedMemoryStore(), {
367
+ userTexts,
368
+ });
369
+ }
370
+ catch {
371
+ /* best-effort — Host stop / archive must continue */
372
+ }
373
+ };
322
374
  const llmResolverBox = {};
323
375
  const pluginSettingsBox = {};
324
376
  const sessionCwdBox = {};
@@ -367,6 +419,7 @@ export function createHostManager() {
367
419
  resolveFilePath: (ref) => attachments.fileHostPath?.(ref),
368
420
  ...(sharedPty ? { ptyService: sharedPty.service } : {}),
369
421
  ...(sharedShell ? { shellJobs: sharedShell } : {}),
422
+ ...(sharedBrowser ? { browserRuntime: sharedBrowser } : {}),
370
423
  ...(cronBox.scheduler && !cronAgentDepth.getStore()
371
424
  ? { cronScheduler: cronBox.scheduler }
372
425
  : {}),
@@ -406,12 +459,51 @@ export function createHostManager() {
406
459
  toolResultMaxInlineBytes: pluginSettings.toolResultMaxInlineBytes,
407
460
  }
408
461
  : {}),
462
+ ...(pluginSettings.locale
463
+ ? { locale: pluginSettings.locale }
464
+ : {}),
409
465
  ...(pluginSettings.webSearch
410
466
  ? { webSearch: pluginSettings.webSearch }
411
467
  : {}),
412
468
  ...(pluginSettings.workspaceInject
413
469
  ? { workspaceInject: pluginSettings.workspaceInject }
414
470
  : {}),
471
+ ...(pluginSettings.sessionTelemetry
472
+ ? { sessionTelemetry: pluginSettings.sessionTelemetry }
473
+ : {}),
474
+ ...(pluginSettings.sandbox
475
+ ? { sandbox: pluginSettings.sandbox }
476
+ : {}),
477
+ ...(pluginSettings.computerUseProduct
478
+ ? { computerUseProduct: pluginSettings.computerUseProduct }
479
+ : {}),
480
+ ...(pluginSettings.computerUseEnv
481
+ ? { computerUseEnv: pluginSettings.computerUseEnv }
482
+ : {}),
483
+ ...(pluginSettings.browserProduct
484
+ ? { browserProduct: pluginSettings.browserProduct }
485
+ : {}),
486
+ ...(pluginSettings.voiceProduct
487
+ ? { voiceProduct: pluginSettings.voiceProduct }
488
+ : {}),
489
+ ...(pluginSettings.voiceEnv
490
+ ? { voiceEnv: pluginSettings.voiceEnv }
491
+ : {}),
492
+ ...(pluginSettings.imageGenProduct
493
+ ? { imageGenProduct: pluginSettings.imageGenProduct }
494
+ : {}),
495
+ ...(pluginSettings.imageGenEnv
496
+ ? { imageGenEnv: pluginSettings.imageGenEnv }
497
+ : {}),
498
+ ...(pluginSettings.videoGenProduct
499
+ ? { videoGenProduct: pluginSettings.videoGenProduct }
500
+ : {}),
501
+ ...(pluginSettings.videoGenEnv
502
+ ? { videoGenEnv: pluginSettings.videoGenEnv }
503
+ : {}),
504
+ ...(pluginSettings.curatedMemory === false
505
+ ? { curatedMemory: false }
506
+ : {}),
415
507
  });
416
508
  if (faceBox.approvals) {
417
509
  agent.setApprovalHandler(faceBox.approvals.handlerFor(sessionId));
@@ -438,6 +530,10 @@ export function createHostManager() {
438
530
  maxActiveChildren,
439
531
  });
440
532
  }
533
+ bindSessionQueryTools(agent.tools, {
534
+ runtime: faceBox.runtime,
535
+ parentSessionId: sessionId,
536
+ });
441
537
  const prefs = loadSidebarPrefs(resolveXrkHome()).value;
442
538
  if (prefs.agentOpenTools === true ||
443
539
  prefs.agentTerminalTools === true) {
@@ -482,6 +578,12 @@ export function createHostManager() {
482
578
  if (signal.aborted) {
483
579
  throw new DOMException("aborted", "AbortError");
484
580
  }
581
+ // Worktree snapshot before tools mutate files (Hermes-style
582
+ // checkpoint). Best-effort — never blocks the turn.
583
+ const face = faceBox.runtime;
584
+ if (face) {
585
+ await snapshotSessionWorkspace(face, sessionId);
586
+ }
485
587
  const result = await agent.continueTurn({ signal });
486
588
  lastDrainResult.set(sessionId, result);
487
589
  }
@@ -510,7 +612,7 @@ export function createHostManager() {
510
612
  }, lastDrainResult);
511
613
  drainActiveBox.isActive = (sessionId) => drain.isActive(sessionId);
512
614
  drainActiveBox.activeIds = () => hub.activeIds();
513
- cronBox.scheduler = createHostCron({
615
+ const cronHostOptions = {
514
616
  productHome: resolveXrkHome(),
515
617
  workspaceRoot: config.runtime.workspaceRoot,
516
618
  runAgent: async (job, signal) => {
@@ -539,11 +641,33 @@ export function createHostManager() {
539
641
  onError: (err) => {
540
642
  log?.warn(`cron: ${err instanceof Error ? err.message : String(err)}`);
541
643
  },
542
- });
543
- cronBox.scheduler?.start();
544
- if (cronBox.scheduler) {
644
+ };
645
+ /**
646
+ * Face `cron.enabled` SoT when `XRK_CRON` unset; env non-empty is CI bypass.
647
+ * Returns whether the scheduler presence changed (tools need invalidate).
648
+ */
649
+ const applyCronScheduler = (product) => {
650
+ const next = createHostCron({
651
+ ...cronHostOptions,
652
+ ...(product ? { product } : {}),
653
+ });
654
+ if (!next) {
655
+ if (!cronBox.scheduler)
656
+ return false;
657
+ cronBox.scheduler.stop();
658
+ cronBox.scheduler = undefined;
659
+ log?.info("cron ticker stopped");
660
+ return true;
661
+ }
662
+ if (cronBox.scheduler)
663
+ return false;
664
+ cronBox.scheduler = next;
665
+ next.start();
545
666
  log?.info("cron ticker started (~/.xrk/cron/jobs.json)");
546
- }
667
+ return true;
668
+ };
669
+ // Env-only until Face is ready; re-applied below with Settings product.
670
+ applyCronScheduler();
547
671
  const webOverlay = await resolveWebPluginOverlay(resolvedPluginsDir);
548
672
  const overlayBoot = webOverlay
549
673
  ? loadBootManifestFromWebDist(webOverlay)
@@ -592,6 +716,7 @@ export function createHostManager() {
592
716
  rpcChannels: [...row.rpcChannels],
593
717
  }));
594
718
  };
719
+ const secretStore = await resolveSecretStore(process.env);
595
720
  const faceRuntime = createFaceRuntime({
596
721
  store,
597
722
  resolveAgent,
@@ -605,6 +730,7 @@ export function createHostManager() {
605
730
  : {}),
606
731
  // Face settings / credentials / workspaces.json / host-settings → harness home.
607
732
  productDir: resolveXrkHome(),
733
+ ...(secretStore ? { secretStore } : {}),
608
734
  tools: createStandingToolRegistry({
609
735
  workspaceRoot: config.runtime.workspaceRoot,
610
736
  preset: config.runtime.preset,
@@ -731,6 +857,10 @@ export function createHostManager() {
731
857
  ? { settingsDocumentPath: path.resolve(config.runtime.policyFile) }
732
858
  : {}),
733
859
  invalidateAgent: (sessionId) => agentCache.invalidate(sessionId),
860
+ onSessionFinalize: (sessionId) => {
861
+ consolidateCuratedMemoryForSession(sessionId);
862
+ sharedBrowser?.drop(sessionId);
863
+ },
734
864
  ...createAutoReviewBridgeFromHost(resolveXrkHome()),
735
865
  ...(sharedPty
736
866
  ? {
@@ -809,6 +939,8 @@ export function createHostManager() {
809
939
  .value;
810
940
  const injectNs = faceRuntime.settingsNamespaces.view("workspace-inject")
811
941
  .value;
942
+ const telemetryNs = faceRuntime.settingsNamespaces.view("session-telemetry")
943
+ .value;
812
944
  const maxParallelToolCalls = typeof loop.maxParallelToolCalls === "number" &&
813
945
  Number.isFinite(loop.maxParallelToolCalls) &&
814
946
  loop.maxParallelToolCalls > 0
@@ -909,6 +1041,159 @@ export function createHostManager() {
909
1041
  injectMaxCharsRaw >= 4_000
910
1042
  ? Math.min(128_000, Math.floor(injectMaxCharsRaw))
911
1043
  : undefined;
1044
+ const telModeRaw = typeof telemetryNs.mode === "string"
1045
+ ? telemetryNs.mode.trim().toLowerCase()
1046
+ : "off";
1047
+ const telMode = telModeRaw === "memory" || telModeRaw === "otlp" || telModeRaw === "off"
1048
+ ? telModeRaw
1049
+ : "off";
1050
+ const telEndpoint = typeof telemetryNs.endpoint === "string" && telemetryNs.endpoint.trim()
1051
+ ? telemetryNs.endpoint.trim()
1052
+ : undefined;
1053
+ const sessionTelemetry = {
1054
+ mode: telMode,
1055
+ ...(telEndpoint ? { endpoint: telEndpoint } : {}),
1056
+ };
1057
+ const sandboxNs = faceRuntime.settingsNamespaces.view("sandbox")
1058
+ .value;
1059
+ const sbBackendRaw = typeof sandboxNs.backend === "string"
1060
+ ? sandboxNs.backend.trim().toLowerCase()
1061
+ : "workspace";
1062
+ const sbBackend = sbBackendRaw === "docker" ||
1063
+ sbBackendRaw === "bwrap" ||
1064
+ sbBackendRaw === "windows" ||
1065
+ sbBackendRaw === "workspace"
1066
+ ? sbBackendRaw
1067
+ : "workspace";
1068
+ const sbImage = typeof sandboxNs.dockerImage === "string" && sandboxNs.dockerImage.trim()
1069
+ ? sandboxNs.dockerImage.trim()
1070
+ : undefined;
1071
+ const sbNetRaw = typeof sandboxNs.dockerNetwork === "string"
1072
+ ? sandboxNs.dockerNetwork.trim().toLowerCase()
1073
+ : "";
1074
+ const sbNetwork = sbNetRaw === "bridge" || sbNetRaw === "none" ? sbNetRaw : undefined;
1075
+ const sbModeRaw = typeof sandboxNs.windowsMode === "string"
1076
+ ? sandboxNs.windowsMode.trim()
1077
+ : "";
1078
+ const sbMode = sbModeRaw === "workspace-write" ||
1079
+ sbModeRaw === "read-only" ||
1080
+ sbModeRaw === "danger-full-access"
1081
+ ? sbModeRaw
1082
+ : undefined;
1083
+ const sandbox = {
1084
+ backend: sbBackend,
1085
+ ...(sbImage ? { dockerImage: sbImage } : {}),
1086
+ ...(sbNetwork ? { dockerNetwork: sbNetwork } : {}),
1087
+ ...(sbMode ? { windowsMode: sbMode } : {}),
1088
+ };
1089
+ const computerUseNs = faceRuntime.settingsNamespaces.view("computer-use")
1090
+ .value;
1091
+ const cuModeRaw = typeof computerUseNs.mode === "string"
1092
+ ? computerUseNs.mode.trim().toLowerCase()
1093
+ : "off";
1094
+ const computerUseProduct = {
1095
+ mode: cuModeRaw === "uia" || cuModeRaw === "background"
1096
+ ? cuModeRaw
1097
+ : "off",
1098
+ };
1099
+ const backgroundHelper = faceRuntime.credentials.peek("computer.background")?.trim() ||
1100
+ process.env.XRK_COMPUTER_USE_BACKGROUND?.trim() ||
1101
+ "";
1102
+ const computerUseEnv = backgroundHelper
1103
+ ? {
1104
+ ...process.env,
1105
+ XRK_COMPUTER_USE_BACKGROUND: backgroundHelper,
1106
+ }
1107
+ : undefined;
1108
+ const browserNs = faceRuntime.settingsNamespaces.view("browser")
1109
+ .value;
1110
+ const brModeRaw = typeof browserNs.mode === "string"
1111
+ ? browserNs.mode.trim().toLowerCase()
1112
+ : "http";
1113
+ const brCdpUrl = typeof browserNs.cdpUrl === "string" && browserNs.cdpUrl.trim()
1114
+ ? browserNs.cdpUrl.trim()
1115
+ : undefined;
1116
+ const browserProduct = {
1117
+ mode: brModeRaw === "cdp" ? "cdp" : "http",
1118
+ ...(brCdpUrl ? { cdpUrl: brCdpUrl } : {}),
1119
+ };
1120
+ const voiceNs = faceRuntime.settingsNamespaces.view("voice")
1121
+ .value;
1122
+ const voiceModeRaw = typeof voiceNs.mode === "string"
1123
+ ? voiceNs.mode.trim().toLowerCase()
1124
+ : "off";
1125
+ const voiceBase = typeof voiceNs.baseUrl === "string" && voiceNs.baseUrl.trim()
1126
+ ? voiceNs.baseUrl.trim()
1127
+ : undefined;
1128
+ const voiceProduct = {
1129
+ mode: voiceModeRaw === "openai" ? "openai" : "off",
1130
+ ...(voiceBase ? { baseUrl: voiceBase } : {}),
1131
+ };
1132
+ const voiceKey = faceRuntime.credentials.peek("voice.openai")?.trim() ||
1133
+ process.env.XRK_VOICE_OPENAI_KEY?.trim() ||
1134
+ "";
1135
+ const voiceEnv = voiceKey
1136
+ ? { ...process.env, XRK_VOICE_OPENAI_KEY: voiceKey }
1137
+ : undefined;
1138
+ const imageNs = faceRuntime.settingsNamespaces.view("image-gen")
1139
+ .value;
1140
+ const imageModeRaw = typeof imageNs.mode === "string"
1141
+ ? imageNs.mode.trim().toLowerCase()
1142
+ : "off";
1143
+ const imageBase = typeof imageNs.baseUrl === "string" && imageNs.baseUrl.trim()
1144
+ ? imageNs.baseUrl.trim()
1145
+ : undefined;
1146
+ const imageModel = typeof imageNs.model === "string" && imageNs.model.trim()
1147
+ ? imageNs.model.trim()
1148
+ : undefined;
1149
+ const imageGenProduct = {
1150
+ mode: imageModeRaw === "openai" ? "openai" : "off",
1151
+ ...(imageBase ? { baseUrl: imageBase } : {}),
1152
+ ...(imageModel ? { model: imageModel } : {}),
1153
+ };
1154
+ const imageKey = faceRuntime.credentials.peek("image.openai")?.trim() ||
1155
+ process.env.XRK_IMAGE_GEN_OPENAI_KEY?.trim() ||
1156
+ "";
1157
+ const imageGenEnv = imageKey
1158
+ ? { ...process.env, XRK_IMAGE_GEN_OPENAI_KEY: imageKey }
1159
+ : undefined;
1160
+ const videoNs = faceRuntime.settingsNamespaces.view("video-gen")
1161
+ .value;
1162
+ const videoModeRaw = typeof videoNs.mode === "string"
1163
+ ? videoNs.mode.trim().toLowerCase()
1164
+ : "off";
1165
+ const videoBase = typeof videoNs.baseUrl === "string" && videoNs.baseUrl.trim()
1166
+ ? videoNs.baseUrl.trim()
1167
+ : undefined;
1168
+ const videoModel = typeof videoNs.model === "string" && videoNs.model.trim()
1169
+ ? videoNs.model.trim()
1170
+ : undefined;
1171
+ const videoGenProduct = {
1172
+ mode: videoModeRaw === "openai" ? "openai" : "off",
1173
+ ...(videoBase ? { baseUrl: videoBase } : {}),
1174
+ ...(videoModel ? { model: videoModel } : {}),
1175
+ };
1176
+ const videoKey = faceRuntime.credentials.peek("video.openai")?.trim() ||
1177
+ process.env.XRK_VIDEO_GEN_OPENAI_KEY?.trim() ||
1178
+ "";
1179
+ const videoGenEnv = videoKey
1180
+ ? { ...process.env, XRK_VIDEO_GEN_OPENAI_KEY: videoKey }
1181
+ : undefined;
1182
+ const localeNs = faceRuntime.settingsNamespaces.view("locale")
1183
+ .value;
1184
+ const asLocale = (raw) => raw === "zh" || raw === "en" ? raw : undefined;
1185
+ // Explicit Settings choice wins; older desktop builds stored the shell
1186
+ // language in the `ui` namespace (`ui.locale`) and never wrote
1187
+ // `locale.preference`, so honour it instead of dropping to the
1188
+ // language-agnostic prompt fallback (reasoning drifted to English).
1189
+ const localePref = asLocale(localeNs.preference) ??
1190
+ asLocale(faceRuntime.settingsNamespaces.view("ui")
1191
+ .value.locale);
1192
+ const memNs = faceRuntime.settingsNamespaces.view("curated-memory")
1193
+ .value;
1194
+ const memFaceOn = memNs.enabled !== false;
1195
+ const memEnvRaw = String(process.env.XRK_CURATED_MEMORY ?? "").trim();
1196
+ const curatedMemoryEnabled = memEnvRaw !== "" ? memEnvRaw !== "0" : memFaceOn;
912
1197
  return {
913
1198
  ...(maxParallelToolCalls !== undefined ? { maxParallelToolCalls } : {}),
914
1199
  ...(maxSteps !== undefined ? { maxSteps } : {}),
@@ -944,8 +1229,26 @@ export function createHostManager() {
944
1229
  ...(injectMaxChars !== undefined
945
1230
  ? { workspaceInject: { maxChars: injectMaxChars } }
946
1231
  : {}),
1232
+ sessionTelemetry,
1233
+ sandbox,
1234
+ computerUseProduct,
1235
+ ...(computerUseEnv ? { computerUseEnv } : {}),
1236
+ browserProduct,
1237
+ voiceProduct,
1238
+ ...(voiceEnv ? { voiceEnv } : {}),
1239
+ imageGenProduct,
1240
+ ...(imageGenEnv ? { imageGenEnv } : {}),
1241
+ videoGenProduct,
1242
+ ...(videoGenEnv ? { videoGenEnv } : {}),
1243
+ ...(!curatedMemoryEnabled ? { curatedMemory: false } : {}),
1244
+ ...(localePref ? { locale: localePref } : {}),
947
1245
  };
948
1246
  };
1247
+ {
1248
+ const cronNs = faceRuntime.settingsNamespaces.view("cron")
1249
+ .value;
1250
+ applyCronScheduler({ enabled: cronNs.enabled !== false });
1251
+ }
949
1252
  faceRuntime.bus.subscribeHost((_rpcId, frame) => {
950
1253
  if (frame.type !== "host/remote-event")
951
1254
  return;
@@ -957,12 +1260,30 @@ export function createHostManager() {
957
1260
  }
958
1261
  if (event === "settings/document-updated") {
959
1262
  const ns = frame.args[0];
1263
+ if (ns === "cron") {
1264
+ const cronNs = faceRuntime.settingsNamespaces.view("cron")
1265
+ .value;
1266
+ const changed = applyCronScheduler({
1267
+ enabled: cronNs.enabled !== false,
1268
+ });
1269
+ if (changed)
1270
+ void invalidateAgents();
1271
+ return;
1272
+ }
960
1273
  if (ns === "agent-default-model" ||
961
1274
  ns === "llm-deepseek" ||
962
1275
  ns === "llm-pi-ai" ||
963
1276
  ns === "agent-loop" ||
964
1277
  ns === "bash" ||
965
- ns === "web-search") {
1278
+ ns === "web-search" ||
1279
+ ns === "sandbox" ||
1280
+ ns === "computer-use" ||
1281
+ ns === "browser" ||
1282
+ ns === "voice" ||
1283
+ ns === "image-gen" ||
1284
+ ns === "video-gen" ||
1285
+ ns === "curated-memory" ||
1286
+ ns === "locale") {
966
1287
  void invalidateAgents();
967
1288
  }
968
1289
  }
@@ -1004,6 +1325,32 @@ export function createHostManager() {
1004
1325
  workspaceRoot: faceRuntime.workspaceRoot,
1005
1326
  defaultCwd: faceRuntime.workspaceRoot,
1006
1327
  resolveSessionCwd: (sessionId) => resolveSessionCwd(faceRuntime, sessionId),
1328
+ resolveAutoReviewClassifierProduct: () => {
1329
+ const ns = faceRuntime.settingsNamespaces.view("auto-review")
1330
+ .value;
1331
+ const classifierUrl = typeof ns.classifierUrl === "string" ? ns.classifierUrl.trim() : "";
1332
+ const classifierToken = faceRuntime.credentials.peek("auto-review.classifier")?.trim() ||
1333
+ process.env.XRK_AUTO_REVIEW_CLASSIFIER_TOKEN?.trim() ||
1334
+ "";
1335
+ return {
1336
+ ...(classifierUrl ? { classifierUrl } : {}),
1337
+ ...(classifierToken ? { classifierToken } : {}),
1338
+ };
1339
+ },
1340
+ resolveMemoryEmbedProduct: () => {
1341
+ const ns = faceRuntime.settingsNamespaces.view("memory-embed")
1342
+ .value;
1343
+ const url = typeof ns.url === "string" ? ns.url.trim() : "";
1344
+ const collection = typeof ns.collection === "string" ? ns.collection.trim() : "";
1345
+ const token = faceRuntime.credentials.peek("memory-embed.token")?.trim() ||
1346
+ process.env.XRK_MEMORY_EMBED_TOKEN?.trim() ||
1347
+ "";
1348
+ return {
1349
+ ...(url ? { url } : {}),
1350
+ ...(token ? { token } : {}),
1351
+ ...(collection ? { collection } : {}),
1352
+ };
1353
+ },
1007
1354
  tokenLedger: {
1008
1355
  ...createCostMeterUsageBridge(faceRuntime),
1009
1356
  ...createUsageStatsBridgeFromFace(faceRuntime),
@@ -1051,6 +1398,12 @@ export function createHostManager() {
1051
1398
  },
1052
1399
  policy,
1053
1400
  resolvePolicyAsk: hostWireCtx.resolvePolicyAsk,
1401
+ onPrefsChanged: (_value, patch) => {
1402
+ if (Object.prototype.hasOwnProperty.call(patch, "agentOpenTools") ||
1403
+ Object.prototype.hasOwnProperty.call(patch, "agentTerminalTools")) {
1404
+ void invalidateAgents();
1405
+ }
1406
+ },
1054
1407
  }), createXrkPluginPublicHandler({
1055
1408
  pluginsDir: resolvedPluginsDir,
1056
1409
  xrkHome: resolveXrkHome(),
@@ -1148,6 +1501,10 @@ export function createHostManager() {
1148
1501
  stopPromise = (async () => {
1149
1502
  cronBox.scheduler?.stop();
1150
1503
  policyFileWatch?.dispose();
1504
+ // Phase1 consolidate before agents/store go away (Hermes finalize).
1505
+ for (const sessionId of store.list()) {
1506
+ consolidateCuratedMemoryForSession(sessionId);
1507
+ }
1151
1508
  await http.close();
1152
1509
  await agentCache.dispose();
1153
1510
  if (sharedShell) {
@@ -1158,6 +1515,14 @@ export function createHostManager() {
1158
1515
  // Host stop must continue even if jobs teardown partially fails.
1159
1516
  }
1160
1517
  }
1518
+ if (sharedBrowser) {
1519
+ try {
1520
+ sharedBrowser.dispose();
1521
+ }
1522
+ catch {
1523
+ // Host stop must continue even if browser CDP teardown fails.
1524
+ }
1525
+ }
1161
1526
  if (sshWorld) {
1162
1527
  try {
1163
1528
  sshWorld.dispose();
@@ -1177,6 +1542,7 @@ export function createHostManager() {
1177
1542
  if ("close" in store && typeof store.close === "function") {
1178
1543
  store.close();
1179
1544
  }
1545
+ invariantsRegistry?.dispose();
1180
1546
  for (const p of loader.list()) {
1181
1547
  await loader.unregister(p.id);
1182
1548
  }