@xrkseek/harness 0.6.23 → 0.7.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (738) hide show
  1. package/node_modules/@xrkseek/a2a/README.md +45 -45
  2. package/node_modules/@xrkseek/attachment/README.md +23 -23
  3. package/node_modules/@xrkseek/attachment-local/README.md +6 -6
  4. package/node_modules/@xrkseek/attachment-local/package.json +26 -26
  5. package/node_modules/@xrkseek/checkpoint/README.md +90 -90
  6. package/node_modules/@xrkseek/checkpoint/dist/process-git.d.ts +5 -0
  7. package/node_modules/@xrkseek/checkpoint/dist/process-git.d.ts.map +1 -1
  8. package/node_modules/@xrkseek/checkpoint/dist/process-git.js +59 -2
  9. package/node_modules/@xrkseek/checkpoint/dist/process-git.js.map +1 -1
  10. package/node_modules/@xrkseek/checkpoint/dist/store.d.ts +45 -0
  11. package/node_modules/@xrkseek/checkpoint/dist/store.d.ts.map +1 -1
  12. package/node_modules/@xrkseek/checkpoint/dist/store.js +221 -60
  13. package/node_modules/@xrkseek/checkpoint/dist/store.js.map +1 -1
  14. package/node_modules/@xrkseek/checkpoint/package.json +26 -26
  15. package/node_modules/@xrkseek/claude-code-mods/README.md +152 -0
  16. package/node_modules/@xrkseek/claude-code-mods/README.zh.md +172 -0
  17. package/node_modules/@xrkseek/claude-code-mods/dist/api.d.ts +36 -0
  18. package/node_modules/@xrkseek/claude-code-mods/dist/api.d.ts.map +1 -0
  19. package/node_modules/@xrkseek/claude-code-mods/dist/api.js +215 -0
  20. package/node_modules/@xrkseek/claude-code-mods/dist/api.js.map +1 -0
  21. package/node_modules/@xrkseek/claude-code-mods/dist/attach.d.ts +92 -0
  22. package/node_modules/@xrkseek/claude-code-mods/dist/attach.d.ts.map +1 -0
  23. package/node_modules/@xrkseek/claude-code-mods/dist/attach.js +106 -0
  24. package/node_modules/@xrkseek/claude-code-mods/dist/attach.js.map +1 -0
  25. package/node_modules/@xrkseek/claude-code-mods/dist/chain.d.ts +105 -0
  26. package/node_modules/@xrkseek/claude-code-mods/dist/chain.d.ts.map +1 -0
  27. package/node_modules/@xrkseek/claude-code-mods/dist/chain.js +324 -0
  28. package/node_modules/@xrkseek/claude-code-mods/dist/chain.js.map +1 -0
  29. package/node_modules/@xrkseek/claude-code-mods/dist/define-mod.d.ts +39 -0
  30. package/node_modules/@xrkseek/claude-code-mods/dist/define-mod.d.ts.map +1 -0
  31. package/node_modules/@xrkseek/claude-code-mods/dist/define-mod.js +39 -0
  32. package/node_modules/@xrkseek/claude-code-mods/dist/define-mod.js.map +1 -0
  33. package/node_modules/@xrkseek/claude-code-mods/dist/elements.d.ts +96 -0
  34. package/node_modules/@xrkseek/claude-code-mods/dist/elements.d.ts.map +1 -0
  35. package/node_modules/@xrkseek/claude-code-mods/dist/elements.js +171 -0
  36. package/node_modules/@xrkseek/claude-code-mods/dist/elements.js.map +1 -0
  37. package/node_modules/@xrkseek/claude-code-mods/dist/engine.d.ts +155 -0
  38. package/node_modules/@xrkseek/claude-code-mods/dist/engine.d.ts.map +1 -0
  39. package/node_modules/@xrkseek/claude-code-mods/dist/engine.js +356 -0
  40. package/node_modules/@xrkseek/claude-code-mods/dist/engine.js.map +1 -0
  41. package/node_modules/@xrkseek/claude-code-mods/dist/host-ops.d.ts +72 -0
  42. package/node_modules/@xrkseek/claude-code-mods/dist/host-ops.d.ts.map +1 -0
  43. package/node_modules/@xrkseek/claude-code-mods/dist/host-ops.js +603 -0
  44. package/node_modules/@xrkseek/claude-code-mods/dist/host-ops.js.map +1 -0
  45. package/node_modules/@xrkseek/claude-code-mods/dist/index.d.ts +112 -0
  46. package/node_modules/@xrkseek/claude-code-mods/dist/index.d.ts.map +1 -0
  47. package/node_modules/@xrkseek/claude-code-mods/dist/index.js +654 -0
  48. package/node_modules/@xrkseek/claude-code-mods/dist/index.js.map +1 -0
  49. package/node_modules/@xrkseek/claude-code-mods/dist/matcher.d.ts +45 -0
  50. package/node_modules/@xrkseek/claude-code-mods/dist/matcher.d.ts.map +1 -0
  51. package/node_modules/@xrkseek/claude-code-mods/dist/matcher.js +195 -0
  52. package/node_modules/@xrkseek/claude-code-mods/dist/matcher.js.map +1 -0
  53. package/node_modules/@xrkseek/claude-code-mods/dist/module.d.ts +74 -0
  54. package/node_modules/@xrkseek/claude-code-mods/dist/module.d.ts.map +1 -0
  55. package/node_modules/@xrkseek/claude-code-mods/dist/module.js +167 -0
  56. package/node_modules/@xrkseek/claude-code-mods/dist/module.js.map +1 -0
  57. package/node_modules/@xrkseek/claude-code-mods/dist/native-import.d.ts +31 -0
  58. package/node_modules/@xrkseek/claude-code-mods/dist/native-import.d.ts.map +1 -0
  59. package/node_modules/@xrkseek/claude-code-mods/dist/native-import.js +32 -0
  60. package/node_modules/@xrkseek/claude-code-mods/dist/native-import.js.map +1 -0
  61. package/node_modules/@xrkseek/claude-code-mods/dist/plugin-dir.d.ts +70 -0
  62. package/node_modules/@xrkseek/claude-code-mods/dist/plugin-dir.d.ts.map +1 -0
  63. package/node_modules/@xrkseek/claude-code-mods/dist/plugin-dir.js +167 -0
  64. package/node_modules/@xrkseek/claude-code-mods/dist/plugin-dir.js.map +1 -0
  65. package/node_modules/@xrkseek/claude-code-mods/dist/product-agent.d.ts +57 -0
  66. package/node_modules/@xrkseek/claude-code-mods/dist/product-agent.d.ts.map +1 -0
  67. package/node_modules/@xrkseek/claude-code-mods/dist/product-agent.js +85 -0
  68. package/node_modules/@xrkseek/claude-code-mods/dist/product-agent.js.map +1 -0
  69. package/node_modules/@xrkseek/claude-code-mods/dist/runtime.d.ts +117 -0
  70. package/node_modules/@xrkseek/claude-code-mods/dist/runtime.d.ts.map +1 -0
  71. package/node_modules/@xrkseek/claude-code-mods/dist/runtime.js +252 -0
  72. package/node_modules/@xrkseek/claude-code-mods/dist/runtime.js.map +1 -0
  73. package/node_modules/@xrkseek/claude-code-mods/dist/storage-domain.d.ts +68 -0
  74. package/node_modules/@xrkseek/claude-code-mods/dist/storage-domain.d.ts.map +1 -0
  75. package/node_modules/@xrkseek/claude-code-mods/dist/storage-domain.js +104 -0
  76. package/node_modules/@xrkseek/claude-code-mods/dist/storage-domain.js.map +1 -0
  77. package/node_modules/@xrkseek/claude-code-mods/dist/surfaces.d.ts +82 -0
  78. package/node_modules/@xrkseek/claude-code-mods/dist/surfaces.d.ts.map +1 -0
  79. package/node_modules/@xrkseek/claude-code-mods/dist/surfaces.js +243 -0
  80. package/node_modules/@xrkseek/claude-code-mods/dist/surfaces.js.map +1 -0
  81. package/node_modules/@xrkseek/claude-code-mods/dist/testing.d.ts +157 -0
  82. package/node_modules/@xrkseek/claude-code-mods/dist/testing.d.ts.map +1 -0
  83. package/node_modules/@xrkseek/claude-code-mods/dist/testing.js +266 -0
  84. package/node_modules/@xrkseek/claude-code-mods/dist/testing.js.map +1 -0
  85. package/node_modules/@xrkseek/claude-code-mods/dist/tool-names.d.ts +21 -0
  86. package/node_modules/@xrkseek/claude-code-mods/dist/tool-names.d.ts.map +1 -0
  87. package/node_modules/@xrkseek/claude-code-mods/dist/tool-names.js +37 -0
  88. package/node_modules/@xrkseek/claude-code-mods/dist/tool-names.js.map +1 -0
  89. package/node_modules/@xrkseek/claude-code-mods/dist/types.d.ts +592 -0
  90. package/node_modules/@xrkseek/claude-code-mods/dist/types.d.ts.map +1 -0
  91. package/node_modules/@xrkseek/claude-code-mods/dist/types.js +10 -0
  92. package/node_modules/@xrkseek/claude-code-mods/dist/types.js.map +1 -0
  93. package/node_modules/@xrkseek/claude-code-mods/dist/values.d.ts +58 -0
  94. package/node_modules/@xrkseek/claude-code-mods/dist/values.d.ts.map +1 -0
  95. package/node_modules/@xrkseek/claude-code-mods/dist/values.js +75 -0
  96. package/node_modules/@xrkseek/claude-code-mods/dist/values.js.map +1 -0
  97. package/node_modules/@xrkseek/claude-code-mods/dist/working-directory.d.ts +45 -0
  98. package/node_modules/@xrkseek/claude-code-mods/dist/working-directory.d.ts.map +1 -0
  99. package/node_modules/@xrkseek/claude-code-mods/dist/working-directory.js +29 -0
  100. package/node_modules/@xrkseek/claude-code-mods/dist/working-directory.js.map +1 -0
  101. package/node_modules/@xrkseek/claude-code-mods/package.json +47 -0
  102. package/node_modules/@xrkseek/code-runtime/README.md +20 -20
  103. package/node_modules/@xrkseek/core-agent/dist/index.d.ts +87 -0
  104. package/node_modules/@xrkseek/core-agent/dist/index.d.ts.map +1 -1
  105. package/node_modules/@xrkseek/core-agent/dist/index.js.map +1 -1
  106. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  107. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +62 -32
  108. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  109. package/node_modules/@xrkseek/core-agent-loop/package.json +42 -42
  110. package/node_modules/@xrkseek/core-session/README.md +35 -35
  111. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts +46 -2
  112. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts.map +1 -1
  113. package/node_modules/@xrkseek/core-session/dist/compaction.js +124 -49
  114. package/node_modules/@xrkseek/core-session/dist/compaction.js.map +1 -1
  115. package/node_modules/@xrkseek/core-session/dist/freeze.d.ts +6 -0
  116. package/node_modules/@xrkseek/core-session/dist/freeze.d.ts.map +1 -1
  117. package/node_modules/@xrkseek/core-session/dist/freeze.js +9 -0
  118. package/node_modules/@xrkseek/core-session/dist/freeze.js.map +1 -1
  119. package/node_modules/@xrkseek/core-session/dist/index.d.ts +20 -4
  120. package/node_modules/@xrkseek/core-session/dist/index.d.ts.map +1 -1
  121. package/node_modules/@xrkseek/core-session/dist/index.js +55 -14
  122. package/node_modules/@xrkseek/core-session/dist/index.js.map +1 -1
  123. package/node_modules/@xrkseek/core-session/dist/list-hints.d.ts.map +1 -1
  124. package/node_modules/@xrkseek/core-session/dist/list-hints.js +14 -4
  125. package/node_modules/@xrkseek/core-session/dist/list-hints.js.map +1 -1
  126. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.d.ts +8 -1
  127. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.d.ts.map +1 -1
  128. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.js +14 -4
  129. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.js.map +1 -1
  130. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts +55 -0
  131. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts.map +1 -1
  132. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js +670 -92
  133. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js.map +1 -1
  134. package/node_modules/@xrkseek/core-session/dist/store.d.ts +38 -0
  135. package/node_modules/@xrkseek/core-session/dist/store.d.ts.map +1 -1
  136. package/node_modules/@xrkseek/core-session/dist/surface-estimate.d.ts +6 -0
  137. package/node_modules/@xrkseek/core-session/dist/surface-estimate.d.ts.map +1 -1
  138. package/node_modules/@xrkseek/core-session/dist/surface-estimate.js +23 -0
  139. package/node_modules/@xrkseek/core-session/dist/surface-estimate.js.map +1 -1
  140. package/node_modules/@xrkseek/core-session/dist/surface-fold.d.ts.map +1 -1
  141. package/node_modules/@xrkseek/core-session/dist/surface-fold.js +5 -7
  142. package/node_modules/@xrkseek/core-session/dist/surface-fold.js.map +1 -1
  143. package/node_modules/@xrkseek/core-session/package.json +34 -34
  144. package/node_modules/@xrkseek/core-system-prompt/README.md +14 -14
  145. package/node_modules/@xrkseek/core-tools/dist/session-query-prompt.d.ts.map +1 -1
  146. package/node_modules/@xrkseek/core-tools/dist/session-query-prompt.js +3 -2
  147. package/node_modules/@xrkseek/core-tools/dist/session-query-prompt.js.map +1 -1
  148. package/node_modules/@xrkseek/core-tools/dist/std-tools.d.ts.map +1 -1
  149. package/node_modules/@xrkseek/core-tools/dist/std-tools.js +1 -13
  150. package/node_modules/@xrkseek/core-tools/dist/std-tools.js.map +1 -1
  151. package/node_modules/@xrkseek/exec-computer-use/README.md +14 -14
  152. package/node_modules/@xrkseek/exec-computer-use/dist/windows-uia.js +402 -402
  153. package/node_modules/@xrkseek/exec-computer-use/package.json +26 -26
  154. package/node_modules/@xrkseek/exec-fs/README.md +12 -12
  155. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts +7 -0
  156. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts.map +1 -1
  157. package/node_modules/@xrkseek/exec-fs/dist/read-image.js +33 -15
  158. package/node_modules/@xrkseek/exec-fs/dist/read-image.js.map +1 -1
  159. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js +1 -1
  160. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js.map +1 -1
  161. package/node_modules/@xrkseek/exec-image-gen/README.md +13 -13
  162. package/node_modules/@xrkseek/exec-image-gen/package.json +28 -28
  163. package/node_modules/@xrkseek/exec-memory/README.md +14 -14
  164. package/node_modules/@xrkseek/exec-memory/dist/live-fragment.d.ts +11 -0
  165. package/node_modules/@xrkseek/exec-memory/dist/live-fragment.d.ts.map +1 -0
  166. package/node_modules/@xrkseek/exec-memory/dist/live-fragment.js +40 -0
  167. package/node_modules/@xrkseek/exec-memory/dist/live-fragment.js.map +1 -0
  168. package/node_modules/@xrkseek/exec-memory/package.json +28 -28
  169. package/node_modules/@xrkseek/exec-sandbox/README.md +15 -15
  170. package/node_modules/@xrkseek/exec-ssh/README.md +19 -19
  171. package/node_modules/@xrkseek/exec-subprocess/README.md +10 -10
  172. package/node_modules/@xrkseek/exec-video-analyze/README.md +11 -11
  173. package/node_modules/@xrkseek/exec-video-analyze/package.json +26 -26
  174. package/node_modules/@xrkseek/exec-video-gen/README.md +26 -26
  175. package/node_modules/@xrkseek/exec-voice/README.md +25 -25
  176. package/node_modules/@xrkseek/exec-web/README.md +11 -11
  177. package/node_modules/@xrkseek/exec-web/dist/fetch-http.d.ts +8 -0
  178. package/node_modules/@xrkseek/exec-web/dist/fetch-http.d.ts.map +1 -1
  179. package/node_modules/@xrkseek/exec-web/dist/fetch-http.js +5 -1
  180. package/node_modules/@xrkseek/exec-web/dist/fetch-http.js.map +1 -1
  181. package/node_modules/@xrkseek/exec-web/dist/format.d.ts.map +1 -1
  182. package/node_modules/@xrkseek/exec-web/dist/format.js +1 -0
  183. package/node_modules/@xrkseek/exec-web/dist/format.js.map +1 -1
  184. package/node_modules/@xrkseek/exec-web/dist/index.d.ts +2 -2
  185. package/node_modules/@xrkseek/exec-web/dist/index.d.ts.map +1 -1
  186. package/node_modules/@xrkseek/exec-web/dist/index.js +2 -2
  187. package/node_modules/@xrkseek/exec-web/dist/index.js.map +1 -1
  188. package/node_modules/@xrkseek/exec-web/dist/search-duckduckgo.d.ts.map +1 -1
  189. package/node_modules/@xrkseek/exec-web/dist/search-duckduckgo.js +15 -8
  190. package/node_modules/@xrkseek/exec-web/dist/search-duckduckgo.js.map +1 -1
  191. package/node_modules/@xrkseek/exec-web/dist/search-parallel-free.d.ts.map +1 -1
  192. package/node_modules/@xrkseek/exec-web/dist/search-parallel-free.js +21 -13
  193. package/node_modules/@xrkseek/exec-web/dist/search-parallel-free.js.map +1 -1
  194. package/node_modules/@xrkseek/exec-web/dist/search-providers.d.ts +16 -3
  195. package/node_modules/@xrkseek/exec-web/dist/search-providers.d.ts.map +1 -1
  196. package/node_modules/@xrkseek/exec-web/dist/search-providers.js +113 -7
  197. package/node_modules/@xrkseek/exec-web/dist/search-providers.js.map +1 -1
  198. package/node_modules/@xrkseek/exec-web/dist/tools.d.ts.map +1 -1
  199. package/node_modules/@xrkseek/exec-web/dist/tools.js +15 -2
  200. package/node_modules/@xrkseek/exec-web/dist/tools.js.map +1 -1
  201. package/node_modules/@xrkseek/exec-web/dist/types.d.ts +6 -0
  202. package/node_modules/@xrkseek/exec-web/dist/types.d.ts.map +1 -1
  203. package/node_modules/@xrkseek/llm-deepseek/README.md +22 -22
  204. package/node_modules/@xrkseek/llm-deepseek/package.json +30 -30
  205. package/node_modules/@xrkseek/llm-registry/dist/index.d.ts +2 -2
  206. package/node_modules/@xrkseek/llm-registry/dist/index.d.ts.map +1 -1
  207. package/node_modules/@xrkseek/llm-registry/dist/index.js +1 -1
  208. package/node_modules/@xrkseek/llm-registry/dist/index.js.map +1 -1
  209. package/node_modules/@xrkseek/llm-registry/dist/models-dev-catalog.d.ts.map +1 -1
  210. package/node_modules/@xrkseek/llm-registry/dist/models-dev-catalog.js +13 -2
  211. package/node_modules/@xrkseek/llm-registry/dist/models-dev-catalog.js.map +1 -1
  212. package/node_modules/@xrkseek/llm-registry/dist/registry.d.ts +6 -0
  213. package/node_modules/@xrkseek/llm-registry/dist/registry.d.ts.map +1 -1
  214. package/node_modules/@xrkseek/llm-registry/dist/registry.js +6 -0
  215. package/node_modules/@xrkseek/llm-registry/dist/registry.js.map +1 -1
  216. package/node_modules/@xrkseek/llm-registry/dist/types.d.ts +29 -0
  217. package/node_modules/@xrkseek/llm-registry/dist/types.d.ts.map +1 -1
  218. package/node_modules/@xrkseek/llm-registry/dist/types.js +21 -0
  219. package/node_modules/@xrkseek/llm-registry/dist/types.js.map +1 -1
  220. package/node_modules/@xrkseek/mcp/README.md +78 -78
  221. package/node_modules/@xrkseek/policy/README.md +18 -18
  222. package/node_modules/@xrkseek/policy/package.json +31 -31
  223. package/node_modules/@xrkseek/preset-harness/README.md +7 -7
  224. package/node_modules/@xrkseek/preset-harness/dist/mods.d.ts +68 -0
  225. package/node_modules/@xrkseek/preset-harness/dist/mods.d.ts.map +1 -0
  226. package/node_modules/@xrkseek/preset-harness/dist/mods.js +510 -0
  227. package/node_modules/@xrkseek/preset-harness/dist/mods.js.map +1 -0
  228. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts +12 -1
  229. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  230. package/node_modules/@xrkseek/preset-harness/dist/preset.js +73 -26
  231. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  232. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  233. package/node_modules/@xrkseek/preset-harness/package.json +9 -8
  234. package/node_modules/@xrkseek/preset-minimal/README.md +6 -6
  235. package/node_modules/@xrkseek/preset-minimal/dist/preset.d.ts.map +1 -1
  236. package/node_modules/@xrkseek/preset-minimal/dist/preset.js +9 -3
  237. package/node_modules/@xrkseek/preset-minimal/dist/preset.js.map +1 -1
  238. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  239. package/node_modules/@xrkseek/preset-server/README.md +4 -4
  240. package/node_modules/@xrkseek/preset-server/dist/preset.d.ts.map +1 -1
  241. package/node_modules/@xrkseek/preset-server/dist/preset.js +2 -1
  242. package/node_modules/@xrkseek/preset-server/dist/preset.js.map +1 -1
  243. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  244. package/node_modules/@xrkseek/protocol/README.md +34 -34
  245. package/node_modules/@xrkseek/protocol/dist/content.d.ts.map +1 -1
  246. package/node_modules/@xrkseek/protocol/dist/content.js +6 -1
  247. package/node_modules/@xrkseek/protocol/dist/content.js.map +1 -1
  248. package/node_modules/@xrkseek/protocol/dist/index.d.ts +3 -2
  249. package/node_modules/@xrkseek/protocol/dist/index.d.ts.map +1 -1
  250. package/node_modules/@xrkseek/protocol/dist/index.js +1 -0
  251. package/node_modules/@xrkseek/protocol/dist/index.js.map +1 -1
  252. package/node_modules/@xrkseek/protocol/dist/json-schema.d.ts +12 -0
  253. package/node_modules/@xrkseek/protocol/dist/json-schema.d.ts.map +1 -1
  254. package/node_modules/@xrkseek/protocol/dist/json-schema.js +9 -0
  255. package/node_modules/@xrkseek/protocol/dist/json-schema.js.map +1 -1
  256. package/node_modules/@xrkseek/protocol/dist/json-value.d.ts +25 -0
  257. package/node_modules/@xrkseek/protocol/dist/json-value.d.ts.map +1 -0
  258. package/node_modules/@xrkseek/protocol/dist/json-value.js +181 -0
  259. package/node_modules/@xrkseek/protocol/dist/json-value.js.map +1 -0
  260. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts +21 -1
  261. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts.map +1 -1
  262. package/node_modules/@xrkseek/protocol/dist/session-events.js +1 -0
  263. package/node_modules/@xrkseek/protocol/dist/session-events.js.map +1 -1
  264. package/node_modules/@xrkseek/protocol/dist/validate.d.ts +4 -1
  265. package/node_modules/@xrkseek/protocol/dist/validate.d.ts.map +1 -1
  266. package/node_modules/@xrkseek/protocol/dist/validate.js +28 -2
  267. package/node_modules/@xrkseek/protocol/dist/validate.js.map +1 -1
  268. package/node_modules/@xrkseek/schemastery/lib/index.cjs +597 -597
  269. package/node_modules/@xrkseek/schemastery/lib/index.mjs +597 -597
  270. package/node_modules/@xrkseek/schemastery/lib/types/index.d.ts +203 -203
  271. package/node_modules/@xrkseek/schemastery/src/index.d.ts +203 -203
  272. package/node_modules/@xrkseek/schemastery/src/index.ts +906 -906
  273. package/node_modules/@xrkseek/server-config/package.json +28 -28
  274. package/node_modules/@xrkseek/server-cron/README.md +12 -12
  275. package/node_modules/@xrkseek/server-cron/package.json +26 -26
  276. package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.d.ts +22 -0
  277. package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.d.ts.map +1 -1
  278. package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.js +40 -3
  279. package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.js.map +1 -1
  280. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.d.ts.map +1 -1
  281. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.js +2 -0
  282. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.js.map +1 -1
  283. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts +1 -0
  284. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts.map +1 -1
  285. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js +2 -0
  286. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js.map +1 -1
  287. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.d.ts +5 -0
  288. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.d.ts.map +1 -1
  289. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.js +7 -0
  290. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.js.map +1 -1
  291. package/node_modules/@xrkseek/server-face/dist/agent-home-boundary.d.ts +31 -0
  292. package/node_modules/@xrkseek/server-face/dist/agent-home-boundary.d.ts.map +1 -0
  293. package/node_modules/@xrkseek/server-face/dist/agent-home-boundary.js +71 -0
  294. package/node_modules/@xrkseek/server-face/dist/agent-home-boundary.js.map +1 -0
  295. package/node_modules/@xrkseek/server-face/dist/agent-home.d.ts +18 -0
  296. package/node_modules/@xrkseek/server-face/dist/agent-home.d.ts.map +1 -0
  297. package/node_modules/@xrkseek/server-face/dist/agent-home.js +64 -0
  298. package/node_modules/@xrkseek/server-face/dist/agent-home.js.map +1 -0
  299. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts +41 -2
  300. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts.map +1 -1
  301. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js +200 -28
  302. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js.map +1 -1
  303. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js +1 -1
  304. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js.map +1 -1
  305. package/node_modules/@xrkseek/server-face/dist/attach-http.d.ts.map +1 -1
  306. package/node_modules/@xrkseek/server-face/dist/attach-http.js +9 -0
  307. package/node_modules/@xrkseek/server-face/dist/attach-http.js.map +1 -1
  308. package/node_modules/@xrkseek/server-face/dist/boss-status-broadcast.d.ts +55 -0
  309. package/node_modules/@xrkseek/server-face/dist/boss-status-broadcast.d.ts.map +1 -0
  310. package/node_modules/@xrkseek/server-face/dist/boss-status-broadcast.js +167 -0
  311. package/node_modules/@xrkseek/server-face/dist/boss-status-broadcast.js.map +1 -0
  312. package/node_modules/@xrkseek/server-face/dist/collab-board.d.ts +12 -0
  313. package/node_modules/@xrkseek/server-face/dist/collab-board.d.ts.map +1 -1
  314. package/node_modules/@xrkseek/server-face/dist/collab-board.js +101 -19
  315. package/node_modules/@xrkseek/server-face/dist/collab-board.js.map +1 -1
  316. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.d.ts +2 -2
  317. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.d.ts.map +1 -1
  318. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.js +19 -7
  319. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.js.map +1 -1
  320. package/node_modules/@xrkseek/server-face/dist/context.d.ts +29 -0
  321. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  322. package/node_modules/@xrkseek/server-face/dist/dispatch.d.ts.map +1 -1
  323. package/node_modules/@xrkseek/server-face/dist/dispatch.js +4 -1
  324. package/node_modules/@xrkseek/server-face/dist/dispatch.js.map +1 -1
  325. package/node_modules/@xrkseek/server-face/dist/face-schema.d.ts.map +1 -1
  326. package/node_modules/@xrkseek/server-face/dist/face-schema.js +2 -1
  327. package/node_modules/@xrkseek/server-face/dist/face-schema.js.map +1 -1
  328. package/node_modules/@xrkseek/server-face/dist/fork-cut.d.ts.map +1 -1
  329. package/node_modules/@xrkseek/server-face/dist/fork-cut.js +15 -3
  330. package/node_modules/@xrkseek/server-face/dist/fork-cut.js.map +1 -1
  331. package/node_modules/@xrkseek/server-face/dist/fork-lineage.d.ts +7 -0
  332. package/node_modules/@xrkseek/server-face/dist/fork-lineage.d.ts.map +1 -1
  333. package/node_modules/@xrkseek/server-face/dist/fork-lineage.js +23 -8
  334. package/node_modules/@xrkseek/server-face/dist/fork-lineage.js.map +1 -1
  335. package/node_modules/@xrkseek/server-face/dist/handlers/band.d.ts +7 -0
  336. package/node_modules/@xrkseek/server-face/dist/handlers/band.d.ts.map +1 -0
  337. package/node_modules/@xrkseek/server-face/dist/handlers/band.js +40 -0
  338. package/node_modules/@xrkseek/server-face/dist/handlers/band.js.map +1 -0
  339. package/node_modules/@xrkseek/server-face/dist/handlers/checkpoint.d.ts.map +1 -1
  340. package/node_modules/@xrkseek/server-face/dist/handlers/checkpoint.js +81 -3
  341. package/node_modules/@xrkseek/server-face/dist/handlers/checkpoint.js.map +1 -1
  342. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.d.ts.map +1 -1
  343. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js +20 -7
  344. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js.map +1 -1
  345. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts +2 -0
  346. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  347. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +236 -62
  348. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  349. package/node_modules/@xrkseek/server-face/dist/handlers/team.d.ts.map +1 -1
  350. package/node_modules/@xrkseek/server-face/dist/handlers/team.js +100 -9
  351. package/node_modules/@xrkseek/server-face/dist/handlers/team.js.map +1 -1
  352. package/node_modules/@xrkseek/server-face/dist/host-open-in-app.d.ts.map +1 -1
  353. package/node_modules/@xrkseek/server-face/dist/host-open-in-app.js +9 -0
  354. package/node_modules/@xrkseek/server-face/dist/host-open-in-app.js.map +1 -1
  355. package/node_modules/@xrkseek/server-face/dist/host-open-path.d.ts +8 -3
  356. package/node_modules/@xrkseek/server-face/dist/host-open-path.d.ts.map +1 -1
  357. package/node_modules/@xrkseek/server-face/dist/host-open-path.js +61 -19
  358. package/node_modules/@xrkseek/server-face/dist/host-open-path.js.map +1 -1
  359. package/node_modules/@xrkseek/server-face/dist/host-pick-directory.d.ts +2 -1
  360. package/node_modules/@xrkseek/server-face/dist/host-pick-directory.d.ts.map +1 -1
  361. package/node_modules/@xrkseek/server-face/dist/host-pick-directory.js +12 -2
  362. package/node_modules/@xrkseek/server-face/dist/host-pick-directory.js.map +1 -1
  363. package/node_modules/@xrkseek/server-face/dist/index.d.ts +6 -2
  364. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  365. package/node_modules/@xrkseek/server-face/dist/index.js +6 -2
  366. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  367. package/node_modules/@xrkseek/server-face/dist/instruction-authority-fragment.d.ts +19 -0
  368. package/node_modules/@xrkseek/server-face/dist/instruction-authority-fragment.d.ts.map +1 -0
  369. package/node_modules/@xrkseek/server-face/dist/instruction-authority-fragment.js +28 -0
  370. package/node_modules/@xrkseek/server-face/dist/instruction-authority-fragment.js.map +1 -0
  371. package/node_modules/@xrkseek/server-face/dist/log-cut-reset.d.ts +3 -0
  372. package/node_modules/@xrkseek/server-face/dist/log-cut-reset.d.ts.map +1 -0
  373. package/node_modules/@xrkseek/server-face/dist/log-cut-reset.js +22 -0
  374. package/node_modules/@xrkseek/server-face/dist/log-cut-reset.js.map +1 -0
  375. package/node_modules/@xrkseek/server-face/dist/model-catalog.d.ts.map +1 -1
  376. package/node_modules/@xrkseek/server-face/dist/model-catalog.js +60 -5
  377. package/node_modules/@xrkseek/server-face/dist/model-catalog.js.map +1 -1
  378. package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts +2 -2
  379. package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts.map +1 -1
  380. package/node_modules/@xrkseek/server-face/dist/projections/index.js +2 -2
  381. package/node_modules/@xrkseek/server-face/dist/projections/index.js.map +1 -1
  382. package/node_modules/@xrkseek/server-face/dist/projections/list-checkpoint-cache.d.ts +50 -4
  383. package/node_modules/@xrkseek/server-face/dist/projections/list-checkpoint-cache.d.ts.map +1 -1
  384. package/node_modules/@xrkseek/server-face/dist/projections/list-checkpoint-cache.js +167 -19
  385. package/node_modules/@xrkseek/server-face/dist/projections/list-checkpoint-cache.js.map +1 -1
  386. package/node_modules/@xrkseek/server-face/dist/projections/snapshot-keys.d.ts +21 -1
  387. package/node_modules/@xrkseek/server-face/dist/projections/snapshot-keys.d.ts.map +1 -1
  388. package/node_modules/@xrkseek/server-face/dist/projections/snapshot-keys.js +21 -1
  389. package/node_modules/@xrkseek/server-face/dist/projections/snapshot-keys.js.map +1 -1
  390. package/node_modules/@xrkseek/server-face/dist/projections/units/context-pressure.d.ts +8 -4
  391. package/node_modules/@xrkseek/server-face/dist/projections/units/context-pressure.d.ts.map +1 -1
  392. package/node_modules/@xrkseek/server-face/dist/projections/units/context-pressure.js +2 -7
  393. package/node_modules/@xrkseek/server-face/dist/projections/units/context-pressure.js.map +1 -1
  394. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.d.ts.map +1 -1
  395. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.js +58 -0
  396. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.js.map +1 -1
  397. package/node_modules/@xrkseek/server-face/dist/projections/units/cost-usage.d.ts.map +1 -1
  398. package/node_modules/@xrkseek/server-face/dist/projections/units/cost-usage.js +85 -0
  399. package/node_modules/@xrkseek/server-face/dist/projections/units/cost-usage.js.map +1 -1
  400. package/node_modules/@xrkseek/server-face/dist/projections/units/session-list-metadata.d.ts.map +1 -1
  401. package/node_modules/@xrkseek/server-face/dist/projections/units/session-list-metadata.js +14 -0
  402. package/node_modules/@xrkseek/server-face/dist/projections/units/session-list-metadata.js.map +1 -1
  403. package/node_modules/@xrkseek/server-face/dist/projections/units/title.d.ts.map +1 -1
  404. package/node_modules/@xrkseek/server-face/dist/projections/units/title.js +14 -0
  405. package/node_modules/@xrkseek/server-face/dist/projections/units/title.js.map +1 -1
  406. package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.d.ts.map +1 -1
  407. package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.js +24 -0
  408. package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.js.map +1 -1
  409. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts +11 -1
  410. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  411. package/node_modules/@xrkseek/server-face/dist/runtime.js +118 -15
  412. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  413. package/node_modules/@xrkseek/server-face/dist/seat-identity.d.ts +26 -0
  414. package/node_modules/@xrkseek/server-face/dist/seat-identity.d.ts.map +1 -0
  415. package/node_modules/@xrkseek/server-face/dist/seat-identity.js +137 -0
  416. package/node_modules/@xrkseek/server-face/dist/seat-identity.js.map +1 -0
  417. package/node_modules/@xrkseek/server-face/dist/seat-titles.d.ts +29 -0
  418. package/node_modules/@xrkseek/server-face/dist/seat-titles.d.ts.map +1 -0
  419. package/node_modules/@xrkseek/server-face/dist/seat-titles.js +74 -0
  420. package/node_modules/@xrkseek/server-face/dist/seat-titles.js.map +1 -0
  421. package/node_modules/@xrkseek/server-face/dist/session-capability.d.ts.map +1 -1
  422. package/node_modules/@xrkseek/server-face/dist/session-capability.js +9 -6
  423. package/node_modules/@xrkseek/server-face/dist/session-capability.js.map +1 -1
  424. package/node_modules/@xrkseek/server-face/dist/session-event-window.d.ts +37 -0
  425. package/node_modules/@xrkseek/server-face/dist/session-event-window.d.ts.map +1 -0
  426. package/node_modules/@xrkseek/server-face/dist/session-event-window.js +88 -0
  427. package/node_modules/@xrkseek/server-face/dist/session-event-window.js.map +1 -0
  428. package/node_modules/@xrkseek/server-face/dist/session-identity-store.d.ts +20 -0
  429. package/node_modules/@xrkseek/server-face/dist/session-identity-store.d.ts.map +1 -0
  430. package/node_modules/@xrkseek/server-face/dist/session-identity-store.js +82 -0
  431. package/node_modules/@xrkseek/server-face/dist/session-identity-store.js.map +1 -0
  432. package/node_modules/@xrkseek/server-face/dist/session-posture.d.ts +1 -1
  433. package/node_modules/@xrkseek/server-face/dist/session-posture.d.ts.map +1 -1
  434. package/node_modules/@xrkseek/server-face/dist/session-posture.js +20 -5
  435. package/node_modules/@xrkseek/server-face/dist/session-posture.js.map +1 -1
  436. package/node_modules/@xrkseek/server-face/dist/session-query-tools.d.ts +1 -0
  437. package/node_modules/@xrkseek/server-face/dist/session-query-tools.d.ts.map +1 -1
  438. package/node_modules/@xrkseek/server-face/dist/session-query-tools.js +172 -25
  439. package/node_modules/@xrkseek/server-face/dist/session-query-tools.js.map +1 -1
  440. package/node_modules/@xrkseek/server-face/dist/session-search.d.ts +20 -2
  441. package/node_modules/@xrkseek/server-face/dist/session-search.d.ts.map +1 -1
  442. package/node_modules/@xrkseek/server-face/dist/session-search.js +125 -19
  443. package/node_modules/@xrkseek/server-face/dist/session-search.js.map +1 -1
  444. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts +6 -0
  445. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
  446. package/node_modules/@xrkseek/server-face/dist/session-status.js +161 -21
  447. package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
  448. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.d.ts.map +1 -1
  449. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js +5 -0
  450. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js.map +1 -1
  451. package/node_modules/@xrkseek/server-face/dist/session-tool-copy.d.ts.map +1 -1
  452. package/node_modules/@xrkseek/server-face/dist/session-tool-copy.js +2 -1
  453. package/node_modules/@xrkseek/server-face/dist/session-tool-copy.js.map +1 -1
  454. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts.map +1 -1
  455. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js +43 -3
  456. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js.map +1 -1
  457. package/node_modules/@xrkseek/server-face/dist/settings-document.d.ts.map +1 -1
  458. package/node_modules/@xrkseek/server-face/dist/settings-document.js +4 -0
  459. package/node_modules/@xrkseek/server-face/dist/settings-document.js.map +1 -1
  460. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  461. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +76 -11
  462. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  463. package/node_modules/@xrkseek/server-face/dist/skill-documents.d.ts.map +1 -1
  464. package/node_modules/@xrkseek/server-face/dist/skill-documents.js +14 -4
  465. package/node_modules/@xrkseek/server-face/dist/skill-documents.js.map +1 -1
  466. package/node_modules/@xrkseek/server-face/dist/skill-list.d.ts +4 -2
  467. package/node_modules/@xrkseek/server-face/dist/skill-list.d.ts.map +1 -1
  468. package/node_modules/@xrkseek/server-face/dist/skill-list.js +10 -4
  469. package/node_modules/@xrkseek/server-face/dist/skill-list.js.map +1 -1
  470. package/node_modules/@xrkseek/server-face/dist/skill-read.d.ts.map +1 -1
  471. package/node_modules/@xrkseek/server-face/dist/skill-read.js +9 -2
  472. package/node_modules/@xrkseek/server-face/dist/skill-read.js.map +1 -1
  473. package/node_modules/@xrkseek/server-face/dist/skill-source.d.ts +2 -1
  474. package/node_modules/@xrkseek/server-face/dist/skill-source.d.ts.map +1 -1
  475. package/node_modules/@xrkseek/server-face/dist/skill-source.js +12 -2
  476. package/node_modules/@xrkseek/server-face/dist/skill-source.js.map +1 -1
  477. package/node_modules/@xrkseek/server-face/dist/slash.d.ts +10 -1
  478. package/node_modules/@xrkseek/server-face/dist/slash.d.ts.map +1 -1
  479. package/node_modules/@xrkseek/server-face/dist/slash.js +118 -26
  480. package/node_modules/@xrkseek/server-face/dist/slash.js.map +1 -1
  481. package/node_modules/@xrkseek/server-face/dist/status-snapshot-cache.d.ts.map +1 -1
  482. package/node_modules/@xrkseek/server-face/dist/status-snapshot-cache.js +53 -0
  483. package/node_modules/@xrkseek/server-face/dist/status-snapshot-cache.js.map +1 -1
  484. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  485. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +7 -2
  486. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  487. package/node_modules/@xrkseek/server-face/dist/types.d.ts +23 -0
  488. package/node_modules/@xrkseek/server-face/dist/types.d.ts.map +1 -1
  489. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.d.ts +17 -2
  490. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.d.ts.map +1 -1
  491. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.js +111 -10
  492. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.js.map +1 -1
  493. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts.map +1 -1
  494. package/node_modules/@xrkseek/server-face/dist/workspace-face.js +19 -14
  495. package/node_modules/@xrkseek/server-face/dist/workspace-face.js.map +1 -1
  496. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.d.ts +22 -0
  497. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.d.ts.map +1 -0
  498. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.js +35 -0
  499. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.js.map +1 -0
  500. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.d.ts +3 -2
  501. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.d.ts.map +1 -1
  502. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js +74 -57
  503. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js.map +1 -1
  504. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts +31 -0
  505. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts.map +1 -1
  506. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js +109 -0
  507. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js.map +1 -1
  508. package/node_modules/@xrkseek/server-face/dist/workspace-store.d.ts +2 -0
  509. package/node_modules/@xrkseek/server-face/dist/workspace-store.d.ts.map +1 -1
  510. package/node_modules/@xrkseek/server-face/dist/workspace-store.js +7 -0
  511. package/node_modules/@xrkseek/server-face/dist/workspace-store.js.map +1 -1
  512. package/node_modules/@xrkseek/server-face/package.json +60 -60
  513. package/node_modules/@xrkseek/server-host/dist/index.d.ts +37 -6
  514. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  515. package/node_modules/@xrkseek/server-host/dist/index.js +182 -28
  516. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  517. package/node_modules/@xrkseek/server-host/dist/log.d.ts +6 -0
  518. package/node_modules/@xrkseek/server-host/dist/log.d.ts.map +1 -1
  519. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.d.ts.map +1 -1
  520. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js +17 -2
  521. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js.map +1 -1
  522. package/node_modules/@xrkseek/server-host/dist/standing-tools.d.ts.map +1 -1
  523. package/node_modules/@xrkseek/server-host/dist/standing-tools.js +3 -3
  524. package/node_modules/@xrkseek/server-host/dist/standing-tools.js.map +1 -1
  525. package/node_modules/@xrkseek/server-host/package.json +75 -75
  526. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts +5 -0
  527. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts.map +1 -1
  528. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-tool-pre.d.ts +1 -1
  529. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-tool-pre.d.ts.map +1 -1
  530. package/node_modules/@xrkseek/server-http/dist/dsh-compat/genui-browser-runtime.js +188 -188
  531. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts +1 -1
  532. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts.map +1 -1
  533. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js +1 -1
  534. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js.map +1 -1
  535. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.d.ts.map +1 -1
  536. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.js +292 -24
  537. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.js.map +1 -1
  538. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.d.ts.map +1 -1
  539. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.js +12 -1
  540. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.js.map +1 -1
  541. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.d.ts +16 -1
  542. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.d.ts.map +1 -1
  543. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.js +47 -2
  544. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.js.map +1 -1
  545. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-center.d.ts +1 -1
  546. package/node_modules/@xrkseek/server-http/dist/dsh-compat/token-usage-stats-dash.js +53 -53
  547. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.d.ts +9 -4
  548. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.d.ts.map +1 -1
  549. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.js +39 -20
  550. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.js.map +1 -1
  551. package/node_modules/@xrkseek/server-http/dist/index.d.ts +2 -1
  552. package/node_modules/@xrkseek/server-http/dist/index.d.ts.map +1 -1
  553. package/node_modules/@xrkseek/server-http/dist/index.js +2 -1
  554. package/node_modules/@xrkseek/server-http/dist/index.js.map +1 -1
  555. package/node_modules/@xrkseek/server-http/dist/sunflower-free/ensure.d.ts +55 -0
  556. package/node_modules/@xrkseek/server-http/dist/sunflower-free/ensure.d.ts.map +1 -0
  557. package/node_modules/@xrkseek/server-http/dist/sunflower-free/ensure.js +176 -0
  558. package/node_modules/@xrkseek/server-http/dist/sunflower-free/ensure.js.map +1 -0
  559. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.d.ts +2 -0
  560. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.d.ts.map +1 -1
  561. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.js +7 -3
  562. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.js.map +1 -1
  563. package/node_modules/@xrkseek/server-http/package.json +72 -72
  564. package/node_modules/@xrkseek/server-loader/dist/load.d.ts.map +1 -1
  565. package/node_modules/@xrkseek/server-loader/dist/load.js +132 -0
  566. package/node_modules/@xrkseek/server-loader/dist/load.js.map +1 -1
  567. package/node_modules/@xrkseek/session-projection/README.md +26 -26
  568. package/node_modules/@xrkseek/session-projection/dist/index.d.ts +31 -2
  569. package/node_modules/@xrkseek/session-projection/dist/index.d.ts.map +1 -1
  570. package/node_modules/@xrkseek/session-projection/dist/index.js +135 -19
  571. package/node_modules/@xrkseek/session-projection/dist/index.js.map +1 -1
  572. package/node_modules/@xrkseek/session-telemetry/README.md +11 -11
  573. package/node_modules/@xrkseek/session-telemetry/dist/index.d.ts +1 -0
  574. package/node_modules/@xrkseek/session-telemetry/dist/index.d.ts.map +1 -1
  575. package/node_modules/@xrkseek/session-telemetry/dist/index.js +1 -0
  576. package/node_modules/@xrkseek/session-telemetry/dist/index.js.map +1 -1
  577. package/node_modules/@xrkseek/session-telemetry/dist/redact.d.ts +14 -0
  578. package/node_modules/@xrkseek/session-telemetry/dist/redact.d.ts.map +1 -0
  579. package/node_modules/@xrkseek/session-telemetry/dist/redact.js +58 -0
  580. package/node_modules/@xrkseek/session-telemetry/dist/redact.js.map +1 -0
  581. package/node_modules/@xrkseek/session-telemetry/dist/wrap-store.d.ts +7 -0
  582. package/node_modules/@xrkseek/session-telemetry/dist/wrap-store.d.ts.map +1 -1
  583. package/node_modules/@xrkseek/session-telemetry/dist/wrap-store.js +43 -12
  584. package/node_modules/@xrkseek/session-telemetry/dist/wrap-store.js.map +1 -1
  585. package/node_modules/@xrkseek/session-telemetry/package.json +27 -27
  586. package/node_modules/@xrkseek/workspace/dist/durable-inject.d.ts +13 -0
  587. package/node_modules/@xrkseek/workspace/dist/durable-inject.d.ts.map +1 -1
  588. package/node_modules/@xrkseek/workspace/dist/durable-inject.js +40 -4
  589. package/node_modules/@xrkseek/workspace/dist/durable-inject.js.map +1 -1
  590. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.d.ts +10 -9
  591. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.d.ts.map +1 -1
  592. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.js +67 -19
  593. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.js.map +1 -1
  594. package/node_modules/@xrkseek/workspace/dist/index.d.ts +19 -20
  595. package/node_modules/@xrkseek/workspace/dist/index.d.ts.map +1 -1
  596. package/node_modules/@xrkseek/workspace/dist/index.js +43 -20
  597. package/node_modules/@xrkseek/workspace/dist/index.js.map +1 -1
  598. package/node_modules/@xrkseek/workspace/dist/inject-fingerprint.d.ts +2 -0
  599. package/node_modules/@xrkseek/workspace/dist/inject-fingerprint.d.ts.map +1 -1
  600. package/node_modules/@xrkseek/workspace/dist/inject-fingerprint.js +23 -12
  601. package/node_modules/@xrkseek/workspace/dist/inject-fingerprint.js.map +1 -1
  602. package/node_modules/@xrkseek/workspace/dist/inject-sources.d.ts +7 -4
  603. package/node_modules/@xrkseek/workspace/dist/inject-sources.d.ts.map +1 -1
  604. package/node_modules/@xrkseek/workspace/dist/inject-sources.js +10 -0
  605. package/node_modules/@xrkseek/workspace/dist/inject-sources.js.map +1 -1
  606. package/node_modules/@xrkseek/workspace/dist/instruction-authority.d.ts +27 -0
  607. package/node_modules/@xrkseek/workspace/dist/instruction-authority.d.ts.map +1 -0
  608. package/node_modules/@xrkseek/workspace/dist/instruction-authority.js +78 -0
  609. package/node_modules/@xrkseek/workspace/dist/instruction-authority.js.map +1 -0
  610. package/node_modules/@xrkseek/workspace/dist/skill-dirs.d.ts +7 -0
  611. package/node_modules/@xrkseek/workspace/dist/skill-dirs.d.ts.map +1 -1
  612. package/node_modules/@xrkseek/workspace/dist/skill-dirs.js +4 -2
  613. package/node_modules/@xrkseek/workspace/dist/skill-dirs.js.map +1 -1
  614. package/node_modules/@xrkseek/workspace/dist/skill-tools.js +1 -1
  615. package/node_modules/@xrkseek/workspace/dist/skill-tools.js.map +1 -1
  616. package/node_modules/@xrkseek/workspace/dist/skills.d.ts +13 -1
  617. package/node_modules/@xrkseek/workspace/dist/skills.d.ts.map +1 -1
  618. package/node_modules/@xrkseek/workspace/dist/skills.js +45 -5
  619. package/node_modules/@xrkseek/workspace/dist/skills.js.map +1 -1
  620. package/node_modules/@xrkseek/workspace/dist/standing-skill-dirs.d.ts +26 -0
  621. package/node_modules/@xrkseek/workspace/dist/standing-skill-dirs.d.ts.map +1 -0
  622. package/node_modules/@xrkseek/workspace/dist/standing-skill-dirs.js +80 -0
  623. package/node_modules/@xrkseek/workspace/dist/standing-skill-dirs.js.map +1 -0
  624. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.d.ts +7 -1
  625. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.d.ts.map +1 -1
  626. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.js +21 -1
  627. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.js.map +1 -1
  628. package/node_modules/@xrkseek/workspace/package.json +28 -28
  629. package/node_modules/@xrkseek/xrk-agent/lib/index.js +1 -793
  630. package/node_modules/@xrkseek/xrk-agent/lib/invariant.js +1 -23
  631. package/node_modules/@xrkseek/xrk-attachment/lib/index.js +1 -1
  632. package/node_modules/@xrkseek/xrk-attachment/lib/invariant.js +1 -0
  633. package/node_modules/@xrkseek/xrk-attachment/lib/types/brand.js +10 -0
  634. package/node_modules/@xrkseek/xrk-attachment/lib/types/error.js +48 -0
  635. package/node_modules/@xrkseek/xrk-attachment/lib/types/index.js +42 -0
  636. package/node_modules/@xrkseek/xrk-attachment/lib/types/invariant.js +16 -0
  637. package/node_modules/@xrkseek/xrk-attachment/lib/types/types.d.ts +6 -0
  638. package/node_modules/@xrkseek/xrk-attachment/lib/types/types.js +3 -0
  639. package/node_modules/@xrkseek/xrk-attachment/package.json +1 -0
  640. package/node_modules/@xrkseek/xrk-brand/lib/index.js +1 -1
  641. package/node_modules/@xrkseek/xrk-brand/lib/invariant.js +1 -0
  642. package/node_modules/@xrkseek/xrk-brand/lib/types/index.js +24 -0
  643. package/node_modules/@xrkseek/xrk-brand/lib/types/invariant.js +22 -0
  644. package/node_modules/@xrkseek/xrk-brand/package.json +1 -0
  645. package/node_modules/@xrkseek/xrk-commands/lib/index.js +1 -1
  646. package/node_modules/@xrkseek/xrk-commands/lib/invariant.js +1 -0
  647. package/node_modules/@xrkseek/xrk-file-reference-local/README.md +46 -46
  648. package/node_modules/@xrkseek/xrk-file-reference-local/README.zh.md +46 -46
  649. package/node_modules/@xrkseek/xrk-file-reference-local/package.json +30 -30
  650. package/node_modules/@xrkseek/xrk-invariants/lib/index.js +1 -1
  651. package/node_modules/@xrkseek/xrk-invariants/lib/invariant.js +1 -0
  652. package/node_modules/@xrkseek/xrk-invariants/lib/types/index.js +148 -0
  653. package/node_modules/@xrkseek/xrk-invariants/lib/types/invariant.js +22 -0
  654. package/node_modules/@xrkseek/xrk-invariants/package.json +1 -0
  655. package/node_modules/@xrkseek/xrk-llm/lib/index.js +1 -1
  656. package/node_modules/@xrkseek/xrk-llm/lib/invariant.js +1 -0
  657. package/node_modules/@xrkseek/xrk-llm/lib/types/index.js +4 -0
  658. package/node_modules/@xrkseek/xrk-llm/lib/types/types.d.ts +11 -0
  659. package/node_modules/@xrkseek/xrk-permission-presets/lib/index.js +1 -1
  660. package/node_modules/@xrkseek/xrk-permission-presets/lib/invariant.js +1 -0
  661. package/node_modules/@xrkseek/xrk-scope/lib/index.js +1 -0
  662. package/node_modules/@xrkseek/xrk-scope/lib/types/index.d.ts +129 -0
  663. package/node_modules/@xrkseek/xrk-scope/lib/types/index.js +243 -0
  664. package/node_modules/@xrkseek/xrk-scope/package.json +34 -0
  665. package/node_modules/@xrkseek/xrk-session/lib/index.js +1 -1
  666. package/node_modules/@xrkseek/xrk-session/lib/invariant.js +1 -0
  667. package/node_modules/@xrkseek/xrk-session-projection/lib/index.js +1 -1
  668. package/node_modules/@xrkseek/xrk-session-projection/lib/invariant.js +1 -0
  669. package/node_modules/@xrkseek/xrk-session-reference/README.md +50 -50
  670. package/node_modules/@xrkseek/xrk-session-reference/README.zh.md +50 -50
  671. package/node_modules/@xrkseek/xrk-session-reference/dist/prepare-face.js +13 -13
  672. package/node_modules/@xrkseek/xrk-session-reference/dist/spill.js +2 -2
  673. package/node_modules/@xrkseek/xrk-session-reference/package.json +56 -56
  674. package/node_modules/@xrkseek/xrk-settings/lib/index.js +1 -638
  675. package/node_modules/@xrkseek/xrk-settings/lib/invariant.js +1 -67
  676. package/node_modules/@xrkseek/xrk-system-prompt/package.json +15 -15
  677. package/node_modules/@xrkseek/xrk-system-prompt/src/index.ts +144 -144
  678. package/node_modules/@xrkseek/xrk-token-meter/README.i18n.yaml +6 -0
  679. package/node_modules/@xrkseek/xrk-token-meter/README.md +68 -0
  680. package/node_modules/@xrkseek/xrk-token-meter/README.zh.md +68 -0
  681. package/node_modules/@xrkseek/xrk-token-meter/lib/index.js +1 -0
  682. package/node_modules/@xrkseek/xrk-token-meter/lib/invariant.js +1 -0
  683. package/node_modules/@xrkseek/xrk-token-meter/lib/types/breakdown-projection.d.ts +29 -0
  684. package/node_modules/@xrkseek/xrk-token-meter/lib/types/breakdown-projection.js +56 -0
  685. package/node_modules/@xrkseek/xrk-token-meter/lib/types/client.d.ts +9 -0
  686. package/node_modules/@xrkseek/xrk-token-meter/lib/types/client.js +7 -0
  687. package/node_modules/@xrkseek/xrk-token-meter/lib/types/estimate.d.ts +42 -0
  688. package/node_modules/@xrkseek/xrk-token-meter/lib/types/estimate.js +79 -0
  689. package/node_modules/@xrkseek/xrk-token-meter/lib/types/index.d.ts +62 -0
  690. package/node_modules/@xrkseek/xrk-token-meter/lib/types/index.js +250 -0
  691. package/node_modules/@xrkseek/xrk-token-meter/lib/types/invariant.d.ts +16 -0
  692. package/node_modules/@xrkseek/xrk-token-meter/lib/types/invariant.js +30 -0
  693. package/node_modules/@xrkseek/xrk-token-meter/lib/types/projection.d.ts +74 -0
  694. package/node_modules/@xrkseek/xrk-token-meter/lib/types/projection.js +7 -0
  695. package/node_modules/@xrkseek/xrk-token-meter/lib/types/surface-fold.d.ts +38 -0
  696. package/node_modules/@xrkseek/xrk-token-meter/lib/types/surface-fold.js +47 -0
  697. package/node_modules/@xrkseek/xrk-token-meter/lib/types/surface-projection.d.ts +59 -0
  698. package/node_modules/@xrkseek/xrk-token-meter/lib/types/surface-projection.js +66 -0
  699. package/node_modules/@xrkseek/xrk-token-meter/lib/types/turn-usage.d.ts +33 -0
  700. package/node_modules/@xrkseek/xrk-token-meter/lib/types/turn-usage.js +247 -0
  701. package/node_modules/@xrkseek/xrk-token-meter/lib/types/types.d.ts +44 -0
  702. package/node_modules/@xrkseek/xrk-token-meter/lib/types/types.js +7 -0
  703. package/node_modules/@xrkseek/xrk-token-meter/lib/types/usage-projection.d.ts +64 -0
  704. package/node_modules/@xrkseek/xrk-token-meter/lib/types/usage-projection.js +161 -0
  705. package/node_modules/@xrkseek/xrk-token-meter/package.json +57 -0
  706. package/node_modules/@xrkseek/xrk-tools/lib/index.js +1 -1
  707. package/node_modules/@xrkseek/xrk-tools/lib/invariant.js +1 -1
  708. package/node_modules/@xrkseek/xrk-tools/src/presentation.ts +39 -39
  709. package/node_modules/@xrkseek/xrk-typert-protocol/lib/index.js +1 -1
  710. package/node_modules/@xrkseek/xrk-typert-protocol/lib/invariant.js +1 -0
  711. package/node_modules/@xrkseek/xrk-workflow/README.md +73 -73
  712. package/node_modules/@xrkseek/xrk-workflow/README.zh.md +72 -72
  713. package/node_modules/@xrkseek/xrk-workflow/lib/types/index.js +118 -118
  714. package/package.json +7 -1
  715. package/node_modules/@xrkseek/llm/dist/reasoning-effort.d.ts +0 -14
  716. package/node_modules/@xrkseek/llm/dist/reasoning-effort.d.ts.map +0 -1
  717. package/node_modules/@xrkseek/llm/dist/reasoning-effort.js +0 -21
  718. package/node_modules/@xrkseek/llm/dist/reasoning-effort.js.map +0 -1
  719. package/node_modules/@xrkseek/server-face/dist/index.d.mts +0 -3734
  720. package/node_modules/@xrkseek/server-face/dist/index.d.mts.map +0 -1
  721. package/node_modules/@xrkseek/server-face/dist/index.mjs +0 -22085
  722. package/node_modules/@xrkseek/server-face/dist/index.mjs.map +0 -1
  723. package/node_modules/@xrkseek/server-face/dist/model-reasoning.d.ts +0 -51
  724. package/node_modules/@xrkseek/server-face/dist/model-reasoning.d.ts.map +0 -1
  725. package/node_modules/@xrkseek/server-face/dist/model-reasoning.js +0 -104
  726. package/node_modules/@xrkseek/server-face/dist/model-reasoning.js.map +0 -1
  727. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.d.ts +0 -2
  728. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.d.ts.map +0 -1
  729. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.js +0 -98
  730. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.js.map +0 -1
  731. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.d.ts +0 -18
  732. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.d.ts.map +0 -1
  733. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.js +0 -141
  734. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.js.map +0 -1
  735. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.d.ts +0 -30
  736. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.d.ts.map +0 -1
  737. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.js +0 -96
  738. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.js.map +0 -1
