@xrkseek/harness 0.6.21 → 0.7.0-rc.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 (677) 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/store.d.ts +21 -0
  7. package/node_modules/@xrkseek/checkpoint/dist/store.d.ts.map +1 -1
  8. package/node_modules/@xrkseek/checkpoint/dist/store.js +33 -0
  9. package/node_modules/@xrkseek/checkpoint/dist/store.js.map +1 -1
  10. package/node_modules/@xrkseek/checkpoint/package.json +26 -26
  11. package/node_modules/@xrkseek/claude-code-mods/README.md +152 -0
  12. package/node_modules/@xrkseek/claude-code-mods/README.zh.md +172 -0
  13. package/node_modules/@xrkseek/claude-code-mods/dist/api.d.ts +36 -0
  14. package/node_modules/@xrkseek/claude-code-mods/dist/api.d.ts.map +1 -0
  15. package/node_modules/@xrkseek/claude-code-mods/dist/api.js +215 -0
  16. package/node_modules/@xrkseek/claude-code-mods/dist/api.js.map +1 -0
  17. package/node_modules/@xrkseek/claude-code-mods/dist/attach.d.ts +92 -0
  18. package/node_modules/@xrkseek/claude-code-mods/dist/attach.d.ts.map +1 -0
  19. package/node_modules/@xrkseek/claude-code-mods/dist/attach.js +106 -0
  20. package/node_modules/@xrkseek/claude-code-mods/dist/attach.js.map +1 -0
  21. package/node_modules/@xrkseek/claude-code-mods/dist/chain.d.ts +105 -0
  22. package/node_modules/@xrkseek/claude-code-mods/dist/chain.d.ts.map +1 -0
  23. package/node_modules/@xrkseek/claude-code-mods/dist/chain.js +324 -0
  24. package/node_modules/@xrkseek/claude-code-mods/dist/chain.js.map +1 -0
  25. package/node_modules/@xrkseek/claude-code-mods/dist/define-mod.d.ts +39 -0
  26. package/node_modules/@xrkseek/claude-code-mods/dist/define-mod.d.ts.map +1 -0
  27. package/node_modules/@xrkseek/claude-code-mods/dist/define-mod.js +39 -0
  28. package/node_modules/@xrkseek/claude-code-mods/dist/define-mod.js.map +1 -0
  29. package/node_modules/@xrkseek/claude-code-mods/dist/elements.d.ts +96 -0
  30. package/node_modules/@xrkseek/claude-code-mods/dist/elements.d.ts.map +1 -0
  31. package/node_modules/@xrkseek/claude-code-mods/dist/elements.js +171 -0
  32. package/node_modules/@xrkseek/claude-code-mods/dist/elements.js.map +1 -0
  33. package/node_modules/@xrkseek/claude-code-mods/dist/engine.d.ts +155 -0
  34. package/node_modules/@xrkseek/claude-code-mods/dist/engine.d.ts.map +1 -0
  35. package/node_modules/@xrkseek/claude-code-mods/dist/engine.js +356 -0
  36. package/node_modules/@xrkseek/claude-code-mods/dist/engine.js.map +1 -0
  37. package/node_modules/@xrkseek/claude-code-mods/dist/host-ops.d.ts +72 -0
  38. package/node_modules/@xrkseek/claude-code-mods/dist/host-ops.d.ts.map +1 -0
  39. package/node_modules/@xrkseek/claude-code-mods/dist/host-ops.js +603 -0
  40. package/node_modules/@xrkseek/claude-code-mods/dist/host-ops.js.map +1 -0
  41. package/node_modules/@xrkseek/claude-code-mods/dist/index.d.ts +112 -0
  42. package/node_modules/@xrkseek/claude-code-mods/dist/index.d.ts.map +1 -0
  43. package/node_modules/@xrkseek/claude-code-mods/dist/index.js +654 -0
  44. package/node_modules/@xrkseek/claude-code-mods/dist/index.js.map +1 -0
  45. package/node_modules/@xrkseek/claude-code-mods/dist/matcher.d.ts +45 -0
  46. package/node_modules/@xrkseek/claude-code-mods/dist/matcher.d.ts.map +1 -0
  47. package/node_modules/@xrkseek/claude-code-mods/dist/matcher.js +195 -0
  48. package/node_modules/@xrkseek/claude-code-mods/dist/matcher.js.map +1 -0
  49. package/node_modules/@xrkseek/claude-code-mods/dist/module.d.ts +74 -0
  50. package/node_modules/@xrkseek/claude-code-mods/dist/module.d.ts.map +1 -0
  51. package/node_modules/@xrkseek/claude-code-mods/dist/module.js +167 -0
  52. package/node_modules/@xrkseek/claude-code-mods/dist/module.js.map +1 -0
  53. package/node_modules/@xrkseek/claude-code-mods/dist/native-import.d.ts +31 -0
  54. package/node_modules/@xrkseek/claude-code-mods/dist/native-import.d.ts.map +1 -0
  55. package/node_modules/@xrkseek/claude-code-mods/dist/native-import.js +32 -0
  56. package/node_modules/@xrkseek/claude-code-mods/dist/native-import.js.map +1 -0
  57. package/node_modules/@xrkseek/claude-code-mods/dist/plugin-dir.d.ts +70 -0
  58. package/node_modules/@xrkseek/claude-code-mods/dist/plugin-dir.d.ts.map +1 -0
  59. package/node_modules/@xrkseek/claude-code-mods/dist/plugin-dir.js +167 -0
  60. package/node_modules/@xrkseek/claude-code-mods/dist/plugin-dir.js.map +1 -0
  61. package/node_modules/@xrkseek/claude-code-mods/dist/product-agent.d.ts +57 -0
  62. package/node_modules/@xrkseek/claude-code-mods/dist/product-agent.d.ts.map +1 -0
  63. package/node_modules/@xrkseek/claude-code-mods/dist/product-agent.js +85 -0
  64. package/node_modules/@xrkseek/claude-code-mods/dist/product-agent.js.map +1 -0
  65. package/node_modules/@xrkseek/claude-code-mods/dist/runtime.d.ts +117 -0
  66. package/node_modules/@xrkseek/claude-code-mods/dist/runtime.d.ts.map +1 -0
  67. package/node_modules/@xrkseek/claude-code-mods/dist/runtime.js +252 -0
  68. package/node_modules/@xrkseek/claude-code-mods/dist/runtime.js.map +1 -0
  69. package/node_modules/@xrkseek/claude-code-mods/dist/storage-domain.d.ts +68 -0
  70. package/node_modules/@xrkseek/claude-code-mods/dist/storage-domain.d.ts.map +1 -0
  71. package/node_modules/@xrkseek/claude-code-mods/dist/storage-domain.js +104 -0
  72. package/node_modules/@xrkseek/claude-code-mods/dist/storage-domain.js.map +1 -0
  73. package/node_modules/@xrkseek/claude-code-mods/dist/surfaces.d.ts +82 -0
  74. package/node_modules/@xrkseek/claude-code-mods/dist/surfaces.d.ts.map +1 -0
  75. package/node_modules/@xrkseek/claude-code-mods/dist/surfaces.js +243 -0
  76. package/node_modules/@xrkseek/claude-code-mods/dist/surfaces.js.map +1 -0
  77. package/node_modules/@xrkseek/claude-code-mods/dist/testing.d.ts +157 -0
  78. package/node_modules/@xrkseek/claude-code-mods/dist/testing.d.ts.map +1 -0
  79. package/node_modules/@xrkseek/claude-code-mods/dist/testing.js +266 -0
  80. package/node_modules/@xrkseek/claude-code-mods/dist/testing.js.map +1 -0
  81. package/node_modules/@xrkseek/claude-code-mods/dist/tool-names.d.ts +21 -0
  82. package/node_modules/@xrkseek/claude-code-mods/dist/tool-names.d.ts.map +1 -0
  83. package/node_modules/@xrkseek/claude-code-mods/dist/tool-names.js +37 -0
  84. package/node_modules/@xrkseek/claude-code-mods/dist/tool-names.js.map +1 -0
  85. package/node_modules/@xrkseek/claude-code-mods/dist/types.d.ts +592 -0
  86. package/node_modules/@xrkseek/claude-code-mods/dist/types.d.ts.map +1 -0
  87. package/node_modules/@xrkseek/claude-code-mods/dist/types.js +10 -0
  88. package/node_modules/@xrkseek/claude-code-mods/dist/types.js.map +1 -0
  89. package/node_modules/@xrkseek/claude-code-mods/dist/values.d.ts +58 -0
  90. package/node_modules/@xrkseek/claude-code-mods/dist/values.d.ts.map +1 -0
  91. package/node_modules/@xrkseek/claude-code-mods/dist/values.js +75 -0
  92. package/node_modules/@xrkseek/claude-code-mods/dist/values.js.map +1 -0
  93. package/node_modules/@xrkseek/claude-code-mods/dist/working-directory.d.ts +45 -0
  94. package/node_modules/@xrkseek/claude-code-mods/dist/working-directory.d.ts.map +1 -0
  95. package/node_modules/@xrkseek/claude-code-mods/dist/working-directory.js +29 -0
  96. package/node_modules/@xrkseek/claude-code-mods/dist/working-directory.js.map +1 -0
  97. package/node_modules/@xrkseek/claude-code-mods/package.json +47 -0
  98. package/node_modules/@xrkseek/code-runtime/README.md +20 -20
  99. package/node_modules/@xrkseek/core-agent/dist/index.d.ts +87 -0
  100. package/node_modules/@xrkseek/core-agent/dist/index.d.ts.map +1 -1
  101. package/node_modules/@xrkseek/core-agent/dist/index.js.map +1 -1
  102. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  103. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +9 -1
  104. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  105. package/node_modules/@xrkseek/core-agent-loop/package.json +42 -42
  106. package/node_modules/@xrkseek/core-session/README.md +35 -35
  107. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts.map +1 -1
  108. package/node_modules/@xrkseek/core-session/dist/compaction.js +62 -37
  109. package/node_modules/@xrkseek/core-session/dist/compaction.js.map +1 -1
  110. package/node_modules/@xrkseek/core-session/dist/freeze.d.ts +6 -0
  111. package/node_modules/@xrkseek/core-session/dist/freeze.d.ts.map +1 -1
  112. package/node_modules/@xrkseek/core-session/dist/freeze.js +9 -0
  113. package/node_modules/@xrkseek/core-session/dist/freeze.js.map +1 -1
  114. package/node_modules/@xrkseek/core-session/dist/index.d.ts +18 -2
  115. package/node_modules/@xrkseek/core-session/dist/index.d.ts.map +1 -1
  116. package/node_modules/@xrkseek/core-session/dist/index.js +53 -12
  117. package/node_modules/@xrkseek/core-session/dist/index.js.map +1 -1
  118. package/node_modules/@xrkseek/core-session/dist/list-hints.d.ts.map +1 -1
  119. package/node_modules/@xrkseek/core-session/dist/list-hints.js +14 -4
  120. package/node_modules/@xrkseek/core-session/dist/list-hints.js.map +1 -1
  121. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.d.ts +8 -1
  122. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.d.ts.map +1 -1
  123. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.js +14 -4
  124. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.js.map +1 -1
  125. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts +55 -0
  126. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts.map +1 -1
  127. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js +670 -92
  128. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js.map +1 -1
  129. package/node_modules/@xrkseek/core-session/dist/store.d.ts +38 -0
  130. package/node_modules/@xrkseek/core-session/dist/store.d.ts.map +1 -1
  131. package/node_modules/@xrkseek/core-session/package.json +34 -34
  132. package/node_modules/@xrkseek/core-system-prompt/README.md +14 -14
  133. package/node_modules/@xrkseek/core-tools/dist/session-query-prompt.d.ts.map +1 -1
  134. package/node_modules/@xrkseek/core-tools/dist/session-query-prompt.js +3 -2
  135. package/node_modules/@xrkseek/core-tools/dist/session-query-prompt.js.map +1 -1
  136. package/node_modules/@xrkseek/core-tools/dist/std-tools.d.ts.map +1 -1
  137. package/node_modules/@xrkseek/core-tools/dist/std-tools.js +1 -13
  138. package/node_modules/@xrkseek/core-tools/dist/std-tools.js.map +1 -1
  139. package/node_modules/@xrkseek/exec-computer-use/README.md +14 -14
  140. package/node_modules/@xrkseek/exec-computer-use/dist/windows-uia.js +402 -402
  141. package/node_modules/@xrkseek/exec-computer-use/package.json +26 -26
  142. package/node_modules/@xrkseek/exec-fs/README.md +12 -12
  143. package/node_modules/@xrkseek/exec-fs/dist/read-image.js +4 -4
  144. package/node_modules/@xrkseek/exec-image-gen/README.md +13 -13
  145. package/node_modules/@xrkseek/exec-image-gen/package.json +28 -28
  146. package/node_modules/@xrkseek/exec-memory/README.md +14 -14
  147. package/node_modules/@xrkseek/exec-memory/dist/live-fragment.d.ts +11 -0
  148. package/node_modules/@xrkseek/exec-memory/dist/live-fragment.d.ts.map +1 -0
  149. package/node_modules/@xrkseek/exec-memory/dist/live-fragment.js +40 -0
  150. package/node_modules/@xrkseek/exec-memory/dist/live-fragment.js.map +1 -0
  151. package/node_modules/@xrkseek/exec-memory/package.json +28 -28
  152. package/node_modules/@xrkseek/exec-sandbox/README.md +15 -15
  153. package/node_modules/@xrkseek/exec-ssh/README.md +19 -19
  154. package/node_modules/@xrkseek/exec-subprocess/README.md +10 -10
  155. package/node_modules/@xrkseek/exec-video-analyze/README.md +11 -11
  156. package/node_modules/@xrkseek/exec-video-analyze/package.json +26 -26
  157. package/node_modules/@xrkseek/exec-video-gen/README.md +26 -26
  158. package/node_modules/@xrkseek/exec-voice/README.md +25 -25
  159. package/node_modules/@xrkseek/exec-web/README.md +11 -11
  160. package/node_modules/@xrkseek/llm-deepseek/README.md +22 -22
  161. package/node_modules/@xrkseek/llm-deepseek/package.json +30 -30
  162. package/node_modules/@xrkseek/llm-registry/dist/index.d.ts +2 -2
  163. package/node_modules/@xrkseek/llm-registry/dist/index.d.ts.map +1 -1
  164. package/node_modules/@xrkseek/llm-registry/dist/index.js +1 -1
  165. package/node_modules/@xrkseek/llm-registry/dist/index.js.map +1 -1
  166. package/node_modules/@xrkseek/llm-registry/dist/types.d.ts +29 -0
  167. package/node_modules/@xrkseek/llm-registry/dist/types.d.ts.map +1 -1
  168. package/node_modules/@xrkseek/llm-registry/dist/types.js +21 -0
  169. package/node_modules/@xrkseek/llm-registry/dist/types.js.map +1 -1
  170. package/node_modules/@xrkseek/mcp/README.md +78 -78
  171. package/node_modules/@xrkseek/policy/README.md +18 -18
  172. package/node_modules/@xrkseek/policy/package.json +31 -31
  173. package/node_modules/@xrkseek/preset-harness/README.md +7 -7
  174. package/node_modules/@xrkseek/preset-harness/dist/mods.d.ts +68 -0
  175. package/node_modules/@xrkseek/preset-harness/dist/mods.d.ts.map +1 -0
  176. package/node_modules/@xrkseek/preset-harness/dist/mods.js +510 -0
  177. package/node_modules/@xrkseek/preset-harness/dist/mods.js.map +1 -0
  178. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts +12 -1
  179. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  180. package/node_modules/@xrkseek/preset-harness/dist/preset.js +73 -26
  181. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  182. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  183. package/node_modules/@xrkseek/preset-harness/package.json +9 -8
  184. package/node_modules/@xrkseek/preset-minimal/README.md +6 -6
  185. package/node_modules/@xrkseek/preset-minimal/dist/preset.d.ts.map +1 -1
  186. package/node_modules/@xrkseek/preset-minimal/dist/preset.js +9 -3
  187. package/node_modules/@xrkseek/preset-minimal/dist/preset.js.map +1 -1
  188. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  189. package/node_modules/@xrkseek/preset-server/README.md +4 -4
  190. package/node_modules/@xrkseek/preset-server/dist/preset.d.ts.map +1 -1
  191. package/node_modules/@xrkseek/preset-server/dist/preset.js +2 -1
  192. package/node_modules/@xrkseek/preset-server/dist/preset.js.map +1 -1
  193. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  194. package/node_modules/@xrkseek/protocol/README.md +34 -34
  195. package/node_modules/@xrkseek/protocol/dist/index.d.ts +3 -2
  196. package/node_modules/@xrkseek/protocol/dist/index.d.ts.map +1 -1
  197. package/node_modules/@xrkseek/protocol/dist/index.js +1 -0
  198. package/node_modules/@xrkseek/protocol/dist/index.js.map +1 -1
  199. package/node_modules/@xrkseek/protocol/dist/json-schema.d.ts +12 -0
  200. package/node_modules/@xrkseek/protocol/dist/json-schema.d.ts.map +1 -1
  201. package/node_modules/@xrkseek/protocol/dist/json-schema.js +9 -0
  202. package/node_modules/@xrkseek/protocol/dist/json-schema.js.map +1 -1
  203. package/node_modules/@xrkseek/protocol/dist/json-value.d.ts +25 -0
  204. package/node_modules/@xrkseek/protocol/dist/json-value.d.ts.map +1 -0
  205. package/node_modules/@xrkseek/protocol/dist/json-value.js +181 -0
  206. package/node_modules/@xrkseek/protocol/dist/json-value.js.map +1 -0
  207. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts +21 -1
  208. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts.map +1 -1
  209. package/node_modules/@xrkseek/protocol/dist/session-events.js +1 -0
  210. package/node_modules/@xrkseek/protocol/dist/session-events.js.map +1 -1
  211. package/node_modules/@xrkseek/protocol/dist/validate.d.ts +4 -1
  212. package/node_modules/@xrkseek/protocol/dist/validate.d.ts.map +1 -1
  213. package/node_modules/@xrkseek/protocol/dist/validate.js +28 -2
  214. package/node_modules/@xrkseek/protocol/dist/validate.js.map +1 -1
  215. package/node_modules/@xrkseek/schemastery/lib/index.cjs +597 -597
  216. package/node_modules/@xrkseek/schemastery/lib/index.mjs +597 -597
  217. package/node_modules/@xrkseek/schemastery/lib/types/index.d.ts +203 -203
  218. package/node_modules/@xrkseek/schemastery/src/index.d.ts +203 -203
  219. package/node_modules/@xrkseek/schemastery/src/index.ts +906 -906
  220. package/node_modules/@xrkseek/server-config/package.json +28 -28
  221. package/node_modules/@xrkseek/server-cron/README.md +12 -12
  222. package/node_modules/@xrkseek/server-cron/package.json +26 -26
  223. package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.d.ts +22 -0
  224. package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.d.ts.map +1 -1
  225. package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.js +40 -3
  226. package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.js.map +1 -1
  227. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.d.ts.map +1 -1
  228. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.js +2 -0
  229. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.js.map +1 -1
  230. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts +1 -0
  231. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts.map +1 -1
  232. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js +2 -0
  233. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js.map +1 -1
  234. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.d.ts +5 -0
  235. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.d.ts.map +1 -1
  236. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.js +7 -0
  237. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.js.map +1 -1
  238. package/node_modules/@xrkseek/server-face/dist/agent-home-boundary.d.ts +31 -0
  239. package/node_modules/@xrkseek/server-face/dist/agent-home-boundary.d.ts.map +1 -0
  240. package/node_modules/@xrkseek/server-face/dist/agent-home-boundary.js +71 -0
  241. package/node_modules/@xrkseek/server-face/dist/agent-home-boundary.js.map +1 -0
  242. package/node_modules/@xrkseek/server-face/dist/agent-home.d.ts +18 -0
  243. package/node_modules/@xrkseek/server-face/dist/agent-home.d.ts.map +1 -0
  244. package/node_modules/@xrkseek/server-face/dist/agent-home.js +64 -0
  245. package/node_modules/@xrkseek/server-face/dist/agent-home.js.map +1 -0
  246. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts +41 -2
  247. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts.map +1 -1
  248. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js +200 -28
  249. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js.map +1 -1
  250. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js +1 -1
  251. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js.map +1 -1
  252. package/node_modules/@xrkseek/server-face/dist/attach-http.d.ts.map +1 -1
  253. package/node_modules/@xrkseek/server-face/dist/attach-http.js +9 -0
  254. package/node_modules/@xrkseek/server-face/dist/attach-http.js.map +1 -1
  255. package/node_modules/@xrkseek/server-face/dist/boss-status-broadcast.d.ts +55 -0
  256. package/node_modules/@xrkseek/server-face/dist/boss-status-broadcast.d.ts.map +1 -0
  257. package/node_modules/@xrkseek/server-face/dist/boss-status-broadcast.js +167 -0
  258. package/node_modules/@xrkseek/server-face/dist/boss-status-broadcast.js.map +1 -0
  259. package/node_modules/@xrkseek/server-face/dist/collab-board.d.ts +12 -0
  260. package/node_modules/@xrkseek/server-face/dist/collab-board.d.ts.map +1 -1
  261. package/node_modules/@xrkseek/server-face/dist/collab-board.js +101 -19
  262. package/node_modules/@xrkseek/server-face/dist/collab-board.js.map +1 -1
  263. package/node_modules/@xrkseek/server-face/dist/context.d.ts +25 -2
  264. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  265. package/node_modules/@xrkseek/server-face/dist/dispatch.d.ts.map +1 -1
  266. package/node_modules/@xrkseek/server-face/dist/dispatch.js +6 -2
  267. package/node_modules/@xrkseek/server-face/dist/dispatch.js.map +1 -1
  268. package/node_modules/@xrkseek/server-face/dist/face-schema.d.ts.map +1 -1
  269. package/node_modules/@xrkseek/server-face/dist/face-schema.js +2 -1
  270. package/node_modules/@xrkseek/server-face/dist/face-schema.js.map +1 -1
  271. package/node_modules/@xrkseek/server-face/dist/fork-cut.d.ts.map +1 -1
  272. package/node_modules/@xrkseek/server-face/dist/fork-cut.js +15 -3
  273. package/node_modules/@xrkseek/server-face/dist/fork-cut.js.map +1 -1
  274. package/node_modules/@xrkseek/server-face/dist/fork-lineage.d.ts +7 -0
  275. package/node_modules/@xrkseek/server-face/dist/fork-lineage.d.ts.map +1 -1
  276. package/node_modules/@xrkseek/server-face/dist/fork-lineage.js +23 -8
  277. package/node_modules/@xrkseek/server-face/dist/fork-lineage.js.map +1 -1
  278. package/node_modules/@xrkseek/server-face/dist/handlers/band.d.ts +7 -0
  279. package/node_modules/@xrkseek/server-face/dist/handlers/band.d.ts.map +1 -0
  280. package/node_modules/@xrkseek/server-face/dist/handlers/band.js +40 -0
  281. package/node_modules/@xrkseek/server-face/dist/handlers/band.js.map +1 -0
  282. package/node_modules/@xrkseek/server-face/dist/handlers/checkpoint.d.ts.map +1 -1
  283. package/node_modules/@xrkseek/server-face/dist/handlers/checkpoint.js +81 -3
  284. package/node_modules/@xrkseek/server-face/dist/handlers/checkpoint.js.map +1 -1
  285. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.d.ts.map +1 -1
  286. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js +4 -1
  287. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js.map +1 -1
  288. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts +2 -0
  289. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  290. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +236 -62
  291. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  292. package/node_modules/@xrkseek/server-face/dist/handlers/team.d.ts.map +1 -1
  293. package/node_modules/@xrkseek/server-face/dist/handlers/team.js +100 -9
  294. package/node_modules/@xrkseek/server-face/dist/handlers/team.js.map +1 -1
  295. package/node_modules/@xrkseek/server-face/dist/handlers/worktree.d.ts +8 -1
  296. package/node_modules/@xrkseek/server-face/dist/handlers/worktree.d.ts.map +1 -1
  297. package/node_modules/@xrkseek/server-face/dist/handlers/worktree.js +15 -1
  298. package/node_modules/@xrkseek/server-face/dist/handlers/worktree.js.map +1 -1
  299. package/node_modules/@xrkseek/server-face/dist/index.d.ts +5 -1
  300. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  301. package/node_modules/@xrkseek/server-face/dist/index.js +5 -1
  302. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  303. package/node_modules/@xrkseek/server-face/dist/instruction-authority-fragment.d.ts +19 -0
  304. package/node_modules/@xrkseek/server-face/dist/instruction-authority-fragment.d.ts.map +1 -0
  305. package/node_modules/@xrkseek/server-face/dist/instruction-authority-fragment.js +28 -0
  306. package/node_modules/@xrkseek/server-face/dist/instruction-authority-fragment.js.map +1 -0
  307. package/node_modules/@xrkseek/server-face/dist/log-cut-reset.d.ts +3 -0
  308. package/node_modules/@xrkseek/server-face/dist/log-cut-reset.d.ts.map +1 -0
  309. package/node_modules/@xrkseek/server-face/dist/log-cut-reset.js +22 -0
  310. package/node_modules/@xrkseek/server-face/dist/log-cut-reset.js.map +1 -0
  311. package/node_modules/@xrkseek/server-face/dist/managed-worktree.d.ts +66 -4
  312. package/node_modules/@xrkseek/server-face/dist/managed-worktree.d.ts.map +1 -1
  313. package/node_modules/@xrkseek/server-face/dist/managed-worktree.js +147 -5
  314. package/node_modules/@xrkseek/server-face/dist/managed-worktree.js.map +1 -1
  315. package/node_modules/@xrkseek/server-face/dist/model-catalog.d.ts.map +1 -1
  316. package/node_modules/@xrkseek/server-face/dist/model-catalog.js +60 -5
  317. package/node_modules/@xrkseek/server-face/dist/model-catalog.js.map +1 -1
  318. package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts +2 -2
  319. package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts.map +1 -1
  320. package/node_modules/@xrkseek/server-face/dist/projections/index.js +2 -2
  321. package/node_modules/@xrkseek/server-face/dist/projections/index.js.map +1 -1
  322. package/node_modules/@xrkseek/server-face/dist/projections/list-checkpoint-cache.d.ts +50 -4
  323. package/node_modules/@xrkseek/server-face/dist/projections/list-checkpoint-cache.d.ts.map +1 -1
  324. package/node_modules/@xrkseek/server-face/dist/projections/list-checkpoint-cache.js +167 -19
  325. package/node_modules/@xrkseek/server-face/dist/projections/list-checkpoint-cache.js.map +1 -1
  326. package/node_modules/@xrkseek/server-face/dist/projections/snapshot-keys.d.ts +21 -1
  327. package/node_modules/@xrkseek/server-face/dist/projections/snapshot-keys.d.ts.map +1 -1
  328. package/node_modules/@xrkseek/server-face/dist/projections/snapshot-keys.js +21 -1
  329. package/node_modules/@xrkseek/server-face/dist/projections/snapshot-keys.js.map +1 -1
  330. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.d.ts.map +1 -1
  331. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.js +58 -0
  332. package/node_modules/@xrkseek/server-face/dist/projections/units/context-timeline.js.map +1 -1
  333. package/node_modules/@xrkseek/server-face/dist/projections/units/cost-usage.d.ts.map +1 -1
  334. package/node_modules/@xrkseek/server-face/dist/projections/units/cost-usage.js +85 -0
  335. package/node_modules/@xrkseek/server-face/dist/projections/units/cost-usage.js.map +1 -1
  336. package/node_modules/@xrkseek/server-face/dist/projections/units/session-list-metadata.d.ts.map +1 -1
  337. package/node_modules/@xrkseek/server-face/dist/projections/units/session-list-metadata.js +14 -0
  338. package/node_modules/@xrkseek/server-face/dist/projections/units/session-list-metadata.js.map +1 -1
  339. package/node_modules/@xrkseek/server-face/dist/projections/units/title.d.ts.map +1 -1
  340. package/node_modules/@xrkseek/server-face/dist/projections/units/title.js +14 -0
  341. package/node_modules/@xrkseek/server-face/dist/projections/units/title.js.map +1 -1
  342. package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.d.ts.map +1 -1
  343. package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.js +24 -0
  344. package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.js.map +1 -1
  345. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts +4 -2
  346. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  347. package/node_modules/@xrkseek/server-face/dist/runtime.js +127 -17
  348. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  349. package/node_modules/@xrkseek/server-face/dist/seat-identity.d.ts +26 -0
  350. package/node_modules/@xrkseek/server-face/dist/seat-identity.d.ts.map +1 -0
  351. package/node_modules/@xrkseek/server-face/dist/seat-identity.js +137 -0
  352. package/node_modules/@xrkseek/server-face/dist/seat-identity.js.map +1 -0
  353. package/node_modules/@xrkseek/server-face/dist/seat-titles.d.ts +29 -0
  354. package/node_modules/@xrkseek/server-face/dist/seat-titles.d.ts.map +1 -0
  355. package/node_modules/@xrkseek/server-face/dist/seat-titles.js +74 -0
  356. package/node_modules/@xrkseek/server-face/dist/seat-titles.js.map +1 -0
  357. package/node_modules/@xrkseek/server-face/dist/session-capability.d.ts.map +1 -1
  358. package/node_modules/@xrkseek/server-face/dist/session-capability.js +9 -6
  359. package/node_modules/@xrkseek/server-face/dist/session-capability.js.map +1 -1
  360. package/node_modules/@xrkseek/server-face/dist/session-cwd.d.ts.map +1 -1
  361. package/node_modules/@xrkseek/server-face/dist/session-cwd.js +3 -1
  362. package/node_modules/@xrkseek/server-face/dist/session-cwd.js.map +1 -1
  363. package/node_modules/@xrkseek/server-face/dist/session-event-window.d.ts +37 -0
  364. package/node_modules/@xrkseek/server-face/dist/session-event-window.d.ts.map +1 -0
  365. package/node_modules/@xrkseek/server-face/dist/session-event-window.js +88 -0
  366. package/node_modules/@xrkseek/server-face/dist/session-event-window.js.map +1 -0
  367. package/node_modules/@xrkseek/server-face/dist/session-identity-store.d.ts +20 -0
  368. package/node_modules/@xrkseek/server-face/dist/session-identity-store.d.ts.map +1 -0
  369. package/node_modules/@xrkseek/server-face/dist/session-identity-store.js +82 -0
  370. package/node_modules/@xrkseek/server-face/dist/session-identity-store.js.map +1 -0
  371. package/node_modules/@xrkseek/server-face/dist/session-posture.d.ts +1 -1
  372. package/node_modules/@xrkseek/server-face/dist/session-posture.d.ts.map +1 -1
  373. package/node_modules/@xrkseek/server-face/dist/session-posture.js +20 -5
  374. package/node_modules/@xrkseek/server-face/dist/session-posture.js.map +1 -1
  375. package/node_modules/@xrkseek/server-face/dist/session-query-tools.d.ts +1 -0
  376. package/node_modules/@xrkseek/server-face/dist/session-query-tools.d.ts.map +1 -1
  377. package/node_modules/@xrkseek/server-face/dist/session-query-tools.js +172 -25
  378. package/node_modules/@xrkseek/server-face/dist/session-query-tools.js.map +1 -1
  379. package/node_modules/@xrkseek/server-face/dist/session-search.d.ts +20 -2
  380. package/node_modules/@xrkseek/server-face/dist/session-search.d.ts.map +1 -1
  381. package/node_modules/@xrkseek/server-face/dist/session-search.js +125 -19
  382. package/node_modules/@xrkseek/server-face/dist/session-search.js.map +1 -1
  383. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts +1 -1
  384. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
  385. package/node_modules/@xrkseek/server-face/dist/session-status.js +143 -21
  386. package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
  387. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.d.ts.map +1 -1
  388. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js +5 -0
  389. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js.map +1 -1
  390. package/node_modules/@xrkseek/server-face/dist/session-tool-copy.d.ts.map +1 -1
  391. package/node_modules/@xrkseek/server-face/dist/session-tool-copy.js +2 -1
  392. package/node_modules/@xrkseek/server-face/dist/session-tool-copy.js.map +1 -1
  393. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts.map +1 -1
  394. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js +10 -2
  395. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js.map +1 -1
  396. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  397. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +48 -10
  398. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  399. package/node_modules/@xrkseek/server-face/dist/skill-documents.d.ts.map +1 -1
  400. package/node_modules/@xrkseek/server-face/dist/skill-documents.js +14 -4
  401. package/node_modules/@xrkseek/server-face/dist/skill-documents.js.map +1 -1
  402. package/node_modules/@xrkseek/server-face/dist/skill-list.d.ts +4 -2
  403. package/node_modules/@xrkseek/server-face/dist/skill-list.d.ts.map +1 -1
  404. package/node_modules/@xrkseek/server-face/dist/skill-list.js +10 -4
  405. package/node_modules/@xrkseek/server-face/dist/skill-list.js.map +1 -1
  406. package/node_modules/@xrkseek/server-face/dist/skill-read.d.ts.map +1 -1
  407. package/node_modules/@xrkseek/server-face/dist/skill-read.js +9 -2
  408. package/node_modules/@xrkseek/server-face/dist/skill-read.js.map +1 -1
  409. package/node_modules/@xrkseek/server-face/dist/skill-source.d.ts +2 -1
  410. package/node_modules/@xrkseek/server-face/dist/skill-source.d.ts.map +1 -1
  411. package/node_modules/@xrkseek/server-face/dist/skill-source.js +12 -2
  412. package/node_modules/@xrkseek/server-face/dist/skill-source.js.map +1 -1
  413. package/node_modules/@xrkseek/server-face/dist/slash.d.ts +10 -1
  414. package/node_modules/@xrkseek/server-face/dist/slash.d.ts.map +1 -1
  415. package/node_modules/@xrkseek/server-face/dist/slash.js +97 -22
  416. package/node_modules/@xrkseek/server-face/dist/slash.js.map +1 -1
  417. package/node_modules/@xrkseek/server-face/dist/status-snapshot-cache.d.ts.map +1 -1
  418. package/node_modules/@xrkseek/server-face/dist/status-snapshot-cache.js +53 -0
  419. package/node_modules/@xrkseek/server-face/dist/status-snapshot-cache.js.map +1 -1
  420. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  421. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +10 -5
  422. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  423. package/node_modules/@xrkseek/server-face/dist/types.d.ts +23 -0
  424. package/node_modules/@xrkseek/server-face/dist/types.d.ts.map +1 -1
  425. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.d.ts +6 -1
  426. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.d.ts.map +1 -1
  427. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.js +17 -1
  428. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.js.map +1 -1
  429. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts.map +1 -1
  430. package/node_modules/@xrkseek/server-face/dist/workspace-face.js +19 -14
  431. package/node_modules/@xrkseek/server-face/dist/workspace-face.js.map +1 -1
  432. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.d.ts +22 -0
  433. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.d.ts.map +1 -0
  434. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.js +35 -0
  435. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.js.map +1 -0
  436. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.d.ts +3 -2
  437. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.d.ts.map +1 -1
  438. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js +74 -57
  439. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js.map +1 -1
  440. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts +31 -0
  441. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts.map +1 -1
  442. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js +109 -0
  443. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js.map +1 -1
  444. package/node_modules/@xrkseek/server-face/dist/workspace-store.d.ts +2 -0
  445. package/node_modules/@xrkseek/server-face/dist/workspace-store.d.ts.map +1 -1
  446. package/node_modules/@xrkseek/server-face/dist/workspace-store.js +7 -0
  447. package/node_modules/@xrkseek/server-face/dist/workspace-store.js.map +1 -1
  448. package/node_modules/@xrkseek/server-face/package.json +60 -60
  449. package/node_modules/@xrkseek/server-host/dist/agent-cache.d.ts +16 -2
  450. package/node_modules/@xrkseek/server-host/dist/agent-cache.d.ts.map +1 -1
  451. package/node_modules/@xrkseek/server-host/dist/agent-cache.js +84 -36
  452. package/node_modules/@xrkseek/server-host/dist/agent-cache.js.map +1 -1
  453. package/node_modules/@xrkseek/server-host/dist/index.d.ts +37 -6
  454. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  455. package/node_modules/@xrkseek/server-host/dist/index.js +124 -27
  456. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  457. package/node_modules/@xrkseek/server-host/dist/log.d.ts +6 -0
  458. package/node_modules/@xrkseek/server-host/dist/log.d.ts.map +1 -1
  459. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.d.ts.map +1 -1
  460. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js +17 -2
  461. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js.map +1 -1
  462. package/node_modules/@xrkseek/server-host/dist/standing-tools.d.ts.map +1 -1
  463. package/node_modules/@xrkseek/server-host/dist/standing-tools.js +3 -3
  464. package/node_modules/@xrkseek/server-host/dist/standing-tools.js.map +1 -1
  465. package/node_modules/@xrkseek/server-host/package.json +75 -75
  466. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts +5 -0
  467. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts.map +1 -1
  468. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-tool-pre.d.ts +1 -1
  469. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-tool-pre.d.ts.map +1 -1
  470. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-plugin-http.d.ts.map +1 -1
  471. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-plugin-http.js +41 -6
  472. package/node_modules/@xrkseek/server-http/dist/dsh-compat/generic-plugin-http.js.map +1 -1
  473. package/node_modules/@xrkseek/server-http/dist/dsh-compat/genui-browser-runtime.js +188 -188
  474. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts +1 -1
  475. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts.map +1 -1
  476. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js +1 -1
  477. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js.map +1 -1
  478. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.d.ts.map +1 -1
  479. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.js +292 -24
  480. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.js.map +1 -1
  481. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.d.ts.map +1 -1
  482. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.js +12 -1
  483. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.js.map +1 -1
  484. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.d.ts +16 -1
  485. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.d.ts.map +1 -1
  486. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.js +47 -2
  487. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.js.map +1 -1
  488. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-center.d.ts +1 -1
  489. package/node_modules/@xrkseek/server-http/dist/dsh-compat/token-usage-stats-dash.js +53 -53
  490. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.d.ts +9 -4
  491. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.d.ts.map +1 -1
  492. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.js +39 -20
  493. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.js.map +1 -1
  494. package/node_modules/@xrkseek/server-http/dist/index.d.ts +2 -1
  495. package/node_modules/@xrkseek/server-http/dist/index.d.ts.map +1 -1
  496. package/node_modules/@xrkseek/server-http/dist/index.js +2 -1
  497. package/node_modules/@xrkseek/server-http/dist/index.js.map +1 -1
  498. package/node_modules/@xrkseek/server-http/dist/sunflower-free/ensure.d.ts +11 -0
  499. package/node_modules/@xrkseek/server-http/dist/sunflower-free/ensure.d.ts.map +1 -0
  500. package/node_modules/@xrkseek/server-http/dist/sunflower-free/ensure.js +85 -0
  501. package/node_modules/@xrkseek/server-http/dist/sunflower-free/ensure.js.map +1 -0
  502. package/node_modules/@xrkseek/server-http/package.json +72 -72
  503. package/node_modules/@xrkseek/server-loader/dist/load.d.ts.map +1 -1
  504. package/node_modules/@xrkseek/server-loader/dist/load.js +132 -0
  505. package/node_modules/@xrkseek/server-loader/dist/load.js.map +1 -1
  506. package/node_modules/@xrkseek/session-projection/README.md +26 -26
  507. package/node_modules/@xrkseek/session-projection/dist/index.d.ts +31 -2
  508. package/node_modules/@xrkseek/session-projection/dist/index.d.ts.map +1 -1
  509. package/node_modules/@xrkseek/session-projection/dist/index.js +135 -19
  510. package/node_modules/@xrkseek/session-projection/dist/index.js.map +1 -1
  511. package/node_modules/@xrkseek/session-telemetry/README.md +11 -11
  512. package/node_modules/@xrkseek/session-telemetry/dist/index.d.ts +1 -0
  513. package/node_modules/@xrkseek/session-telemetry/dist/index.d.ts.map +1 -1
  514. package/node_modules/@xrkseek/session-telemetry/dist/index.js +1 -0
  515. package/node_modules/@xrkseek/session-telemetry/dist/index.js.map +1 -1
  516. package/node_modules/@xrkseek/session-telemetry/dist/redact.d.ts +14 -0
  517. package/node_modules/@xrkseek/session-telemetry/dist/redact.d.ts.map +1 -0
  518. package/node_modules/@xrkseek/session-telemetry/dist/redact.js +58 -0
  519. package/node_modules/@xrkseek/session-telemetry/dist/redact.js.map +1 -0
  520. package/node_modules/@xrkseek/session-telemetry/dist/wrap-store.d.ts +7 -0
  521. package/node_modules/@xrkseek/session-telemetry/dist/wrap-store.d.ts.map +1 -1
  522. package/node_modules/@xrkseek/session-telemetry/dist/wrap-store.js +43 -12
  523. package/node_modules/@xrkseek/session-telemetry/dist/wrap-store.js.map +1 -1
  524. package/node_modules/@xrkseek/session-telemetry/package.json +27 -27
  525. package/node_modules/@xrkseek/workspace/dist/durable-inject.d.ts +13 -0
  526. package/node_modules/@xrkseek/workspace/dist/durable-inject.d.ts.map +1 -1
  527. package/node_modules/@xrkseek/workspace/dist/durable-inject.js +40 -4
  528. package/node_modules/@xrkseek/workspace/dist/durable-inject.js.map +1 -1
  529. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.d.ts +10 -9
  530. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.d.ts.map +1 -1
  531. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.js +67 -19
  532. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.js.map +1 -1
  533. package/node_modules/@xrkseek/workspace/dist/index.d.ts +19 -20
  534. package/node_modules/@xrkseek/workspace/dist/index.d.ts.map +1 -1
  535. package/node_modules/@xrkseek/workspace/dist/index.js +43 -20
  536. package/node_modules/@xrkseek/workspace/dist/index.js.map +1 -1
  537. package/node_modules/@xrkseek/workspace/dist/inject-fingerprint.d.ts +2 -0
  538. package/node_modules/@xrkseek/workspace/dist/inject-fingerprint.d.ts.map +1 -1
  539. package/node_modules/@xrkseek/workspace/dist/inject-fingerprint.js +23 -12
  540. package/node_modules/@xrkseek/workspace/dist/inject-fingerprint.js.map +1 -1
  541. package/node_modules/@xrkseek/workspace/dist/inject-sources.d.ts +7 -4
  542. package/node_modules/@xrkseek/workspace/dist/inject-sources.d.ts.map +1 -1
  543. package/node_modules/@xrkseek/workspace/dist/inject-sources.js +10 -0
  544. package/node_modules/@xrkseek/workspace/dist/inject-sources.js.map +1 -1
  545. package/node_modules/@xrkseek/workspace/dist/instruction-authority.d.ts +27 -0
  546. package/node_modules/@xrkseek/workspace/dist/instruction-authority.d.ts.map +1 -0
  547. package/node_modules/@xrkseek/workspace/dist/instruction-authority.js +78 -0
  548. package/node_modules/@xrkseek/workspace/dist/instruction-authority.js.map +1 -0
  549. package/node_modules/@xrkseek/workspace/dist/skill-dirs.d.ts +7 -0
  550. package/node_modules/@xrkseek/workspace/dist/skill-dirs.d.ts.map +1 -1
  551. package/node_modules/@xrkseek/workspace/dist/skill-dirs.js +4 -2
  552. package/node_modules/@xrkseek/workspace/dist/skill-dirs.js.map +1 -1
  553. package/node_modules/@xrkseek/workspace/dist/skill-tools.js +1 -1
  554. package/node_modules/@xrkseek/workspace/dist/skill-tools.js.map +1 -1
  555. package/node_modules/@xrkseek/workspace/dist/skills.d.ts +13 -1
  556. package/node_modules/@xrkseek/workspace/dist/skills.d.ts.map +1 -1
  557. package/node_modules/@xrkseek/workspace/dist/skills.js +45 -5
  558. package/node_modules/@xrkseek/workspace/dist/skills.js.map +1 -1
  559. package/node_modules/@xrkseek/workspace/dist/standing-skill-dirs.d.ts +26 -0
  560. package/node_modules/@xrkseek/workspace/dist/standing-skill-dirs.d.ts.map +1 -0
  561. package/node_modules/@xrkseek/workspace/dist/standing-skill-dirs.js +80 -0
  562. package/node_modules/@xrkseek/workspace/dist/standing-skill-dirs.js.map +1 -0
  563. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.d.ts +7 -1
  564. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.d.ts.map +1 -1
  565. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.js +21 -1
  566. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.js.map +1 -1
  567. package/node_modules/@xrkseek/workspace/package.json +28 -28
  568. package/node_modules/@xrkseek/xrk-agent/lib/index.js +1 -793
  569. package/node_modules/@xrkseek/xrk-agent/lib/invariant.js +1 -23
  570. package/node_modules/@xrkseek/xrk-attachment/lib/index.js +1 -1
  571. package/node_modules/@xrkseek/xrk-attachment/lib/invariant.js +1 -0
  572. package/node_modules/@xrkseek/xrk-attachment/lib/types/brand.js +10 -0
  573. package/node_modules/@xrkseek/xrk-attachment/lib/types/error.js +48 -0
  574. package/node_modules/@xrkseek/xrk-attachment/lib/types/index.js +42 -0
  575. package/node_modules/@xrkseek/xrk-attachment/lib/types/invariant.js +16 -0
  576. package/node_modules/@xrkseek/xrk-attachment/lib/types/types.d.ts +6 -0
  577. package/node_modules/@xrkseek/xrk-attachment/lib/types/types.js +3 -0
  578. package/node_modules/@xrkseek/xrk-attachment/package.json +1 -0
  579. package/node_modules/@xrkseek/xrk-brand/lib/index.js +1 -1
  580. package/node_modules/@xrkseek/xrk-brand/lib/invariant.js +1 -0
  581. package/node_modules/@xrkseek/xrk-brand/lib/types/index.js +24 -0
  582. package/node_modules/@xrkseek/xrk-brand/lib/types/invariant.js +22 -0
  583. package/node_modules/@xrkseek/xrk-brand/package.json +1 -0
  584. package/node_modules/@xrkseek/xrk-commands/lib/index.js +1 -1
  585. package/node_modules/@xrkseek/xrk-commands/lib/invariant.js +1 -0
  586. package/node_modules/@xrkseek/xrk-file-reference-local/README.md +46 -46
  587. package/node_modules/@xrkseek/xrk-file-reference-local/README.zh.md +46 -46
  588. package/node_modules/@xrkseek/xrk-file-reference-local/package.json +30 -30
  589. package/node_modules/@xrkseek/xrk-invariants/lib/index.js +1 -1
  590. package/node_modules/@xrkseek/xrk-invariants/lib/invariant.js +1 -0
  591. package/node_modules/@xrkseek/xrk-invariants/lib/types/index.js +148 -0
  592. package/node_modules/@xrkseek/xrk-invariants/lib/types/invariant.js +22 -0
  593. package/node_modules/@xrkseek/xrk-invariants/package.json +1 -0
  594. package/node_modules/@xrkseek/xrk-llm/lib/index.js +1 -1
  595. package/node_modules/@xrkseek/xrk-llm/lib/invariant.js +1 -0
  596. package/node_modules/@xrkseek/xrk-llm/lib/types/index.js +4 -0
  597. package/node_modules/@xrkseek/xrk-llm/lib/types/types.d.ts +11 -0
  598. package/node_modules/@xrkseek/xrk-permission-presets/lib/index.js +1 -1
  599. package/node_modules/@xrkseek/xrk-permission-presets/lib/invariant.js +1 -0
  600. package/node_modules/@xrkseek/xrk-scope/lib/index.js +1 -0
  601. package/node_modules/@xrkseek/xrk-scope/lib/types/index.d.ts +129 -0
  602. package/node_modules/@xrkseek/xrk-scope/lib/types/index.js +243 -0
  603. package/node_modules/@xrkseek/xrk-scope/package.json +34 -0
  604. package/node_modules/@xrkseek/xrk-session/lib/index.js +1 -1
  605. package/node_modules/@xrkseek/xrk-session/lib/invariant.js +1 -0
  606. package/node_modules/@xrkseek/xrk-session-projection/lib/index.js +1 -1
  607. package/node_modules/@xrkseek/xrk-session-projection/lib/invariant.js +1 -0
  608. package/node_modules/@xrkseek/xrk-session-reference/README.md +50 -50
  609. package/node_modules/@xrkseek/xrk-session-reference/README.zh.md +50 -50
  610. package/node_modules/@xrkseek/xrk-session-reference/dist/prepare-face.js +13 -13
  611. package/node_modules/@xrkseek/xrk-session-reference/dist/spill.js +2 -2
  612. package/node_modules/@xrkseek/xrk-session-reference/package.json +56 -56
  613. package/node_modules/@xrkseek/xrk-settings/lib/index.js +1 -638
  614. package/node_modules/@xrkseek/xrk-settings/lib/invariant.js +1 -67
  615. package/node_modules/@xrkseek/xrk-system-prompt/package.json +15 -15
  616. package/node_modules/@xrkseek/xrk-system-prompt/src/index.ts +144 -144
  617. package/node_modules/@xrkseek/xrk-token-meter/README.i18n.yaml +6 -0
  618. package/node_modules/@xrkseek/xrk-token-meter/README.md +68 -0
  619. package/node_modules/@xrkseek/xrk-token-meter/README.zh.md +68 -0
  620. package/node_modules/@xrkseek/xrk-token-meter/lib/index.js +1 -0
  621. package/node_modules/@xrkseek/xrk-token-meter/lib/invariant.js +1 -0
  622. package/node_modules/@xrkseek/xrk-token-meter/lib/types/breakdown-projection.d.ts +29 -0
  623. package/node_modules/@xrkseek/xrk-token-meter/lib/types/breakdown-projection.js +56 -0
  624. package/node_modules/@xrkseek/xrk-token-meter/lib/types/client.d.ts +9 -0
  625. package/node_modules/@xrkseek/xrk-token-meter/lib/types/client.js +7 -0
  626. package/node_modules/@xrkseek/xrk-token-meter/lib/types/estimate.d.ts +42 -0
  627. package/node_modules/@xrkseek/xrk-token-meter/lib/types/estimate.js +79 -0
  628. package/node_modules/@xrkseek/xrk-token-meter/lib/types/index.d.ts +62 -0
  629. package/node_modules/@xrkseek/xrk-token-meter/lib/types/index.js +250 -0
  630. package/node_modules/@xrkseek/xrk-token-meter/lib/types/invariant.d.ts +16 -0
  631. package/node_modules/@xrkseek/xrk-token-meter/lib/types/invariant.js +30 -0
  632. package/node_modules/@xrkseek/xrk-token-meter/lib/types/projection.d.ts +74 -0
  633. package/node_modules/@xrkseek/xrk-token-meter/lib/types/projection.js +7 -0
  634. package/node_modules/@xrkseek/xrk-token-meter/lib/types/surface-fold.d.ts +38 -0
  635. package/node_modules/@xrkseek/xrk-token-meter/lib/types/surface-fold.js +47 -0
  636. package/node_modules/@xrkseek/xrk-token-meter/lib/types/surface-projection.d.ts +59 -0
  637. package/node_modules/@xrkseek/xrk-token-meter/lib/types/surface-projection.js +66 -0
  638. package/node_modules/@xrkseek/xrk-token-meter/lib/types/turn-usage.d.ts +33 -0
  639. package/node_modules/@xrkseek/xrk-token-meter/lib/types/turn-usage.js +247 -0
  640. package/node_modules/@xrkseek/xrk-token-meter/lib/types/types.d.ts +44 -0
  641. package/node_modules/@xrkseek/xrk-token-meter/lib/types/types.js +7 -0
  642. package/node_modules/@xrkseek/xrk-token-meter/lib/types/usage-projection.d.ts +64 -0
  643. package/node_modules/@xrkseek/xrk-token-meter/lib/types/usage-projection.js +161 -0
  644. package/node_modules/@xrkseek/xrk-token-meter/package.json +57 -0
  645. package/node_modules/@xrkseek/xrk-tools/lib/index.js +1 -1
  646. package/node_modules/@xrkseek/xrk-tools/lib/invariant.js +1 -1
  647. package/node_modules/@xrkseek/xrk-tools/src/presentation.ts +39 -39
  648. package/node_modules/@xrkseek/xrk-typert-protocol/lib/index.js +1 -1
  649. package/node_modules/@xrkseek/xrk-typert-protocol/lib/invariant.js +1 -0
  650. package/node_modules/@xrkseek/xrk-workflow/README.md +73 -73
  651. package/node_modules/@xrkseek/xrk-workflow/README.zh.md +72 -72
  652. package/node_modules/@xrkseek/xrk-workflow/lib/types/index.js +118 -118
  653. package/package.json +7 -1
  654. package/node_modules/@xrkseek/llm/dist/reasoning-effort.d.ts +0 -14
  655. package/node_modules/@xrkseek/llm/dist/reasoning-effort.d.ts.map +0 -1
  656. package/node_modules/@xrkseek/llm/dist/reasoning-effort.js +0 -21
  657. package/node_modules/@xrkseek/llm/dist/reasoning-effort.js.map +0 -1
  658. package/node_modules/@xrkseek/server-face/dist/index.d.mts +0 -3734
  659. package/node_modules/@xrkseek/server-face/dist/index.d.mts.map +0 -1
  660. package/node_modules/@xrkseek/server-face/dist/index.mjs +0 -22085
  661. package/node_modules/@xrkseek/server-face/dist/index.mjs.map +0 -1
  662. package/node_modules/@xrkseek/server-face/dist/model-reasoning.d.ts +0 -51
  663. package/node_modules/@xrkseek/server-face/dist/model-reasoning.d.ts.map +0 -1
  664. package/node_modules/@xrkseek/server-face/dist/model-reasoning.js +0 -104
  665. package/node_modules/@xrkseek/server-face/dist/model-reasoning.js.map +0 -1
  666. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.d.ts +0 -2
  667. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.d.ts.map +0 -1
  668. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.js +0 -98
  669. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-agent.js.map +0 -1
  670. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.d.ts +0 -18
  671. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.d.ts.map +0 -1
  672. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.js +0 -141
  673. package/node_modules/@xrkseek/server-host/dist/sidebar-pty-worker.js.map +0 -1
  674. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.d.ts +0 -30
  675. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.d.ts.map +0 -1
  676. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.js +0 -96
  677. package/node_modules/@xrkseek/server-host/dist/win-fd-inherit.js.map +0 -1
