@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
@@ -2,28 +2,29 @@ import { createAgent } from "@xrkseek/core-agent";
2
2
  import { createMemorySessionStore, readSessionEvents, } from "@xrkseek/core-session";
3
3
  import { prepareFaceSessionReferences } from "@xrkseek/xrk-session-reference/prepare-face";
4
4
  import { createSystemPromptAssembler, } from "@xrkseek/core-system-prompt";
5
- import { createReadTracker, createStdTools, createToolPipeline, createToolRegistry, createWriteIntentGuard, extractPathArg, SUBAGENT_ROUTING_PROMPT_TEXT, } from "@xrkseek/core-tools";
5
+ import { createReadTracker, createStdTools, createToolPipeline, createToolRegistry, createWriteIntentGuard, extractPathArg, SUBAGENT_ROUTING_PROMPT_TEXT, SESSION_QUERY_ROUTING_PROMPT_TEXT, } from "@xrkseek/core-tools";
6
6
  import { createFsLocalProvider, createFsTools, createReadImageTool, formatFsRoutingPrompt, formatShellRoutingPrompt, } from "@xrkseek/exec-fs";
7
7
  import { formatWebFetchGuidance, formatWebSearchGuidance, formatBrowserGuidance, createDefaultWebAccess, createWebTools, createBrowserTools, createBrowserSession, } from "@xrkseek/exec-web";
8
8
  import { COMPUTER_USE_PROMPT_TEXT, createComputerUseTools, createDefaultComputerUseAccess, } from "@xrkseek/exec-computer-use";
9
9
  import { VOICE_PROMPT_TEXT, createDefaultVoiceAccess, createVoiceTools, } from "@xrkseek/exec-voice";
10
10
  import { IMAGE_GEN_PROMPT_TEXT, createDefaultImageGenAccess, createImageGenTools, } from "@xrkseek/exec-image-gen";
11
11
  import { VIDEO_GEN_PROMPT_TEXT, createDefaultVideoGenAccess, createVideoGenTools, } from "@xrkseek/exec-video-gen";
12
- import { CURATED_MEMORY_PROMPT_TEXT, createCuratedMemoryStore, createCuratedMemoryTools, writeReusableNotesAfterTurn, } from "@xrkseek/exec-memory";
12
+ import { CURATED_MEMORY_PROMPT_TEXT, createCuratedMemoryStore, createCuratedMemoryTools, writeReusableNotesAfterTurn, consolidateCuratedMemoryPhase1, } from "@xrkseek/exec-memory";
13
13
  import { LSP_PROMPT_TEXT, createDefaultLspAccess, createLspTools, } from "@xrkseek/exec-lsp";
14
14
  import { PTY_PROMPT_TEXT, createDefaultPtyAccess, createPtyTools, } from "@xrkseek/exec-pty";
15
- import { createSandboxStack, createSandboxWrapGuard, } from "@xrkseek/exec-sandbox";
15
+ import { createSandboxStack, createSandboxWrapGuard, createHardlineArgvPre, } from "@xrkseek/exec-sandbox";
16
16
  import { CRON_PROMPT_TEXT, createCronTools, } from "@xrkseek/server-cron";
17
17
  import { createBashTools, createLocalShell, createSessionScopedShell, toJobView, JOBS_PROMPT_TEXT, } from "@xrkseek/exec-shell";
18
18
  import { createLocalSubprocess } from "@xrkseek/exec-subprocess";
19
- import { createRunCodeTool, createWorkerCodeRuntime, } from "@xrkseek/code-runtime";
19
+ import { createRegistryCodeToolBridge, createRunCodeTool, createWorkerCodeRuntime, } from "@xrkseek/code-runtime";
20
+ import { appendContextFragments, createAdditionalContextFragment, createContextFragmentPipeline, fragmentsToPrepareContexts, } from "@xrkseek/context-fragments";
20
21
  import { createReplayAdapter } from "@xrkseek/llm-replay";
