@xrkseek/harness 0.5.30 → 0.6.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  2. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +15 -5
  3. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  4. package/node_modules/@xrkseek/core-session/dist/index.d.ts +6 -1
  5. package/node_modules/@xrkseek/core-session/dist/index.d.ts.map +1 -1
  6. package/node_modules/@xrkseek/core-session/dist/index.js +30 -1
  7. package/node_modules/@xrkseek/core-session/dist/index.js.map +1 -1
  8. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts +20 -1
  9. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts.map +1 -1
  10. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js +272 -71
  11. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js.map +1 -1
  12. package/node_modules/@xrkseek/core-session/dist/store.d.ts +26 -2
  13. package/node_modules/@xrkseek/core-session/dist/store.d.ts.map +1 -1
  14. package/node_modules/@xrkseek/exec-computer-use/README.md +3 -2
  15. package/node_modules/@xrkseek/exec-computer-use/dist/background.d.ts +6 -0
  16. package/node_modules/@xrkseek/exec-computer-use/dist/background.d.ts.map +1 -1
  17. package/node_modules/@xrkseek/exec-computer-use/dist/background.js +19 -0
  18. package/node_modules/@xrkseek/exec-computer-use/dist/background.js.map +1 -1
  19. package/node_modules/@xrkseek/exec-computer-use/dist/format.d.ts.map +1 -1
  20. package/node_modules/@xrkseek/exec-computer-use/dist/format.js +8 -2
  21. package/node_modules/@xrkseek/exec-computer-use/dist/format.js.map +1 -1
  22. package/node_modules/@xrkseek/exec-computer-use/dist/index.d.ts +1 -1
  23. package/node_modules/@xrkseek/exec-computer-use/dist/index.d.ts.map +1 -1
  24. package/node_modules/@xrkseek/exec-computer-use/dist/index.js +6 -3
  25. package/node_modules/@xrkseek/exec-computer-use/dist/index.js.map +1 -1
  26. package/node_modules/@xrkseek/exec-computer-use/dist/tools.d.ts.map +1 -1
  27. package/node_modules/@xrkseek/exec-computer-use/dist/tools.js +3 -2
  28. package/node_modules/@xrkseek/exec-computer-use/dist/tools.js.map +1 -1
  29. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts.map +1 -1
  30. package/node_modules/@xrkseek/exec-fs/dist/read-image.js +4 -1
  31. package/node_modules/@xrkseek/exec-fs/dist/read-image.js.map +1 -1
  32. package/node_modules/@xrkseek/exec-memory/dist/index.d.ts +2 -0
  33. package/node_modules/@xrkseek/exec-memory/dist/index.d.ts.map +1 -1
  34. package/node_modules/@xrkseek/exec-memory/dist/index.js +2 -0
  35. package/node_modules/@xrkseek/exec-memory/dist/index.js.map +1 -1
  36. package/node_modules/@xrkseek/exec-memory/dist/layered.d.ts +39 -0
  37. package/node_modules/@xrkseek/exec-memory/dist/layered.d.ts.map +1 -0
  38. package/node_modules/@xrkseek/exec-memory/dist/layered.js +169 -0
  39. package/node_modules/@xrkseek/exec-memory/dist/layered.js.map +1 -0
  40. package/node_modules/@xrkseek/exec-memory/dist/scopes.d.ts +16 -0
  41. package/node_modules/@xrkseek/exec-memory/dist/scopes.d.ts.map +1 -0
  42. package/node_modules/@xrkseek/exec-memory/dist/scopes.js +61 -0
  43. package/node_modules/@xrkseek/exec-memory/dist/scopes.js.map +1 -0
  44. package/node_modules/@xrkseek/exec-voice/README.md +1 -1
  45. package/node_modules/@xrkseek/exec-voice/dist/index.d.ts +3 -2
  46. package/node_modules/@xrkseek/exec-voice/dist/index.d.ts.map +1 -1
  47. package/node_modules/@xrkseek/exec-voice/dist/index.js +14 -3
  48. package/node_modules/@xrkseek/exec-voice/dist/index.js.map +1 -1
  49. package/node_modules/@xrkseek/exec-voice/dist/readiness.d.ts +1 -1
  50. package/node_modules/@xrkseek/exec-voice/dist/readiness.d.ts.map +1 -1
  51. package/node_modules/@xrkseek/exec-voice/dist/readiness.js +13 -2
  52. package/node_modules/@xrkseek/exec-voice/dist/readiness.js.map +1 -1
  53. package/node_modules/@xrkseek/exec-voice/dist/sensevoice-local.d.ts +31 -0
  54. package/node_modules/@xrkseek/exec-voice/dist/sensevoice-local.d.ts.map +1 -0
  55. package/node_modules/@xrkseek/exec-voice/dist/sensevoice-local.js +187 -0
  56. package/node_modules/@xrkseek/exec-voice/dist/sensevoice-local.js.map +1 -0
  57. package/node_modules/@xrkseek/exec-voice/dist/tools.d.ts +10 -0
  58. package/node_modules/@xrkseek/exec-voice/dist/tools.d.ts.map +1 -1
  59. package/node_modules/@xrkseek/exec-voice/dist/tools.js +8 -0
  60. package/node_modules/@xrkseek/exec-voice/dist/tools.js.map +1 -1
  61. package/node_modules/@xrkseek/exec-voice/dist/types.d.ts +1 -1
  62. package/node_modules/@xrkseek/exec-voice/dist/types.d.ts.map +1 -1
  63. package/node_modules/@xrkseek/exec-web/dist/format.d.ts.map +1 -1
  64. package/node_modules/@xrkseek/exec-web/dist/format.js +5 -1
  65. package/node_modules/@xrkseek/exec-web/dist/format.js.map +1 -1
  66. package/node_modules/@xrkseek/exec-web/dist/html-text.d.ts.map +1 -1
  67. package/node_modules/@xrkseek/exec-web/dist/html-text.js +3 -0
  68. package/node_modules/@xrkseek/exec-web/dist/html-text.js.map +1 -1
  69. package/node_modules/@xrkseek/exec-web/dist/tools.d.ts.map +1 -1
  70. package/node_modules/@xrkseek/exec-web/dist/tools.js +1 -0
  71. package/node_modules/@xrkseek/exec-web/dist/tools.js.map +1 -1
  72. package/node_modules/@xrkseek/im-gateway-contract/dist/index.d.ts +5 -0
  73. package/node_modules/@xrkseek/im-gateway-contract/dist/index.d.ts.map +1 -1
  74. package/node_modules/@xrkseek/im-gateway-contract/dist/index.js.map +1 -1
  75. package/node_modules/@xrkseek/llm-anthropic/dist/index.d.ts.map +1 -1
  76. package/node_modules/@xrkseek/llm-anthropic/dist/index.js +18 -2
  77. package/node_modules/@xrkseek/llm-anthropic/dist/index.js.map +1 -1
  78. package/node_modules/@xrkseek/llm-gemini/dist/index.d.ts.map +1 -1
  79. package/node_modules/@xrkseek/llm-gemini/dist/index.js +47 -11
  80. package/node_modules/@xrkseek/llm-gemini/dist/index.js.map +1 -1
  81. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.d.ts.map +1 -1
  82. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js +9 -1
  83. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js.map +1 -1
  84. package/node_modules/@xrkseek/llm-openai-responses/dist/index.d.ts.map +1 -1
  85. package/node_modules/@xrkseek/llm-openai-responses/dist/index.js +35 -2
  86. package/node_modules/@xrkseek/llm-openai-responses/dist/index.js.map +1 -1
  87. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  88. package/node_modules/@xrkseek/preset-harness/dist/preset.js +18 -3
  89. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  90. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  91. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  92. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  93. package/node_modules/@xrkseek/protocol/dist/content.d.ts +21 -0
  94. package/node_modules/@xrkseek/protocol/dist/content.d.ts.map +1 -1
  95. package/node_modules/@xrkseek/protocol/dist/content.js +47 -0
  96. package/node_modules/@xrkseek/protocol/dist/content.js.map +1 -1
  97. package/node_modules/@xrkseek/protocol/dist/index.d.ts +1 -1
  98. package/node_modules/@xrkseek/protocol/dist/index.d.ts.map +1 -1
  99. package/node_modules/@xrkseek/protocol/dist/index.js +1 -1
  100. package/node_modules/@xrkseek/protocol/dist/index.js.map +1 -1
  101. package/node_modules/@xrkseek/server-config/dist/index.d.ts +1 -1
  102. package/node_modules/@xrkseek/server-config/dist/index.d.ts.map +1 -1
  103. package/node_modules/@xrkseek/server-config/dist/index.js +1 -0
  104. package/node_modules/@xrkseek/server-config/dist/index.js.map +1 -1
  105. package/node_modules/@xrkseek/server-face/dist/adapt/inbox-wire.d.ts +5 -0
  106. package/node_modules/@xrkseek/server-face/dist/adapt/inbox-wire.d.ts.map +1 -1
  107. package/node_modules/@xrkseek/server-face/dist/adapt/inbox-wire.js +4 -1
  108. package/node_modules/@xrkseek/server-face/dist/adapt/inbox-wire.js.map +1 -1
  109. package/node_modules/@xrkseek/server-face/dist/collab-board.d.ts +5 -0
  110. package/node_modules/@xrkseek/server-face/dist/collab-board.d.ts.map +1 -1
  111. package/node_modules/@xrkseek/server-face/dist/collab-board.js +22 -10
  112. package/node_modules/@xrkseek/server-face/dist/collab-board.js.map +1 -1
  113. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.d.ts +13 -0
  114. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.d.ts.map +1 -1
  115. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.js +45 -0
  116. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.js.map +1 -1
  117. package/node_modules/@xrkseek/server-face/dist/context.d.ts +3 -1
  118. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  119. package/node_modules/@xrkseek/server-face/dist/dispatch.d.ts.map +1 -1
  120. package/node_modules/@xrkseek/server-face/dist/dispatch.js +11 -1
  121. package/node_modules/@xrkseek/server-face/dist/dispatch.js.map +1 -1
  122. package/node_modules/@xrkseek/server-face/dist/face-schema.d.ts +11 -9
  123. package/node_modules/@xrkseek/server-face/dist/face-schema.d.ts.map +1 -1
  124. package/node_modules/@xrkseek/server-face/dist/face-schema.js +28 -15
  125. package/node_modules/@xrkseek/server-face/dist/face-schema.js.map +1 -1
  126. package/node_modules/@xrkseek/server-face/dist/fork-lineage.d.ts +15 -0
  127. package/node_modules/@xrkseek/server-face/dist/fork-lineage.d.ts.map +1 -0
  128. package/node_modules/@xrkseek/server-face/dist/fork-lineage.js +73 -0
  129. package/node_modules/@xrkseek/server-face/dist/fork-lineage.js.map +1 -0
  130. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.d.ts.map +1 -1
  131. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js +18 -2
  132. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js.map +1 -1
  133. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.d.ts.map +1 -1
  134. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js +24 -1
  135. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js.map +1 -1
  136. package/node_modules/@xrkseek/server-face/dist/handlers/session-added.d.ts.map +1 -1
  137. package/node_modules/@xrkseek/server-face/dist/handlers/session-added.js +13 -8
  138. package/node_modules/@xrkseek/server-face/dist/handlers/session-added.js.map +1 -1
  139. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts +6 -0
  140. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  141. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +272 -30
  142. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  143. package/node_modules/@xrkseek/server-face/dist/im-workspace-ensure.d.ts +8 -0
  144. package/node_modules/@xrkseek/server-face/dist/im-workspace-ensure.d.ts.map +1 -0
  145. package/node_modules/@xrkseek/server-face/dist/im-workspace-ensure.js +22 -0
  146. package/node_modules/@xrkseek/server-face/dist/im-workspace-ensure.js.map +1 -0
  147. package/node_modules/@xrkseek/server-face/dist/im-workspace-tools.d.ts +13 -0
  148. package/node_modules/@xrkseek/server-face/dist/im-workspace-tools.d.ts.map +1 -0
  149. package/node_modules/@xrkseek/server-face/dist/im-workspace-tools.js +14 -0
  150. package/node_modules/@xrkseek/server-face/dist/im-workspace-tools.js.map +1 -0
  151. package/node_modules/@xrkseek/server-face/dist/im-workspace.d.ts +9 -0
  152. package/node_modules/@xrkseek/server-face/dist/im-workspace.d.ts.map +1 -0
  153. package/node_modules/@xrkseek/server-face/dist/im-workspace.js +11 -0
  154. package/node_modules/@xrkseek/server-face/dist/im-workspace.js.map +1 -0
  155. package/node_modules/@xrkseek/server-face/dist/index.d.ts +10 -1
  156. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  157. package/node_modules/@xrkseek/server-face/dist/index.js +10 -1
  158. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  159. package/node_modules/@xrkseek/server-face/dist/model-catalog.d.ts +5 -0
  160. package/node_modules/@xrkseek/server-face/dist/model-catalog.d.ts.map +1 -1
  161. package/node_modules/@xrkseek/server-face/dist/model-catalog.js +4 -0
  162. package/node_modules/@xrkseek/server-face/dist/model-catalog.js.map +1 -1
  163. package/node_modules/@xrkseek/server-face/dist/model-session-cap.d.ts +61 -0
  164. package/node_modules/@xrkseek/server-face/dist/model-session-cap.d.ts.map +1 -0
  165. package/node_modules/@xrkseek/server-face/dist/model-session-cap.js +155 -0
  166. package/node_modules/@xrkseek/server-face/dist/model-session-cap.js.map +1 -0
  167. package/node_modules/@xrkseek/server-face/dist/peer-session-wait.d.ts +14 -0
  168. package/node_modules/@xrkseek/server-face/dist/peer-session-wait.d.ts.map +1 -0
  169. package/node_modules/@xrkseek/server-face/dist/peer-session-wait.js +64 -0
  170. package/node_modules/@xrkseek/server-face/dist/peer-session-wait.js.map +1 -0
  171. package/node_modules/@xrkseek/server-face/dist/permissions.d.ts +5 -3
  172. package/node_modules/@xrkseek/server-face/dist/permissions.d.ts.map +1 -1
  173. package/node_modules/@xrkseek/server-face/dist/permissions.js +34 -8
  174. package/node_modules/@xrkseek/server-face/dist/permissions.js.map +1 -1
  175. package/node_modules/@xrkseek/server-face/dist/plugin-agent-presets.d.ts.map +1 -1
  176. package/node_modules/@xrkseek/server-face/dist/plugin-agent-presets.js +4 -4
  177. package/node_modules/@xrkseek/server-face/dist/plugin-agent-presets.js.map +1 -1
  178. package/node_modules/@xrkseek/server-face/dist/presence-emotions.d.ts +1 -1
  179. package/node_modules/@xrkseek/server-face/dist/presence-emotions.js +1 -1
  180. package/node_modules/@xrkseek/server-face/dist/presence-tools.d.ts +2 -1
  181. package/node_modules/@xrkseek/server-face/dist/presence-tools.d.ts.map +1 -1
  182. package/node_modules/@xrkseek/server-face/dist/presence-tools.js +10 -7
  183. package/node_modules/@xrkseek/server-face/dist/presence-tools.js.map +1 -1
  184. package/node_modules/@xrkseek/server-face/dist/presets-catalog.d.ts +15 -18
  185. package/node_modules/@xrkseek/server-face/dist/presets-catalog.d.ts.map +1 -1
  186. package/node_modules/@xrkseek/server-face/dist/presets-catalog.js +52 -13
  187. package/node_modules/@xrkseek/server-face/dist/presets-catalog.js.map +1 -1
  188. package/node_modules/@xrkseek/server-face/dist/ralph-tool.d.ts +0 -2
  189. package/node_modules/@xrkseek/server-face/dist/ralph-tool.d.ts.map +1 -1
  190. package/node_modules/@xrkseek/server-face/dist/ralph-tool.js +11 -37
  191. package/node_modules/@xrkseek/server-face/dist/ralph-tool.js.map +1 -1
  192. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  193. package/node_modules/@xrkseek/server-face/dist/runtime.js +149 -28
  194. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  195. package/node_modules/@xrkseek/server-face/dist/select-session-model.d.ts.map +1 -1
  196. package/node_modules/@xrkseek/server-face/dist/select-session-model.js +24 -0
  197. package/node_modules/@xrkseek/server-face/dist/select-session-model.js.map +1 -1
  198. package/node_modules/@xrkseek/server-face/dist/session-capability.d.ts +4 -3
  199. package/node_modules/@xrkseek/server-face/dist/session-capability.d.ts.map +1 -1
  200. package/node_modules/@xrkseek/server-face/dist/session-capability.js +47 -4
  201. package/node_modules/@xrkseek/server-face/dist/session-capability.js.map +1 -1
  202. package/node_modules/@xrkseek/server-face/dist/session-posture.d.ts +22 -0
  203. package/node_modules/@xrkseek/server-face/dist/session-posture.d.ts.map +1 -0
  204. package/node_modules/@xrkseek/server-face/dist/session-posture.js +58 -0
  205. package/node_modules/@xrkseek/server-face/dist/session-posture.js.map +1 -0
  206. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts +7 -1
  207. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
  208. package/node_modules/@xrkseek/server-face/dist/session-status.js +14 -20
  209. package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
  210. package/node_modules/@xrkseek/server-face/dist/session-thread-message.d.ts +3 -3
  211. package/node_modules/@xrkseek/server-face/dist/session-thread-message.d.ts.map +1 -1
  212. package/node_modules/@xrkseek/server-face/dist/session-thread-message.js +5 -7
  213. package/node_modules/@xrkseek/server-face/dist/session-thread-message.js.map +1 -1
  214. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.d.ts +1 -0
  215. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.d.ts.map +1 -1
  216. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js +99 -96
  217. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js.map +1 -1
  218. package/node_modules/@xrkseek/server-face/dist/session-tools.d.ts +40 -0
  219. package/node_modules/@xrkseek/server-face/dist/session-tools.d.ts.map +1 -0
  220. package/node_modules/@xrkseek/server-face/dist/session-tools.js +159 -0
  221. package/node_modules/@xrkseek/server-face/dist/session-tools.js.map +1 -0
  222. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js +2 -2
  223. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js.map +1 -1
  224. package/node_modules/@xrkseek/server-face/dist/settings-document.d.ts.map +1 -1
  225. package/node_modules/@xrkseek/server-face/dist/settings-document.js +18 -7
  226. package/node_modules/@xrkseek/server-face/dist/settings-document.js.map +1 -1
  227. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  228. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +35 -25
  229. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  230. package/node_modules/@xrkseek/server-face/dist/skill-documents.d.ts +37 -0
  231. package/node_modules/@xrkseek/server-face/dist/skill-documents.d.ts.map +1 -0
  232. package/node_modules/@xrkseek/server-face/dist/skill-documents.js +86 -0
  233. package/node_modules/@xrkseek/server-face/dist/skill-documents.js.map +1 -0
  234. package/node_modules/@xrkseek/server-face/dist/skill-list.d.ts +22 -4
  235. package/node_modules/@xrkseek/server-face/dist/skill-list.d.ts.map +1 -1
  236. package/node_modules/@xrkseek/server-face/dist/skill-list.js +26 -3
  237. package/node_modules/@xrkseek/server-face/dist/skill-list.js.map +1 -1
  238. package/node_modules/@xrkseek/server-face/dist/skill-read.d.ts +23 -0
  239. package/node_modules/@xrkseek/server-face/dist/skill-read.d.ts.map +1 -0
  240. package/node_modules/@xrkseek/server-face/dist/skill-read.js +74 -0
  241. package/node_modules/@xrkseek/server-face/dist/skill-read.js.map +1 -0
  242. package/node_modules/@xrkseek/server-face/dist/skill-source.d.ts +21 -0
  243. package/node_modules/@xrkseek/server-face/dist/skill-source.d.ts.map +1 -0
  244. package/node_modules/@xrkseek/server-face/dist/skill-source.js +63 -0
  245. package/node_modules/@xrkseek/server-face/dist/skill-source.js.map +1 -0
  246. package/node_modules/@xrkseek/server-face/dist/slash.d.ts.map +1 -1
  247. package/node_modules/@xrkseek/server-face/dist/slash.js +8 -0
  248. package/node_modules/@xrkseek/server-face/dist/slash.js.map +1 -1
  249. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts +19 -10
  250. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  251. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +533 -521
  252. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  253. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.d.ts +1 -1
  254. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.d.ts.map +1 -1
  255. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.js +13 -0
  256. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.js.map +1 -1
  257. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts.map +1 -1
  258. package/node_modules/@xrkseek/server-face/dist/workspace-face.js +70 -2
  259. package/node_modules/@xrkseek/server-face/dist/workspace-face.js.map +1 -1
  260. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.d.ts +26 -0
  261. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.d.ts.map +1 -0
  262. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js +275 -0
  263. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js.map +1 -0
  264. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts +10 -0
  265. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts.map +1 -1
  266. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js +50 -6
  267. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js.map +1 -1
  268. package/node_modules/@xrkseek/server-face/dist/xiangyang-session-migrate.d.ts +26 -0
  269. package/node_modules/@xrkseek/server-face/dist/xiangyang-session-migrate.d.ts.map +1 -0
  270. package/node_modules/@xrkseek/server-face/dist/xiangyang-session-migrate.js +86 -0
  271. package/node_modules/@xrkseek/server-face/dist/xiangyang-session-migrate.js.map +1 -0
  272. package/node_modules/@xrkseek/server-face/dist/xiangyang-skills.d.ts +12 -0
  273. package/node_modules/@xrkseek/server-face/dist/xiangyang-skills.d.ts.map +1 -0
  274. package/node_modules/@xrkseek/server-face/dist/xiangyang-skills.js +113 -0
  275. package/node_modules/@xrkseek/server-face/dist/xiangyang-skills.js.map +1 -0
  276. package/node_modules/@xrkseek/server-face/dist/xiangyang-workspace-tools.d.ts +12 -0
  277. package/node_modules/@xrkseek/server-face/dist/xiangyang-workspace-tools.d.ts.map +1 -0
  278. package/node_modules/@xrkseek/server-face/dist/xiangyang-workspace-tools.js +13 -0
  279. package/node_modules/@xrkseek/server-face/dist/xiangyang-workspace-tools.js.map +1 -0
  280. package/node_modules/@xrkseek/server-face/dist/xiangyang-workspace.d.ts +18 -0
  281. package/node_modules/@xrkseek/server-face/dist/xiangyang-workspace.d.ts.map +1 -0
  282. package/node_modules/@xrkseek/server-face/dist/xiangyang-workspace.js +26 -0
  283. package/node_modules/@xrkseek/server-face/dist/xiangyang-workspace.js.map +1 -0
  284. package/node_modules/@xrkseek/server-host/dist/im-face-admit.d.ts +25 -0
  285. package/node_modules/@xrkseek/server-host/dist/im-face-admit.d.ts.map +1 -0
  286. package/node_modules/@xrkseek/server-host/dist/im-face-admit.js +161 -0
  287. package/node_modules/@xrkseek/server-host/dist/im-face-admit.js.map +1 -0
  288. package/node_modules/@xrkseek/server-host/dist/im-reply-tool.d.ts +53 -0
  289. package/node_modules/@xrkseek/server-host/dist/im-reply-tool.d.ts.map +1 -0
  290. package/node_modules/@xrkseek/server-host/dist/im-reply-tool.js +222 -0
  291. package/node_modules/@xrkseek/server-host/dist/im-reply-tool.js.map +1 -0
  292. package/node_modules/@xrkseek/server-host/dist/index.d.ts +4 -2
  293. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  294. package/node_modules/@xrkseek/server-host/dist/index.js +145 -68
  295. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  296. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-llm-host-sync.d.ts +45 -1
  297. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-llm-host-sync.d.ts.map +1 -1
  298. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-llm-host-sync.js +141 -4
  299. package/node_modules/@xrkseek/server-http/dist/dsh-compat/community-llm-host-sync.js.map +1 -1
  300. package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-bridge.d.ts +7 -1
  301. package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-bridge.d.ts.map +1 -1
  302. package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-bridge.js +28 -2
  303. package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-bridge.js.map +1 -1
  304. package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-registry.d.ts +2 -0
  305. package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-registry.d.ts.map +1 -1
  306. package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-registry.js +4 -0
  307. package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-registry.js.map +1 -1
  308. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-chat-key.d.ts +7 -0
  309. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-chat-key.d.ts.map +1 -0
  310. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-chat-key.js +37 -0
  311. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-chat-key.js.map +1 -0
  312. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-messaging-bridge.d.ts +24 -0
  313. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-messaging-bridge.d.ts.map +1 -1
  314. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-messaging-bridge.js +145 -2
  315. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-messaging-bridge.js.map +1 -1
  316. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-session-map.d.ts +17 -0
  317. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-session-map.d.ts.map +1 -0
  318. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-session-map.js +39 -0
  319. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-session-map.js.map +1 -0
  320. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts +6 -3
  321. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts.map +1 -1
  322. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js +7 -3
  323. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js.map +1 -1
  324. package/node_modules/@xrkseek/server-http/dist/dsh-compat/live-host-apply.d.ts +28 -0
  325. package/node_modules/@xrkseek/server-http/dist/dsh-compat/live-host-apply.d.ts.map +1 -0
  326. package/node_modules/@xrkseek/server-http/dist/dsh-compat/live-host-apply.js +75 -0
  327. package/node_modules/@xrkseek/server-http/dist/dsh-compat/live-host-apply.js.map +1 -0
  328. package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.d.ts.map +1 -1
  329. package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.js +61 -45
  330. package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.js.map +1 -1
  331. package/node_modules/@xrkseek/server-http/dist/dsh-compat/shared-registry.d.ts.map +1 -1
  332. package/node_modules/@xrkseek/server-http/dist/dsh-compat/shared-registry.js +4 -0
  333. package/node_modules/@xrkseek/server-http/dist/dsh-compat/shared-registry.js.map +1 -1
  334. package/node_modules/@xrkseek/server-http/dist/dsh-compat/workbuddy-host.d.ts +18 -0
  335. package/node_modules/@xrkseek/server-http/dist/dsh-compat/workbuddy-host.d.ts.map +1 -1
  336. package/node_modules/@xrkseek/server-http/dist/dsh-compat/workbuddy-host.js +191 -63
  337. package/node_modules/@xrkseek/server-http/dist/dsh-compat/workbuddy-host.js.map +1 -1
  338. package/node_modules/@xrkseek/server-http/dist/dsh-compat/xrk-host-apply.d.ts.map +1 -1
  339. package/node_modules/@xrkseek/server-http/dist/dsh-compat/xrk-host-apply.js +11 -4
  340. package/node_modules/@xrkseek/server-http/dist/dsh-compat/xrk-host-apply.js.map +1 -1
  341. package/node_modules/@xrkseek/server-http/dist/index.d.ts +1 -1
  342. package/node_modules/@xrkseek/server-http/dist/index.d.ts.map +1 -1
  343. package/node_modules/@xrkseek/server-http/dist/index.js +1 -1
  344. package/node_modules/@xrkseek/server-http/dist/index.js.map +1 -1
  345. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.d.ts.map +1 -1
  346. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.js +2 -1
  347. package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.js.map +1 -1
  348. package/node_modules/@xrkseek/workspace/dist/index.d.ts +2 -0
  349. package/node_modules/@xrkseek/workspace/dist/index.d.ts.map +1 -1
  350. package/node_modules/@xrkseek/workspace/dist/index.js +2 -0
  351. package/node_modules/@xrkseek/workspace/dist/index.js.map +1 -1
  352. package/package.json +1 -1
