@code-yeongyu/senpi 2026.9.9-2 → 2026.9.10-2

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 (1062) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +2 -0
  3. package/dist/beta/omo-local-update-worker.js.map +1 -1
  4. package/dist/beta/omo-local-update.d.ts.map +1 -1
  5. package/dist/brand-dir-migration.js.map +1 -1
  6. package/dist/cli/args.d.ts.map +1 -1
  7. package/dist/cli/args.js +1 -0
  8. package/dist/cli/args.js.map +1 -1
  9. package/dist/cli/auth-check.js.map +1 -1
  10. package/dist/cli/experimental/command.d.ts.map +1 -1
  11. package/dist/cli/grok-neo-gate.js.map +1 -1
  12. package/dist/cli/startup-ui.js.map +1 -1
  13. package/dist/cli.js.map +1 -1
  14. package/dist/client/remote-session.d.ts.map +1 -1
  15. package/dist/client/remote-session.js.map +1 -1
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +43 -19
  18. package/dist/config.js.map +1 -1
  19. package/dist/core/agent-abort-provenance.d.ts.map +1 -1
  20. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  21. package/dist/core/agent-session-runtime.js.map +1 -1
  22. package/dist/core/agent-session.d.ts +74 -6
  23. package/dist/core/agent-session.d.ts.map +1 -1
  24. package/dist/core/agent-session.js +161 -24
  25. package/dist/core/agent-session.js.map +1 -1
  26. package/dist/core/agent-settled-delivery.d.ts.map +1 -1
  27. package/dist/core/auth-providers.js.map +1 -1
  28. package/dist/core/auth-storage.d.ts.map +1 -1
  29. package/dist/core/auth-storage.js.map +1 -1
  30. package/dist/core/brand.js.map +1 -1
  31. package/dist/core/compaction/branch-summarization.js.map +1 -1
  32. package/dist/core/compaction/compaction.js.map +1 -1
  33. package/dist/core/compaction/lifecycle.d.ts.map +1 -1
  34. package/dist/core/compaction/stream-watchdog.d.ts.map +1 -1
  35. package/dist/core/compaction/utils.js.map +1 -1
  36. package/dist/core/credential-accounts.js.map +1 -1
  37. package/dist/core/credential-pool/classify.js.map +1 -1
  38. package/dist/core/credential-pool/failover.d.ts.map +1 -1
  39. package/dist/core/credential-pool/rotation-stream.js.map +1 -1
  40. package/dist/core/credential-pool/state-store.d.ts +2 -2
  41. package/dist/core/credential-pool/state-store.d.ts.map +1 -1
  42. package/dist/core/credential-pool/state-store.js.map +1 -1
  43. package/dist/core/dynamic-prompt/verification.d.ts.map +1 -1
  44. package/dist/core/edited-assistant-message.d.ts +24 -0
  45. package/dist/core/edited-assistant-message.d.ts.map +1 -0
  46. package/dist/core/edited-assistant-message.js +57 -0
  47. package/dist/core/edited-assistant-message.js.map +1 -0
  48. package/dist/core/experimental.d.ts.map +1 -1
  49. package/dist/core/extensions/builtin/ask-user/extension.d.ts +3 -0
  50. package/dist/core/extensions/builtin/ask-user/extension.d.ts.map +1 -0
  51. package/dist/core/extensions/builtin/ask-user/extension.js +47 -0
  52. package/dist/core/extensions/builtin/ask-user/extension.js.map +1 -0
  53. package/dist/core/extensions/builtin/ask-user/family.d.ts +8 -0
  54. package/dist/core/extensions/builtin/ask-user/family.d.ts.map +1 -0
  55. package/dist/core/extensions/builtin/ask-user/family.js +6 -0
  56. package/dist/core/extensions/builtin/ask-user/family.js.map +1 -0
  57. package/dist/core/extensions/builtin/ask-user/format.d.ts +22 -0
  58. package/dist/core/extensions/builtin/ask-user/format.d.ts.map +1 -0
  59. package/dist/core/extensions/builtin/ask-user/format.js +109 -0
  60. package/dist/core/extensions/builtin/ask-user/format.js.map +1 -0
  61. package/dist/core/extensions/builtin/ask-user/index.d.ts +4 -0
  62. package/dist/core/extensions/builtin/ask-user/index.d.ts.map +1 -0
  63. package/dist/core/extensions/builtin/ask-user/index.js +4 -0
  64. package/dist/core/extensions/builtin/ask-user/index.js.map +1 -0
  65. package/dist/core/extensions/builtin/ask-user/params.d.ts +27 -0
  66. package/dist/core/extensions/builtin/ask-user/params.d.ts.map +1 -0
  67. package/dist/core/extensions/builtin/ask-user/params.js +78 -0
  68. package/dist/core/extensions/builtin/ask-user/params.js.map +1 -0
  69. package/dist/core/extensions/builtin/ask-user/pending.d.ts +58 -0
  70. package/dist/core/extensions/builtin/ask-user/pending.d.ts.map +1 -0
  71. package/dist/core/extensions/builtin/ask-user/pending.js +130 -0
  72. package/dist/core/extensions/builtin/ask-user/pending.js.map +1 -0
  73. package/dist/core/extensions/builtin/ask-user/registry.d.ts +21 -0
  74. package/dist/core/extensions/builtin/ask-user/registry.d.ts.map +1 -0
  75. package/dist/core/extensions/builtin/ask-user/registry.js +20 -0
  76. package/dist/core/extensions/builtin/ask-user/registry.js.map +1 -0
  77. package/dist/core/extensions/builtin/ask-user/render.d.ts +4 -0
  78. package/dist/core/extensions/builtin/ask-user/render.d.ts.map +1 -0
  79. package/dist/core/extensions/builtin/ask-user/render.js +25 -0
  80. package/dist/core/extensions/builtin/ask-user/render.js.map +1 -0
  81. package/dist/core/extensions/builtin/ask-user/resume.d.ts +4 -0
  82. package/dist/core/extensions/builtin/ask-user/resume.d.ts.map +1 -0
  83. package/dist/core/extensions/builtin/ask-user/resume.js +85 -0
  84. package/dist/core/extensions/builtin/ask-user/resume.js.map +1 -0
  85. package/dist/core/extensions/builtin/ask-user/schema.d.ts +40 -0
  86. package/dist/core/extensions/builtin/ask-user/schema.d.ts.map +1 -0
  87. package/dist/core/extensions/builtin/ask-user/schema.js +102 -0
  88. package/dist/core/extensions/builtin/ask-user/schema.js.map +1 -0
  89. package/dist/core/extensions/builtin/ask-user/tool.d.ts +8 -0
  90. package/dist/core/extensions/builtin/ask-user/tool.d.ts.map +1 -0
  91. package/dist/core/extensions/builtin/ask-user/tool.js +195 -0
  92. package/dist/core/extensions/builtin/ask-user/tool.js.map +1 -0
  93. package/dist/core/extensions/builtin/bash-timeout/timeout.js.map +1 -1
  94. package/dist/core/extensions/builtin/btw/panel.d.ts.map +1 -1
  95. package/dist/core/extensions/builtin/btw/side-query.js.map +1 -1
  96. package/dist/core/extensions/builtin/cache-keepalive/index.d.ts.map +1 -1
  97. package/dist/core/extensions/builtin/cache-keepalive/index.js.map +1 -1
  98. package/dist/core/extensions/builtin/claude-sdk-oauth/account-command.js.map +1 -1
  99. package/dist/core/extensions/builtin/claude-sdk-oauth/account-management.js.map +1 -1
  100. package/dist/core/extensions/builtin/claude-sdk-oauth/accounts.d.ts.map +1 -1
  101. package/dist/core/extensions/builtin/claude-sdk-oauth/accounts.js.map +1 -1
  102. package/dist/core/extensions/builtin/claude-sdk-oauth/affinity.d.ts.map +1 -1
  103. package/dist/core/extensions/builtin/claude-sdk-oauth/affinity.js.map +1 -1
  104. package/dist/core/extensions/builtin/claude-sdk-oauth/availability.d.ts +11 -0
  105. package/dist/core/extensions/builtin/claude-sdk-oauth/availability.d.ts.map +1 -1
  106. package/dist/core/extensions/builtin/claude-sdk-oauth/availability.js +12 -1
  107. package/dist/core/extensions/builtin/claude-sdk-oauth/availability.js.map +1 -1
  108. package/dist/core/extensions/builtin/claude-sdk-oauth/bounded-queue.d.ts.map +1 -1
  109. package/dist/core/extensions/builtin/claude-sdk-oauth/custom-tools.d.ts.map +1 -1
  110. package/dist/core/extensions/builtin/claude-sdk-oauth/errors.d.ts.map +1 -1
  111. package/dist/core/extensions/builtin/claude-sdk-oauth/executable-path-lookup.d.ts +14 -0
  112. package/dist/core/extensions/builtin/claude-sdk-oauth/executable-path-lookup.d.ts.map +1 -0
  113. package/dist/core/extensions/builtin/claude-sdk-oauth/executable-path-lookup.js +42 -0
  114. package/dist/core/extensions/builtin/claude-sdk-oauth/executable-path-lookup.js.map +1 -0
  115. package/dist/core/extensions/builtin/claude-sdk-oauth/executable.d.ts +18 -0
  116. package/dist/core/extensions/builtin/claude-sdk-oauth/executable.d.ts.map +1 -1
  117. package/dist/core/extensions/builtin/claude-sdk-oauth/executable.js +105 -36
  118. package/dist/core/extensions/builtin/claude-sdk-oauth/executable.js.map +1 -1
  119. package/dist/core/extensions/builtin/claude-sdk-oauth/failover.d.ts.map +1 -1
  120. package/dist/core/extensions/builtin/claude-sdk-oauth/index.js.map +1 -1
  121. package/dist/core/extensions/builtin/claude-sdk-oauth/refusal.d.ts.map +1 -1
  122. package/dist/core/extensions/builtin/claude-sdk-oauth/sdk-boundary.d.ts.map +1 -1
  123. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding.d.ts.map +1 -1
  124. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding.js +3 -0
  125. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding.js.map +1 -1
  126. package/dist/core/extensions/builtin/claude-sdk-oauth/session-commit-boundary.d.ts.map +1 -1
  127. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reaper.d.ts.map +1 -1
  128. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.d.ts.map +1 -1
  129. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.js +19 -10
  130. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.js.map +1 -1
  131. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-pump.d.ts.map +1 -1
  132. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-pump.js.map +1 -1
  133. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-state.d.ts.map +1 -1
  134. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry.d.ts.map +1 -1
  135. package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.js.map +1 -1
  136. package/dist/core/extensions/builtin/claude-sdk-oauth/session-turn-attempt.d.ts.map +1 -1
  137. package/dist/core/extensions/builtin/claude-sdk-oauth/session-turn-types.d.ts.map +1 -1
  138. package/dist/core/extensions/builtin/claude-sdk-oauth/settings.js.map +1 -1
  139. package/dist/core/extensions/builtin/claude-sdk-oauth/stream-protocol.d.ts +1 -1
  140. package/dist/core/extensions/builtin/claude-sdk-oauth/tool-watch.js.map +1 -1
  141. package/dist/core/extensions/builtin/claude-sdk-oauth/tools.d.ts.map +1 -1
  142. package/dist/core/extensions/builtin/compaction/context-reduction.js.map +1 -1
  143. package/dist/core/extensions/builtin/compaction/deterministic-fallback.js.map +1 -1
  144. package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
  145. package/dist/core/extensions/builtin/compaction/lane-policy.js.map +1 -1
  146. package/dist/core/extensions/builtin/compaction/log.js.map +1 -1
  147. package/dist/core/extensions/builtin/compaction/model-usability-budget.d.ts.map +1 -1
  148. package/dist/core/extensions/builtin/compaction/openai-remote-convert.js.map +1 -1
  149. package/dist/core/extensions/builtin/compaction/openai-remote.js.map +1 -1
  150. package/dist/core/extensions/builtin/compaction/overflow-retry.d.ts.map +1 -1
  151. package/dist/core/extensions/builtin/compaction/resume-slice.d.ts +23 -0
  152. package/dist/core/extensions/builtin/compaction/resume-slice.d.ts.map +1 -0
  153. package/dist/core/extensions/builtin/compaction/resume-slice.js +99 -0
  154. package/dist/core/extensions/builtin/compaction/resume-slice.js.map +1 -0
  155. package/dist/core/extensions/builtin/compaction/speculative.d.ts.map +1 -1
  156. package/dist/core/extensions/builtin/compaction/summarization-retry.js.map +1 -1
  157. package/dist/core/extensions/builtin/config-reload/index.d.ts.map +1 -1
  158. package/dist/core/extensions/builtin/config-reload/index.js.map +1 -1
  159. package/dist/core/extensions/builtin/config-reload/log.js.map +1 -1
  160. package/dist/core/extensions/builtin/config-reload/protocol.d.ts.map +1 -1
  161. package/dist/core/extensions/builtin/config-reload/reload-deferral.d.ts.map +1 -1
  162. package/dist/core/extensions/builtin/config-reload/watch-engine.d.ts.map +1 -1
  163. package/dist/core/extensions/builtin/config-reload/watch-event-source.js.map +1 -1
  164. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.js.map +1 -1
  165. package/dist/core/extensions/builtin/cursor-cli-oauth/accounts.d.ts.map +1 -1
  166. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.d.ts.map +1 -1
  167. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.js.map +1 -1
  168. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.d.ts.map +1 -1
  169. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.js.map +1 -1
  170. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.d.ts.map +1 -1
  171. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.js.map +1 -1
  172. package/dist/core/extensions/builtin/cursor-cli-oauth/failover.d.ts.map +1 -1
  173. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.d.ts.map +1 -1
  174. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.js.map +1 -1
  175. package/dist/core/extensions/builtin/cursor-cli-oauth/index.js.map +1 -1
  176. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.js.map +1 -1
  177. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.d.ts.map +1 -1
  178. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.js.map +1 -1
  179. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.d.ts.map +1 -1
  180. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.js.map +1 -1
  181. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.js.map +1 -1
  182. package/dist/core/extensions/builtin/cursor-cli-oauth/transport.d.ts.map +1 -1
  183. package/dist/core/extensions/builtin/goal/cache-warm-renderer.js.map +1 -1
  184. package/dist/core/extensions/builtin/goal/command-registration.js.map +1 -1
  185. package/dist/core/extensions/builtin/goal/direct-input-lifecycle.d.ts.map +1 -1
  186. package/dist/core/extensions/builtin/goal/elapsed-ticker.d.ts.map +1 -1
  187. package/dist/core/extensions/builtin/goal/errors.d.ts.map +1 -1
  188. package/dist/core/extensions/builtin/goal/monitor-continuation.d.ts.map +1 -1
  189. package/dist/core/extensions/builtin/goal/monitor-continuation.js +57 -4
  190. package/dist/core/extensions/builtin/goal/monitor-continuation.js.map +1 -1
  191. package/dist/core/extensions/builtin/goal/persistence.js.map +1 -1
  192. package/dist/core/extensions/builtin/goal/prompt.d.ts.map +1 -1
  193. package/dist/core/extensions/builtin/goal/prompt.js +9 -6
  194. package/dist/core/extensions/builtin/goal/prompt.js.map +1 -1
  195. package/dist/core/extensions/builtin/goal/store.js.map +1 -1
  196. package/dist/core/extensions/builtin/goal/tool-registration.js +1 -1
  197. package/dist/core/extensions/builtin/goal/tool-registration.js.map +1 -1
  198. package/dist/core/extensions/builtin/goal/turn-usage.d.ts.map +1 -1
  199. package/dist/core/extensions/builtin/goal/types.d.ts.map +1 -1
  200. package/dist/core/extensions/builtin/goal/ui.js.map +1 -1
  201. package/dist/core/extensions/builtin/goal/wait-progress.js.map +1 -1
  202. package/dist/core/extensions/builtin/goal/wait-ticker.d.ts.map +1 -1
  203. package/dist/core/extensions/builtin/gpt-account.d.ts.map +1 -1
  204. package/dist/core/extensions/builtin/gpt-account.js +1 -0
  205. package/dist/core/extensions/builtin/gpt-account.js.map +1 -1
  206. package/dist/core/extensions/builtin/gpt-apply-patch/apply.js.map +1 -1
  207. package/dist/core/extensions/builtin/gpt-apply-patch/errors.d.ts.map +1 -1
  208. package/dist/core/extensions/builtin/gpt-apply-patch/extension.d.ts.map +1 -1
  209. package/dist/core/extensions/builtin/gpt-apply-patch/preview-format.js.map +1 -1
  210. package/dist/core/extensions/builtin/gpt-apply-patch/preview.js.map +1 -1
  211. package/dist/core/extensions/builtin/gpt-apply-patch/streaming-parser.d.ts.map +1 -1
  212. package/dist/core/extensions/builtin/gpt-apply-patch/tool.js.map +1 -1
  213. package/dist/core/extensions/builtin/help/panel.d.ts.map +1 -1
  214. package/dist/core/extensions/builtin/history-search/index.js.map +1 -1
  215. package/dist/core/extensions/builtin/history-search/overlay.d.ts.map +1 -1
  216. package/dist/core/extensions/builtin/hooks/command-runner.js.map +1 -1
  217. package/dist/core/extensions/builtin/hooks/dispatcher.js.map +1 -1
  218. package/dist/core/extensions/builtin/hooks/plugin-loader.js.map +1 -1
  219. package/dist/core/extensions/builtin/hooks/tool-adapter.js.map +1 -1
  220. package/dist/core/extensions/builtin/hooks/trust-storage.d.ts.map +1 -1
  221. package/dist/core/extensions/builtin/hooks/trust.js.map +1 -1
  222. package/dist/core/extensions/builtin/hooks/types.d.ts.map +1 -1
  223. package/dist/core/extensions/builtin/imagegen/index.js.map +1 -1
  224. package/dist/core/extensions/builtin/imagegen/params.d.ts +10 -1
  225. package/dist/core/extensions/builtin/imagegen/params.d.ts.map +1 -1
  226. package/dist/core/extensions/builtin/imagegen/params.js +29 -3
  227. package/dist/core/extensions/builtin/imagegen/params.js.map +1 -1
  228. package/dist/core/extensions/builtin/imagegen/paths.d.ts +10 -4
  229. package/dist/core/extensions/builtin/imagegen/paths.d.ts.map +1 -1
  230. package/dist/core/extensions/builtin/imagegen/paths.js +43 -10
  231. package/dist/core/extensions/builtin/imagegen/paths.js.map +1 -1
  232. package/dist/core/extensions/builtin/imagegen/reference-images.d.ts +9 -0
  233. package/dist/core/extensions/builtin/imagegen/reference-images.d.ts.map +1 -1
  234. package/dist/core/extensions/builtin/imagegen/reference-images.js +40 -25
  235. package/dist/core/extensions/builtin/imagegen/reference-images.js.map +1 -1
  236. package/dist/core/extensions/builtin/imagegen/skill/SKILL.md +44 -62
  237. package/dist/core/extensions/builtin/imagegen/tool.d.ts +5 -0
  238. package/dist/core/extensions/builtin/imagegen/tool.d.ts.map +1 -1
  239. package/dist/core/extensions/builtin/imagegen/tool.js +58 -12
  240. package/dist/core/extensions/builtin/imagegen/tool.js.map +1 -1
  241. package/dist/core/extensions/builtin/index.d.ts.map +1 -1
  242. package/dist/core/extensions/builtin/index.js +2 -0
  243. package/dist/core/extensions/builtin/index.js.map +1 -1
  244. package/dist/core/extensions/builtin/look-at/model-selector.d.ts.map +1 -1
  245. package/dist/core/extensions/builtin/look-at/runner.js.map +1 -1
  246. package/dist/core/extensions/builtin/loop/command.js.map +1 -1
  247. package/dist/core/extensions/builtin/loop/cron-planner.js.map +1 -1
  248. package/dist/core/extensions/builtin/loop/index.d.ts.map +1 -1
  249. package/dist/core/extensions/builtin/loop/index.js.map +1 -1
  250. package/dist/core/extensions/builtin/loop/loopfile.d.ts.map +1 -1
  251. package/dist/core/extensions/builtin/loop/scheduler.js.map +1 -1
  252. package/dist/core/extensions/builtin/loop/status.d.ts.map +1 -1
  253. package/dist/core/extensions/builtin/loop/store.d.ts.map +1 -1
  254. package/dist/core/extensions/builtin/loop/types.d.ts.map +1 -1
  255. package/dist/core/extensions/builtin/loop-guard/detectors.d.ts.map +1 -1
  256. package/dist/core/extensions/builtin/loop-guard/escalation.d.ts.map +1 -1
  257. package/dist/core/extensions/builtin/loop-guard/escalation.js.map +1 -1
  258. package/dist/core/extensions/builtin/loop-guard/index.js.map +1 -1
  259. package/dist/core/extensions/builtin/loop-guard/notice.js.map +1 -1
  260. package/dist/core/extensions/builtin/loop-guard/renderer.js.map +1 -1
  261. package/dist/core/extensions/builtin/loop-guard/tracker.d.ts.map +1 -1
  262. package/dist/core/extensions/builtin/mcp/active-set.js.map +1 -1
  263. package/dist/core/extensions/builtin/mcp/auth/callback.d.ts.map +1 -1
  264. package/dist/core/extensions/builtin/mcp/auth/oauth-errors.d.ts.map +1 -1
  265. package/dist/core/extensions/builtin/mcp/auth/oauth-errors.js.map +1 -1
  266. package/dist/core/extensions/builtin/mcp/auth/oauth-provider.d.ts.map +1 -1
  267. package/dist/core/extensions/builtin/mcp/auth/oauth-refresh.d.ts.map +1 -1
  268. package/dist/core/extensions/builtin/mcp/auth/oauth-refresh.js.map +1 -1
  269. package/dist/core/extensions/builtin/mcp/auth/oauth.js.map +1 -1
  270. package/dist/core/extensions/builtin/mcp/auth/token-store.d.ts.map +1 -1
  271. package/dist/core/extensions/builtin/mcp/catalog.js.map +1 -1
  272. package/dist/core/extensions/builtin/mcp/config-schema.d.ts +28 -28
  273. package/dist/core/extensions/builtin/mcp/config.d.ts.map +1 -1
  274. package/dist/core/extensions/builtin/mcp/connection.d.ts.map +1 -1
  275. package/dist/core/extensions/builtin/mcp/elicitation.d.ts.map +1 -1
  276. package/dist/core/extensions/builtin/mcp/elicitation.js.map +1 -1
  277. package/dist/core/extensions/builtin/mcp/errors.d.ts.map +1 -1
  278. package/dist/core/extensions/builtin/mcp/errors.js.map +1 -1
  279. package/dist/core/extensions/builtin/mcp/expose/register.js.map +1 -1
  280. package/dist/core/extensions/builtin/mcp/expose/session.js.map +1 -1
  281. package/dist/core/extensions/builtin/mcp/guard/output-guard.d.ts.map +1 -1
  282. package/dist/core/extensions/builtin/mcp/guard/output-guard.js.map +1 -1
  283. package/dist/core/extensions/builtin/mcp/log.js.map +1 -1
  284. package/dist/core/extensions/builtin/mcp/reconnect.d.ts.map +1 -1
  285. package/dist/core/extensions/builtin/mcp/service-register.js.map +1 -1
  286. package/dist/core/extensions/builtin/mcp/service.d.ts.map +1 -1
  287. package/dist/core/extensions/builtin/mcp/service.js.map +1 -1
  288. package/dist/core/extensions/builtin/nested-agents-md/core/errors.d.ts.map +1 -1
  289. package/dist/core/extensions/builtin/nested-agents-md/core/injection-cache.d.ts.map +1 -1
  290. package/dist/core/extensions/builtin/nested-agents-md/core/types.d.ts.map +1 -1
  291. package/dist/core/extensions/builtin/oauth-login-interaction.d.ts +13 -6
  292. package/dist/core/extensions/builtin/oauth-login-interaction.d.ts.map +1 -1
  293. package/dist/core/extensions/builtin/oauth-login-interaction.js +43 -19
  294. package/dist/core/extensions/builtin/oauth-login-interaction.js.map +1 -1
  295. package/dist/core/extensions/builtin/openai-image-gen/inject.d.ts +5 -3
  296. package/dist/core/extensions/builtin/openai-image-gen/inject.d.ts.map +1 -1
  297. package/dist/core/extensions/builtin/openai-image-gen/inject.js +7 -4
  298. package/dist/core/extensions/builtin/openai-image-gen/inject.js.map +1 -1
  299. package/dist/core/extensions/builtin/permission-system/arity.d.ts.map +1 -1
  300. package/dist/core/extensions/builtin/permission-system/parsers.d.ts.map +1 -1
  301. package/dist/core/extensions/builtin/permission-system/prompt.js.map +1 -1
  302. package/dist/core/extensions/builtin/permission-system/service.d.ts.map +1 -1
  303. package/dist/core/extensions/builtin/permission-system/service.js.map +1 -1
  304. package/dist/core/extensions/builtin/permission-system/types.d.ts.map +1 -1
  305. package/dist/core/extensions/builtin/permission-system/wildcard.d.ts.map +1 -1
  306. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5-1.js +1 -1
  307. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5-1.js.map +1 -1
  308. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5.js +1 -1
  309. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5.js.map +1 -1
  310. package/dist/core/extensions/builtin/prompt-preset/claude-opus-5.js +1 -1
  311. package/dist/core/extensions/builtin/prompt-preset/claude-opus-5.js.map +1 -1
  312. package/dist/core/extensions/builtin/prompt-preset/execution-tooling.d.ts.map +1 -1
  313. package/dist/core/extensions/builtin/prompt-preset/glm-5.d.ts +1 -1
  314. package/dist/core/extensions/builtin/prompt-preset/glm-5.d.ts.map +1 -1
  315. package/dist/core/extensions/builtin/prompt-preset/glm-5.js +1 -1
  316. package/dist/core/extensions/builtin/prompt-preset/glm-5.js.map +1 -1
  317. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.d.ts.map +1 -1
  318. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.js +1 -1
  319. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.js.map +1 -1
  320. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.d.ts +4 -4
  321. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.d.ts.map +1 -1
  322. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.js +4 -4
  323. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.js.map +1 -1
  324. package/dist/core/extensions/builtin/prompt-preset/kimi-k3.js +1 -1
  325. package/dist/core/extensions/builtin/prompt-preset/kimi-k3.js.map +1 -1
  326. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  327. package/dist/core/extensions/builtin/rule-activation/renderer.js.map +1 -1
  328. package/dist/core/extensions/builtin/rules/commands.js.map +1 -1
  329. package/dist/core/extensions/builtin/rules/config.js.map +1 -1
  330. package/dist/core/extensions/builtin/rules/rules/errors.d.ts.map +1 -1
  331. package/dist/core/extensions/builtin/rules/rules/project-root.js.map +1 -1
  332. package/dist/core/extensions/builtin/rules/ui/dynamic-border.d.ts.map +1 -1
  333. package/dist/core/extensions/builtin/rules/ui/rules-banner.d.ts.map +1 -1
  334. package/dist/core/extensions/builtin/terminal/extension.d.ts.map +1 -1
  335. package/dist/core/extensions/builtin/terminal/manager.d.ts.map +1 -1
  336. package/dist/core/extensions/builtin/terminal/manager.js.map +1 -1
  337. package/dist/core/extensions/builtin/terminal/monitor-notify.d.ts.map +1 -1
  338. package/dist/core/extensions/builtin/terminal/monitor-registry.d.ts.map +1 -1
  339. package/dist/core/extensions/builtin/terminal/monitor-status-ticker.d.ts.map +1 -1
  340. package/dist/core/extensions/builtin/terminal/notify.d.ts.map +1 -1
  341. package/dist/core/extensions/builtin/terminal/restore.d.ts.map +1 -1
  342. package/dist/core/extensions/builtin/terminal/runtime-session.d.ts.map +1 -1
  343. package/dist/core/extensions/builtin/terminal/session-bundle.d.ts.map +1 -1
  344. package/dist/core/extensions/builtin/terminal/terminal-manifest.d.ts.map +1 -1
  345. package/dist/core/extensions/builtin/terminal/tools/render.d.ts.map +1 -1
  346. package/dist/core/extensions/builtin/todotools/index.js.map +1 -1
  347. package/dist/core/extensions/builtin/todotools/normalize.js.map +1 -1
  348. package/dist/core/extensions/builtin/todotools/todo-operations.js.map +1 -1
  349. package/dist/core/extensions/builtin/todotools/todo-widget-component.d.ts.map +1 -1
  350. package/dist/core/extensions/builtin/todotools/todo-widget-component.js.map +1 -1
  351. package/dist/core/extensions/builtin/todotools/tools/todo.js.map +1 -1
  352. package/dist/core/extensions/builtin/tool-search/native-search.d.ts.map +1 -1
  353. package/dist/core/extensions/builtin/tool-search/service.d.ts.map +1 -1
  354. package/dist/core/extensions/builtin/tool-search/service.js.map +1 -1
  355. package/dist/core/extensions/builtin/ttsr/detectors/leak-context.d.ts.map +1 -1
  356. package/dist/core/extensions/builtin/ttsr/detectors/token-grammar.d.ts.map +1 -1
  357. package/dist/core/extensions/builtin/ttsr/manager.d.ts.map +1 -1
  358. package/dist/core/extensions/builtin/ttsr/message-update.js.map +1 -1
  359. package/dist/core/extensions/builtin/ttsr/repetitive-turns-lane.d.ts.map +1 -1
  360. package/dist/core/extensions/builtin/ttsr/stream-utils.d.ts.map +1 -1
  361. package/dist/core/extensions/builtin/ttsr/watch.d.ts.map +1 -1
  362. package/dist/core/extensions/builtin/webfetch/webfetch/errors.d.ts.map +1 -1
  363. package/dist/core/extensions/builtin/webfetch/webfetch/tool.d.ts +1 -1
  364. package/dist/core/extensions/builtin/websearch/websearch/native.js.map +1 -1
  365. package/dist/core/extensions/loader.js.map +1 -1
  366. package/dist/core/extensions/notice/box.d.ts.map +1 -1
  367. package/dist/core/extensions/notice/box.js +13 -5
  368. package/dist/core/extensions/notice/box.js.map +1 -1
  369. package/dist/core/extensions/runner.d.ts +11 -0
  370. package/dist/core/extensions/runner.d.ts.map +1 -1
  371. package/dist/core/extensions/runner.js +23 -0
  372. package/dist/core/extensions/runner.js.map +1 -1
  373. package/dist/core/extensions/types.d.ts +71 -1
  374. package/dist/core/extensions/types.d.ts.map +1 -1
  375. package/dist/core/extensions/types.js.map +1 -1
  376. package/dist/core/footer-data-provider.d.ts.map +1 -1
  377. package/dist/core/footer-data-provider.js.map +1 -1
  378. package/dist/core/high-reasoning-warning.d.ts.map +1 -1
  379. package/dist/core/high-reasoning-warning.js +5 -1
  380. package/dist/core/high-reasoning-warning.js.map +1 -1
  381. package/dist/core/http-dispatcher.d.ts.map +1 -1
  382. package/dist/core/http-dispatcher.js.map +1 -1
  383. package/dist/core/keybindings.d.ts +182 -177
  384. package/dist/core/keybindings.d.ts.map +1 -1
  385. package/dist/core/keybindings.js +5 -0
  386. package/dist/core/keybindings.js.map +1 -1
  387. package/dist/core/lockfile-policy.d.ts.map +1 -1
  388. package/dist/core/manual-continue.d.ts +14 -0
  389. package/dist/core/manual-continue.d.ts.map +1 -1
  390. package/dist/core/manual-continue.js +13 -0
  391. package/dist/core/manual-continue.js.map +1 -1
  392. package/dist/core/messages.js.map +1 -1
  393. package/dist/core/model-config-schema.d.ts +150 -150
  394. package/dist/core/model-config-schema.d.ts.map +1 -1
  395. package/dist/core/model-config.d.ts.map +1 -1
  396. package/dist/core/model-config.js.map +1 -1
  397. package/dist/core/model-registry.d.ts.map +1 -1
  398. package/dist/core/model-registry.js.map +1 -1
  399. package/dist/core/model-resolver.d.ts.map +1 -1
  400. package/dist/core/model-resolver.js +1 -0
  401. package/dist/core/model-resolver.js.map +1 -1
  402. package/dist/core/model-runtime.d.ts.map +1 -1
  403. package/dist/core/model-runtime.js.map +1 -1
  404. package/dist/core/models-store.d.ts.map +1 -1
  405. package/dist/core/models-store.js.map +1 -1
  406. package/dist/core/package-manager.d.ts.map +1 -1
  407. package/dist/core/provider-display-names.d.ts.map +1 -1
  408. package/dist/core/provider-display-names.js +1 -0
  409. package/dist/core/provider-display-names.js.map +1 -1
  410. package/dist/core/remote-catalog-provider.js.map +1 -1
  411. package/dist/core/resource-loader.d.ts.map +1 -1
  412. package/dist/core/resource-loader.js.map +1 -1
  413. package/dist/core/retry-fallback/controller.d.ts.map +1 -1
  414. package/dist/core/retry-fallback/cooldown.d.ts.map +1 -1
  415. package/dist/core/retry-fallback/cooldown.js.map +1 -1
  416. package/dist/core/retry-fallback/expansion.js.map +1 -1
  417. package/dist/core/retry-fallback/log.js.map +1 -1
  418. package/dist/core/retry-fallback/probe-scheduler.d.ts.map +1 -1
  419. package/dist/core/runtime-credentials.d.ts.map +1 -1
  420. package/dist/core/sdk.d.ts.map +1 -1
  421. package/dist/core/sdk.js +14 -3
  422. package/dist/core/sdk.js.map +1 -1
  423. package/dist/core/session-activity.d.ts.map +1 -1
  424. package/dist/core/session-cwd.d.ts.map +1 -1
  425. package/dist/core/session-log.js.map +1 -1
  426. package/dist/core/session-manager.d.ts +35 -1
  427. package/dist/core/session-manager.d.ts.map +1 -1
  428. package/dist/core/session-manager.js +15 -0
  429. package/dist/core/session-manager.js.map +1 -1
  430. package/dist/core/session-resident-store.d.ts.map +1 -1
  431. package/dist/core/session-sidecar-store.d.ts.map +1 -1
  432. package/dist/core/session-summary-lru.d.ts.map +1 -1
  433. package/dist/core/session-work-barrier.d.ts.map +1 -1
  434. package/dist/core/settings-manager.d.ts +6 -1
  435. package/dist/core/settings-manager.d.ts.map +1 -1
  436. package/dist/core/settings-manager.js +14 -0
  437. package/dist/core/settings-manager.js.map +1 -1
  438. package/dist/core/settings-shapes.d.ts +7 -0
  439. package/dist/core/settings-shapes.d.ts.map +1 -1
  440. package/dist/core/settings-shapes.js +3 -1
  441. package/dist/core/settings-shapes.js.map +1 -1
  442. package/dist/core/telemetry.js.map +1 -1
  443. package/dist/core/timings.js.map +1 -1
  444. package/dist/core/tools/bash.d.ts.map +1 -1
  445. package/dist/core/tools/bounded-realpath.js.map +1 -1
  446. package/dist/core/tools/edit.d.ts.map +1 -1
  447. package/dist/core/tools/find.d.ts.map +1 -1
  448. package/dist/core/tools/find.js.map +1 -1
  449. package/dist/core/tools/grep.d.ts.map +1 -1
  450. package/dist/core/tools/ls.d.ts.map +1 -1
  451. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  452. package/dist/core/tools/output-accumulator.js.map +1 -1
  453. package/dist/core/tools/powershell.d.ts.map +1 -1
  454. package/dist/core/tools/read.d.ts.map +1 -1
  455. package/dist/core/tools/tail-window.d.ts.map +1 -1
  456. package/dist/core/tools/truncate.js.map +1 -1
  457. package/dist/core/tools/write-result.js.map +1 -1
  458. package/dist/core/tools/write.d.ts.map +1 -1
  459. package/dist/core/trust-manager.d.ts.map +1 -1
  460. package/dist/extensions/llama/client.d.ts.map +1 -1
  461. package/dist/extensions/llama/client.js.map +1 -1
  462. package/dist/extensions/llama/huggingface.d.ts.map +1 -1
  463. package/dist/extensions/llama/huggingface.js.map +1 -1
  464. package/dist/extensions/llama/provider.js.map +1 -1
  465. package/dist/from-source-config-guard.js.map +1 -1
  466. package/dist/main.js.map +1 -1
  467. package/dist/modes/app-server/daemon/occupancy.d.ts.map +1 -1
  468. package/dist/modes/app-server/daemon/process.d.ts.map +1 -1
  469. package/dist/modes/app-server/daemon/process.js.map +1 -1
  470. package/dist/modes/app-server/daemon.js.map +1 -1
  471. package/dist/modes/app-server/protocol/collaboration-mode.d.ts.map +1 -1
  472. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputAnswer.d.ts +7 -0
  473. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputAnswer.d.ts.map +1 -0
  474. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputAnswer.js +4 -0
  475. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputAnswer.js.map +1 -0
  476. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputOption.d.ts +8 -0
  477. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputOption.d.ts.map +1 -0
  478. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputOption.js +4 -0
  479. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputOption.js.map +1 -0
  480. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputParams.d.ts +12 -0
  481. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputParams.d.ts.map +1 -0
  482. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputParams.js +4 -0
  483. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputParams.js.map +1 -0
  484. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputQuestion.d.ts +13 -0
  485. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputQuestion.d.ts.map +1 -0
  486. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputQuestion.js +4 -0
  487. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputQuestion.js.map +1 -0
  488. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputResponse.d.ts +10 -0
  489. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputResponse.d.ts.map +1 -0
  490. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputResponse.js +4 -0
  491. package/dist/modes/app-server/protocol/generated/v2/ToolRequestUserInputResponse.js.map +1 -0
  492. package/dist/modes/app-server/protocol/index.d.ts +2 -0
  493. package/dist/modes/app-server/protocol/index.d.ts.map +1 -1
  494. package/dist/modes/app-server/protocol/index.js.map +1 -1
  495. package/dist/modes/app-server/protocol/methods.d.ts +1 -0
  496. package/dist/modes/app-server/protocol/methods.d.ts.map +1 -1
  497. package/dist/modes/app-server/protocol/methods.js +1 -0
  498. package/dist/modes/app-server/protocol/methods.js.map +1 -1
  499. package/dist/modes/app-server/rpc/errors.d.ts.map +1 -1
  500. package/dist/modes/app-server/runtime.d.ts.map +1 -1
  501. package/dist/modes/app-server/runtime.js +22 -6
  502. package/dist/modes/app-server/runtime.js.map +1 -1
  503. package/dist/modes/app-server/search/fuzzy-files.js.map +1 -1
  504. package/dist/modes/app-server/search/fuzzy-search-service.d.ts.map +1 -1
  505. package/dist/modes/app-server/server/account.js.map +1 -1
  506. package/dist/modes/app-server/server/approval-bridge.d.ts.map +1 -1
  507. package/dist/modes/app-server/server/approval-types.d.ts.map +1 -1
  508. package/dist/modes/app-server/server/approval-ui-context.d.ts +2 -1
  509. package/dist/modes/app-server/server/approval-ui-context.d.ts.map +1 -1
  510. package/dist/modes/app-server/server/approval-ui-context.js +9 -1
  511. package/dist/modes/app-server/server/approval-ui-context.js.map +1 -1
  512. package/dist/modes/app-server/server/catalogs.js.map +1 -1
  513. package/dist/modes/app-server/server/config.js.map +1 -1
  514. package/dist/modes/app-server/server/connection.d.ts.map +1 -1
  515. package/dist/modes/app-server/server/models.js.map +1 -1
  516. package/dist/modes/app-server/server/notifications.d.ts.map +1 -1
  517. package/dist/modes/app-server/server/notifications.js.map +1 -1
  518. package/dist/modes/app-server/server/server-core.d.ts.map +1 -1
  519. package/dist/modes/app-server/server/server-core.js.map +1 -1
  520. package/dist/modes/app-server/server/skills.js.map +1 -1
  521. package/dist/modes/app-server/server/user-input-bridge.d.ts +16 -0
  522. package/dist/modes/app-server/server/user-input-bridge.d.ts.map +1 -0
  523. package/dist/modes/app-server/server/user-input-bridge.js +142 -0
  524. package/dist/modes/app-server/server/user-input-bridge.js.map +1 -0
  525. package/dist/modes/app-server/server/user-input-types.d.ts +43 -0
  526. package/dist/modes/app-server/server/user-input-types.d.ts.map +1 -0
  527. package/dist/modes/app-server/server/user-input-types.js +51 -0
  528. package/dist/modes/app-server/server/user-input-types.js.map +1 -0
  529. package/dist/modes/app-server/threads/archive-state.d.ts.map +1 -1
  530. package/dist/modes/app-server/threads/handlers.js.map +1 -1
  531. package/dist/modes/app-server/threads/mcp-wire-status.d.ts.map +1 -1
  532. package/dist/modes/app-server/threads/metadata-state.d.ts.map +1 -1
  533. package/dist/modes/app-server/threads/projection-file-changes.js.map +1 -1
  534. package/dist/modes/app-server/threads/projection-message-items.d.ts.map +1 -1
  535. package/dist/modes/app-server/threads/projection-turn-diff.d.ts.map +1 -1
  536. package/dist/modes/app-server/threads/projection-web-search.js.map +1 -1
  537. package/dist/modes/app-server/threads/projection.d.ts.map +1 -1
  538. package/dist/modes/app-server/threads/registry.d.ts.map +1 -1
  539. package/dist/modes/app-server/threads/registry.js.map +1 -1
  540. package/dist/modes/app-server/threads/search-cache.d.ts.map +1 -1
  541. package/dist/modes/app-server/threads/turn-log.d.ts.map +1 -1
  542. package/dist/modes/app-server/threads/turn-runtime.d.ts.map +1 -1
  543. package/dist/modes/app-server/threads/turn-runtime.js.map +1 -1
  544. package/dist/modes/app-server/threads/turns.js.map +1 -1
  545. package/dist/modes/app-server/threads/wire-thread.js.map +1 -1
  546. package/dist/modes/app-server/transports/unix-socket.d.ts.map +1 -1
  547. package/dist/modes/app-server/transports/unix-socket.js.map +1 -1
  548. package/dist/modes/app-server/transports/websocket.d.ts.map +1 -1
  549. package/dist/modes/app-server/turn-adapter.d.ts +3 -3
  550. package/dist/modes/app-server/turn-adapter.d.ts.map +1 -1
  551. package/dist/modes/app-server/turn-adapter.js +36 -5
  552. package/dist/modes/app-server/turn-adapter.js.map +1 -1
  553. package/dist/modes/interactive/compaction-queue-transfer.js.map +1 -1
  554. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  555. package/dist/modes/interactive/components/armin.js.map +1 -1
  556. package/dist/modes/interactive/components/ask-user-async-widget.d.ts +39 -0
  557. package/dist/modes/interactive/components/ask-user-async-widget.d.ts.map +1 -0
  558. package/dist/modes/interactive/components/ask-user-async-widget.js +82 -0
  559. package/dist/modes/interactive/components/ask-user-async-widget.js.map +1 -0
  560. package/dist/modes/interactive/components/ask-user-question-keys.d.ts +21 -0
  561. package/dist/modes/interactive/components/ask-user-question-keys.d.ts.map +1 -0
  562. package/dist/modes/interactive/components/ask-user-question-keys.js +115 -0
  563. package/dist/modes/interactive/components/ask-user-question-keys.js.map +1 -0
  564. package/dist/modes/interactive/components/ask-user-question-render.d.ts +17 -0
  565. package/dist/modes/interactive/components/ask-user-question-render.d.ts.map +1 -0
  566. package/dist/modes/interactive/components/ask-user-question-render.js +75 -0
  567. package/dist/modes/interactive/components/ask-user-question-render.js.map +1 -0
  568. package/dist/modes/interactive/components/ask-user-question-state.d.ts +52 -0
  569. package/dist/modes/interactive/components/ask-user-question-state.d.ts.map +1 -0
  570. package/dist/modes/interactive/components/ask-user-question-state.js +134 -0
  571. package/dist/modes/interactive/components/ask-user-question-state.js.map +1 -0
  572. package/dist/modes/interactive/components/ask-user-question.d.ts +50 -0
  573. package/dist/modes/interactive/components/ask-user-question.d.ts.map +1 -0
  574. package/dist/modes/interactive/components/ask-user-question.js +148 -0
  575. package/dist/modes/interactive/components/ask-user-question.js.map +1 -0
  576. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  577. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  578. package/dist/modes/interactive/components/assistant-render-descriptors.js.map +1 -1
  579. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  580. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  581. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  582. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  583. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  584. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  585. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  586. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  587. package/dist/modes/interactive/components/continuity-notice.d.ts.map +1 -1
  588. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  589. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  590. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
  591. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  592. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  593. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
  594. package/dist/modes/interactive/components/diff.js.map +1 -1
  595. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  596. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  597. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
  598. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  599. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  600. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  601. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  602. package/dist/modes/interactive/components/favorite-models-selector.d.ts.map +1 -1
  603. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
  604. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  605. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  606. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  607. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  608. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  609. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  610. package/dist/modes/interactive/components/progressive-transcript-container.d.ts.map +1 -1
  611. package/dist/modes/interactive/components/render-signature.js.map +1 -1
  612. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  613. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  614. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  615. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  616. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  617. package/dist/modes/interactive/components/shortcut-overlay.d.ts.map +1 -1
  618. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  619. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  620. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  621. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  622. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  623. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  624. package/dist/modes/interactive/components/tool-execution-images.d.ts.map +1 -1
  625. package/dist/modes/interactive/components/tool-execution-renderer.d.ts.map +1 -1
  626. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  627. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  628. package/dist/modes/interactive/components/tool-renderer-boundary.d.ts.map +1 -1
  629. package/dist/modes/interactive/components/tree-selector.d.ts +4 -0
  630. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  631. package/dist/modes/interactive/components/tree-selector.js +24 -0
  632. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  633. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
  634. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  635. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  636. package/dist/modes/interactive/components/user-message.js.map +1 -1
  637. package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
  638. package/dist/modes/interactive/grok/chrome.d.ts.map +1 -1
  639. package/dist/modes/interactive/grok/footer.d.ts.map +1 -1
  640. package/dist/modes/interactive/grok/input-card.d.ts.map +1 -1
  641. package/dist/modes/interactive/grok/palette.d.ts.map +1 -1
  642. package/dist/modes/interactive/grok/tool-row.d.ts.map +1 -1
  643. package/dist/modes/interactive/grok/welcome-card.d.ts.map +1 -1
  644. package/dist/modes/interactive/interactive-host-runtime.d.ts +6 -0
  645. package/dist/modes/interactive/interactive-host-runtime.d.ts.map +1 -1
  646. package/dist/modes/interactive/interactive-host-runtime.js +32 -3
  647. package/dist/modes/interactive/interactive-host-runtime.js.map +1 -1
  648. package/dist/modes/interactive/interactive-mode.d.ts +48 -4
  649. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  650. package/dist/modes/interactive/interactive-mode.js +433 -103
  651. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  652. package/dist/modes/interactive/login-outcome.d.ts +20 -0
  653. package/dist/modes/interactive/login-outcome.d.ts.map +1 -0
  654. package/dist/modes/interactive/login-outcome.js +35 -0
  655. package/dist/modes/interactive/login-outcome.js.map +1 -0
  656. package/dist/modes/interactive/startup-tools.js.map +1 -1
  657. package/dist/modes/interactive/streaming-reveal-content.d.ts.map +1 -1
  658. package/dist/modes/interactive/streaming-reveal-content.js.map +1 -1
  659. package/dist/modes/interactive/streaming-reveal.d.ts.map +1 -1
  660. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  661. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  662. package/dist/modes/interactive/theme/theme.js.map +1 -1
  663. package/dist/modes/interactive/tips/catalog/input-tips.d.ts +7 -7
  664. package/dist/modes/interactive/tips/catalog/input-tips.d.ts.map +1 -1
  665. package/dist/modes/interactive/tips/catalog/input-tips.js +5 -0
  666. package/dist/modes/interactive/tips/catalog/input-tips.js.map +1 -1
  667. package/dist/modes/interactive/tips/catalog/model-tips.d.ts +1 -1
  668. package/dist/modes/interactive/tips/catalog/workspace-tips.d.ts +1 -1
  669. package/dist/modes/interactive/tips/scheduler.js.map +1 -1
  670. package/dist/modes/interactive/tips/working-tip.d.ts.map +1 -1
  671. package/dist/modes/interactive/tool-args-reveal.d.ts.map +1 -1
  672. package/dist/modes/interactive/tool-result-reveal.d.ts.map +1 -1
  673. package/dist/modes/print-mode.d.ts.map +1 -1
  674. package/dist/modes/print-mode.js +8 -0
  675. package/dist/modes/print-mode.js.map +1 -1
  676. package/dist/modes/provider-native-rendering.d.ts.map +1 -1
  677. package/dist/modes/provider-native-rendering.js +35 -0
  678. package/dist/modes/provider-native-rendering.js.map +1 -1
  679. package/dist/modes/rpc/connection-handler.d.ts.map +1 -1
  680. package/dist/modes/rpc/connection-handler.js +75 -2
  681. package/dist/modes/rpc/connection-handler.js.map +1 -1
  682. package/dist/modes/rpc/connection-question-bridge.d.ts +18 -0
  683. package/dist/modes/rpc/connection-question-bridge.d.ts.map +1 -0
  684. package/dist/modes/rpc/connection-question-bridge.js +156 -0
  685. package/dist/modes/rpc/connection-question-bridge.js.map +1 -0
  686. package/dist/modes/rpc/custom-capability.d.ts +2 -0
  687. package/dist/modes/rpc/custom-capability.d.ts.map +1 -1
  688. package/dist/modes/rpc/custom-capability.js +2 -0
  689. package/dist/modes/rpc/custom-capability.js.map +1 -1
  690. package/dist/modes/rpc/event-output-buffer.js.map +1 -1
  691. package/dist/modes/rpc/host-ensure.js.map +1 -1
  692. package/dist/modes/rpc/host-lifecycle.d.ts.map +1 -1
  693. package/dist/modes/rpc/host-lifecycle.js.map +1 -1
  694. package/dist/modes/rpc/host-watchdog.js.map +1 -1
  695. package/dist/modes/rpc/jsonl.js.map +1 -1
  696. package/dist/modes/rpc/multi-session-host.js.map +1 -1
  697. package/dist/modes/rpc/ownership-safe-lock.d.ts.map +1 -1
  698. package/dist/modes/rpc/ownership-safe-lock.js.map +1 -1
  699. package/dist/modes/rpc/rpc-client.d.ts +20 -1
  700. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  701. package/dist/modes/rpc/rpc-client.js +35 -3
  702. package/dist/modes/rpc/rpc-client.js.map +1 -1
  703. package/dist/modes/rpc/rpc-input-validation.d.ts.map +1 -1
  704. package/dist/modes/rpc/rpc-input-validation.js +2 -0
  705. package/dist/modes/rpc/rpc-input-validation.js.map +1 -1
  706. package/dist/modes/rpc/rpc-types.d.ts +103 -3
  707. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  708. package/dist/modes/rpc/rpc-types.js +6 -0
  709. package/dist/modes/rpc/rpc-types.js.map +1 -1
  710. package/dist/modes/rpc/session-binding.js.map +1 -1
  711. package/dist/modes/rpc/session-command-router.d.ts +4 -4
  712. package/dist/modes/rpc/session-command-router.d.ts.map +1 -1
  713. package/dist/modes/rpc/session-command-router.js +14 -8
  714. package/dist/modes/rpc/session-command-router.js.map +1 -1
  715. package/dist/modes/rpc/session-event-fanout.d.ts +2 -0
  716. package/dist/modes/rpc/session-event-fanout.d.ts.map +1 -1
  717. package/dist/modes/rpc/session-event-fanout.js +25 -1
  718. package/dist/modes/rpc/session-event-fanout.js.map +1 -1
  719. package/dist/modes/rpc/session-event-writer.d.ts +7 -1
  720. package/dist/modes/rpc/session-event-writer.d.ts.map +1 -1
  721. package/dist/modes/rpc/session-event-writer.js +17 -4
  722. package/dist/modes/rpc/session-event-writer.js.map +1 -1
  723. package/dist/modes/rpc/session-extension-ui-requests.d.ts.map +1 -1
  724. package/dist/modes/rpc/session-registry.d.ts.map +1 -1
  725. package/dist/modes/rpc/session-registry.js +11 -1
  726. package/dist/modes/rpc/session-registry.js.map +1 -1
  727. package/dist/modes/rpc/session-worker-client.d.ts.map +1 -1
  728. package/dist/modes/rpc/session-worker-client.js.map +1 -1
  729. package/dist/modes/rpc/session-worker-protocol.d.ts.map +1 -1
  730. package/dist/modes/rpc/session-worker-requests.d.ts.map +1 -1
  731. package/dist/modes/rpc/session-worker-requests.js +1 -1
  732. package/dist/modes/rpc/session-worker-requests.js.map +1 -1
  733. package/dist/modes/rpc/session-worker.js +10 -2
  734. package/dist/modes/rpc/session-worker.js.map +1 -1
  735. package/dist/modes/rpc/socket-event-fanout.d.ts +14 -1
  736. package/dist/modes/rpc/socket-event-fanout.d.ts.map +1 -1
  737. package/dist/modes/rpc/socket-event-fanout.js +48 -2
  738. package/dist/modes/rpc/socket-event-fanout.js.map +1 -1
  739. package/dist/modes/rpc/socket-ownership.js.map +1 -1
  740. package/dist/modes/rpc/worker-session-registry.d.ts.map +1 -1
  741. package/dist/modes/rpc/worker-session-registry.js +2 -1
  742. package/dist/modes/rpc/worker-session-registry.js.map +1 -1
  743. package/dist/package-manager-cli.js.map +1 -1
  744. package/dist/self-update-bootstrap.js.map +1 -1
  745. package/dist/utils/ansi.js.map +1 -1
  746. package/dist/utils/clipboard-image.js.map +1 -1
  747. package/dist/utils/clipboard-native.js.map +1 -1
  748. package/dist/utils/clipboard.js.map +1 -1
  749. package/dist/utils/exif-orientation.js.map +1 -1
  750. package/dist/utils/frontmatter.d.ts.map +1 -1
  751. package/dist/utils/image-resize.js.map +1 -1
  752. package/dist/utils/management-http.js.map +1 -1
  753. package/dist/utils/paths.js.map +1 -1
  754. package/dist/utils/photon.js.map +1 -1
  755. package/dist/utils/pi-user-agent.js.map +1 -1
  756. package/dist/utils/shell.d.ts.map +1 -1
  757. package/dist/utils/shell.js.map +1 -1
  758. package/dist/utils/syntax-highlight.js.map +1 -1
  759. package/dist/utils/version-check.js.map +1 -1
  760. package/docs/app-server.md +14 -0
  761. package/docs/extensions.md +28 -1
  762. package/docs/keybindings.md +1 -0
  763. package/docs/providers.md +1 -0
  764. package/docs/rpc.md +95 -3
  765. package/docs/settings.md +18 -0
  766. package/docs/skills.md +1 -1
  767. package/docs/tui.md +6 -0
  768. package/docs/usage.md +2 -1
  769. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +30 -0
  770. package/node_modules/@code-yeongyu/senpi-codemode/README.md +17 -2
  771. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  772. package/node_modules/@code-yeongyu/senpi-codemode/src/config/settings.ts +35 -15
  773. package/node_modules/@code-yeongyu/senpi-codemode/src/index.ts +13 -2
  774. package/node_modules/@code-yeongyu/senpi-codemode/src/prompt/eval-prompt-template.ts +76 -0
  775. package/node_modules/@code-yeongyu/senpi-codemode/src/prompt/eval-prompt.ts +6 -77
  776. package/node_modules/@code-yeongyu/senpi-codemode/src/timeouts/run-budget.ts +107 -0
  777. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-deadlines.ts +76 -0
  778. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-execution.ts +25 -14
  779. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-cell-contract.ts +4 -0
  780. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-cell-manager.ts +47 -40
  781. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-cell-notification.ts +2 -0
  782. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-cell-snapshot.ts +5 -0
  783. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool-options.ts +8 -3
  784. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool.ts +17 -187
  785. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/run-eval-cell.ts +189 -0
  786. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/types.ts +66 -56
  787. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  788. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +1 -1
  789. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  790. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  791. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  792. package/node_modules/@earendil-works/pi-agent-core/dist/assistant-terminal-state.d.ts.map +1 -1
  793. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
  794. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
  795. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  796. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
  797. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
  798. package/node_modules/@earendil-works/pi-agent-core/dist/harness/events.d.ts.map +1 -1
  799. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js.map +1 -1
  800. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.js.map +1 -1
  801. package/node_modules/@earendil-works/pi-agent-core/dist/harness/reducer.d.ts.map +1 -1
  802. package/node_modules/@earendil-works/pi-agent-core/dist/harness/reducer.js.map +1 -1
  803. package/node_modules/@earendil-works/pi-agent-core/dist/harness/result.d.ts.map +1 -1
  804. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/context.js.map +1 -1
  805. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/errors.d.ts.map +1 -1
  806. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.d.ts.map +1 -1
  807. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/repo.js.map +1 -1
  808. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.d.ts.map +1 -1
  809. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl/storage.js.map +1 -1
  810. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory.d.ts.map +1 -1
  811. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory.js.map +1 -1
  812. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  813. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  814. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/state.d.ts.map +1 -1
  815. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/state.js.map +1 -1
  816. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/testing/conformance.js.map +1 -1
  817. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/types.d.ts.map +1 -1
  818. package/node_modules/@earendil-works/pi-agent-core/dist/harness/telemetry.d.ts +36 -36
  819. package/node_modules/@earendil-works/pi-agent-core/dist/harness/telemetry.d.ts.map +1 -1
  820. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
  821. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.js.map +1 -1
  822. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts.map +1 -1
  823. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js.map +1 -1
  824. package/node_modules/@earendil-works/pi-agent-core/dist/search/scanning.js.map +1 -1
  825. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +5 -0
  826. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  827. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  828. package/node_modules/@earendil-works/pi-agent-core/package.json +4 -4
  829. package/node_modules/@earendil-works/pi-ai/README.md +1 -0
  830. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts +3 -1
  831. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  832. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +6 -2
  833. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  834. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js.map +1 -1
  835. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js.map +1 -1
  836. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.lazy.js.map +1 -1
  837. package/node_modules/@earendil-works/pi-ai/dist/api/context-room.d.ts.map +1 -1
  838. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.d.ts.map +1 -1
  839. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/measure.js.map +1 -1
  840. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/stream-retry.d.ts.map +1 -1
  841. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js.map +1 -1
  842. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.lazy.js.map +1 -1
  843. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-conversation-rotation.js.map +1 -1
  844. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js.map +1 -1
  845. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js.map +1 -1
  846. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js.map +1 -1
  847. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
  848. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  849. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +5 -0
  850. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  851. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images-edit.d.ts +1 -1
  852. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images-edit.d.ts.map +1 -1
  853. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images-edit.js +10 -6
  854. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images-edit.js.map +1 -1
  855. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images-params.d.ts +36 -1
  856. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images-params.d.ts.map +1 -1
  857. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images-params.js +36 -1
  858. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images-params.js.map +1 -1
  859. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images-result.d.ts +12 -0
  860. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images-result.d.ts.map +1 -0
  861. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images-result.js +96 -0
  862. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images-result.js.map +1 -0
  863. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images.d.ts +1 -1
  864. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images.d.ts.map +1 -1
  865. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images.js +13 -88
  866. package/node_modules/@earendil-works/pi-ai/dist/api/openai-images.js.map +1 -1
  867. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js.map +1 -1
  868. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  869. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.d.ts.map +1 -1
  870. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js.map +1 -1
  871. package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.js.map +1 -1
  872. package/node_modules/@earendil-works/pi-ai/dist/api/warm-prompt-cache.js.map +1 -1
  873. package/node_modules/@earendil-works/pi-ai/dist/auth/credential-store.d.ts.map +1 -1
  874. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.d.ts.map +1 -1
  875. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.js +5 -1
  876. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.js.map +1 -1
  877. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-identity.d.ts +24 -0
  878. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-identity.d.ts.map +1 -0
  879. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-identity.js +86 -0
  880. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-identity.js.map +1 -0
  881. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.d.ts.map +1 -1
  882. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.js.map +1 -1
  883. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openai-codex.js.map +1 -1
  884. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth-refresh.d.ts +47 -0
  885. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth-refresh.d.ts.map +1 -0
  886. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth-refresh.js +126 -0
  887. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth-refresh.js.map +1 -0
  888. package/node_modules/@earendil-works/pi-ai/dist/auth/pool/failover.d.ts.map +1 -1
  889. package/node_modules/@earendil-works/pi-ai/dist/auth/pool/select.d.ts.map +1 -1
  890. package/node_modules/@earendil-works/pi-ai/dist/auth/refresh-credential.d.ts +12 -0
  891. package/node_modules/@earendil-works/pi-ai/dist/auth/refresh-credential.d.ts.map +1 -0
  892. package/node_modules/@earendil-works/pi-ai/dist/auth/refresh-credential.js +44 -0
  893. package/node_modules/@earendil-works/pi-ai/dist/auth/refresh-credential.js.map +1 -0
  894. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.d.ts +2 -0
  895. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.d.ts.map +1 -1
  896. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js +26 -35
  897. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js.map +1 -1
  898. package/node_modules/@earendil-works/pi-ai/dist/compat.js.map +1 -1
  899. package/node_modules/@earendil-works/pi-ai/dist/cursor/model-capabilities.js.map +1 -1
  900. package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.js.map +1 -1
  901. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
  902. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +1 -0
  903. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
  904. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +71 -68
  905. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
  906. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +4 -1
  907. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
  908. package/node_modules/@earendil-works/pi-ai/dist/images.d.ts +1 -1
  909. package/node_modules/@earendil-works/pi-ai/dist/images.d.ts.map +1 -1
  910. package/node_modules/@earendil-works/pi-ai/dist/images.js +1 -1
  911. package/node_modules/@earendil-works/pi-ai/dist/images.js.map +1 -1
  912. package/node_modules/@earendil-works/pi-ai/dist/models-store.d.ts.map +1 -1
  913. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  914. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +2 -0
  915. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  916. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +2 -0
  917. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  918. package/node_modules/@earendil-works/pi-ai/dist/models.js +3 -28
  919. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  920. package/node_modules/@earendil-works/pi-ai/dist/node/provider-scope.d.ts.map +1 -1
  921. package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts.map +1 -1
  922. package/node_modules/@earendil-works/pi-ai/dist/providers/all.js +2 -0
  923. package/node_modules/@earendil-works/pi-ai/dist/providers/all.js.map +1 -1
  924. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  925. package/node_modules/@earendil-works/pi-ai/dist/providers/data/amazon-bedrock.json +1 -1
  926. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
  927. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  928. package/node_modules/@earendil-works/pi-ai/dist/providers/data/venice.json +1 -0
  929. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  930. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js.map +1 -1
  931. package/node_modules/@earendil-works/pi-ai/dist/providers/ollama.js.map +1 -1
  932. package/node_modules/@earendil-works/pi-ai/dist/providers/radius.js.map +1 -1
  933. package/node_modules/@earendil-works/pi-ai/dist/providers/venice.d.ts +3 -0
  934. package/node_modules/@earendil-works/pi-ai/dist/providers/venice.d.ts.map +1 -0
  935. package/node_modules/@earendil-works/pi-ai/dist/providers/venice.js +15 -0
  936. package/node_modules/@earendil-works/pi-ai/dist/providers/venice.js.map +1 -0
  937. package/node_modules/@earendil-works/pi-ai/dist/providers/venice.models.d.ts +4 -0
  938. package/node_modules/@earendil-works/pi-ai/dist/providers/venice.models.d.ts.map +1 -0
  939. package/node_modules/@earendil-works/pi-ai/dist/providers/venice.models.js +6 -0
  940. package/node_modules/@earendil-works/pi-ai/dist/providers/venice.models.js.map +1 -0
  941. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/context-transformer.js.map +1 -1
  942. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/anthropic-xml/recovery-wrapper-state.d.ts.map +1 -1
  943. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/parse.js.map +1 -1
  944. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/recovery-content-lifecycle.d.ts.map +1 -1
  945. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/recovery-event-stream.d.ts.map +1 -1
  946. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/recovery-native-projection.d.ts.map +1 -1
  947. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/recovery-native-projection.js.map +1 -1
  948. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/recovery-stream-terminal.d.ts.map +1 -1
  949. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/recovery-stream-wrapper.js.map +1 -1
  950. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/recovery-text-projection.d.ts.map +1 -1
  951. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/recovery-text-projection.js.map +1 -1
  952. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/stream-thinking-projection.d.ts.map +1 -1
  953. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/stream-wrapper-shared.d.ts.map +1 -1
  954. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/stream-wrapper-shared.js.map +1 -1
  955. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/stream-wrapper.js.map +1 -1
  956. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +20 -3
  957. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  958. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  959. package/node_modules/@earendil-works/pi-ai/dist/utils/deferred-tools.js.map +1 -1
  960. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts.map +1 -1
  961. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.d.ts +3 -1
  962. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.d.ts.map +1 -1
  963. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.js.map +1 -1
  964. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-retry.js.map +1 -1
  965. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js.map +1 -1
  966. package/node_modules/@earendil-works/pi-ai/dist/utils/validation.js.map +1 -1
  967. package/node_modules/@earendil-works/pi-ai/package.json +3 -3
  968. package/node_modules/@earendil-works/pi-pty/dist/loader.d.ts.map +1 -1
  969. package/node_modules/@earendil-works/pi-pty/dist/loader.js.map +1 -1
  970. package/node_modules/@earendil-works/pi-pty/dist/pipe-fallback.d.ts.map +1 -1
  971. package/node_modules/@earendil-works/pi-pty/dist/pipe-fallback.js.map +1 -1
  972. package/node_modules/@earendil-works/pi-pty/dist/quarantine.js.map +1 -1
  973. package/node_modules/@earendil-works/pi-pty/dist/registry-types.d.ts.map +1 -1
  974. package/node_modules/@earendil-works/pi-pty/dist/registry.d.ts.map +1 -1
  975. package/node_modules/@earendil-works/pi-pty/dist/registry.js.map +1 -1
  976. package/node_modules/@earendil-works/pi-pty/dist/screen.d.ts.map +1 -1
  977. package/node_modules/@earendil-works/pi-pty/dist/screen.js.map +1 -1
  978. package/node_modules/@earendil-works/pi-pty/dist/session-bun.js.map +1 -1
  979. package/node_modules/@earendil-works/pi-pty/dist/session.d.ts.map +1 -1
  980. package/node_modules/@earendil-works/pi-pty/dist/session.js.map +1 -1
  981. package/node_modules/@earendil-works/pi-pty/package.json +2 -2
  982. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  983. package/node_modules/@earendil-works/pi-tui/dist/alt-screen-search.d.ts.map +1 -1
  984. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
  985. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
  986. package/node_modules/@earendil-works/pi-tui/dist/components/alt-screen-flash.d.ts.map +1 -1
  987. package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts.map +1 -1
  988. package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.d.ts.map +1 -1
  989. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  990. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  991. package/node_modules/@earendil-works/pi-tui/dist/components/h-stack.d.ts.map +1 -1
  992. package/node_modules/@earendil-works/pi-tui/dist/components/h-stack.js.map +1 -1
  993. package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts.map +1 -1
  994. package/node_modules/@earendil-works/pi-tui/dist/components/image.js.map +1 -1
  995. package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts.map +1 -1
  996. package/node_modules/@earendil-works/pi-tui/dist/components/latex.d.ts.map +1 -1
  997. package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts.map +1 -1
  998. package/node_modules/@earendil-works/pi-tui/dist/components/loader.js.map +1 -1
  999. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
  1000. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
  1001. package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.d.ts.map +1 -1
  1002. package/node_modules/@earendil-works/pi-tui/dist/components/scroll-view.js.map +1 -1
  1003. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts.map +1 -1
  1004. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.js.map +1 -1
  1005. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts.map +1 -1
  1006. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js.map +1 -1
  1007. package/node_modules/@earendil-works/pi-tui/dist/components/spacer.d.ts.map +1 -1
  1008. package/node_modules/@earendil-works/pi-tui/dist/components/spacer.js.map +1 -1
  1009. package/node_modules/@earendil-works/pi-tui/dist/components/stack.d.ts.map +1 -1
  1010. package/node_modules/@earendil-works/pi-tui/dist/components/stack.js.map +1 -1
  1011. package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts.map +1 -1
  1012. package/node_modules/@earendil-works/pi-tui/dist/components/text.js.map +1 -1
  1013. package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.d.ts.map +1 -1
  1014. package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.js.map +1 -1
  1015. package/node_modules/@earendil-works/pi-tui/dist/components/v-stack.d.ts.map +1 -1
  1016. package/node_modules/@earendil-works/pi-tui/dist/components/v-stack.js.map +1 -1
  1017. package/node_modules/@earendil-works/pi-tui/dist/image-markers.d.ts.map +1 -1
  1018. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  1019. package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts.map +1 -1
  1020. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js.map +1 -1
  1021. package/node_modules/@earendil-works/pi-tui/dist/keys.d.ts.map +1 -1
  1022. package/node_modules/@earendil-works/pi-tui/dist/keys.js.map +1 -1
  1023. package/node_modules/@earendil-works/pi-tui/dist/kill-ring.d.ts.map +1 -1
  1024. package/node_modules/@earendil-works/pi-tui/dist/mux.js.map +1 -1
  1025. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js.map +1 -1
  1026. package/node_modules/@earendil-works/pi-tui/dist/native-module-path.js.map +1 -1
  1027. package/node_modules/@earendil-works/pi-tui/dist/paste-markers.d.ts.map +1 -1
  1028. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.d.ts.map +1 -1
  1029. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.js.map +1 -1
  1030. package/node_modules/@earendil-works/pi-tui/dist/terminal-capabilities.js.map +1 -1
  1031. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  1032. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  1033. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  1034. package/node_modules/@earendil-works/pi-tui/dist/tmux-image-probe.js.map +1 -1
  1035. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts.map +1 -1
  1036. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js.map +1 -1
  1037. package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.d.ts.map +1 -1
  1038. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  1039. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  1040. package/node_modules/@earendil-works/pi-tui/dist/undo-stack.d.ts.map +1 -1
  1041. package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +1 -1
  1042. package/node_modules/@earendil-works/pi-tui/package.json +2 -2
  1043. package/node_modules/css-tree/cjs/data-patch.cjs +853 -5
  1044. package/node_modules/css-tree/cjs/data.cjs +13598 -3
  1045. package/node_modules/css-tree/cjs/version.cjs +1 -3
  1046. package/node_modules/css-tree/lib/data-patch.js +853 -4
  1047. package/node_modules/css-tree/lib/data.js +13598 -5
  1048. package/node_modules/css-tree/lib/version.js +1 -5
  1049. package/package.json +8 -8
  1050. package/vendor/pi-client/client.d.ts.map +1 -1
  1051. package/vendor/pi-client/client.js.map +1 -1
  1052. package/vendor/pi-client/connection.d.ts.map +1 -1
  1053. package/vendor/pi-client/connection.js.map +1 -1
  1054. package/vendor/pi-client/errors.d.ts.map +1 -1
  1055. package/vendor/pi-client/session-handle.d.ts.map +1 -1
  1056. package/vendor/pi-client/state.d.ts.map +1 -1
  1057. package/vendor/pi-protocol/cbor/decoder.js.map +1 -1
  1058. package/vendor/pi-protocol/cbor/options.d.ts.map +1 -1
  1059. package/vendor/pi-protocol/codec.d.ts.map +1 -1
  1060. package/vendor/pi-protocol/codec.js.map +1 -1
  1061. package/vendor/pi-protocol/framing.d.ts.map +1 -1
  1062. package/vendor/pi-protocol/schemas.d.ts +678 -678
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-input-validation.js","sourceRoot":"","sources":["../../../src/modes/rpc/rpc-input-validation.ts"],"names":[],"mappings":"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","sourcesContent":["export const MAX_RPC_MESSAGE_CHARACTERS = 1_000_000;\n\ninterface RpcMessageInput {\n\ttype?: unknown;\n\tmessage?: unknown;\n}\n\nfunction validContent(content: unknown): boolean {\n\tif (typeof content === \"string\") return true;\n\treturn (\n\t\tArray.isArray(content) &&\n\t\tcontent.every((item) => {\n\t\t\tif (typeof item !== \"object\" || item === null) return false;\n\t\t\tconst value = item as { type?: unknown; text?: unknown; data?: unknown; mimeType?: unknown };\n\t\t\treturn value.type === \"text\"\n\t\t\t\t? typeof value.text === \"string\"\n\t\t\t\t: value.type === \"image\" && typeof value.data === \"string\" && typeof value.mimeType === \"string\";\n\t\t})\n\t);\n}\n\nfunction validBaseEntry(entry: Record<string, unknown>): boolean {\n\treturn (\n\t\ttypeof entry.id === \"string\" &&\n\t\t(entry.parentId === null || typeof entry.parentId === \"string\") &&\n\t\ttypeof entry.timestamp === \"string\"\n\t);\n}\n\nfunction validSessionEntry(entry: unknown): boolean {\n\tif (typeof entry !== \"object\" || entry === null || Array.isArray(entry)) return false;\n\tconst value = entry as Record<string, unknown>;\n\tif (!validBaseEntry(value)) return false;\n\tswitch (value.type) {\n\t\tcase \"message\": {\n\t\t\tconst message = value.message;\n\t\t\tif (typeof message !== \"object\" || message === null) return false;\n\t\t\tconst item = message as { role?: unknown; content?: unknown };\n\t\t\treturn [\"user\", \"assistant\", \"tool\"].includes(item.role as string) && validContent(item.content);\n\t\t}\n\t\tcase \"thinking_level_change\":\n\t\t\treturn typeof value.thinkingLevel === \"string\";\n\t\tcase \"model_change\":\n\t\t\treturn typeof value.provider === \"string\" && typeof value.modelId === \"string\";\n\t\tcase \"compaction\":\n\t\t\treturn (\n\t\t\t\ttypeof value.summary === \"string\" &&\n\t\t\t\ttypeof value.firstKeptEntryId === \"string\" &&\n\t\t\t\ttypeof value.tokensBefore === \"number\"\n\t\t\t);\n\t\tcase \"branch_summary\":\n\t\t\treturn typeof value.fromId === \"string\" && typeof value.summary === \"string\";\n\t\tcase \"custom\":\n\t\t\treturn typeof value.customType === \"string\";\n\t\tcase \"custom_message\":\n\t\t\treturn (\n\t\t\t\ttypeof value.customType === \"string\" && validContent(value.content) && typeof value.display === \"boolean\"\n\t\t\t);\n\t\tcase \"label\":\n\t\t\treturn typeof value.targetId === \"string\" && (value.label === undefined || typeof value.label === \"string\");\n\t\tcase \"session_info\":\n\t\t\treturn value.name === undefined || typeof value.name === \"string\";\n\t\tdefault:\n\t\t\treturn false;\n\t}\n}\n\nexport function rpcCommandPayloadError(command: unknown): string | undefined {\n\tif (rpcCommandShapeError(command)) return undefined;\n\tconst value = command as Record<string, unknown>;\n\tif (value.type === \"append_user_message\" && !validContent(value.content)) {\n\t\treturn \"append_user_message content must be a string or text/image content array.\";\n\t}\n\tif (value.type === \"append_session_entry\" && !validSessionEntry(value.entry)) {\n\t\treturn \"append_session_entry entry is malformed.\";\n\t}\n\treturn undefined;\n}\n\nexport function rpcCommandShapeError(command: unknown): string | undefined {\n\tif (typeof command !== \"object\" || command === null || Array.isArray(command)) {\n\t\treturn \"RPC command must be a JSON object.\";\n\t}\n\treturn undefined;\n}\n\nexport function rpcMessageLengthError(command: unknown): string | undefined {\n\tif (rpcCommandShapeError(command)) return undefined;\n\tconst input = command as RpcMessageInput;\n\tif (input.type !== \"prompt\" && input.type !== \"steer\" && input.type !== \"follow_up\") {\n\t\treturn undefined;\n\t}\n\tif (typeof input.message !== \"string\" || input.message.length <= MAX_RPC_MESSAGE_CHARACTERS) {\n\t\treturn undefined;\n\t}\n\treturn `RPC ${input.type} message exceeds ${MAX_RPC_MESSAGE_CHARACTERS} characters.`;\n}\n"]}
1
+ {"version":3,"file":"rpc-input-validation.js","sourceRoot":"","sources":["../../../src/modes/rpc/rpc-input-validation.ts"],"names":[],"mappings":"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","sourcesContent":["export const MAX_RPC_MESSAGE_CHARACTERS = 1_000_000;\n\ninterface RpcMessageInput {\n\ttype?: unknown;\n\tmessage?: unknown;\n}\n\nfunction validContent(content: unknown): boolean {\n\tif (typeof content === \"string\") return true;\n\treturn (\n\t\tArray.isArray(content) &&\n\t\tcontent.every((item) => {\n\t\t\tif (typeof item !== \"object\" || item === null) return false;\n\t\t\tconst value = item as { type?: unknown; text?: unknown; data?: unknown; mimeType?: unknown };\n\t\t\treturn value.type === \"text\"\n\t\t\t\t? typeof value.text === \"string\"\n\t\t\t\t: value.type === \"image\" && typeof value.data === \"string\" && typeof value.mimeType === \"string\";\n\t\t})\n\t);\n}\n\nfunction validBaseEntry(entry: Record<string, unknown>): boolean {\n\treturn (\n\t\ttypeof entry.id === \"string\" &&\n\t\t(entry.parentId === null || typeof entry.parentId === \"string\") &&\n\t\ttypeof entry.timestamp === \"string\"\n\t);\n}\n\nfunction validSessionEntry(entry: unknown): boolean {\n\tif (typeof entry !== \"object\" || entry === null || Array.isArray(entry)) return false;\n\tconst value = entry as Record<string, unknown>;\n\tif (!validBaseEntry(value)) return false;\n\tswitch (value.type) {\n\t\tcase \"message\": {\n\t\t\tconst message = value.message;\n\t\t\tif (typeof message !== \"object\" || message === null) return false;\n\t\t\tconst item = message as { role?: unknown; content?: unknown };\n\t\t\treturn [\"user\", \"assistant\", \"tool\"].includes(item.role as string) && validContent(item.content);\n\t\t}\n\t\tcase \"thinking_level_change\":\n\t\t\treturn typeof value.thinkingLevel === \"string\";\n\t\tcase \"model_change\":\n\t\t\treturn typeof value.provider === \"string\" && typeof value.modelId === \"string\";\n\t\tcase \"model_change_rejected\":\n\t\t\treturn (\n\t\t\t\ttypeof value.provider === \"string\" && typeof value.modelId === \"string\" && typeof value.detail === \"string\"\n\t\t\t);\n\t\tcase \"compaction\":\n\t\t\treturn (\n\t\t\t\ttypeof value.summary === \"string\" &&\n\t\t\t\ttypeof value.firstKeptEntryId === \"string\" &&\n\t\t\t\ttypeof value.tokensBefore === \"number\"\n\t\t\t);\n\t\tcase \"branch_summary\":\n\t\t\treturn typeof value.fromId === \"string\" && typeof value.summary === \"string\";\n\t\tcase \"custom\":\n\t\t\treturn typeof value.customType === \"string\";\n\t\tcase \"custom_message\":\n\t\t\treturn (\n\t\t\t\ttypeof value.customType === \"string\" && validContent(value.content) && typeof value.display === \"boolean\"\n\t\t\t);\n\t\tcase \"label\":\n\t\t\treturn typeof value.targetId === \"string\" && (value.label === undefined || typeof value.label === \"string\");\n\t\tcase \"session_info\":\n\t\t\treturn value.name === undefined || typeof value.name === \"string\";\n\t\tdefault:\n\t\t\treturn false;\n\t}\n}\n\nexport function rpcCommandPayloadError(command: unknown): string | undefined {\n\tif (rpcCommandShapeError(command)) return undefined;\n\tconst value = command as Record<string, unknown>;\n\tif (value.type === \"append_user_message\" && !validContent(value.content)) {\n\t\treturn \"append_user_message content must be a string or text/image content array.\";\n\t}\n\tif (value.type === \"append_session_entry\" && !validSessionEntry(value.entry)) {\n\t\treturn \"append_session_entry entry is malformed.\";\n\t}\n\treturn undefined;\n}\n\nexport function rpcCommandShapeError(command: unknown): string | undefined {\n\tif (typeof command !== \"object\" || command === null || Array.isArray(command)) {\n\t\treturn \"RPC command must be a JSON object.\";\n\t}\n\treturn undefined;\n}\n\nexport function rpcMessageLengthError(command: unknown): string | undefined {\n\tif (rpcCommandShapeError(command)) return undefined;\n\tconst input = command as RpcMessageInput;\n\tif (input.type !== \"prompt\" && input.type !== \"steer\" && input.type !== \"follow_up\") {\n\t\treturn undefined;\n\t}\n\tif (typeof input.message !== \"string\" || input.message.length <= MAX_RPC_MESSAGE_CHARACTERS) {\n\t\treturn undefined;\n\t}\n\treturn `RPC ${input.type} message exceeds ${MAX_RPC_MESSAGE_CHARACTERS} characters.`;\n}\n"]}
@@ -12,7 +12,7 @@ import type { BashResult } from "../../core/bash-executor.ts";
12
12
  import type { CompactionResult } from "../../core/compaction/index.ts";