21
- import { createPolicyToolPre, createSessionReadOnlyToolPre, } from "@xrkseek/policy";
22
- import { effectiveSandboxMode, shouldConfineSandbox, } from "@xrkseek/protocol";
23
- import { createLifecycleWebhookNotifier, createPolicyEngineFromPlugins, createShellHookPre, defaultLifecycleWebhookPaths, defaultShellHookPaths, loadLifecycleWebhooks, loadShellHookCommands, wireCompositionHooks, wireCompositionTools, wireCompositionPrompts, } from "@xrkseek/server-loader";
22
+ import { createPolicyToolPre, createSessionReadOnlyToolPre, createWritePathSecurityPre, createWritePathSecurityPost, } from "@xrkseek/policy";
23
+ import { effectiveSandboxMode, flattenText, isHumanUserMessageSource, shouldConfineSandbox, } from "@xrkseek/protocol";
24
+ import { createLifecycleWebhookNotifier, createPolicyEngineFromPlugins, createShellHookPost, createShellHookPre, createShellLifecycleHooks, defaultLifecycleWebhookPaths, defaultShellHookPaths, loadLifecycleWebhooks, loadShellHooksConfig, wireCompositionHooks, wireCompositionTools, wireCompositionPrompts, } from "@xrkseek/server-loader";
24
25
  import { createDefaultSessionTelemetryAccess, wrapStoreForSessionTelemetry, } from "@xrkseek/session-telemetry";
25
26
  import path from "node:path";
26
- import { createWorkspaceInjector, createWorkspaceToolOutputPersist, createSkillTools, createSlashResolver, loadOfficeRecipes, mergeRecipesById, appendWorkspaceInjectsIfChanged, resolveProductHome, SKILL_TOOL_GUIDANCE, } from "@xrkseek/workspace";
27
+ import { createWorkspaceInjector, createWorkspaceToolOutputPersist, createSkillTools, createProposeSkillTool, createSlashResolver, loadOfficeRecipes, mergeRecipesById, appendWorkspaceInjectsIfChanged, resolveProductHome, noteLearningLoopTurn, consumeLearningLoopNudge, learningLoopNudgeText, SKILL_TOOL_GUIDANCE, } from "@xrkseek/workspace";
27
28
  export const presetId = "harness";
