@xrkseek/harness 0.6.3 → 0.6.5

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 (239) hide show
  1. package/node_modules/@xrkseek/core-agent/dist/index.d.ts +6 -2
  2. package/node_modules/@xrkseek/core-agent/dist/index.d.ts.map +1 -1
  3. package/node_modules/@xrkseek/core-agent/dist/index.js +6 -0
  4. package/node_modules/@xrkseek/core-agent/dist/index.js.map +1 -1
  5. package/node_modules/@xrkseek/core-agent-loop/dist/compaction.d.ts.map +1 -1
  6. package/node_modules/@xrkseek/core-agent-loop/dist/compaction.js +9 -0
  7. package/node_modules/@xrkseek/core-agent-loop/dist/compaction.js.map +1 -1
  8. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts +23 -5
  9. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  10. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +91 -11
  11. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  12. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts +30 -0
  13. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts.map +1 -1
  14. package/node_modules/@xrkseek/core-session/dist/compaction.js +15 -0
  15. package/node_modules/@xrkseek/core-session/dist/compaction.js.map +1 -1
  16. package/node_modules/@xrkseek/core-session/dist/index.d.ts +1 -1
  17. package/node_modules/@xrkseek/core-session/dist/index.d.ts.map +1 -1
  18. package/node_modules/@xrkseek/core-session/dist/index.js +1 -1
  19. package/node_modules/@xrkseek/core-session/dist/index.js.map +1 -1
  20. package/node_modules/@xrkseek/core-session/dist/search-text.d.ts.map +1 -1
  21. package/node_modules/@xrkseek/core-session/dist/search-text.js +6 -0
  22. package/node_modules/@xrkseek/core-session/dist/search-text.js.map +1 -1
  23. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts +5 -2
  24. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts.map +1 -1
  25. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js +155 -29
  26. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js.map +1 -1
  27. package/node_modules/@xrkseek/core-tools/dist/std-tools.d.ts.map +1 -1
  28. package/node_modules/@xrkseek/core-tools/dist/std-tools.js +2 -1
  29. package/node_modules/@xrkseek/core-tools/dist/std-tools.js.map +1 -1
  30. package/node_modules/@xrkseek/core-tools/dist/tool-exposure.d.ts +6 -2
  31. package/node_modules/@xrkseek/core-tools/dist/tool-exposure.d.ts.map +1 -1
  32. package/node_modules/@xrkseek/core-tools/dist/tool-exposure.js +10 -3
  33. package/node_modules/@xrkseek/core-tools/dist/tool-exposure.js.map +1 -1
  34. package/node_modules/@xrkseek/exec-environment/dist/http.d.ts.map +1 -1
  35. package/node_modules/@xrkseek/exec-environment/dist/http.js +2 -0
  36. package/node_modules/@xrkseek/exec-environment/dist/http.js.map +1 -1
  37. package/node_modules/@xrkseek/exec-environment/dist/memory.d.ts.map +1 -1
  38. package/node_modules/@xrkseek/exec-environment/dist/memory.js +13 -9
  39. package/node_modules/@xrkseek/exec-environment/dist/memory.js.map +1 -1
  40. package/node_modules/@xrkseek/exec-fs/dist/edit-text.d.ts +6 -1
  41. package/node_modules/@xrkseek/exec-fs/dist/edit-text.d.ts.map +1 -1
  42. package/node_modules/@xrkseek/exec-fs/dist/edit-text.js +139 -11
  43. package/node_modules/@xrkseek/exec-fs/dist/edit-text.js.map +1 -1
  44. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts +7 -2
  45. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
  46. package/node_modules/@xrkseek/exec-fs/dist/index.js +36 -9
  47. package/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
  48. package/node_modules/@xrkseek/exec-fs/dist/open-nofollow.d.ts +13 -0
  49. package/node_modules/@xrkseek/exec-fs/dist/open-nofollow.d.ts.map +1 -0
  50. package/node_modules/@xrkseek/exec-fs/dist/open-nofollow.js +90 -0
  51. package/node_modules/@xrkseek/exec-fs/dist/open-nofollow.js.map +1 -0
  52. package/node_modules/@xrkseek/exec-pty/dist/env.d.ts +3 -23
  53. package/node_modules/@xrkseek/exec-pty/dist/env.d.ts.map +1 -1
  54. package/node_modules/@xrkseek/exec-pty/dist/env.js +3 -48
  55. package/node_modules/@xrkseek/exec-pty/dist/env.js.map +1 -1
  56. package/node_modules/@xrkseek/exec-pty/package.json +2 -1
  57. package/node_modules/@xrkseek/exec-ssh/dist/fs.d.ts.map +1 -1
  58. package/node_modules/@xrkseek/exec-ssh/dist/fs.js +2 -1
  59. package/node_modules/@xrkseek/exec-ssh/dist/fs.js.map +1 -1
  60. package/node_modules/@xrkseek/exec-subprocess/dist/env.d.ts +26 -0
  61. package/node_modules/@xrkseek/exec-subprocess/dist/env.d.ts.map +1 -0
  62. package/node_modules/@xrkseek/exec-subprocess/dist/env.js +65 -0
  63. package/node_modules/@xrkseek/exec-subprocess/dist/env.js.map +1 -0
  64. package/node_modules/@xrkseek/exec-subprocess/dist/index.d.ts +1 -0
  65. package/node_modules/@xrkseek/exec-subprocess/dist/index.d.ts.map +1 -1
  66. package/node_modules/@xrkseek/exec-subprocess/dist/index.js +5 -1
  67. package/node_modules/@xrkseek/exec-subprocess/dist/index.js.map +1 -1
  68. package/node_modules/@xrkseek/llm/dist/failure.d.ts.map +1 -1
  69. package/node_modules/@xrkseek/llm/dist/failure.js +7 -2
  70. package/node_modules/@xrkseek/llm/dist/failure.js.map +1 -1
  71. package/node_modules/@xrkseek/llm/dist/index.d.ts +1 -0
  72. package/node_modules/@xrkseek/llm/dist/index.d.ts.map +1 -1
  73. package/node_modules/@xrkseek/llm/dist/index.js +1 -0
  74. package/node_modules/@xrkseek/llm/dist/index.js.map +1 -1
  75. package/node_modules/@xrkseek/llm/dist/retry-policy.js +1 -1
  76. package/node_modules/@xrkseek/llm/dist/retry-policy.js.map +1 -1
  77. package/node_modules/@xrkseek/llm/dist/trace-context.d.ts +32 -0
  78. package/node_modules/@xrkseek/llm/dist/trace-context.d.ts.map +1 -0
  79. package/node_modules/@xrkseek/llm/dist/trace-context.js +89 -0
  80. package/node_modules/@xrkseek/llm/dist/trace-context.js.map +1 -0
  81. package/node_modules/@xrkseek/llm-anthropic/dist/index.d.ts.map +1 -1
  82. package/node_modules/@xrkseek/llm-anthropic/dist/index.js +3 -3
  83. package/node_modules/@xrkseek/llm-anthropic/dist/index.js.map +1 -1
  84. package/node_modules/@xrkseek/llm-gemini/dist/index.d.ts.map +1 -1
  85. package/node_modules/@xrkseek/llm-gemini/dist/index.js +3 -3
  86. package/node_modules/@xrkseek/llm-gemini/dist/index.js.map +1 -1
  87. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.d.ts.map +1 -1
  88. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js +2 -2
  89. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js.map +1 -1
  90. package/node_modules/@xrkseek/llm-openai-responses/dist/index.d.ts.map +1 -1
  91. package/node_modules/@xrkseek/llm-openai-responses/dist/index.js +3 -3
  92. package/node_modules/@xrkseek/llm-openai-responses/dist/index.js.map +1 -1
  93. package/node_modules/@xrkseek/llm-registry/dist/discover.d.ts +11 -0
  94. package/node_modules/@xrkseek/llm-registry/dist/discover.d.ts.map +1 -1
  95. package/node_modules/@xrkseek/llm-registry/dist/discover.js +61 -0
  96. package/node_modules/@xrkseek/llm-registry/dist/discover.js.map +1 -1
  97. package/node_modules/@xrkseek/llm-registry/dist/index.d.ts +1 -1
  98. package/node_modules/@xrkseek/llm-registry/dist/index.d.ts.map +1 -1
  99. package/node_modules/@xrkseek/llm-registry/dist/index.js.map +1 -1
  100. package/node_modules/@xrkseek/policy/dist/index.d.ts +1 -0
  101. package/node_modules/@xrkseek/policy/dist/index.d.ts.map +1 -1
  102. package/node_modules/@xrkseek/policy/dist/index.js +1 -0
  103. package/node_modules/@xrkseek/policy/dist/index.js.map +1 -1
  104. package/node_modules/@xrkseek/policy/dist/ruleset.d.ts +6 -0
  105. package/node_modules/@xrkseek/policy/dist/ruleset.d.ts.map +1 -1
  106. package/node_modules/@xrkseek/policy/dist/ruleset.js +67 -14
  107. package/node_modules/@xrkseek/policy/dist/ruleset.js.map +1 -1
  108. package/node_modules/@xrkseek/policy/dist/schema.d.ts +6 -0
  109. package/node_modules/@xrkseek/policy/dist/schema.d.ts.map +1 -1
  110. package/node_modules/@xrkseek/policy/dist/schema.js +6 -0
  111. package/node_modules/@xrkseek/policy/dist/schema.js.map +1 -1
  112. package/node_modules/@xrkseek/policy/dist/when-expr.d.ts +30 -0
  113. package/node_modules/@xrkseek/policy/dist/when-expr.d.ts.map +1 -0
  114. package/node_modules/@xrkseek/policy/dist/when-expr.js +514 -0
  115. package/node_modules/@xrkseek/policy/dist/when-expr.js.map +1 -0
  116. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  117. package/node_modules/@xrkseek/preset-harness/dist/preset.js +68 -14
  118. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  119. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  120. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  121. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  122. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts +3 -3
  123. package/node_modules/@xrkseek/server-face/dist/adapt/index.d.ts +1 -1
  124. package/node_modules/@xrkseek/server-face/dist/adapt/index.d.ts.map +1 -1
  125. package/node_modules/@xrkseek/server-face/dist/adapt/index.js +1 -1
  126. package/node_modules/@xrkseek/server-face/dist/adapt/index.js.map +1 -1
  127. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.d.ts +15 -1
  128. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.d.ts.map +1 -1
  129. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.js +108 -8
  130. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.js.map +1 -1
  131. package/node_modules/@xrkseek/server-face/dist/context.d.ts +5 -0
  132. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  133. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  134. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +69 -19
  135. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  136. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.d.ts.map +1 -1
  137. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js +7 -1
  138. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js.map +1 -1
  139. package/node_modules/@xrkseek/server-face/dist/index.d.ts +3 -2
  140. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  141. package/node_modules/@xrkseek/server-face/dist/index.js +3 -2
  142. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  143. package/node_modules/@xrkseek/server-face/dist/model-catalog.d.ts.map +1 -1
  144. package/node_modules/@xrkseek/server-face/dist/model-catalog.js +2 -1
  145. package/node_modules/@xrkseek/server-face/dist/model-catalog.js.map +1 -1
  146. package/node_modules/@xrkseek/server-face/dist/peer-session-wait.d.ts.map +1 -1
  147. package/node_modules/@xrkseek/server-face/dist/peer-session-wait.js +16 -9
  148. package/node_modules/@xrkseek/server-face/dist/peer-session-wait.js.map +1 -1
  149. package/node_modules/@xrkseek/server-face/dist/ralph-tool.d.ts.map +1 -1
  150. package/node_modules/@xrkseek/server-face/dist/ralph-tool.js +19 -20
  151. package/node_modules/@xrkseek/server-face/dist/ralph-tool.js.map +1 -1
  152. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  153. package/node_modules/@xrkseek/server-face/dist/runtime.js +58 -13
  154. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  155. package/node_modules/@xrkseek/server-face/dist/select-session-model.d.ts.map +1 -1
  156. package/node_modules/@xrkseek/server-face/dist/select-session-model.js +33 -1
  157. package/node_modules/@xrkseek/server-face/dist/select-session-model.js.map +1 -1
  158. package/node_modules/@xrkseek/server-face/dist/session-thread-message.d.ts +5 -0
  159. package/node_modules/@xrkseek/server-face/dist/session-thread-message.d.ts.map +1 -1
  160. package/node_modules/@xrkseek/server-face/dist/session-thread-message.js +8 -0
  161. package/node_modules/@xrkseek/server-face/dist/session-thread-message.js.map +1 -1
  162. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.d.ts.map +1 -1
  163. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js +4 -1
  164. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js.map +1 -1
  165. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  166. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +32 -5
  167. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  168. package/node_modules/@xrkseek/server-face/dist/subagent-registry.d.ts +7 -0
  169. package/node_modules/@xrkseek/server-face/dist/subagent-registry.d.ts.map +1 -1
  170. package/node_modules/@xrkseek/server-face/dist/subagent-registry.js +21 -5
  171. package/node_modules/@xrkseek/server-face/dist/subagent-registry.js.map +1 -1
  172. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  173. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +79 -149
  174. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  175. package/node_modules/@xrkseek/server-face/dist/wait-drain-idle.d.ts +32 -0
  176. package/node_modules/@xrkseek/server-face/dist/wait-drain-idle.d.ts.map +1 -0
  177. package/node_modules/@xrkseek/server-face/dist/wait-drain-idle.js +138 -0
  178. package/node_modules/@xrkseek/server-face/dist/wait-drain-idle.js.map +1 -0
  179. package/node_modules/@xrkseek/server-face/dist/wire/index.d.ts +1 -1
  180. package/node_modules/@xrkseek/server-face/dist/wire/index.d.ts.map +1 -1
  181. package/node_modules/@xrkseek/server-face/dist/wire/index.js +1 -1
  182. package/node_modules/@xrkseek/server-face/dist/wire/index.js.map +1 -1
  183. package/node_modules/@xrkseek/server-face/dist/wire/loopback.d.ts +5 -0
  184. package/node_modules/@xrkseek/server-face/dist/wire/loopback.d.ts.map +1 -1
  185. package/node_modules/@xrkseek/server-face/dist/wire/loopback.js +14 -0
  186. package/node_modules/@xrkseek/server-face/dist/wire/loopback.js.map +1 -1
  187. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.d.ts.map +1 -1
  188. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js +2 -1
  189. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js.map +1 -1
  190. package/node_modules/@xrkseek/server-host/dist/agent-cache.d.ts +26 -4
  191. package/node_modules/@xrkseek/server-host/dist/agent-cache.d.ts.map +1 -1
  192. package/node_modules/@xrkseek/server-host/dist/agent-cache.js +63 -16
  193. package/node_modules/@xrkseek/server-host/dist/agent-cache.js.map +1 -1
  194. package/node_modules/@xrkseek/server-host/dist/index.d.ts +1 -1
  195. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  196. package/node_modules/@xrkseek/server-host/dist/index.js +98 -25
  197. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  198. package/node_modules/@xrkseek/server-host/dist/workflow-engine-mount.d.ts.map +1 -1
  199. package/node_modules/@xrkseek/server-host/dist/workflow-engine-mount.js +16 -21
  200. package/node_modules/@xrkseek/server-host/dist/workflow-engine-mount.js.map +1 -1
  201. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.d.ts +2 -2
  202. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.d.ts.map +1 -1
  203. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.js +7 -1
  204. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.js.map +1 -1
  205. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-llm-host-sync.d.ts.map +1 -1
  206. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-llm-host-sync.js +49 -11
  207. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-llm-host-sync.js.map +1 -1
  208. package/node_modules/@xrkseek/server-loader/dist/index.d.ts +1 -1
  209. package/node_modules/@xrkseek/server-loader/dist/index.d.ts.map +1 -1
  210. package/node_modules/@xrkseek/server-loader/dist/index.js +1 -1
  211. package/node_modules/@xrkseek/server-loader/dist/index.js.map +1 -1
  212. package/node_modules/@xrkseek/server-loader/dist/shell-hooks.d.ts +31 -1
  213. package/node_modules/@xrkseek/server-loader/dist/shell-hooks.d.ts.map +1 -1
  214. package/node_modules/@xrkseek/server-loader/dist/shell-hooks.js +126 -14
  215. package/node_modules/@xrkseek/server-loader/dist/shell-hooks.js.map +1 -1
  216. package/node_modules/@xrkseek/session-projection/dist/index.d.ts +7 -0
  217. package/node_modules/@xrkseek/session-projection/dist/index.d.ts.map +1 -1
  218. package/node_modules/@xrkseek/session-projection/dist/index.js +16 -0
  219. package/node_modules/@xrkseek/session-projection/dist/index.js.map +1 -1
  220. package/node_modules/@xrkseek/workspace/dist/durable-inject.d.ts +10 -0
  221. package/node_modules/@xrkseek/workspace/dist/durable-inject.d.ts.map +1 -1
  222. package/node_modules/@xrkseek/workspace/dist/durable-inject.js +38 -0
  223. package/node_modules/@xrkseek/workspace/dist/durable-inject.js.map +1 -1
  224. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.d.ts.map +1 -1
  225. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.js +23 -11
  226. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.js.map +1 -1
  227. package/node_modules/@xrkseek/workspace/dist/index.d.ts +1 -0
  228. package/node_modules/@xrkseek/workspace/dist/index.d.ts.map +1 -1
  229. package/node_modules/@xrkseek/workspace/dist/index.js +1 -0
  230. package/node_modules/@xrkseek/workspace/dist/index.js.map +1 -1
  231. package/node_modules/@xrkseek/workspace/dist/scan-guards.d.ts +21 -0
  232. package/node_modules/@xrkseek/workspace/dist/scan-guards.d.ts.map +1 -1
  233. package/node_modules/@xrkseek/workspace/dist/scan-guards.js +48 -0
  234. package/node_modules/@xrkseek/workspace/dist/scan-guards.js.map +1 -1
  235. package/node_modules/@xrkseek/workspace/dist/skill-select.d.ts +29 -0
  236. package/node_modules/@xrkseek/workspace/dist/skill-select.d.ts.map +1 -0
  237. package/node_modules/@xrkseek/workspace/dist/skill-select.js +77 -0
  238. package/node_modules/@xrkseek/workspace/dist/skill-select.js.map +1 -0
  239. package/package.json +1 -1
