@xrkseek/harness-cli 0.0.5 → 0.0.7

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 (344) hide show
  1. package/README.md +3 -1
  2. package/dist/commands/plugin.d.ts +3 -0
  3. package/dist/commands/plugin.d.ts.map +1 -0
  4. package/dist/commands/plugin.js +100 -0
  5. package/dist/commands/plugin.js.map +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/parse-args.d.ts +3 -1
  10. package/dist/parse-args.d.ts.map +1 -1
  11. package/dist/parse-args.js +11 -0
  12. package/dist/parse-args.js.map +1 -1
  13. package/dist/plugin/classify.d.ts +18 -0
  14. package/dist/plugin/classify.d.ts.map +1 -0
  15. package/dist/plugin/classify.js +109 -0
  16. package/dist/plugin/classify.js.map +1 -0
  17. package/dist/plugin/fetch-pack.d.ts +16 -0
  18. package/dist/plugin/fetch-pack.d.ts.map +1 -0
  19. package/dist/plugin/fetch-pack.js +104 -0
  20. package/dist/plugin/fetch-pack.js.map +1 -0
  21. package/dist/plugin/index.d.ts +27 -0
  22. package/dist/plugin/index.d.ts.map +1 -0
  23. package/dist/plugin/index.js +109 -0
  24. package/dist/plugin/index.js.map +1 -0
  25. package/dist/plugin/install-client.d.ts +4 -0
  26. package/dist/plugin/install-client.d.ts.map +1 -0
  27. package/dist/plugin/install-client.js +34 -0
  28. package/dist/plugin/install-client.js.map +1 -0
  29. package/dist/plugin/install-process.d.ts +4 -0
  30. package/dist/plugin/install-process.d.ts.map +1 -0
  31. package/dist/plugin/install-process.js +46 -0
  32. package/dist/plugin/install-process.js.map +1 -0
  33. package/dist/plugin/inventory.d.ts +42 -0
  34. package/dist/plugin/inventory.d.ts.map +1 -0
  35. package/dist/plugin/inventory.js +105 -0
  36. package/dist/plugin/inventory.js.map +1 -0
  37. package/dist/plugin/remap-inject.d.ts +16 -0
  38. package/dist/plugin/remap-inject.d.ts.map +1 -0
  39. package/dist/plugin/remap-inject.js +52 -0
  40. package/dist/plugin/remap-inject.js.map +1 -0
  41. package/node_modules/@xrkseek/core-agent/dist/index.d.ts +9 -2
  42. package/node_modules/@xrkseek/core-agent/dist/index.d.ts.map +1 -1
  43. package/node_modules/@xrkseek/core-agent/dist/index.js +5 -2
  44. package/node_modules/@xrkseek/core-agent/dist/index.js.map +1 -1
  45. package/node_modules/@xrkseek/core-agent-loop/dist/cancel-finalize.d.ts +6 -3
  46. package/node_modules/@xrkseek/core-agent-loop/dist/cancel-finalize.d.ts.map +1 -1
  47. package/node_modules/@xrkseek/core-agent-loop/dist/cancel-finalize.js +50 -4
  48. package/node_modules/@xrkseek/core-agent-loop/dist/cancel-finalize.js.map +1 -1
  49. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts +12 -1
  50. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  51. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +215 -43
  52. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  53. package/node_modules/@xrkseek/core-agent-loop/dist/llm-retry.d.ts +32 -0
  54. package/node_modules/@xrkseek/core-agent-loop/dist/llm-retry.d.ts.map +1 -0
  55. package/node_modules/@xrkseek/core-agent-loop/dist/llm-retry.js +92 -0
  56. package/node_modules/@xrkseek/core-agent-loop/dist/llm-retry.js.map +1 -0
  57. package/node_modules/@xrkseek/core-agent-loop/dist/settle-batch.d.ts +18 -8
  58. package/node_modules/@xrkseek/core-agent-loop/dist/settle-batch.d.ts.map +1 -1
  59. package/node_modules/@xrkseek/core-agent-loop/dist/settle-batch.js +187 -29
  60. package/node_modules/@xrkseek/core-agent-loop/dist/settle-batch.js.map +1 -1
  61. package/node_modules/@xrkseek/core-session/README.md +1 -1
  62. package/node_modules/@xrkseek/core-session/dist/chunk-pack.d.ts +18 -4
  63. package/node_modules/@xrkseek/core-session/dist/chunk-pack.d.ts.map +1 -1
  64. package/node_modules/@xrkseek/core-session/dist/chunk-pack.js +114 -34
  65. package/node_modules/@xrkseek/core-session/dist/chunk-pack.js.map +1 -1
  66. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts.map +1 -1
  67. package/node_modules/@xrkseek/core-session/dist/compaction.js +24 -4
  68. package/node_modules/@xrkseek/core-session/dist/compaction.js.map +1 -1
  69. package/node_modules/@xrkseek/core-session/dist/dangling.d.ts +28 -1
  70. package/node_modules/@xrkseek/core-session/dist/dangling.d.ts.map +1 -1
  71. package/node_modules/@xrkseek/core-session/dist/dangling.js +35 -5
  72. package/node_modules/@xrkseek/core-session/dist/dangling.js.map +1 -1
  73. package/node_modules/@xrkseek/core-session/dist/index.d.ts +3 -2
  74. package/node_modules/@xrkseek/core-session/dist/index.d.ts.map +1 -1
  75. package/node_modules/@xrkseek/core-session/dist/index.js +3 -2
  76. package/node_modules/@xrkseek/core-session/dist/index.js.map +1 -1
  77. package/node_modules/@xrkseek/core-session/dist/latch.d.ts +1 -1
  78. package/node_modules/@xrkseek/core-session/dist/latch.d.ts.map +1 -1
  79. package/node_modules/@xrkseek/core-session/dist/latch.js +2 -2
  80. package/node_modules/@xrkseek/core-session/dist/latch.js.map +1 -1
  81. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.d.ts.map +1 -1
  82. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.js +44 -4
  83. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.js.map +1 -1
  84. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts +1 -0
  85. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts.map +1 -1
  86. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js +10 -5
  87. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js.map +1 -1
  88. package/node_modules/@xrkseek/core-session/dist/surface-fold.d.ts +5 -0
  89. package/node_modules/@xrkseek/core-session/dist/surface-fold.d.ts.map +1 -1
  90. package/node_modules/@xrkseek/core-session/dist/surface-fold.js +29 -3
  91. package/node_modules/@xrkseek/core-session/dist/surface-fold.js.map +1 -1
  92. package/node_modules/@xrkseek/core-session/dist/tool-result-prune.d.ts +35 -0
  93. package/node_modules/@xrkseek/core-session/dist/tool-result-prune.d.ts.map +1 -0
  94. package/node_modules/@xrkseek/core-session/dist/tool-result-prune.js +99 -0
  95. package/node_modules/@xrkseek/core-session/dist/tool-result-prune.js.map +1 -0
  96. package/node_modules/@xrkseek/core-system-prompt/dist/index.d.ts +1 -1
  97. package/node_modules/@xrkseek/core-system-prompt/dist/index.d.ts.map +1 -1
  98. package/node_modules/@xrkseek/core-system-prompt/dist/index.js +1 -1
  99. package/node_modules/@xrkseek/core-system-prompt/dist/index.js.map +1 -1
  100. package/node_modules/@xrkseek/core-system-prompt/dist/three-layer.d.ts +15 -2
  101. package/node_modules/@xrkseek/core-system-prompt/dist/three-layer.d.ts.map +1 -1
  102. package/node_modules/@xrkseek/core-system-prompt/dist/three-layer.js +38 -4
  103. package/node_modules/@xrkseek/core-system-prompt/dist/three-layer.js.map +1 -1
  104. package/node_modules/@xrkseek/core-tools/dist/abort.d.ts +5 -0
  105. package/node_modules/@xrkseek/core-tools/dist/abort.d.ts.map +1 -0
  106. package/node_modules/@xrkseek/core-tools/dist/abort.js +14 -0
  107. package/node_modules/@xrkseek/core-tools/dist/abort.js.map +1 -0
  108. package/node_modules/@xrkseek/core-tools/dist/definition.d.ts +32 -1
  109. package/node_modules/@xrkseek/core-tools/dist/definition.d.ts.map +1 -1
  110. package/node_modules/@xrkseek/core-tools/dist/definition.js +1 -0
  111. package/node_modules/@xrkseek/core-tools/dist/definition.js.map +1 -1
  112. package/node_modules/@xrkseek/core-tools/dist/execution-mode.d.ts +15 -0
  113. package/node_modules/@xrkseek/core-tools/dist/execution-mode.d.ts.map +1 -0
  114. package/node_modules/@xrkseek/core-tools/dist/execution-mode.js +17 -0
  115. package/node_modules/@xrkseek/core-tools/dist/execution-mode.js.map +1 -0
  116. package/node_modules/@xrkseek/core-tools/dist/index.d.ts +2 -0
  117. package/node_modules/@xrkseek/core-tools/dist/index.d.ts.map +1 -1
  118. package/node_modules/@xrkseek/core-tools/dist/index.js +2 -0
  119. package/node_modules/@xrkseek/core-tools/dist/index.js.map +1 -1
  120. package/node_modules/@xrkseek/core-tools/dist/pipeline.d.ts.map +1 -1
  121. package/node_modules/@xrkseek/core-tools/dist/pipeline.js +36 -10
  122. package/node_modules/@xrkseek/core-tools/dist/pipeline.js.map +1 -1
  123. package/node_modules/@xrkseek/core-tools/dist/types.d.ts +7 -0
  124. package/node_modules/@xrkseek/core-tools/dist/types.d.ts.map +1 -1
  125. package/node_modules/@xrkseek/core-tools/dist/types.js.map +1 -1
  126. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
  127. package/node_modules/@xrkseek/exec-fs/dist/index.js +3 -0
  128. package/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
  129. package/node_modules/@xrkseek/exec-lsp/dist/tools.d.ts.map +1 -1
  130. package/node_modules/@xrkseek/exec-lsp/dist/tools.js +1 -0
  131. package/node_modules/@xrkseek/exec-lsp/dist/tools.js.map +1 -1
  132. package/node_modules/@xrkseek/exec-pty/dist/tools.d.ts.map +1 -1
  133. package/node_modules/@xrkseek/exec-pty/dist/tools.js +2 -0
  134. package/node_modules/@xrkseek/exec-pty/dist/tools.js.map +1 -1
  135. package/node_modules/@xrkseek/exec-shell/dist/index.d.ts.map +1 -1
  136. package/node_modules/@xrkseek/exec-shell/dist/index.js +4 -0
  137. package/node_modules/@xrkseek/exec-shell/dist/index.js.map +1 -1
  138. package/node_modules/@xrkseek/exec-web/dist/search-providers.js.map +1 -1
  139. package/node_modules/@xrkseek/exec-web/dist/tools.d.ts.map +1 -1
  140. package/node_modules/@xrkseek/exec-web/dist/tools.js +2 -0
  141. package/node_modules/@xrkseek/exec-web/dist/tools.js.map +1 -1
  142. package/node_modules/@xrkseek/llm/dist/failure.d.ts +45 -0
  143. package/node_modules/@xrkseek/llm/dist/failure.d.ts.map +1 -0
  144. package/node_modules/@xrkseek/llm/dist/failure.js +115 -0
  145. package/node_modules/@xrkseek/llm/dist/failure.js.map +1 -0
  146. package/node_modules/@xrkseek/llm/dist/index.d.ts +80 -1
  147. package/node_modules/@xrkseek/llm/dist/index.d.ts.map +1 -1
  148. package/node_modules/@xrkseek/llm/dist/index.js +167 -2
  149. package/node_modules/@xrkseek/llm/dist/index.js.map +1 -1
  150. package/node_modules/@xrkseek/llm/dist/retry-policy.d.ts +23 -0
  151. package/node_modules/@xrkseek/llm/dist/retry-policy.d.ts.map +1 -0
  152. package/node_modules/@xrkseek/llm/dist/retry-policy.js +74 -0
  153. package/node_modules/@xrkseek/llm/dist/retry-policy.js.map +1 -0
  154. package/node_modules/@xrkseek/llm-anthropic/dist/index.d.ts.map +1 -1
  155. package/node_modules/@xrkseek/llm-anthropic/dist/index.js +152 -22
  156. package/node_modules/@xrkseek/llm-anthropic/dist/index.js.map +1 -1
  157. package/node_modules/@xrkseek/llm-deepseek/README.md +3 -3
  158. package/node_modules/@xrkseek/llm-deepseek/dist/index.d.ts +32 -2
  159. package/node_modules/@xrkseek/llm-deepseek/dist/index.d.ts.map +1 -1
  160. package/node_modules/@xrkseek/llm-deepseek/dist/index.js +59 -5
  161. package/node_modules/@xrkseek/llm-deepseek/dist/index.js.map +1 -1
  162. package/node_modules/@xrkseek/llm-gemini/dist/index.d.ts.map +1 -1
  163. package/node_modules/@xrkseek/llm-gemini/dist/index.js +18 -8
  164. package/node_modules/@xrkseek/llm-gemini/dist/index.js.map +1 -1
  165. package/node_modules/@xrkseek/llm-openai-compatible/dist/deepseek-thinking.d.ts +16 -0
  166. package/node_modules/@xrkseek/llm-openai-compatible/dist/deepseek-thinking.d.ts.map +1 -0
  167. package/node_modules/@xrkseek/llm-openai-compatible/dist/deepseek-thinking.js +40 -0
  168. package/node_modules/@xrkseek/llm-openai-compatible/dist/deepseek-thinking.js.map +1 -0
  169. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.d.ts +9 -1
  170. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.d.ts.map +1 -1
  171. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js +78 -21
  172. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js.map +1 -1
  173. package/node_modules/@xrkseek/llm-openai-responses/dist/index.d.ts.map +1 -1
  174. package/node_modules/@xrkseek/llm-openai-responses/dist/index.js +18 -8
  175. package/node_modules/@xrkseek/llm-openai-responses/dist/index.js.map +1 -1
  176. package/node_modules/@xrkseek/llm-registry/dist/registry.d.ts.map +1 -1
  177. package/node_modules/@xrkseek/llm-registry/dist/registry.js +6 -4
  178. package/node_modules/@xrkseek/llm-registry/dist/registry.js.map +1 -1
  179. package/node_modules/@xrkseek/llm-registry/dist/routing-adapter.d.ts.map +1 -1
  180. package/node_modules/@xrkseek/llm-registry/dist/routing-adapter.js +15 -3
  181. package/node_modules/@xrkseek/llm-registry/dist/routing-adapter.js.map +1 -1
  182. package/node_modules/@xrkseek/llm-replay/dist/index.d.ts.map +1 -1
  183. package/node_modules/@xrkseek/llm-replay/dist/index.js +4 -1
  184. package/node_modules/@xrkseek/llm-replay/dist/index.js.map +1 -1
  185. package/node_modules/@xrkseek/mcp/dist/client.d.ts +3 -1
  186. package/node_modules/@xrkseek/mcp/dist/client.d.ts.map +1 -1
  187. package/node_modules/@xrkseek/mcp/dist/client.js +31 -7
  188. package/node_modules/@xrkseek/mcp/dist/client.js.map +1 -1
  189. package/node_modules/@xrkseek/mcp/dist/index.d.ts +2 -2
  190. package/node_modules/@xrkseek/mcp/dist/index.d.ts.map +1 -1
  191. package/node_modules/@xrkseek/mcp/dist/index.js +1 -1
  192. package/node_modules/@xrkseek/mcp/dist/index.js.map +1 -1
  193. package/node_modules/@xrkseek/mcp/dist/register.d.ts.map +1 -1
  194. package/node_modules/@xrkseek/mcp/dist/register.js +3 -0
  195. package/node_modules/@xrkseek/mcp/dist/register.js.map +1 -1
  196. package/node_modules/@xrkseek/mcp/dist/types.d.ts +10 -0
  197. package/node_modules/@xrkseek/mcp/dist/types.d.ts.map +1 -1
  198. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts +18 -1
  199. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  200. package/node_modules/@xrkseek/preset-harness/dist/preset.js +19 -1
  201. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  202. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  203. package/node_modules/@xrkseek/preset-minimal/dist/preset.d.ts.map +1 -1
  204. package/node_modules/@xrkseek/preset-minimal/dist/preset.js +1 -0
  205. package/node_modules/@xrkseek/preset-minimal/dist/preset.js.map +1 -1
  206. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  207. package/node_modules/@xrkseek/preset-server/dist/preset.d.ts.map +1 -1
  208. package/node_modules/@xrkseek/preset-server/dist/preset.js +5 -1
  209. package/node_modules/@xrkseek/preset-server/dist/preset.js.map +1 -1
  210. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  211. package/node_modules/@xrkseek/protocol/dist/index.d.ts +3 -1
  212. package/node_modules/@xrkseek/protocol/dist/index.d.ts.map +1 -1
  213. package/node_modules/@xrkseek/protocol/dist/index.js +2 -0
  214. package/node_modules/@xrkseek/protocol/dist/index.js.map +1 -1
  215. package/node_modules/@xrkseek/protocol/dist/json-schema.d.ts +72 -0
  216. package/node_modules/@xrkseek/protocol/dist/json-schema.d.ts.map +1 -1
  217. package/node_modules/@xrkseek/protocol/dist/json-schema.js +50 -0
  218. package/node_modules/@xrkseek/protocol/dist/json-schema.js.map +1 -1
  219. package/node_modules/@xrkseek/protocol/dist/messages.d.ts +7 -0
  220. package/node_modules/@xrkseek/protocol/dist/messages.d.ts.map +1 -1
  221. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts +62 -6
  222. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts.map +1 -1
  223. package/node_modules/@xrkseek/protocol/dist/session-events.js +19 -0
  224. package/node_modules/@xrkseek/protocol/dist/session-events.js.map +1 -1
  225. package/node_modules/@xrkseek/protocol/dist/tools.d.ts +15 -0
  226. package/node_modules/@xrkseek/protocol/dist/tools.d.ts.map +1 -1
  227. package/node_modules/@xrkseek/protocol/dist/tools.js +6 -1
  228. package/node_modules/@xrkseek/protocol/dist/tools.js.map +1 -1
  229. package/node_modules/@xrkseek/protocol/dist/validate.d.ts.map +1 -1
  230. package/node_modules/@xrkseek/protocol/dist/validate.js +107 -1
  231. package/node_modules/@xrkseek/protocol/dist/validate.js.map +1 -1
  232. package/node_modules/@xrkseek/server-config/dist/home.d.ts +5 -0
  233. package/node_modules/@xrkseek/server-config/dist/home.d.ts.map +1 -1
  234. package/node_modules/@xrkseek/server-config/dist/home.js +7 -0
  235. package/node_modules/@xrkseek/server-config/dist/home.js.map +1 -1
  236. package/node_modules/@xrkseek/server-config/dist/index.d.ts +4 -2
  237. package/node_modules/@xrkseek/server-config/dist/index.d.ts.map +1 -1
  238. package/node_modules/@xrkseek/server-config/dist/index.js +10 -1
  239. package/node_modules/@xrkseek/server-config/dist/index.js.map +1 -1
  240. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts +2 -0
  241. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts.map +1 -1
  242. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js +25 -7
  243. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js.map +1 -1
  244. package/node_modules/@xrkseek/server-face/dist/goal-store.d.ts +1 -1
  245. package/node_modules/@xrkseek/server-face/dist/goal-store.d.ts.map +1 -1
  246. package/node_modules/@xrkseek/server-face/dist/goal-store.js +1 -1
  247. package/node_modules/@xrkseek/server-face/dist/goal-store.js.map +1 -1
  248. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  249. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +2 -2
  250. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  251. package/node_modules/@xrkseek/server-face/dist/index.d.ts +1 -1
  252. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  253. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  254. package/node_modules/@xrkseek/server-face/dist/llm-resolve.js +1 -1
  255. package/node_modules/@xrkseek/server-face/dist/llm-resolve.js.map +1 -1
  256. package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts +1 -1
  257. package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts.map +1 -1
  258. package/node_modules/@xrkseek/server-face/dist/projections/index.js.map +1 -1
  259. package/node_modules/@xrkseek/server-face/dist/projections/registry.d.ts +12 -50
  260. package/node_modules/@xrkseek/server-face/dist/projections/registry.d.ts.map +1 -1
  261. package/node_modules/@xrkseek/server-face/dist/projections/registry.js +4 -146
  262. package/node_modules/@xrkseek/server-face/dist/projections/registry.js.map +1 -1
  263. package/node_modules/@xrkseek/server-face/dist/projections/units/context-breakdown.d.ts.map +1 -1
  264. package/node_modules/@xrkseek/server-face/dist/projections/units/context-breakdown.js +13 -11
  265. package/node_modules/@xrkseek/server-face/dist/projections/units/context-breakdown.js.map +1 -1
  266. package/node_modules/@xrkseek/server-face/dist/projections/units/context-pressure.d.ts.map +1 -1
  267. package/node_modules/@xrkseek/server-face/dist/projections/units/context-pressure.js +27 -25
  268. package/node_modules/@xrkseek/server-face/dist/projections/units/context-pressure.js.map +1 -1
  269. package/node_modules/@xrkseek/server-face/dist/projections/units/image-limits.d.ts.map +1 -1
  270. package/node_modules/@xrkseek/server-face/dist/projections/units/image-limits.js +31 -29
  271. package/node_modules/@xrkseek/server-face/dist/projections/units/image-limits.js.map +1 -1
  272. package/node_modules/@xrkseek/server-face/dist/projections/units/permissions.d.ts.map +1 -1
  273. package/node_modules/@xrkseek/server-face/dist/projections/units/permissions.js +27 -25
  274. package/node_modules/@xrkseek/server-face/dist/projections/units/permissions.js.map +1 -1
  275. package/node_modules/@xrkseek/server-face/dist/projections/units/plan.d.ts.map +1 -1
  276. package/node_modules/@xrkseek/server-face/dist/projections/units/plan.js +12 -10
  277. package/node_modules/@xrkseek/server-face/dist/projections/units/plan.js.map +1 -1
  278. package/node_modules/@xrkseek/server-face/dist/projections/units/session-list-metadata.d.ts.map +1 -1
  279. package/node_modules/@xrkseek/server-face/dist/projections/units/session-list-metadata.js +15 -13
  280. package/node_modules/@xrkseek/server-face/dist/projections/units/session-list-metadata.js.map +1 -1
  281. package/node_modules/@xrkseek/server-face/dist/projections/units/session-stats.d.ts.map +1 -1
  282. package/node_modules/@xrkseek/server-face/dist/projections/units/session-stats.js +27 -25
  283. package/node_modules/@xrkseek/server-face/dist/projections/units/session-stats.js.map +1 -1
  284. package/node_modules/@xrkseek/server-face/dist/projections/units/title.d.ts.map +1 -1
  285. package/node_modules/@xrkseek/server-face/dist/projections/units/title.js +9 -7
  286. package/node_modules/@xrkseek/server-face/dist/projections/units/title.js.map +1 -1
  287. package/node_modules/@xrkseek/server-face/dist/projections/units/todos.d.ts.map +1 -1
  288. package/node_modules/@xrkseek/server-face/dist/projections/units/todos.js +25 -23
  289. package/node_modules/@xrkseek/server-face/dist/projections/units/todos.js.map +1 -1
  290. package/node_modules/@xrkseek/server-face/dist/projections/units/token-usage.d.ts.map +1 -1
  291. package/node_modules/@xrkseek/server-face/dist/projections/units/token-usage.js +14 -12
  292. package/node_modules/@xrkseek/server-face/dist/projections/units/token-usage.js.map +1 -1
  293. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts +8 -13
  294. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  295. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +29 -1
  296. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  297. package/node_modules/@xrkseek/server-face/package.json +1 -0
  298. package/node_modules/@xrkseek/server-host/dist/agent-cache.js +1 -1
  299. package/node_modules/@xrkseek/server-host/dist/agent-cache.js.map +1 -1
  300. package/node_modules/@xrkseek/server-host/dist/index.d.ts +8 -0
  301. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  302. package/node_modules/@xrkseek/server-host/dist/index.js +39 -1
  303. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  304. package/node_modules/@xrkseek/session-projection/README.md +22 -0
  305. package/node_modules/@xrkseek/session-projection/dist/index.d.ts +100 -0
  306. package/node_modules/@xrkseek/session-projection/dist/index.d.ts.map +1 -0
  307. package/node_modules/@xrkseek/session-projection/dist/index.js +241 -0
  308. package/node_modules/@xrkseek/session-projection/dist/index.js.map +1 -0
  309. package/node_modules/@xrkseek/session-projection/dist/types.d.ts +20 -0
  310. package/node_modules/@xrkseek/session-projection/dist/types.d.ts.map +1 -0
  311. package/node_modules/@xrkseek/session-projection/dist/types.js +9 -0
  312. package/node_modules/@xrkseek/session-projection/dist/types.js.map +1 -0
  313. package/node_modules/@xrkseek/session-projection/package.json +31 -0
  314. package/node_modules/@xrkseek/workspace/dist/skill-tools.d.ts.map +1 -1
  315. package/node_modules/@xrkseek/workspace/dist/skill-tools.js +1 -0
  316. package/node_modules/@xrkseek/workspace/dist/skill-tools.js.map +1 -1
  317. package/package.json +4 -2
  318. package/product-web/boot.json +1 -1
  319. package/product-web/plugins/@xrkseek/client-locale/client.js +3 -3
  320. package/product-web/plugins/@xrkseek/client-ui-agent-preset/client.js +36 -36
  321. package/product-web/plugins/@xrkseek/client-ui-commands/client.js +7 -7
  322. package/product-web/plugins/@xrkseek/client-ui-conversation/client.js +160 -174
  323. package/product-web/plugins/@xrkseek/client-ui-deliverables/client.js +4 -4
  324. package/product-web/plugins/@xrkseek/client-ui-directory-picker-browse/client.js +29 -29
  325. package/product-web/plugins/@xrkseek/client-ui-goal/client.js +8 -8
  326. package/product-web/plugins/@xrkseek/client-ui-input-trigger/client.js +5 -5
  327. package/product-web/plugins/@xrkseek/client-ui-jobs/client.js +8 -8
  328. package/product-web/plugins/@xrkseek/client-ui-layout/client.js +2 -2
  329. package/product-web/plugins/@xrkseek/client-ui-message-feedback/client.js +3 -3
  330. package/product-web/plugins/@xrkseek/client-ui-model-selection/client.js +17 -17
  331. package/product-web/plugins/@xrkseek/client-ui-permission-presets/client.js +4 -4
  332. package/product-web/plugins/@xrkseek/client-ui-settings-general/client.js +12 -12
  333. package/product-web/plugins/@xrkseek/client-ui-settings-models/client.js +54 -54
  334. package/product-web/plugins/@xrkseek/client-ui-settings-plugin-inventory/client.js +9 -9
  335. package/product-web/plugins/@xrkseek/client-ui-settings-plugins/client.js +133 -62
  336. package/product-web/plugins/@xrkseek/client-ui-sidebar/client.js +16 -16
  337. package/product-web/plugins/@xrkseek/client-ui-skill/client.js +12 -12
  338. package/product-web/plugins/@xrkseek/client-ui-subagent/client.js +17 -17
  339. package/product-web/plugins/@xrkseek/client-ui-theme/client.js +2 -2
  340. package/product-web/plugins/@xrkseek/client-ui-tool/client.js +38 -38
  341. package/product-web/plugins/@xrkseek/client-ui-trajectory/client.js +140 -140
  342. package/product-web/plugins/@xrkseek/client-ui-user-questions/client.js +27 -27
  343. package/product-web/plugins/@xrkseek/client-ui-workflow-run/client.js +16 -16
  344. package/product-web/plugins/@xrkseek/client-ui-workspace/client.js +52 -52
