@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,7 @@
1
+ /**
2
+ * Client-namespace projection of token-meter's browser-safe contracts and folds.
3
+ *
4
+ * @module @xrkseek/xrk-token-meter/client
5
+ */
6
+ export { deriveTurnTokenUsage } from "./turn-usage.js";
7
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Fixed-density heuristic token pricing shared by the meter service and the
3
+ * pure context-breakdown projection, so both surfaces price identical content
4
+ * to identical numbers.
5
+ *
6
+ * @module @xrkseek/xrk-token-meter/estimate
7
+ */
8
+ import type { ContentBlock, Message } from '@xrkseek/xrk-llm';
9
+ import type { EpochHeader } from '@xrkseek/xrk-session';
10
+ /** Role-field framing overhead added to every priced message. */
11
+ export declare const ROLE_OVERHEAD = 4;
12
+ /**
13
+ * Price content blocks recursively under the fixed density heuristic.
14
+ * @param blocks - content blocks to price without mutation.
15
+ * @returns heuristic tokens including per-block structural overhead.
16
+ */
17
+ export declare function estimateContent(blocks: readonly ContentBlock[]): number;
18
+ /**
19
+ * Heuristically price one model-visible message.
20
+ * @param message - message to price without mutation.
21
+ * @returns content and role-framing tokens under the fixed heuristic.
22
+ */
23
+ export declare function estimateMessage(message: Message): number;
24
+ /**
25
+ * Price the system-prompt part of a canonical request envelope.
26
+ * @param header - canonical envelope, or undefined before any request.
27
+ * @returns heuristic system-prompt tokens; 0 when absent.
28
+ */
29
+ export declare function estimateSystemTokens(header: EpochHeader | undefined): number;
30
+ /**
31
+ * Price the tool-schema part of a canonical request envelope.
32
+ * @param header - canonical envelope, or undefined before any request.
33
+ * @returns heuristic tool-schema tokens; 0 when absent or empty.
34
+ */
35
+ export declare function estimateToolsTokens(header: EpochHeader | undefined): number;
36
+ /**
37
+ * Price the complete non-surface request envelope.
38
+ * @param header - canonical envelope, or undefined before any request.
39
+ * @returns heuristic system plus tool tokens.
40
+ */
41
+ export declare function estimateHeader(header: EpochHeader | undefined): number;
42
+ //# sourceMappingURL=estimate.d.ts.map
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Fixed-density heuristic token pricing shared by the meter service and the
3
+ * pure context-breakdown projection, so both surfaces price identical content
4
+ * to identical numbers.
5
+ *
6
+ * @module @xrkseek/xrk-token-meter/estimate
7
+ */
8
+ /** Fixed text-density estimate used until exact tokenization is needed. */
9
+ const CHARS_PER_TOKEN = 4;
10
+ /** Per-block structural overhead for JSON framing and type tags. */
11
+ const BLOCK_OVERHEAD = 4;
12
+ /** Role-field framing overhead added to every priced message. */
13
+ export const ROLE_OVERHEAD = 4;
14
+ /**
15
+ * Price content blocks recursively under the fixed density heuristic.
16
+ * @param blocks - content blocks to price without mutation.
17
+ * @returns heuristic tokens including per-block structural overhead.
18
+ */
19
+ export function estimateContent(blocks) {
20
+ let tokens = 0;
21
+ for (const block of blocks) {
22
+ switch (block.type) {
23
+ case 'text':
24
+ case 'reasoning':
25
+ tokens += Math.ceil(block.text.length / CHARS_PER_TOKEN) + BLOCK_OVERHEAD;
26
+ break;
27
+ case 'tool-call':
28
+ tokens += Math.ceil(block.name.length / CHARS_PER_TOKEN)
29
+ + Math.ceil(block.arguments.length / CHARS_PER_TOKEN)
30
+ + BLOCK_OVERHEAD;
31
+ break;
32
+ case 'tool-result':
33
+ tokens += estimateContent(block.content) + BLOCK_OVERHEAD;
34
+ break;
35
+ default:
36
+ // ContentBlockMap is merge-extensible; unknown blocks retain a
37
+ // conservative structural JSON price under the fixed heuristic.
38
+ tokens += BLOCK_OVERHEAD + Math.ceil(JSON.stringify(block).length / CHARS_PER_TOKEN);
39
+ }
40
+ }
41
+ return tokens;
42
+ }
43
+ /**
44
+ * Heuristically price one model-visible message.
45
+ * @param message - message to price without mutation.
46
+ * @returns content and role-framing tokens under the fixed heuristic.
47
+ */
48
+ export function estimateMessage(message) {
49
+ return estimateContent(message.content) + ROLE_OVERHEAD;
50
+ }
51
+ /**
52
+ * Price the system-prompt part of a canonical request envelope.
53
+ * @param header - canonical envelope, or undefined before any request.
54
+ * @returns heuristic system-prompt tokens; 0 when absent.
55
+ */
56
+ export function estimateSystemTokens(header) {
57
+ if (header?.system === undefined)
58
+ return 0;
59
+ return Math.ceil(header.system.length / CHARS_PER_TOKEN) + ROLE_OVERHEAD;
60
+ }
61
+ /**
62
+ * Price the tool-schema part of a canonical request envelope.
63
+ * @param header - canonical envelope, or undefined before any request.
64
+ * @returns heuristic tool-schema tokens; 0 when absent or empty.
65
+ */
66
+ export function estimateToolsTokens(header) {
67
+ if (header?.tools === undefined || header.tools.length === 0)
68
+ return 0;
69
+ return Math.ceil(JSON.stringify(header.tools).length / CHARS_PER_TOKEN) + BLOCK_OVERHEAD;
70
+ }
71
+ /**
72
+ * Price the complete non-surface request envelope.
73
+ * @param header - canonical envelope, or undefined before any request.
74
+ * @returns heuristic system plus tool tokens.
75
+ */
76
+ export function estimateHeader(header) {
77
+ return estimateSystemTokens(header) + estimateToolsTokens(header);
78
+ }
79
+ //# sourceMappingURL=estimate.js.map
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Single replay-aware token-meter service for request and surface pressure.
3
+ *
4
+ * @module @xrkseek/xrk-token-meter
5
+ */
6
+ import { Context, Service } from '@xrkseek/cordis';
7
+ import z from '@xrkseek/schemastery';
8
+ import type { Message } from '@xrkseek/xrk-llm';
9
+ import type { EpochHeader, Session } from '@xrkseek/xrk-session';
10
+ import type { TokenMeasurement, TokenMeterConfig } from './types.ts';
11
+ export type * from './types.ts';
12
+ declare module '@xrkseek/cordis' {
13
+ interface Context {
14
+ tokenMeter: TokenMeter;
15
+ }
16
+ }
17
+ /** Replay owner for one service-wide estimator and isolated per-session folds. */
18
+ export declare class TokenMeter extends Service {
19
+ static Config: z<TokenMeterConfig>;
20
+ private readonly states;
21
+ constructor(ctx: Context, config?: TokenMeterConfig);
22
+ /**
23
+ * Measure current request pressure and surface through the durable tail.
24
+ *
25
+ * Provider usage is reused only when the latest successful call's canonical
26
+ * request envelope matches `requestHeader` and its total is no lower than
27
+ * that call's full heuristic anchor; otherwise the complete envelope and
28
+ * surface are heuristically repriced.
29
+ *
30
+ * `requestHeader` affects request pressure only; surface fields always
31
+ * describe the current session surface. Every call clones those positional
32
+ * nodes, so measurement is O(surface).
33
+ *
34
+ * @param session - session to replay through its current durable tail.
35
+ * @param requestHeader - optional effective request envelope replacing the latest logged header.
36
+ * @returns a detached deeply immutable pressure and surface measurement.
37
+ */
38
+ measure(session: Session, requestHeader?: EpochHeader): TokenMeasurement;
39
+ /**
40
+ * Heuristically price one model-visible message (instance face of the pure
41
+ * `estimateMessage` export from `estimate.ts`).
42
+ * @param message - message to price without mutation.
43
+ * @returns content and role-framing tokens under the fixed service heuristic.
44
+ */
45
+ estimateMessage(message: Message): number;
46
+ /** Catch one session's fold up to the current durable tail. */
47
+ private _sync;
48
+ /**
49
+ * Validate and prepare every fallible part before mutating replay state.
50
+ * A malformed event remains unread on every retry instead of partially
51
+ * applying the same mutation more than once.
52
+ */
53
+ private _foldEvent;
54
+ /**
55
+ * Reassemble provider output from the exact cited chunk seqs for a usage anchor.
56
+ * Missing legacy source seqs conservatively treat the durable output as the
57
+ * provider output; an explicit empty list prices a known empty stream.
58
+ */
59
+ private _estimateProviderAssistant;
60
+ }
61
+ export default TokenMeter;
62
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,250 @@
1
+ /**
2
+ * Single replay-aware token-meter service for request and surface pressure.
3
+ *
4
+ * @module @xrkseek/xrk-token-meter
5
+ */
6
+ import { Service } from '@xrkseek/cordis';
7
+ import z from '@xrkseek/schemastery';
8
+ import { BlockAssembler, deepFreeze } from '@xrkseek/xrk-llm';
9
+ import { canonicalHeader, headerEquals, isSurfaceEvent } from '@xrkseek/xrk-session';
10
+ import { contextBreakdownProjectionDefinition } from "./breakdown-projection.js";
11
+ import { contextPressureProjectionDefinition, tokenUsageProjectionDefinition } from "./usage-projection.js";
12
+ import { estimateContent, estimateHeader, estimateMessage, ROLE_OVERHEAD } from "./estimate.js";
13
+ import { foldSurfaceTokens } from "./surface-fold.js";
14
+ /** Sum disjoint provider usage buckets without double-counting reasoning output. */
15
+ function usageTokens(usage) {
16
+ return usage.inputTokens
17
+ + (usage.cacheReadTokens ?? 0)
18
+ + (usage.cacheWriteTokens ?? 0)
19
+ + usage.outputTokens;
20
+ }
21
+ /** Compare optional envelopes so a headerless estimate can track later surface deltas. */
22
+ function optionalHeaderEquals(left, right) {
23
+ if (left === undefined || right === undefined)
24
+ return left === right;
25
+ return headerEquals(left, right);
26
+ }
27
+ /** Reject stale or misspelled keys before defaults can hide them. */
28
+ function validateConfigKeys(config) {
29
+ for (const key of Object.keys(config)) {
30
+ throw new Error(`TokenMeterConfig: unknown key "${key}" (no settings are supported)`);
31
+ }
32
+ }
33
+ /** Replay owner for one service-wide estimator and isolated per-session folds. */
34
+ export class TokenMeter extends Service {
35
+ // Schemastery preserves untrusted loader keys on an empty object schema;
36
+ // the public type excludes settings while validateConfigKeys rejects them.
37
+ static Config = z.object({});
38
+ states = new WeakMap();
39
+ constructor(ctx, config = {}) {
40
+ super(ctx, 'tokenMeter');
41
+ validateConfigKeys(config);
42
+ // Projection registration is an optional child: compositions without the
43
+ // generic registry keep the meter's standalone read shape.
44
+ ctx.inject(['sessionProjections'], (projectionCtx) => {
45
+ projectionCtx.sessionProjections.register(tokenUsageProjectionDefinition);
46
+ projectionCtx.sessionProjections.register(contextPressureProjectionDefinition);
47
+ projectionCtx.sessionProjections.register(contextBreakdownProjectionDefinition);
48
+ });
49
+ // Readers catch up independently, while eager observation bounds ordinary
50
+ // read latency without creating state for sessions no consumer has read.
51
+ ctx.on('session/event', (session) => {
52
+ if (this.states.has(session))
53
+ this._sync(session);
54
+ });
55
+ }
56
+ /**
57
+ * Measure current request pressure and surface through the durable tail.
58
+ *
59
+ * Provider usage is reused only when the latest successful call's canonical
60
+ * request envelope matches `requestHeader` and its total is no lower than
61
+ * that call's full heuristic anchor; otherwise the complete envelope and
62
+ * surface are heuristically repriced.
63
+ *
64
+ * `requestHeader` affects request pressure only; surface fields always
65
+ * describe the current session surface. Every call clones those positional
66
+ * nodes, so measurement is O(surface).
67
+ *
68
+ * @param session - session to replay through its current durable tail.
69
+ * @param requestHeader - optional effective request envelope replacing the latest logged header.
70
+ * @returns a detached deeply immutable pressure and surface measurement.
71
+ */
72
+ measure(session, requestHeader) {
73
+ const state = this._sync(session);
74
+ const header = requestHeader === undefined
75
+ ? state.header
76
+ : canonicalHeader(requestHeader);
77
+ const anchor = state.anchor;
78
+ let baseline;
79
+ let surfaceDeltaTokens;
80
+ if (anchor !== undefined && optionalHeaderEquals(anchor.header, header)) {
81
+ baseline = anchor.baseline;
82
+ surfaceDeltaTokens = state.surfaceTokens - anchor.surfaceTokens;
83
+ }
84
+ else if (header === undefined && state.surfaceTokens === 0) {
85
+ baseline = { kind: 'none', tokens: 0 };
86
+ surfaceDeltaTokens = 0;
87
+ }
88
+ else {
89
+ baseline = {
90
+ kind: 'estimated',
91
+ tokens: estimateHeader(header) + state.surfaceTokens,
92
+ };
93
+ surfaceDeltaTokens = 0;
94
+ }
95
+ return deepFreeze(structuredClone({
96
+ logRevision: state.consumedEvents,
97
+ baseline,
98
+ surfaceDeltaTokens,
99
+ totalTokens: Math.max(0, baseline.tokens + surfaceDeltaTokens),
100
+ surfaceTokens: state.surfaceTokens,
101
+ nodes: state.surface,
102
+ }));
103
+ }
104
+ /**
105
+ * Heuristically price one model-visible message (instance face of the pure
106
+ * `estimateMessage` export from `estimate.ts`).
107
+ * @param message - message to price without mutation.
108
+ * @returns content and role-framing tokens under the fixed service heuristic.
109
+ */
110
+ estimateMessage(message) {
111
+ return estimateMessage(message);
112
+ }
113
+ /** Catch one session's fold up to the current durable tail. */
114
+ _sync(session) {
115
+ let state = this.states.get(session);
116
+ if (state === undefined) {
117
+ state = {
118
+ consumedEvents: 0,
119
+ header: undefined,
120
+ surface: [],
121
+ surfaceTokens: 0,
122
+ stepStart: undefined,
123
+ anchor: undefined,
124
+ };
125
+ this.states.set(session, state);
126
+ }
127
+ while (state.consumedEvents < session.events.length) {
128
+ // oxlint-disable-next-line typescript/no-non-null-assertion -- contiguous session seqs index the durable log
129
+ const event = session.events[state.consumedEvents];
130
+ this._foldEvent(session, state, event);
131
+ state.consumedEvents += 1;
132
+ }
133
+ return state;
134
+ }
135
+ /**
136
+ * Validate and prepare every fallible part before mutating replay state.
137
+ * A malformed event remains unread on every retry instead of partially
138
+ * applying the same mutation more than once.
139
+ */
140
+ _foldEvent(session, state, event) {
141
+ let nextHeader = state.header;
142
+ let nextStepStart = state.stepStart;
143
+ let nextAnchor = state.anchor;
144
+ switch (event.type) {
145
+ case 'request/header':
146
+ nextHeader = canonicalHeader(event.data.header);
147
+ break;
148
+ case 'step/start':
149
+ if (state.stepStart !== undefined) {
150
+ throw new Error(`token meter: step/start at seq ${event.seq} arrived before turn ${state.stepStart.turn}/step ${state.stepStart.step} ended`);
151
+ }
152
+ nextStepStart = { ...event.data, surfaceTokens: state.surfaceTokens };
153
+ break;
154
+ case 'step/end':
155
+ if (state.stepStart === undefined
156
+ || state.stepStart.turn !== event.data.turn
157
+ || state.stepStart.step !== event.data.step) {
158
+ throw new Error(`token meter: step/end at seq ${event.seq} has no matching step/start event`);
159
+ }
160
+ nextStepStart = undefined;
161
+ break;
162
+ default:
163
+ break;
164
+ }
165
+ const surface = isSurfaceEvent(event)
166
+ ? foldSurfaceTokens(state.surface, event)
167
+ : undefined;
168
+ if (event.type === 'assistant/message') {
169
+ const stepStart = state.stepStart;
170
+ if (stepStart === undefined
171
+ || stepStart.turn !== event.data.turn
172
+ || stepStart.step !== event.data.step) {
173
+ throw new Error(`token meter: assistant/message at seq ${event.seq} has no matching step/start event`);
174
+ }
175
+ // assistant/message is surface-mandatory at every append/seed boundary.
176
+ // oxlint-disable-next-line typescript/no-non-null-assertion
177
+ const eventTokens = surface.tokens;
178
+ if (event.data.usage !== undefined && nextHeader !== undefined) {
179
+ const providerAssistantTokens = this._estimateProviderAssistant(session, event, eventTokens);
180
+ const anchorSurfaceTokens = stepStart.surfaceTokens + providerAssistantTokens;
181
+ const providerTokens = usageTokens(event.data.usage);
182
+ const estimatedAnchorTokens = estimateHeader(nextHeader) + anchorSurfaceTokens;
183
+ nextAnchor = {
184
+ header: nextHeader,
185
+ surfaceTokens: anchorSurfaceTokens,
186
+ // Signed heuristic deltas remain conservative only from an anchor
187
+ // that is at least as large as the matching full heuristic price.
188
+ baseline: providerTokens >= estimatedAnchorTokens
189
+ ? { kind: 'usage', tokens: providerTokens, usage: event.data.usage }
190
+ : { kind: 'estimated', tokens: estimatedAnchorTokens },
191
+ };
192
+ }
193
+ else {
194
+ const anchorSurfaceTokens = stepStart.surfaceTokens + eventTokens;
195
+ nextAnchor = {
196
+ header: nextHeader,
197
+ surfaceTokens: anchorSurfaceTokens,
198
+ baseline: {
199
+ kind: 'estimated',
200
+ tokens: estimateHeader(nextHeader) + anchorSurfaceTokens,
201
+ },
202
+ };
203
+ }
204
+ }
205
+ state.header = nextHeader;
206
+ state.stepStart = nextStepStart;
207
+ if (surface !== undefined) {
208
+ state.surface = surface.nodes;
209
+ state.surfaceTokens += surface.deltaTokens;
210
+ }
211
+ state.anchor = nextAnchor;
212
+ }
213
+ /**
214
+ * Reassemble provider output from the exact cited chunk seqs for a usage anchor.
215
+ * Missing legacy source seqs conservatively treat the durable output as the
216
+ * provider output; an explicit empty list prices a known empty stream.
217
+ */
218
+ _estimateProviderAssistant(session, event, durableEventTokens) {
219
+ const sourceSeqs = event.sourceEventSeqs;
220
+ if (sourceSeqs === undefined)
221
+ return durableEventTokens;
222
+ const assembler = new BlockAssembler();
223
+ const seen = new Set();
224
+ for (const seq of sourceSeqs) {
225
+ if (seq >= event.seq) {
226
+ throw new Error(`token meter: assistant/message at seq ${event.seq} source seq ${seq} is not earlier`);
227
+ }
228
+ if (seen.has(seq)) {
229
+ throw new Error(`token meter: assistant/message at seq ${event.seq} repeats source seq ${seq}`);
230
+ }
231
+ seen.add(seq);
232
+ // Session construction validates contiguous seqs, and the explicit
233
+ // earlier-than-assistant check above therefore guarantees existence.
234
+ const source = session.events[seq];
235
+ // oxlint-disable-next-line typescript/no-non-null-assertion
236
+ const sourceEvent = source;
237
+ if (sourceEvent.type !== 'assistant/chunk') {
238
+ throw new Error(`token meter: assistant/message at seq ${event.seq} source seq ${seq} is not assistant/chunk`);
239
+ }
240
+ if (sourceEvent.data.turn !== event.data.turn || sourceEvent.data.step !== event.data.step) {
241
+ throw new Error(`token meter: assistant/message at seq ${event.seq} source seq ${seq} belongs to another step`);
242
+ }
243
+ assembler.push(sourceEvent.data.chunk);
244
+ }
245
+ const providerContent = assembler.blocks();
246
+ return providerContent.length === 0 ? 0 : estimateContent(providerContent) + ROLE_OVERHEAD;
247
+ }
248
+ }
249
+ export default TokenMeter;
250
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Package-owned invariant companion for `@xrkseek/xrk-token-meter`.
3
+ * @module @xrkseek/xrk-token-meter/invariant
4
+ */
5
+ import type { Context } from '@xrkseek/cordis';
6
+ /** Cordis companion plugin name. */
7
+ export declare const name = "token-meter-invariant";
8
+ /** Service required before the companion can reserve package ownership. */
9
+ export declare const inject: string[];
10
+ /**
11
+ * Register this package's invariant companion.
12
+ * @param ctx - Cordis context carrying the invariant service.
13
+ * @returns the installed registration's disposer after setup succeeds.
14
+ */
15
+ export declare const apply: (ctx: Context) => Promise<() => void>;
16
+ //# sourceMappingURL=invariant.d.ts.map
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Package-owned invariant companion for `@xrkseek/xrk-token-meter`.
3
+ * @module @xrkseek/xrk-token-meter/invariant
4
+ */
5
+ const PACKAGE_NAME = '@xrkseek/xrk-token-meter';
6
+ /** Cordis companion plugin name. */
7
+ export const name = 'token-meter-invariant';
8
+ /** Service required before the companion can reserve package ownership. */
9
+ export const inject = ['invariants'];
10
+ /**
11
+ * No runtime invariant: token estimates are per-call outputs and the private
12
+ * session cache is invalidated at its event mutation boundary. The package's
13
+ * three projections do expose observation streams, but their schemas fix the
14
+ * JSON payloads; the usage folds replace same-step samples, so totals need not
15
+ * be monotone when a final sample corrects an earlier chunk, and the
16
+ * composition fold prices through the same `estimate.ts` heuristic as the
17
+ * measurement service and subtracts producer-logged shadow prices derived
18
+ * from that service's own nodes, which makes its message figure equal
19
+ * `measure().surfaceTokens` by construction rather than by a relation worth
20
+ * observing at runtime.
21
+ */
22
+ const install = () => { };
23
+ /**
24
+ * Register this package's invariant companion.
25
+ * @param ctx - Cordis context carrying the invariant service.
26
+ * @returns the installed registration's disposer after setup succeeds.
27
+ */
28
+ export const apply = (ctx) => Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install));
29
+ /* jscpd:ignore-end */
30
+ //# sourceMappingURL=invariant.js.map
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Pure client-safe token-projection vocabulary.
3
+ *
4
+ * @module @xrkseek/xrk-token-meter/projection
5
+ */
6
+ /**
7
+ * Durable cumulative provider usage for a complete session log.
8
+ *
9
+ * The four buckets are disjoint. In particular, reasoning tokens are already
10
+ * included in `outputTokens` and are not accumulated again.
11
+ */
12
+ export interface TokenUsageProjection {
13
+ uncachedInputTokens: number;
14
+ outputTokens: number;
15
+ cacheReadTokens: number;
16
+ cacheWriteTokens: number;
17
+ }
18
+ /**
19
+ * Approximate context occupancy for a status display.
20
+ *
21
+ * The fields, when present, are deliberately NOT one atomic request
22
+ * observation: each is a last-wins record of a different moment. Switching
23
+ * models can therefore pair a fresh capacity with the previous route's
24
+ * pressure until the next request reports usage. This is an intentional trade
25
+ * — the value is a user-facing reference, not a billing or gating input. See
26
+ * the token-meter README for the full rationale.
27
+ */
28
+ export interface ContextPressureProjection {
29
+ /**
30
+ * Provider-reported prompt size of the most recent request: uncached input
31
+ * plus cache reads and writes. Response output is excluded, so this does not
32
+ * grow as the current turn streams. Absent until a provider reports usage.
33
+ */
34
+ pressureTokens?: number;
35
+ /**
36
+ * What the NEXT request's prompt would cost: {@link pressureTokens} plus the
37
+ * heuristic repricing of everything the surface gained or lost since that
38
+ * sample. Only the delta is estimated, so the figure stays anchored to the
39
+ * provider while still reacting the moment a compaction shadows a span —
40
+ * which `pressureTokens` alone cannot do, since compaction reports no usage
41
+ * of its own. Absent until a provider reports usage.
42
+ */
43
+ projectedTokens?: number;
44
+ /** Newest recorded route capacity; absent when no adapter advertised one. */
45
+ contextWindow?: number;
46
+ }
47
+ /**
48
+ * Heuristic composition of the next request's context: what the prompt is
49
+ * made of, not what it costs. All three figures use the meter's fixed
50
+ * density estimate, so they will not sum to the provider-anchored
51
+ * `projectedTokens`: the estimator systematically underprices CJK text and
52
+ * JSON schemas, which is exactly the error the anchoring in
53
+ * {@link ContextPressureProjection.projectedTokens} keeps out of the occupancy
54
+ * figure. Present these as approximations of composition, never as a total.
55
+ */
56
+ export interface ContextBreakdownProjection {
57
+ /** Heuristic tokens of the newest request envelope's system prompt; 0 before any request. */
58
+ systemTokens: number;
59
+ /** Heuristic tokens of the newest request envelope's tool schemas; 0 before any request. */
60
+ toolsTokens: number;
61
+ /** Heuristic tokens of the current model-visible conversation surface. */
62
+ messageTokens: number;
63
+ }
64
+ declare module '@xrkseek/xrk-session-projection/types' {
65
+ interface SessionProjectionMap {
66
+ /** Provider-reported usage accumulated across the complete durable log. */
67
+ tokenUsage: TokenUsageProjection;
68
+ /** Newest request pressure paired with the newest known route capacity. */
69
+ contextPressure: ContextPressureProjection;
70
+ /** Heuristic system/tools/message composition of the next request. */
71
+ contextBreakdown: ContextBreakdownProjection;
72
+ }
73
+ }
74
+ //# sourceMappingURL=projection.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Pure client-safe token-projection vocabulary.
3
+ *
4
+ * @module @xrkseek/xrk-token-meter/projection
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=projection.js.map
@@ -0,0 +1,38 @@
1
+ /**
2
+ * The measurement service's positional surface fold: the per-node priced
3
+ * surface `measure()` serves and compaction plans against. The projection
4
+ * units deliberately do NOT share this fold — their state must stay O(1)
5
+ * for the persisted checkpoint, so they ride `surface-projection.ts`'s
6
+ * shadow-price protocol instead. Fully metered logs stay in agreement by
7
+ * construction: both price through `estimate.ts`, and every logged shadow
8
+ * price is derived from THIS fold's nodes by the replace producer. A
9
+ * projection replacement without a claim deliberately folds with zero delta.
10
+ *
11
+ * @module @xrkseek/xrk-token-meter/surface-fold
12
+ */
13
+ import type { SurfaceEvent } from '@xrkseek/xrk-session';
14
+ import type { TokenSurfaceNode } from './types.ts';
15
+ /** One surface event's placement and cost against the surface preceding it. */
16
+ export interface SurfaceTokenFold {
17
+ /** Heuristic price of the event's own message; 0 when it derives none. */
18
+ readonly tokens: number;
19
+ /** The surface after the event, detached from the input. */
20
+ readonly nodes: TokenSurfaceNode[];
21
+ /** Signed change in the surface total: `tokens` minus anything shadowed. */
22
+ readonly deltaTokens: number;
23
+ }
24
+ /**
25
+ * Fold one surface event onto a priced surface.
26
+ *
27
+ * Total and allocation-fresh: the caller assigns the result rather than
28
+ * mutating in place, so a throw here leaves the caller's state untouched and
29
+ * the same malformed event fails identically on every retry.
30
+ * @param nodes - the priced surface preceding this event, in model-visible order.
31
+ * @param event - the surface event to place.
32
+ * @returns the event's price, the next surface, and the signed total delta.
33
+ * @throws when a replacement names a range absent from `nodes` — committed
34
+ * logs are surface-validated at append time, so an unresolvable range is log
35
+ * corruption and must fail loud rather than skip the event.
36
+ */
37
+ export declare function foldSurfaceTokens(nodes: readonly TokenSurfaceNode[], event: SurfaceEvent): SurfaceTokenFold;
38
+ //# sourceMappingURL=surface-fold.d.ts.map
@@ -0,0 +1,47 @@
1
+ /**
2
+ * The measurement service's positional surface fold: the per-node priced
3
+ * surface `measure()` serves and compaction plans against. The projection
4
+ * units deliberately do NOT share this fold — their state must stay O(1)
5
+ * for the persisted checkpoint, so they ride `surface-projection.ts`'s
6
+ * shadow-price protocol instead. Fully metered logs stay in agreement by
7
+ * construction: both price through `estimate.ts`, and every logged shadow
8
+ * price is derived from THIS fold's nodes by the replace producer. A
9
+ * projection replacement without a claim deliberately folds with zero delta.
10
+ *
11
+ * @module @xrkseek/xrk-token-meter/surface-fold
12
+ */
13
+ import { deriveEventMessage } from '@xrkseek/xrk-session';
14
+ import { estimateMessage } from "./estimate.js";
15
+ /**
16
+ * Fold one surface event onto a priced surface.
17
+ *
18
+ * Total and allocation-fresh: the caller assigns the result rather than
19
+ * mutating in place, so a throw here leaves the caller's state untouched and
20
+ * the same malformed event fails identically on every retry.
21
+ * @param nodes - the priced surface preceding this event, in model-visible order.
22
+ * @param event - the surface event to place.
23
+ * @returns the event's price, the next surface, and the signed total delta.
24
+ * @throws when a replacement names a range absent from `nodes` — committed
25
+ * logs are surface-validated at append time, so an unresolvable range is log
26
+ * corruption and must fail loud rather than skip the event.
27
+ */
28
+ export function foldSurfaceTokens(nodes, event) {
29
+ const message = deriveEventMessage(event);
30
+ const tokens = message === null ? 0 : estimateMessage(message);
31
+ const op = event.surfaceOp;
32
+ if (op === 'append') {
33
+ return { tokens, nodes: [...nodes, { seq: event.seq, tokens }], deltaTokens: tokens };
34
+ }
35
+ const startIdx = nodes.findIndex(node => node.seq === op.start);
36
+ const endIdx = nodes.findIndex(node => node.seq === op.end);
37
+ if (startIdx === -1 || endIdx === -1 || startIdx > endIdx) {
38
+ throw new Error(`token surface: replace at seq ${event.seq} has invalid current range ${op.start}-${op.end}`);
39
+ }
40
+ const removed = nodes
41
+ .slice(startIdx, endIdx + 1)
42
+ .reduce((total, node) => total + node.tokens, 0);
43
+ const next = [...nodes];
44
+ next.splice(startIdx, endIdx - startIdx + 1, { seq: event.seq, tokens });
45
+ return { tokens, nodes: next, deltaTokens: tokens - removed };
46
+ }
47
+ //# sourceMappingURL=surface-fold.js.map