@@ -18,15 +18,57 @@ const ID_RE = /^[A-Za-z0-9._-]+$/;
18
18
  /** Physical schema v3: durable rows may be packed chunk rows (expanded on load). */
19
19
  const SCHEMA_VERSION = SQLITE_SCHEMA_CURRENT;
20
20
  const DB_NAME = "sessions.db";
21
+ /** Cold sibling of {@link DB_NAME}: archived session logs live here. */
22
+ const ARCHIVE_DB_NAME = "sessions-archive.db";
21
23
  const DEFAULT_MAX_RESIDENT_SESSIONS = 8;
22
24
  /**
23
- * On exclusive `close()`, reclaim freelist when it is both large and a big
24
- * share of the file (deleted / compacted sessions leave empty pages that still
25
- * cost mmap / Working Set). Skip small DBs and shared readers.
25
+ * Reclaim freelist when it is both large and a big share of the file (deleted
26
+ * sessions leave empty pages that still cost mmap / Working Set). Skip small
27
+ * DBs and shared readers. Used on exclusive `close()` and after Face deletes.
26
28
  */
27
29
  const VACUUM_MIN_FREE_BYTES = 64 * 1024 * 1024;
28
30
  const VACUUM_MIN_FREE_RATIO = 0.2;
29
- function maybeVacuumOnClose(db) {
31
+ /** Explicit reclaim after delete / archive offload: lower bar so bulk ops shrink sooner. */
32
+ const VACUUM_EXPLICIT_MIN_FREE_BYTES = 16 * 1024 * 1024;
33
+ const VACUUM_EXPLICIT_MIN_FREE_RATIO = 0.1;
34
+ function deleteSessionRows(db, id) {
35
+ db.prepare("DELETE FROM search_fts WHERE session_id = ?").run(id);
36
+ db.prepare("DELETE FROM events WHERE session_id = ?").run(id);
37
+ db.prepare("DELETE FROM sessions WHERE id = ?").run(id);
38
+ }
39
+ /** Copy one session's sessions/events/FTS rows from `from` into `to` (replace). */
40
+ function copySessionRows(from, to, id) {
41
+ const eventRows = from
42
+ .prepare("SELECT seq, ts, payload FROM events WHERE session_id = ? ORDER BY seq ASC")
43
+ .all(id);
44
+ const ftsRows = from
45
+ .prepare("SELECT seq, text FROM search_fts WHERE session_id = ?")
46
+ .all(id);
47
+ to.exec("BEGIN IMMEDIATE");
48
+ try {
49
+ deleteSessionRows(to, id);
50
+ to.prepare("INSERT INTO sessions (id) VALUES (?)").run(id);
51
+ const insertEvent = to.prepare("INSERT INTO events (session_id, seq, ts, payload) VALUES (?, ?, ?, ?)");
52
+ for (const row of eventRows) {
53
+ insertEvent.run(id, row.seq, row.ts, row.payload);
54
+ }
55
+ const insertFts = to.prepare("INSERT INTO search_fts (session_id, seq, text) VALUES (?, ?, ?)");
56
+ for (const row of ftsRows) {
57
+ insertFts.run(id, row.seq, row.text);
58
+ }
59
+ to.exec("COMMIT");
60
+ }
61
+ catch (err) {
62
+ try {
63
+ to.exec("ROLLBACK");
64
+ }
65
+ catch {
66
+ /* already rolled back / closed */
67
+ }
68
+ throw err;
69
+ }
70
+ }
71
+ function maybeVacuum(db, options) {
30
72
  try {
31
73
  const pageSize = Number(db.prepare("PRAGMA page_size").get().page_size);
32
74
  const pageCount = Number(db.prepare("PRAGMA page_count").get()
@@ -37,17 +79,19 @@ function maybeVacuumOnClose(db) {
37
79
  !Number.isFinite(pageCount) ||
38
80
  !Number.isFinite(freelist) ||
39
81
  pageCount <= 0) {
40
- return;
82
+ return false;
41
83
  }
42
84
  const freeBytes = freelist * pageSize;
43
- if (freeBytes < VACUUM_MIN_FREE_BYTES ||
44
- freelist / pageCount < VACUUM_MIN_FREE_RATIO) {
45
- return;
85
+ if (freeBytes < options.minFreeBytes ||
86
+ freelist / pageCount < options.minFreeRatio) {
87
+ return false;
46
88
  }
47
89
  db.exec("VACUUM");
90
+ return true;
48
91
  }
49
92
  catch {
50
- /* best-effort: never fail Host shutdown on vacuum */
93
+ /* best-effort: never fail Host / Face on vacuum */
94
+ return false;
51
95
  }
52
96
  }
53
97
  /**
@@ -92,13 +136,13 @@ function storageTs(record) {
92
136
  return isPackedChunkRow(record) ? record.ts0 : record.ts;
93
137
  }
94
138
  function ensureFts(db) {
95
- db.exec(`
96
- CREATE VIRTUAL TABLE IF NOT EXISTS search_fts USING fts5(
97
- session_id UNINDEXED,
98
- seq UNINDEXED,
99
- text,
100
- tokenize = 'trigram'
101
- );
139
+ db.exec(`
140
+ CREATE VIRTUAL TABLE IF NOT EXISTS search_fts USING fts5(
141
+ session_id UNINDEXED,
142
+ seq UNINDEXED,
143
+ text,
144
+ tokenize = 'trigram'
145
+ );
102
146
  `);
103
147
  }
104
148
  function schemaVersion(db) {
@@ -138,28 +182,28 @@ function rebuildFts(db) {
138
182
  function initSchema(db) {
139
183
  db.exec("PRAGMA journal_mode = WAL");
140
184
  db.exec("PRAGMA synchronous = FULL");
141
- db.exec(`
142
- CREATE TABLE IF NOT EXISTS meta (
143
- key TEXT PRIMARY KEY,
144
- value TEXT NOT NULL
145
- );
185
+ db.exec(`
186
+ CREATE TABLE IF NOT EXISTS meta (
187
+ key TEXT PRIMARY KEY,
188
+ value TEXT NOT NULL
189
+ );
146
190
  `);
147
191
  const hooks = {
148
192
  ensureTables: () => {
149
- db.exec(`
150
- CREATE TABLE IF NOT EXISTS sessions (
151
- id TEXT PRIMARY KEY
152
- );
153
- CREATE TABLE IF NOT EXISTS events (
154
- session_id TEXT NOT NULL,
155
- seq INTEGER NOT NULL,
156
- ts INTEGER NOT NULL,
157
- payload TEXT NOT NULL,
158
- PRIMARY KEY (session_id, seq),
159
- FOREIGN KEY (session_id) REFERENCES sessions(id)
160
- );
161
- CREATE INDEX IF NOT EXISTS idx_events_session_seq
162
- ON events (session_id, seq);
193
+ db.exec(`
194
+ CREATE TABLE IF NOT EXISTS sessions (
195
+ id TEXT PRIMARY KEY
196
+ );
197
+ CREATE TABLE IF NOT EXISTS events (
198
+ session_id TEXT NOT NULL,
199
+ seq INTEGER NOT NULL,
200
+ ts INTEGER NOT NULL,
201
+ payload TEXT NOT NULL,
202
+ PRIMARY KEY (session_id, seq),
203
+ FOREIGN KEY (session_id) REFERENCES sessions(id)
204
+ );
205
+ CREATE INDEX IF NOT EXISTS idx_events_session_seq
206
+ ON events (session_id, seq);
163
207
  `);
164
208
  },
165
209
  ensureFts: () => {
@@ -210,16 +254,16 @@ function nextSeqFromDb(db, sessionId) {
210
254
  }
211
255
  function hasTurnStartInDb(db, sessionId) {
212
256
  const row = db
213
- .prepare(`SELECT 1 AS hit FROM events
214
- WHERE session_id = ? AND json_extract(payload, '$.type') = 'turn/start'
257
+ .prepare(`SELECT 1 AS hit FROM events
258
+ WHERE session_id = ? AND json_extract(payload, '$.type') = 'turn/start'
215
259
  LIMIT 1`)
216
260
  .get(sessionId);
217
261
  return row !== undefined;
218
262
  }
219
263
  function hasCommandRunInDb(db, sessionId) {
220
264
  const row = db
221
- .prepare(`SELECT 1 AS hit FROM events
222
- WHERE session_id = ? AND json_extract(payload, '$.type') = 'command/run'
265
+ .prepare(`SELECT 1 AS hit FROM events
266
+ WHERE session_id = ? AND json_extract(payload, '$.type') = 'command/run'
223
267
  LIMIT 1`)
224
268
  .get(sessionId);
225
269
  return row !== undefined;
@@ -238,10 +282,11 @@ function loadSessionIds(db) {
238
282
  return ids;
239
283
  }
240
284
  /**
241
- * Durable SessionStore: one workspace SQLite file (`sessions.db`) with WAL.
285
+ * Durable SessionStore: hot `sessions.db` + cold `sessions-archive.db` (WAL).
242
286
  * Lazy session load; batched chunk writes packed as `text-chunks` (≥3);
243
287
  * tool-call argument deltas pack as `tool-call-chunks` (≥3);
244
288
  * FTS5 trigram search. In-memory API stays flat SessionEvent[].
289
+ * Archive offload moves rows to the cold file so the hot DB can shrink.
245
290
  */
246
291
  export function createPersistentSessionStore(dir, options = {}) {
247
292
  const maxResident = options.maxResidentSessions ?? DEFAULT_MAX_RESIDENT_SESSIONS;
@@ -252,12 +297,18 @@ export function createPersistentSessionStore(dir, options = {}) {
252
297
  ? undefined
253
298
  : acquireSessionsDirLock(root);
254
299
  const dbPath = path.join(root, DB_NAME);
300
+ const archivePath = path.join(root, ARCHIVE_DB_NAME);
255
301
  let db;
302
+ let archiveDb;
256
303
  try {
257
304
  db = openDatabase(dbPath, shared);
258
305
  if (!shared) {
259
306
  initSchema(db);
260
307
  }
308
+ archiveDb = openDatabase(archivePath, shared);
309
+ if (!shared) {
310
+ initSchema(archiveDb);
311
+ }
261
312
  }
262
313
  catch (err) {
263
314
  writeLock?.release();
@@ -268,7 +319,21 @@ export function createPersistentSessionStore(dir, options = {}) {
268
319
  throw new Error("persistent session store is read-only when opened with { shared: true }");
269
320
  }
270
321
  };
271
- const sessionIds = loadSessionIds(db);
322
+ const hotIds = loadSessionIds(db);
323
+ const coldIds = loadSessionIds(archiveDb);
324
+ // Incomplete move left the id in both files — keep hot, drop cold copy.
325
+ for (const id of [...coldIds]) {
326
+ if (hotIds.has(id)) {
327
+ try {
328
+ deleteSessionRows(archiveDb, id);
329
+ }
330
+ catch {
331
+ /* best-effort */
332
+ }
333
+ coldIds.delete(id);
334
+ }
335
+ }
336
+ const sessionIds = new Set([...hotIds, ...coldIds]);
272
337
  const sessions = new Map();
273
338
  const residentOrder = [];
274
339
  let onEvict;
@@ -398,6 +463,14 @@ export function createPersistentSessionStore(dir, options = {}) {
398
463
  flushPending();
399
464
  }
400
465
  };
466
+ const sourceDbFor = (id) => coldIds.has(id) ? archiveDb : db;
467
+ const dropResident = (id) => {
468
+ sessions.delete(id);
469
+ nextSeqBySession.delete(id);
470
+ const idx = residentOrder.indexOf(id);
471
+ if (idx >= 0)
472
+ residentOrder.splice(idx, 1);
473
+ };
401
474
  const ensureLoaded = (id) => {
402
475
  const cached = sessions.get(id);
403
476
  if (cached !== undefined) {
@@ -405,11 +478,13 @@ export function createPersistentSessionStore(dir, options = {}) {
405
478
  return cached;
406
479
  }
407
480
  evictResidents(id);
408
- const events = loadSessionEvents(db, id);
481
+ const offloaded = coldIds.has(id);
482
+ const events = loadSessionEvents(sourceDbFor(id), id);
409
483
  const repairs = repairOpenTurnEvents(events);
410
484
  if (repairs.length > 0) {
411
485
  const frozenRepairs = repairs.map((ev) => deepFreeze(structuredClone(assertSessionEvent(ev))));
412
- if (!shared) {
486
+ // Cold / shared: memory-only repair (archive is read for turns; shared is RO).
487
+ if (!shared && !offloaded) {
413
488
  const seqSnapshot = new Map(nextSeqBySession);
414
489
  db.exec("BEGIN IMMEDIATE");
415
490
  try {
@@ -429,7 +504,7 @@ export function createPersistentSessionStore(dir, options = {}) {
429
504
  throw err;
430
505
  }
431
506
  }
432
- // Shared: apply repair in memory only (read-only DB). Exclusive: durable
507
+ // Shared / cold: apply repair in memory only. Exclusive hot: durable
433
508
  // first, then memory — crash between COMMIT and push re-repairs on reload.
434
509
  events.push(...frozenRepairs);
435
510
  }
@@ -437,6 +512,11 @@ export function createPersistentSessionStore(dir, options = {}) {
437
512
  touchResident(id);
438
513
  return events;
439
514
  };
515
+ const assertHotMutable = (id) => {
516
+ if (coldIds.has(id)) {
517
+ throw new Error(`session is archived offload (read-only): ${id}`);
518
+ }
519
+ };
440
520
  return {
441
521
  create(id = newSessionId()) {
442
522
  assertWritable();
@@ -445,6 +525,7 @@ export function createPersistentSessionStore(dir, options = {}) {
445
525
  throw new Error(`session already exists: ${sid}`);
446
526
  }
447
527
  sessionIds.add(sid);
528
+ hotIds.add(sid);
448
529
  evictResidents(sid);
449
530
  sessions.set(sid, []);
450
531
  touchResident(sid);
@@ -468,21 +549,79 @@ export function createPersistentSessionStore(dir, options = {}) {
468
549
  if (!sessionIds.has(sid))
469
550
  return;
470
551
  flushPending();
471
- db.prepare("DELETE FROM search_fts WHERE session_id = ?").run(sid);
472
- db.prepare("DELETE FROM events WHERE session_id = ?").run(sid);
473
- db.prepare("DELETE FROM sessions WHERE id = ?").run(sid);
552
+ if (hotIds.has(sid)) {
553
+ deleteSessionRows(db, sid);
554
+ hotIds.delete(sid);
555
+ }
556
+ if (coldIds.has(sid)) {
557
+ deleteSessionRows(archiveDb, sid);
558
+ coldIds.delete(sid);
559
+ }
474
560
  sessionIds.delete(sid);
475
- sessions.delete(sid);
476
- nextSeqBySession.delete(sid);
477
- const idx = residentOrder.indexOf(sid);
478
- if (idx >= 0)
479
- residentOrder.splice(idx, 1);
561
+ dropResident(sid);
562
+ },
563
+ reclaimStorage() {
564
+ if (shared)
565
+ return false;
566
+ assertWritable();
567
+ flushPending();
568
+ const hot = maybeVacuum(db, {
569
+ minFreeBytes: VACUUM_EXPLICIT_MIN_FREE_BYTES,
570
+ minFreeRatio: VACUUM_EXPLICIT_MIN_FREE_RATIO,
571
+ });
572
+ const cold = maybeVacuum(archiveDb, {
573
+ minFreeBytes: VACUUM_EXPLICIT_MIN_FREE_BYTES,
574
+ minFreeRatio: VACUUM_EXPLICIT_MIN_FREE_RATIO,
575
+ });
576
+ return hot || cold;
577
+ },
578
+ offloadToArchive(id) {
579
+ assertWritable();
580
+ const sid = assertSafeId(id);
581
+ if (!sessionIds.has(sid)) {
582
+ throw new Error(`session not found: ${sid}`);
583
+ }
584
+ if (coldIds.has(sid))
585
+ return;
586
+ flushPending();
587
+ copySessionRows(db, archiveDb, sid);
588
+ deleteSessionRows(db, sid);
589
+ hotIds.delete(sid);
590
+ coldIds.add(sid);
591
+ dropResident(sid);
592
+ maybeVacuum(db, {
593
+ minFreeBytes: VACUUM_EXPLICIT_MIN_FREE_BYTES,
594
+ minFreeRatio: VACUUM_EXPLICIT_MIN_FREE_RATIO,
595
+ });
596
+ },
597
+ restoreFromArchive(id) {
598
+ assertWritable();
599
+ const sid = assertSafeId(id);
600
+ if (!sessionIds.has(sid)) {
601
+ throw new Error(`session not found: ${sid}`);
602
+ }
603
+ if (!coldIds.has(sid))
604
+ return;
605
+ flushPending();
606
+ copySessionRows(archiveDb, db, sid);
607
+ deleteSessionRows(archiveDb, sid);
608
+ coldIds.delete(sid);
609
+ hotIds.add(sid);
610
+ dropResident(sid);
611
+ maybeVacuum(archiveDb, {
612
+ minFreeBytes: VACUUM_EXPLICIT_MIN_FREE_BYTES,
613
+ minFreeRatio: VACUUM_EXPLICIT_MIN_FREE_RATIO,
614
+ });
615
+ },
616
+ isOffloaded(id) {
617
+ return coldIds.has(id);
480
618
  },
481
619
  append(id, event) {
482
620
  assertWritable();
483
621
  if (!sessionIds.has(id)) {
484
622
  throw new Error(`session not found: ${id}`);
485
623
  }
624
+ assertHotMutable(id);
486
625
  const events = ensureLoaded(id);
487
626
  const parsed = assertSessionEvent(event);
488
627
  const frozen = deepFreeze(structuredClone(parsed));
@@ -517,6 +656,7 @@ export function createPersistentSessionStore(dir, options = {}) {
517
656
  // Create + one packed transaction (not N persistEvent flushes). Chunk
518
657
  // runs pack the same way as flushPending so fork seed matches live shape.
519
658
  sessionIds.add(sid);
659
+ hotIds.add(sid);
520
660
  evictResidents(sid);
521
661
  sessions.set(sid, frozen);
522
662
  touchResident(sid);
@@ -543,11 +683,8 @@ export function createPersistentSessionStore(dir, options = {}) {
543
683
  }
544
684
  restoreSeqMap(seqSnapshot);
545
685
  sessionIds.delete(sid);
546
- sessions.delete(sid);
547
- nextSeqBySession.delete(sid);
548
- const idx = residentOrder.indexOf(sid);
549
- if (idx >= 0)
550
- residentOrder.splice(idx, 1);
686
+ hotIds.delete(sid);
687
+ dropResident(sid);
551
688
  try {
552
689
  db.prepare("DELETE FROM sessions WHERE id = ?").run(sid);
553
690
  }
@@ -558,6 +695,46 @@ export function createPersistentSessionStore(dir, options = {}) {
558
695
  }
559
696
  return { id: sid, events: frozen };
560
697
  },
698
+ replacePrefix(id, eventsInput = []) {
699
+ assertWritable();
700
+ const sid = assertSafeId(id);
701
+ if (!sessionIds.has(sid)) {
702
+ throw new Error(`session not found: ${sid}`);
703
+ }
704
+ assertHotMutable(sid);
705
+ flushPending();
706
+ const frozen = [];
707
+ for (const event of eventsInput) {
708
+ frozen.push(deepFreeze(structuredClone(assertSessionEvent(event))));
709
+ }
710
+ const seqSnapshot = new Map(nextSeqBySession);
711
+ db.exec("BEGIN IMMEDIATE");
712
+ try {
713
+ db.prepare("DELETE FROM search_fts WHERE session_id = ?").run(sid);
714
+ db.prepare("DELETE FROM events WHERE session_id = ?").run(sid);
715
+ nextSeqBySession.set(sid, 0);
716
+ if (frozen.length > 0) {
717
+ const packed = packChunkRunsForExport(frozen);
718
+ for (const record of packed) {
719
+ writeRecord(sid, record);
720
+ }
721
+ }
722
+ db.exec("COMMIT");
723
+ }
724
+ catch (err) {
725
+ try {
726
+ db.exec("ROLLBACK");
727
+ }
728
+ catch {
729
+ /* already rolled back / closed */
730
+ }
731
+ restoreSeqMap(seqSnapshot);
732
+ throw err;
733
+ }
734
+ sessions.set(sid, frozen);
735
+ touchResident(sid);
736
+ return { id: sid, events: frozen };
737
+ },
561
738
  list() {
562
739
  return [...sessionIds];
563
740
  },
@@ -569,10 +746,11 @@ export function createPersistentSessionStore(dir, options = {}) {
569
746
  if (cached !== undefined) {
570
747
  return computeListHints(cached);
571
748
  }
749
+ const source = sourceDbFor(id);
572
750
  return {
573
- lastEventTs: lastEventTsFromDb(db, id),
574
- hasTurnStart: hasTurnStartInDb(db, id),
575
- hasCommandRun: hasCommandRunInDb(db, id),
751
+ lastEventTs: lastEventTsFromDb(source, id),
752
+ hasTurnStart: hasTurnStartInDb(source, id),
753
+ hasCommandRun: hasCommandRunInDb(source, id),
576
754
  };
577
755
  },
578
756
  isLoaded(id) {
@@ -583,15 +761,22 @@ export function createPersistentSessionStore(dir, options = {}) {
583
761
  const match = ftsMatchQuery(query);
584
762
  if (match === '""')
585
763
  return [];
586
- try {
587
- const rows = db
588
- .prepare("SELECT DISTINCT session_id AS id FROM search_fts WHERE search_fts MATCH ?")
589
- .all(match);
590
- return rows.map((r) => r.id);
591
- }
592
- catch {
593
- return [];
594
- }
764
+ const ids = new Set();
765
+ const run = (target) => {
766
+ try {
767
+ const rows = target
768
+ .prepare("SELECT DISTINCT session_id AS id FROM search_fts WHERE search_fts MATCH ?")
769
+ .all(match);
770
+ for (const row of rows)
771
+ ids.add(row.id);
772
+ }
773
+ catch {
774
+ /* corrupt / missing FTS — skip that DB */
775
+ }
776
+ };
777
+ run(db);
778
+ run(archiveDb);
779
+ return [...ids];
595
780
  },
596
781
  flush() {
597
782
  flushPending();
@@ -599,8 +784,16 @@ export function createPersistentSessionStore(dir, options = {}) {
599
784
  close() {
600
785
  try {
601
786
  flushPending();
602
- if (!shared)
603
- maybeVacuumOnClose(db);
787
+ if (!shared) {
788
+ maybeVacuum(db, {
789
+ minFreeBytes: VACUUM_MIN_FREE_BYTES,
790
+ minFreeRatio: VACUUM_MIN_FREE_RATIO,
791
+ });
792
+ maybeVacuum(archiveDb, {
793
+ minFreeBytes: VACUUM_MIN_FREE_BYTES,
794
+ minFreeRatio: VACUUM_MIN_FREE_RATIO,
795
+ });
796
+ }
604
797
  }
605
798
  finally {
606
799
  try {
@@ -609,6 +802,12 @@ export function createPersistentSessionStore(dir, options = {}) {
609
802
  catch {
610
803
  /* already closed */
611
804
  }
805
+ try {
806
+ archiveDb.close();
807
+ }
808
+ catch {
809
+ /* already closed */
810
+ }
612
811
  writeLock?.release();
613
812
  }
614
813
  },
@@ -636,6 +835,8 @@ export function createPersistentSessionStore(dir, options = {}) {
636
835
  }
637
836
  /** SQLite database filename under a sessions directory. */
638
837
  export const SESSION_DB_FILENAME = DB_NAME;
838
+ /** Archive SQLite filename (cold session logs after `offloadToArchive`). */
839
+ export const SESSION_ARCHIVE_DB_FILENAME = ARCHIVE_DB_NAME;
639
840
  /** Current durable schema version (text-chunks physical packing). */
640
841
  export const SESSION_SCHEMA_VERSION = SCHEMA_VERSION;
641
842
  //# sourceMappingURL=sqlite-store.js.map
@@ -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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"}
@@ -33,10 +33,34 @@ export interface SessionStore {
33
33
  */
34
34
  seed?(id: string | undefined, events: readonly SessionEvent[]): SessionRecord;
35
35
  /**
36
- * Permanently drop one session log (memory and durable rows when present).
37
- * Idempotent for an unknown id. Optional on lightweight test doubles.
36
+ * Replace an existing session's log with `events` (same id). Used by
37
+ * Cursor-style edit/delete truncate — not fork. Optional on lightweight
38
+ * test doubles.
39
+ */
40
+ replacePrefix?(id: string, events: readonly SessionEvent[]): SessionRecord;
41
+ /**
42
+ * Permanently drop one session log (memory and durable rows when present,
43
+ * including cold archive rows). Idempotent for an unknown id. Optional on
44
+ * lightweight test doubles. File shrink needs {@link reclaimStorage} / close.
38
45
  */
39
46
  delete?(id: string): void;
47
+ /**
48
+ * Best-effort reclaim of freelist pages in a durable store (VACUUM when the
49
+ * free share is large enough). No-op / false for memory stores. Optional.
50
+ */
51
+ reclaimStorage?(): boolean;
52
+ /**
53
+ * Move a durable session log into the cold archive DB (lighten hot
54
+ * `sessions.db`). Idempotent when already offloaded. Optional — memory
55
+ * stores omit this (archive is registry-only).
56
+ */
57
+ offloadToArchive?(id: string): void;
58
+ /**
59
+ * Move a cold archive log back into the hot DB. Idempotent when already hot.
60
+ */
61
+ restoreFromArchive?(id: string): void;
62
+ /** True when the durable log sits in the archive DB. */
63
+ isOffloaded?(id: string): boolean;
40
64
  list(): readonly string[];
41
65
  /**
42
66
  * Half-open event range `[fromSeq, toSeqExclusive)`.