@@ -22,6 +22,21 @@ export declare const DEFAULT_COMPACTION_BUFFER_TOKENS = 4000;
22
22
  export declare const DEFAULT_COMPACTION_HEAD_TOKENS = 24000;
23
23
  /** Soft-budget auto-compact attempts before fail-closed (DSH-style remeasure loop). */
24
24
  export declare const DEFAULT_SOFT_BUDGET_COMPACT_ATTEMPTS = 2;
25
+ /**
26
+ * Codex `COMPACT_USER_MESSAGE_MAX_TOKENS` — cap for post-compact `recent` when
27
+ * soft-budget auto-compacts (XRK `recent` is fatter than Codex user-only tail).
28
+ */
29
+ export declare const COMPACT_RECENT_MAX_TOKENS = 20000;
30
+ /**
31
+ * Extra peel passes after the standard soft-budget attempts: halve keep each
32
+ * time (Codex strips oldest history until the summarizer fits).
33
+ */
34
+ export declare const DEFAULT_SOFT_BUDGET_PEEL_ATTEMPTS = 3;
35
+ /**
36
+ * Codex-style pre-trigger: start auto-compact at this fraction of softMax
37
+ * (before the buffer-adjusted ceiling), so pressure is not already near fail-closed.
38
+ */
39
+ export declare const SOFT_BUDGET_COMPACT_TRIGGER_RATIO = 0.9;
25
40
  /**
26
41
  * Budget estimator for `selectHeadRecent` / overflow (`chars/4` via {@link estimateText}).
27
42
  */