@@ -0,0 +1,654 @@
1
+ /**
2
+ * Experimental bridge for Claude Code mods. A mod is a DSH plugin built with
3
+ * {@link defineMod} around the mod's `register(on, options)`; this service
4
+ * keeps the loaded mods and raises their events from harness extension
5
+ * points — `session.start` on `agent/created`, `prompt.submit` and
6
+ * `turn.start` on `agent/pre-step`, `tool.call` around `tools/execute`,
7
+ * `turn.complete` on `turn/end`, `session.end` on `agent/disposed`, and
8
+ * `command.run` from the commands a mod registers. The `$` a hook receives is
9
+ * served by {@link createHostOps} over the composed harness services.
10
+ * @module @xrkseek/claude-code-mods
11
+ */
12
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
13
+ var useValue = arguments.length > 2;
14
+ for (var i = 0; i < initializers.length; i++) {
15
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
16
+ }
17
+ return useValue ? value : void 0;
18
+ };
19
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
20
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
21
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
22
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
23
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
24
+ var _, done = false;
25
+ for (var i = decorators.length - 1; i >= 0; i--) {
26
+ var context = {};
27
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
28
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
29
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
30
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
31
+ if (kind === "accessor") {
32
+ if (result === void 0) continue;
33
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
34
+ if (_ = accept(result.get)) descriptor.get = _;
35
+ if (_ = accept(result.set)) descriptor.set = _;
36
+ if (_ = accept(result.init)) initializers.unshift(_);
37
+ }
38
+ else if (_ = accept(result)) {
39
+ if (kind === "field") initializers.unshift(_);
40
+ else descriptor[key] = _;
41
+ }
42
+ }
43
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
44
+ done = true;
45
+ };
46
+ import z from "@xrkseek/schemastery";
47
+ import { Remote, TypertRemoteService } from "@xrkseek/xrk-typert-protocol";
48
+ import { SessionId } from "@xrkseek/xrk-session";
49
+ import { scopeOf } from "@xrkseek/xrk-scope";
50
+ import { validateJsonSchemaValue } from "@xrkseek/xrk-tools";
51
+ import { RewriteRefusedError } from "./chain.js";
52
+ import { ModsEngine } from "./engine.js";
53
+ import { createHostOps, toolCallResultOf } from "./host-ops.js";
54
+ import { SurfaceTable } from "./surfaces.js";
55
+ import { createToolNameAliases } from "./tool-names.js";
56
+ import { messageOf, record, stringify } from "./values.js";
57
+ export { defineMod, } from "./define-mod.js";
58
+ export { definePluginDir, PluginDirError, readPluginDir, } from "./plugin-dir.js";
59
+ export { createJsonStorageDomain, } from "./storage-domain.js";
60
+ export { createSessionWorkingDirectory, } from "./working-directory.js";
61
+ export { DEFAULT_TOOL_ALIASES } from "./tool-names.js";
62
+ export { KNOWN_EVENTS } from "./matcher.js";
63
+ export { MODS_API_VERSION } from "./host-ops.js";
64
+ /** Engine events this host raises; a hook on any other known event registers and is reported as unserved. */
65
+ export const SERVED_EVENTS = new Set([
66
+ "session.start",
67
+ "session.end",
68
+ "prompt.submit",
69
+ "turn.start",
70
+ "turn.complete",
71
+ "tool.call",
72
+ "command.run",
73
+ "ui.render",
74
+ ]);
75
+ /** Where the deferred argument-rewrite mechanism is specified. */
76
+ const REWRITE_NOTE = ".agents/notes/proposed/feature/2026-06-30-pre-tool-input-rewrite.md";
77
+ function assertPositive(field, value) {
78
+ if (!Number.isFinite(value) || value <= 0)
79
+ throw new Error(`claude-code-mods: ${field} must be a positive number of milliseconds`);
80
+ }
81
+ function textOf(blocks) {
82
+ return blocks
83
+ .filter((block) => block.type === "text")
84
+ .map((block) => block.text)
85
+ .join("");
86
+ }
87
+ /** The human's own messages among a claim: the prompt a `prompt.submit` hook sees and may rewrite. */
88
+ function promptMessages(claimed) {
89
+ return claimed.filter((message) => message.source.kind === "user");
90
+ }
91
+ /**
92
+ * Replace the prompt text across the human's messages with one rewritten
93
+ * text: the first text block carries it, other text blocks go, every
94
+ * non-text block stays in place. A prompt without any text block, such as an
95
+ * image alone, gains the text after its blocks.
96
+ */
97
+ function rewritePromptText(prompt, text) {
98
+ // Written inside the map callback, so the flag lives on an object the later read sees current.
99
+ const placement = { placed: false };
100
+ const rewritten = prompt.map((message) => {
101
+ if (!message.content.some((block) => block.type === "text"))
102
+ return message;
103
+ const content = [];
104
+ for (const block of message.content) {
105
+ if (block.type !== "text") {
106
+ content.push(block);
107
+ }
108
+ else if (!placement.placed) {
109
+ placement.placed = true;
110
+ content.push({ type: "text", text });
111
+ }
112
+ }
113
+ return { ...message, content };
114
+ });
115
+ const first = rewritten[0];
116
+ if (placement.placed || text.length === 0 || first === undefined)
117
+ return rewritten;
118
+ return [
119
+ { ...first, content: [...first.content, { type: "text", text }] },
120
+ ...rewritten.slice(1),
121
+ ];
122
+ }
123
+ /** Append the context a hook attached as blocks after the prompt as typed, on the last of the human's messages. */
124
+ function appendContext(prompt, context) {
125
+ const last = prompt.at(-1);
126
+ /* v8 ignore next -- the caller only appends context to a prompt it raised, which has at least one human message */
127
+ if (last === undefined)
128
+ return [...prompt];
129
+ const blocks = context.map((line) => ({ type: "text", text: line }));
130
+ return [...prompt.slice(0, -1), { ...last, content: [...last.content, ...blocks] }];
131
+ }
132
+ /** Keep only the fields of a `prompt.submit` result a mod may set, each with its declared type. */
133
+ function acceptPromptSubmit(result, original) {
134
+ if (typeof result.drop === "string")
135
+ return { drop: result.drop };
136
+ const context = Array.isArray(result.context)
137
+ ? result.context.filter((line) => typeof line === "string")
138
+ : [];
139
+ return {
140
+ text: typeof result.text === "string" ? result.text : original,
141
+ ...(context.length === 0 ? {} : { context }),
142
+ };
143
+ }
144
+ /** Fold one committed assistant message into the turn's answer and usage. */
145
+ function foldAssistantMessage(turnRecord, data) {
146
+ turnRecord.answer = textOf(data.message.content);
147
+ if (data.usage === undefined)
148
+ return;
149
+ const { model } = data.message.source;
150
+ const usage = turnRecord.usage ?? {
151
+ input_tokens: 0,
152
+ output_tokens: 0,
153
+ cache_read_input_tokens: 0,
154
+ cache_creation_input_tokens: 0,
155
+ model,
156
+ };
157
+ usage.input_tokens += data.usage.inputTokens;
158
+ usage.output_tokens += data.usage.outputTokens;
159
+ usage.cache_read_input_tokens += data.usage.cacheReadTokens ?? 0;
160
+ usage.cache_creation_input_tokens += data.usage.cacheWriteTokens ?? 0;
161
+ usage.model = model;
162
+ turnRecord.usage = usage;
163
+ }
164
+ /** Detached mod runs the bridge tracks so disposal can await them; a rejection is reported, never unhandled. */
165
+ class DetachedRuns {
166
+ report;
167
+ pending = new Set();
168
+ controller = new AbortController();
169
+ constructor(report) {
170
+ this.report = report;
171
+ }
172
+ track(label, run) {
173
+ /* v8 ignore next -- the engine behaviors beneath these runs are total; the report guards a future rejecting one */
174
+ const settled = run.then(() => undefined, (error) => {
175
+ this.report(`${label} failed: ${messageOf(error)}`);
176
+ });
177
+ this.pending.add(settled);
178
+ void settled.finally(() => {
179
+ this.pending.delete(settled);
180
+ });
181
+ }
182
+ /** Abort every run's signal; `drain` then waits for them to settle. */
183
+ cancel() {
184
+ this.controller.abort(new Error("claude-code-mods disposed"));
185
+ }
186
+ async drain() {
187
+ this.cancel();
188
+ await Promise.allSettled([...this.pending]);
189
+ }
190
+ }
191
+ /** The lossless-JSON copy of a mod's answer, or undefined when it has none. */
192
+ function jsonValueOf(value) {
193
+ const text = stringify(value);
194
+ return text === undefined ? undefined : JSON.parse(text);
195
+ }
196
+ /** An error-shaped tool result carrying a mod's text in place of the tool's own. */
197
+ function modAnswered(text, code, rendered = text) {
198
+ return {
199
+ isError: true,
200
+ error: {
201
+ message: text,
202
+ info: { name: code === "MOD_DENIED" ? "ModDenied" : "ModAnswered", code },
203
+ },
204
+ content: [{ type: "text", text: rendered }],
205
+ };
206
+ }
207
+ /**
208
+ * The bridge service: loaded mods, their hooks, and the harness listeners
209
+ * that raise their events. Mods join through {@link ClaudeCodeMods.add},
210
+ * which {@link defineMod} calls when a mod plugin mounts. The Remote methods
211
+ * let a Client draw each session's band above the prompt and press its buttons.
212
+ */
213
+ let ClaudeCodeMods = (() => {
214
+ let _classSuper = TypertRemoteService;
215
+ let _instanceExtraInitializers = [];
216
+ let _watchBand_decorators;
217
+ let _pressBand_decorators;
218
+ return class ClaudeCodeMods extends _classSuper {
219
+ static {
220
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
221
+ _watchBand_decorators = [Remote("watchBand")];
222
+ _pressBand_decorators = [Remote];
223
+ __esDecorate(this, null, _watchBand_decorators, { kind: "method", name: "watchBand", static: false, private: false, access: { has: obj => "watchBand" in obj, get: obj => obj.watchBand }, metadata: _metadata }, null, _instanceExtraInitializers);
224
+ __esDecorate(this, null, _pressBand_decorators, { kind: "method", name: "pressBand", static: false, private: false, access: { has: obj => "pressBand" in obj, get: obj => obj.pressBand }, metadata: _metadata }, null, _instanceExtraInitializers);
225
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
226
+ }
227
+ static Config = z.object({
228
+ hookTimeoutMs: z.number().default(10_000),
229
+ catchTimeoutMs: z.number().default(1_000),
230
+ processTimeoutMs: z.number().default(30_000),
231
+ toolAliases: z.dict(z.string()),
232
+ bandColumns: z.number().default(120),
233
+ bandRows: z.number().default(10),
234
+ });
235
+ // Session initialization requires its directory and turn-boundary reader; other services are read on demand.
236
+ // `agents` was required by the upstream `$.session.turns` implementation
237
+ // (`ctx.agents.turnBoundaryOf`). This bridge counts assistant messages on the
238
+ // derived surface instead, so only the working-directory seam is mandatory.
239
+ static inject = ["workingDirectory"];
240
+ engine = __runInitializers(this, _instanceExtraInitializers);
241
+ registrations = new Map();
242
+ surfaces;
243
+ constructor(ctx, config) {
244
+ super(ctx, "claudeCodeMods", { namespace: "claudeCodeMods" });
245
+ // The schema supplies every default; a direct construction passes the fields it needs.
246
+ const { hookTimeoutMs = 10_000, catchTimeoutMs = 1_000, processTimeoutMs = 30_000, bandColumns = 120, bandRows = 10, } = config;
247
+ assertPositive("hookTimeoutMs", hookTimeoutMs);
248
+ assertPositive("catchTimeoutMs", catchTimeoutMs);
249
+ assertPositive("processTimeoutMs", processTimeoutMs);
250
+ assertPositive("bandColumns", bandColumns);
251
+ assertPositive("bandRows", bandRows);
252
+ const aliases = createToolNameAliases(config.toolAliases);
253
+ const callOrigins = new Map();
254
+ const modCommands = new Set();
255
+ const modTools = new Set();
256
+ const report = (line) => {
257
+ ctx.logger.warn(`claude-code-mods: ${line}`);
258
+ };
259
+ const agentOf = (sessionId) => ctx.get("agents")?.get(SessionId(sessionId));
260
+ const detached = new DetachedRuns(report);
261
+ const surfaces = new SurfaceTable({
262
+ columns: bandColumns,
263
+ rows: bandRows,
264
+ render: (sessionId, input) => {
265
+ const agent = agentOf(sessionId);
266
+ /* v8 ignore next -- agent/disposed forgets the band before the registry drops the agent; a redraw racing it draws nothing */
267
+ if (agent === undefined)
268
+ return Promise.resolve(null);
269
+ return engine.raise("ui.render", input, () => null, {
270
+ binding: { agent },
271
+ signal: detached.controller.signal,
272
+ });
273
+ },
274
+ runAction: async (_sessionId, callback) => {
275
+ try {
276
+ await callback();
277
+ }
278
+ catch (error) {
279
+ report(`a button's onPress failed: ${messageOf(error)}`);
280
+ }
281
+ },
282
+ report,
283
+ });
284
+ this.surfaces = surfaces;
285
+ // Deferred by one macrotask: a mod sets its own state right after the `$` call that triggers the redraw resolves.
286
+ const redraw = (sessionId) => {
287
+ setTimeout(() => {
288
+ if (agentOf(sessionId) !== undefined)
289
+ void surfaces.refresh(sessionId);
290
+ }, 0).unref();
291
+ };
292
+ const modSubmissions = new Map();
293
+ const ops = createHostOps({
294
+ ctx,
295
+ aliases,
296
+ processTimeoutMs,
297
+ registrations: this.registrations,
298
+ callOrigins,
299
+ modCommands,
300
+ modTools,
301
+ redraw,
302
+ submitted: (messageId, mod) => {
303
+ modSubmissions.set(messageId, mod);
304
+ },
305
+ });
306
+ const engine = new ModsEngine({
307
+ ops: (op) => ops[op],
308
+ stateKey: (binding) => binding.agent?.session.id ?? "",
309
+ budgetMs: hookTimeoutMs,
310
+ catchBudgetMs: catchTimeoutMs,
311
+ report,
312
+ onStateRead: (key, slot) => {
313
+ surfaces.stateRead(key, slot);
314
+ },
315
+ onStateWritten: (key, slot) => {
316
+ surfaces.stateWritten(key, slot);
317
+ },
318
+ });
319
+ this.engine = engine;
320
+ const registrations = this.registrations;
321
+ ctx.effect(() => async () => {
322
+ // Cancel first: a timer callback waiting inside a `$` call ends on this signal, and engine.dispose awaits it.
323
+ detached.cancel();
324
+ surfaces.dispose();
325
+ for (const owned of registrations.values())
326
+ for (const dispose of owned)
327
+ dispose();
328
+ registrations.clear();
329
+ await engine.dispose();
330
+ await detached.drain();
331
+ }, "claude-code-mods: unload mods");
332
+ // Read at each use: the registry may mount after this plugin in a composition.
333
+ const isRoot = (agent) => {
334
+ const agents = ctx.get("agents");
335
+ return agents === undefined || agents.roots().includes(agent);
336
+ };
337
+ /** Root agents that received `session.start`; the registry no longer lists an agent once it is disposed. */
338
+ const startedRoots = new Set();
339
+ const agentIdOf = (agent) => agent !== undefined && !isRoot(agent) ? { agentId: agent.id } : {};
340
+ /** Per-session fold of the open turn, keyed by session id. */
341
+ const turns = new Map();
342
+ /** Turns whose first pre-step already raised `turn.start`, by session id. */
343
+ const startedTurns = new Map();
344
+ /** Rewritten tool results the post-execute listener installs as content. */
345
+ const replacements = new Map();
346
+ // Cordis listeners are synchronous: the event bus does not await a returned
347
+ // promise, so raising the event has to happen on a tracked detached task
348
+ // rather than by making the listener `async` and hoping it is awaited.
349
+ ctx.on("agent/created", ({ agent }) => {
350
+ if (!isRoot(agent))
351
+ return;
352
+ startedRoots.add(agent.session.id);
353
+ // This seam's `agent/created` payload carries no initialization signal, so
354
+ // the bridge's own detached controller is the only cancellation source: it
355
+ // aborts when the service disposes, which is also when a waiting hook must
356
+ // stop.
357
+ const abandon = detached.controller.signal;
358
+ detached.track("session.start", (async () => {
359
+ const input = {
360
+ cwd: await ctx.workingDirectory.ensure(agent, abandon),
361
+ surface: null,
362
+ isInteractive: ctx.get("userQuestions") !== undefined,
363
+ };
364
+ await engine.raise("session.start", input, (e) => ({ cwd: e.cwd }), { binding: { agent }, signal: abandon });
365
+ redraw(agent.session.id);
366
+ })());
367
+ });
368
+ ctx.on("agent/disposed", ({ agent }) => {
369
+ const sessionId = agent.session.id;
370
+ turns.delete(sessionId);
371
+ startedTurns.delete(sessionId);
372
+ // The agent's scoped registrations unwound with its context; only the bookkeeping remains.
373
+ registrations.delete(sessionId);
374
+ surfaces.forget(sessionId);
375
+ const forget = () => engine.forgetSession(sessionId);
376
+ if (!startedRoots.delete(sessionId)) {
377
+ detached.track("session cleanup", forget());
378
+ return;
379
+ }
380
+ const input = { reason: "other", sessionId };
381
+ // `$.state` stays readable and the session's timers keep running until the mods' `session.end` hooks have settled.
382
+ detached.track("session.end", engine
383
+ .raise("session.end", input, (e) => ({ sessionId: e.sessionId }), { binding: { agent }, signal: detached.controller.signal })
384
+ .then(forget, forget));
385
+ });
386
+ ctx.on("agent/pre-step", async ({ agent, messages, turn, signal }, next) => {
387
+ const binding = { agent };
388
+ const started = startedTurns.get(agent.session.id) ?? new Set();
389
+ startedTurns.set(agent.session.id, started);
390
+ const first = !started.has(turn);
391
+ started.add(turn);
392
+ const prompt = promptMessages(messages);
393
+ const text = textOf(prompt.flatMap((message) => message.content));
394
+ let submitted = { text };
395
+ // A batch of injected context alone is not a prompt: Claude Code raises prompt.submit for typed prompts.
396
+ if (prompt.length > 0) {
397
+ const submitter = prompt
398
+ .map((message) => modSubmissions.get(message.id))
399
+ .find((name) => name !== undefined);
400
+ for (const message of prompt)
401
+ modSubmissions.delete(message.id);
402
+ const input = {
403
+ text,
404
+ wait: false,
405
+ origin: submitter === undefined
406
+ ? { kind: "composer" }
407
+ : { kind: "plugin", name: submitter },
408
+ };
409
+ submitted = acceptPromptSubmit(await engine.raise("prompt.submit", input, (e) => ({
410
+ text: e.text,
411
+ ...(e.context === undefined ? {} : { context: e.context }),
412
+ }), { binding, signal }), text);
413
+ if (submitted.drop !== undefined) {
414
+ ctx.logger.info(`claude-code-mods: prompt dropped: ${submitted.drop}`);
415
+ return { kind: "reject" };
416
+ }
417
+ }
418
+ if (first) {
419
+ const input = {
420
+ text: submitted.text,
421
+ turnId: String(turn),
422
+ ...agentIdOf(agent),
423
+ };
424
+ await engine.raise("turn.start", input, (e) => ({ turnId: e.turnId }), { binding, signal });
425
+ }
426
+ const downstream = await next();
427
+ if (downstream.kind !== "enter" || messages.length === 0)
428
+ return downstream;
429
+ const context = submitted.context ?? [];
430
+ if (submitted.text === text && context.length === 0)
431
+ return downstream;
432
+ // The rewritten text and the attached context replace the human's messages in place; every other message stays.
433
+ let edited = submitted.text === text
434
+ ? [...prompt]
435
+ : rewritePromptText(prompt, submitted.text);
436
+ if (context.length > 0)
437
+ edited = appendContext(edited, context);
438
+ const rewritten = new Map();
439
+ edited.forEach((message, index) => {
440
+ rewritten.set(prompt[index], message);
441
+ });
442
+ return {
443
+ ...downstream,
444
+ messages: downstream.messages.map((message) => rewritten.get(message) ?? message),
445
+ };
446
+ });
447
+ ctx.on("tools/execute", async (exec, next) => {
448
+ // A call a mod raised through `$.tool.call` reaches only the mods loaded before it, never itself.
449
+ const raisedBy = callOrigins.get(exec.callId);
450
+ const hooks = engine.registry.select("tool.call", raisedBy);
451
+ if (hooks.length === 0)
452
+ return next();
453
+ const agent = exec.agent;
454
+ const callArguments = record(exec.arguments);
455
+ const modName = aliases.toMod(exec.name);
456
+ const input = {
457
+ ...callArguments,
458
+ tool: modName,
459
+ tool_use_id: exec.callId,
460
+ ...agentIdOf(agent),
461
+ };
462
+ const logged = JSON.stringify(callArguments);
463
+ let beneath;
464
+ const answer = await engine.raiseWith("tool.call", hooks, raisedBy, input, async () => {
465
+ beneath = await next();
466
+ return toolCallResultOf(beneath);
467
+ }, {
468
+ binding: { agent },
469
+ signal: exec.signal,
470
+ // The call is logged before policy runs, so the arguments a hook passes down must be the logged ones.
471
+ validateNext: (e) => {
472
+ const { tool, tool_use_id: _id, agentId: _agentId, ...rest } = e;
473
+ if (tool !== modName) {
474
+ throw new RewriteRefusedError(`rerouted the call from ${modName} to ${tool}; the logged call runs the tool it named`);
475
+ }
476
+ if (JSON.stringify(rest) !== logged) {
477
+ throw new RewriteRefusedError(`rewrote the arguments of ${modName}; argument rewrites need the pre-tool input rewrite mechanism (${REWRITE_NOTE})`);
478
+ }
479
+ },
480
+ });
481
+ if (agent !== undefined)
482
+ redraw(agent.session.id);
483
+ if (answer.deny !== undefined)
484
+ return modAnswered(answer.deny, "MOD_DENIED", `Error: ${answer.deny}`);
485
+ const text = typeof answer.result === "string"
486
+ ? answer.result
487
+ : (stringify(answer.result) ?? "");
488
+ if (beneath !== undefined) {
489
+ const mapped = toolCallResultOf(beneath);
490
+ if (mapped.result === answer.result && mapped.isError === answer.isError)
491
+ return beneath;
492
+ // A success the hook marked as failed becomes a failure; a failure stays one, with the hook's text.
493
+ if (answer.isError === true && !beneath.isError)
494
+ return modAnswered(text, "MOD_ANSWERED");
495
+ replacements.set(exec.token, text);
496
+ return beneath;
497
+ }
498
+ if (answer.isError === true)
499
+ return modAnswered(text, "MOD_ANSWERED");
500
+ if (modTools.has(exec.name))
501
+ return { isError: false, value: text, content: [{ type: "text", text }] };
502
+ // A built-in tool's success value must satisfy its own output schema: a
503
+ // conforming answer is the tool's result, any other is error-shaped.
504
+ const definition = ctx
505
+ .get("tools")
506
+ ?.get(exec.name, agent === undefined ? undefined : scopeOf(agent.ctx));
507
+ const value = jsonValueOf(answer.result);
508
+ if (definition !== undefined &&
509
+ value !== undefined &&
510
+ validateJsonSchemaValue(definition.output.schema, value).length === 0) {
511
+ return {
512
+ isError: false,
513
+ value,
514
+ content: definition.output.render(exec.arguments, value),
515
+ };
516
+ }
517
+ return modAnswered(text, "MOD_ANSWERED");
518
+ });
519
+ // A call that never reaches post-execute (an earlier listener answered, or a pipeline failure) still clears its entry.
520
+ ctx.on("tools/result", (exec) => {
521
+ replacements.delete(exec.token);
522
+ });
523
+ ctx.on("tools/post-execute", async (exec, _result, next) => {
524
+ const replacement = replacements.get(exec.token);
525
+ if (replacement === undefined)
526
+ return next();
527
+ replacements.delete(exec.token);
528
+ const downstream = await next();
529
+ if (downstream.kind === "block")
530
+ return downstream;
531
+ return {
532
+ kind: "accept",
533
+ content: [{ type: "text", text: replacement }],
534
+ ...(downstream.additionalContexts === undefined
535
+ ? {}
536
+ : { additionalContexts: downstream.additionalContexts }),
537
+ };
538
+ });
539
+ ctx.on("session/event", (session, event) => {
540
+ if (event.type === "turn/start") {
541
+ turns.set(session.id, {
542
+ turn: event.data.turn,
543
+ startedAt: Date.now(),
544
+ answer: "",
545
+ usage: undefined,
546
+ });
547
+ return;
548
+ }
549
+ if (event.type === "assistant/message") {
550
+ const turnRecord = turns.get(session.id);
551
+ if (turnRecord !== undefined)
552
+ foldAssistantMessage(turnRecord, event.data);
553
+ return;
554
+ }
555
+ if (event.type !== "turn/end")
556
+ return;
557
+ const { turn, reason } = event.data;
558
+ startedTurns.get(session.id)?.delete(turn);
559
+ const agent = ctx.get("agents")?.get(session.id);
560
+ if (agent === undefined)
561
+ return;
562
+ const turnRecord = turns.get(session.id);
563
+ const folded = turnRecord?.turn === turn ? turnRecord : undefined;
564
+ const input = {
565
+ turnId: String(turn),
566
+ answer: folded?.answer ?? "",
567
+ durationMs: folded === undefined ? 0 : Date.now() - folded.startedAt,
568
+ isAborted: reason.kind === "aborted",
569
+ reason: reason.kind === "aborted"
570
+ ? "aborted"
571
+ : reason.kind === "error"
572
+ ? "error"
573
+ : "answer",
574
+ ...agentIdOf(agent),
575
+ ...(folded?.usage === undefined ? {} : { usage: { ...folded.usage } }),
576
+ };
577
+ if (folded !== undefined)
578
+ turns.delete(session.id);
579
+ detached.track("turn.complete", engine
580
+ .raise("turn.complete", input, () => ({ text: "" }), { binding: { agent }, signal: detached.controller.signal })
581
+ .then((result) => {
582
+ if (typeof result.text === "string" && result.text.length > 0)
583
+ ctx.logger.info(`claude-code-mods: ${result.text}`);
584
+ redraw(session.id);
585
+ }));
586
+ });
587
+ }
588
+ /**
589
+ * Watch the band above the prompt of one session: the current drawing, then
590
+ * every redraw, until the Client stops watching.
591
+ * @param agent - the session's agent, resolved by the Gateway.
592
+ * @param signal - carrier cancellation.
593
+ * @returns the band's snapshots.
594
+ */
595
+ watchBand(agent, signal) {
596
+ return this.surfaces.watch(agent.session.id, signal);
597
+ }
598
+ /**
599
+ * Press a button of the band's current drawing: runs the mod's `onPress` and redraws.
600
+ * @param agent - the session's agent, resolved by the Gateway.
601
+ * @param generation - the drawing the Client saw.
602
+ * @param actionId - the button's action id in that drawing.
603
+ * @returns the snapshot after the press.
604
+ */
605
+ pressBand(agent, generation, actionId) {
606
+ return this.surfaces.press(agent.session.id, generation, actionId);
607
+ }
608
+ /**
609
+ * Load one mod beneath every mod loaded before it: run its `register`,
610
+ * keep its hooks, and report which of its events this host never raises.
611
+ * @param definition - the mod as its plugin defined it.
612
+ * @returns the disposer that removes the mod's hooks, closes its timers, and releases its registrations.
613
+ * @throws Error when the name is invalid or taken, or when `register` throws (Claude Code's `hooks module did not load` wording).
614
+ */
615
+ async add(definition) {
616
+ const mod = await this.engine.add(definition);
617
+ const unserved = this.engine.registry.unserved(mod, SERVED_EVENTS);
618
+ this.ctx.logger.info(`claude-code-mods: hooks module ${mod.name}@inline loaded (tier user); events: ${this.engine.describe(mod) || "(none)"}`);
619
+ if (unserved.length > 0) {
620
+ this.ctx.logger.warn(`claude-code-mods: ${mod.name}: on(${unserved.map((event) => JSON.stringify(event)).join(", ")}) registered, but this host never raises ${unserved.length === 1 ? "that event" : "those events"}`);
621
+ }
622
+ return async () => {
623
+ await this.engine.unload(mod.name);
624
+ };
625
+ }
626
+ /** The loaded mods in chain order. */
627
+ get mods() {
628
+ return this.engine.registry.list();
629
+ }
630
+ /**
631
+ * Raise one engine event from a host seam that is not one of the listeners
632
+ * this service already installed.
633
+ *
634
+ * The bridge installs its own listeners for the seams our agent loop and tool
635
+ * registry expose directly; a product that reaches a seam differently (its own
636
+ * pipeline, a test kit, another host's turn boundary) calls the same engine
637
+ * through here rather than re-implementing chain dispatch.
638
+ * @param event - the engine event name.
639
+ * @param input - the event payload mods receive.
640
+ * @param fallback - the answer when no mod decides.
641
+ * @param options - the agent binding and cancellation for this dispatch.
642
+ * @returns the chain's answer.
643
+ */
644
+ raise(event, input, fallback, options) {
645
+ return this.engine.raise(event, input, fallback, options);
646
+ }
647
+ };
648
+ })();
649
+ export { ClaudeCodeMods };
650
+ export default ClaudeCodeMods;
651
+ export { attachClaudeCodeMods, } from "./attach.js";
652
+ export { createModsRuntime, } from "./runtime.js";
653
+ export { createProductAgent, discoverClaudeCodePluginDirs, } from "./product-agent.js";
654
+ //# sourceMappingURL=index.js.map