@xrkseek/harness 0.5.5 → 0.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/node_modules/@xrkseek/code-runtime/dist/index.d.ts +4 -0
  6. package/node_modules/@xrkseek/code-runtime/dist/index.d.ts.map +1 -1
  7. package/node_modules/@xrkseek/code-runtime/dist/index.js +101 -74
  8. package/node_modules/@xrkseek/code-runtime/dist/index.js.map +1 -1
  9. package/node_modules/@xrkseek/context-fragments/README.md +5 -1
  10. package/node_modules/@xrkseek/context-fragments/dist/index.d.ts +5 -25
  11. package/node_modules/@xrkseek/context-fragments/dist/index.d.ts.map +1 -1
  12. package/node_modules/@xrkseek/context-fragments/dist/index.js +5 -41
  13. package/node_modules/@xrkseek/context-fragments/dist/index.js.map +1 -1
  14. package/node_modules/@xrkseek/core-agent/dist/index.d.ts.map +1 -1
  15. package/node_modules/@xrkseek/core-agent/dist/index.js +6 -3
  16. package/node_modules/@xrkseek/core-agent/dist/index.js.map +1 -1
  17. package/node_modules/@xrkseek/core-agent-loop/dist/cancel-finalize.d.ts +16 -0
  18. package/node_modules/@xrkseek/core-agent-loop/dist/cancel-finalize.d.ts.map +1 -1
  19. package/node_modules/@xrkseek/core-agent-loop/dist/cancel-finalize.js +80 -3
  20. package/node_modules/@xrkseek/core-agent-loop/dist/cancel-finalize.js.map +1 -1
  21. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts +4 -3
  22. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  23. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +42 -19
  24. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  25. package/node_modules/@xrkseek/core-agent-loop/dist/llm-retry.js +1 -1
  26. package/node_modules/@xrkseek/core-agent-loop/dist/llm-retry.js.map +1 -1
  27. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts +12 -0
  28. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts.map +1 -1
  29. package/node_modules/@xrkseek/core-session/dist/compaction.js +107 -31
  30. package/node_modules/@xrkseek/core-session/dist/compaction.js.map +1 -1
  31. package/node_modules/@xrkseek/core-session/dist/image-offload.d.ts +27 -1
  32. package/node_modules/@xrkseek/core-session/dist/image-offload.d.ts.map +1 -1
  33. package/node_modules/@xrkseek/core-session/dist/image-offload.js +62 -0
  34. package/node_modules/@xrkseek/core-session/dist/image-offload.js.map +1 -1
  35. package/node_modules/@xrkseek/core-session/dist/index.d.ts +2 -2
  36. package/node_modules/@xrkseek/core-session/dist/index.d.ts.map +1 -1
  37. package/node_modules/@xrkseek/core-session/dist/index.js +23 -2
  38. package/node_modules/@xrkseek/core-session/dist/index.js.map +1 -1
  39. package/node_modules/@xrkseek/core-session/dist/safety/mistake.d.ts +2 -1
  40. package/node_modules/@xrkseek/core-session/dist/safety/mistake.d.ts.map +1 -1
  41. package/node_modules/@xrkseek/core-session/dist/safety/mistake.js +8 -4
  42. package/node_modules/@xrkseek/core-session/dist/safety/mistake.js.map +1 -1
  43. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts.map +1 -1
  44. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js +84 -30
  45. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js.map +1 -1
  46. package/node_modules/@xrkseek/core-session/dist/store.d.ts +7 -0
  47. package/node_modules/@xrkseek/core-session/dist/store.d.ts.map +1 -1
  48. package/node_modules/@xrkseek/core-tools/dist/definition.d.ts +2 -0
  49. package/node_modules/@xrkseek/core-tools/dist/definition.d.ts.map +1 -1
  50. package/node_modules/@xrkseek/core-tools/dist/definition.js.map +1 -1
  51. package/node_modules/@xrkseek/core-tools/dist/index.d.ts +1 -1
  52. package/node_modules/@xrkseek/core-tools/dist/index.d.ts.map +1 -1
  53. package/node_modules/@xrkseek/core-tools/dist/index.js.map +1 -1
  54. package/node_modules/@xrkseek/core-tools/dist/pipeline.d.ts +1 -0
  55. package/node_modules/@xrkseek/core-tools/dist/pipeline.d.ts.map +1 -1
  56. package/node_modules/@xrkseek/core-tools/dist/pipeline.js +59 -1
  57. package/node_modules/@xrkseek/core-tools/dist/pipeline.js.map +1 -1
  58. package/node_modules/@xrkseek/core-tools/dist/run-tool.d.ts +6 -0
  59. package/node_modules/@xrkseek/core-tools/dist/run-tool.d.ts.map +1 -1
  60. package/node_modules/@xrkseek/core-tools/dist/run-tool.js +3 -0
  61. package/node_modules/@xrkseek/core-tools/dist/run-tool.js.map +1 -1
  62. package/node_modules/@xrkseek/core-tools/dist/settings-tools.d.ts.map +1 -1
  63. package/node_modules/@xrkseek/core-tools/dist/settings-tools.js +6 -11
  64. package/node_modules/@xrkseek/core-tools/dist/settings-tools.js.map +1 -1
  65. package/node_modules/@xrkseek/core-tools/dist/std-tools.d.ts.map +1 -1
  66. package/node_modules/@xrkseek/core-tools/dist/std-tools.js +5 -8
  67. package/node_modules/@xrkseek/core-tools/dist/std-tools.js.map +1 -1
  68. package/node_modules/@xrkseek/core-tools/dist/types.d.ts +64 -1
  69. package/node_modules/@xrkseek/core-tools/dist/types.d.ts.map +1 -1
  70. package/node_modules/@xrkseek/core-tools/dist/types.js.map +1 -1
  71. package/node_modules/@xrkseek/exec-computer-use/dist/tools.d.ts.map +1 -1
  72. package/node_modules/@xrkseek/exec-computer-use/dist/tools.js +1 -2
  73. package/node_modules/@xrkseek/exec-computer-use/dist/tools.js.map +1 -1
  74. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
  75. package/node_modules/@xrkseek/exec-fs/dist/index.js +10 -19
  76. package/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
  77. package/node_modules/@xrkseek/exec-fs/dist/present-deliverable.d.ts.map +1 -1
  78. package/node_modules/@xrkseek/exec-fs/dist/present-deliverable.js +3 -5
  79. package/node_modules/@xrkseek/exec-fs/dist/present-deliverable.js.map +1 -1
  80. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts.map +1 -1
  81. package/node_modules/@xrkseek/exec-fs/dist/read-image.js +4 -2
  82. package/node_modules/@xrkseek/exec-fs/dist/read-image.js.map +1 -1
  83. package/node_modules/@xrkseek/exec-fs/dist/search.d.ts +3 -1
  84. package/node_modules/@xrkseek/exec-fs/dist/search.d.ts.map +1 -1
  85. package/node_modules/@xrkseek/exec-fs/dist/search.js +13 -7
  86. package/node_modules/@xrkseek/exec-fs/dist/search.js.map +1 -1
  87. package/node_modules/@xrkseek/exec-image-gen/dist/format.d.ts.map +1 -1
  88. package/node_modules/@xrkseek/exec-image-gen/dist/format.js +1 -0
  89. package/node_modules/@xrkseek/exec-image-gen/dist/format.js.map +1 -1
  90. package/node_modules/@xrkseek/exec-image-gen/dist/schema.d.ts.map +1 -1
  91. package/node_modules/@xrkseek/exec-image-gen/dist/schema.js +3 -5
  92. package/node_modules/@xrkseek/exec-image-gen/dist/schema.js.map +1 -1
  93. package/node_modules/@xrkseek/exec-lsp/dist/tools.js +1 -1
  94. package/node_modules/@xrkseek/exec-lsp/dist/tools.js.map +1 -1
  95. package/node_modules/@xrkseek/exec-memory/dist/tools.d.ts.map +1 -1
  96. package/node_modules/@xrkseek/exec-memory/dist/tools.js +5 -12
  97. package/node_modules/@xrkseek/exec-memory/dist/tools.js.map +1 -1
  98. package/node_modules/@xrkseek/exec-shell/dist/bytes.d.ts +34 -1
  99. package/node_modules/@xrkseek/exec-shell/dist/bytes.d.ts.map +1 -1
  100. package/node_modules/@xrkseek/exec-shell/dist/bytes.js +69 -2
  101. package/node_modules/@xrkseek/exec-shell/dist/bytes.js.map +1 -1
  102. package/node_modules/@xrkseek/exec-shell/dist/index.d.ts.map +1 -1
  103. package/node_modules/@xrkseek/exec-shell/dist/index.js +40 -11
  104. package/node_modules/@xrkseek/exec-shell/dist/index.js.map +1 -1
  105. package/node_modules/@xrkseek/exec-shell/dist/job-view.d.ts.map +1 -1
  106. package/node_modules/@xrkseek/exec-shell/dist/job-view.js +27 -2
  107. package/node_modules/@xrkseek/exec-shell/dist/job-view.js.map +1 -1
  108. package/node_modules/@xrkseek/exec-subprocess/dist/index.d.ts +9 -0
  109. package/node_modules/@xrkseek/exec-subprocess/dist/index.d.ts.map +1 -1
  110. package/node_modules/@xrkseek/exec-subprocess/dist/index.js +43 -0
  111. package/node_modules/@xrkseek/exec-subprocess/dist/index.js.map +1 -1
  112. package/node_modules/@xrkseek/exec-video-analyze/dist/tools.d.ts.map +1 -1
  113. package/node_modules/@xrkseek/exec-video-analyze/dist/tools.js +3 -4
  114. package/node_modules/@xrkseek/exec-video-analyze/dist/tools.js.map +1 -1
  115. package/node_modules/@xrkseek/exec-video-gen/dist/schema.d.ts.map +1 -1
  116. package/node_modules/@xrkseek/exec-video-gen/dist/schema.js +3 -6
  117. package/node_modules/@xrkseek/exec-video-gen/dist/schema.js.map +1 -1
  118. package/node_modules/@xrkseek/exec-web/dist/browser-tools.d.ts.map +1 -1
  119. package/node_modules/@xrkseek/exec-web/dist/browser-tools.js +5 -7
  120. package/node_modules/@xrkseek/exec-web/dist/browser-tools.js.map +1 -1
  121. package/node_modules/@xrkseek/exec-web/dist/tools.js +2 -2
  122. package/node_modules/@xrkseek/exec-web/dist/tools.js.map +1 -1
  123. package/node_modules/@xrkseek/llm/dist/failure.d.ts +8 -0
  124. package/node_modules/@xrkseek/llm/dist/failure.d.ts.map +1 -1
  125. package/node_modules/@xrkseek/llm/dist/failure.js +43 -1
  126. package/node_modules/@xrkseek/llm/dist/failure.js.map +1 -1
  127. package/node_modules/@xrkseek/llm/dist/index.d.ts +32 -2
  128. package/node_modules/@xrkseek/llm/dist/index.d.ts.map +1 -1
  129. package/node_modules/@xrkseek/llm/dist/index.js +49 -3
  130. package/node_modules/@xrkseek/llm/dist/index.js.map +1 -1
  131. package/node_modules/@xrkseek/llm/dist/retry-policy.d.ts +20 -2
  132. package/node_modules/@xrkseek/llm/dist/retry-policy.d.ts.map +1 -1
  133. package/node_modules/@xrkseek/llm/dist/retry-policy.js +46 -17
  134. package/node_modules/@xrkseek/llm/dist/retry-policy.js.map +1 -1
  135. package/node_modules/@xrkseek/llm/dist/stream-idle-timeout.d.ts +46 -0
  136. package/node_modules/@xrkseek/llm/dist/stream-idle-timeout.d.ts.map +1 -0
  137. package/node_modules/@xrkseek/llm/dist/stream-idle-timeout.js +141 -0
  138. package/node_modules/@xrkseek/llm/dist/stream-idle-timeout.js.map +1 -0
  139. package/node_modules/@xrkseek/llm-anthropic/dist/index.d.ts +9 -0
  140. package/node_modules/@xrkseek/llm-anthropic/dist/index.d.ts.map +1 -1
  141. package/node_modules/@xrkseek/llm-anthropic/dist/index.js +27 -11
  142. package/node_modules/@xrkseek/llm-anthropic/dist/index.js.map +1 -1
  143. package/node_modules/@xrkseek/llm-gemini/dist/index.d.ts +9 -0
  144. package/node_modules/@xrkseek/llm-gemini/dist/index.d.ts.map +1 -1
  145. package/node_modules/@xrkseek/llm-gemini/dist/index.js +26 -10
  146. package/node_modules/@xrkseek/llm-gemini/dist/index.js.map +1 -1
  147. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.d.ts +9 -0
  148. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.d.ts.map +1 -1
  149. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js +60 -16
  150. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js.map +1 -1
  151. package/node_modules/@xrkseek/llm-openai-responses/dist/index.d.ts +10 -0
  152. package/node_modules/@xrkseek/llm-openai-responses/dist/index.d.ts.map +1 -1
  153. package/node_modules/@xrkseek/llm-openai-responses/dist/index.js +26 -10
  154. package/node_modules/@xrkseek/llm-openai-responses/dist/index.js.map +1 -1
  155. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts +12 -5
  156. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  157. package/node_modules/@xrkseek/preset-harness/dist/preset.js +25 -6
  158. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  159. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  160. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  161. package/node_modules/@xrkseek/preset-server/dist/preset.js +2 -2
  162. package/node_modules/@xrkseek/preset-server/dist/preset.js.map +1 -1
  163. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  164. package/node_modules/@xrkseek/protocol/dist/tools.d.ts +2 -0
  165. package/node_modules/@xrkseek/protocol/dist/tools.d.ts.map +1 -1
  166. package/node_modules/@xrkseek/server-cron/dist/tools.d.ts.map +1 -1
  167. package/node_modules/@xrkseek/server-cron/dist/tools.js +1 -2
  168. package/node_modules/@xrkseek/server-cron/dist/tools.js.map +1 -1
  169. package/node_modules/@xrkseek/server-face/dist/approvals.d.ts +9 -2
  170. package/node_modules/@xrkseek/server-face/dist/approvals.d.ts.map +1 -1
  171. package/node_modules/@xrkseek/server-face/dist/approvals.js +8 -4
  172. package/node_modules/@xrkseek/server-face/dist/approvals.js.map +1 -1
  173. package/node_modules/@xrkseek/server-face/dist/auto-review-approve.d.ts +24 -0
  174. package/node_modules/@xrkseek/server-face/dist/auto-review-approve.d.ts.map +1 -0
  175. package/node_modules/@xrkseek/server-face/dist/auto-review-approve.js +43 -0
  176. package/node_modules/@xrkseek/server-face/dist/auto-review-approve.js.map +1 -0
  177. package/node_modules/@xrkseek/server-face/dist/canvas-store.d.ts +10 -0
  178. package/node_modules/@xrkseek/server-face/dist/canvas-store.d.ts.map +1 -1
  179. package/node_modules/@xrkseek/server-face/dist/canvas-store.js +43 -6
  180. package/node_modules/@xrkseek/server-face/dist/canvas-store.js.map +1 -1
  181. package/node_modules/@xrkseek/server-face/dist/canvas-tools.d.ts.map +1 -1
  182. package/node_modules/@xrkseek/server-face/dist/canvas-tools.js +6 -3
  183. package/node_modules/@xrkseek/server-face/dist/canvas-tools.js.map +1 -1
  184. package/node_modules/@xrkseek/server-face/dist/context.d.ts +12 -2
  185. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  186. package/node_modules/@xrkseek/server-face/dist/dispatch.d.ts.map +1 -1
  187. package/node_modules/@xrkseek/server-face/dist/dispatch.js +3 -1
  188. package/node_modules/@xrkseek/server-face/dist/dispatch.js.map +1 -1
  189. package/node_modules/@xrkseek/server-face/dist/durable-prompt.d.ts +14 -1
  190. package/node_modules/@xrkseek/server-face/dist/durable-prompt.d.ts.map +1 -1
  191. package/node_modules/@xrkseek/server-face/dist/durable-prompt.js +38 -3
  192. package/node_modules/@xrkseek/server-face/dist/durable-prompt.js.map +1 -1
  193. package/node_modules/@xrkseek/server-face/dist/face-schema.d.ts +14 -1
  194. package/node_modules/@xrkseek/server-face/dist/face-schema.d.ts.map +1 -1
  195. package/node_modules/@xrkseek/server-face/dist/face-schema.js +14 -1
  196. package/node_modules/@xrkseek/server-face/dist/face-schema.js.map +1 -1
  197. package/node_modules/@xrkseek/server-face/dist/handlers/job.d.ts +8 -0
  198. package/node_modules/@xrkseek/server-face/dist/handlers/job.d.ts.map +1 -1
  199. package/node_modules/@xrkseek/server-face/dist/handlers/job.js +16 -0
  200. package/node_modules/@xrkseek/server-face/dist/handlers/job.js.map +1 -1
  201. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  202. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +111 -25
  203. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  204. package/node_modules/@xrkseek/server-face/dist/host-open-path.d.ts.map +1 -1
  205. package/node_modules/@xrkseek/server-face/dist/host-open-path.js +7 -2
  206. package/node_modules/@xrkseek/server-face/dist/host-open-path.js.map +1 -1
  207. package/node_modules/@xrkseek/server-face/dist/index.d.ts +5 -3
  208. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  209. package/node_modules/@xrkseek/server-face/dist/index.js +5 -3
  210. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  211. package/node_modules/@xrkseek/server-face/dist/model-catalog.d.ts +11 -0
  212. package/node_modules/@xrkseek/server-face/dist/model-catalog.d.ts.map +1 -1
  213. package/node_modules/@xrkseek/server-face/dist/model-catalog.js +25 -3
  214. package/node_modules/@xrkseek/server-face/dist/model-catalog.js.map +1 -1
  215. package/node_modules/@xrkseek/server-face/dist/permission-auto.d.ts +51 -0
  216. package/node_modules/@xrkseek/server-face/dist/permission-auto.d.ts.map +1 -0
  217. package/node_modules/@xrkseek/server-face/dist/permission-auto.js +106 -0
  218. package/node_modules/@xrkseek/server-face/dist/permission-auto.js.map +1 -0
  219. package/node_modules/@xrkseek/server-face/dist/permissions.d.ts +38 -4
  220. package/node_modules/@xrkseek/server-face/dist/permissions.d.ts.map +1 -1
  221. package/node_modules/@xrkseek/server-face/dist/permissions.js +131 -24
  222. package/node_modules/@xrkseek/server-face/dist/permissions.js.map +1 -1
  223. package/node_modules/@xrkseek/server-face/dist/projections/install-defaults.d.ts +8 -0
  224. package/node_modules/@xrkseek/server-face/dist/projections/install-defaults.d.ts.map +1 -1
  225. package/node_modules/@xrkseek/server-face/dist/projections/install-defaults.js +9 -3
  226. package/node_modules/@xrkseek/server-face/dist/projections/install-defaults.js.map +1 -1
  227. package/node_modules/@xrkseek/server-face/dist/projections/units/auto-review.d.ts +22 -1
  228. package/node_modules/@xrkseek/server-face/dist/projections/units/auto-review.d.ts.map +1 -1
  229. package/node_modules/@xrkseek/server-face/dist/projections/units/auto-review.js +18 -15
  230. package/node_modules/@xrkseek/server-face/dist/projections/units/auto-review.js.map +1 -1
  231. package/node_modules/@xrkseek/server-face/dist/projections/units/permissions.d.ts +4 -1
  232. package/node_modules/@xrkseek/server-face/dist/projections/units/permissions.d.ts.map +1 -1
  233. package/node_modules/@xrkseek/server-face/dist/projections/units/permissions.js +8 -5
  234. package/node_modules/@xrkseek/server-face/dist/projections/units/permissions.js.map +1 -1
  235. package/node_modules/@xrkseek/server-face/dist/projections/units/session-stats.d.ts +15 -3
  236. package/node_modules/@xrkseek/server-face/dist/projections/units/session-stats.d.ts.map +1 -1
  237. package/node_modules/@xrkseek/server-face/dist/projections/units/session-stats.js +30 -9
  238. package/node_modules/@xrkseek/server-face/dist/projections/units/session-stats.js.map +1 -1
  239. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts +6 -0
  240. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  241. package/node_modules/@xrkseek/server-face/dist/runtime.js +38 -7
  242. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  243. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts +0 -2
  244. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
  245. package/node_modules/@xrkseek/server-face/dist/session-status.js +143 -37
  246. package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
  247. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  248. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +6 -9
  249. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  250. package/node_modules/@xrkseek/server-face/dist/slash.d.ts.map +1 -1
  251. package/node_modules/@xrkseek/server-face/dist/slash.js +20 -5
  252. package/node_modules/@xrkseek/server-face/dist/slash.js.map +1 -1
  253. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts +13 -0
  254. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  255. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +82 -5
  256. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  257. package/node_modules/@xrkseek/server-face/dist/types.d.ts +12 -0
  258. package/node_modules/@xrkseek/server-face/dist/types.d.ts.map +1 -1
  259. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts +2 -0
  260. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts.map +1 -1
  261. package/node_modules/@xrkseek/server-face/dist/workspace-face.js +85 -8
  262. package/node_modules/@xrkseek/server-face/dist/workspace-face.js.map +1 -1
  263. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts +30 -3
  264. package/node_modules/@xrkseek/server-face/dist/workspace-registry.d.ts.map +1 -1
  265. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js +87 -17
  266. package/node_modules/@xrkseek/server-face/dist/workspace-registry.js.map +1 -1
  267. package/node_modules/@xrkseek/server-face/dist/workspace-store.d.ts +2 -0
  268. package/node_modules/@xrkseek/server-face/dist/workspace-store.d.ts.map +1 -1
  269. package/node_modules/@xrkseek/server-face/dist/workspace-store.js +4 -0
  270. package/node_modules/@xrkseek/server-face/dist/workspace-store.js.map +1 -1
  271. package/node_modules/@xrkseek/server-host/dist/auto-review-bridge.d.ts +5 -0
  272. package/node_modules/@xrkseek/server-host/dist/auto-review-bridge.d.ts.map +1 -1
  273. package/node_modules/@xrkseek/server-host/dist/auto-review-bridge.js +3 -2
  274. package/node_modules/@xrkseek/server-host/dist/auto-review-bridge.js.map +1 -1
  275. package/node_modules/@xrkseek/server-host/dist/index.d.ts +6 -2
  276. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  277. package/node_modules/@xrkseek/server-host/dist/index.js +148 -17
  278. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  279. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.d.ts.map +1 -1
  280. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js +6 -3
  281. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js.map +1 -1
  282. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.d.ts.map +1 -1
  283. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.js +3 -0
  284. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-providers.js.map +1 -1
  285. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts +12 -0
  286. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts.map +1 -1
  287. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.d.ts +168 -4
  288. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.d.ts.map +1 -1
  289. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.js +466 -13
  290. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.js.map +1 -1
  291. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-history.d.ts +53 -0
  292. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-history.d.ts.map +1 -0
  293. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-history.js +177 -0
  294. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-history.js.map +1 -0
  295. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-http.d.ts +45 -2
  296. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-http.d.ts.map +1 -1
  297. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-http.js +148 -10
  298. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-http.js.map +1 -1
  299. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-tool-pre.d.ts +123 -0
  300. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-tool-pre.d.ts.map +1 -0
  301. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-tool-pre.js +299 -0
  302. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-tool-pre.js.map +1 -0
  303. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts +5 -3
  304. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts.map +1 -1
  305. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js +4 -2
  306. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js.map +1 -1
  307. package/node_modules/@xrkseek/server-http/dist/index.d.ts +1 -1
  308. package/node_modules/@xrkseek/server-http/dist/index.d.ts.map +1 -1
  309. package/node_modules/@xrkseek/server-http/dist/index.js +1 -1
  310. package/node_modules/@xrkseek/server-http/dist/index.js.map +1 -1
  311. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-prefs-store.d.ts.map +1 -1
  312. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-prefs-store.js +3 -1
  313. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-prefs-store.js.map +1 -1
  314. package/node_modules/@xrkseek/server-http/package.json +46 -44
  315. package/node_modules/@xrkseek/workspace/dist/skill-propose.d.ts.map +1 -1
  316. package/node_modules/@xrkseek/workspace/dist/skill-propose.js +1 -2
  317. package/node_modules/@xrkseek/workspace/dist/skill-propose.js.map +1 -1
  318. package/node_modules/@xrkseek/workspace/dist/skill-tools.js +1 -1
  319. package/node_modules/@xrkseek/workspace/dist/skill-tools.js.map +1 -1
  320. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAoClD,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAwO7B,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAElE;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,eAAe,CAAC,CAkB1B"}