@@ -116,6 +131,21 @@ export interface CompactionOptions {
116
131
  * (manual `/compact` still works)
117
132
  */
118
133
  readonly strategy?: CompactionStrategy;
134
+ /**
135
+ * Fraction of softMax at which auto-compact starts (Codex ~0.9).
136
+ * Face: `agent-loop.softBudgetTriggerPercent` / 100.
137
+ */
138
+ readonly softBudgetTriggerRatio?: number;
139
+ /**
140
+ * Cap for post-compact `recent` (Codex `COMPACT_USER_MESSAGE_MAX_TOKENS`).
141
+ * Face: `agent-loop.compactRecentMaxTokens`.
142
+ */
143
+ readonly compactRecentMaxTokens?: number;
144
+ /**
145
+ * Extra keep-halving passes after the standard soft-budget attempts.
146
+ * Face: `agent-loop.softBudgetPeelAttempts`.
147
+ */
148
+ readonly softBudgetPeelAttempts?: number;
119
149
  }
120
150
  /** Soft-budget compaction strategy ids (Face `agent-loop.compactionStrategy`). */
121
151
  export type CompactionStrategy = "prune-summary" | "prune-only" | "summary-only" | "off";
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,21 @@ export const DEFAULT_COMPACTION_BUFFER_TOKENS = 4_000;
25
25
  export const DEFAULT_COMPACTION_HEAD_TOKENS = 24_000;