@@ -0,0 +1,243 @@
1
+ /**
2
+ * The band above the prompt as the host draws it for one session: renders
3
+ * through the mods' `ui.render` hooks, keeps the latest tree with its button
4
+ * callbacks held host-side, redraws when a `$.state` value a render read
5
+ * changes or a mod asks, and hands watchers each new generation.
6
+ * @module
7
+ */
8
+ import { serializeTree, treeProblem } from "./elements.js";
9
+ import { messageOf } from "./values.js";
10
+ class SessionBand {
11
+ generation = 0;
12
+ tree = null;
13
+ /** `$.state` slots the last render read, as `<plugin>\u0000<key>`. */
14
+ subscribed = new Set();
15
+ /** Button callbacks of the current generation, by the `actionId` the serialized tree carries. */
16
+ actions = new Map();
17
+ watchers = new Set();
18
+ /** The render in flight; a refresh during it joins one more pass that starts when it ends. */
19
+ rendering;
20
+ pending;
21
+ /** Set by `forget`: watchers end at their next wake and no further pass renders. */
22
+ closed = false;
23
+ /** Wakes every parked watcher, so a closed band ends its streams. */
24
+ wakers = new Set();
25
+ /** Set while a render runs: `$.state` reads subscribe. */
26
+ collecting;
27
+ snapshot() {
28
+ return { generation: this.generation, tree: this.tree };
29
+ }
30
+ }
31
+ /**
32
+ * Bands by session id.
33
+ */
34
+ export class SurfaceTable {
35
+ host;
36
+ bands = new Map();
37
+ disposed = false;
38
+ constructor(host) {
39
+ this.host = host;
40
+ }
41
+ /**
42
+ * The latest snapshot of a session's band, drawing it first when nothing was drawn yet.
43
+ * @param sessionId - the session.
44
+ * @returns the current generation.
45
+ */
46
+ async current(sessionId) {
47
+ const band = this.bandOf(sessionId);
48
+ if (band.generation === 0)
49
+ await this.refresh(sessionId);
50
+ return band.snapshot();
51
+ }
52
+ /**
53
+ * Watch a session's band: the current snapshot first, then every redraw, until the signal aborts.
54
+ * @param sessionId - the session.
55
+ * @param signal - ends the watch.
56
+ * @returns the snapshots.
57
+ */
58
+ async *watch(sessionId, signal) {
59
+ const band = this.bandOf(sessionId);
60
+ const queue = [];
61
+ let wake;
62
+ const watcher = (snapshot) => {
63
+ queue.push(snapshot);
64
+ wake?.();
65
+ };
66
+ band.watchers.add(watcher);
67
+ const onAbort = () => {
68
+ wake?.();
69
+ };
70
+ const waker = () => {
71
+ wake?.();
72
+ };
73
+ band.wakers.add(waker);
74
+ signal.addEventListener("abort", onAbort, { once: true });
75
+ try {
76
+ const first = await this.current(sessionId);
77
+ let delivered = first.generation;
78
+ yield first;
79
+ while (!signal.aborted && !band.closed) {
80
+ const next = queue.shift();
81
+ if (next !== undefined) {
82
+ // The first drawing may arrive both as the current snapshot and as a watcher notification.
83
+ if (next.generation <= delivered)
84
+ continue;
85
+ delivered = next.generation;
86
+ yield next;
87
+ continue;
88
+ }
89
+ await new Promise((resolve) => {
90
+ wake = resolve;
91
+ });
92
+ wake = undefined;
93
+ }
94
+ }
95
+ finally {
96
+ band.watchers.delete(watcher);
97
+ band.wakers.delete(waker);
98
+ signal.removeEventListener("abort", onAbort);
99
+ }
100
+ }
101
+ /**
102
+ * Redraw a session's band through the mods and notify watchers when the tree changed.
103
+ * @param sessionId - the session.
104
+ * @returns settles once the redraw landed.
105
+ */
106
+ refresh(sessionId) {
107
+ const band = this.bandOf(sessionId);
108
+ if (band.rendering === undefined) {
109
+ band.rendering = this.renderOnce(sessionId, band).finally(() => {
110
+ band.rendering = undefined;
111
+ });
112
+ return band.rendering;
113
+ }
114
+ // One more pass after the one in flight serves every refresh asked for meanwhile.
115
+ band.pending ??= band.rendering.then(() => {
116
+ band.pending = undefined;
117
+ return this.refresh(sessionId);
118
+ });
119
+ return band.pending;
120
+ }
121
+ /**
122
+ * Run the callback a button holds and redraw. A press from an earlier
123
+ * generation is ignored: the button it names may no longer exist.
124
+ * @param sessionId - the session.
125
+ * @param generation - the generation the client saw.
126
+ * @param actionId - the id the serialized Button carried.
127
+ * @returns the snapshot after the press.
128
+ */
129
+ async press(sessionId, generation, actionId) {
130
+ const band = this.bandOf(sessionId);
131
+ const action = generation === band.generation ? band.actions.get(actionId) : undefined;
132
+ if (action === undefined) {
133
+ this.host.report(`band press ignored: ${actionId} of generation ${generation} is not on the current drawing (${band.generation})`);
134
+ return band.snapshot();
135
+ }
136
+ await this.host.runAction(sessionId, action);
137
+ await this.refresh(sessionId);
138
+ return band.snapshot();
139
+ }
140
+ /**
141
+ * Note a `$.state` read: during a render it subscribes the band to the slot.
142
+ * @param sessionId - the session the state belongs to.
143
+ * @param slot - the `<plugin>\u0000<key>` slot.
144
+ */
145
+ stateRead(sessionId, slot) {
146
+ this.bands.get(sessionId)?.collecting?.add(slot);
147
+ }
148
+ /**
149
+ * Note a `$.state` write: a subscribed band redraws.
150
+ * @param sessionId - the session the state belongs to.
151
+ * @param slot - the `<plugin>\u0000<key>` slot.
152
+ */
153
+ stateWritten(sessionId, slot) {
154
+ const band = this.bands.get(sessionId);
155
+ if (band === undefined || !band.subscribed.has(slot))
156
+ return;
157
+ void this.refresh(sessionId);
158
+ }
159
+ /**
160
+ * Forget a session's band: its watch streams end and no further pass renders it.
161
+ * @param sessionId - the disposed session.
162
+ */
163
+ forget(sessionId) {
164
+ const band = this.bands.get(sessionId);
165
+ if (band === undefined)
166
+ return;
167
+ this.bands.delete(sessionId);
168
+ band.closed = true;
169
+ band.watchers.clear();
170
+ for (const waker of [...band.wakers])
171
+ waker();
172
+ }
173
+ /** Stop drawing: every band is forgotten and its watch streams end. */
174
+ dispose() {
175
+ this.disposed = true;
176
+ for (const sessionId of [...this.bands.keys()])
177
+ this.forget(sessionId);
178
+ }
179
+ bandOf(sessionId) {
180
+ let band = this.bands.get(sessionId);
181
+ if (band === undefined) {
182
+ band = new SessionBand();
183
+ this.bands.set(sessionId, band);
184
+ }
185
+ return band;
186
+ }
187
+ async renderOnce(sessionId, band) {
188
+ if (this.disposed || band.closed)
189
+ return;
190
+ const input = {
191
+ component: "AbovePrompt",
192
+ surface: "AbovePrompt",
193
+ props: {
194
+ bodyColumns: this.host.columns,
195
+ hasSurvey: false,
196
+ isWorking: false,
197
+ maxRows: this.host.rows,
198
+ },
199
+ viewport: { columns: this.host.columns },
200
+ };
201
+ band.collecting = new Set();
202
+ let tree;
203
+ try {
204
+ tree = await this.host.render(sessionId, input);
205
+ }
206
+ catch (error) {
207
+ this.host.report(`band render failed: ${messageOf(error)}`);
208
+ tree = null;
209
+ }
210
+ band.subscribed.clear();
211
+ for (const slot of band.collecting)
212
+ band.subscribed.add(slot);
213
+ band.collecting = undefined;
214
+ const problem = treeProblem(tree);
215
+ if (problem !== undefined) {
216
+ this.host.report(`a ui.render hook returned a tree that does not validate: ${problem}`);
217
+ tree = null;
218
+ }
219
+ // Action ids count up per drawing, so an unchanged tree serializes identically and keeps its generation.
220
+ const actions = new Map();
221
+ const serialized = serializeTree(tree, (callback) => {
222
+ const id = `a${actions.size}`;
223
+ actions.set(id, callback);
224
+ return id;
225
+ });
226
+ const next = serialized.length === 0 ? null : serialized;
227
+ if (band.generation > 0 && JSON.stringify(next) === JSON.stringify(band.tree)) {
228
+ // The same drawing with possibly fresh closures: keep the generation, hold the new callbacks.
229
+ band.actions.clear();
230
+ for (const [id, action] of actions)
231
+ band.actions.set(id, action);
232
+ return;
233
+ }
234
+ band.generation += 1;
235
+ band.tree = next;
236
+ band.actions.clear();
237
+ for (const [id, action] of actions)
238
+ band.actions.set(id, action);
239
+ for (const watcher of band.watchers)
240
+ watcher(band.snapshot());
241
+ }
242
+ }
243
+ //# sourceMappingURL=surfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surfaces.js","sourceRoot":"","sources":["../src/surfaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * A test kit in the shape of `claude-code/testing`: load mods, register
3
+ * stubs that answer in the engine's place beneath every mod, raise events
4
+ * through the mods' hooks, and mount a surface to assert what a mod draws —
5
+ * no session, agent, or harness service involved. This repository's test
6
+ * setup wraps it as `claude-code/testing` for the example mods' own tests.
7
+ * @module
8
+ */
9
+ import type { LoadedMod, RegisteredHook } from "./chain.js";
10
+ import type { ModPlugin } from "./define-mod.js";
11
+ import type { TreePattern, UiElement, UiNode } from "./elements.js";
12
+ import type { CommandRunInput, CommandRunResult, ModDefinition, ModsApi, PromptSubmitInput, PromptSubmitResult, SessionEndInput, SessionEndResult, SessionStartInput, SessionStartResult, ToolCallInput, ToolCallResult, TurnCompleteInput, TurnCompleteResult, TurnStartInput, TurnStartResult, UiRenderInput } from "./types.js";
13
+ /**
14
+ * A stub answering one event in the engine's place. For an engine event it
15
+ * returns that event's result; for a mods API call it returns `{ value }` or
16
+ * `{ deny }`, and `undefined` from either reads as "not answered".
17
+ */
18
+ export type StubHook = ($: ModsApi, e: never) => unknown;
19
+ /** Test kit construction options. */
20
+ export interface ModTestKitOptions {
21
+ /** Mods to load, in chain order: definitions or the plugins `defineMod` made. */
22
+ readonly mods?: readonly (ModDefinition | ModPlugin)[];
23
+ /** `register` option values by plugin name, overlaid on each mod's own options. */
24
+ readonly options?: Readonly<Record<string, ModDefinition["options"]>>;
25
+ /** A hook's own running-time limit in milliseconds; defaults to 5 seconds, Claude Code's test limit. */
26
+ readonly budgetMs?: number;
27
+ }
28
+ /** What `$.ui.mount` takes: the surface to draw and the props the host would pass. */
29
+ export interface MountArgs {
30
+ /** The plugin under test; accepted for source compatibility, every loaded mod's `ui.render` hooks run in chain order. */
31
+ readonly plugin?: string;
32
+ /** The drawing surface's name (`terminal`, `desktop`); accepted for source compatibility. */
33
+ readonly surface?: string;
34
+ readonly component: UiRenderInput["component"];
35
+ /** The pane id a `Pane` was opened with; the band has none. */
36
+ readonly requestId?: string;
37
+ readonly props?: Readonly<Record<string, unknown>>;
38
+ }
39
+ /** A found element with the actions a test takes on it. */
40
+ export interface MountedElement {
41
+ readonly element: UiElement;
42
+ /** The element's type. */
43
+ readonly type: UiElement["type"];
44
+ /** The text the element draws, descendants included. */
45
+ readonly text: string;
46
+ /** Run a Button's `onPress` and redraw. */
47
+ press(): Promise<void>;
48
+ }
49
+ /** A mounted surface: every read renders afresh through the mods' `ui.render` hooks. */
50
+ export interface MountedSurface {
51
+ /** The current tree, as the hooks returned it. */
52
+ tree(): Promise<UiNode>;
53
+ /** The drawn text, one line per top-level node. */
54
+ text(): Promise<string>;
55
+ /** The first element matching the pattern, or undefined. */
56
+ find(pattern: TreePattern): Promise<MountedElement | undefined>;
57
+ /** Every element matching the pattern, in drawing order. */
58
+ findAll(pattern: TreePattern): Promise<MountedElement[]>;
59
+ unmount(): Promise<void>;
60
+ }
61
+ /** The engine's own `$`-shaped raisers: each sends its event through the mods and resolves to the result. */
62
+ export interface TestKitRaisers {
63
+ readonly tool: {
64
+ call(input: Omit<ToolCallInput, "tool_use_id"> & {
65
+ tool_use_id?: string;
66
+ }): Promise<ToolCallResult>;
67
+ };
68
+ readonly command: {
69
+ run(input: Pick<CommandRunInput, "command" | "args">): Promise<CommandRunResult>;
70
+ };
71
+ readonly prompt: {
72
+ submit(input: Pick<PromptSubmitInput, "text"> & Partial<PromptSubmitInput>): Promise<PromptSubmitResult>;
73
+ };
74
+ readonly session: {
75
+ start(input?: Partial<SessionStartInput>): Promise<SessionStartResult>;
76
+ end(input?: Partial<SessionEndInput>): Promise<SessionEndResult>;
77
+ };
78
+ readonly turn: {
79
+ start(input: Partial<TurnStartInput> & Pick<TurnStartInput, "turnId">): Promise<TurnStartResult>;
80
+ complete(input?: Partial<TurnCompleteInput>): Promise<TurnCompleteResult>;
81
+ };
82
+ readonly ui: {
83
+ /** Mount one surface: it renders through the mods' `ui.render` hooks on every read. */
84
+ mount(args: MountArgs): Promise<MountedSurface>;
85
+ };
86
+ }
87
+ /** The engine events the kit raises, with their inputs, so a typed stub reads `e` without a cast. */
88
+ export interface KitEventInputs {
89
+ "session.start": SessionStartInput;
90
+ "session.end": SessionEndInput;
91
+ "turn.start": TurnStartInput;
92
+ "turn.complete": TurnCompleteInput;
93
+ "prompt.submit": PromptSubmitInput;
94
+ "tool.call": ToolCallInput;
95
+ "command.run": CommandRunInput;
96
+ "ui.render": UiRenderInput;
97
+ }
98
+ /** The kit's `on`: registers a stub that answers one event beneath every mod; name a mods API call without the `$.`. */
99
+ export interface KitOn {
100
+ /** A stub for one engine event, with the event's typed input. */
101
+ <K extends keyof KitEventInputs>(event: K, stub: ($: ModsApi, e: KitEventInputs[K]) => unknown): void;
102
+ /** A stub for any event or mods API call. */
103
+ (event: string, stub: StubHook): void;
104
+ }
105
+ /** A loaded test kit. */
106
+ export interface ModTestKit {
107
+ /** Register a stub that answers `event` beneath every mod; name a mods API call without the `$.`. */
108
+ readonly on: KitOn;
109
+ /** Raise any event through the mods; a stub, a built-in default, or `no implementation for <event>` answers at the bottom. */
110
+ raise<R>(event: string, input: unknown): Promise<R>;
111
+ /** Typed raisers for the events this bridge sends from the harness, plus `ui.mount`. */
112
+ readonly $: TestKitRaisers;
113
+ /** Diagnostic lines the engine reported: skipped hooks, failed fire-and-forget calls, timer errors. */
114
+ readonly reports: string[];
115
+ /** The loaded mods in chain order. */
116
+ readonly mods: readonly LoadedMod[];
117
+ /**
118
+ * Drop every registration and close every mod timer.
119
+ * @returns settles once running timer callbacks have finished.
120
+ */
121
+ dispose(): Promise<void>;
122
+ }
123
+ /** Stubs that answer a whole namespace from memory. */
124
+ export declare const mock: Readonly<{
125
+ /**
126
+ * Answer `$.store` from an in-memory map.
127
+ * @param on - the kit's `on`.
128
+ * @param initial - entries the store starts with.
129
+ * @returns the live map, to read what the mod saved.
130
+ */
131
+ store(on: ModTestKit["on"], initial?: Readonly<Record<string, unknown>>): Map<string, unknown>;
132
+ /**
133
+ * Answer `$.env.get` from fixed variables and record `$.env.set` writes.
134
+ * @param on - the kit's `on`.
135
+ * @param variables - the environment the mod sees.
136
+ * @returns the live record, to read what the mod set.
137
+ */
138
+ env(on: ModTestKit["on"], variables?: Readonly<Record<string, string>>): Record<string, string | undefined>;
139
+ /**
140
+ * Answer `$.clock.now` from a settable instant and `$.clock.sleep` at once, advancing it.
141
+ * @param on - the kit's `on`.
142
+ * @param startAt - the first `now()`, in epoch milliseconds.
143
+ * @returns the clock, to read or advance `now`.
144
+ */
145
+ clock(on: ModTestKit["on"], startAt?: number): {
146
+ now: number;
147
+ advance(ms: number): void;
148
+ };
149
+ }>;
150
+ /**
151
+ * Load mods for a test and return the kit.
152
+ * @param options - the mods to load and the hook time limit.
153
+ * @returns the kit, with every mod's `register` already run.
154
+ */
155
+ export declare function createModTestKit(options?: ModTestKitOptions): Promise<ModTestKit>;
156
+ export type { RegisteredHook };
157
+ //# sourceMappingURL=testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}