@code-yeongyu/senpi 2026.9.26 → 2026.9.27-3

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 (404) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/dist/bun-runtime.d.ts +18 -2
  3. package/dist/bun-runtime.d.ts.map +1 -1
  4. package/dist/bun-runtime.js +60 -8
  5. package/dist/bun-runtime.js.map +1 -1
  6. package/dist/bundle/chunks/anthropic-messages-3FGAXYJS.js +8 -0
  7. package/dist/bundle/chunks/{app-server-command-ZRCKWY2X.js → app-server-command-ZVB35UIJ.js} +1 -1
  8. package/dist/bundle/chunks/azure-openai-responses-4SUOOZZ4.js +2 -0
  9. package/dist/bundle/chunks/bun-extension-importer-R4HXF3GD.js +14 -0
  10. package/dist/bundle/chunks/{chunk-KMJXSXRX.js → chunk-357I4IUU.js} +2 -2
  11. package/dist/bundle/chunks/chunk-3SIQIY57.js +8 -0
  12. package/dist/bundle/chunks/chunk-45SZOLCU.js +2 -0
  13. package/dist/bundle/chunks/{chunk-77ACEMYL.js → chunk-6J6RDMBY.js} +1 -1
  14. package/dist/bundle/chunks/{chunk-BSOJHK4W.js → chunk-7FXXRPB3.js} +2 -1
  15. package/dist/bundle/chunks/{chunk-FD34HSJJ.js → chunk-C6LQNMRB.js} +1 -1
  16. package/dist/bundle/chunks/chunk-ELM77A26.js +2 -0
  17. package/dist/bundle/chunks/chunk-GZVCRV7I.js +3 -0
  18. package/dist/bundle/chunks/{chunk-TTY5BHCG.js → chunk-H2SGCPMD.js} +1 -1
  19. package/dist/bundle/chunks/chunk-KLBKUBDV.js +2 -0
  20. package/dist/bundle/chunks/chunk-L6QV7NZI.js +2 -0
  21. package/dist/bundle/chunks/{chunk-ZKZAATFM.js → chunk-LDB5UMH2.js} +2 -2
  22. package/dist/bundle/chunks/{chunk-HZAKOVHN.js → chunk-LGKKU4VM.js} +1 -1
  23. package/dist/bundle/chunks/{chunk-6Q6DGME2.js → chunk-NMDALHXH.js} +1 -1
  24. package/dist/bundle/chunks/chunk-NNILBBOH.js +18 -0
  25. package/dist/bundle/chunks/{chunk-SUQDU5KM.js → chunk-OQRUK2DK.js} +1 -1
  26. package/dist/bundle/chunks/{chunk-OZCB6BP3.js → chunk-OZN2KUPR.js} +7 -7
  27. package/dist/bundle/chunks/{chunk-X3T45623.js → chunk-QK4QKRTF.js} +1 -1
  28. package/dist/bundle/chunks/{chunk-WM5FVFAP.js → chunk-QPZVJQC5.js} +1 -1
  29. package/dist/bundle/chunks/{chunk-Y54V65MS.js → chunk-QYAO24GB.js} +1 -1
  30. package/dist/bundle/chunks/{chunk-MKAM7IRH.js → chunk-RULGEHQM.js} +1 -1
  31. package/dist/bundle/chunks/{chunk-QGC46CGK.js → chunk-RYI6XR6Z.js} +63 -58
  32. package/dist/bundle/chunks/chunk-U3VOXCGP.js +2 -0
  33. package/dist/bundle/chunks/chunk-W3D3ZYDS.js +2 -0
  34. package/dist/bundle/chunks/{chunk-UBPMXBOJ.js → chunk-XKLR7C5B.js} +1 -1
  35. package/dist/bundle/chunks/{chunk-CLZVNQW3.js → chunk-Y7EIVDHZ.js} +1 -1
  36. package/dist/bundle/chunks/chunk-ZIVYE5YK.js +2 -0
  37. package/dist/bundle/chunks/cli-main-RONHLFWZ.js +3 -0
  38. package/dist/bundle/chunks/google-generative-ai-ZTGKZTGU.js +2 -0
  39. package/dist/bundle/chunks/google-vertex-CCZ376YK.js +2 -0
  40. package/dist/bundle/chunks/help-fast-path-5LRG6FCG.js +2 -0
  41. package/dist/bundle/chunks/host-command-JVPGQR74.js +2 -0
  42. package/dist/bundle/chunks/host-lifecycle-R4HLXLBM.js +3 -0
  43. package/dist/bundle/chunks/host-lifecycle.js +4 -4
  44. package/dist/bundle/chunks/interactive-host-runtime-FES2G62G.js +4 -0
  45. package/dist/bundle/chunks/interactive-mode-45EP2FVL.js +2 -0
  46. package/dist/bundle/chunks/{list-tips-EBRNBPBM.js → list-tips-XXMRDHN6.js} +1 -1
  47. package/dist/bundle/chunks/{multi-session-host-7YX2I7UK.js → multi-session-host-EFCMD5OT.js} +6 -6
  48. package/dist/bundle/chunks/{openai-completions-4CLXDDHJ.js → openai-completions-OP6VFNUR.js} +1 -1
  49. package/dist/bundle/chunks/openai-images-6U5FCN5S.js +2 -0
  50. package/dist/bundle/chunks/openai-responses-7PWMBGYX.js +2 -0
  51. package/dist/bundle/chunks/openrouter-images-QIKWQZUD.js +2 -0
  52. package/dist/bundle/chunks/{package-manager-cli-3ISYTEL2.js → package-manager-cli-5XJS3TYM.js} +1 -1
  53. package/dist/bundle/chunks/rotation-stream-KW7PTEC4.js +2 -0
  54. package/dist/bundle/chunks/rpc-mode-ZHYECU24.js +2 -0
  55. package/dist/bundle/chunks/session-picker-QHIYVQP4.js +2 -0
  56. package/dist/bundle/chunks/session-worker.js +281 -270
  57. package/dist/bundle/chunks/{state-store-Q5EWEAFG.js → state-store-D4GGGT3J.js} +1 -1
  58. package/dist/bundle/cli.js +1 -1
  59. package/dist/bundle/index.js +1 -1
  60. package/dist/bundle/rpc-entry.js +1 -1
  61. package/dist/cli/args.d.ts +1 -0
  62. package/dist/cli/args.d.ts.map +1 -1
  63. package/dist/cli/args.js +4 -0
  64. package/dist/cli/args.js.map +1 -1
  65. package/dist/cli/continue-moved.d.ts +15 -0
  66. package/dist/cli/continue-moved.d.ts.map +1 -0
  67. package/dist/cli/continue-moved.js +26 -0
  68. package/dist/cli/continue-moved.js.map +1 -0
  69. package/dist/cli/cross-project-session.d.ts +22 -0
  70. package/dist/cli/cross-project-session.d.ts.map +1 -0
  71. package/dist/cli/cross-project-session.js +38 -0
  72. package/dist/cli/cross-project-session.js.map +1 -0
  73. package/dist/core/agent-session-runtime.d.ts +3 -0
  74. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  75. package/dist/core/agent-session-runtime.js +43 -10
  76. package/dist/core/agent-session-runtime.js.map +1 -1
  77. package/dist/core/agent-session.d.ts.map +1 -1
  78. package/dist/core/agent-session.js +19 -5
  79. package/dist/core/agent-session.js.map +1 -1
  80. package/dist/core/extensions/builtin/anthropic-subscription/session-registry-pump.d.ts.map +1 -1
  81. package/dist/core/extensions/builtin/anthropic-subscription/session-registry-pump.js +5 -1
  82. package/dist/core/extensions/builtin/anthropic-subscription/session-registry-pump.js.map +1 -1
  83. package/dist/core/extensions/builtin/anthropic-subscription/session-turn-claim.d.ts +13 -1
  84. package/dist/core/extensions/builtin/anthropic-subscription/session-turn-claim.d.ts.map +1 -1
  85. package/dist/core/extensions/builtin/anthropic-subscription/session-turn-claim.js +25 -2
  86. package/dist/core/extensions/builtin/anthropic-subscription/session-turn-claim.js.map +1 -1
  87. package/dist/core/extensions/builtin/anthropic-subscription/session-turn-types.d.ts +1 -0
  88. package/dist/core/extensions/builtin/anthropic-subscription/session-turn-types.d.ts.map +1 -1
  89. package/dist/core/extensions/builtin/anthropic-subscription/session-turn-types.js.map +1 -1
  90. package/dist/core/extensions/builtin/index.d.ts.map +1 -1
  91. package/dist/core/extensions/builtin/index.js +2 -0
  92. package/dist/core/extensions/builtin/index.js.map +1 -1
  93. package/dist/core/extensions/builtin/mcp/catalog.d.ts +3 -0
  94. package/dist/core/extensions/builtin/mcp/catalog.d.ts.map +1 -1
  95. package/dist/core/extensions/builtin/mcp/catalog.js +9 -0
  96. package/dist/core/extensions/builtin/mcp/catalog.js.map +1 -1
  97. package/dist/core/extensions/builtin/mcp/connection-types.d.ts +2 -0
  98. package/dist/core/extensions/builtin/mcp/connection-types.d.ts.map +1 -1
  99. package/dist/core/extensions/builtin/mcp/connection-types.js.map +1 -1
  100. package/dist/core/extensions/builtin/mcp/connection.d.ts +1 -1
  101. package/dist/core/extensions/builtin/mcp/connection.d.ts.map +1 -1
  102. package/dist/core/extensions/builtin/mcp/connection.js +3 -2
  103. package/dist/core/extensions/builtin/mcp/connection.js.map +1 -1
  104. package/dist/core/extensions/builtin/mcp/expose/session.d.ts +3 -0
  105. package/dist/core/extensions/builtin/mcp/expose/session.d.ts.map +1 -1
  106. package/dist/core/extensions/builtin/mcp/expose/session.js +9 -2
  107. package/dist/core/extensions/builtin/mcp/expose/session.js.map +1 -1
  108. package/dist/core/extensions/builtin/mcp/service-register.d.ts.map +1 -1
  109. package/dist/core/extensions/builtin/mcp/service-register.js +7 -1
  110. package/dist/core/extensions/builtin/mcp/service-register.js.map +1 -1
  111. package/dist/core/extensions/builtin/mcp/service-tools-changed.d.ts +18 -0
  112. package/dist/core/extensions/builtin/mcp/service-tools-changed.d.ts.map +1 -0
  113. package/dist/core/extensions/builtin/mcp/service-tools-changed.js +61 -0
  114. package/dist/core/extensions/builtin/mcp/service-tools-changed.js.map +1 -0
  115. package/dist/core/extensions/builtin/mcp/service-types.d.ts +13 -0
  116. package/dist/core/extensions/builtin/mcp/service-types.d.ts.map +1 -1
  117. package/dist/core/extensions/builtin/mcp/service-types.js.map +1 -1
  118. package/dist/core/extensions/builtin/mcp/service.d.ts.map +1 -1
  119. package/dist/core/extensions/builtin/mcp/service.js +4 -37
  120. package/dist/core/extensions/builtin/mcp/service.js.map +1 -1
  121. package/dist/core/extensions/builtin/mcp/shared-lease.js +1 -1
  122. package/dist/core/extensions/builtin/mcp/shared-lease.js.map +1 -1
  123. package/dist/core/extensions/builtin/mcp/startup-race.d.ts.map +1 -1
  124. package/dist/core/extensions/builtin/mcp/startup-race.js +11 -1
  125. package/dist/core/extensions/builtin/mcp/startup-race.js.map +1 -1
  126. package/dist/core/extensions/builtin/permission-system/index.d.ts.map +1 -1
  127. package/dist/core/extensions/builtin/permission-system/index.js +5 -2
  128. package/dist/core/extensions/builtin/permission-system/index.js.map +1 -1
  129. package/dist/core/extensions/builtin/permission-system/parsers.d.ts +5 -0
  130. package/dist/core/extensions/builtin/permission-system/parsers.d.ts.map +1 -1
  131. package/dist/core/extensions/builtin/permission-system/parsers.js +13 -0
  132. package/dist/core/extensions/builtin/permission-system/parsers.js.map +1 -1
  133. package/dist/core/extensions/builtin/repository-identity.d.ts +6 -0
  134. package/dist/core/extensions/builtin/repository-identity.d.ts.map +1 -0
  135. package/dist/core/extensions/builtin/repository-identity.js +33 -0
  136. package/dist/core/extensions/builtin/repository-identity.js.map +1 -0
  137. package/dist/core/extensions/bun-extension-importer.d.ts.map +1 -1
  138. package/dist/core/extensions/bun-extension-importer.js +10 -4
  139. package/dist/core/extensions/bun-extension-importer.js.map +1 -1
  140. package/dist/core/extensions/bun-extension-registry.js +6 -5
  141. package/dist/core/extensions/bun-extension-registry.js.map +1 -1
  142. package/dist/core/extensions/index.d.ts +1 -1
  143. package/dist/core/extensions/index.d.ts.map +1 -1
  144. package/dist/core/extensions/index.js.map +1 -1
  145. package/dist/core/extensions/kernel-prelude.d.ts +13 -0
  146. package/dist/core/extensions/kernel-prelude.d.ts.map +1 -0
  147. package/dist/core/extensions/kernel-prelude.js +38 -0
  148. package/dist/core/extensions/kernel-prelude.js.map +1 -0
  149. package/dist/core/extensions/types.d.ts +44 -2
  150. package/dist/core/extensions/types.d.ts.map +1 -1
  151. package/dist/core/extensions/types.js.map +1 -1
  152. package/dist/core/messages.d.ts.map +1 -1
  153. package/dist/core/messages.js +4 -2
  154. package/dist/core/messages.js.map +1 -1
  155. package/dist/core/model-resolver.js +1 -1
  156. package/dist/core/model-resolver.js.map +1 -1
  157. package/dist/core/moved-sessions.d.ts +10 -0
  158. package/dist/core/moved-sessions.d.ts.map +1 -0
  159. package/dist/core/moved-sessions.js +84 -0
  160. package/dist/core/moved-sessions.js.map +1 -0
  161. package/dist/core/process-crash-record.d.ts +62 -0
  162. package/dist/core/process-crash-record.d.ts.map +1 -0
  163. package/dist/core/process-crash-record.js +216 -0
  164. package/dist/core/process-crash-record.js.map +1 -0
  165. package/dist/core/provider-rejected-images.d.ts +18 -0
  166. package/dist/core/provider-rejected-images.d.ts.map +1 -0
  167. package/dist/core/provider-rejected-images.js +107 -0
  168. package/dist/core/provider-rejected-images.js.map +1 -0
  169. package/dist/core/repository-identity.d.ts +18 -0
  170. package/dist/core/repository-identity.d.ts.map +1 -0
  171. package/dist/core/repository-identity.js +75 -0
  172. package/dist/core/repository-identity.js.map +1 -0
  173. package/dist/core/resume-target.d.ts +20 -0
  174. package/dist/core/resume-target.d.ts.map +1 -0
  175. package/dist/core/resume-target.js +30 -0
  176. package/dist/core/resume-target.js.map +1 -0
  177. package/dist/core/session-discovery.d.ts.map +1 -1
  178. package/dist/core/session-discovery.js +1 -0
  179. package/dist/core/session-discovery.js.map +1 -1
  180. package/dist/core/session-hold-errors.d.ts +20 -0
  181. package/dist/core/session-hold-errors.d.ts.map +1 -0
  182. package/dist/core/session-hold-errors.js +28 -0
  183. package/dist/core/session-hold-errors.js.map +1 -0
  184. package/dist/core/session-holders.d.ts +22 -0
  185. package/dist/core/session-holders.d.ts.map +1 -0
  186. package/dist/core/session-holders.js +234 -0
  187. package/dist/core/session-holders.js.map +1 -0
  188. package/dist/core/session-manager.d.ts +5 -0
  189. package/dist/core/session-manager.d.ts.map +1 -1
  190. package/dist/core/session-manager.js.map +1 -1
  191. package/dist/core/session-rebind.d.ts +23 -0
  192. package/dist/core/session-rebind.d.ts.map +1 -0
  193. package/dist/core/session-rebind.js +127 -0
  194. package/dist/core/session-rebind.js.map +1 -0
  195. package/dist/core/session-summary-index-file.d.ts.map +1 -1
  196. package/dist/core/session-summary-index-file.js +5 -2
  197. package/dist/core/session-summary-index-file.js.map +1 -1
  198. package/dist/core/session-summary.d.ts +3 -0
  199. package/dist/core/session-summary.d.ts.map +1 -1
  200. package/dist/core/session-summary.js +7 -0
  201. package/dist/core/session-summary.js.map +1 -1
  202. package/dist/core/session-title-generator.d.ts.map +1 -1
  203. package/dist/core/session-title-generator.js +21 -3
  204. package/dist/core/session-title-generator.js.map +1 -1
  205. package/dist/core/session-title-reasoning.d.ts +14 -0
  206. package/dist/core/session-title-reasoning.d.ts.map +1 -0
  207. package/dist/core/session-title-reasoning.js +31 -0
  208. package/dist/core/session-title-reasoning.js.map +1 -0
  209. package/dist/core/tools/path-utils.d.ts.map +1 -1
  210. package/dist/core/tools/path-utils.js +13 -0
  211. package/dist/core/tools/path-utils.js.map +1 -1
  212. package/dist/index.d.ts +1 -1
  213. package/dist/index.d.ts.map +1 -1
  214. package/dist/index.js.map +1 -1
  215. package/dist/legacy-dir-copy.d.ts +9 -0
  216. package/dist/legacy-dir-copy.d.ts.map +1 -0
  217. package/dist/legacy-dir-copy.js +69 -0
  218. package/dist/legacy-dir-copy.js.map +1 -0
  219. package/dist/legacy-senpi-dir-migration.d.ts.map +1 -1
  220. package/dist/legacy-senpi-dir-migration.js +64 -48
  221. package/dist/legacy-senpi-dir-migration.js.map +1 -1
  222. package/dist/main.d.ts +6 -0
  223. package/dist/main.d.ts.map +1 -1
  224. package/dist/main.js +129 -22
  225. package/dist/main.js.map +1 -1
  226. package/dist/migrations-state.d.ts +1 -1
  227. package/dist/migrations-state.d.ts.map +1 -1
  228. package/dist/migrations-state.js +5 -1
  229. package/dist/migrations-state.js.map +1 -1
  230. package/dist/migrations.d.ts.map +1 -1
  231. package/dist/migrations.js +4 -0
  232. package/dist/migrations.js.map +1 -1
  233. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  234. package/dist/modes/interactive/components/session-selector.js +5 -3
  235. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  236. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  237. package/dist/modes/interactive/interactive-mode.js +10 -4
  238. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  239. package/dist/modes/interactive/resume-rebind.d.ts +12 -0
  240. package/dist/modes/interactive/resume-rebind.d.ts.map +1 -0
  241. package/dist/modes/interactive/resume-rebind.js +37 -0
  242. package/dist/modes/interactive/resume-rebind.js.map +1 -0
  243. package/dist/modes/interactive/runtime-notice-presenter.d.ts +8 -0
  244. package/dist/modes/interactive/runtime-notice-presenter.d.ts.map +1 -0
  245. package/dist/modes/interactive/runtime-notice-presenter.js +69 -0
  246. package/dist/modes/interactive/runtime-notice-presenter.js.map +1 -0
  247. package/dist/modes/interactive/runtime-notice.d.ts +50 -0
  248. package/dist/modes/interactive/runtime-notice.d.ts.map +1 -0
  249. package/dist/modes/interactive/runtime-notice.js +104 -0
  250. package/dist/modes/interactive/runtime-notice.js.map +1 -0
  251. package/dist/modes/interactive/tips/catalog/computer-tips.d.ts +7 -0
  252. package/dist/modes/interactive/tips/catalog/computer-tips.d.ts.map +1 -0
  253. package/dist/modes/interactive/tips/catalog/computer-tips.js +36 -0
  254. package/dist/modes/interactive/tips/catalog/computer-tips.js.map +1 -0
  255. package/dist/modes/interactive/tips/registry.d.ts.map +1 -1
  256. package/dist/modes/interactive/tips/registry.js +2 -0
  257. package/dist/modes/interactive/tips/registry.js.map +1 -1
  258. package/dist/modes/rpc/connection-handler.d.ts.map +1 -1
  259. package/dist/modes/rpc/connection-handler.js +3 -0
  260. package/dist/modes/rpc/connection-handler.js.map +1 -1
  261. package/dist/modes/rpc/host-child-exit.d.ts.map +1 -1
  262. package/dist/modes/rpc/host-child-exit.js +4 -0
  263. package/dist/modes/rpc/host-child-exit.js.map +1 -1
  264. package/dist/modes/rpc/host-crash-record.d.ts +8 -0
  265. package/dist/modes/rpc/host-crash-record.d.ts.map +1 -1
  266. package/dist/modes/rpc/host-crash-record.js.map +1 -1
  267. package/dist/modes/rpc/host-crash-record.test.js +11 -0
  268. package/dist/modes/rpc/host-crash-record.test.js.map +1 -1
  269. package/dist/modes/rpc/rpc-client.d.ts +2 -2
  270. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  271. package/dist/modes/rpc/rpc-client.js +14 -6
  272. package/dist/modes/rpc/rpc-client.js.map +1 -1
  273. package/dist/modes/rpc/rpc-request-deadline.d.ts +17 -0
  274. package/dist/modes/rpc/rpc-request-deadline.d.ts.map +1 -0
  275. package/dist/modes/rpc/rpc-request-deadline.js +27 -0
  276. package/dist/modes/rpc/rpc-request-deadline.js.map +1 -0
  277. package/dist/modes/rpc/rpc-types.d.ts +9 -2
  278. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  279. package/dist/modes/rpc/rpc-types.js.map +1 -1
  280. package/dist/modes/rpc/session-command-router.d.ts +3 -6
  281. package/dist/modes/rpc/session-command-router.d.ts.map +1 -1
  282. package/dist/modes/rpc/session-command-router.js +9 -22
  283. package/dist/modes/rpc/session-command-router.js.map +1 -1
  284. package/dist/modes/rpc/session-path-key.d.ts +10 -0
  285. package/dist/modes/rpc/session-path-key.d.ts.map +1 -0
  286. package/dist/modes/rpc/session-path-key.js +33 -0
  287. package/dist/modes/rpc/session-path-key.js.map +1 -0
  288. package/dist/modes/rpc/session-registry.d.ts.map +1 -1
  289. package/dist/modes/rpc/session-registry.js +6 -10
  290. package/dist/modes/rpc/session-registry.js.map +1 -1
  291. package/dist/modes/rpc/session-sweep.d.ts +18 -0
  292. package/dist/modes/rpc/session-sweep.d.ts.map +1 -0
  293. package/dist/modes/rpc/session-sweep.js +32 -0
  294. package/dist/modes/rpc/session-sweep.js.map +1 -0
  295. package/dist/pi-dir-restore.d.ts +4 -0
  296. package/dist/pi-dir-restore.d.ts.map +1 -0
  297. package/dist/pi-dir-restore.js +92 -0
  298. package/dist/pi-dir-restore.js.map +1 -0
  299. package/docs/environment-variables.md +2 -0
  300. package/docs/extensions.md +27 -1
  301. package/docs/quickstart.md +7 -1
  302. package/docs/rpc.md +8 -3
  303. package/docs/sdk.md +29 -0
  304. package/docs/sessions.md +13 -0
  305. package/docs/usage.md +1 -0
  306. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +38 -0
  307. package/node_modules/@code-yeongyu/senpi-codemode/README.md +7 -0
  308. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  309. package/node_modules/@code-yeongyu/senpi-codemode/src/bridge/protocol.ts +9 -0
  310. package/node_modules/@code-yeongyu/senpi-codemode/src/bridges/schema-bridge.ts +2 -0
  311. package/node_modules/@code-yeongyu/senpi-codemode/src/extension/kernel-preludes.ts +30 -0
  312. package/node_modules/@code-yeongyu/senpi-codemode/src/index.ts +15 -1
  313. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/context-manager.ts +1 -1
  314. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/local-module-loader.ts +16 -2
  315. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/py/kernel.ts +6 -1
  316. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/py/prelude.py +15 -2
  317. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/py/transport.ts +7 -1
  318. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/shared/kernel-prelude-plan.ts +19 -0
  319. package/node_modules/@code-yeongyu/senpi-codemode/src/prompt/eval-prompt-template.ts +2 -1
  320. package/node_modules/@code-yeongyu/senpi-codemode/src/prompt/eval-prompt.ts +4 -0
  321. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool-options.ts +11 -1
  322. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool.ts +1 -0
  323. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/run-eval-cell.ts +1 -0
  324. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/types.ts +3 -1
  325. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +2 -2
  326. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  327. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +7 -0
  328. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  329. package/node_modules/@earendil-works/pi-agent-core/dist/assistant-terminal-state.d.ts.map +1 -1
  330. package/node_modules/@earendil-works/pi-agent-core/dist/assistant-terminal-state.js +3 -1
  331. package/node_modules/@earendil-works/pi-agent-core/dist/assistant-terminal-state.js.map +1 -1
  332. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +3 -1
  333. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  334. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  335. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  336. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  337. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +10 -7
  338. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  339. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  340. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +9 -1
  341. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  342. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +1 -0
  343. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  344. package/node_modules/@earendil-works/pi-ai/dist/index.js +1 -0
  345. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  346. package/node_modules/@earendil-works/pi-ai/dist/provider-diagnostic.d.ts +33 -0
  347. package/node_modules/@earendil-works/pi-ai/dist/provider-diagnostic.d.ts.map +1 -0
  348. package/node_modules/@earendil-works/pi-ai/dist/provider-diagnostic.js +56 -0
  349. package/node_modules/@earendil-works/pi-ai/dist/provider-diagnostic.js.map +1 -0
  350. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  351. package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
  352. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
  353. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
  354. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  355. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  356. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +3 -0
  357. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  358. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  359. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-diagnostic-carrier.d.ts +5 -0
  360. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-diagnostic-carrier.d.ts.map +1 -0
  361. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-diagnostic-carrier.js +18 -0
  362. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-diagnostic-carrier.js.map +1 -0
  363. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-diagnostic-sources.d.ts +26 -0
  364. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-diagnostic-sources.d.ts.map +1 -0
  365. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-diagnostic-sources.js +103 -0
  366. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-diagnostic-sources.js.map +1 -0
  367. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-diagnostic-vocabulary.d.ts +36 -0
  368. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-diagnostic-vocabulary.d.ts.map +1 -0
  369. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-diagnostic-vocabulary.js +129 -0
  370. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-diagnostic-vocabulary.js.map +1 -0
  371. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-retry.d.ts.map +1 -1
  372. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-retry.js +5 -4
  373. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-retry.js.map +1 -1
  374. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  375. package/node_modules/@earendil-works/pi-pty/native/prebuilds/darwin-arm64/senpi_pty.darwin-arm64.node +0 -0
  376. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  377. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  378. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  379. package/package.json +7 -7
  380. package/dist/bundle/chunks/anthropic-messages-UYDVRFAS.js +0 -8
  381. package/dist/bundle/chunks/azure-openai-responses-DODWR4W6.js +0 -2
  382. package/dist/bundle/chunks/bun-extension-importer-H4IJCWWQ.js +0 -14
  383. package/dist/bundle/chunks/chunk-34HMVB33.js +0 -2
  384. package/dist/bundle/chunks/chunk-3WBSBDBX.js +0 -13
  385. package/dist/bundle/chunks/chunk-L6JO4M6J.js +0 -3
  386. package/dist/bundle/chunks/chunk-SFYHCFRO.js +0 -2
  387. package/dist/bundle/chunks/chunk-T3JBT2IK.js +0 -8
  388. package/dist/bundle/chunks/chunk-TTHMOL5G.js +0 -2
  389. package/dist/bundle/chunks/chunk-UYCGOK6M.js +0 -2
  390. package/dist/bundle/chunks/chunk-ZTVQY5V6.js +0 -2
  391. package/dist/bundle/chunks/cli-main-H6JAXAXV.js +0 -3
  392. package/dist/bundle/chunks/google-generative-ai-VIEFECKJ.js +0 -2
  393. package/dist/bundle/chunks/google-vertex-Q64CKFID.js +0 -2
  394. package/dist/bundle/chunks/help-fast-path-ZGKPSDFO.js +0 -2
  395. package/dist/bundle/chunks/host-command-BMHJ4YUD.js +0 -2
  396. package/dist/bundle/chunks/host-lifecycle-2GZAGSGW.js +0 -3
  397. package/dist/bundle/chunks/interactive-host-runtime-YI75GFD5.js +0 -4
  398. package/dist/bundle/chunks/interactive-mode-HM7UQYRC.js +0 -2
  399. package/dist/bundle/chunks/openai-images-JA5N5DUU.js +0 -2
  400. package/dist/bundle/chunks/openai-responses-IBFGBAJP.js +0 -2
  401. package/dist/bundle/chunks/openrouter-images-MW5TXV7L.js +0 -2
  402. package/dist/bundle/chunks/rotation-stream-NATO6IMN.js +0 -2
  403. package/dist/bundle/chunks/rpc-mode-6PY4TN5F.js +0 -2
  404. package/dist/bundle/chunks/session-picker-BP7THCWF.js +0 -2