@@ -1 +1 @@
1
- {"version":3,"file":"latch.js","sourceRoot":"","sources":["../src/latch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"latch.js","sourceRoot":"","sources":["../src/latch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"repair-open-turn.d.ts","sourceRoot":"","sources":["../src/repair-open-turn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAmEtD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,GAAG,GAAE,MAAM,MAAiB,GAC3B,YAAY,EAAE,CAwDhB"}
1
+ {"version":3,"file":"repair-open-turn.d.ts","sourceRoot":"","sources":["../src/repair-open-turn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAuGtD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,GAAG,GAAE,MAAM,MAAiB,GAC3B,YAAY,EAAE,CAiEhB"}
@@ -1,18 +1,51 @@
1
- import { listDanglingToolCalls, TOOL_INTERRUPTED_MESSAGE, } from "./dangling.js";
1
+ import { danglingSettlement, listDanglingToolCalls, } from "./dangling.js";
2
2
  function foldStepStreamChunks(events, turnId, stepId) {
3
3
  let content = "";
4
4
  let reasoning = "";
5
+ const byIndex = new Map();
5
6
  for (const ev of events) {
6
7
  if (ev.type !== "assistant/chunk")
7
8
  continue;
8
9
  if (ev.turnId !== turnId || ev.stepId !== stepId)
9
10
  continue;
11
+ if (ev.kind === "usage")
12
+ continue;
13
+ if (ev.kind === "tool-call") {
14
+ const idx = ev.index ?? 0;
15
+ const cur = byIndex.get(idx) ?? {
16
+ id: ev.toolCallId ?? `call_${idx}`,
17
+ arguments: "",
18
+ };
19
+ if (ev.toolCallId)
20
+ cur.id = ev.toolCallId;
21
+ if (ev.toolName)
22
+ cur.name = ev.toolName;
23
+ cur.arguments += ev.argumentsDelta ?? ev.text;
24
+ byIndex.set(idx, cur);
25
+ continue;
26
+ }
10
27
  if (ev.kind === "reasoning")
11
28
  reasoning += ev.text;
12
29
  else
13
30
  content += ev.text;
14
31
  }
15
- return { content, reasoning };
32
+ const toolCalls = [...byIndex.entries()]
33
+ .sort((a, b) => a[0] - b[0])
34
+ .map(([, acc]) => {
35
+ let argumentsValue;
36
+ try {
37
+ argumentsValue = acc.arguments ? JSON.parse(acc.arguments) : {};
38
+ }
39
+ catch {
40
+ argumentsValue = acc.arguments;
41
+ }
42
+ return {
43
+ id: acc.id,
44
+ name: acc.name ?? "unknown",
45
+ arguments: argumentsValue,
46
+ };
47
+ });
48
+ return { content, reasoning, toolCalls };
16
49
  }
17
50
  function findOpenTurnId(events) {
18
51
  const ended = new Set();
@@ -65,6 +98,7 @@ export function repairOpenTurnEvents(events, now = Date.now) {
65
98
  const out = [];
66
99
  const ts = () => now();
67
100
  for (const d of listDanglingToolCalls(events)) {
101
+ const settled = danglingSettlement(d);
68
102
  out.push({
69
103
  type: "tool/result",
70
104
  ts: ts(),
@@ -73,8 +107,9 @@ export function repairOpenTurnEvents(events, now = Date.now) {
73
107
  result: {
74
108
  toolCallId: d.call.id,
75
109
  name: d.call.name,
76
- content: TOOL_INTERRUPTED_MESSAGE,
110
+ content: settled.content,
77
111
  isError: true,
112
+ error: settled.error,
78
113
  },
79
114
  });
80
115
  }
@@ -82,7 +117,9 @@ export function repairOpenTurnEvents(events, now = Date.now) {
82
117
  if (stepId !== undefined) {
83
118
  if (!stepHasAssistantMessage(events, turnId, stepId)) {
84
119
  const folded = foldStepStreamChunks(events, turnId, stepId);
85
- if (folded.content.trim() || folded.reasoning.trim()) {
120
+ if (folded.content.trim() ||
121
+ folded.reasoning.trim() ||
122
+ folded.toolCalls.length > 0) {
86
123
  out.push({
87
124
  type: "assistant/message",
88
125
  ts: ts(),
@@ -92,6 +129,9 @@ export function repairOpenTurnEvents(events, now = Date.now) {
92
129
  ...(folded.reasoning.trim()
93
130
  ? { reasoning: folded.reasoning }
94
131
  : {}),
132
+ ...(folded.toolCalls.length
133
+ ? { toolCalls: folded.toolCalls }
134
+ : {}),
95
135
  interrupted: true,
96
136
  });
97
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repair-open-turn.js","sourceRoot":"","sources":["../src/repair-open-turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repair-open-turn.js","sourceRoot":"","sources":["../src/repair-open-turn.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export declare function ftsMatchQuery(query: string): string;
15
15
  /**
16
16
  * Durable SessionStore: one workspace SQLite file (`sessions.db`) with WAL.
17
17
  * Lazy session load; batched chunk writes packed as `text-chunks` (≥3);
18
+ * tool-call argument deltas pack as `tool-call-chunks` (≥3);
18
19
  * FTS5 trigram search. In-memory API stays flat SessionEvent[].
19
20
  */
20
21
  export declare function createPersistentSessionStore(dir: string): PersistentSessionStore;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../src/sqlite-store.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,YAAY,CAAC;AAS9D,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,mEAAmE;IACnE,KAAK,IAAI,IAAI,CAAC;IACd,kFAAkF;IAClF,KAAK,IAAI,IAAI,CAAC;IACd;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;CACpD;AAmBD,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAInD;AAuID;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAmKhF;AAED,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,gBAAU,CAAC;AAE3C,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,IAAiB,CAAC"}
1
+ {"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../src/sqlite-store.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,YAAY,CAAC;AAS9D,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,mEAAmE;IACnE,KAAK,IAAI,IAAI,CAAC;IACd,kFAAkF;IAClF,KAAK,IAAI,IAAI,CAAC;IACd;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;CACpD;AAmBD,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAInD;AA2ID;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAmKhF;AAED,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,gBAAU,CAAC;AAE3C,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,IAAiB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { mkdirSync } from "node:fs";
2
2
  import path from "node:path";
3
3
  import { assertSessionEvent } from "@xrkseek/protocol";
4
- import { expandPackedStorageRecords, isTextChunkRow, packChunkRunsForExport, } from "./chunk-pack.js";
4
+ import { expandPackedStorageRecords, isPackedChunkRow, isTextChunkRow, isToolCallChunkRow, packChunkRunsForExport, } from "./chunk-pack.js";
5
5
  import { deepFreeze, newSessionId } from "./freeze.js";
6
6
  import { repairOpenTurnEvents } from "./repair-open-turn.js";
7
7
  import { extractEventSearchText } from "./search-text.js";
@@ -10,7 +10,7 @@ function openDatabase(dbPath) {
10
10
  return new Db(dbPath);
11
11
  }
12
12
  const ID_RE = /^[A-Za-z0-9._-]+$/;
13
- /** v3: durable rows may be `text-chunks` packed storage (expanded on load). */
13
+ /** v3: durable rows may be packed `text-chunks` / `tool-call-chunks` (expanded on load). */
14
14
  const SCHEMA_VERSION = 3;
15
15
  const DB_NAME = "sessions.db";
16
16
  function assertSafeId(id) {
@@ -31,10 +31,14 @@ function extractStorageSearchText(record) {
31
31
  const text = record.texts.join("");
32
32
  return text || null;
33
33
  }
34
+ if (isToolCallChunkRow(record)) {
35
+ // Argument fragments are not model-visible search text.
36
+ return null;
37
+ }
34
38
  return extractEventSearchText(record) || null;
35
39
  }
36
40
  function storageTs(record) {
37
- return isTextChunkRow(record) ? record.ts0 : record.ts;
41
+ return isPackedChunkRow(record) ? record.ts0 : record.ts;
38
42
  }
39
43
  function ensureFts(db) {
40
44
  db.exec(`
@@ -64,7 +68,7 @@ function rebuildFts(db) {
64
68
  for (const row of rows) {
65
69
  try {
66
70
  const raw = JSON.parse(row.payload);
67
- if (isTextChunkRow(raw)) {
71
+ if (isPackedChunkRow(raw)) {
68
72
  const text = extractStorageSearchText(raw);
69
73
  if (text)
70
74
  insert.run(row.session_id, row.seq, text);
@@ -114,7 +118,7 @@ function initSchema(db) {
114
118
  }
115
119
  function parseStoragePayload(payload) {
116
120
  const raw = JSON.parse(payload);
117
- if (isTextChunkRow(raw)) {
121
+ if (isPackedChunkRow(raw)) {
118
122
  return expandPackedStorageRecords([raw]);
119
123
  }
120
124
  return [assertSessionEvent(raw)];
@@ -150,6 +154,7 @@ function loadSessionIds(db) {
150
154
  /**
151
155
  * Durable SessionStore: one workspace SQLite file (`sessions.db`) with WAL.
152
156
  * Lazy session load; batched chunk writes packed as `text-chunks` (≥3);
157
+ * tool-call argument deltas pack as `tool-call-chunks` (≥3);
153
158
  * FTS5 trigram search. In-memory API stays flat SessionEvent[].
154
159
  */
155
160
  export function createPersistentSessionStore(dir) {
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../src/sqlite-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../src/sqlite-store.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,17 @@
5
5
  * `shadowedTokenCount` applies signed delta:
6
6
  * estimate(formatCompactionForModel) − shadowedTokenCount
7
7
  * Legacy compaction without the field folds at 0 (DSH replace-without-claim).
8
+ *
9
+ * Pruned `tool/result` replacements carry
10
+ * `meta.xrkPrunePreviousSurfaceTokens` so the fold can apply a net delta
11
+ * without re-scanning the log.
8
12
  */
9
13
  import type { SessionEvent } from "@xrkseek/protocol";
10
14
  export declare function foldSurfaceTokens(surfaceTokens: number, event: SessionEvent): number;
11
15
  /**
12
16
  * Heuristic price of the current model window's append surface
13
17
  * (events after the latest compaction, or from 0).
18
+ * Uses the latest `tool/result` per callId (prune replacements).
14
19
  * Used by compaction producers as `shadowedTokenCount`.
15
20
  */
16
21
  export declare function priceCurrentSurfaceWindow(events: readonly SessionEvent[]): number;
@@ -1 +1 @@
1
- {"version":3,"file":"surface-fold.d.ts","sourceRoot":"","sources":["../src/surface-fold.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAA0B,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA6C9E,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,YAAY,GAClB,MAAM,CAIR;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,YAAY,EAAE,GAC9B,MAAM,CAQR"}
1
+ {"version":3,"file":"surface-fold.d.ts","sourceRoot":"","sources":["../src/surface-fold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAA0B,YAAY,EAAmB,MAAM,mBAAmB,CAAC;AAuD/F,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,YAAY,GAClB,MAAM,CAIR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,YAAY,EAAE,GAC9B,MAAM,CAkBR"}
@@ -5,9 +5,14 @@
5
5
  * `shadowedTokenCount` applies signed delta:
6
6
  * estimate(formatCompactionForModel) − shadowedTokenCount
7
7
  * Legacy compaction without the field folds at 0 (DSH replace-without-claim).
8
+ *
9
+ * Pruned `tool/result` replacements carry
10
+ * `meta.xrkPrunePreviousSurfaceTokens` so the fold can apply a net delta
11
+ * without re-scanning the log.
8
12
  */
9
13
  import { formatCompactionForModel, findLatestCompaction } from "./compaction.js";
10
14
  import { estimateAssistantSurface, estimateMessageContent, } from "./surface-estimate.js";
15
+ import { TOOL_RESULT_PRUNE_META_PREV_TOKENS } from "./tool-result-prune.js";
11
16
  /** Append-only surface price (excludes compaction). */
12
17
  function appendSurfaceDelta(event) {
13
18
  switch (event.type) {
@@ -17,11 +22,19 @@ function appendSurfaceDelta(event) {
17
22
  case "assistant/message":
18
23
  return estimateAssistantSurface(event.content, event.toolCalls);
19
24
  case "tool/result":
20
- return estimateMessageContent(event.result.content);
25
+ return toolResultSurfaceDelta(event);
21
26
  default:
22
27
  return 0;
23
28
  }
24
29
  }
30
+ function toolResultSurfaceDelta(event) {
31
+ const next = estimateMessageContent(event.result.content);
32
+ const prevRaw = event.result.meta?.[TOOL_RESULT_PRUNE_META_PREV_TOKENS];
33
+ if (typeof prevRaw === "number" && Number.isFinite(prevRaw)) {
34
+ return next - prevRaw;
35
+ }
36
+ return next;
37
+ }
25
38
  /** Checkpoint price after a compaction window swap (one synthetic user message). */
26
39
  function estimateCompactionCheckpoint(event) {
27
40
  return estimateMessageContent(formatCompactionForModel(event));
@@ -50,14 +63,27 @@ export function foldSurfaceTokens(surfaceTokens, event) {
50
63
  /**
51
64
  * Heuristic price of the current model window's append surface
52
65
  * (events after the latest compaction, or from 0).
66
+ * Uses the latest `tool/result` per callId (prune replacements).
53
67
  * Used by compaction producers as `shadowedTokenCount`.
54
68
  */
55
69
  export function priceCurrentSurfaceWindow(events) {
56
70
  const latest = findLatestCompaction(events);
57
71
  const start = latest ? latest.index + 1 : 0;
58
72
  let tokens = 0;
59
- for (let i = start; i < events.length; i++) {
60
- tokens += appendSurfaceDelta(events[i]);
73
+ const seenToolResults = new Set();
74
+ // Walk newest-first so the first tool/result per callId is the surface.
75
+ for (let i = events.length - 1; i >= start; i--) {
76
+ const ev = events[i];
77
+ if (ev.type === "tool/result") {
78
+ if (seenToolResults.has(ev.result.toolCallId))
79
+ continue;
80
+ seenToolResults.add(ev.result.toolCallId);
81
+ tokens += estimateMessageContent(ev.result.content);
82
+ continue;
83
+ }
84
+ if (ev.type === "context/compaction")
85
+ continue;
86
+ tokens += appendSurfaceDelta(ev);
61
87
  }
62
88
  return tokens;
63
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"surface-fold.js","sourceRoot":"","sources":["../src/surface-fold.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,uDAAuD;AACvD,SAAS,kBAAkB,CAAC,KAAmB;IAC7C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,cAAc,CAAC;QACpB,KAAK,eAAe;YAClB,OAAO,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,KAAK,mBAAmB;YACtB,OAAO,wBAAwB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClE,KAAK,aAAa;YAChB,OAAO,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD;YACE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,SAAS,4BAA4B,CACnC,KAA6B;IAE7B,OAAO,sBAAsB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,KAA6B;IAC3D,IAAI,KAAK,CAAC,kBAAkB,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACrD,OAAO,4BAA4B,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC;AACxE,CAAC;AAED,SAAS,eAAe,CAAC,KAAmB;IAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACxC,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,aAAqB,EACrB,KAAmB;IAEnB,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAA+B;IAE/B,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"surface-fold.js","sourceRoot":"","sources":["../src/surface-fold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Truncate oversized model-visible `tool/result` surfaces (DSH-aligned).
3
+ * Appends a replacement `tool/result` for the same callId; log keeps the
4
+ * original. `deriveMessages` / surface pricing fold to the latest per callId.
5
+ */
6
+ import type { SessionStore } from "./store.js";
7
+ /** DSH-aligned: prune when result text exceeds this many characters. */
8
+ export declare const TOOL_RESULT_PRUNE_THRESHOLD_CHARS = 8192;
9
+ export declare const TOOL_RESULT_PRUNE_HEAD_CHARS = 4096;
10
+ export declare const TOOL_RESULT_PRUNE_TAIL_CHARS = 1024;
11
+ /** `tool/result.meta` key: previous surface token price (for O(1) fold delta). */
12
+ export declare const TOOL_RESULT_PRUNE_META_PREV_TOKENS: "xrkPrunePreviousSurfaceTokens";
13
+ export interface ToolResultPruneOptions {
14
+ readonly thresholdChars?: number;
15
+ readonly headChars?: number;
16
+ readonly tailChars?: number;
17
+ readonly now?: () => number;
18
+ readonly turnId?: string;
19
+ readonly stepId?: string;
20
+ }
21
+ export interface ToolResultPruneResult {
22
+ readonly pruned: number;
23
+ }
24
+ export declare function pruneToolResultText(text: string, options?: {
25
+ readonly thresholdChars?: number;
26
+ readonly headChars?: number;
27
+ readonly tailChars?: number;
28
+ }): string | undefined;
29
+ /**
30
+ * Append pruned replacement `tool/result` events for oversized results in the
31
+ * current model window (after latest compaction). Idempotent when the latest
32
+ * surface is already under threshold.
33
+ */
34
+ export declare function pruneOversizedToolResults(store: SessionStore, sessionId: string, options?: ToolResultPruneOptions): ToolResultPruneResult;
35
+ //# sourceMappingURL=tool-result-prune.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-result-prune.d.ts","sourceRoot":"","sources":["../src/tool-result-prune.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,wEAAwE;AACxE,eAAO,MAAM,iCAAiC,OAAO,CAAC;AACtD,eAAO,MAAM,4BAA4B,OAAO,CAAC;AACjD,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAEjD,kFAAkF;AAClF,eAAO,MAAM,kCAAkC,EAC7C,+BAAwC,CAAC;AAE3C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAaD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACP,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CACxB,GACL,MAAM,GAAG,SAAS,CAYpB;AAgBD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,sBAA2B,GACnC,qBAAqB,CAyCvB"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Truncate oversized model-visible `tool/result` surfaces (DSH-aligned).
3
+ * Appends a replacement `tool/result` for the same callId; log keeps the
4
+ * original. `deriveMessages` / surface pricing fold to the latest per callId.
5
+ */
6
+ import { estimateMessageContent } from "./surface-estimate.js";
7
+ import { findLatestCompaction } from "./compaction.js";
8
+ /** DSH-aligned: prune when result text exceeds this many characters. */
9
+ export const TOOL_RESULT_PRUNE_THRESHOLD_CHARS = 8192;
10
+ export const TOOL_RESULT_PRUNE_HEAD_CHARS = 4096;
11
+ export const TOOL_RESULT_PRUNE_TAIL_CHARS = 1024;
12
+ /** `tool/result.meta` key: previous surface token price (for O(1) fold delta). */
13
+ export const TOOL_RESULT_PRUNE_META_PREV_TOKENS = "xrkPrunePreviousSurfaceTokens";
14
+ function contentPlainText(content) {
15
+ if (typeof content === "string")
16
+ return content;
17
+ if (!Array.isArray(content) || content.length === 0)
18
+ return undefined;
19
+ const parts = [];
20
+ for (const block of content) {
21
+ if (block.type !== "text")
22
+ return undefined;
23
+ parts.push(block.text);
24
+ }
25
+ return parts.join("\n");
26
+ }
27
+ export function pruneToolResultText(text, options = {}) {
28
+ const threshold = options.thresholdChars ?? TOOL_RESULT_PRUNE_THRESHOLD_CHARS;
29
+ const headChars = options.headChars ?? TOOL_RESULT_PRUNE_HEAD_CHARS;
30
+ const tailChars = options.tailChars ?? TOOL_RESULT_PRUNE_TAIL_CHARS;
31
+ // DSH budgets are Unicode code points, not UTF-16 code units.
32
+ const units = Array.from(text);
33
+ if (units.length <= threshold)
34
+ return undefined;
35
+ if (headChars + tailChars >= units.length)
36
+ return undefined;
37
+ const omitted = units.length - headChars - tailChars;
38
+ const head = units.slice(0, headChars).join("");
39
+ const tail = units.slice(-tailChars).join("");
40
+ return `${head}\n\n…[${omitted} chars omitted]…\n\n${tail}`;
41
+ }
42
+ function latestToolResultByCallId(events, start) {
43
+ const latest = new Map();
44
+ for (let i = start; i < events.length; i++) {
45
+ const ev = events[i];
46
+ if (ev.type === "tool/result") {
47
+ latest.set(ev.result.toolCallId, ev);
48
+ }
49
+ }
50
+ return latest;
51
+ }
52
+ /**
53
+ * Append pruned replacement `tool/result` events for oversized results in the
54
+ * current model window (after latest compaction). Idempotent when the latest
55
+ * surface is already under threshold.
56
+ */
57
+ export function pruneOversizedToolResults(store, sessionId, options = {}) {
58
+ const threshold = options.thresholdChars ?? TOOL_RESULT_PRUNE_THRESHOLD_CHARS;
59
+ const headChars = options.headChars ?? TOOL_RESULT_PRUNE_HEAD_CHARS;
60
+ const tailChars = options.tailChars ?? TOOL_RESULT_PRUNE_TAIL_CHARS;
61
+ const now = options.now ?? Date.now;
62
+ const events = store.get(sessionId).events;
63
+ const latestCompaction = findLatestCompaction(events);
64
+ const start = latestCompaction ? latestCompaction.index + 1 : 0;
65
+ const latest = latestToolResultByCallId(events, start);
66
+ let pruned = 0;
67
+ for (const ev of latest.values()) {
68
+ const plain = contentPlainText(ev.result.content);
69
+ if (plain === undefined)
70
+ continue;
71
+ const next = pruneToolResultText(plain, {
72
+ thresholdChars: threshold,
73
+ headChars,
74
+ tailChars,
75
+ });
76
+ if (next === undefined)
77
+ continue;
78
+ const previousSurfaceTokens = estimateMessageContent(ev.result.content);
79
+ store.append(sessionId, {
80
+ type: "tool/result",
81
+ ts: now(),
82
+ turnId: options.turnId ?? ev.turnId,
83
+ stepId: options.stepId ?? ev.stepId,
84
+ result: {
85
+ toolCallId: ev.result.toolCallId,
86
+ name: ev.result.name,
87
+ content: next,
88
+ ...(ev.result.isError ? { isError: true } : {}),
89
+ meta: {
90
+ ...(ev.result.meta ?? {}),
91
+ [TOOL_RESULT_PRUNE_META_PREV_TOKENS]: previousSurfaceTokens,
92
+ },
93
+ },
94
+ });
95
+ pruned += 1;
96
+ }
97
+ return { pruned };
98
+ }
99
+ //# sourceMappingURL=tool-result-prune.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-result-prune.js","sourceRoot":"","sources":["../src/tool-result-prune.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { SessionEvent } from "@xrkseek/protocol";
2
2
  import { type ThreeLayerInput } from "./three-layer.js";
3
3
  import { type PipelineStep, type SlashResolveFn } from "./outbound.js";
4
- export { assembleThreeLayers, buildSkeletonSystem, buildSkeletonUser, buildVolatileUser, mergeHistory, orderToolsForWire, type AssembledRequest, type SkeletonSystemInput, type SkeletonUserInput, type ThreeLayerInput, type VolatileUserInput, } from "./three-layer.js";
4
+ export { assembleThreeLayers, buildSkeletonSystem, buildSkeletonUser, buildVolatileUser, mergeHistory, orderToolsForWire, TOOL_ORDER_REST, type AssembledRequest, type SkeletonSystemInput, type SkeletonUserInput, type ThreeLayerInput, type VolatileUserInput, } from "./three-layer.js";
5
5
  export { compactionStep, createAssembleStep, createContextWindowStep, createOutboundPipeline, createSlashRecipeStep, createToolPairStep, slashRecipeStep, type OutboundPipeline, type PipelineStep, type PipelineStepContext, type SlashExpandResult, type SlashResolveFn, } from "./outbound.js";
6
6
  export interface PromptSection {
7
7
  readonly id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKnE,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAQL,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED,wBAAgB,2BAA2B,IAAI,qBAAqB,CAqBnE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,UAAU,EAAE,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7D,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACrC,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B,4CA2BA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKnE,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAQL,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED,wBAAgB,2BAA2B,IAAI,qBAAqB,CAqBnE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,UAAU,EAAE,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7D,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACrC,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B,4CA2BA"}
@@ -1,7 +1,7 @@
1
1
  import { assertModelVisible, deriveMessages, } from "@xrkseek/core-session";
2
2
  import { assembleThreeLayers, } from "./three-layer.js";
3
3
  import { compactionStep, createAssembleStep, createContextWindowStep, createOutboundPipeline, createSlashRecipeStep, createToolPairStep, slashRecipeStep, } from "./outbound.js";
4
- export { assembleThreeLayers, buildSkeletonSystem, buildSkeletonUser, buildVolatileUser, mergeHistory, orderToolsForWire, } from "./three-layer.js";
4
+ export { assembleThreeLayers, buildSkeletonSystem, buildSkeletonUser, buildVolatileUser, mergeHistory, orderToolsForWire, TOOL_ORDER_REST, } from "./three-layer.js";
5
5
  export { compactionStep, createAssembleStep, createContextWindowStep, createOutboundPipeline, createSlashRecipeStep, createToolPairStep, slashRecipeStep, } from "./outbound.js";
6
6
  export function createSystemPromptAssembler() {
7
7
  const sections = [];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,mBAAmB,GAEpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAGhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAMhB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAMhB,MAAM,eAAe,CAAC;AAavB,MAAM,UAAU,2BAA2B;IACzC,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,OAAO;QACL,QAAQ,CAAC,OAAO;YACd,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAC1C,CAAC;YACF,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,IAAI,EAAE;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAMrC;IACC,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,QAAQ,CAAC,GAAG,CACV,OAAO,CAAC,YAAY;QAClB,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,YAAY,CAAC;QAC7C,CAAC,CAAC,eAAe,CACpB,CAAC;IACF,QAAQ,CAAC,GAAG,CACV,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAChF,CAAC;IACF,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7B,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC;IAClE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QAC5C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC/B,qEAAqE;QACrE,8EAA8E;QAC9E,2EAA2E;QAC3E,iEAAiE;QACjE,MAAM,OAAO,GAAI,GAAG,CAAC,IAAI,CAAC,mBAAiD;YACzE,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -40,6 +40,13 @@ export interface ThreeLayerInput {
40
40
  * so the volatile suffix can stay byte-stable across a turn's tool loop.
41
41
  */
42
42
  readonly includeVolatileTime?: boolean;
43
+ /**
44
+ * Optional tool wire order (DSH `toolOrder`). Exactly one `' '` rest marker;
45
+ * named tools before/after the rest appear in that order, remaining tools
46
+ * fill the rest slot in lexicographic order. Omit / empty → pure lex sort.
47
+ * Unknown names, duplicates, or wrong rest count throw.
48
+ */
49
+ readonly toolOrder?: readonly string[];
43
50
  }
44
51
  export declare function buildSkeletonSystem(input: SkeletonSystemInput): string;
45
52
  export declare function buildSkeletonUser(input: SkeletonUserInput): ChatMessage;
@@ -51,13 +58,19 @@ export declare function mergeHistory(history: readonly ChatMessage[], options?:
51
58
  readonly includeCurrentMarker?: boolean;
52
59
  }): ChatMessage[];
53
60
  /** Lexicographic tool order — registration order must not leak to the wire. */
54
- export declare function orderToolsForWire(tools: AssembledRequest["tools"]): AssembledRequest["tools"];
61
+ export declare const TOOL_ORDER_REST: " ";
62
+ /**
63
+ * Order tools for the wire.
64
+ * @param tools - tool definitions for this request
65
+ * @param toolOrder - optional DSH-style order with exactly one `' '` rest
66
+ */
67
+ export declare function orderToolsForWire(tools: AssembledRequest["tools"], toolOrder?: readonly string[]): AssembledRequest["tools"];
55
68
  /**
56
69
  * Fixed order:
57
70
  * 1. system = skeleton system (+ optional workspace blocks appended)
58
71
  * 2. messages = history(+optional marker) + skeleton user + volatile user
59
72
  * Volatile content must never appear in `system`.
60
- * Tools are sorted by name for prompt-cache stability (DSH parity).
73
+ * Tools are sorted by name (or `toolOrder`) for prompt-cache stability (DSH parity).
61
74
  */
62
75
  export declare function assembleThreeLayers(input: ThreeLayerInput): AssembledRequest;
63
76
  //# sourceMappingURL=three-layer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"three-layer.d.ts","sourceRoot":"","sources":["../src/three-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,EAAE,CAAC;CACL;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACxC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAMtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,WAAW,CASvE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/C,WAAW,CAWb;AAED,qFAAqF;AACrF,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,OAAO,GAAE;IAAE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAAO,GACxD,WAAW,EAAE,CAWf;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAC/B,gBAAgB,CAAC,OAAO,CAAC,CAI3B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,GACrB,gBAAgB,CA0BlB"}
1
+ {"version":3,"file":"three-layer.d.ts","sourceRoot":"","sources":["../src/three-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,EAAE,CAAC;CACL;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAMtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,WAAW,CASvE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/C,WAAW,CAWb;AAED,qFAAqF;AACrF,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,OAAO,GAAE;IAAE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAAO,GACxD,WAAW,EAAE,CAWf;AAED,+EAA+E;AAC/E,eAAO,MAAM,eAAe,EAAG,GAAY,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAChC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAC5B,gBAAgB,CAAC,OAAO,CAAC,CAkC3B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,GACrB,gBAAgB,CA0BlB"}