1
+ {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAsClD,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AA0O7B,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAElE;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,eAAe,CAAC,CAkB1B"}
@@ -1,5 +1,5 @@
1
1
  import { errResponse, okResponse } from "./wire/envelope.js";
2
- import { workspaceArchiveSessionFace, workspaceUnarchiveSessionFace, workspacePinSessionFace, workspaceUnpinSessionFace, workspaceCreateFace, workspaceDeleteFace, workspaceDescribe, workspaceInsertBeforeFace, workspaceInsertSessionBeforeFace, workspaceListFace, workspaceListProduct, workspacePreviewInject, workspaceRenameFace, } from "./workspace-face.js";
2
+ import { workspaceArchiveSessionFace, workspaceUnarchiveSessionFace, workspacePinSessionFace, workspaceUnpinSessionFace, workspacePinWorkspaceFace, workspaceUnpinWorkspaceFace, workspaceCreateFace, workspaceDeleteFace, workspaceDescribe, workspaceInsertBeforeFace, workspaceInsertSessionBeforeFace, workspaceListFace, workspaceListProduct, workspacePreviewInject, workspaceRenameFace, } from "./workspace-face.js";
3
3
  import { credentialsDescribe, credentialsList, credentialsSet, credentialsUnset, settingsDescribeFace, settingsGet, settingsMutateFace, settingsReplaceFace, settingsOpenDocument, settingsSet, settingsUpdateFace, } from "./settings-credentials.js";
4
4
  import { mcpOauthLogin, mcpOauthLogout, mcpOauthStatus, } from "./mcp-oauth.js";
5
5
  import { skillList } from "./skill-list.js";
@@ -65,6 +65,8 @@ const HANDLERS = {
65
65
  "workspace.unarchiveSession": bindPayload(workspaceUnarchiveSessionFace),
66
66
  "workspace.pinSession": bindPayload(workspacePinSessionFace),
67
67
  "workspace.unpinSession": bindPayload(workspaceUnpinSessionFace),
68
+ "workspace.pinWorkspace": bindPayload(workspacePinWorkspaceFace),
69
+ "workspace.unpinWorkspace": bindPayload(workspaceUnpinWorkspaceFace),
68
70
  "workspace.delete": bindPayload(workspaceDeleteFace),
69
71
  "workspace.insertBefore": bindPayload(workspaceInsertBeforeFace),
70
72
  "workspace.insertSessionBefore": bindPayload(workspaceInsertSessionBeforeFace),
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,10 @@ export type DurablePromptResult = {
26
26
  readonly code: string;
27
27
  readonly message: string;
28
28
  };
29
+ /** Image numbering base for this message: count of images already admitted in the session. */
30
+ export type DurablePromptOptions = {
31
+ readonly imageStartIndex?: number;
32
+ };
29
33
  /** True when content has a non-text part or non-whitespace text (attachment-only OK). */
30
34
  export declare function hasPromptContent(parts: readonly PromptWirePart[]): boolean;
31
35
  /**
@@ -33,5 +37,14 @@ export declare function hasPromptContent(parts: readonly PromptWirePart[]): bool
33
37
  * - all text → string (legacy-friendly)
34
38
  * - any image/file → ContentBlock[] after AttachmentStore admission
35
39
  */
36
- export declare function durablePromptContent(parts: readonly PromptWirePart[], attachments: AttachmentStore): Promise<DurablePromptResult>;
40
+ export declare function durablePromptContent(parts: readonly PromptWirePart[], attachments: AttachmentStore, options?: DurablePromptOptions): Promise<DurablePromptResult>;
41
+ /**
42
+ * Session-wide image numbering base for the next admit:
43
+ * count of durable image blocks already present in user/prompt events.
44
+ * Stable across restarts (derived from the event log, not runtime memory).
45
+ */
46
+ export declare function sessionImageStartIndex(events: readonly {
47
+ type: string;
48
+ content?: unknown;
49
+ }[]): number;
37
50
  //# sourceMappingURL=durable-prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"durable-prompt.d.ts","sourceRoot":"","sources":["../src/durable-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,KAAK,EAGV,cAAc,EACf,MAAM,mBAAmB,CAAC;AAG3B,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GACvD;IACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEN,yFAAyF;AACzF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAI1E;AAoBD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,WAAW,EAAE,eAAe,GAC3B,OAAO,CAAC,mBAAmB,CAAC,CA2I9B"}
1
+ {"version":3,"file":"durable-prompt.d.ts","sourceRoot":"","sources":["../src/durable-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,KAAK,EAGV,cAAc,EACf,MAAM,mBAAmB,CAAC;AAG3B,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GACvD;IACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEN,8FAA8F;AAC9F,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,yFAAyF;AACzF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAI1E;AAoBD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAsJ9B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,GACrD,MAAM,CAeR"}
@@ -31,7 +31,7 @@ function mapAttachmentError(err) {
31
31
  * - all text → string (legacy-friendly)
32
32
  * - any image/file → ContentBlock[] after AttachmentStore admission
33
33
  */
34
- export async function durablePromptContent(parts, attachments) {
34
+ export async function durablePromptContent(parts, attachments, options = {}) {
35
35
  if (parts.length === 0) {
36
36
  return { ok: false, code: "invalid-payload", message: "content required" };
37
37
  }
@@ -141,14 +141,49 @@ export async function durablePromptContent(parts, attachments) {
141
141
  continue;
142
142
  }
143
143
  if (p.kind === "image") {
144
- blocks.push({ type: "image", attachment: imageRefs[imageIndex++] });
144
+ const ref = imageRefs[imageIndex++];
145
+ const imageNo = (options.imageStartIndex ?? 0) + imageIndex;
146
+ blocks.push({
147
+ type: "text",
148
+ text: `[图${imageNo} ${ref.attachmentId}(${ref.width}×${ref.height} ${ref.mediaType})。视觉模型直接看块;若未渲染或需细看,用 read_image file_path=attachment:${ref.attachmentId} 读取]`,
149
+ });
150
+ blocks.push({ type: "image", attachment: ref });
145
151
  continue;
146
152
  }
147
- blocks.push({ type: "file", attachment: fileRefs[fileIndex++] });
153
+ const ref = fileRefs[fileIndex++];
154
+ blocks.push({
155
+ type: "text",
156
+ text: `[文件附件 ${ref.name}(${ref.attachmentId})。需内容时用 read_file 按 id 读取]`,
157
+ });
158
+ blocks.push({ type: "file", attachment: ref });
148
159
  }
149
160
  if (blocks.length === 0) {
150
161
  return { ok: false, code: "invalid-payload", message: "empty content" };
151
162
  }
152
163
  return { ok: true, content: blocks };
153
164
  }
165
+ /**
166
+ * Session-wide image numbering base for the next admit:
167
+ * count of durable image blocks already present in user/prompt events.
168
+ * Stable across restarts (derived from the event log, not runtime memory).
169
+ */
170
+ export function sessionImageStartIndex(events) {
171
+ let count = 0;
172
+ for (const ev of events) {
173
+ if (ev.type !== "user/message" && ev.type !== "prompt/admitted")
174
+ continue;
175
+ const content = ev.content;
176
+ if (typeof content !== "object" || content === null)
177
+ continue;
178
+ const blocks = content;
179
+ if (!Array.isArray(blocks))
180
+ continue;
181
+ for (const block of blocks) {
182
+ if (block?.type === "image" && typeof block.attachment?.attachmentId === "string") {
183
+ count += 1;
184
+ }
185
+ }
186
+ }
187
+ return count;
188
+ }
154
189
  //# sourceMappingURL=durable-prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"durable-prompt.js","sourceRoot":"","sources":["../src/durable-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-prompt.js","sourceRoot":"","sources":["../src/durable-prompt.ts"],"names":[],"mappings":"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"}
@@ -29,9 +29,22 @@ export declare const FACE_FONT_SIZE_DEFAULT = 14;
29
29
  * @returns error message, or undefined when absent / valid.
30
30
  */
31
31
  export declare function validateFaceFontSize(fontSize: unknown): string | undefined;
32
- /** Same preset ids as the permission-presets settings row enum. */
32
+ /** Same preset ids as the permission-presets settings row enum (configured table). */
33
33
  export declare const FACE_PERMISSION_PRESETS: readonly ["read-only", "workspace-write", "danger-full-access"];
34
34
  export type FacePermissionPreset = (typeof FACE_PERMISSION_PRESETS)[number];
35
+ /**
36
+ * Settings → Permissions `defaultPreset` choices (future sessions only).
37
+ * Identical to {@link FACE_PERMISSION_PRESETS}: Auto is session-catalog-only
38
+ * (DSH: General settings never offer Auto).
39
+ */
40
+ export declare const FACE_PERMISSION_SETTINGS_PRESETS: readonly ["read-only", "workspace-write", "danger-full-access"];
41
+ /** Canonical identity of the Auto (per-call review) preset — DSH `AUTO_PRESET`. */
42
+ export declare const AUTO_PERMISSION_PRESET: "auto";
43
+ /**
44
+ * `defaultPreset` Settings schema — configured presets only (no `auto`).
45
+ * Current-session Access / `/permission` may still list Auto while Guardian
46
+ * `registerAuto` is live.
47
+ */
35
48
  export declare const FACE_PERMISSION_SCHEMA: FaceSchemaEnvelope;
36
49
  /**
37
50
  * Face MCP desired servers. `connected` / `parked` are live overlays.
@@ -1 +1 @@
1
- {"version":3,"file":"face-schema.d.ts","sourceRoot":"","sources":["../src/face-schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;CACzD;AAED,eAAO,MAAM,wBAAwB,EAAE,kBAGtC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAMpC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,kBAQhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,kBAW/B,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAW1E;AAED,mEAAmE;AACnE,eAAO,MAAM,uBAAuB,iEAI1B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,eAAO,MAAM,sBAAsB,EAAE,kBAqBpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,kBAgD7B,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,oBAAoB,CAK/B"}
1
+ {"version":3,"file":"face-schema.d.ts","sourceRoot":"","sources":["../src/face-schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;CACzD;AAED,eAAO,MAAM,wBAAwB,EAAE,kBAGtC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAMpC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,kBAQhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,kBAW/B,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAW1E;AAED,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,iEAI1B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,iEAA0B,CAAC;AAExE,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,EAAG,MAAe,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,kBAqBpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,kBAgD7B,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,oBAAoB,CAK/B"}
@@ -53,12 +53,25 @@ export function validateFaceFontSize(fontSize) {
53
53
  }
54
54
  return undefined;
55
55
  }
56
- /** Same preset ids as the permission-presets settings row enum. */
56
+ /** Same preset ids as the permission-presets settings row enum (configured table). */
57
57
  export const FACE_PERMISSION_PRESETS = [
58
58
  "read-only",
59
59
  "workspace-write",
60
60
  "danger-full-access",
61
61
  ];
62
+ /**
63
+ * Settings → Permissions `defaultPreset` choices (future sessions only).
64
+ * Identical to {@link FACE_PERMISSION_PRESETS}: Auto is session-catalog-only
65
+ * (DSH: General settings never offer Auto).
66
+ */
67
+ export const FACE_PERMISSION_SETTINGS_PRESETS = FACE_PERMISSION_PRESETS;
68
+ /** Canonical identity of the Auto (per-call review) preset — DSH `AUTO_PRESET`. */
69
+ export const AUTO_PERMISSION_PRESET = "auto";
70
+ /**
71
+ * `defaultPreset` Settings schema — configured presets only (no `auto`).
72
+ * Current-session Access / `/permission` may still list Auto while Guardian
73
+ * `registerAuto` is live.
74
+ */
62
75
  export const FACE_PERMISSION_SCHEMA = {
63
76
  uid: 5,
64
77
  refs: {
@@ -1 +1 @@
1
- {"version":3,"file":"face-schema.js","sourceRoot":"","sources":["../src/face-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"face-schema.js","sourceRoot":"","sources":["../src/face-schema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,12 @@
1
+ import { type ShellService } from "@xrkseek/exec-shell";
1
2
  import { type FaceHandler } from "./types.js";
3
+ /**
4
+ * Stop every live job owned by `sessionId` (best-effort).
5
+ * Turn abort only cancels work still bound to the current tool signal —
6
+ * yielded / backgrounded bash keeps running unless we kill here, which is
7
+ * why Stop had to be clicked repeatedly while toasts kept floating.
8
+ */
9
+ export declare function killLiveSessionJobs(shell: ShellService | undefined, sessionId: string): void;
2
10
  export declare const jobKill: FaceHandler;
3
11
  export declare const jobBackground: FaceHandler;
4
12
  //# sourceMappingURL=job.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/handlers/job.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAoCxD,eAAO,MAAM,OAAO,EAAE,WAkBrB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WA2B3B,CAAC"}
1
+ {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/handlers/job.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AA4BxD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,GAAG,SAAS,EAC/B,SAAS,EAAE,MAAM,GAChB,IAAI,CAON;AAUD,eAAO,MAAM,OAAO,EAAE,WAkBrB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WA2B3B,CAAC"}
@@ -19,6 +19,22 @@ function scopedShell(shell, sessionId) {
19
19
  return undefined;
20
20
  return createSessionScopedShell(shell, sessionId);
21
21
  }
22
+ /**
23
+ * Stop every live job owned by `sessionId` (best-effort).
24
+ * Turn abort only cancels work still bound to the current tool signal —
25
+ * yielded / backgrounded bash keeps running unless we kill here, which is
26
+ * why Stop had to be clicked repeatedly while toasts kept floating.
27
+ */
28
+ export function killLiveSessionJobs(shell, sessionId) {
29
+ const scoped = scopedShell(shell, sessionId);
30
+ if (!scoped)
31
+ return;
32
+ for (const job of scoped.listJobsNow()) {
33
+ if (job.status !== "running" && job.status !== "stopping")
34
+ continue;
35
+ void scoped.killJob(job.id, "session-cancel").catch(() => undefined);
36
+ }
37
+ }
22
38
  const jobHostUnavailable = {
23
39
  ok: false,
24
40
  error: {
@@ -1 +1 @@
1
- {"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/handlers/job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/handlers/job.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AA2CxD,eAAO,MAAM,aAAa,EAAE,WAwH3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WA8CzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WAkF5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAI3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAuJ3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAgD3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,WAkF3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAc3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,WAUhC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WA0HzB,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,WAwCpC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAkC3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,WA+HhC,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,WAmB3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,WA6CjC,CAAC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/handlers/session.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AA4CxD,eAAO,MAAM,aAAa,EAAE,WAoI3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WA8CzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WAkF5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAI3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WA8J3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAsD3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,WAkF3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAc3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,WAUhC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WAmJzB,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,WAwCpC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAkC3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,WAiLhC,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,WAmB3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,WA6CjC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { AdmitNotPendingError, listPendingAdmits, readSessionEvents, sessionEventCount, withdrawAdmit, } from "@xrkseek/core-session";
2
- import {} from "@xrkseek/protocol";
2
+ import { flattenText } from "@xrkseek/protocol";
3
3
  import { FACE_AGENT_PRESET_IDS, canonicalAgentPresetId, resolveAgentPresetProfile, } from "../presets-catalog.js";
4
4
  import { toWireHistoryEntry, collectToolCallArgsForPage, routeFromRequestHeader } from "../adapt/index.js";
5
5
  import { rewritePendingAdmit } from "../update-queue-rewrite.js";
@@ -8,8 +8,9 @@ import { tryFaceSlashCommand } from "../slash.js";
8
8
  import { commitPlanMode } from "../plan-mode.js";
9
9
  import { SessionTitleInvalidError } from "../projections/index.js";
10
10
  import { parseSearchQuery, searchSessions } from "../session-search.js";
11
- import { durablePromptContent, hasPromptContent, } from "../durable-prompt.js";
11
+ import { durablePromptContent, hasPromptContent, sessionImageStartIndex, } from "../durable-prompt.js";
12
12
  import { asRecord } from "./types.js";
13
+ import { killLiveSessionJobs } from "./job.js";
13
14
  import { publishSessionAdded } from "./session-added.js";
14
15
  import { defaultPermissionPreset, pinInitialPermission, } from "../permissions.js";
15
16
  import { resolveDefaultAgentPreset } from "../settings-document.js";
@@ -104,7 +105,19 @@ export const sessionCreate = async (runtime, _rpcId, payload) => {
104
105
  });
105
106
  }
106
107
  const bound = runtime.sessionAgentPresets.get(sessionId) ?? agentPreset;
107
- pinInitialPermission(runtime.store, sessionId, defaultPermissionPreset(runtime));
108
+ try {
109
+ pinInitialPermission(runtime.store, sessionId, defaultPermissionPreset(runtime), { autoGate: runtime.permissionAuto });
110
+ }
111
+ catch (err) {
112
+ runtime.store.delete?.(sessionId);
113
+ return {
114
+ ok: false,
115
+ error: {
116
+ code: "invalid-payload",
117
+ message: err instanceof Error ? err.message : String(err),
118
+ },
119
+ };
120
+ }
108
121
  const boundPreset = runtime.sessionAgentPresets.get(sessionId) ??
109
122
  canonicalAgentPresetId(resolveDefaultAgentPreset(runtime));
110
123
  if (!parentSessionId &&
@@ -362,7 +375,10 @@ export const sessionPrompt = async (runtime, rpcId, payload) => {
362
375
  }
363
376
  let admitContent;
364
377
  if (hasAttachment) {
365
- const durable = await durablePromptContent(parts, runtime.attachments);
378
+ const startIndex = sessionImageStartIndex(readSessionEvents(runtime.store, sessionId));
379
+ const durable = await durablePromptContent(parts, runtime.attachments, {
380
+ imageStartIndex: startIndex,
381
+ });
366
382
  if (!durable.ok) {
367
383
  return {
368
384
  ok: false,
@@ -394,7 +410,9 @@ export const sessionPrompt = async (runtime, rpcId, payload) => {
394
410
  delivery: mode === "steer" ? "steer" : "queue",
395
411
  admitId,
396
412
  });
397
- runtime.pendingUserRpc.set(sessionId, echoRpc);
413
+ // Echo rpcId is stamped on promote (admitRpcMap → pendingUserRpc FIFO), not
414
+ // here: a prompt-time write raced with in-flight injects and stole the prior
415
+ // admit's pending slot (stuck local echo / blue waiting chrome).
398
416
  runtime.publishQueue(sessionId);
399
417
  runtime.drain.wake(sessionId);
400
418
  return { ok: true, value: { accepted: true } };
@@ -426,7 +444,12 @@ export const sessionCancel = async (runtime, _rpcId, payload) => {
426
444
  catch {
427
445
  /* ignore */
428
446
  }
429
- // 2) Cascade to delegated children (fire-and-forget). A stopped parent
447
+ // 2) Kill yielded / background shell jobs for this session. Turn abort
448
+ // alone leaves them alive (signal was only wired while the tool wait
449
+ // owned them), which resurfaces as Stop needing multiple clicks and
450
+ // floating "background job finished" toasts.
451
+ killLiveSessionJobs(runtime.shell, sessionId);
452
+ // 3) Cascade to delegated children (fire-and-forget). A stopped parent
430
453
  // must not leave orphaned subagents draining: each child cancel is
431
454
  // itself a sessionCancel — optimistic running:false + bounded join —
432
455
  // and the tree walk is depth-bounded by the subagent registry.
@@ -436,13 +459,14 @@ export const sessionCancel = async (runtime, _rpcId, payload) => {
436
459
  void sessionCancel(runtime, `tool-sa-c-${link.childSessionId}`, { sessionId: link.childSessionId, cascade: true }).catch(() => undefined);
437
460
  }
438
461
  }
439
- // 3) Bounded drain join: the latch keeps its entry on timeout, so a
440
- // message admitted during teardown still drains once the stuck chain
441
- // settles (wake accumulates on the stopping entry).
442
- await runtime.drain.cancel(sessionId, {
462
+ // 4) Bounded drain join in the background. Returning accepted here unblocks
463
+ // the client Stop click immediately; Host already published running:false
464
+ // and aborted the turn. The latch keeps its entry on timeout so a message
465
+ // admitted during teardown still drains once the stuck chain settles.
466
+ void runtime.drain.cancel(sessionId, {
443
467
  cause: { kind: "user" },
444
468
  timeoutMs: SESSION_CANCEL_JOIN_MS,
445
- });
469
+ }).catch(() => undefined);
446
470
  return { ok: true, value: { accepted: true } };
447
471
  };
448
472
  /**
@@ -604,9 +628,15 @@ export const sessionFork = async (runtime, _rpcId, payload) => {
604
628
  }
605
629
  const child = runtime.forkSession(sessionId, cut.cut, preferredChild);
606
630
  const seed = readSessionEvents(runtime.store, child.id);
607
- // Model route from the seed prefix only — never copy the parent's live map
608
- // (post-turn selectModel must not leak into the child).
609
- const seedModel = modelSelectionFromPrefix(seed);
631
+ // Turn-cut forks (`atSeq`): seed from the prefix only — a selectModel made
632
+ // after the cut must not leak into an exploratory branch.
633
+ // Edit-resubmit forks (`beforeSeq`): prefer the parent's live composer
634
+ // selection so a recovery switch (broken API key → another route) survives
635
+ // into the child; fall back to the prefix when the parent never overrode.
636
+ const parentLive = runtime.sessionModels.get(sessionId);
637
+ const seedModel = beforeSeq !== undefined
638
+ ? (parentLive ?? modelSelectionFromPrefix(seed))
639
+ : modelSelectionFromPrefix(seed);
610
640
  if (seedModel) {
611
641
  runtime.sessionModels.set(child.id, { ...seedModel });
612
642
  }
@@ -620,6 +650,20 @@ export const sessionFork = async (runtime, _rpcId, payload) => {
620
650
  pinSessionAgentPreset(runtime, child.id, canonicalAgentPresetId(resolveDefaultAgentPreset(runtime)));
621
651
  }
622
652
  runtime.watchSession(child.id);
653
+ // Fork seed may carry Auto — refuse without live Guardian (DSH pinInitial).
654
+ try {
655
+ pinInitialPermission(runtime.store, child.id, defaultPermissionPreset(runtime), { autoGate: runtime.permissionAuto });
656
+ }
657
+ catch (err) {
658
+ runtime.store.delete?.(child.id);
659
+ return {
660
+ ok: false,
661
+ error: {
662
+ code: "invalid-payload",
663
+ message: err instanceof Error ? err.message : String(err),
664
+ },
665
+ };
666
+ }
623
667
  const parentCwd = runtime.sessionCwds.get(sessionId);
624
668
  if (parentCwd)
625
669
  runtime.sessionCwds.set(child.id, parentCwd);
@@ -808,23 +852,65 @@ export const sessionUpdateQueue = async (runtime, _rpcId, payload) => {
808
852
  }
809
853
  else if (kind === "edit") {
810
854
  const content = action.content;
811
- if (!Array.isArray(content)) {
855
+ if (!Array.isArray(content) || content.length === 0) {
812
856
  return {
813
857
  ok: false,
814
858
  error: { code: "invalid-payload", message: "edit.content required" },
815
859
  };
816
860
  }
817
- const text = content
818
- .filter((x) => x?.type === "text")
819
- .map((x) => x.text ?? "")
820
- .join("");
821
- if (!text.trim()) {
822
- return {
823
- ok: false,
824
- error: { code: "invalid-payload", message: "edit text empty" },
825
- };
861
+ const parts = content;
862
+ const needsDurable = parts.some((p) => (p.type === "image" || p.type === "file") &&
863
+ typeof p.data === "string");
864
+ let nextContent;
865
+ if (needsDurable) {
866
+ if (!runtime.attachments) {
867
+ return {
868
+ ok: false,
869
+ error: {
870
+ code: "attachment-unavailable",
871
+ message: "attachment store not configured",
872
+ },
873
+ };
874
+ }
875
+ const startIndex = sessionImageStartIndex(readSessionEvents(runtime.store, sessionId));
876
+ const durable = await durablePromptContent(parts, runtime.attachments, { imageStartIndex: startIndex });
877
+ if (!durable.ok) {
878
+ return {
879
+ ok: false,
880
+ error: { code: durable.code, message: durable.message },
881
+ };
882
+ }
883
+ nextContent = durable.content;
884
+ }
885
+ else {
886
+ // Durable ContentBlock[] (keep existing image/file refs) or text-only.
887
+ const blocks = parts.filter((p) => typeof p.type === "string");
888
+ const onlyText = blocks.every((p) => p.type === "text");
889
+ if (onlyText) {
890
+ const text = blocks
891
+ .map((p) => (typeof p.text === "string" ? p.text : ""))
892
+ .join("");
893
+ if (!text.trim()) {
894
+ return {
895
+ ok: false,
896
+ error: { code: "invalid-payload", message: "edit text empty" },
897
+ };
898
+ }
899
+ nextContent = text;
900
+ }
901
+ else {
902
+ nextContent = blocks;
903
+ const flat = flattenText(nextContent);
904
+ const hasAtt = blocks.some((p) => p.type === "image" || p.type === "file");
905
+ if (!flat.trim() && !hasAtt) {
906
+ return {
907
+ ok: false,
908
+ error: { code: "invalid-payload", message: "edit content empty" },
909
+ };
910
+ }
911
+ }
826
912
  }
827
- rewritePendingAdmit(runtime.store, sessionId, itemId, text, target.delivery, maps);
913
+ rewritePendingAdmit(runtime.store, sessionId, itemId, nextContent, target.delivery, maps);
828
914
  }
829
915
  else {
830
916
  return {