26
26
  /** Soft-budget auto-compact attempts before fail-closed (DSH-style remeasure loop). */
27
27
  export const DEFAULT_SOFT_BUDGET_COMPACT_ATTEMPTS = 2;
28
+ /**
29
+ * Codex `COMPACT_USER_MESSAGE_MAX_TOKENS` — cap for post-compact `recent` when
30
+ * soft-budget auto-compacts (XRK `recent` is fatter than Codex user-only tail).
31
+ */
32
+ export const COMPACT_RECENT_MAX_TOKENS = 20_000;
33
+ /**
34
+ * Extra peel passes after the standard soft-budget attempts: halve keep each
35
+ * time (Codex strips oldest history until the summarizer fits).
36
+ */
37
+ export const DEFAULT_SOFT_BUDGET_PEEL_ATTEMPTS = 3;
38
+ /**
39
+ * Codex-style pre-trigger: start auto-compact at this fraction of softMax
40
+ * (before the buffer-adjusted ceiling), so pressure is not already near fail-closed.
41
+ */
42
+ export const SOFT_BUDGET_COMPACT_TRIGGER_RATIO = 0.9;
28
43
  /**
29
44
  * Budget estimator for `selectHeadRecent` / overflow (`chars/4` via {@link estimateText}).
30
45
  */
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export { SessionBusyError, createTurnLatch, createSessionDrainLatch, type TurnLa
3
3
  export { createSessionDrainHub, type SessionDrainHub } from "./drain-hub.js";
4
4
  export { NoPendingAdmitError, AdmitNotPendingError, admitPrompt, withdrawAdmit, listPendingAdmits, listSessionsWithPendingAdmits, newSession, promoteNextAdmit, promoteAdmitsForTurn, promotePendingSteers, type AdmitReceipt, type AdmitPromptOptions, type PromoteForTurnResult, } from "./admit.js";
5
5
  export { SessionSafetyLimitError, checkRepeatedToolCall, createLoopDetectionTracker, createMistakeTracker, createSessionSafety, DEFAULT_LOOP_CONFIG, DEFAULT_MAX_CONSECUTIVE_MISTAKES, emptyLoopState, hardLoopNotice, mistakeLimitNotice, softLoopNotice, toolCallSignature, type LoopDetectionConfig, type LoopDetectionTracker, type LoopVerdict, type MistakeReason, type MistakeTracker, type SessionSafety, type SessionSafetyOptions, } from "./safety/index.js";
6
- export { COMPACTION_SUMMARY_TEMPLATE, DEFAULT_COMPACTION_BUFFER_TOKENS, DEFAULT_COMPACTION_HEAD_TOKENS, DEFAULT_COMPACTION_KEEP_TOKENS, DEFAULT_SOFT_BUDGET_COMPACT_ATTEMPTS, buildCompactionPrompt, deriveMessagesUnwindowed, estimateMessagesTokens, estimateRequestTokens, estimateTokens, findLatestCompaction, formatCompactionForModel, prepareCompactionPayload, resolveSoftBudgetCeiling, resolveSoftBudgetTokens, parseCompactionStrategy, resolveCompactionStrategy, COMPACTION_STRATEGIES, selectHeadRecent, type CompactionOptions, type CompactionStrategy, type ResolvedSoftBudget, } from "./compaction.js";
6
+ export { COMPACTION_SUMMARY_TEMPLATE, COMPACT_RECENT_MAX_TOKENS, DEFAULT_COMPACTION_BUFFER_TOKENS, DEFAULT_COMPACTION_HEAD_TOKENS, DEFAULT_COMPACTION_KEEP_TOKENS, DEFAULT_SOFT_BUDGET_COMPACT_ATTEMPTS, DEFAULT_SOFT_BUDGET_PEEL_ATTEMPTS, SOFT_BUDGET_COMPACT_TRIGGER_RATIO, buildCompactionPrompt, deriveMessagesUnwindowed, estimateMessagesTokens, estimateRequestTokens, estimateTokens, findLatestCompaction, formatCompactionForModel, prepareCompactionPayload, resolveSoftBudgetCeiling, resolveSoftBudgetTokens, parseCompactionStrategy, resolveCompactionStrategy, COMPACTION_STRATEGIES, selectHeadRecent, type CompactionOptions, type CompactionStrategy, type ResolvedSoftBudget, } from "./compaction.js";
7
7
  export { DEFAULT_MAX_REQUEST_IMAGE_BYTES, describeShadowedImages, ensureDurableImageOffloads, foldImageOffloadMarks, messageHasImageBlocks, MAX_DESCRIBED_SHADOWED_IMAGES, planImageOffloadTargets, projectOffloadedImages, } from "./image-offload.js";
8
8
  export { estimateAssistantSurface, estimateMessageContent, estimateSystemTokens, estimateToolsTokens, } from "./surface-estimate.js";
9
9
  export { foldSurfaceTokens, priceCurrentSurfaceWindow, projectedInputPressureTokens, } from "./surface-fold.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export { SessionBusyError, createTurnLatch, createSessionDrainLatch, } from "./l
3
3
  export { createSessionDrainHub } from "./drain-hub.js";
4
4
  export { NoPendingAdmitError, AdmitNotPendingError, admitPrompt, withdrawAdmit, listPendingAdmits, listSessionsWithPendingAdmits, newSession, promoteNextAdmit, promoteAdmitsForTurn, promotePendingSteers, } from "./admit.js";
5
5
  export { SessionSafetyLimitError, checkRepeatedToolCall, createLoopDetectionTracker, createMistakeTracker, createSessionSafety, DEFAULT_LOOP_CONFIG, DEFAULT_MAX_CONSECUTIVE_MISTAKES, emptyLoopState, hardLoopNotice, mistakeLimitNotice, softLoopNotice, toolCallSignature, } from "./safety/index.js";
6
- export { COMPACTION_SUMMARY_TEMPLATE, DEFAULT_COMPACTION_BUFFER_TOKENS, DEFAULT_COMPACTION_HEAD_TOKENS, DEFAULT_COMPACTION_KEEP_TOKENS, DEFAULT_SOFT_BUDGET_COMPACT_ATTEMPTS, buildCompactionPrompt, deriveMessagesUnwindowed, estimateMessagesTokens, estimateRequestTokens, estimateTokens, findLatestCompaction, formatCompactionForModel, prepareCompactionPayload, resolveSoftBudgetCeiling, resolveSoftBudgetTokens, parseCompactionStrategy, resolveCompactionStrategy, COMPACTION_STRATEGIES, selectHeadRecent, } from "./compaction.js";
6
+ export { COMPACTION_SUMMARY_TEMPLATE, COMPACT_RECENT_MAX_TOKENS, DEFAULT_COMPACTION_BUFFER_TOKENS, DEFAULT_COMPACTION_HEAD_TOKENS, DEFAULT_COMPACTION_KEEP_TOKENS, DEFAULT_SOFT_BUDGET_COMPACT_ATTEMPTS, DEFAULT_SOFT_BUDGET_PEEL_ATTEMPTS, SOFT_BUDGET_COMPACT_TRIGGER_RATIO, buildCompactionPrompt, deriveMessagesUnwindowed, estimateMessagesTokens, estimateRequestTokens, estimateTokens, findLatestCompaction, formatCompactionForModel, prepareCompactionPayload, resolveSoftBudgetCeiling, resolveSoftBudgetTokens, parseCompactionStrategy, resolveCompactionStrategy, COMPACTION_STRATEGIES, selectHeadRecent, } from "./compaction.js";
7
7
  export { DEFAULT_MAX_REQUEST_IMAGE_BYTES, describeShadowedImages, ensureDurableImageOffloads, foldImageOffloadMarks, messageHasImageBlocks, MAX_DESCRIBED_SHADOWED_IMAGES, planImageOffloadTargets, projectOffloadedImages, } from "./image-offload.js";
8
8
  import { deriveMessagesUnwindowed, findLatestCompaction, formatCompactionForModel, } from "./compaction.js";
9
9
  import { describeShadowedImages } from "./image-offload.js";
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-text.d.ts","sourceRoot":"","sources":["../src/search-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CA4BlE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,EAAE,CAOnF"}
1
+ {"version":3,"file":"search-text.d.ts","sourceRoot":"","sources":["../src/search-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAoClE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,EAAE,CAOnF"}
@@ -9,6 +9,12 @@ export function extractEventSearchText(event) {
9
9
  if (event.type === "assistant/message" && typeof event.content === "string") {
10
10
  return event.content;
11
11
  }
12
+ // Match FTS packing of text chunks so unflushed stream text stays searchable.
13
+ if (event.type === "assistant/chunk"
14
+ && event.kind === "text"
15
+ && typeof event.text === "string") {
16
+ return event.text;
17
+ }
12
18
  if (event.type === "prompt/admitted") {
13
19
  return readerText(event.content);
14
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-text.js","sourceRoot":"","sources":["../src/search-text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,mFAAmF;AACnF,MAAM,UAAU,sBAAsB,CAAC,KAAmB;IACxD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAClC,2EAA2E;QAC3E,wDAAwD;QACxD,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAA+B;IACvE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"search-text.js","sourceRoot":"","sources":["../src/search-text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,mFAAmF;AACnF,MAAM,UAAU,sBAAsB,CAAC,KAAmB;IACxD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAClC,2EAA2E;QAC3E,wDAAwD;QACxD,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,8EAA8E;IAC9E,IACE,KAAK,CAAC,IAAI,KAAK,iBAAiB;WAC7B,KAAK,CAAC,IAAI,KAAK,MAAM;WACrB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EACjC,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAA+B;IACvE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -2,8 +2,11 @@ import type { SessionEvent } from "@xrkseek/protocol";
2
2
  import type { SessionStore } from "./store.js";
3
3
  export { acquireSessionsDirLock, SessionsDirInUseError, SESSIONS_WRITE_LOCK_FILENAME, type SessionsDirLock, } from "./store-lock.js";
4
4
  export interface PersistentSessionStore extends SessionStore {
5
- /** Flush batched chunk writes (also called from {@link close}). */
6
- flush(): void;
5
+ /**
6
+ * Flush batched writes. No argument drains every session (close / search /
7
+ * eviction). A session id commits only that session's pending batch.
8
+ */
9
+ flush(sessionId?: string): void;
7
10
  /** Release the database handle (required on Windows before deleting the file). */
8
11
  close(): void;
9
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../src/sqlite-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkBtD,OAAO,KAAK,EAAmC,YAAY,EAAE,MAAM,YAAY,CAAC;AAUhF,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AASzB,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;IACnD;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,YAAY,EAAE,CAAC;IAC/C;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAChE;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC;IAC1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,2EAA2E;IAC3E,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AA0ID,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAInD;AAuLD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,6BAAkC,GAC1C,sBAAsB,CAklBxB;AAED,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,gBAAU,CAAC;AAE3C,4EAA4E;AAC5E,eAAO,MAAM,2BAA2B,wBAAkB,CAAC;AAE3D,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,IAAiB,CAAC"}
1
+ {"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../src/sqlite-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkBtD,OAAO,KAAK,EAAmC,YAAY,EAAE,MAAM,YAAY,CAAC;AAUhF,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AASzB,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,kFAAkF;IAClF,KAAK,IAAI,IAAI,CAAC;IACd;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACnD;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,YAAY,EAAE,CAAC;IAC/C;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAChE;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC;IAC1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,2EAA2E;IAC3E,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AA+ID,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAInD;AAmOD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,6BAAkC,GAC1C,sBAAsB,CA8qBxB;AAED,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,gBAAU,CAAC;AAE3C,4EAA4E;AAC5E,eAAO,MAAM,2BAA2B,wBAAkB,CAAC;AAE3D,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,IAAiB,CAAC"}
@@ -99,9 +99,14 @@ function maybeVacuum(db, options) {
99
99
  * - a durability boundary event arrives (`user/message`, `turn/*`,
100
100
  * `command/*`, `prompt/*` — user inputs / lifecycle edges that must not
101
101
  * be lost on crash; crash repair relies on them to close open turns),
102
- * - the pending queue crosses this ceiling (model-output bursts inside one
103
- * very long turn), or
104
- * - an explicit `flush()` (host drain idle / close / search / evict).
102
+ * - that session's own pending count crosses this ceiling (model-output
103
+ * bursts inside one very long turn), or
104
+ * - an explicit no-arg `flush()` (close / whole-DB vacuum). Drain idle,
105
+ * eviction, delete, archive, and replacePrefix pass a session id.
106
+ * Search matches `pending` in memory and does not flush.
107
+ * Automatic flushes write only the session that tripped them. Another
108
+ * session's interior batch stays in memory until its own boundary, its own
109
+ * ceiling, or an explicit `flush()`.
105
110
  * Model-interior events (`assistant/*`, `step/*`, `tool/*`, `llm/*`) batch:
106
111
  * a crash loses at most this window of model output, and
107
112
  * `repairOpenTurnEvents` still closes the turn on reload. Durability
@@ -123,6 +128,39 @@ export function ftsMatchQuery(query) {
123
128
  return '""';
124
129
  return `"${trimmed.replace(/"/g, '""')}"`;
125
130
  }
131
+ /**
132
+ * Join text chunks so a token split across indexes stays searchable after flush.
133
+ * `prefix` is the nearest earlier text chunk before this batch (flush boundary).
134
+ * Non-text events between the two chunks are skipped.
135
+ */
136
+ function textChunkSearchJoin(events, prefix = "") {
137
+ let parts = prefix ? 1 : 0;
138
+ let text = prefix;
139
+ for (const event of events) {
140
+ if (event.type === "assistant/chunk"
141
+ && event.kind === "text"
142
+ && event.text) {
143
+ parts += 1;
144
+ text += event.text;
145
+ }
146
+ }
147
+ if (parts < 2)
148
+ return null;
149
+ return text;
150
+ }
151
+ function previousTextChunk(events, first) {
152
+ const idx = events.indexOf(first);
153
+ for (let i = idx - 1; i >= 0; i -= 1) {
154
+ const prev = events[i];
155
+ if (prev.type === "assistant/chunk"
156
+ && prev.kind === "text"
157
+ && typeof prev.text === "string"
158
+ && prev.text) {
159
+ return prev.text;
160
+ }
161
+ }
162
+ return "";
163
+ }
126
164
  function extractStorageSearchText(record) {
127
165
  if (isTextChunkRow(record)) {
128
166
  const text = record.texts.join("");
@@ -367,8 +405,9 @@ export function createPersistentSessionStore(dir, options = {}) {
367
405
  });
368
406
  if (victim === undefined)
369
407
  break;
370
- // Drain chunk batches before Face checkpoints / drops the resident log.
371
- flushPending();
408
+ // Drain this victim's batches before Face checkpoints / drops the log.
409
+ // Other sessions stay pending so eviction does not stall their turns.
410
+ flushPending(victim);
372
411
  // Notify while still resident so Face can checkpoint. Do not remove from
373
412
  // residentOrder yet — onEvict may touchResident via readEvents/get; splice
374
413
  // only after the callback so a re-touch cannot leave a stale LRU entry.
@@ -403,11 +442,50 @@ export function createPersistentSessionStore(dir, options = {}) {
403
442
  if (text)
404
443
  insertFts.run(sessionId, seq, text);
405
444
  };
406
- const flushPending = () => {
445
+ const indexJoinedTextChunks = (sessionId, events) => {
446
+ const firstText = events.find((event) => event.type === "assistant/chunk"
447
+ && event.kind === "text"
448
+ && event.text);
449
+ const prefix = firstText
450
+ ? previousTextChunk(sessions.get(sessionId) ?? [], firstText)
451
+ : "";
452
+ const joined = textChunkSearchJoin(events, prefix);
453
+ if (!joined)
454
+ return;
455
+ const seq = Math.max(0, (nextSeqBySession.get(sessionId) ?? 1) - 1);
456
+ insertFts.run(sessionId, seq, joined);
457
+ };
458
+ /** Per-session pending length. Avoids scanning the whole queue on every append. */
459
+ const pendingCount = new Map();
460
+ const notePending = (sessionId, delta) => {
461
+ const next = (pendingCount.get(sessionId) ?? 0) + delta;
462
+ if (next <= 0)
463
+ pendingCount.delete(sessionId);
464
+ else
465
+ pendingCount.set(sessionId, next);
466
+ };
467
+ const flushPending = (onlySessionId) => {
407
468
  if (shared || pending.length === 0)
408
469
  return;
409
- const batch = pending;
410
- pending = [];
470
+ const batch = [];
471
+ if (onlySessionId === undefined) {
472
+ batch.push(...pending);
473
+ pending = [];
474
+ pendingCount.clear();
475
+ }
476
+ else {
477
+ const rest = [];
478
+ for (const row of pending) {
479
+ if (row.sessionId === onlySessionId)
480
+ batch.push(row);
481
+ else
482
+ rest.push(row);
483
+ }
484
+ if (batch.length === 0)
485
+ return;
486
+ pending = rest;
487
+ notePending(onlySessionId, -batch.length);
488
+ }
411
489
  const order = [];
412
490
  const bySession = new Map();
413
491
  for (const row of batch) {
@@ -423,10 +501,12 @@ export function createPersistentSessionStore(dir, options = {}) {
423
501
  db.exec("BEGIN IMMEDIATE");
424
502
  try {
425
503
  for (const sessionId of order) {
426
- const packed = packChunkRunsForExport(bySession.get(sessionId));
504
+ const events = bySession.get(sessionId);
505
+ const packed = packChunkRunsForExport(events);
427
506
  for (const record of packed) {
428
507
  writeRecord(sessionId, record);
429
508
  }
509
+ indexJoinedTextChunks(sessionId, events);
430
510
  }
431
511
  db.exec("COMMIT");
432
512
  }
@@ -438,8 +518,10 @@ export function createPersistentSessionStore(dir, options = {}) {
438
518
  /* already rolled back / closed */
439
519
  }
440
520
  restoreSeqMap(seqSnapshot);
441
- // Prepend failed batch so later flush/close can retry; keep any events
442
- // appended while this flush ran.
521
+ // Prepend this flush's batch so later flush/close can retry; keep any
522
+ // events appended while this flush ran, including other sessions.
523
+ for (const row of batch)
524
+ notePending(row.sessionId, 1);
443
525
  pending = batch.concat(pending);
444
526
  throw err;
445
527
  }
@@ -456,39 +538,52 @@ export function createPersistentSessionStore(dir, options = {}) {
456
538
  *
457
539
  * Flush is scheduled on a microtask (not sync) so Face mux publish can run
458
540
  * in the same call stack after `append` returns; host idle/close `flush()`
459
- * and the pending-length cap still drain synchronously.
541
+ * and that session's pending-length cap still drain synchronously.
542
+ * The microtask writes only sessions that hit a boundary, not every
543
+ * session sharing the queue.
460
544
  */
461
545
  const isDurabilityBoundary = (frozen) => frozen.type === "user/message" ||
462
546
  frozen.type === "turn/start" ||
463
547
  frozen.type === "turn/end" ||
464
548
  frozen.type.startsWith("command/") ||
465
549
  frozen.type.startsWith("prompt/");
550
+ const flushMicrotaskIds = new Set();
466
551
  let flushMicrotaskQueued = false;
467
552
  let storeClosed = false;
468
- const scheduleFlushPending = () => {
469
- if (shared || storeClosed || flushMicrotaskQueued)
553
+ const scheduleFlushPending = (sessionId) => {
554
+ if (shared || storeClosed)
555
+ return;
556
+ flushMicrotaskIds.add(sessionId);
557
+ if (flushMicrotaskQueued)
470
558
  return;
471
559
  flushMicrotaskQueued = true;
472
560
  queueMicrotask(() => {
473
561
  flushMicrotaskQueued = false;
474
- if (storeClosed)
562
+ if (storeClosed) {
563
+ flushMicrotaskIds.clear();
475
564
  return;
476
- try {
477
- flushPending();
478
565
  }
479
- catch {
480
- /* pending restored inside flushPending; close()/flush() retries */
566
+ const ids = [...flushMicrotaskIds];
567
+ flushMicrotaskIds.clear();
568
+ for (const id of ids) {
569
+ try {
570
+ flushPending(id);
571
+ }
572
+ catch {
573
+ /* pending restored inside flushPending; close()/flush() retries */
574
+ }
481
575
  }
482
576
  });
483
577
  };
484
578
  const persistEvent = (id, frozen) => {
485
579
  pending.push({ sessionId: id, event: frozen });
486
- if (pending.length >= MICRO_BATCH_MAX_PENDING) {
487
- flushPending();
580
+ notePending(id, 1);
581
+ if ((pendingCount.get(id) ?? 0) >= MICRO_BATCH_MAX_PENDING) {
582
+ flushPending(id);
488
583
  return;
489
584
  }
490
585
  if (isDurabilityBoundary(frozen)) {
491
- scheduleFlushPending();
586
+ scheduleFlushPending(id);
492
587
  }
493
588
  };
494
589
  const sourceDbFor = (id) => coldIds.has(id) ? archiveDb : db;
@@ -576,7 +671,7 @@ export function createPersistentSessionStore(dir, options = {}) {
576
671
  const sid = assertSafeId(id);
577
672
  if (!sessionIds.has(sid))
578
673
  return;
579
- flushPending();
674
+ flushPending(sid);
580
675
  if (hotIds.has(sid)) {
581
676
  deleteSessionRows(db, sid);
582
677
  hotIds.delete(sid);
@@ -611,7 +706,7 @@ export function createPersistentSessionStore(dir, options = {}) {
611
706
  }
612
707
  if (coldIds.has(sid))
613
708
  return;
614
- flushPending();
709
+ flushPending(sid);
615
710
  copySessionRows(db, archiveDb, sid);
616
711
  deleteSessionRows(db, sid);
617
712
  hotIds.delete(sid);
@@ -630,7 +725,7 @@ export function createPersistentSessionStore(dir, options = {}) {
630
725
  }
631
726
  if (!coldIds.has(sid))
632
727
  return;
633
- flushPending();
728
+ flushPending(sid);
634
729
  copySessionRows(archiveDb, db, sid);
635
730
  deleteSessionRows(archiveDb, sid);
636
731
  coldIds.delete(sid);
@@ -664,6 +759,7 @@ export function createPersistentSessionStore(dir, options = {}) {
664
759
  for (let i = pending.length - 1; i >= 0; i -= 1) {
665
760
  if (pending[i].event === frozen) {
666
761
  pending.splice(i, 1);
762
+ notePending(id, -1);
667
763
  break;
668
764
  }
669
765
  }
@@ -700,6 +796,7 @@ export function createPersistentSessionStore(dir, options = {}) {
700
796
  for (const record of packed) {
701
797
  writeRecord(sid, record);
702
798
  }
799
+ indexJoinedTextChunks(sid, frozen);
703
800
  db.exec("COMMIT");
704
801
  }
705
802
  catch (err) {
@@ -730,7 +827,7 @@ export function createPersistentSessionStore(dir, options = {}) {
730
827
  throw new Error(`session not found: ${sid}`);
731
828
  }
732
829
  assertHotMutable(sid);
733
- flushPending();
830
+ flushPending(sid);
734
831
  const frozen = [];
735
832
  for (const event of eventsInput) {
736
833
  frozen.push(deepFreeze(structuredClone(assertSessionEvent(event))));
@@ -746,6 +843,7 @@ export function createPersistentSessionStore(dir, options = {}) {
746
843
  for (const record of packed) {
747
844
  writeRecord(sid, record);
748
845
  }
846
+ indexJoinedTextChunks(sid, frozen);
749
847
  }
750
848
  db.exec("COMMIT");
751
849
  }
@@ -785,7 +883,6 @@ export function createPersistentSessionStore(dir, options = {}) {
785
883
  return sessions.has(id);
786
884
  },
787
885
  searchSessionIds(query) {
788
- flushPending();
789
886
  const match = ftsMatchQuery(query);
790
887
  if (match === '""')
791
888
  return [];
@@ -804,10 +901,39 @@ export function createPersistentSessionStore(dir, options = {}) {
804
901
  };
805
902
  run(db);
806
903
  run(archiveDb);
904
+ // Pending batches are not in FTS yet. Match them in memory so a search
905
+ // does not COMMIT every other session's interior events.
906
+ const needle = query.trim().toLowerCase();
907
+ const chunkText = new Map();
908
+ for (const row of pending) {
909
+ const text = extractEventSearchText(row.event);
910
+ if (text && text.toLowerCase().includes(needle)) {
911
+ ids.add(row.sessionId);
912
+ continue;
913
+ }
914
+ if (row.event.type === "assistant/chunk"
915
+ && row.event.kind === "text"
916
+ && row.event.text) {
917
+ chunkText.set(row.sessionId, (chunkText.get(row.sessionId) ?? "") + row.event.text);
918
+ }
919
+ }
920
+ for (const [sessionId, text] of chunkText) {
921
+ let hay = text;
922
+ const firstPending = pending.find((row) => row.sessionId === sessionId
923
+ && row.event.type === "assistant/chunk"
924
+ && row.event.kind === "text"
925
+ && row.event.text)?.event;
926
+ if (firstPending) {
927
+ hay =
928
+ previousTextChunk(sessions.get(sessionId) ?? [], firstPending) + hay;
929
+ }
930
+ if (hay.toLowerCase().includes(needle))
931
+ ids.add(sessionId);
932
+ }
807
933
  return [...ids];
808
934
  },
809
- flush() {
810
- flushPending();
935
+ flush(sessionId) {
936
+ flushPending(sessionId);
811
937
  },
812
938
  close() {
813
939
  storeClosed = true;