@@ -3,6 +3,7 @@ import { basename, join, parse, resolve } from "node:path";
3
3
  import { resolvePath } from "../utils/paths.js";
4
4
  import { emitSessionShutdownEvent } from "./extensions/runner.js";
5
5
  import { assertSessionCwdExists } from "./session-cwd.js";
6
+ import { holdSessionFile } from "./session-holders.js";
6
7
  import { SessionManager } from "./session-manager.js";
7
8
  import { reserveSessionWrite, unregisterSessionWriter } from "./session-write-reservation.js";
8
9
  import { resetTimings, time } from "./timings.js";
@@ -40,6 +41,12 @@ export class AgentSessionRuntime {
40
41
  this._diagnostics = _diagnostics;
41
42
  this._modelFallbackMessage = _modelFallbackMessage;
42
43
  this._launchProfile = launchProfile;
44
+ this._sessionHold = holdActiveSession(_session.sessionManager, wasFlushed(_session.sessionManager));
45
+ }
46
+ /** Stops advertising the open session to other processes; a runtime that replaces this one holds its own. */
47
+ releaseSessionHold() {
48
+ this._sessionHold?.release();
49
+ this._sessionHold = undefined;
43
50
  }
44
51
  get services() {
45
52
  return this._services;
@@ -134,6 +141,7 @@ export class AgentSessionRuntime {
134
141
  // Nothing writes to the replaced manager once its session is disposed, so the
135
142
  // shared host may hand its session file to another worker.
136
143
  unregisterSessionWriter(replaced);
144
+ this.releaseSessionHold();
137
145
  mark("dispose");
138
146
  }
139
147
  async reportRemovedExtensions() {
@@ -150,7 +158,8 @@ export class AgentSessionRuntime {
150
158
  return;
151
159
  await pending.oldRunner.emit({ type: "session_extensions_removed", reason: pending.reason, removed });
152
160
  }
153
- async apply(result) {
161
+ async apply(result, hold) {
162
+ this._sessionHold = hold ?? holdActiveSession(result.session.sessionManager, false);
154
163
  this._session = result.session;
155
164
  this._services = result.services;
156
165
  this._diagnostics = result.diagnostics;
@@ -175,16 +184,25 @@ export class AgentSessionRuntime {
175
184
  const previousSessionFile = this.session.sessionFile;
176
185
  const sessionManager = SessionManager.open(sessionPath, undefined, options?.cwdOverride);
177
186
  assertSessionCwdExists(sessionManager, this.cwd);
187
+ // Held before the current session is torn down: a session being moved fails the switch here.
188
+ const hold = holdActiveSession(sessionManager, wasFlushed(sessionManager));
178
189
  time("open", "switch");
179
- await this.teardownCurrent("resume", sessionManager.getSessionFile());
180
- await this.apply(await this.createRuntime({
181
- cwd: sessionManager.getCwd(),
182
- agentDir: this.services.agentDir,
183
- sessionManager,
184
- sessionStartEvent: { type: "session_start", reason: "resume", previousSessionFile },
185
- projectTrustContext: options?.projectTrustContextFactory?.(sessionManager.getCwd()),
186
- launchProfile: this._launchProfile,
187
- }));
190
+ try {
191
+ await this.teardownCurrent("resume", sessionManager.getSessionFile());
192
+ await this.apply(await this.createRuntime({
193
+ cwd: sessionManager.getCwd(),
194
+ agentDir: this.services.agentDir,
195
+ sessionManager,
196
+ sessionStartEvent: { type: "session_start", reason: "resume", previousSessionFile },
197
+ projectTrustContext: options?.projectTrustContextFactory?.(sessionManager.getCwd()),
198
+ launchProfile: this._launchProfile,
199
+ }), hold);
200
+ }
201
+ catch (error) {
202
+ if (this._sessionHold !== hold)
203
+ hold?.release();
204
+ throw error;
205
+ }
188
206
  time("apply", "switch");
189
207
  await this.finishSessionReplacement(options?.withSession);
190
208
  time("rebind", "switch");
@@ -352,8 +370,23 @@ export class AgentSessionRuntime {
352
370
  });
353
371
  this.beforeSessionInvalidate?.();
354
372
  this.session.dispose();
373
+ this.releaseSessionHold();
355
374
  }
356
375
  }
376
+ // A persisted session is written to disk with its first assistant message, so one that has an
377
+ // assistant message and no file was moved away after it was read.
378
+ function wasFlushed(sessionManager) {
379
+ return sessionManager.getEntries().some((entry) => entry.type === "message" && entry.message.role === "assistant");
380
+ }
381
+ function holdActiveSession(sessionManager, expectExisting) {
382
+ const sessionFile = sessionManager.getSessionFile();
383
+ if (!sessionManager.isPersisted() || sessionFile === undefined)
384
+ return undefined;
385
+ return holdSessionFile(sessionFile, sessionManager.getSessionId(), {
386
+ cwd: sessionManager.getCwd(),
387
+ expectExisting,
388
+ });
389
+ }
357
390
  /**
358
391
  * Create the initial runtime from a runtime factory and initial session target.
359
392
  *
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-runtime.js","sourceRoot":"","sources":["../../src/core/agent-session-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { constants, copyFileSync, existsSync, mkdirSync } from \"node:fs\";\nimport { basename, join, parse, resolve } from \"node:path\";\nimport { resolvePath } from \"../utils/paths.ts\";\nimport type { AgentSession } from \"./agent-session.ts\";\nimport type { AgentSessionRuntimeDiagnostic, AgentSessionServices } from \"./agent-session-services.ts\";\nimport type { HostMcpRegistry } from \"./extensions/builtin/mcp/host-registry.ts\";\nimport type {\n\tProjectTrustContext,\n\tReplacedSessionContext,\n\tSessionContext,\n\tSessionKind,\n\tSessionShutdownEvent,\n\tSessionStartEvent,\n} from \"./extensions/index.ts\";\nimport { type ExtensionRunner, emitSessionShutdownEvent } from \"./extensions/runner.ts\";\nimport type { CreateAgentSessionResult } from \"./sdk.ts\";\nimport { assertSessionCwdExists } from \"./session-cwd.ts\";\nimport { SessionManager } from \"./session-manager.ts\";\nimport { reserveSessionWrite, unregisterSessionWriter } from \"./session-write-reservation.ts\";\nimport { resetTimings, time } from \"./timings.ts\";\n\n/**\n * Result returned by runtime creation.\n *\n * The caller gets the created session, its cwd-bound services, and all\n * diagnostics collected during setup.\n */\nexport interface CreateAgentSessionRuntimeResult extends CreateAgentSessionResult {\n\tservices: AgentSessionServices;\n\tdiagnostics: AgentSessionRuntimeDiagnostic[];\n}\n\n/** Immutable flags selected when a runtime is first launched. */\nexport interface AgentSessionLaunchProfile {\n\tcwd: string;\n\tpermissionPreset?: string;\n\tcreationModel?: { provider: string; modelId: string };\n\tinitialThinkingLevel?: string;\n\t/**\n\t * Visibility class of this session (`open_session.kind`), absent for classic\n\t * launches. It reaches the extensions this session loads and nothing else: it\n\t * never takes part in auth, model or resource resolution.\n\t */\n\tsessionKind?: SessionKind;\n\t/** Opaque labels the opener attached (`open_session.context`), absent when none. */\n\tsessionContext?: SessionContext;\n\t/**\n\t * Per-session auto-titling (`open_session.auto_title`). When set, this session\n\t * ignores the host-wide `--auto-title-sessions` / appMode default.\n\t */\n\tautoTitle?: boolean;\n}\n\n/**\n * Creates a full runtime for a target cwd and session manager.\n *\n * The factory closes over process-global fixed inputs, recreates cwd-bound\n * services for the effective cwd, resolves session options against those\n * services, and finally creates the AgentSession.\n */\nexport type CreateAgentSessionRuntimeFactory = (options: {\n\tcwd: string;\n\tagentDir: string;\n\tmcpRegistry?: HostMcpRegistry;\n\tsessionManager: SessionManager;\n\tsessionStartEvent?: SessionStartEvent;\n\tprojectTrustContext?: ProjectTrustContext;\n\tlaunchProfile?: Readonly<AgentSessionLaunchProfile>;\n}) => Promise<CreateAgentSessionRuntimeResult>;\n\n/**\n * Thrown when /import references a JSONL file path that does not exist.\n */\nexport class SessionImportFileNotFoundError extends Error {\n\treadonly filePath: string;\n\n\tconstructor(filePath: string) {\n\t\tsuper(`File not found: ${filePath}`);\n\t\tthis.name = \"SessionImportFileNotFoundError\";\n\t\tthis.filePath = filePath;\n\t}\n}\n\nfunction extractUserMessageText(content: string | Array<{ type: string; text?: string }>): string {\n\tif (typeof content === \"string\") {\n\t\treturn content;\n\t}\n\n\treturn content\n\t\t.filter((part): part is { type: \"text\"; text: string } => part.type === \"text\" && typeof part.text === \"string\")\n\t\t.map((part) => part.text)\n\t\t.join(\"\");\n}\n\n/**\n * Owns the current AgentSession plus its cwd-bound services.\n *\n * Session replacement methods tear down the current runtime first, then create\n * and apply the next runtime. If creation fails, the error is propagated to the\n * caller. The caller is responsible for user-facing error handling.\n */\nexport class AgentSessionRuntime {\n\tprivate rebindSession?: (session: AgentSession) => Promise<void>;\n\tprivate beforeSessionInvalidate?: () => void;\n\tprivate _session: AgentSession;\n\tprivate _services: AgentSessionServices;\n\tprivate readonly createRuntime: CreateAgentSessionRuntimeFactory;\n\tprivate _diagnostics: AgentSessionRuntimeDiagnostic[];\n\tprivate _modelFallbackMessage?: string;\n\tprivate readonly _launchProfile?: Readonly<AgentSessionLaunchProfile>;\n\tprivate _removedOnReplacement?: {\n\t\toldRunner: ExtensionRunner;\n\t\toldIdentities: Array<{ path: string; resolvedPath: string }>;\n\t\treason: SessionShutdownEvent[\"reason\"];\n\t};\n\n\tconstructor(\n\t\t_session: AgentSession,\n\t\t_services: AgentSessionServices,\n\t\tcreateRuntime: CreateAgentSessionRuntimeFactory,\n\t\t_diagnostics: AgentSessionRuntimeDiagnostic[] = [],\n\t\t_modelFallbackMessage?: string,\n\t\tlaunchProfile?: Readonly<AgentSessionLaunchProfile>,\n\t) {\n\t\tthis._session = _session;\n\t\tthis._services = _services;\n\t\tthis.createRuntime = createRuntime;\n\t\tthis._diagnostics = _diagnostics;\n\t\tthis._modelFallbackMessage = _modelFallbackMessage;\n\t\tthis._launchProfile = launchProfile;\n\t}\n\n\tget services(): AgentSessionServices {\n\t\treturn this._services;\n\t}\n\n\tget session(): AgentSession {\n\t\treturn this._session;\n\t}\n\n\tget cwd(): string {\n\t\treturn this._services.cwd;\n\t}\n\n\tget diagnostics(): readonly AgentSessionRuntimeDiagnostic[] {\n\t\treturn this._diagnostics;\n\t}\n\n\tget modelFallbackMessage(): string | undefined {\n\t\treturn this._modelFallbackMessage;\n\t}\n\n\tget launchProfile(): Readonly<AgentSessionLaunchProfile> | undefined {\n\t\treturn this._launchProfile;\n\t}\n\n\tsetRebindSession(rebindSession?: (session: AgentSession) => Promise<void>): void {\n\t\tthis.rebindSession = rebindSession;\n\t}\n\n\t/**\n\t * Set a synchronous callback that runs after `session_shutdown` handlers finish\n\t * but before the current session is invalidated.\n\t *\n\t * This is for host-owned UI teardown that must not yield to the event loop,\n\t * such as detaching extension-provided TUI components before the old extension\n\t * context becomes stale.\n\t */\n\tsetBeforeSessionInvalidate(beforeSessionInvalidate?: () => void): void {\n\t\tthis.beforeSessionInvalidate = beforeSessionInvalidate;\n\t}\n\n\t/** Attachment transitions are ordered by the RPC entry's lifecycle mutex. */\n\tasync emitAttachmentEvent(type: \"session_parked\" | \"session_resumed\"): Promise<void> {\n\t\tconst runner = this.session.extensionRunner;\n\t\tif (runner.hasHandlers(type)) await runner.emit({ type });\n\t}\n\n\tprivate async emitBeforeSwitch(\n\t\treason: \"new\" | \"resume\",\n\t\ttargetSessionFile?: string,\n\t): Promise<{ cancelled: boolean }> {\n\t\tconst runner = this.session.extensionRunner;\n\t\tif (!runner.hasHandlers(\"session_before_switch\")) {\n\t\t\treturn { cancelled: false };\n\t\t}\n\n\t\tconst result = await runner.emit({\n\t\t\ttype: \"session_before_switch\",\n\t\t\treason,\n\t\t\ttargetSessionFile,\n\t\t});\n\t\treturn { cancelled: result?.cancel === true };\n\t}\n\n\tprivate async emitBeforeFork(\n\t\tentryId: string,\n\t\toptions: { position: \"before\" | \"at\" },\n\t): Promise<{ cancelled: boolean }> {\n\t\tconst runner = this.session.extensionRunner;\n\t\tif (!runner.hasHandlers(\"session_before_fork\")) {\n\t\t\treturn { cancelled: false };\n\t\t}\n\n\t\tconst result = await runner.emit({\n\t\t\ttype: \"session_before_fork\",\n\t\t\tentryId,\n\t\t\t...options,\n\t\t});\n\t\treturn { cancelled: result?.cancel === true };\n\t}\n\n\tprivate async teardownCurrent(reason: SessionShutdownEvent[\"reason\"], targetSessionFile?: string): Promise<void> {\n\t\tconst mark = (label: string): void => {\n\t\t\tif (reason === \"resume\") time(label, \"switch\");\n\t\t};\n\t\t// Settle the active response before replacement so the outgoing turn and\n\t\t// any completed tool results are persisted to the old session.\n\t\tawait this.session.abort();\n\t\tmark(\"abort\");\n\t\tconst oldRunner = this.session.extensionRunner;\n\t\t// Test hosts and partial runner implementations may lack identity introspection;\n\t\t// skip removal reporting there rather than break the replacement itself.\n\t\tif (typeof oldRunner.getExtensionIdentities === \"function\") {\n\t\t\tthis._removedOnReplacement = {\n\t\t\t\toldRunner,\n\t\t\t\toldIdentities: oldRunner.getExtensionIdentities(),\n\t\t\t\treason,\n\t\t\t};\n\t\t}\n\t\tawait emitSessionShutdownEvent(oldRunner, {\n\t\t\ttype: \"session_shutdown\",\n\t\t\treason,\n\t\t\ttargetSessionFile,\n\t\t});\n\t\tmark(\"shutdown\");\n\t\tthis.beforeSessionInvalidate?.();\n\t\tconst replaced = this.session.sessionManager;\n\t\tthis.session.dispose();\n\t\t// Nothing writes to the replaced manager once its session is disposed, so the\n\t\t// shared host may hand its session file to another worker.\n\t\tunregisterSessionWriter(replaced);\n\t\tmark(\"dispose\");\n\t}\n\n\tprivate async reportRemovedExtensions(): Promise<void> {\n\t\tconst pending = this._removedOnReplacement;\n\t\tthis._removedOnReplacement = undefined;\n\t\tif (!pending) return;\n\t\tconst newRunner = this.session.extensionRunner;\n\t\tif (typeof newRunner.getExtensionIdentities !== \"function\") return;\n\t\tconst newResolvedPaths = new Set(newRunner.getExtensionIdentities().map((extension) => extension.resolvedPath));\n\t\tconst removed = pending.oldIdentities.filter((extension) => !newResolvedPaths.has(extension.resolvedPath));\n\t\tif (removed.length === 0) return;\n\t\tawait pending.oldRunner.emit({ type: \"session_extensions_removed\", reason: pending.reason, removed });\n\t}\n\n\tprivate async apply(result: CreateAgentSessionRuntimeResult): Promise<void> {\n\t\tthis._session = result.session;\n\t\tthis._services = result.services;\n\t\tthis._diagnostics = result.diagnostics;\n\t\tthis._modelFallbackMessage = result.modelFallbackMessage;\n\t\tawait this.reportRemovedExtensions();\n\t}\n\n\tprivate async finishSessionReplacement(withSession?: (ctx: ReplacedSessionContext) => Promise<void>): Promise<void> {\n\t\tif (this.rebindSession) {\n\t\t\tawait this.rebindSession(this.session);\n\t\t}\n\t\tif (withSession) {\n\t\t\tawait withSession(this.session.createReplacedSessionContext());\n\t\t}\n\t}\n\n\tasync switchSession(\n\t\tsessionPath: string,\n\t\toptions?: {\n\t\t\tcwdOverride?: string;\n\t\t\twithSession?: (ctx: ReplacedSessionContext) => Promise<void>;\n\t\t\tprojectTrustContextFactory?: (cwd: string) => ProjectTrustContext;\n\t\t},\n\t): Promise<{ cancelled: boolean }> {\n\t\tresetTimings(\"switch\");\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"resume\", sessionPath);\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\t\ttime(\"beforeSwitch\", \"switch\");\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tconst sessionManager = SessionManager.open(sessionPath, undefined, options?.cwdOverride);\n\t\tassertSessionCwdExists(sessionManager, this.cwd);\n\t\ttime(\"open\", \"switch\");\n\t\tawait this.teardownCurrent(\"resume\", sessionManager.getSessionFile());\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"resume\", previousSessionFile },\n\t\t\t\tprojectTrustContext: options?.projectTrustContextFactory?.(sessionManager.getCwd()),\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\ttime(\"apply\", \"switch\");\n\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\ttime(\"rebind\", \"switch\");\n\t\treturn { cancelled: false };\n\t}\n\n\tasync newSession(options?: {\n\t\tparentSession?: string;\n\t\tsetup?: (sessionManager: SessionManager) => Promise<void>;\n\t\twithSession?: (ctx: ReplacedSessionContext) => Promise<void>;\n\t}): Promise<{ cancelled: boolean }> {\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"new\");\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\tconst sessionManager = this.session.sessionManager.isPersisted()\n\t\t\t? SessionManager.create(this.cwd, sessionDir)\n\t\t\t: SessionManager.inMemory(this.cwd);\n\t\tif (options?.parentSession) {\n\t\t\tsessionManager.newSession({ parentSession: options.parentSession });\n\t\t}\n\n\t\tawait this.teardownCurrent(\"new\", sessionManager.getSessionFile());\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"new\", previousSessionFile },\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tif (options?.setup) {\n\t\t\tawait options.setup(this.session.sessionManager);\n\t\t\tthis.session.agent.state.messages = this.session.sessionManager.buildSessionContext().messages;\n\t\t}\n\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\treturn { cancelled: false };\n\t}\n\n\tasync fork(\n\t\tentryId: string,\n\t\toptions?: { position?: \"before\" | \"at\"; withSession?: (ctx: ReplacedSessionContext) => Promise<void> },\n\t): Promise<{ cancelled: boolean; selectedText?: string }> {\n\t\tconst position = options?.position ?? \"before\";\n\t\tconst beforeResult = await this.emitBeforeFork(entryId, { position });\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn { cancelled: true };\n\t\t}\n\t\tlet targetLeafId: string | null;\n\t\tlet selectedText: string | undefined;\n\n\t\tconst selectedEntry = this.session.sessionManager.getEntry(entryId);\n\t\tif (!selectedEntry) {\n\t\t\tthrow new Error(\"Invalid entry ID for forking\");\n\t\t}\n\n\t\tif (position === \"at\") {\n\t\t\ttargetLeafId = selectedEntry.id;\n\t\t} else {\n\t\t\tif (selectedEntry.type !== \"message\" || selectedEntry.message.role !== \"user\") {\n\t\t\t\tthrow new Error(\"Invalid entry ID for forking\");\n\t\t\t}\n\t\t\ttargetLeafId = selectedEntry.parentId;\n\t\t\tselectedText = extractUserMessageText(selectedEntry.message.content);\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tif (this.session.sessionManager.isPersisted()) {\n\t\t\tconst currentSessionFile = this.session.sessionFile;\n\t\t\tif (!currentSessionFile) {\n\t\t\t\tthrow new Error(\"Persisted session is missing a session file\");\n\t\t\t}\n\t\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\t\tif (!targetLeafId) {\n\t\t\t\tconst sessionManager = SessionManager.create(this.cwd, sessionDir);\n\t\t\t\tsessionManager.newSession({ parentSession: currentSessionFile });\n\t\t\t\tawait this.teardownCurrent(\"fork\", sessionManager.getSessionFile());\n\t\t\t\tawait this.apply(\n\t\t\t\t\tawait this.createRuntime({\n\t\t\t\t\t\tcwd: this.cwd,\n\t\t\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\t\t\treturn { cancelled: false, selectedText };\n\t\t\t}\n\n\t\t\tif (!existsSync(currentSessionFile)) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"This session has not been saved yet. Wait for the first assistant response before cloning or forking it.\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst sessionManager = SessionManager.open(currentSessionFile, sessionDir);\n\t\t\tconst forkedSessionPath = sessionManager.createBranchedSession(targetLeafId);\n\t\t\tif (!forkedSessionPath) {\n\t\t\t\tthrow new Error(\"Failed to create forked session\");\n\t\t\t}\n\t\t\tawait this.teardownCurrent(\"fork\", sessionManager.getSessionFile());\n\t\t\tawait this.apply(\n\t\t\t\tawait this.createRuntime({\n\t\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\t\tsessionManager,\n\t\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t\t}),\n\t\t\t);\n\t\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\t\treturn { cancelled: false, selectedText };\n\t\t}\n\n\t\tconst sessionManager = this.session.sessionManager;\n\t\tawait this.teardownCurrent(\"fork\", sessionManager.getSessionFile());\n\t\tif (!targetLeafId) {\n\t\t\tsessionManager.newSession({ parentSession: previousSessionFile });\n\t\t} else {\n\t\t\tsessionManager.createBranchedSession(targetLeafId);\n\t\t}\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\treturn { cancelled: false, selectedText };\n\t}\n\n\t/**\n\t * Import a session JSONL file and switch runtime state to the imported session.\n\t *\n\t * @returns `{ cancelled: true }` when cancelled by `session_before_switch`, otherwise `{ cancelled: false }`.\n\t * @throws {SessionImportFileNotFoundError} When the input path does not exist.\n\t * @throws {MissingSessionCwdError} When the imported session cwd cannot be resolved and no override is provided.\n\t */\n\tasync importFromJsonl(inputPath: string, cwdOverride?: string): Promise<{ cancelled: boolean }> {\n\t\tconst resolvedPath = resolvePath(inputPath);\n\t\tif (!existsSync(resolvedPath)) {\n\t\t\tthrow new SessionImportFileNotFoundError(resolvedPath);\n\t\t}\n\n\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\tif (!existsSync(sessionDir)) {\n\t\t\tmkdirSync(sessionDir, { recursive: true });\n\t\t}\n\n\t\tlet destinationPath = join(sessionDir, basename(resolvedPath));\n\t\tconst sourceAlreadyStored = resolve(destinationPath) === resolvedPath;\n\t\tif (!sourceAlreadyStored) {\n\t\t\tconst { name, ext } = parse(destinationPath);\n\t\t\tlet suffix = 1;\n\t\t\twhile (existsSync(destinationPath)) {\n\t\t\t\tdestinationPath = join(sessionDir, `${name}-${suffix++}${ext}`);\n\t\t\t}\n\t\t}\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"resume\", destinationPath);\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\treserveSessionWrite(destinationPath);\n\t\tif (!sourceAlreadyStored) {\n\t\t\tcopyFileSync(resolvedPath, destinationPath, constants.COPYFILE_EXCL);\n\t\t}\n\n\t\tconst sessionManager = SessionManager.open(destinationPath, sessionDir, cwdOverride);\n\t\tassertSessionCwdExists(sessionManager, this.cwd);\n\t\tawait this.teardownCurrent(\"resume\", sessionManager.getSessionFile());\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"resume\", previousSessionFile },\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tawait this.finishSessionReplacement();\n\t\treturn { cancelled: false };\n\t}\n\n\tasync dispose(): Promise<void> {\n\t\tawait emitSessionShutdownEvent(this.session.extensionRunner, {\n\t\t\ttype: \"session_shutdown\",\n\t\t\treason: \"quit\",\n\t\t});\n\t\tthis.beforeSessionInvalidate?.();\n\t\tthis.session.dispose();\n\t}\n}\n\n/**\n * Create the initial runtime from a runtime factory and initial session target.\n *\n * The same factory is stored on the returned AgentSessionRuntime and reused for\n * later /new, /resume, /fork, and import flows.\n */\nexport async function createAgentSessionRuntime(\n\tcreateRuntime: CreateAgentSessionRuntimeFactory,\n\toptions: {\n\t\tcwd: string;\n\t\tagentDir: string;\n\t\tsessionManager: SessionManager;\n\t\tsessionStartEvent?: SessionStartEvent;\n\t\tlaunchProfile?: Readonly<AgentSessionLaunchProfile>;\n\t},\n): Promise<AgentSessionRuntime> {\n\tassertSessionCwdExists(options.sessionManager, options.cwd);\n\tconst result = await createRuntime(options);\n\treturn new AgentSessionRuntime(\n\t\tresult.session,\n\t\tresult.services,\n\t\tcreateRuntime,\n\t\tresult.diagnostics,\n\t\tresult.modelFallbackMessage,\n\t\toptions.launchProfile,\n\t);\n}\n\nexport {\n\ttype AgentSessionRuntimeDiagnostic,\n\ttype AgentSessionServices,\n\ttype CreateAgentSessionFromServicesOptions,\n\ttype CreateAgentSessionServicesOptions,\n\tcreateAgentSessionFromServices,\n\tcreateAgentSessionServices,\n} from \"./agent-session-services.ts\";\n"]}
1
+ {"version":3,"file":"agent-session-runtime.js","sourceRoot":"","sources":["../../src/core/agent-session-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { constants, copyFileSync, existsSync, mkdirSync } from \"node:fs\";\nimport { basename, join, parse, resolve } from \"node:path\";\nimport { resolvePath } from \"../utils/paths.ts\";\nimport type { AgentSession } from \"./agent-session.ts\";\nimport type { AgentSessionRuntimeDiagnostic, AgentSessionServices } from \"./agent-session-services.ts\";\nimport type { HostMcpRegistry } from \"./extensions/builtin/mcp/host-registry.ts\";\nimport type {\n\tProjectTrustContext,\n\tReplacedSessionContext,\n\tSessionContext,\n\tSessionKind,\n\tSessionShutdownEvent,\n\tSessionStartEvent,\n} from \"./extensions/index.ts\";\nimport { type ExtensionRunner, emitSessionShutdownEvent } from \"./extensions/runner.ts\";\nimport type { CreateAgentSessionResult } from \"./sdk.ts\";\nimport { assertSessionCwdExists } from \"./session-cwd.ts\";\nimport { holdSessionFile, type SessionHold } from \"./session-holders.ts\";\nimport { SessionManager } from \"./session-manager.ts\";\nimport { reserveSessionWrite, unregisterSessionWriter } from \"./session-write-reservation.ts\";\nimport { resetTimings, time } from \"./timings.ts\";\n\n/**\n * Result returned by runtime creation.\n *\n * The caller gets the created session, its cwd-bound services, and all\n * diagnostics collected during setup.\n */\nexport interface CreateAgentSessionRuntimeResult extends CreateAgentSessionResult {\n\tservices: AgentSessionServices;\n\tdiagnostics: AgentSessionRuntimeDiagnostic[];\n}\n\n/** Immutable flags selected when a runtime is first launched. */\nexport interface AgentSessionLaunchProfile {\n\tcwd: string;\n\tpermissionPreset?: string;\n\tcreationModel?: { provider: string; modelId: string };\n\tinitialThinkingLevel?: string;\n\t/**\n\t * Visibility class of this session (`open_session.kind`), absent for classic\n\t * launches. It reaches the extensions this session loads and nothing else: it\n\t * never takes part in auth, model or resource resolution.\n\t */\n\tsessionKind?: SessionKind;\n\t/** Opaque labels the opener attached (`open_session.context`), absent when none. */\n\tsessionContext?: SessionContext;\n\t/**\n\t * Per-session auto-titling (`open_session.auto_title`). When set, this session\n\t * ignores the host-wide `--auto-title-sessions` / appMode default.\n\t */\n\tautoTitle?: boolean;\n}\n\n/**\n * Creates a full runtime for a target cwd and session manager.\n *\n * The factory closes over process-global fixed inputs, recreates cwd-bound\n * services for the effective cwd, resolves session options against those\n * services, and finally creates the AgentSession.\n */\nexport type CreateAgentSessionRuntimeFactory = (options: {\n\tcwd: string;\n\tagentDir: string;\n\tmcpRegistry?: HostMcpRegistry;\n\tsessionManager: SessionManager;\n\tsessionStartEvent?: SessionStartEvent;\n\tprojectTrustContext?: ProjectTrustContext;\n\tlaunchProfile?: Readonly<AgentSessionLaunchProfile>;\n}) => Promise<CreateAgentSessionRuntimeResult>;\n\n/**\n * Thrown when /import references a JSONL file path that does not exist.\n */\nexport class SessionImportFileNotFoundError extends Error {\n\treadonly filePath: string;\n\n\tconstructor(filePath: string) {\n\t\tsuper(`File not found: ${filePath}`);\n\t\tthis.name = \"SessionImportFileNotFoundError\";\n\t\tthis.filePath = filePath;\n\t}\n}\n\nfunction extractUserMessageText(content: string | Array<{ type: string; text?: string }>): string {\n\tif (typeof content === \"string\") {\n\t\treturn content;\n\t}\n\n\treturn content\n\t\t.filter((part): part is { type: \"text\"; text: string } => part.type === \"text\" && typeof part.text === \"string\")\n\t\t.map((part) => part.text)\n\t\t.join(\"\");\n}\n\n/**\n * Owns the current AgentSession plus its cwd-bound services.\n *\n * Session replacement methods tear down the current runtime first, then create\n * and apply the next runtime. If creation fails, the error is propagated to the\n * caller. The caller is responsible for user-facing error handling.\n */\nexport class AgentSessionRuntime {\n\tprivate rebindSession?: (session: AgentSession) => Promise<void>;\n\tprivate beforeSessionInvalidate?: () => void;\n\tprivate _session: AgentSession;\n\tprivate _services: AgentSessionServices;\n\tprivate readonly createRuntime: CreateAgentSessionRuntimeFactory;\n\tprivate _diagnostics: AgentSessionRuntimeDiagnostic[];\n\tprivate _modelFallbackMessage?: string;\n\tprivate readonly _launchProfile?: Readonly<AgentSessionLaunchProfile>;\n\t// Advertises the open session file to other processes so none moves it out from under this one.\n\tprivate _sessionHold?: SessionHold;\n\tprivate _removedOnReplacement?: {\n\t\toldRunner: ExtensionRunner;\n\t\toldIdentities: Array<{ path: string; resolvedPath: string }>;\n\t\treason: SessionShutdownEvent[\"reason\"];\n\t};\n\n\tconstructor(\n\t\t_session: AgentSession,\n\t\t_services: AgentSessionServices,\n\t\tcreateRuntime: CreateAgentSessionRuntimeFactory,\n\t\t_diagnostics: AgentSessionRuntimeDiagnostic[] = [],\n\t\t_modelFallbackMessage?: string,\n\t\tlaunchProfile?: Readonly<AgentSessionLaunchProfile>,\n\t) {\n\t\tthis._session = _session;\n\t\tthis._services = _services;\n\t\tthis.createRuntime = createRuntime;\n\t\tthis._diagnostics = _diagnostics;\n\t\tthis._modelFallbackMessage = _modelFallbackMessage;\n\t\tthis._launchProfile = launchProfile;\n\t\tthis._sessionHold = holdActiveSession(_session.sessionManager, wasFlushed(_session.sessionManager));\n\t}\n\n\t/** Stops advertising the open session to other processes; a runtime that replaces this one holds its own. */\n\treleaseSessionHold(): void {\n\t\tthis._sessionHold?.release();\n\t\tthis._sessionHold = undefined;\n\t}\n\n\tget services(): AgentSessionServices {\n\t\treturn this._services;\n\t}\n\n\tget session(): AgentSession {\n\t\treturn this._session;\n\t}\n\n\tget cwd(): string {\n\t\treturn this._services.cwd;\n\t}\n\n\tget diagnostics(): readonly AgentSessionRuntimeDiagnostic[] {\n\t\treturn this._diagnostics;\n\t}\n\n\tget modelFallbackMessage(): string | undefined {\n\t\treturn this._modelFallbackMessage;\n\t}\n\n\tget launchProfile(): Readonly<AgentSessionLaunchProfile> | undefined {\n\t\treturn this._launchProfile;\n\t}\n\n\tsetRebindSession(rebindSession?: (session: AgentSession) => Promise<void>): void {\n\t\tthis.rebindSession = rebindSession;\n\t}\n\n\t/**\n\t * Set a synchronous callback that runs after `session_shutdown` handlers finish\n\t * but before the current session is invalidated.\n\t *\n\t * This is for host-owned UI teardown that must not yield to the event loop,\n\t * such as detaching extension-provided TUI components before the old extension\n\t * context becomes stale.\n\t */\n\tsetBeforeSessionInvalidate(beforeSessionInvalidate?: () => void): void {\n\t\tthis.beforeSessionInvalidate = beforeSessionInvalidate;\n\t}\n\n\t/** Attachment transitions are ordered by the RPC entry's lifecycle mutex. */\n\tasync emitAttachmentEvent(type: \"session_parked\" | \"session_resumed\"): Promise<void> {\n\t\tconst runner = this.session.extensionRunner;\n\t\tif (runner.hasHandlers(type)) await runner.emit({ type });\n\t}\n\n\tprivate async emitBeforeSwitch(\n\t\treason: \"new\" | \"resume\",\n\t\ttargetSessionFile?: string,\n\t): Promise<{ cancelled: boolean }> {\n\t\tconst runner = this.session.extensionRunner;\n\t\tif (!runner.hasHandlers(\"session_before_switch\")) {\n\t\t\treturn { cancelled: false };\n\t\t}\n\n\t\tconst result = await runner.emit({\n\t\t\ttype: \"session_before_switch\",\n\t\t\treason,\n\t\t\ttargetSessionFile,\n\t\t});\n\t\treturn { cancelled: result?.cancel === true };\n\t}\n\n\tprivate async emitBeforeFork(\n\t\tentryId: string,\n\t\toptions: { position: \"before\" | \"at\" },\n\t): Promise<{ cancelled: boolean }> {\n\t\tconst runner = this.session.extensionRunner;\n\t\tif (!runner.hasHandlers(\"session_before_fork\")) {\n\t\t\treturn { cancelled: false };\n\t\t}\n\n\t\tconst result = await runner.emit({\n\t\t\ttype: \"session_before_fork\",\n\t\t\tentryId,\n\t\t\t...options,\n\t\t});\n\t\treturn { cancelled: result?.cancel === true };\n\t}\n\n\tprivate async teardownCurrent(reason: SessionShutdownEvent[\"reason\"], targetSessionFile?: string): Promise<void> {\n\t\tconst mark = (label: string): void => {\n\t\t\tif (reason === \"resume\") time(label, \"switch\");\n\t\t};\n\t\t// Settle the active response before replacement so the outgoing turn and\n\t\t// any completed tool results are persisted to the old session.\n\t\tawait this.session.abort();\n\t\tmark(\"abort\");\n\t\tconst oldRunner = this.session.extensionRunner;\n\t\t// Test hosts and partial runner implementations may lack identity introspection;\n\t\t// skip removal reporting there rather than break the replacement itself.\n\t\tif (typeof oldRunner.getExtensionIdentities === \"function\") {\n\t\t\tthis._removedOnReplacement = {\n\t\t\t\toldRunner,\n\t\t\t\toldIdentities: oldRunner.getExtensionIdentities(),\n\t\t\t\treason,\n\t\t\t};\n\t\t}\n\t\tawait emitSessionShutdownEvent(oldRunner, {\n\t\t\ttype: \"session_shutdown\",\n\t\t\treason,\n\t\t\ttargetSessionFile,\n\t\t});\n\t\tmark(\"shutdown\");\n\t\tthis.beforeSessionInvalidate?.();\n\t\tconst replaced = this.session.sessionManager;\n\t\tthis.session.dispose();\n\t\t// Nothing writes to the replaced manager once its session is disposed, so the\n\t\t// shared host may hand its session file to another worker.\n\t\tunregisterSessionWriter(replaced);\n\t\tthis.releaseSessionHold();\n\t\tmark(\"dispose\");\n\t}\n\n\tprivate async reportRemovedExtensions(): Promise<void> {\n\t\tconst pending = this._removedOnReplacement;\n\t\tthis._removedOnReplacement = undefined;\n\t\tif (!pending) return;\n\t\tconst newRunner = this.session.extensionRunner;\n\t\tif (typeof newRunner.getExtensionIdentities !== \"function\") return;\n\t\tconst newResolvedPaths = new Set(newRunner.getExtensionIdentities().map((extension) => extension.resolvedPath));\n\t\tconst removed = pending.oldIdentities.filter((extension) => !newResolvedPaths.has(extension.resolvedPath));\n\t\tif (removed.length === 0) return;\n\t\tawait pending.oldRunner.emit({ type: \"session_extensions_removed\", reason: pending.reason, removed });\n\t}\n\n\tprivate async apply(result: CreateAgentSessionRuntimeResult, hold?: SessionHold): Promise<void> {\n\t\tthis._sessionHold = hold ?? holdActiveSession(result.session.sessionManager, false);\n\t\tthis._session = result.session;\n\t\tthis._services = result.services;\n\t\tthis._diagnostics = result.diagnostics;\n\t\tthis._modelFallbackMessage = result.modelFallbackMessage;\n\t\tawait this.reportRemovedExtensions();\n\t}\n\n\tprivate async finishSessionReplacement(withSession?: (ctx: ReplacedSessionContext) => Promise<void>): Promise<void> {\n\t\tif (this.rebindSession) {\n\t\t\tawait this.rebindSession(this.session);\n\t\t}\n\t\tif (withSession) {\n\t\t\tawait withSession(this.session.createReplacedSessionContext());\n\t\t}\n\t}\n\n\tasync switchSession(\n\t\tsessionPath: string,\n\t\toptions?: {\n\t\t\tcwdOverride?: string;\n\t\t\twithSession?: (ctx: ReplacedSessionContext) => Promise<void>;\n\t\t\tprojectTrustContextFactory?: (cwd: string) => ProjectTrustContext;\n\t\t},\n\t): Promise<{ cancelled: boolean }> {\n\t\tresetTimings(\"switch\");\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"resume\", sessionPath);\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\t\ttime(\"beforeSwitch\", \"switch\");\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tconst sessionManager = SessionManager.open(sessionPath, undefined, options?.cwdOverride);\n\t\tassertSessionCwdExists(sessionManager, this.cwd);\n\t\t// Held before the current session is torn down: a session being moved fails the switch here.\n\t\tconst hold = holdActiveSession(sessionManager, wasFlushed(sessionManager));\n\t\ttime(\"open\", \"switch\");\n\t\ttry {\n\t\t\tawait this.teardownCurrent(\"resume\", sessionManager.getSessionFile());\n\t\t\tawait this.apply(\n\t\t\t\tawait this.createRuntime({\n\t\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\t\tsessionManager,\n\t\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"resume\", previousSessionFile },\n\t\t\t\t\tprojectTrustContext: options?.projectTrustContextFactory?.(sessionManager.getCwd()),\n\t\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t\t}),\n\t\t\t\thold,\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tif (this._sessionHold !== hold) hold?.release();\n\t\t\tthrow error;\n\t\t}\n\t\ttime(\"apply\", \"switch\");\n\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\ttime(\"rebind\", \"switch\");\n\t\treturn { cancelled: false };\n\t}\n\n\tasync newSession(options?: {\n\t\tparentSession?: string;\n\t\tsetup?: (sessionManager: SessionManager) => Promise<void>;\n\t\twithSession?: (ctx: ReplacedSessionContext) => Promise<void>;\n\t}): Promise<{ cancelled: boolean }> {\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"new\");\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\tconst sessionManager = this.session.sessionManager.isPersisted()\n\t\t\t? SessionManager.create(this.cwd, sessionDir)\n\t\t\t: SessionManager.inMemory(this.cwd);\n\t\tif (options?.parentSession) {\n\t\t\tsessionManager.newSession({ parentSession: options.parentSession });\n\t\t}\n\n\t\tawait this.teardownCurrent(\"new\", sessionManager.getSessionFile());\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"new\", previousSessionFile },\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tif (options?.setup) {\n\t\t\tawait options.setup(this.session.sessionManager);\n\t\t\tthis.session.agent.state.messages = this.session.sessionManager.buildSessionContext().messages;\n\t\t}\n\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\treturn { cancelled: false };\n\t}\n\n\tasync fork(\n\t\tentryId: string,\n\t\toptions?: { position?: \"before\" | \"at\"; withSession?: (ctx: ReplacedSessionContext) => Promise<void> },\n\t): Promise<{ cancelled: boolean; selectedText?: string }> {\n\t\tconst position = options?.position ?? \"before\";\n\t\tconst beforeResult = await this.emitBeforeFork(entryId, { position });\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn { cancelled: true };\n\t\t}\n\t\tlet targetLeafId: string | null;\n\t\tlet selectedText: string | undefined;\n\n\t\tconst selectedEntry = this.session.sessionManager.getEntry(entryId);\n\t\tif (!selectedEntry) {\n\t\t\tthrow new Error(\"Invalid entry ID for forking\");\n\t\t}\n\n\t\tif (position === \"at\") {\n\t\t\ttargetLeafId = selectedEntry.id;\n\t\t} else {\n\t\t\tif (selectedEntry.type !== \"message\" || selectedEntry.message.role !== \"user\") {\n\t\t\t\tthrow new Error(\"Invalid entry ID for forking\");\n\t\t\t}\n\t\t\ttargetLeafId = selectedEntry.parentId;\n\t\t\tselectedText = extractUserMessageText(selectedEntry.message.content);\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tif (this.session.sessionManager.isPersisted()) {\n\t\t\tconst currentSessionFile = this.session.sessionFile;\n\t\t\tif (!currentSessionFile) {\n\t\t\t\tthrow new Error(\"Persisted session is missing a session file\");\n\t\t\t}\n\t\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\t\tif (!targetLeafId) {\n\t\t\t\tconst sessionManager = SessionManager.create(this.cwd, sessionDir);\n\t\t\t\tsessionManager.newSession({ parentSession: currentSessionFile });\n\t\t\t\tawait this.teardownCurrent(\"fork\", sessionManager.getSessionFile());\n\t\t\t\tawait this.apply(\n\t\t\t\t\tawait this.createRuntime({\n\t\t\t\t\t\tcwd: this.cwd,\n\t\t\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\t\t\treturn { cancelled: false, selectedText };\n\t\t\t}\n\n\t\t\tif (!existsSync(currentSessionFile)) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"This session has not been saved yet. Wait for the first assistant response before cloning or forking it.\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst sessionManager = SessionManager.open(currentSessionFile, sessionDir);\n\t\t\tconst forkedSessionPath = sessionManager.createBranchedSession(targetLeafId);\n\t\t\tif (!forkedSessionPath) {\n\t\t\t\tthrow new Error(\"Failed to create forked session\");\n\t\t\t}\n\t\t\tawait this.teardownCurrent(\"fork\", sessionManager.getSessionFile());\n\t\t\tawait this.apply(\n\t\t\t\tawait this.createRuntime({\n\t\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\t\tsessionManager,\n\t\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t\t}),\n\t\t\t);\n\t\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\t\treturn { cancelled: false, selectedText };\n\t\t}\n\n\t\tconst sessionManager = this.session.sessionManager;\n\t\tawait this.teardownCurrent(\"fork\", sessionManager.getSessionFile());\n\t\tif (!targetLeafId) {\n\t\t\tsessionManager.newSession({ parentSession: previousSessionFile });\n\t\t} else {\n\t\t\tsessionManager.createBranchedSession(targetLeafId);\n\t\t}\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\treturn { cancelled: false, selectedText };\n\t}\n\n\t/**\n\t * Import a session JSONL file and switch runtime state to the imported session.\n\t *\n\t * @returns `{ cancelled: true }` when cancelled by `session_before_switch`, otherwise `{ cancelled: false }`.\n\t * @throws {SessionImportFileNotFoundError} When the input path does not exist.\n\t * @throws {MissingSessionCwdError} When the imported session cwd cannot be resolved and no override is provided.\n\t */\n\tasync importFromJsonl(inputPath: string, cwdOverride?: string): Promise<{ cancelled: boolean }> {\n\t\tconst resolvedPath = resolvePath(inputPath);\n\t\tif (!existsSync(resolvedPath)) {\n\t\t\tthrow new SessionImportFileNotFoundError(resolvedPath);\n\t\t}\n\n\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\tif (!existsSync(sessionDir)) {\n\t\t\tmkdirSync(sessionDir, { recursive: true });\n\t\t}\n\n\t\tlet destinationPath = join(sessionDir, basename(resolvedPath));\n\t\tconst sourceAlreadyStored = resolve(destinationPath) === resolvedPath;\n\t\tif (!sourceAlreadyStored) {\n\t\t\tconst { name, ext } = parse(destinationPath);\n\t\t\tlet suffix = 1;\n\t\t\twhile (existsSync(destinationPath)) {\n\t\t\t\tdestinationPath = join(sessionDir, `${name}-${suffix++}${ext}`);\n\t\t\t}\n\t\t}\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"resume\", destinationPath);\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\treserveSessionWrite(destinationPath);\n\t\tif (!sourceAlreadyStored) {\n\t\t\tcopyFileSync(resolvedPath, destinationPath, constants.COPYFILE_EXCL);\n\t\t}\n\n\t\tconst sessionManager = SessionManager.open(destinationPath, sessionDir, cwdOverride);\n\t\tassertSessionCwdExists(sessionManager, this.cwd);\n\t\tawait this.teardownCurrent(\"resume\", sessionManager.getSessionFile());\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"resume\", previousSessionFile },\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tawait this.finishSessionReplacement();\n\t\treturn { cancelled: false };\n\t}\n\n\tasync dispose(): Promise<void> {\n\t\tawait emitSessionShutdownEvent(this.session.extensionRunner, {\n\t\t\ttype: \"session_shutdown\",\n\t\t\treason: \"quit\",\n\t\t});\n\t\tthis.beforeSessionInvalidate?.();\n\t\tthis.session.dispose();\n\t\tthis.releaseSessionHold();\n\t}\n}\n\n// A persisted session is written to disk with its first assistant message, so one that has an\n// assistant message and no file was moved away after it was read.\nfunction wasFlushed(sessionManager: SessionManager): boolean {\n\treturn sessionManager.getEntries().some((entry) => entry.type === \"message\" && entry.message.role === \"assistant\");\n}\n\nfunction holdActiveSession(sessionManager: SessionManager, expectExisting: boolean): SessionHold | undefined {\n\tconst sessionFile = sessionManager.getSessionFile();\n\tif (!sessionManager.isPersisted() || sessionFile === undefined) return undefined;\n\treturn holdSessionFile(sessionFile, sessionManager.getSessionId(), {\n\t\tcwd: sessionManager.getCwd(),\n\t\texpectExisting,\n\t});\n}\n\n/**\n * Create the initial runtime from a runtime factory and initial session target.\n *\n * The same factory is stored on the returned AgentSessionRuntime and reused for\n * later /new, /resume, /fork, and import flows.\n */\nexport async function createAgentSessionRuntime(\n\tcreateRuntime: CreateAgentSessionRuntimeFactory,\n\toptions: {\n\t\tcwd: string;\n\t\tagentDir: string;\n\t\tsessionManager: SessionManager;\n\t\tsessionStartEvent?: SessionStartEvent;\n\t\tlaunchProfile?: Readonly<AgentSessionLaunchProfile>;\n\t},\n): Promise<AgentSessionRuntime> {\n\tassertSessionCwdExists(options.sessionManager, options.cwd);\n\tconst result = await createRuntime(options);\n\treturn new AgentSessionRuntime(\n\t\tresult.session,\n\t\tresult.services,\n\t\tcreateRuntime,\n\t\tresult.diagnostics,\n\t\tresult.modelFallbackMessage,\n\t\toptions.launchProfile,\n\t);\n}\n\nexport {\n\ttype AgentSessionRuntimeDiagnostic,\n\ttype AgentSessionServices,\n\ttype CreateAgentSessionFromServicesOptions,\n\ttype CreateAgentSessionServicesOptions,\n\tcreateAgentSessionFromServices,\n\tcreateAgentSessionServices,\n} from \"./agent-session-services.ts\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,7 @@ import { CODEX_RESPONSES_API } from "./extensions/builtin/service-tier.js";
60
60
  import { deriveExtensionRegistrationId } from "./extensions/builtin/tool-search/engine/marker.js";
61
61
  import { getToolSearchService } from "./extensions/builtin/tool-search/service.js";
62
62
  import { ExecuteToolError, ExtensionRunner, wrapRegisteredTools, } from "./extensions/index.js";
63
+ import { projectKernelPrelude } from "./extensions/kernel-prelude.js";
63
64
  import { emitSessionShutdownEvent } from "./extensions/runner.js";
64
65
  import { normalizeToolExposure, RUNTIME_EXTENSION_PATH } from "./extensions/types.js";
65
66
  import { shouldWarnHighReasoning } from "./high-reasoning-warning.js";
@@ -70,6 +71,7 @@ import { getModelNarrowingPatterns, resolveModelScope } from "./model-resolver.j
70
71
  import { PROMPT_CACHE_SAFE_WAIT_ENV, resolvePromptCacheSafeWaitSeconds } from "./prompt-cache-budget.js";
71
72
  import { PromptCachePrefixBuilds } from "./prompt-cache-prefix-request.js";
72
73
  import { expandPromptTemplateWithMetadata } from "./prompt-templates.js";
74
+ import { rejectedImageSources } from "./provider-rejected-images.js";
73
75
  import { createProviderTimeoutRetryPlan, runBoundedRetryContinuation } from "./provider-timeout-retry.js";
74
76
  import { isBillingErrorMessage } from "./retry-fallback/billing.js";
75
77
  import { formatSelector } from "./retry-fallback/chains.js";
@@ -1677,6 +1679,12 @@ export class AgentSession {
1677
1679
  if (retryOutcome === "not-handled" && cursorQuotaRe && msg.errorMessage) {
1678
1680
  msg.errorMessage = `${msg.errorMessage} (likely provider usage/quota exhaustion: conversation is well below the model context window)`;
1679
1681
  }
1682
+ if (retryOutcome === "not-handled" && msg.stopReason === "error" && msg.errorMessage) {
1683
+ const rejectedImages = rejectedImageSources(this.agent.state.messages, msg);
1684
+ if (rejectedImages.length > 0) {
1685
+ msg.errorMessage = `${msg.errorMessage} (the rejected image from ${rejectedImages.join(", ")} is left out of later requests; send your next message to continue)`;
1686
+ }
1687
+ }
1680
1688
  if (retryOutcome === "not-handled" && this._retryAttempt > 0 && msg.errorMessage) {
1681
1689
  const attempt = this._retryAttempt;
1682
1690
  this._retryAttempt = 0;
@@ -2227,6 +2235,8 @@ export class AgentSession {
2227
2235
  description: definition.description,
2228
2236
  parameters: definition.parameters,
2229
2237
  promptGuidelines: definition.promptGuidelines,
2238
+ kernelPrelude: projectKernelPrelude(definition.name, definition.kernelPrelude),
2239
+ permissionParser: definition.permissionParser,
2230
2240
  sourceInfo,
2231
2241
  ...normalizeToolExposure(definition),
2232
2242
  }));
@@ -2439,6 +2449,7 @@ export class AgentSession {
2439
2449
  }
2440
2450
  const activeToolNamesChanged = validToolNames.length !== this.agent.state.tools.length ||
2441
2451
  validToolNames.some((name, index) => name !== this.agent.state.tools[index]?.name);
2452
+ const previousToolNames = new Set(this.agent.state.tools.map((tool) => tool.name));
2442
2453
  this.agent.state.tools = tools;
2443
2454
  for (const name of validToolNames) {
2444
2455
  if (!this._declaredToolNames.includes(name))
@@ -2456,6 +2467,11 @@ export class AgentSession {
2456
2467
  this._incrementMessageRevision();
2457
2468
  }
2458
2469
  }
2470
+ // senpi#2128: notification-only; the runner reports handler failures, so nothing awaits it.
2471
+ const activatedToolNames = validToolNames.filter((name) => !previousToolNames.has(name));
2472
+ if (activatedToolNames.length > 0 && this._extensionRunner?.hasHandlers("tool_activated")) {
2473
+ void this._extensionRunner.emit({ type: "tool_activated", toolNames: activatedToolNames });
2474
+ }
2459
2475
  }
2460
2476
  /**
2461
2477
  * senpi#2095: a model that accepts `allowed_tools` is declared every tool this session has
@@ -3322,11 +3338,9 @@ export class AgentSession {
3322
3338
  if (abortController.signal.aborted) {
3323
3339
  return;
3324
3340
  }
3325
- const message = error instanceof Error ? error.message : String(error);
3326
- this._extensionRunner.emitError({
3327
- extensionPath: RUNTIME_EXTENSION_PATH,
3328
- event: "session_title_generation",
3329
- error: message,
3341
+ // A missing title is cosmetic, so the failure stays out of the runtime-error surface.
3342
+ this._sessionLogger.debug("session_title_failed", {
3343
+ error: error instanceof Error ? error.message : String(error),
3330
3344
  });
3331
3345
  }
3332
3346
  finally {