28
29
  function ensureSession(store, id) {
29
30
  if (id) {
@@ -48,7 +49,9 @@ function toInjectOptions(root, opt, displayTitle) {
48
49
  ...(displayTitle?.trim() ? { displayTitle: displayTitle.trim() } : {}),
49
50
  };
50
51
  }
51
- function wrapStoreForLifecycleWebhooks(store, notifier, sessionId) {
52
+ function wrapStoreForLifecycleWebhooks(store, notifier, sessionId, shellLifecycle) {
53
+ if (!notifier && !shellLifecycle)
54
+ return store;
52
55
  return {
53
56
  create: (id) => store.create(id),
54
57
  get: (id) => store.get(id),
@@ -62,20 +65,41 @@ function wrapStoreForLifecycleWebhooks(store, notifier, sessionId) {
62
65
  ? { isLoaded: (id) => store.isLoaded(id) }
63
66
  : {}),
64
67
  append(id, event) {
68
+ if (id === sessionId && event.type === "context/compaction") {
69
+ shellLifecycle?.fire("PreCompact", {
70
+ turn_id: event.turnId,
71
+ reason: event.reason,
72
+ trigger: event.reason,
73
+ });
74
+ }
65
75
  const logged = store.append(id, event);
66
76
  if (id === sessionId) {
67
77
  if (event.type === "turn/start") {
68
- notifier.fire({
78
+ notifier?.fire({
69
79
  hookEventName: "turn/start",
70
80
  turnId: event.turnId,
71
81
  });
82
+ shellLifecycle?.fire("UserPromptSubmit", {
83
+ turn_id: event.turnId,
84
+ });
72
85
  }
73
86
  else if (event.type === "turn/end") {
74
- notifier.fire({
87
+ notifier?.fire({
75
88
  hookEventName: "turn/end",
76
89
  turnId: event.turnId,
77
90
  extra: { reason: event.reason },
78
91
  });
92
+ shellLifecycle?.fire("Stop", {
93
+ turn_id: event.turnId,
94
+ reason: event.reason,
95
+ });
96
+ }
97
+ else if (event.type === "context/compaction") {
98
+ shellLifecycle?.fire("PostCompact", {
99
+ turn_id: event.turnId,
100
+ reason: event.reason,
101
+ trigger: event.reason,
102
+ });
79
103
  }
80
104
  }
81
105
  return logged;
@@ -109,6 +133,7 @@ export function createHarnessComposition(options) {
109
133
  telOpt?.sink ??
110
134
  createDefaultSessionTelemetryAccess({
111
135
  ...(telOpt?.env !== undefined ? { env: telOpt.env } : {}),
136
+ ...(telOpt?.product !== undefined ? { product: telOpt.product } : {}),
112
137
  ...(telOpt?.fetchImpl !== undefined
113
138
  ? { fetchImpl: telOpt.fetchImpl }
114
139
  : {}),
@@ -145,8 +170,37 @@ export function createHarnessComposition(options) {
145
170
  });
146
171
  }
147
172
  }
148
- if (lifecycleNotifier) {
149
- store = wrapStoreForLifecycleWebhooks(store, lifecycleNotifier, sessionId);
173
+ let shellLifecycle;
174
+ let shellHooksConfig = {};
175
+ if (options.shellHooks !== false) {
176
+ const shellOpt = typeof options.shellHooks === "object" ? options.shellHooks : undefined;
177
+ shellHooksConfig =
178
+ shellOpt?.config ??
179
+ (shellOpt?.commands
180
+ ? { PreToolUse: shellOpt.commands }
181
+ : loadShellHooksConfig(shellOpt?.paths ??
182
+ defaultShellHookPaths(options.workspaceRoot, resolveProductHome())));
183
+ const hasLifecycle = (shellHooksConfig.UserPromptSubmit?.length ?? 0) > 0 ||
184
+ (shellHooksConfig.Stop?.length ?? 0) > 0 ||
185
+ (shellHooksConfig.PreCompact?.length ?? 0) > 0 ||
186
+ (shellHooksConfig.PostCompact?.length ?? 0) > 0 ||
187
+ (shellHooksConfig.SubagentStart?.length ?? 0) > 0 ||
188
+ (shellHooksConfig.SubagentStop?.length ?? 0) > 0 ||
189
+ (shellHooksConfig.SessionStart?.length ?? 0) > 0;
190
+ if (hasLifecycle) {
191
+ shellLifecycle = createShellLifecycleHooks({
192
+ config: shellHooksConfig,
193
+ cwd: () => options.workspaceRoot,
194
+ sessionId,
195
+ ...(shellOpt?.defaultTimeoutMs !== undefined
196
+ ? { defaultTimeoutMs: shellOpt.defaultTimeoutMs }
197
+ : {}),
198
+ ...(shellOpt?.runner !== undefined ? { runner: shellOpt.runner } : {}),
199
+ });
200
+ }
201
+ }
202
+ if (lifecycleNotifier || shellLifecycle) {
203
+ store = wrapStoreForLifecycleWebhooks(store, lifecycleNotifier, sessionId, shellLifecycle);
150
204
  }
151
205
  const sandbox = options.sandbox ??
152
206
  createSandboxStack({
@@ -157,6 +211,9 @@ export function createHarnessComposition(options) {
157
211
  ...(options.sandboxDockerImage !== undefined
158
212
  ? { dockerImage: options.sandboxDockerImage }
159
213
  : {}),
214
+ ...(options.sandboxDockerNetwork !== undefined
215
+ ? { dockerNetwork: options.sandboxDockerNetwork }
216
+ : {}),
160
217
  ...(options.sandboxWindowsHelper !== undefined
161
218
  ? { windowsHelper: options.sandboxWindowsHelper }
162
219
  : {}),
@@ -166,6 +223,9 @@ export function createHarnessComposition(options) {
166
223
  ...(options.sandboxWindowsNetwork !== undefined
167
224
  ? { windowsNetwork: options.sandboxWindowsNetwork }
168
225
  : {}),
226
+ ...(options.sandboxProduct !== undefined
227
+ ? { product: options.sandboxProduct }
228
+ : {}),
169
229
  ...(options.remoteExecution ? { remoteExecution: true } : {}),
170
230
  });
171
231
  const sandboxMode = effectiveSandboxMode(readSessionEvents(store, sessionId), "workspace-write");
@@ -214,13 +274,24 @@ export function createHarnessComposition(options) {
214
274
  })) {
215
275
  tools.register(tool);
216
276
  }
277
+ tools.register(createProposeSkillTool({
278
+ resolveWorkspaceRoot: () => options.workspaceRoot,
279
+ }));
217
280
  if (options.webTools !== false) {
218
281
  const access = typeof options.webTools === "object"
219
282
  ? options.webTools
220
283
  : createDefaultWebAccess(options.webSearch ? { search: options.webSearch } : {});
221
284
  for (const tool of createWebTools(access))
222
285
  tools.register(tool);
223
- const browser = createBrowserSession({ fetch: access.fetch });
286
+ const makeBrowser = () => createBrowserSession({
287
+ fetch: access.fetch,
288
+ ...(options.browserProduct
289
+ ? { product: options.browserProduct }
290
+ : {}),
291
+ });
292
+ const browser = options.browserRuntime
293
+ ? options.browserRuntime.getOrCreate(sessionId, makeBrowser)
294
+ : makeBrowser();
224
295
  for (const tool of createBrowserTools(browser, options.attachments
225
296
  ? {
226
297
  saveScreenshot: (png) => options.attachments.saveImage({
@@ -236,9 +307,17 @@ export function createHarnessComposition(options) {
236
307
  if (options.computerUseTools !== false) {
237
308
  const service = typeof options.computerUseTools === "object"
238
309
  ? options.computerUseTools
239
- : createDefaultComputerUseAccess().service;
310
+ : createDefaultComputerUseAccess({
311
+ ...(options.computerUseEnv
312
+ ? { env: options.computerUseEnv }
313
+ : {}),
314
+ ...(options.computerUseProduct
315
+ ? { product: options.computerUseProduct }
316
+ : {}),
317
+ }).service;
240
318
  for (const tool of createComputerUseTools({
241
319
  ...(service ? { service } : {}),
320
+ ...(options.computerUseEnv ? { env: options.computerUseEnv } : {}),
242
321
  })) {
243
322
  tools.register(tool);
244
323
  }
@@ -246,9 +325,18 @@ export function createHarnessComposition(options) {
246
325
  if (options.voiceTools !== false) {
247
326
  const service = typeof options.voiceTools === "object"
248
327
  ? options.voiceTools
249
- : createDefaultVoiceAccess().service;
328
+ : createDefaultVoiceAccess({
329
+ ...(options.voiceEnv ? { env: options.voiceEnv } : {}),
330
+ ...(options.voiceProduct
331
+ ? { product: options.voiceProduct }
332
+ : {}),
333
+ }).service;
250
334
  for (const tool of createVoiceTools({
251
335
  ...(service ? { service } : {}),
336
+ ...(options.voiceEnv ? { env: options.voiceEnv } : {}),
337
+ ...(options.voiceProduct
338
+ ? { product: options.voiceProduct }
339
+ : {}),
252
340
  })) {
253
341
  tools.register(tool);
254
342
  }
@@ -264,9 +352,18 @@ export function createHarnessComposition(options) {
264
352
  if (options.imageGenTools !== false) {
265
353
  const service = typeof options.imageGenTools === "object"
266
354
  ? options.imageGenTools
267
- : createDefaultImageGenAccess().service;
355
+ : createDefaultImageGenAccess({
356
+ ...(options.imageGenEnv ? { env: options.imageGenEnv } : {}),
357
+ ...(options.imageGenProduct
358
+ ? { product: options.imageGenProduct }
359
+ : {}),
360
+ }).service;
268
361
  for (const tool of createImageGenTools({
269
362
  ...(service ? { service } : {}),
363
+ ...(options.imageGenEnv ? { env: options.imageGenEnv } : {}),
364
+ ...(options.imageGenProduct
365
+ ? { product: options.imageGenProduct }
366
+ : {}),
270
367
  ...(options.attachments ? { attachments: options.attachments } : {}),
271
368
  })) {
272
369
  tools.register(tool);
@@ -275,9 +372,18 @@ export function createHarnessComposition(options) {
275
372
  if (options.videoGenTools !== false) {
276
373
  const service = typeof options.videoGenTools === "object"
277
374
  ? options.videoGenTools
278
- : createDefaultVideoGenAccess().service;
375
+ : createDefaultVideoGenAccess({
376
+ ...(options.videoGenEnv ? { env: options.videoGenEnv } : {}),
377
+ ...(options.videoGenProduct
378
+ ? { product: options.videoGenProduct }
379
+ : {}),
380
+ }).service;
279
381
  for (const tool of createVideoGenTools({
280
382
  ...(service ? { service } : {}),
383
+ ...(options.videoGenEnv ? { env: options.videoGenEnv } : {}),
384
+ ...(options.videoGenProduct
385
+ ? { product: options.videoGenProduct }
386
+ : {}),
281
387
  ...(options.attachments ? { attachments: options.attachments } : {}),
282
388
  })) {
283
389
  tools.register(tool);
@@ -319,9 +425,6 @@ export function createHarnessComposition(options) {
319
425
  tools.register(tool);
320
426
  }
321
427
  }
322
- if (options.presentation === "code" || options.codeRuntime) {
323
- tools.register(createRunCodeTool(options.codeRuntime ?? createWorkerCodeRuntime()));
324
- }
325
428
  wireCompositionTools(tools, {
326
429
  ...(options.extraTools ? { extraTools: options.extraTools } : {}),
327
430
  ...(options.plugins ? { plugins: options.plugins } : {}),
@@ -340,31 +443,42 @@ export function createHarnessComposition(options) {
340
443
  : {}),
341
444
  },
342
445
  });
446
+ // Code Mode after the live registry + pipeline exist so nested
447
+ // `await tools.name(args)` re-enters the same waterfall (policy/settle).
448
+ if (options.presentation === "code" || options.codeRuntime) {
449
+ const runtime = options.codeRuntime ?? createWorkerCodeRuntime();
450
+ tools.register(createRunCodeTool(runtime, createRegistryCodeToolBridge(tools, { pipeline })));
451
+ }
343
452
  const policyEngine = createPolicyEngineFromPlugins({
344
453
  ...(options.policy !== undefined ? { engine: options.policy } : {}),
345
454
  ...(options.plugins !== undefined ? { plugins: options.plugins } : {}),
346
455
  });
456
+ // Fail-closed floors **before** policy (Hermes hardline / security-guidance shape).
457
+ pipeline.onPre(createHardlineArgvPre());
458
+ pipeline.onPre(createWritePathSecurityPre());
347
459
  if (policyEngine) {
348
460
  pipeline.onPre(createPolicyToolPre(policyEngine));
349
461
  }
350
462
  // Live read-only gate (session knobs), not create-time snapshot.
351
463
  pipeline.onPre(createSessionReadOnlyToolPre(() => effectiveSandboxMode(readSessionEvents(store, sessionId)) ===
352
464
  "read-only"));
353
- // Shell PreToolUse (hooks.json) — after policy / read-only; before kind:hooks.
465
+ // Shell hooks.json — PreToolUse + PostToolUse after policy / read-only; before kind:hooks.
354
466
  if (options.shellHooks !== false) {
355
467
  const shellOpt = typeof options.shellHooks === "object" ? options.shellHooks : undefined;
356
- const shellCommands = shellOpt?.commands ??
357
- loadShellHookCommands(shellOpt?.paths ??
358
- defaultShellHookPaths(options.workspaceRoot, resolveProductHome()));
359
- if (shellCommands.length > 0) {
360
- pipeline.onPre(createShellHookPre({
361
- commands: shellCommands,
362
- cwd: () => options.workspaceRoot,
363
- ...(shellOpt?.defaultTimeoutMs !== undefined
364
- ? { defaultTimeoutMs: shellOpt.defaultTimeoutMs }
365
- : {}),
366
- ...(shellOpt?.runner !== undefined ? { runner: shellOpt.runner } : {}),
367
- }));
468
+ const preCommands = shellHooksConfig.PreToolUse ?? [];
469
+ const postCommands = shellHooksConfig.PostToolUse ?? [];
470
+ const shared = {
471
+ cwd: () => options.workspaceRoot,
472
+ ...(shellOpt?.defaultTimeoutMs !== undefined
473
+ ? { defaultTimeoutMs: shellOpt.defaultTimeoutMs }
474
+ : {}),
475
+ ...(shellOpt?.runner !== undefined ? { runner: shellOpt.runner } : {}),
476
+ };
477
+ if (preCommands.length > 0) {
478
+ pipeline.onPre(createShellHookPre({ commands: preCommands, ...shared }));
479
+ }
480
+ if (postCommands.length > 0) {
481
+ pipeline.onPost(createShellHookPost({ commands: postCommands, ...shared }));
368
482
  }
369
483
  }
370
484
  // kind:hooks — after policy / read-only / shell; before guards + builtin post.
@@ -375,9 +489,11 @@ export function createHarnessComposition(options) {
375
489
  pipeline.onGuard(createSandboxWrapGuard(sandbox));
376
490
  pipeline.onGuard(createWriteIntentGuard({
377
491
  hasRead: (p) => tracker.hasRead(p),
378
- writeToolNames: ["apply_edit", "write_file"],
492
+ writeToolNames: ["apply_edit", "write_file", "apply_patch"],
379
493
  }));
380
494
  }
495
+ // Advisory write-path content patterns (append to tool result; before lifecycle post).
496
+ pipeline.onPost(createWritePathSecurityPost());
381
497
  if (lifecycleNotifier) {
382
498
  const notifier = lifecycleNotifier;
383
499
  pipeline.onPost(async (ctx) => {
@@ -417,6 +533,32 @@ export function createHarnessComposition(options) {
417
533
  order: 0,
418
534
  content: () => persona,
419
535
  });
536
+ prompts.register({
537
+ id: "language",
538
+ order: 1,
539
+ content: () => options.locale === "zh"
540
+ ? [
541
+ "# Language",
542
+ "界面语言为简体中文。",
543
+ "- 一律使用简体中文进行思考(thinking / reasoning / 规划 / 工具调用前的判断)以及最终回复。不得用英文起笔推理。",
544
+ "- 保持原样、不要翻译:代码、命令、文件路径、API 与工具名、参数键名、标识符、日志原文、报错文本。",
545
+ "- 引用工具输出时保留原文,解释部分用中文。",
546
+ "- 用户主动用英文提问时仍可用英文回复,但界面为中文期间默认中文。",
547
+ ].join("\n")
548
+ : options.locale === "en"
549
+ ? [
550
+ "# Language",
551
+ "The UI language is English.",
552
+ "- Reason (thinking, planning, pre-tool narration) and reply in English.",
553
+ "- Keep code, commands, file paths, tool and parameter names, identifiers and raw tool output verbatim.",
554
+ ].join("\n")
555
+ : [
556
+ "# Language",
557
+ "No explicit UI locale was configured.",
558
+ "- Reason and reply in the same natural language as the user's latest message: if the user writes Chinese, think and answer in Chinese.",
559
+ "- Keep code, commands, file paths, tool and parameter names, identifiers and raw tool output verbatim.",
560
+ ].join("\n"),
561
+ });
420
562
  if (curatedMemory) {
421
563
  // Policy is always present (even with empty files) so a new session does not
422
564
  // treat leftover MEMORY.md WIP as a task queue — Codex-style isolation.
@@ -499,6 +641,13 @@ export function createHarnessComposition(options) {
499
641
  order: 112,
500
642
  content: () => SKILL_TOOL_GUIDANCE,
501
643
  });
644
+ prompts.register({
645
+ id: "tool:propose_skill",
646
+ order: 112.5,
647
+ content: () => availableToolNames().has("propose_skill")
648
+ ? "After a complex multi-step task that produced a reusable procedure, call `propose_skill` with a class-level SKILL.md draft. The user must approve before anything is written under `.agents/skills`."
649
+ : "",
650
+ });
502
651
  if (options.lspTools !== false) {
503
652
  prompts.register({
504
653
  id: "tool:lsp",
@@ -554,6 +703,11 @@ export function createHarnessComposition(options) {
554
703
  content: () => SUBAGENT_ROUTING_PROMPT_TEXT,
555
704
  });
556
705
  }
706
+ prompts.register({
707
+ id: "tool:session-query",
708
+ order: 108,
709
+ content: () => SESSION_QUERY_ROUTING_PROMPT_TEXT,
710
+ });
557
711
  wireCompositionPrompts(prompts, {
558
712
  ...(options.plugins ? { plugins: options.plugins } : {}),
559
713
  reservedIds: [
@@ -564,6 +718,7 @@ export function createHarnessComposition(options) {
564
718
  "tool:shell-routing",
565
719
  "tool:jobs",
566
720
  ...(options.subagentRouting !== false ? ["tool:subagent"] : []),
721
+ "tool:session-query",
567
722
  ...(options.webTools !== false
568
723
  ? ["tool:web_search", "tool:web_fetch", "tool:browser"]
569
724
  : []),
@@ -581,21 +736,58 @@ export function createHarnessComposition(options) {
581
736
  ? { productDir: injectOpts.productDir }
582
737
  : {}),
583
738
  });
739
+ // Fragment pipeline is opt-out; empty by default. Layered apart from
740
+ // durable workspace inject (beforeUserMessage runs inject then fragments).
741
+ const contextFragments = options.contextFragments === false
742
+ ? undefined
743
+ : typeof options.contextFragments === "object"
744
+ ? options.contextFragments
745
+ : createContextFragmentPipeline({
746
+ ...(options.contextFragmentBudgetChars !== undefined
747
+ ? { budgetChars: options.contextFragmentBudgetChars }
748
+ : {}),
749
+ });
750
+ if (contextFragments && options.contextFragmentProviders) {
751
+ for (const provider of options.contextFragmentProviders) {
752
+ contextFragments.register(provider);
753
+ }
754
+ }
755
+ if (contextFragments) {
756
+ contextFragments.register({
757
+ id: "learning-loop-nudge",
758
+ phases: ["turn-start"],
759
+ produce({ sessionId: sid }) {
760
+ if (!consumeLearningLoopNudge(sid))
761
+ return [];
762
+ return [
763
+ createAdditionalContextFragment({
764
+ key: "learning_loop",
765
+ value: learningLoopNudgeText(),
766
+ phase: "turn-start",
767
+ priority: -5,
768
+ }),
769
+ ];
770
+ },
771
+ });
772
+ }
584
773
  return {
585
774
  id: presetId,
586
- description: "XRK Harness: fs + shell + sandbox + web + browser + computer_use + voice + image_gen + lsp + pty + workspace inject",
775
+ description: "XRK Harness: fs + shell + sandbox + web + browser + computer_use + voice + image_gen + lsp + pty + workspace inject + context fragments",
587
776
  workspaceRoot: options.workspaceRoot,
588
777
  fs,
589
778
  workspace,
779
+ ...(contextFragments ? { contextFragments } : {}),
590
780
  tools,
591
781
  pipeline,
592
782
  llm,
593
783
  store,
594
784
  sessionId,
595
785
  prompts,
786
+ ...(shellLifecycle ? { shellLifecycle } : {}),
596
787
  async createAgent() {
597
788
  const useAssemble = options.assemble !== false;
598
789
  const injectOn = shouldInject(options.assemble, options.workspaceInject);
790
+ const wireBeforeUserMessage = injectOn || contextFragments !== undefined;
599
791
  const productDir = injectOpts.productDir ?? path.join(injectOpts.root, ".xrk");
600
792
  let recipes = [];
601
793
  if (useAssemble && options.slashRecipes !== false) {
@@ -651,38 +843,67 @@ export function createHarnessComposition(options) {
651
843
  // Legacy path: freeze once (no per-step tool visibility).
652
844
  system: await prompts.assemble(),
653
845
  }),
654
- ...(injectOn
846
+ ...(wireBeforeUserMessage
655
847
  ? {
656
848
  beforeUserMessage: async (ctx) => {
657
- await appendWorkspaceInjectsIfChanged({
658
- ...ctx,
659
- injectOptions: injectOpts,
660
- injector: workspace,
661
- });
662
- },
663
- }
664
- : {}),
665
- ...(curatedMemory
666
- ? {
667
- afterTurn: ({ userText, assistantText, turnId }) => {
668
- const memoryToolWrote = readSessionEvents(store, sessionId).some((event) => event.type === "tool/call" &&
669
- event.turnId === turnId &&
670
- event.call.name === "memory");
671
- writeReusableNotesAfterTurn(curatedMemory, {
672
- userText: userText ?? "",
673
- assistantText,
674
- memoryToolWrote,
675
- });
849
+ if (injectOn) {
850
+ await appendWorkspaceInjectsIfChanged({
851
+ ...ctx,
852
+ injectOptions: injectOpts,
853
+ injector: workspace,
854
+ });
855
+ }
856
+ if (contextFragments) {
857
+ await appendContextFragments({
858
+ store: ctx.store,
859
+ sessionId: ctx.sessionId,
860
+ turnId: ctx.turnId,
861
+ now: ctx.now,
862
+ pipeline: contextFragments,
863
+ phase: "turn-start",
864
+ });
865
+ }
676
866
  },
677
867
  }
678
868
  : {}),
679
- prepareUserContent: ({ content, text, signal }) => prepareFaceSessionReferences({
680
- targetSessionId: sessionId,
681
- content,
682
- text,
683
- readEvents: (id) => readSessionEvents(store, id),
684
- ...(signal ? { signal } : {}),
685
- }),
869
+ afterTurn: ({ userText, assistantText, turnId, toolOk, toolFailed }) => {
870
+ noteLearningLoopTurn(sessionId, toolOk + toolFailed);
871
+ if (!curatedMemory)
872
+ return;
873
+ const memoryToolWrote = readSessionEvents(store, sessionId).some((event) => event.type === "tool/call" &&
874
+ event.turnId === turnId &&
875
+ event.call.name === "memory");
876
+ void writeReusableNotesAfterTurn(curatedMemory, {
877
+ userText: userText ?? "",
878
+ assistantText,
879
+ memoryToolWrote,
880
+ });
881
+ },
882
+ prepareUserContent: async ({ content, text, signal }) => {
883
+ const prepared = prepareFaceSessionReferences({
884
+ targetSessionId: sessionId,
885
+ content,
886
+ text,
887
+ readEvents: (id) => readSessionEvents(store, id),
888
+ resolveCwd: () => options.workspaceRoot,
889
+ maxReferenceBytes: 65_536,
890
+ ...(signal ? { signal } : {}),
891
+ });
892
+ if (!contextFragments)
893
+ return prepared;
894
+ const collected = await contextFragments.collect("user-message", {
895
+ sessionId,
896
+ userText: text,
897
+ ...(signal ? { signal } : {}),
898
+ });
899
+ return {
900
+ ...prepared,
901
+ contexts: [
902
+ ...prepared.contexts,
903
+ ...fragmentsToPrepareContexts(collected),
904
+ ],
905
+ };
906
+ },
686
907
  ...(options.resolveImage
687
908
  ? { resolveImage: options.resolveImage }
688
909
  : {}),
@@ -724,6 +945,8 @@ export function createHarnessComposition(options) {
724
945
  sessionId,
725
946
  presentation: options.presentation ?? "tools",
726
947
  workspaceInject: options.workspaceInject !== false,
948
+ contextFragments: contextFragments !== undefined,
949
+ contextFragmentProviders: contextFragments?.list().map((p) => p.id) ?? [],
727
950
  slashRecipes: options.slashRecipes !== false,
728
951
  plugins: (options.plugins ?? []).map((p) => p.id),
729
952
  policy: Boolean(createPolicyEngineFromPlugins({
@@ -735,6 +958,27 @@ export function createHarnessComposition(options) {
735
958
  };
736
959
  },
737
960
  async dispose() {
961
+ // Session-end Phase1: fold leftover human notes into MEMORY.md (disk only).
962
+ if (curatedMemory) {
963
+ try {
964
+ const userTexts = [];
965
+ for (const event of readSessionEvents(store, sessionId)) {
966
+ if (event.type !== "user/message")
967
+ continue;
968
+ if (!isHumanUserMessageSource(event.source))
969
+ continue;
970
+ const text = flattenText(event.content).trim();
971
+ if (text)
972
+ userTexts.push(text);
973
+ }
974
+ if (userTexts.length > 0) {
975
+ void consolidateCuratedMemoryPhase1(curatedMemory, { userTexts });
976
+ }
977
+ }
978
+ catch {
979
+ /* best-effort — dispose must continue */
980
+ }
981
+ }
738
982
  if (!sharedShell)
739
983
  await rootShell.dispose();
740
984
  if (telemetrySink) {