13
13
  import type { ServiceTier } from "../../core/extensions/builtin/service-tier.ts";
14
14
  import type { ContextUsage } from "../../core/extensions/types.ts";
15
- import type { SessionEntry, SessionTreeNode, UsageTotals } from "../../core/session-manager.ts";
15
+ import type { SessionEntry, SessionMessageEntry, SessionTreeNode, UsageTotals } from "../../core/session-manager.ts";
16
16
  import type { SourceInfo } from "../../core/source-info.ts";
17
17
  import type { RpcSlashCommand } from "./rpc-command-surface.ts";
18
18
  export type { RpcCommandInvocationEvent } from "./rpc-command-invocation.ts";
@@ -205,6 +205,15 @@ type RpcSessionCommand = {
205
205
  type: "fork";
206
206
  entryId: string;
207
207
  position?: "before" | "at";
208
+ } | {
209
+ id?: string;
210
+ type: "edit_assistant_message";
211
+ entryId: string;
212
+ text: string;
213
+ /** Leaf the client last observed; the edit is refused with `stale_leaf` when the session moved on. */
214
+ expectedLeafId?: string;
215
+ summarize?: boolean;
216
+ customInstructions?: string;
208
217
  } | {
209
218
  id?: string;
210
219
  type: "clone";
@@ -304,7 +313,12 @@ export declare const RPC_ERROR_MULTI_SESSION_DISABLED = "multi_session_disabled"
304
313
  export declare const RPC_ERROR_INVALID_PATH = "invalid_path";
305
314
  export declare const RPC_ERROR_OPEN_FAILED = "open_failed";
306
315
  export declare const RPC_ERROR_MEDIA_NOT_FOUND = "media_not_found";
307
- export type RpcErrorCode = typeof RPC_ERROR_UNKNOWN_SESSION | typeof RPC_ERROR_SESSION_CLOSING | typeof RPC_ERROR_SESSION_PATH_IN_USE | typeof RPC_ERROR_MISSING_SESSION_ID | typeof RPC_ERROR_MULTI_SESSION_DISABLED | typeof RPC_ERROR_INVALID_PATH | typeof RPC_ERROR_OPEN_FAILED | typeof RPC_ERROR_MEDIA_NOT_FOUND;
316
+ export declare const RPC_ERROR_STREAMING = "streaming";
317
+ export declare const RPC_ERROR_ENTRY_NOT_FOUND = "not_found";
318
+ export declare const RPC_ERROR_NOT_ASSISTANT = "not_assistant";
319
+ export declare const RPC_ERROR_EMPTY_TEXT = "empty";
320
+ export declare const RPC_ERROR_STALE_LEAF = "stale_leaf";
321
+ export type RpcErrorCode = typeof RPC_ERROR_UNKNOWN_SESSION | typeof RPC_ERROR_SESSION_CLOSING | typeof RPC_ERROR_SESSION_PATH_IN_USE | typeof RPC_ERROR_MISSING_SESSION_ID | typeof RPC_ERROR_MULTI_SESSION_DISABLED | typeof RPC_ERROR_INVALID_PATH | typeof RPC_ERROR_OPEN_FAILED | typeof RPC_ERROR_MEDIA_NOT_FOUND | typeof RPC_ERROR_STREAMING | typeof RPC_ERROR_ENTRY_NOT_FOUND | typeof RPC_ERROR_NOT_ASSISTANT | typeof RPC_ERROR_EMPTY_TEXT | typeof RPC_ERROR_STALE_LEAF;
308
322
  /** Every established command accepts an additive routing envelope. */
309
323
  export type RpcCommand = (RpcSessionCommand & {
310
324
  sessionId?: string;
@@ -421,6 +435,8 @@ export interface RpcSessionState {
421
435
  contextUsage?: ContextUsage;
422
436
  retryAttempt: number;
423
437
  isBashRunning: boolean;
438
+ /** Open question prompts awaiting an answer. Absent when none are pending. */
439
+ pendingQuestions?: RpcQuestionUiRequest[];
424
440
  }
425
441
  export type RpcResponse = {
426
442
  id?: string;
@@ -724,6 +740,12 @@ export type RpcResponse = {
724
740
  text: string;
725
741
  cancelled: boolean;
726
742
  };
743
+ } | {
744
+ id?: string;
745
+ type: "response";
746
+ command: "edit_assistant_message";
747
+ success: true;
748
+ data: EditAssistantMessageResult;
727
749
  } | {
728
750
  id?: string;
729
751
  type: "response";
@@ -878,6 +900,50 @@ export type RpcResponse = {
878
900
  errorCode?: string;
879
901
  errorData?: unknown;
880
902
  };
903
+ /** Success payload of `edit_assistant_message`. `leafId` is the session leaf after the call. */
904
+ export type EditAssistantMessageResult = {
905
+ outcome: "edited";
906
+ entry: SessionMessageEntry;
907
+ leafId: string;
908
+ summaryEntryId?: string;
909
+ } | {
910
+ outcome: "unchanged";
911
+ leafId: string | null;
912
+ } | {
913
+ outcome: "cancelled";
914
+ leafId: string | null;
915
+ aborted?: boolean;
916
+ };
917
+ /** One question in an RPC `question` UI request. Matches canonical QuestionRequest.questions. */
918
+ export type RpcQuestionSpec = {
919
+ id: string;
920
+ header: string;
921
+ question: string;
922
+ options: Array<{
923
+ label: string;
924
+ description?: string;
925
+ }>;
926
+ multiSelect: boolean;
927
+ };
928
+ export type RpcQuestionAnswers = Record<string, {
929
+ selected: string[];
930
+ text?: string;
931
+ }>;
932
+ export type RpcQuestionOutcome = "answered" | "comment-submitted" | "timed_out" | "cancelled" | "orphaned-after-restart" | "unavailable";
933
+ /** Outbound `extension_ui_request` body for method `question`. */
934
+ export type RpcQuestionUiRequest = {
935
+ type: "extension_ui_request";
936
+ id: string;
937
+ method: "question";
938
+ requestId: string;
939
+ toolCallId: string;
940
+ waitForAnswer: boolean;
941
+ questions: RpcQuestionSpec[];
942
+ timeout: number;
943
+ askedAtMs: number;
944
+ deadlineAtMs: number;
945
+ remainingMs: number;
946
+ };
881
947
  /** Emitted when an extension needs user input */
882
948
  export type RpcExtensionUIRequest = {
883
949
  type: "extension_ui_request";
@@ -945,7 +1011,7 @@ export type RpcExtensionUIRequest = {
945
1011
  id: string;
946
1012
  method: "custom_unsupported";
947
1013
  extensionName: string;
948
- };
1014
+ } | RpcQuestionUiRequest;
949
1015
  export type RpcExtensionEvent = {
950
1016
  type: "extension_event";
951
1017
  name: string;
@@ -964,6 +1030,40 @@ export type RpcExtensionUIResponse = {
964
1030
  type: "extension_ui_response";
965
1031
  id: string;
966
1032
  cancelled: true;
1033
+ } | {
1034
+ type: "extension_ui_response";
1035
+ id: string;
1036
+ answers: RpcQuestionAnswers;
1037
+ comment?: string;
1038
+ };
1039
+ /** Inbound draft updates for an open `question` request. */
1040
+ export type RpcExtensionUIProgress = {
1041
+ type: "extension_ui_progress";
1042
+ id: string;
1043
+ answers?: RpcQuestionAnswers;
1044
+ comment?: string;
1045
+ sessionId?: string;
1046
+ };
1047
+ /** Stdin records: session/host commands plus extension-UI replies and progress. */
1048
+ export type RpcInboundRecord = RpcCommand | RpcExtensionUIResponse | RpcExtensionUIProgress;
1049
+ /** Outbound deadline refresh for an open `question` request. */
1050
+ export type RpcQuestionUpdatedEvent = {
1051
+ type: "question_updated";
1052
+ id: string;
1053
+ deadlineAtMs: number;
1054
+ remainingMs: number;
1055
+ };
1056
+ /** Outbound terminal outcome for a `question` request. */
1057
+ export type RpcQuestionResolvedEvent = {
1058
+ type: "question_resolved";
1059
+ id: string;
1060
+ requestId: string;
1061
+ toolCallId: string;
1062
+ outcome: RpcQuestionOutcome;
1063
+ answers: RpcQuestionAnswers;
1064
+ comment?: string;
1065
+ unanswered: string[];
1066
+ deadlineAtMs?: number;
967
1067
  };
968
1068
  /** Emitted when the effective session thinking level changes. */
969
1069
  export interface RpcThinkingLevelChangedEvent {
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-types.d.ts","sourceRoot":"","sources":["../../../src/modes/rpc/rpc-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-types.d.ts","sourceRoot":"","sources":["../../../src/modes/rpc/rpc-types.ts"],"names":[],"mappings":"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"}
@@ -13,4 +13,10 @@ export const RPC_ERROR_MULTI_SESSION_DISABLED = "multi_session_disabled";
13
13
  export const RPC_ERROR_INVALID_PATH = "invalid_path";
14
14
  export const RPC_ERROR_OPEN_FAILED = "open_failed";
15
15
  export const RPC_ERROR_MEDIA_NOT_FOUND = "media_not_found";
16
+ // edit_assistant_message failures (mirror AssistantEditError.code / SessionStreamingError.code)
17
+ export const RPC_ERROR_STREAMING = "streaming";
18
+ export const RPC_ERROR_ENTRY_NOT_FOUND = "not_found";
19
+ export const RPC_ERROR_NOT_ASSISTANT = "not_assistant";
20
+ export const RPC_ERROR_EMPTY_TEXT = "empty";
21
+ export const RPC_ERROR_STALE_LEAF = "stale_leaf";
16
22
  //# sourceMappingURL=rpc-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-types.js","sourceRoot":"","sources":["../../../src/modes/rpc/rpc-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8JH,iDAAiD;AACjD,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AACnE,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;AACjE,MAAM,CAAC,MAAM,gCAAgC,GAAG,wBAAwB,CAAC;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC","sourcesContent":["/**\n * RPC protocol types for headless operation.\n *\n * Commands are sent as JSON lines on stdin.\n * Responses and events are emitted as JSON lines on stdout.\n */\n\nimport type { AgentMessage, ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport type { ImageContent, Model, ThinkingSelection } from \"@earendil-works/pi-ai\";\nimport type { AgentAbortSource } from \"../../core/agent-abort-provenance.ts\";\nimport type { PromptDisposition, SessionStats } from \"../../core/agent-session.ts\";\nimport type { BashResult } from \"../../core/bash-executor.ts\";\nimport type { CompactionResult } from \"../../core/compaction/index.ts\";\nimport type { ServiceTier } from \"../../core/extensions/builtin/service-tier.ts\";\nimport type { ContextUsage } from \"../../core/extensions/types.ts\";\nimport type { SessionEntry, SessionTreeNode, UsageTotals } from \"../../core/session-manager.ts\";\nimport type { SourceInfo } from \"../../core/source-info.ts\";\nimport type { RpcSlashCommand } from \"./rpc-command-surface.ts\";\n\nexport type { RpcCommandInvocationEvent } from \"./rpc-command-invocation.ts\";\nexport type { RpcCommandsChangedEvent, RpcSlashCommand } from \"./rpc-command-surface.ts\";\n\n// ============================================================================\n// RPC Commands (stdin)\n// ============================================================================\n\ntype RpcSessionCommand =\n\t// Prompting\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"prompt\";\n\t\t\tmessage: string;\n\t\t\timages?: ImageContent[];\n\t\t\tstreamingBehavior?: \"steer\" | \"followUp\";\n\t\t\tthinkingLevel?: ThinkingLevel;\n\t\t\tsessionTitlePrompt?: string | false;\n\t\t\texpandPromptTemplates?: boolean;\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"send_custom_message\";\n\t\t\tcustomType: string;\n\t\t\tcontent: unknown;\n\t\t\tdisplay: boolean;\n\t\t\tdetails?: unknown;\n\t\t\ttriggerTurn?: boolean;\n\t\t\tdeliverAs?: \"steer\" | \"followUp\" | \"nextTurn\";\n\t }\n\t| { id?: string; type: \"append_user_message\"; content: unknown }\n\t| { id?: string; type: \"append_session_entry\"; entry: SessionEntry }\n\t| { id?: string; type: \"steer\"; message: string; images?: ImageContent[]; enqueueOrder?: number }\n\t| { id?: string; type: \"follow_up\"; message: string; images?: ImageContent[]; enqueueOrder?: number }\n\t| { id?: string; type: \"abort\" }\n\t| { id?: string; type: \"abort_compaction\" }\n\t| { id?: string; type: \"reload\" }\n\t| { id?: string; type: \"check_reload_veto\" }\n\t| { id?: string; type: \"clear_queue\"; abortWillFollow?: boolean }\n\t| { id?: string; type: \"get_steering_messages\" }\n\t| { id?: string; type: \"get_follow_up_messages\" }\n\t| { id?: string; type: \"abort_branch_summary\" }\n\t| { id?: string; type: \"new_session\"; parentSession?: string }\n\n\t// State\n\t| { id?: string; type: \"get_state\" }\n\n\t// Model\n\t| { id?: string; type: \"set_model\"; provider: string; modelId: string }\n\t| { id?: string; type: \"set_favorite_models\"; models: RpcSessionModelEntry[] }\n\t| { id?: string; type: \"set_scoped_models\"; models: RpcSessionModelEntry[] }\n\t| { id?: string; type: \"cycle_model\"; direction?: \"forward\" | \"backward\" }\n\t| { id?: string; type: \"get_available_models\" }\n\n\t// Thinking\n\t| { id?: string; type: \"set_thinking_level\"; level: ThinkingLevel; scope?: \"turn\" }\n\t| { id?: string; type: \"cycle_thinking_level\" }\n\t| { id?: string; type: \"get_available_thinking_levels\" }\n\n\t// Fast mode (OpenAI Codex priority service tier)\n\t| { id?: string; type: \"set_fast_mode\"; enabled: boolean }\n\t| { id?: string; type: \"get_fast_mode\" }\n\n\t// Queue modes\n\t| { id?: string; type: \"set_steering_mode\"; mode: \"all\" | \"one-at-a-time\" }\n\t| { id?: string; type: \"set_follow_up_mode\"; mode: \"all\" | \"one-at-a-time\" }\n\n\t// Compaction\n\t| { id?: string; type: \"compact\"; customInstructions?: string }\n\t| { id?: string; type: \"set_auto_compaction\"; enabled: boolean }\n\n\t// Retry\n\t| { id?: string; type: \"set_auto_retry\"; enabled: boolean }\n\t| { id?: string; type: \"abort_retry\" }\n\n\t// Bash\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"bash\";\n\t\t\tcommand: string;\n\t\t\t/** Identifies output chunks to the requesting client. */\n\t\t\tbashId?: string;\n\t\t\texcludeFromContext?: boolean;\n\t\t\texecutionId?: string;\n\t\t\toperations?: Record<string, unknown>;\n\t }\n\t| { id?: string; type: \"record_bash_result\"; command: string; result: BashResult; excludeFromContext?: boolean }\n\t| { id?: string; type: \"abort_bash\" }\n\t| { id?: string; type: \"cleanup_bash_output\"; path: string }\n\t| { id?: string; type: \"set_label\"; entryId: string; label?: string }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"navigate_tree\";\n\t\t\ttargetId: string;\n\t\t\tsummarize?: boolean;\n\t\t\tcustomInstructions?: string;\n\t\t\treplaceInstructions?: boolean;\n\t\t\tlabel?: string;\n\t }\n\n\t// Session\n\t| { id?: string; type: \"get_session_stats\" }\n\t| { id?: string; type: \"export_html\"; outputPath?: string; themeName?: string }\n\t| { id?: string; type: \"export_jsonl\"; outputPath?: string }\n\t| { id?: string; type: \"switch_session\"; sessionPath: string; cwdOverride?: string }\n\t| { id?: string; type: \"fork\"; entryId: string; position?: \"before\" | \"at\" }\n\t| { id?: string; type: \"clone\" }\n\t| { id?: string; type: \"get_fork_messages\" }\n\t| { id?: string; type: \"get_entries\"; since?: string }\n\t| { id?: string; type: \"get_tree\" }\n\t| { id?: string; type: \"get_last_assistant_text\" }\n\t| { id?: string; type: \"set_session_name\"; name: string }\n\t| { id?: string; type: \"import_jsonl\"; inputPath: string; cwdOverride?: string }\n\n\t// Messages\n\t| { id?: string; type: \"get_messages\" }\n\t/**\n\t * Fetch one media block a `media_placeholders` client received as an `image_ref`\n\t * stub. `contentIndex` indexes the toolResult's `content` array and must point at\n\t * an image block; anything else answers `media_not_found`.\n\t */\n\t| { id?: string; type: \"get_media\"; toolCallId: string; contentIndex: number }\n\n\t// Commands and loaded runtime surfaces\n\t| { id?: string; type: \"get_commands\" }\n\t| { id?: string; type: \"get_loaded_surfaces\" }\n\t| { id?: string; type: \"extension_request\"; name: string; data?: unknown }\n\n\t// Auth (task 13) is additive. get_auth_providers, login_api_key and logout\n\t// answer synchronously. login_start responds immediately (flow-started) and\n\t// completion is delivered via auth_login_url / auth_login_end EVENTS, because\n\t// an interactive OAuth round-trip cannot fit the 30s request timeout.\n\t| { id?: string; type: \"get_auth_providers\" }\n\t| { id?: string; type: \"login_start\"; provider: string }\n\t| { id?: string; type: \"login_cancel\"; provider: string }\n\t| { id?: string; type: \"login_api_key\"; provider: string; key: string }\n\t| { id?: string; type: \"logout\"; provider: string }\n\n\t// Provider accounts (task 13) are additive. The desktop consumer contract\n\t// lives in ../omo-desktop-app/packages/contracts/src/rpc.ts and is updated separately.\n\t| { id?: string; type: \"get_provider_accounts\"; provider: string }\n\t| { id?: string; type: \"account_pin\"; provider: string; name: string | null }\n\t| { id?: string; type: \"account_remove\"; provider: string; name: string }\n\t| { id?: string; type: \"set_client_info\"; width: number; capabilities?: string[] };\n\n/** Stable multi-session protocol error codes. */\nexport const RPC_ERROR_UNKNOWN_SESSION = \"unknown_session\";\nexport const RPC_ERROR_SESSION_CLOSING = \"session_closing\";\nexport const RPC_ERROR_SESSION_PATH_IN_USE = \"session_path_in_use\";\nexport const RPC_ERROR_MISSING_SESSION_ID = \"missing_session_id\";\nexport const RPC_ERROR_MULTI_SESSION_DISABLED = \"multi_session_disabled\";\nexport const RPC_ERROR_INVALID_PATH = \"invalid_path\";\nexport const RPC_ERROR_OPEN_FAILED = \"open_failed\";\nexport const RPC_ERROR_MEDIA_NOT_FOUND = \"media_not_found\";\n\nexport type RpcErrorCode =\n\t| typeof RPC_ERROR_UNKNOWN_SESSION\n\t| typeof RPC_ERROR_SESSION_CLOSING\n\t| typeof RPC_ERROR_SESSION_PATH_IN_USE\n\t| typeof RPC_ERROR_MISSING_SESSION_ID\n\t| typeof RPC_ERROR_MULTI_SESSION_DISABLED\n\t| typeof RPC_ERROR_INVALID_PATH\n\t| typeof RPC_ERROR_OPEN_FAILED\n\t| typeof RPC_ERROR_MEDIA_NOT_FOUND;\n\n/** Every established command accepts an additive routing envelope. */\nexport type RpcCommand =\n\t| (RpcSessionCommand & { sessionId?: string })\n\t| { id?: string; type: \"get_protocol_info\" }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"open_session\";\n\t\t\tsessionPath?: string;\n\t\t\tcwd?: string;\n\t\t\tprovider?: string;\n\t\t\tmodelId?: string;\n\t\t\tthinkingLevel?: ThinkingLevel;\n\t\t\tpermissionPreset?: string;\n\t }\n\t| { id?: string; type: \"close_session\"; sessionId: string }\n\t| { id?: string; type: \"list_sessions\" };\n\n// ============================================================================\n// Auth provider info (get_auth_providers response)\n// ============================================================================\n\n/** One provider row for the /login and /logout selectors. */\nexport interface RpcAuthProvider {\n\t/** Provider id (e.g. \"anthropic\", \"openai\"). */\n\tid: string;\n\t/** Human-readable display name. */\n\tname: string;\n\t/** How this provider authenticates. */\n\tauthType: \"oauth\" | \"api_key\";\n\t/** Auth status without exposing or refreshing any credential. */\n\tstatus: RpcAuthStatus;\n}\n\n/** Auth status mirror (no credential values), from getProviderAuthStatus. */\nexport interface RpcAuthStatus {\n\tconfigured: boolean;\n\tsource?:\n\t\t| \"stored\"\n\t\t| \"runtime\"\n\t\t| \"environment\"\n\t\t| \"fallback\"\n\t\t| \"models_json_key\"\n\t\t| \"models_json_command\"\n\t\t| \"models_json_headers\"\n\t\t| \"extension_headers\";\n\tlabel?: string;\n}\n\n/** Account-slot metadata safe to send to desktop clients. */\nexport interface RpcProviderAccount {\n\tname: string;\n\tsource: \"login\" | \"import\" | \"env\";\n\tblocked: boolean;\n\tpinned: boolean;\n}\n\n// ============================================================================\n// RPC Slash Command (for get_commands response)\n// ============================================================================\n\n/** One extension module loaded by the session resource loader. */\nexport interface RpcLoadedExtension {\n\tname: string;\n\tpath: string;\n\tsourceInfo: SourceInfo;\n\tenabled: boolean;\n}\n\nexport type RpcMcpServerStatus =\n\t| \"enabled\"\n\t| \"disabled\"\n\t| \"untrusted\"\n\t| \"idle\"\n\t| \"connecting\"\n\t| \"connected\"\n\t| \"degraded\"\n\t| \"suspended\"\n\t| \"needs_auth\"\n\t| \"needs_client_registration\";\n\n/** Runtime MCP server state projected from the session-owned MCP service. */\nexport interface RpcLoadedMcpServer {\n\tname: string;\n\ttoolCount: number;\n\tstatus: RpcMcpServerStatus;\n\tauthStatus: \"unsupported\" | \"notLoggedIn\" | \"bearerToken\" | \"oAuth\";\n}\n\n// ============================================================================\n// RPC State\n// ============================================================================\n\nexport interface RpcSessionModelEntry {\n\tmodel: Model<any>;\n\tthinkingLevel?: ThinkingLevel;\n\tthinkingSelection?: ThinkingSelection;\n\tserviceTier?: ServiceTier;\n}\n\nexport interface RpcSessionState {\n\tmodel?: Model<any>;\n\tthinkingLevel: ThinkingLevel;\n\t/**\n\t * Explicit selector provenance for `thinkingLevel`, absent for SDK-defaulted\n\t * effective levels. An attached client cannot distinguish \"the user chose high\"\n\t * from \"high is simply the effective level\" without it.\n\t */\n\tthinkingSelection?: ThinkingSelection;\n\t/**\n\t * Abort owner of the most recent aborted turn, or the in-flight one while it is\n\t * still settling. Retained after settle: the live session getter is transient, so a\n\t * client that snapshots state after the turn ends would otherwise see nothing and\n\t * fall back to generic wording instead of \"Operation aborted\".\n\t */\n\tlastAbortSource?: AgentAbortSource;\n\t/** Service tier the session resolved for the active model, if any. */\n\tserviceTier?: ServiceTier;\n\t/** True when the active model is served at the priority (\"fast\") tier. */\n\tfastMode: boolean;\n\tisStreaming: boolean;\n\tisCompacting: boolean;\n\tsteeringMode: \"all\" | \"one-at-a-time\";\n\tfollowUpMode: \"all\" | \"one-at-a-time\";\n\tsessionFile?: string;\n\tsessionId: string;\n\tsessionName?: string;\n\tcwd: string;\n\t/** Whether project-scoped settings and resources are trusted by the host. */\n\tprojectTrusted: boolean;\n\t/** Authoritative entries for setup-only sessions whose deferred file does not exist yet. */\n\tentries?: SessionEntry[];\n\tfavoriteModels: RpcSessionModelEntry[];\n\tscopedModels: RpcSessionModelEntry[];\n\tsteering: string[];\n\tfollowUp: string[];\n\tordered: Array<{ text: string; mode: \"steer\" | \"followUp\"; enqueueOrder: number }>;\n\tautoCompactionEnabled: boolean;\n\tmessageCount: number;\n\tpendingMessageCount: number;\n\tusageTotals: UsageTotals;\n\tcontextUsage?: ContextUsage;\n\tretryAttempt: number;\n\tisBashRunning: boolean;\n}\n\n// ============================================================================\n// RPC Responses (stdout)\n// ============================================================================\n\n// Success responses with data\nexport type RpcResponse =\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_protocol_info\";\n\t\t\tsuccess: true;\n\t\t\tdata: {\n\t\t\t\tprotocolVersion: 1;\n\t\t\t\tserverVersion: string;\n\t\t\t\tcapabilities: string[];\n\t\t\t\tmode: \"classic\" | \"multi\";\n\t\t\t};\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"open_session\";\n\t\t\tsuccess: true;\n\t\t\tdata: { sessionId: string; state: RpcSessionState; attached?: boolean };\n\t }\n\t| { id?: string; type: \"response\"; command: \"close_session\"; success: true; data: Record<string, never> }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"list_sessions\";\n\t\t\tsuccess: true;\n\t\t\tdata: {\n\t\t\t\tsessions: Array<{\n\t\t\t\t\tsessionId: string;\n\t\t\t\t\tdurableSessionId?: string;\n\t\t\t\t\tsessionPath?: string;\n\t\t\t\t\tcwd: string;\n\t\t\t\t\tname?: string;\n\t\t\t\t\tstatus: \"opening\" | \"open\" | \"closing\" | \"closed\";\n\t\t\t\t}>;\n\t\t\t};\n\t }\n\t// Prompting (async - events follow)\n\t// data.disposition reports how the host disposed the prompt (started/queued/handled)\n\t// so proxied optimistic-echo contracts resolve exactly like the local path; older\n\t// hosts omit it and clients must degrade to canonical-only rendering.\n\t| { id?: string; type: \"response\"; command: \"prompt\"; success: true; data?: { disposition?: PromptDisposition } }\n\t| { id?: string; type: \"response\"; command: \"send_custom_message\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"append_user_message\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"append_session_entry\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"steer\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"follow_up\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"abort\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"abort_compaction\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"reload\"; success: true; data: { cancelled: boolean; reason?: string } }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"check_reload_veto\";\n\t\t\tsuccess: true;\n\t\t\tdata: { cancelled: boolean; reason?: string };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"clear_queue\";\n\t\t\tsuccess: true;\n\t\t\tdata: {\n\t\t\t\tsteering: string[];\n\t\t\t\tfollowUp: string[];\n\t\t\t\tordered: Array<{ text: string; mode: \"steer\" | \"followUp\"; enqueueOrder: number }>;\n\t\t\t};\n\t }\n\t| { id?: string; type: \"response\"; command: \"new_session\"; success: true; data: { cancelled: boolean } }\n\n\t// State\n\t| { id?: string; type: \"response\"; command: \"get_state\"; success: true; data: RpcSessionState }\n\n\t// Model\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"set_model\";\n\t\t\tsuccess: true;\n\t\t\tdata: Model<any> & { systemPromptName?: string };\n\t }\n\t| { id?: string; type: \"response\"; command: \"set_favorite_models\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"set_scoped_models\"; success: true }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"cycle_model\";\n\t\t\tsuccess: true;\n\t\t\tdata: { model: Model<any>; thinkingLevel: ThinkingLevel; isScoped: boolean } | null;\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_available_models\";\n\t\t\tsuccess: true;\n\t\t\tdata: { models: Array<Model<any> & { supportedThinkingLevels: ThinkingLevel[] }> };\n\t }\n\n\t// Thinking\n\t| { id?: string; type: \"response\"; command: \"set_thinking_level\"; success: true }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"cycle_thinking_level\";\n\t\t\tsuccess: true;\n\t\t\tdata: { level: ThinkingLevel } | null;\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_available_thinking_levels\";\n\t\t\tsuccess: true;\n\t\t\tdata: { levels: ThinkingLevel[] };\n\t }\n\n\t// Fast mode\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"set_fast_mode\";\n\t\t\tsuccess: true;\n\t\t\tdata: { enabled: boolean; serviceTier: ServiceTier; provider: string; modelId: string };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_fast_mode\";\n\t\t\tsuccess: true;\n\t\t\tdata: { enabled: boolean; serviceTier: ServiceTier | null };\n\t }\n\n\t// Queue modes\n\t| { id?: string; type: \"response\"; command: \"set_steering_mode\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"set_follow_up_mode\"; success: true }\n\n\t// Compaction\n\t| { id?: string; type: \"response\"; command: \"compact\"; success: true; data: CompactionResult }\n\t| { id?: string; type: \"response\"; command: \"set_auto_compaction\"; success: true }\n\n\t// Retry\n\t| { id?: string; type: \"response\"; command: \"set_auto_retry\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"abort_retry\"; success: true }\n\n\t// Bash\n\t| { id?: string; type: \"response\"; command: \"bash\"; success: true; data: BashResult }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"navigate_tree\";\n\t\t\tsuccess: true;\n\t\t\tdata: { cancelled: boolean; editorText?: string; aborted?: boolean; summaryEntry?: unknown };\n\t }\n\t| { id?: string; type: \"response\"; command: \"abort_bash\"; success: true }\n\n\t// Session\n\t| { id?: string; type: \"response\"; command: \"get_session_stats\"; success: true; data: SessionStats }\n\t| { id?: string; type: \"response\"; command: \"export_html\"; success: true; data: { path: string } }\n\t| { id?: string; type: \"response\"; command: \"export_jsonl\"; success: true; data: { path: string } }\n\t| { id?: string; type: \"response\"; command: \"switch_session\"; success: true; data: { cancelled: boolean } }\n\t| { id?: string; type: \"response\"; command: \"fork\"; success: true; data: { text: string; cancelled: boolean } }\n\t| { id?: string; type: \"response\"; command: \"clone\"; success: true; data: { cancelled: boolean } }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_fork_messages\";\n\t\t\tsuccess: true;\n\t\t\tdata: { messages: Array<{ entryId: string; text: string }> };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_entries\";\n\t\t\tsuccess: true;\n\t\t\tdata: { entries: SessionEntry[]; leafId: string | null };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_tree\";\n\t\t\tsuccess: true;\n\t\t\tdata: { tree: SessionTreeNode[]; leafId: string | null };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_last_assistant_text\";\n\t\t\tsuccess: true;\n\t\t\tdata: { text: string | null };\n\t }\n\t| { id?: string; type: \"response\"; command: \"set_session_name\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"import_jsonl\"; success: true; data: { cancelled: boolean } }\n\n\t// Messages\n\t| { id?: string; type: \"response\"; command: \"get_messages\"; success: true; data: { messages: AgentMessage[] } }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_media\";\n\t\t\tsuccess: true;\n\t\t\tdata: { toolCallId: string; contentIndex: number; content: ImageContent };\n\t }\n\n\t// Commands and loaded runtime surfaces\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_commands\";\n\t\t\tsuccess: true;\n\t\t\tdata: { commands: RpcSlashCommand[] };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_loaded_surfaces\";\n\t\t\tsuccess: true;\n\t\t\tdata: { extensions: RpcLoadedExtension[]; mcpServers: RpcLoadedMcpServer[] };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"extension_request\";\n\t\t\tsuccess: true;\n\t\t\tdata: unknown;\n\t }\n\n\t// Auth (task 13)\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_auth_providers\";\n\t\t\tsuccess: true;\n\t\t\tdata: { providers: RpcAuthProvider[] };\n\t }\n\t// login_start returns immediately: success:true means the flow has started.\n\t// The URL and completion arrive as auth_login_url / auth_login_end events.\n\t| { id?: string; type: \"response\"; command: \"login_start\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"login_cancel\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"login_api_key\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"logout\"; success: true }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_provider_accounts\";\n\t\t\tsuccess: true;\n\t\t\tdata: { accounts: RpcProviderAccount[] };\n\t }\n\t| { id?: string; type: \"response\"; command: \"account_pin\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"account_remove\"; success: true }\n\n\t// Error response (any command can fail)\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: string;\n\t\t\tsuccess: false;\n\t\t\terror: string;\n\t\t\terrorCode?: string;\n\t\t\terrorData?: unknown;\n\t };\n\n// ============================================================================\n// Extension UI Events (stdout)\n// ============================================================================\n\n/** Emitted when an extension needs user input */\nexport type RpcExtensionUIRequest =\n\t| { type: \"extension_ui_request\"; id: string; method: \"select\"; title: string; options: string[]; timeout?: number }\n\t| { type: \"extension_ui_request\"; id: string; method: \"confirm\"; title: string; message: string; timeout?: number }\n\t| {\n\t\t\ttype: \"extension_ui_request\";\n\t\t\tid: string;\n\t\t\tmethod: \"input\";\n\t\t\ttitle: string;\n\t\t\tplaceholder?: string;\n\t\t\ttimeout?: number;\n\t }\n\t| { type: \"extension_ui_request\"; id: string; method: \"editor\"; title: string; prefill?: string }\n\t| {\n\t\t\ttype: \"extension_ui_request\";\n\t\t\tid: string;\n\t\t\tmethod: \"notify\";\n\t\t\tmessage: string;\n\t\t\tnotifyType?: \"info\" | \"warning\" | \"error\";\n\t }\n\t| {\n\t\t\ttype: \"extension_ui_request\";\n\t\t\tid: string;\n\t\t\tmethod: \"setStatus\";\n\t\t\tstatusKey: string;\n\t\t\tstatusText: string | undefined;\n\t }\n\t| {\n\t\t\ttype: \"extension_ui_request\";\n\t\t\tid: string;\n\t\t\tmethod: \"setWidget\";\n\t\t\twidgetKey: string;\n\t\t\twidgetLines: string[] | undefined;\n\t\t\twidgetPlacement?: \"aboveEditor\" | \"belowEditor\";\n\t }\n\t| {\n\t\t\ttype: \"extension_ui_request\";\n\t\t\tid: string;\n\t\t\tmethod: \"setHeader\" | \"setFooter\";\n\t\t\twidgetLines: string[] | undefined;\n\t }\n\t| { type: \"extension_ui_request\"; id: string; method: \"setTitle\"; title: string }\n\t| { type: \"extension_ui_request\"; id: string; method: \"set_editor_text\"; text: string }\n\t// Additive (task 13/14): emitted ONLY when the client advertised the\n\t// \"custom_unsupported\" capability. ctx.ui.custom cannot render a third-party\n\t// component in RPC mode, so a flagged client gets this notice before custom()\n\t// returns undefined. Default clients never see it (byte-identical behavior).\n\t| { type: \"extension_ui_request\"; id: string; method: \"custom_unsupported\"; extensionName: string };\n\nexport type RpcExtensionEvent = {\n\ttype: \"extension_event\";\n\tname: string;\n\tdata: unknown;\n};\n\n// ============================================================================\n// Extension UI Commands (stdin)\n// ============================================================================\n\n/** Response to an extension UI request */\nexport type RpcExtensionUIResponse =\n\t| { type: \"extension_ui_response\"; id: string; value: string }\n\t| { type: \"extension_ui_response\"; id: string; confirmed: boolean }\n\t| { type: \"extension_ui_response\"; id: string; cancelled: true };\n\n/** Emitted when the effective session thinking level changes. */\nexport interface RpcThinkingLevelChangedEvent {\n\ttype: \"thinking_level_changed\";\n\tlevel: ThinkingLevel;\n\t/**\n\t * Selector provenance in force after the change; absent when the level is an\n\t * SDK-defaulted effective level rather than an explicit choice. Additive: an old\n\t * client that does not know the field ignores it.\n\t */\n\tthinkingSelection?: ThinkingSelection;\n}\n\nexport interface RpcHighReasoningWarningEvent {\n\ttype: \"high_reasoning_warning\";\n\tmodelId: string;\n\tprovider: string;\n\tthinkingLevel: ThinkingLevel;\n}\n\n/** Emitted after explicit skill tokens are expanded for a user-authored request. */\nexport interface RpcSkillInvocationEvent {\n\ttype: \"skill_invocation\";\n\tskills: readonly {\n\t\tname: string;\n\t\tpath: string;\n\t\tsyntax: \"dollar\" | \"slash\";\n\t}[];\n}\n\n/** Emitted when startup or reload selects an existing settings file. */\nexport interface RpcSettingsSourceSelectedEvent {\n\ttype: \"settings_source_selected\";\n\tpath: string;\n\tformat: \"jsonc\" | \"json\";\n\treason: \"explicit-jsonc\" | \"json-only\";\n\tscope: \"global\" | \"project\";\n}\n\n/**\n * Emitted after the session's active model changed, with the thinking level in force AFTER\n * the switch (per-model memory, a favorite's pinned level, or the clamped previous level).\n *\n * Clients that tracked the model by inferring it from `entry_appended` can consume this\n * instead. Additive: an old client that does not know the type filters it out.\n */\nexport interface RpcModelChangedEvent {\n\ttype: \"model_changed\";\n\tmodel: Model<any>;\n\tthinkingLevel: ThinkingLevel;\n\t/** Why the model changed: \"set\", \"cycle\", \"restore\", \"fallback\", or \"fallback-revert\". */\n\tsource: string;\n\t/** Selector provenance for `thinkingLevel` after the switch, when one was explicit. */\n\tthinkingSelection?: ThinkingSelection;\n}\n\n/** Emitted when the effective service tier or fast-mode state of the session changes. */\nexport interface RpcServiceTierChangedEvent {\n\ttype: \"service_tier_changed\";\n\ttier?: ServiceTier;\n\tfastMode: boolean;\n}\n/**\n * Emitted after the host swapped the live session behind this connection (new session,\n * fork, or switch), carrying the new authoritative identity.\n *\n * A replacement can be initiated by ANY attached client. Without this event the other\n * attached clients keep their stale identity and keep routing replacement-dependent\n * actions at the session that no longer exists. Additive: an old client that does not\n * know the type filters it out.\n */\nexport interface RpcSessionReplacedEvent {\n\ttype: \"session_replaced\";\n\t/**\n\t * Durable session id of the session now bound to this connection.\n\t *\n\t * Deliberately NOT `sessionId`: top-level `sessionId` is reserved for the\n\t * per-connection routing handle that multi-session hosts tag every record\n\t * with, and that tag is applied last - it would overwrite this value and\n\t * leave the event carrying no identity at all.\n\t */\n\tdurableSessionId: string;\n\t/** Session file backing the new session, absent for a deferred setup-only session. */\n\tsessionFile?: string;\n\tcwd: string;\n\tsessionName?: string;\n}\n\n/** Emitted after the loaded skill, extension, or MCP inventory changes. */\nexport interface RpcLoadedSurfacesChangedEvent {\n\ttype: \"loaded_surfaces_changed\";\n}\n\n/** Emitted after an account is added, removed, pinned, or blocked by refresh failure. */\nexport interface RpcAuthAccountsChangedEvent {\n\ttype: \"auth_accounts_changed\";\n\tprovider: string;\n}\n\n/** Emitted when the SDK failover engine advances to a different account slot. */\nexport interface RpcAccountFailoverEvent {\n\ttype: \"account_failover\";\n\tprovider: string;\n\tfrom: string;\n\tto: string;\n\treason: string;\n}\n"]}
1
+ {"version":3,"file":"rpc-types.js","sourceRoot":"","sources":["../../../src/modes/rpc/rpc-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwKH,iDAAiD;AACjD,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AACnE,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;AACjE,MAAM,CAAC,MAAM,gCAAgC,GAAG,wBAAwB,CAAC;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC3D,gGAAgG;AAChG,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAAC;AACrD,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAC5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC","sourcesContent":["/**\n * RPC protocol types for headless operation.\n *\n * Commands are sent as JSON lines on stdin.\n * Responses and events are emitted as JSON lines on stdout.\n */\n\nimport type { AgentMessage, ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport type { ImageContent, Model, ThinkingSelection } from \"@earendil-works/pi-ai\";\nimport type { AgentAbortSource } from \"../../core/agent-abort-provenance.ts\";\nimport type { PromptDisposition, SessionStats } from \"../../core/agent-session.ts\";\nimport type { BashResult } from \"../../core/bash-executor.ts\";\nimport type { CompactionResult } from \"../../core/compaction/index.ts\";\nimport type { ServiceTier } from \"../../core/extensions/builtin/service-tier.ts\";\nimport type { ContextUsage } from \"../../core/extensions/types.ts\";\nimport type { SessionEntry, SessionMessageEntry, SessionTreeNode, UsageTotals } from \"../../core/session-manager.ts\";\nimport type { SourceInfo } from \"../../core/source-info.ts\";\nimport type { RpcSlashCommand } from \"./rpc-command-surface.ts\";\n\nexport type { RpcCommandInvocationEvent } from \"./rpc-command-invocation.ts\";\nexport type { RpcCommandsChangedEvent, RpcSlashCommand } from \"./rpc-command-surface.ts\";\n\n// ============================================================================\n// RPC Commands (stdin)\n// ============================================================================\n\ntype RpcSessionCommand =\n\t// Prompting\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"prompt\";\n\t\t\tmessage: string;\n\t\t\timages?: ImageContent[];\n\t\t\tstreamingBehavior?: \"steer\" | \"followUp\";\n\t\t\tthinkingLevel?: ThinkingLevel;\n\t\t\tsessionTitlePrompt?: string | false;\n\t\t\texpandPromptTemplates?: boolean;\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"send_custom_message\";\n\t\t\tcustomType: string;\n\t\t\tcontent: unknown;\n\t\t\tdisplay: boolean;\n\t\t\tdetails?: unknown;\n\t\t\ttriggerTurn?: boolean;\n\t\t\tdeliverAs?: \"steer\" | \"followUp\" | \"nextTurn\";\n\t }\n\t| { id?: string; type: \"append_user_message\"; content: unknown }\n\t| { id?: string; type: \"append_session_entry\"; entry: SessionEntry }\n\t| { id?: string; type: \"steer\"; message: string; images?: ImageContent[]; enqueueOrder?: number }\n\t| { id?: string; type: \"follow_up\"; message: string; images?: ImageContent[]; enqueueOrder?: number }\n\t| { id?: string; type: \"abort\" }\n\t| { id?: string; type: \"abort_compaction\" }\n\t| { id?: string; type: \"reload\" }\n\t| { id?: string; type: \"check_reload_veto\" }\n\t| { id?: string; type: \"clear_queue\"; abortWillFollow?: boolean }\n\t| { id?: string; type: \"get_steering_messages\" }\n\t| { id?: string; type: \"get_follow_up_messages\" }\n\t| { id?: string; type: \"abort_branch_summary\" }\n\t| { id?: string; type: \"new_session\"; parentSession?: string }\n\n\t// State\n\t| { id?: string; type: \"get_state\" }\n\n\t// Model\n\t| { id?: string; type: \"set_model\"; provider: string; modelId: string }\n\t| { id?: string; type: \"set_favorite_models\"; models: RpcSessionModelEntry[] }\n\t| { id?: string; type: \"set_scoped_models\"; models: RpcSessionModelEntry[] }\n\t| { id?: string; type: \"cycle_model\"; direction?: \"forward\" | \"backward\" }\n\t| { id?: string; type: \"get_available_models\" }\n\n\t// Thinking\n\t| { id?: string; type: \"set_thinking_level\"; level: ThinkingLevel; scope?: \"turn\" }\n\t| { id?: string; type: \"cycle_thinking_level\" }\n\t| { id?: string; type: \"get_available_thinking_levels\" }\n\n\t// Fast mode (OpenAI Codex priority service tier)\n\t| { id?: string; type: \"set_fast_mode\"; enabled: boolean }\n\t| { id?: string; type: \"get_fast_mode\" }\n\n\t// Queue modes\n\t| { id?: string; type: \"set_steering_mode\"; mode: \"all\" | \"one-at-a-time\" }\n\t| { id?: string; type: \"set_follow_up_mode\"; mode: \"all\" | \"one-at-a-time\" }\n\n\t// Compaction\n\t| { id?: string; type: \"compact\"; customInstructions?: string }\n\t| { id?: string; type: \"set_auto_compaction\"; enabled: boolean }\n\n\t// Retry\n\t| { id?: string; type: \"set_auto_retry\"; enabled: boolean }\n\t| { id?: string; type: \"abort_retry\" }\n\n\t// Bash\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"bash\";\n\t\t\tcommand: string;\n\t\t\t/** Identifies output chunks to the requesting client. */\n\t\t\tbashId?: string;\n\t\t\texcludeFromContext?: boolean;\n\t\t\texecutionId?: string;\n\t\t\toperations?: Record<string, unknown>;\n\t }\n\t| { id?: string; type: \"record_bash_result\"; command: string; result: BashResult; excludeFromContext?: boolean }\n\t| { id?: string; type: \"abort_bash\" }\n\t| { id?: string; type: \"cleanup_bash_output\"; path: string }\n\t| { id?: string; type: \"set_label\"; entryId: string; label?: string }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"navigate_tree\";\n\t\t\ttargetId: string;\n\t\t\tsummarize?: boolean;\n\t\t\tcustomInstructions?: string;\n\t\t\treplaceInstructions?: boolean;\n\t\t\tlabel?: string;\n\t }\n\n\t// Session\n\t| { id?: string; type: \"get_session_stats\" }\n\t| { id?: string; type: \"export_html\"; outputPath?: string; themeName?: string }\n\t| { id?: string; type: \"export_jsonl\"; outputPath?: string }\n\t| { id?: string; type: \"switch_session\"; sessionPath: string; cwdOverride?: string }\n\t| { id?: string; type: \"fork\"; entryId: string; position?: \"before\" | \"at\" }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"edit_assistant_message\";\n\t\t\tentryId: string;\n\t\t\ttext: string;\n\t\t\t/** Leaf the client last observed; the edit is refused with `stale_leaf` when the session moved on. */\n\t\t\texpectedLeafId?: string;\n\t\t\tsummarize?: boolean;\n\t\t\tcustomInstructions?: string;\n\t }\n\t| { id?: string; type: \"clone\" }\n\t| { id?: string; type: \"get_fork_messages\" }\n\t| { id?: string; type: \"get_entries\"; since?: string }\n\t| { id?: string; type: \"get_tree\" }\n\t| { id?: string; type: \"get_last_assistant_text\" }\n\t| { id?: string; type: \"set_session_name\"; name: string }\n\t| { id?: string; type: \"import_jsonl\"; inputPath: string; cwdOverride?: string }\n\n\t// Messages\n\t| { id?: string; type: \"get_messages\" }\n\t/**\n\t * Fetch one media block a `media_placeholders` client received as an `image_ref`\n\t * stub. `contentIndex` indexes the toolResult's `content` array and must point at\n\t * an image block; anything else answers `media_not_found`.\n\t */\n\t| { id?: string; type: \"get_media\"; toolCallId: string; contentIndex: number }\n\n\t// Commands and loaded runtime surfaces\n\t| { id?: string; type: \"get_commands\" }\n\t| { id?: string; type: \"get_loaded_surfaces\" }\n\t| { id?: string; type: \"extension_request\"; name: string; data?: unknown }\n\n\t// Auth (task 13) is additive. get_auth_providers, login_api_key and logout\n\t// answer synchronously. login_start responds immediately (flow-started) and\n\t// completion is delivered via auth_login_url / auth_login_end EVENTS, because\n\t// an interactive OAuth round-trip cannot fit the 30s request timeout.\n\t| { id?: string; type: \"get_auth_providers\" }\n\t| { id?: string; type: \"login_start\"; provider: string }\n\t| { id?: string; type: \"login_cancel\"; provider: string }\n\t| { id?: string; type: \"login_api_key\"; provider: string; key: string }\n\t| { id?: string; type: \"logout\"; provider: string }\n\n\t// Provider accounts (task 13) are additive. The desktop consumer contract\n\t// lives in ../omo-desktop-app/packages/contracts/src/rpc.ts and is updated separately.\n\t| { id?: string; type: \"get_provider_accounts\"; provider: string }\n\t| { id?: string; type: \"account_pin\"; provider: string; name: string | null }\n\t| { id?: string; type: \"account_remove\"; provider: string; name: string }\n\t| { id?: string; type: \"set_client_info\"; width: number; capabilities?: string[] };\n\n/** Stable multi-session protocol error codes. */\nexport const RPC_ERROR_UNKNOWN_SESSION = \"unknown_session\";\nexport const RPC_ERROR_SESSION_CLOSING = \"session_closing\";\nexport const RPC_ERROR_SESSION_PATH_IN_USE = \"session_path_in_use\";\nexport const RPC_ERROR_MISSING_SESSION_ID = \"missing_session_id\";\nexport const RPC_ERROR_MULTI_SESSION_DISABLED = \"multi_session_disabled\";\nexport const RPC_ERROR_INVALID_PATH = \"invalid_path\";\nexport const RPC_ERROR_OPEN_FAILED = \"open_failed\";\nexport const RPC_ERROR_MEDIA_NOT_FOUND = \"media_not_found\";\n// edit_assistant_message failures (mirror AssistantEditError.code / SessionStreamingError.code)\nexport const RPC_ERROR_STREAMING = \"streaming\";\nexport const RPC_ERROR_ENTRY_NOT_FOUND = \"not_found\";\nexport const RPC_ERROR_NOT_ASSISTANT = \"not_assistant\";\nexport const RPC_ERROR_EMPTY_TEXT = \"empty\";\nexport const RPC_ERROR_STALE_LEAF = \"stale_leaf\";\n\nexport type RpcErrorCode =\n\t| typeof RPC_ERROR_UNKNOWN_SESSION\n\t| typeof RPC_ERROR_SESSION_CLOSING\n\t| typeof RPC_ERROR_SESSION_PATH_IN_USE\n\t| typeof RPC_ERROR_MISSING_SESSION_ID\n\t| typeof RPC_ERROR_MULTI_SESSION_DISABLED\n\t| typeof RPC_ERROR_INVALID_PATH\n\t| typeof RPC_ERROR_OPEN_FAILED\n\t| typeof RPC_ERROR_MEDIA_NOT_FOUND\n\t| typeof RPC_ERROR_STREAMING\n\t| typeof RPC_ERROR_ENTRY_NOT_FOUND\n\t| typeof RPC_ERROR_NOT_ASSISTANT\n\t| typeof RPC_ERROR_EMPTY_TEXT\n\t| typeof RPC_ERROR_STALE_LEAF;\n\n/** Every established command accepts an additive routing envelope. */\nexport type RpcCommand =\n\t| (RpcSessionCommand & { sessionId?: string })\n\t| { id?: string; type: \"get_protocol_info\" }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"open_session\";\n\t\t\tsessionPath?: string;\n\t\t\tcwd?: string;\n\t\t\tprovider?: string;\n\t\t\tmodelId?: string;\n\t\t\tthinkingLevel?: ThinkingLevel;\n\t\t\tpermissionPreset?: string;\n\t }\n\t| { id?: string; type: \"close_session\"; sessionId: string }\n\t| { id?: string; type: \"list_sessions\" };\n\n// ============================================================================\n// Auth provider info (get_auth_providers response)\n// ============================================================================\n\n/** One provider row for the /login and /logout selectors. */\nexport interface RpcAuthProvider {\n\t/** Provider id (e.g. \"anthropic\", \"openai\"). */\n\tid: string;\n\t/** Human-readable display name. */\n\tname: string;\n\t/** How this provider authenticates. */\n\tauthType: \"oauth\" | \"api_key\";\n\t/** Auth status without exposing or refreshing any credential. */\n\tstatus: RpcAuthStatus;\n}\n\n/** Auth status mirror (no credential values), from getProviderAuthStatus. */\nexport interface RpcAuthStatus {\n\tconfigured: boolean;\n\tsource?:\n\t\t| \"stored\"\n\t\t| \"runtime\"\n\t\t| \"environment\"\n\t\t| \"fallback\"\n\t\t| \"models_json_key\"\n\t\t| \"models_json_command\"\n\t\t| \"models_json_headers\"\n\t\t| \"extension_headers\";\n\tlabel?: string;\n}\n\n/** Account-slot metadata safe to send to desktop clients. */\nexport interface RpcProviderAccount {\n\tname: string;\n\tsource: \"login\" | \"import\" | \"env\";\n\tblocked: boolean;\n\tpinned: boolean;\n}\n\n// ============================================================================\n// RPC Slash Command (for get_commands response)\n// ============================================================================\n\n/** One extension module loaded by the session resource loader. */\nexport interface RpcLoadedExtension {\n\tname: string;\n\tpath: string;\n\tsourceInfo: SourceInfo;\n\tenabled: boolean;\n}\n\nexport type RpcMcpServerStatus =\n\t| \"enabled\"\n\t| \"disabled\"\n\t| \"untrusted\"\n\t| \"idle\"\n\t| \"connecting\"\n\t| \"connected\"\n\t| \"degraded\"\n\t| \"suspended\"\n\t| \"needs_auth\"\n\t| \"needs_client_registration\";\n\n/** Runtime MCP server state projected from the session-owned MCP service. */\nexport interface RpcLoadedMcpServer {\n\tname: string;\n\ttoolCount: number;\n\tstatus: RpcMcpServerStatus;\n\tauthStatus: \"unsupported\" | \"notLoggedIn\" | \"bearerToken\" | \"oAuth\";\n}\n\n// ============================================================================\n// RPC State\n// ============================================================================\n\nexport interface RpcSessionModelEntry {\n\tmodel: Model<any>;\n\tthinkingLevel?: ThinkingLevel;\n\tthinkingSelection?: ThinkingSelection;\n\tserviceTier?: ServiceTier;\n}\n\nexport interface RpcSessionState {\n\tmodel?: Model<any>;\n\tthinkingLevel: ThinkingLevel;\n\t/**\n\t * Explicit selector provenance for `thinkingLevel`, absent for SDK-defaulted\n\t * effective levels. An attached client cannot distinguish \"the user chose high\"\n\t * from \"high is simply the effective level\" without it.\n\t */\n\tthinkingSelection?: ThinkingSelection;\n\t/**\n\t * Abort owner of the most recent aborted turn, or the in-flight one while it is\n\t * still settling. Retained after settle: the live session getter is transient, so a\n\t * client that snapshots state after the turn ends would otherwise see nothing and\n\t * fall back to generic wording instead of \"Operation aborted\".\n\t */\n\tlastAbortSource?: AgentAbortSource;\n\t/** Service tier the session resolved for the active model, if any. */\n\tserviceTier?: ServiceTier;\n\t/** True when the active model is served at the priority (\"fast\") tier. */\n\tfastMode: boolean;\n\tisStreaming: boolean;\n\tisCompacting: boolean;\n\tsteeringMode: \"all\" | \"one-at-a-time\";\n\tfollowUpMode: \"all\" | \"one-at-a-time\";\n\tsessionFile?: string;\n\tsessionId: string;\n\tsessionName?: string;\n\tcwd: string;\n\t/** Whether project-scoped settings and resources are trusted by the host. */\n\tprojectTrusted: boolean;\n\t/** Authoritative entries for setup-only sessions whose deferred file does not exist yet. */\n\tentries?: SessionEntry[];\n\tfavoriteModels: RpcSessionModelEntry[];\n\tscopedModels: RpcSessionModelEntry[];\n\tsteering: string[];\n\tfollowUp: string[];\n\tordered: Array<{ text: string; mode: \"steer\" | \"followUp\"; enqueueOrder: number }>;\n\tautoCompactionEnabled: boolean;\n\tmessageCount: number;\n\tpendingMessageCount: number;\n\tusageTotals: UsageTotals;\n\tcontextUsage?: ContextUsage;\n\tretryAttempt: number;\n\tisBashRunning: boolean;\n\t/** Open question prompts awaiting an answer. Absent when none are pending. */\n\tpendingQuestions?: RpcQuestionUiRequest[];\n}\n\n// ============================================================================\n// RPC Responses (stdout)\n// ============================================================================\n\n// Success responses with data\nexport type RpcResponse =\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_protocol_info\";\n\t\t\tsuccess: true;\n\t\t\tdata: {\n\t\t\t\tprotocolVersion: 1;\n\t\t\t\tserverVersion: string;\n\t\t\t\tcapabilities: string[];\n\t\t\t\tmode: \"classic\" | \"multi\";\n\t\t\t};\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"open_session\";\n\t\t\tsuccess: true;\n\t\t\tdata: { sessionId: string; state: RpcSessionState; attached?: boolean };\n\t }\n\t| { id?: string; type: \"response\"; command: \"close_session\"; success: true; data: Record<string, never> }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"list_sessions\";\n\t\t\tsuccess: true;\n\t\t\tdata: {\n\t\t\t\tsessions: Array<{\n\t\t\t\t\tsessionId: string;\n\t\t\t\t\tdurableSessionId?: string;\n\t\t\t\t\tsessionPath?: string;\n\t\t\t\t\tcwd: string;\n\t\t\t\t\tname?: string;\n\t\t\t\t\tstatus: \"opening\" | \"open\" | \"closing\" | \"closed\";\n\t\t\t\t}>;\n\t\t\t};\n\t }\n\t// Prompting (async - events follow)\n\t// data.disposition reports how the host disposed the prompt (started/queued/handled)\n\t// so proxied optimistic-echo contracts resolve exactly like the local path; older\n\t// hosts omit it and clients must degrade to canonical-only rendering.\n\t| { id?: string; type: \"response\"; command: \"prompt\"; success: true; data?: { disposition?: PromptDisposition } }\n\t| { id?: string; type: \"response\"; command: \"send_custom_message\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"append_user_message\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"append_session_entry\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"steer\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"follow_up\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"abort\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"abort_compaction\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"reload\"; success: true; data: { cancelled: boolean; reason?: string } }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"check_reload_veto\";\n\t\t\tsuccess: true;\n\t\t\tdata: { cancelled: boolean; reason?: string };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"clear_queue\";\n\t\t\tsuccess: true;\n\t\t\tdata: {\n\t\t\t\tsteering: string[];\n\t\t\t\tfollowUp: string[];\n\t\t\t\tordered: Array<{ text: string; mode: \"steer\" | \"followUp\"; enqueueOrder: number }>;\n\t\t\t};\n\t }\n\t| { id?: string; type: \"response\"; command: \"new_session\"; success: true; data: { cancelled: boolean } }\n\n\t// State\n\t| { id?: string; type: \"response\"; command: \"get_state\"; success: true; data: RpcSessionState }\n\n\t// Model\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"set_model\";\n\t\t\tsuccess: true;\n\t\t\tdata: Model<any> & { systemPromptName?: string };\n\t }\n\t| { id?: string; type: \"response\"; command: \"set_favorite_models\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"set_scoped_models\"; success: true }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"cycle_model\";\n\t\t\tsuccess: true;\n\t\t\tdata: { model: Model<any>; thinkingLevel: ThinkingLevel; isScoped: boolean } | null;\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_available_models\";\n\t\t\tsuccess: true;\n\t\t\tdata: { models: Array<Model<any> & { supportedThinkingLevels: ThinkingLevel[] }> };\n\t }\n\n\t// Thinking\n\t| { id?: string; type: \"response\"; command: \"set_thinking_level\"; success: true }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"cycle_thinking_level\";\n\t\t\tsuccess: true;\n\t\t\tdata: { level: ThinkingLevel } | null;\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_available_thinking_levels\";\n\t\t\tsuccess: true;\n\t\t\tdata: { levels: ThinkingLevel[] };\n\t }\n\n\t// Fast mode\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"set_fast_mode\";\n\t\t\tsuccess: true;\n\t\t\tdata: { enabled: boolean; serviceTier: ServiceTier; provider: string; modelId: string };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_fast_mode\";\n\t\t\tsuccess: true;\n\t\t\tdata: { enabled: boolean; serviceTier: ServiceTier | null };\n\t }\n\n\t// Queue modes\n\t| { id?: string; type: \"response\"; command: \"set_steering_mode\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"set_follow_up_mode\"; success: true }\n\n\t// Compaction\n\t| { id?: string; type: \"response\"; command: \"compact\"; success: true; data: CompactionResult }\n\t| { id?: string; type: \"response\"; command: \"set_auto_compaction\"; success: true }\n\n\t// Retry\n\t| { id?: string; type: \"response\"; command: \"set_auto_retry\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"abort_retry\"; success: true }\n\n\t// Bash\n\t| { id?: string; type: \"response\"; command: \"bash\"; success: true; data: BashResult }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"navigate_tree\";\n\t\t\tsuccess: true;\n\t\t\tdata: { cancelled: boolean; editorText?: string; aborted?: boolean; summaryEntry?: unknown };\n\t }\n\t| { id?: string; type: \"response\"; command: \"abort_bash\"; success: true }\n\n\t// Session\n\t| { id?: string; type: \"response\"; command: \"get_session_stats\"; success: true; data: SessionStats }\n\t| { id?: string; type: \"response\"; command: \"export_html\"; success: true; data: { path: string } }\n\t| { id?: string; type: \"response\"; command: \"export_jsonl\"; success: true; data: { path: string } }\n\t| { id?: string; type: \"response\"; command: \"switch_session\"; success: true; data: { cancelled: boolean } }\n\t| { id?: string; type: \"response\"; command: \"fork\"; success: true; data: { text: string; cancelled: boolean } }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"edit_assistant_message\";\n\t\t\tsuccess: true;\n\t\t\tdata: EditAssistantMessageResult;\n\t }\n\t| { id?: string; type: \"response\"; command: \"clone\"; success: true; data: { cancelled: boolean } }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_fork_messages\";\n\t\t\tsuccess: true;\n\t\t\tdata: { messages: Array<{ entryId: string; text: string }> };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_entries\";\n\t\t\tsuccess: true;\n\t\t\tdata: { entries: SessionEntry[]; leafId: string | null };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_tree\";\n\t\t\tsuccess: true;\n\t\t\tdata: { tree: SessionTreeNode[]; leafId: string | null };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_last_assistant_text\";\n\t\t\tsuccess: true;\n\t\t\tdata: { text: string | null };\n\t }\n\t| { id?: string; type: \"response\"; command: \"set_session_name\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"import_jsonl\"; success: true; data: { cancelled: boolean } }\n\n\t// Messages\n\t| { id?: string; type: \"response\"; command: \"get_messages\"; success: true; data: { messages: AgentMessage[] } }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_media\";\n\t\t\tsuccess: true;\n\t\t\tdata: { toolCallId: string; contentIndex: number; content: ImageContent };\n\t }\n\n\t// Commands and loaded runtime surfaces\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_commands\";\n\t\t\tsuccess: true;\n\t\t\tdata: { commands: RpcSlashCommand[] };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_loaded_surfaces\";\n\t\t\tsuccess: true;\n\t\t\tdata: { extensions: RpcLoadedExtension[]; mcpServers: RpcLoadedMcpServer[] };\n\t }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"extension_request\";\n\t\t\tsuccess: true;\n\t\t\tdata: unknown;\n\t }\n\n\t// Auth (task 13)\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_auth_providers\";\n\t\t\tsuccess: true;\n\t\t\tdata: { providers: RpcAuthProvider[] };\n\t }\n\t// login_start returns immediately: success:true means the flow has started.\n\t// The URL and completion arrive as auth_login_url / auth_login_end events.\n\t| { id?: string; type: \"response\"; command: \"login_start\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"login_cancel\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"login_api_key\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"logout\"; success: true }\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: \"get_provider_accounts\";\n\t\t\tsuccess: true;\n\t\t\tdata: { accounts: RpcProviderAccount[] };\n\t }\n\t| { id?: string; type: \"response\"; command: \"account_pin\"; success: true }\n\t| { id?: string; type: \"response\"; command: \"account_remove\"; success: true }\n\n\t// Error response (any command can fail)\n\t| {\n\t\t\tid?: string;\n\t\t\ttype: \"response\";\n\t\t\tcommand: string;\n\t\t\tsuccess: false;\n\t\t\terror: string;\n\t\t\terrorCode?: string;\n\t\t\terrorData?: unknown;\n\t };\n\n/** Success payload of `edit_assistant_message`. `leafId` is the session leaf after the call. */\nexport type EditAssistantMessageResult =\n\t| { outcome: \"edited\"; entry: SessionMessageEntry; leafId: string; summaryEntryId?: string }\n\t| { outcome: \"unchanged\"; leafId: string | null }\n\t| { outcome: \"cancelled\"; leafId: string | null; aborted?: boolean };\n\n// ============================================================================\n// Extension UI Events (stdout)\n// ============================================================================\n\n/** One question in an RPC `question` UI request. Matches canonical QuestionRequest.questions. */\nexport type RpcQuestionSpec = {\n\tid: string;\n\theader: string;\n\tquestion: string;\n\toptions: Array<{ label: string; description?: string }>;\n\tmultiSelect: boolean;\n};\n\nexport type RpcQuestionAnswers = Record<string, { selected: string[]; text?: string }>;\n\nexport type RpcQuestionOutcome =\n\t| \"answered\"\n\t| \"comment-submitted\"\n\t| \"timed_out\"\n\t| \"cancelled\"\n\t| \"orphaned-after-restart\"\n\t| \"unavailable\";\n\n/** Outbound `extension_ui_request` body for method `question`. */\nexport type RpcQuestionUiRequest = {\n\ttype: \"extension_ui_request\";\n\tid: string;\n\tmethod: \"question\";\n\trequestId: string;\n\ttoolCallId: string;\n\twaitForAnswer: boolean;\n\tquestions: RpcQuestionSpec[];\n\ttimeout: number;\n\taskedAtMs: number;\n\tdeadlineAtMs: number;\n\tremainingMs: number;\n};\n\n/** Emitted when an extension needs user input */\nexport type RpcExtensionUIRequest =\n\t| { type: \"extension_ui_request\"; id: string; method: \"select\"; title: string; options: string[]; timeout?: number }\n\t| { type: \"extension_ui_request\"; id: string; method: \"confirm\"; title: string; message: string; timeout?: number }\n\t| {\n\t\t\ttype: \"extension_ui_request\";\n\t\t\tid: string;\n\t\t\tmethod: \"input\";\n\t\t\ttitle: string;\n\t\t\tplaceholder?: string;\n\t\t\ttimeout?: number;\n\t }\n\t| { type: \"extension_ui_request\"; id: string; method: \"editor\"; title: string; prefill?: string }\n\t| {\n\t\t\ttype: \"extension_ui_request\";\n\t\t\tid: string;\n\t\t\tmethod: \"notify\";\n\t\t\tmessage: string;\n\t\t\tnotifyType?: \"info\" | \"warning\" | \"error\";\n\t }\n\t| {\n\t\t\ttype: \"extension_ui_request\";\n\t\t\tid: string;\n\t\t\tmethod: \"setStatus\";\n\t\t\tstatusKey: string;\n\t\t\tstatusText: string | undefined;\n\t }\n\t| {\n\t\t\ttype: \"extension_ui_request\";\n\t\t\tid: string;\n\t\t\tmethod: \"setWidget\";\n\t\t\twidgetKey: string;\n\t\t\twidgetLines: string[] | undefined;\n\t\t\twidgetPlacement?: \"aboveEditor\" | \"belowEditor\";\n\t }\n\t| {\n\t\t\ttype: \"extension_ui_request\";\n\t\t\tid: string;\n\t\t\tmethod: \"setHeader\" | \"setFooter\";\n\t\t\twidgetLines: string[] | undefined;\n\t }\n\t| { type: \"extension_ui_request\"; id: string; method: \"setTitle\"; title: string }\n\t| { type: \"extension_ui_request\"; id: string; method: \"set_editor_text\"; text: string }\n\t// Additive (task 13/14): emitted ONLY when the client advertised the\n\t// \"custom_unsupported\" capability. ctx.ui.custom cannot render a third-party\n\t// component in RPC mode, so a flagged client gets this notice before custom()\n\t// returns undefined. Default clients never see it (byte-identical behavior).\n\t| { type: \"extension_ui_request\"; id: string; method: \"custom_unsupported\"; extensionName: string }\n\t| RpcQuestionUiRequest;\n\nexport type RpcExtensionEvent = {\n\ttype: \"extension_event\";\n\tname: string;\n\tdata: unknown;\n};\n\n// ============================================================================\n// Extension UI Commands (stdin)\n// ============================================================================\n\n/** Response to an extension UI request */\nexport type RpcExtensionUIResponse =\n\t| { type: \"extension_ui_response\"; id: string; value: string }\n\t| { type: \"extension_ui_response\"; id: string; confirmed: boolean }\n\t| { type: \"extension_ui_response\"; id: string; cancelled: true }\n\t| { type: \"extension_ui_response\"; id: string; answers: RpcQuestionAnswers; comment?: string };\n\n/** Inbound draft updates for an open `question` request. */\nexport type RpcExtensionUIProgress = {\n\ttype: \"extension_ui_progress\";\n\tid: string;\n\tanswers?: RpcQuestionAnswers;\n\tcomment?: string;\n\tsessionId?: string;\n};\n\n/** Stdin records: session/host commands plus extension-UI replies and progress. */\nexport type RpcInboundRecord = RpcCommand | RpcExtensionUIResponse | RpcExtensionUIProgress;\n\n/** Outbound deadline refresh for an open `question` request. */\nexport type RpcQuestionUpdatedEvent = {\n\ttype: \"question_updated\";\n\tid: string;\n\tdeadlineAtMs: number;\n\tremainingMs: number;\n};\n\n/** Outbound terminal outcome for a `question` request. */\nexport type RpcQuestionResolvedEvent = {\n\ttype: \"question_resolved\";\n\tid: string;\n\trequestId: string;\n\ttoolCallId: string;\n\toutcome: RpcQuestionOutcome;\n\tanswers: RpcQuestionAnswers;\n\tcomment?: string;\n\tunanswered: string[];\n\tdeadlineAtMs?: number;\n};\n\n/** Emitted when the effective session thinking level changes. */\nexport interface RpcThinkingLevelChangedEvent {\n\ttype: \"thinking_level_changed\";\n\tlevel: ThinkingLevel;\n\t/**\n\t * Selector provenance in force after the change; absent when the level is an\n\t * SDK-defaulted effective level rather than an explicit choice. Additive: an old\n\t * client that does not know the field ignores it.\n\t */\n\tthinkingSelection?: ThinkingSelection;\n}\n\nexport interface RpcHighReasoningWarningEvent {\n\ttype: \"high_reasoning_warning\";\n\tmodelId: string;\n\tprovider: string;\n\tthinkingLevel: ThinkingLevel;\n}\n\n/** Emitted after explicit skill tokens are expanded for a user-authored request. */\nexport interface RpcSkillInvocationEvent {\n\ttype: \"skill_invocation\";\n\tskills: readonly {\n\t\tname: string;\n\t\tpath: string;\n\t\tsyntax: \"dollar\" | \"slash\";\n\t}[];\n}\n\n/** Emitted when startup or reload selects an existing settings file. */\nexport interface RpcSettingsSourceSelectedEvent {\n\ttype: \"settings_source_selected\";\n\tpath: string;\n\tformat: \"jsonc\" | \"json\";\n\treason: \"explicit-jsonc\" | \"json-only\";\n\tscope: \"global\" | \"project\";\n}\n\n/**\n * Emitted after the session's active model changed, with the thinking level in force AFTER\n * the switch (per-model memory, a favorite's pinned level, or the clamped previous level).\n *\n * Clients that tracked the model by inferring it from `entry_appended` can consume this\n * instead. Additive: an old client that does not know the type filters it out.\n */\nexport interface RpcModelChangedEvent {\n\ttype: \"model_changed\";\n\tmodel: Model<any>;\n\tthinkingLevel: ThinkingLevel;\n\t/** Why the model changed: \"set\", \"cycle\", \"restore\", \"fallback\", or \"fallback-revert\". */\n\tsource: string;\n\t/** Selector provenance for `thinkingLevel` after the switch, when one was explicit. */\n\tthinkingSelection?: ThinkingSelection;\n}\n\n/** Emitted when the effective service tier or fast-mode state of the session changes. */\nexport interface RpcServiceTierChangedEvent {\n\ttype: \"service_tier_changed\";\n\ttier?: ServiceTier;\n\tfastMode: boolean;\n}\n/**\n * Emitted after the host swapped the live session behind this connection (new session,\n * fork, or switch), carrying the new authoritative identity.\n *\n * A replacement can be initiated by ANY attached client. Without this event the other\n * attached clients keep their stale identity and keep routing replacement-dependent\n * actions at the session that no longer exists. Additive: an old client that does not\n * know the type filters it out.\n */\nexport interface RpcSessionReplacedEvent {\n\ttype: \"session_replaced\";\n\t/**\n\t * Durable session id of the session now bound to this connection.\n\t *\n\t * Deliberately NOT `sessionId`: top-level `sessionId` is reserved for the\n\t * per-connection routing handle that multi-session hosts tag every record\n\t * with, and that tag is applied last - it would overwrite this value and\n\t * leave the event carrying no identity at all.\n\t */\n\tdurableSessionId: string;\n\t/** Session file backing the new session, absent for a deferred setup-only session. */\n\tsessionFile?: string;\n\tcwd: string;\n\tsessionName?: string;\n}\n\n/** Emitted after the loaded skill, extension, or MCP inventory changes. */\nexport interface RpcLoadedSurfacesChangedEvent {\n\ttype: \"loaded_surfaces_changed\";\n}\n\n/** Emitted after an account is added, removed, pinned, or blocked by refresh failure. */\nexport interface RpcAuthAccountsChangedEvent {\n\ttype: \"auth_accounts_changed\";\n\tprovider: string;\n}\n\n/** Emitted when the SDK failover engine advances to a different account slot. */\nexport interface RpcAccountFailoverEvent {\n\ttype: \"account_failover\";\n\tprovider: string;\n\tfrom: string;\n\tto: string;\n\treason: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"session-binding.js","sourceRoot":"","sources":["../../../src/modes/rpc/session-binding.ts"],"names":[],"mappings":"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","sourcesContent":["import { bindToProviderScope, runWithProviderScope } from \"@earendil-works/pi-ai/node/provider-scope\";\nimport type { AgentSessionRuntime } from \"../../core/agent-session-runtime.ts\";\nimport {\n\tcreateRpcConnectionHandler,\n\ttype RpcConnectionHandler,\n\ttype RpcConnectionOptions,\n\ttype RpcConnectionSink,\n} from \"./connection-handler.ts\";\nimport type { SessionEventWriter } from \"./session-event-writer.ts\";\nimport type { RpcSessionEntry } from \"./session-registry.ts\";\n\n/** A session-owned adapter around the classic command and extension-UI wiring. */\nexport interface RpcSessionBinding {\n\thandle(command: object): Promise<void>;\n\tcancelPendingExtensionUiRequests?(): void;\n\trerenderComponents?(): void;\n\tdispose(): Promise<void>;\n}\n\nfunction enqueueRecords(writer: SessionEventWriter, sessionId: string, chunk: string): void {\n\tfor (const line of chunk.split(\"\\n\")) {\n\t\tif (line) writer.enqueue(sessionId, JSON.parse(line) as object);\n\t}\n}\n\n/**\n * Creates the extension UI bridge and subscriptions within the entry's provider\n * scope. The classic handler remains the single source of command semantics.\n */\nexport async function createRpcSessionBinding(\n\tsessionId: string,\n\tentry: RpcSessionEntry,\n\twriter: SessionEventWriter,\n\trequestClose: () => void,\n\toptions: Pick<RpcConnectionOptions, \"capabilities\" | \"sharedWidth\"> = {},\n): Promise<RpcSessionBinding> {\n\tif (entry.worker) return entry.worker.bind(sessionId, writer, requestClose, options);\n\tif (!entry.runtime) throw new Error(\"Session runtime was not created\");\n\t// Attachments share one entry, so resolve the host from the live runtime. In\n\t// particular, switch_session must use the entry's replacement-aware method\n\t// instead of a runtime captured during open_session.\n\tconst runtimeHost = new Proxy({} as AgentSessionRuntime, {\n\t\tget(_target, property) {\n\t\t\tif (property === \"switchSession\" && entry.switchSession) return entry.switchSession;\n\t\t\tif (property === \"setRebindSession\")\n\t\t\t\treturn (callback?: Parameters<AgentSessionRuntime[\"setRebindSession\"]>[0]) => {\n\t\t\t\t\tentry.rebindSession = callback;\n\t\t\t\t\tentry.runtime?.setRebindSession(callback);\n\t\t\t\t};\n\t\t\tconst runtime = entry.runtime;\n\t\t\tif (!runtime) throw new Error(\"Session runtime was not created\");\n\t\t\tconst value = Reflect.get(runtime, property, runtime);\n\t\t\treturn typeof value === \"function\" ? value.bind(runtime) : value;\n\t\t},\n\t});\n\tconst handler: RpcConnectionHandler = await runWithProviderScope(entry.scope, async () => {\n\t\tconst taggedSink: RpcConnectionSink = {\n\t\t\twriteRaw: bindToProviderScope((chunk: string) => enqueueRecords(writer, sessionId, chunk)),\n\t\t\twaitForBackpressure: bindToProviderScope(async () => {}),\n\t\t};\n\t\treturn createRpcConnectionHandler(runtimeHost, taggedSink, {\n\t\t\tsessionId,\n\t\t\tshutdownHandler: bindToProviderScope(requestClose),\n\t\t\tdisposeRuntime: false,\n\t\t\teventFlushScheduler: (flush) => flush(),\n\t\t\t...options,\n\t\t});\n\t});\n\tawait handler.ready;\n\treturn {\n\t\thandle: (command) => runWithProviderScope(entry.scope, () => handler.handleInputLine(JSON.stringify(command))),\n\t\tcancelPendingExtensionUiRequests: () =>\n\t\t\trunWithProviderScope(entry.scope, () => handler.cancelPendingExtensionUiRequests()),\n\t\trerenderComponents: () => runWithProviderScope(entry.scope, () => handler.rerenderComponents()),\n\t\tdispose: () => runWithProviderScope(entry.scope, () => handler.dispose()),\n\t};\n}\n"]}
1
+ {"version":3,"file":"session-binding.js","sourceRoot":"","sources":["../../../src/modes/rpc/session-binding.ts"],"names":[],"mappings":"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","sourcesContent":["import { bindToProviderScope, runWithProviderScope } from \"@earendil-works/pi-ai/node/provider-scope\";\nimport type { AgentSessionRuntime } from \"../../core/agent-session-runtime.ts\";\nimport {\n\tcreateRpcConnectionHandler,\n\ttype RpcConnectionHandler,\n\ttype RpcConnectionOptions,\n\ttype RpcConnectionSink,\n} from \"./connection-handler.ts\";\nimport type { SessionEventWriter } from \"./session-event-writer.ts\";\nimport type { RpcSessionEntry } from \"./session-registry.ts\";\n\n/** A session-owned adapter around the classic command and extension-UI wiring. */\nexport interface RpcSessionBinding {\n\thandle(command: object): Promise<void>;\n\tcancelPendingExtensionUiRequests?(): void;\n\trerenderComponents?(): void;\n\tdispose(): Promise<void>;\n}\n\nfunction enqueueRecords(writer: SessionEventWriter, sessionId: string, chunk: string): void {\n\tfor (const line of chunk.split(\"\\n\")) {\n\t\tif (line) writer.enqueue(sessionId, JSON.parse(line) as object);\n\t}\n}\n\n/**\n * Creates the extension UI bridge and subscriptions within the entry's provider\n * scope. The classic handler remains the single source of command semantics.\n */\nexport async function createRpcSessionBinding(\n\tsessionId: string,\n\tentry: RpcSessionEntry,\n\twriter: SessionEventWriter,\n\trequestClose: () => void,\n\toptions: Pick<RpcConnectionOptions, \"capabilities\" | \"sharedWidth\"> = {},\n): Promise<RpcSessionBinding> {\n\tif (entry.worker) return entry.worker.bind(sessionId, writer, requestClose, options);\n\tif (!entry.runtime) throw new Error(\"Session runtime was not created\");\n\t// Attachments share one entry, so resolve the host from the live runtime. In\n\t// particular, switch_session must use the entry's replacement-aware method\n\t// instead of a runtime captured during open_session.\n\tconst runtimeHost = new Proxy({} as AgentSessionRuntime, {\n\t\tget(_target, property) {\n\t\t\tif (property === \"switchSession\" && entry.switchSession) return entry.switchSession;\n\t\t\tif (property === \"setRebindSession\")\n\t\t\t\treturn (callback?: Parameters<AgentSessionRuntime[\"setRebindSession\"]>[0]) => {\n\t\t\t\t\tentry.rebindSession = callback;\n\t\t\t\t\tentry.runtime?.setRebindSession(callback);\n\t\t\t\t};\n\t\t\tconst runtime = entry.runtime;\n\t\t\tif (!runtime) throw new Error(\"Session runtime was not created\");\n\t\t\tconst value = Reflect.get(runtime, property, runtime);\n\t\t\treturn typeof value === \"function\" ? value.bind(runtime) : value;\n\t\t},\n\t});\n\tconst handler: RpcConnectionHandler = await runWithProviderScope(entry.scope, async () => {\n\t\tconst taggedSink: RpcConnectionSink = {\n\t\t\twriteRaw: bindToProviderScope((chunk: string) => enqueueRecords(writer, sessionId, chunk)),\n\t\t\twaitForBackpressure: bindToProviderScope(async () => {}),\n\t\t};\n\t\treturn createRpcConnectionHandler(runtimeHost, taggedSink, {\n\t\t\tsessionId,\n\t\t\tshutdownHandler: bindToProviderScope(requestClose),\n\t\t\tdisposeRuntime: false,\n\t\t\teventFlushScheduler: (flush) => flush(),\n\t\t\t...options,\n\t\t});\n\t});\n\tawait handler.ready;\n\treturn {\n\t\thandle: (command) => runWithProviderScope(entry.scope, () => handler.handleInputLine(JSON.stringify(command))),\n\t\tcancelPendingExtensionUiRequests: () =>\n\t\t\trunWithProviderScope(entry.scope, () => handler.cancelPendingExtensionUiRequests()),\n\t\trerenderComponents: () => runWithProviderScope(entry.scope, () => handler.rerenderComponents()),\n\t\tdispose: () => runWithProviderScope(entry.scope, () => handler.dispose()),\n\t};\n}\n"]}
@@ -84,10 +84,10 @@ export declare class SessionCommandRouter {
84
84
  /**
85
85
  * One owned handle's refcounted close: the same sequence as an explicit
86
86
  * close_session, tolerant of races with other lifecycle paths (an entry
87
- * already closed or claimed elsewhere is simply skipped). Disposal and
88
- * binding removal happen only when this was the LAST attachment (the entry
89
- * transitioned to "closing"): surviving attachments keep the shared binding
90
- * and their event stream.
87
+ * already closed or claimed elsewhere is simply skipped). Disposal, pending
88
+ * extension-UI cancellation and binding removal happen only when this was the
89
+ * LAST attachment (the entry transitioned to "closing"): surviving
90
+ * attachments keep the shared binding and their event stream.
91
91
  */
92
92
  private releaseOwnedSession;
93
93
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"session-command-router.d.ts","sourceRoot":"","sources":["../../../src/modes/rpc/session-command-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-command-router.d.ts","sourceRoot":"","sources":["../../../src/modes/rpc/session-command-router.ts"],"names":[],"mappings":"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"}
@@ -345,7 +345,6 @@ export class SessionCommandRouter {
345
345
  return;
346
346
  }
347
347
  await Promise.all([...owned].map(async ([sessionId, count]) => {
348
- this.bindings.get(sessionId)?.cancelPendingExtensionUiRequests?.();
349
348
  for (let attachment = 0; attachment < count; attachment++) {
350
349
  // Headless completion contract: a turn survives its client's death and
351
350
  // runs to settlement (the host lifecycle keeps the process alive on
@@ -390,20 +389,27 @@ export class SessionCommandRouter {
390
389
  /**
391
390
  * One owned handle's refcounted close: the same sequence as an explicit
392
391
  * close_session, tolerant of races with other lifecycle paths (an entry
393
- * already closed or claimed elsewhere is simply skipped). Disposal and
394
- * binding removal happen only when this was the LAST attachment (the entry
395
- * transitioned to "closing"): surviving attachments keep the shared binding
396
- * and their event stream.
392
+ * already closed or claimed elsewhere is simply skipped). Disposal, pending
393
+ * extension-UI cancellation and binding removal happen only when this was the
394
+ * LAST attachment (the entry transitioned to "closing"): surviving
395
+ * attachments keep the shared binding and their event stream.
397
396
  */
398
397
  async releaseOwnedSession(sessionId) {
399
398
  // A failed claim means the entry is already closed or owned by another path.
400
399
  const claim = this.tryClaimClose(sessionId, { drainAttachments: false });
401
400
  if (!claim)
402
401
  return;
403
- if (claim.finalizer)
404
- await this.finalizeClose(sessionId, this.bindings.get(sessionId));
405
- else
402
+ if (!claim.finalizer) {
406
403
  await this.finalizations.get(sessionId)?.promise;
404
+ return;
405
+ }
406
+ const binding = this.bindings.get(sessionId);
407
+ // Pending UI requests are session-owned, not connection-owned: a question
408
+ // asked through one connection stays answerable by every other attachment.
409
+ // Cancel them only here, where the refcount has already decided the session
410
+ // is being torn down, never on any owner drop.
411
+ binding?.cancelPendingExtensionUiRequests?.();
412
+ await this.finalizeClose(sessionId, binding);
407
413
  }
408
414
  /**
409
415
  * Releases one attachment (or every attachment when draining) and reports