@code-yeongyu/senpi 2026.9.3 → 2026.9.4-3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1151) hide show
  1. package/CHANGELOG.md +164 -0
  2. package/README.md +5 -4
  3. package/dist/cli/startup-ui.d.ts.map +1 -1
  4. package/dist/cli/startup-ui.js +2 -1
  5. package/dist/cli/startup-ui.js.map +1 -1
  6. package/dist/core/agent-session-runtime.js +2 -2
  7. package/dist/core/agent-session-runtime.js.map +1 -1
  8. package/dist/core/agent-session.d.ts +2 -5
  9. package/dist/core/agent-session.d.ts.map +1 -1
  10. package/dist/core/agent-session.js +56 -30
  11. package/dist/core/agent-session.js.map +1 -1
  12. package/dist/core/auth-storage.d.ts.map +1 -1
  13. package/dist/core/auth-storage.js +31 -41
  14. package/dist/core/auth-storage.js.map +1 -1
  15. package/dist/core/compaction/compaction.d.ts.map +1 -1
  16. package/dist/core/compaction/compaction.js +16 -7
  17. package/dist/core/compaction/compaction.js.map +1 -1
  18. package/dist/core/credential-pool/state-store.d.ts +1 -0
  19. package/dist/core/credential-pool/state-store.d.ts.map +1 -1
  20. package/dist/core/credential-pool/state-store.js +22 -2
  21. package/dist/core/credential-pool/state-store.js.map +1 -1
  22. package/dist/core/dynamic-prompt/style.js +1 -1
  23. package/dist/core/dynamic-prompt/style.js.map +1 -1
  24. package/dist/core/dynamic-prompt/working-task.js +1 -1
  25. package/dist/core/dynamic-prompt/working-task.js.map +1 -1
  26. package/dist/core/extensions/builtin/bash-timeout/index.d.ts +1 -1
  27. package/dist/core/extensions/builtin/bash-timeout/index.d.ts.map +1 -1
  28. package/dist/core/extensions/builtin/bash-timeout/index.js +3 -1
  29. package/dist/core/extensions/builtin/bash-timeout/index.js.map +1 -1
  30. package/dist/core/extensions/builtin/bash-timeout/timeout.d.ts +9 -7
  31. package/dist/core/extensions/builtin/bash-timeout/timeout.d.ts.map +1 -1
  32. package/dist/core/extensions/builtin/bash-timeout/timeout.js +4 -9
  33. package/dist/core/extensions/builtin/bash-timeout/timeout.js.map +1 -1
  34. package/dist/core/extensions/builtin/claude-sdk-oauth/auth-lane.d.ts.map +1 -1
  35. package/dist/core/extensions/builtin/claude-sdk-oauth/auth-lane.js +15 -18
  36. package/dist/core/extensions/builtin/claude-sdk-oauth/auth-lane.js.map +1 -1
  37. package/dist/core/extensions/builtin/claude-sdk-oauth/content-blocks.d.ts +3 -0
  38. package/dist/core/extensions/builtin/claude-sdk-oauth/content-blocks.d.ts.map +1 -0
  39. package/dist/core/extensions/builtin/claude-sdk-oauth/content-blocks.js +80 -0
  40. package/dist/core/extensions/builtin/claude-sdk-oauth/content-blocks.js.map +1 -0
  41. package/dist/core/extensions/builtin/claude-sdk-oauth/errors.d.ts +18 -1
  42. package/dist/core/extensions/builtin/claude-sdk-oauth/errors.d.ts.map +1 -1
  43. package/dist/core/extensions/builtin/claude-sdk-oauth/errors.js +57 -1
  44. package/dist/core/extensions/builtin/claude-sdk-oauth/errors.js.map +1 -1
  45. package/dist/core/extensions/builtin/claude-sdk-oauth/guidance.d.ts +1 -0
  46. package/dist/core/extensions/builtin/claude-sdk-oauth/guidance.d.ts.map +1 -1
  47. package/dist/core/extensions/builtin/claude-sdk-oauth/guidance.js +13 -0
  48. package/dist/core/extensions/builtin/claude-sdk-oauth/guidance.js.map +1 -1
  49. package/dist/core/extensions/builtin/claude-sdk-oauth/oauth-login.d.ts.map +1 -1
  50. package/dist/core/extensions/builtin/claude-sdk-oauth/oauth-login.js +6 -1
  51. package/dist/core/extensions/builtin/claude-sdk-oauth/oauth-login.js.map +1 -1
  52. package/dist/core/extensions/builtin/claude-sdk-oauth/prompt-bridge.d.ts.map +1 -1
  53. package/dist/core/extensions/builtin/claude-sdk-oauth/prompt-bridge.js +2 -23
  54. package/dist/core/extensions/builtin/claude-sdk-oauth/prompt-bridge.js.map +1 -1
  55. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding.d.ts +2 -2
  56. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding.d.ts.map +1 -1
  57. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding.js +30 -24
  58. package/dist/core/extensions/builtin/claude-sdk-oauth/session-binding.js.map +1 -1
  59. package/dist/core/extensions/builtin/claude-sdk-oauth/session-continuity.d.ts +2 -0
  60. package/dist/core/extensions/builtin/claude-sdk-oauth/session-continuity.d.ts.map +1 -1
  61. package/dist/core/extensions/builtin/claude-sdk-oauth/session-continuity.js +15 -1
  62. package/dist/core/extensions/builtin/claude-sdk-oauth/session-continuity.js.map +1 -1
  63. package/dist/core/extensions/builtin/claude-sdk-oauth/session-observability.d.ts +1 -1
  64. package/dist/core/extensions/builtin/claude-sdk-oauth/session-observability.d.ts.map +1 -1
  65. package/dist/core/extensions/builtin/claude-sdk-oauth/session-observability.js +1 -0
  66. package/dist/core/extensions/builtin/claude-sdk-oauth/session-observability.js.map +1 -1
  67. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.d.ts +6 -1
  68. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.d.ts.map +1 -1
  69. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.js +1 -0
  70. package/dist/core/extensions/builtin/claude-sdk-oauth/session-reattach.js.map +1 -1
  71. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-pump.d.ts.map +1 -1
  72. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-pump.js +19 -3
  73. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-pump.js.map +1 -1
  74. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-wiring.d.ts.map +1 -1
  75. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-wiring.js +31 -13
  76. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry-wiring.js.map +1 -1
  77. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry.d.ts +1 -0
  78. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry.d.ts.map +1 -1
  79. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry.js +1 -0
  80. package/dist/core/extensions/builtin/claude-sdk-oauth/session-registry.js.map +1 -1
  81. package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.d.ts.map +1 -1
  82. package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.js +8 -14
  83. package/dist/core/extensions/builtin/claude-sdk-oauth/session-sync.js.map +1 -1
  84. package/dist/core/extensions/builtin/claude-sdk-oauth/session-turn-attempt.d.ts.map +1 -1
  85. package/dist/core/extensions/builtin/claude-sdk-oauth/session-turn-attempt.js +23 -6
  86. package/dist/core/extensions/builtin/claude-sdk-oauth/session-turn-attempt.js.map +1 -1
  87. package/dist/core/extensions/builtin/claude-sdk-oauth/stream-guidance.d.ts.map +1 -1
  88. package/dist/core/extensions/builtin/claude-sdk-oauth/stream-guidance.js +4 -2
  89. package/dist/core/extensions/builtin/claude-sdk-oauth/stream-guidance.js.map +1 -1
  90. package/dist/core/extensions/builtin/claude-sdk-oauth/stream-protocol.d.ts +1 -1
  91. package/dist/core/extensions/builtin/claude-sdk-oauth/stream-protocol.d.ts.map +1 -1
  92. package/dist/core/extensions/builtin/claude-sdk-oauth/stream.d.ts.map +1 -1
  93. package/dist/core/extensions/builtin/claude-sdk-oauth/stream.js +13 -6
  94. package/dist/core/extensions/builtin/claude-sdk-oauth/stream.js.map +1 -1
  95. package/dist/core/extensions/builtin/claude-sdk-oauth/tools.d.ts +11 -3
  96. package/dist/core/extensions/builtin/claude-sdk-oauth/tools.d.ts.map +1 -1
  97. package/dist/core/extensions/builtin/claude-sdk-oauth/tools.js +12 -3
  98. package/dist/core/extensions/builtin/claude-sdk-oauth/tools.js.map +1 -1
  99. package/dist/core/extensions/builtin/eval-only-routing.d.ts +10 -0
  100. package/dist/core/extensions/builtin/eval-only-routing.d.ts.map +1 -0
  101. package/dist/core/extensions/builtin/eval-only-routing.js +16 -0
  102. package/dist/core/extensions/builtin/eval-only-routing.js.map +1 -0
  103. package/dist/core/extensions/builtin/goal/prompt.d.ts.map +1 -1
  104. package/dist/core/extensions/builtin/goal/prompt.js +1 -3
  105. package/dist/core/extensions/builtin/goal/prompt.js.map +1 -1
  106. package/dist/core/extensions/builtin/goal/store.d.ts.map +1 -1
  107. package/dist/core/extensions/builtin/goal/store.js +8 -20
  108. package/dist/core/extensions/builtin/goal/store.js.map +1 -1
  109. package/dist/core/extensions/builtin/goal/tool-registration.js +1 -1
  110. package/dist/core/extensions/builtin/goal/tool-registration.js.map +1 -1
  111. package/dist/core/extensions/builtin/gpt-account.d.ts +3 -0
  112. package/dist/core/extensions/builtin/gpt-account.d.ts.map +1 -0
  113. package/dist/core/extensions/builtin/gpt-account.js +115 -0
  114. package/dist/core/extensions/builtin/gpt-account.js.map +1 -0
  115. package/dist/core/extensions/builtin/hooks/trust-storage.d.ts.map +1 -1
  116. package/dist/core/extensions/builtin/hooks/trust-storage.js +3 -1
  117. package/dist/core/extensions/builtin/hooks/trust-storage.js.map +1 -1
  118. package/dist/core/extensions/builtin/imagegen/auth.d.ts.map +1 -1
  119. package/dist/core/extensions/builtin/imagegen/auth.js +10 -2
  120. package/dist/core/extensions/builtin/imagegen/auth.js.map +1 -1
  121. package/dist/core/extensions/builtin/index.d.ts.map +1 -1
  122. package/dist/core/extensions/builtin/index.js +2 -0
  123. package/dist/core/extensions/builtin/index.js.map +1 -1
  124. package/dist/core/extensions/builtin/loop/index.d.ts.map +1 -1
  125. package/dist/core/extensions/builtin/loop/index.js +20 -1
  126. package/dist/core/extensions/builtin/loop/index.js.map +1 -1
  127. package/dist/core/extensions/builtin/loop/store.d.ts +8 -6
  128. package/dist/core/extensions/builtin/loop/store.d.ts.map +1 -1
  129. package/dist/core/extensions/builtin/loop/store.js +54 -88
  130. package/dist/core/extensions/builtin/loop/store.js.map +1 -1
  131. package/dist/core/extensions/builtin/loop/tools.d.ts +6 -1
  132. package/dist/core/extensions/builtin/loop/tools.d.ts.map +1 -1
  133. package/dist/core/extensions/builtin/loop/tools.js +8 -1
  134. package/dist/core/extensions/builtin/loop/tools.js.map +1 -1
  135. package/dist/core/extensions/builtin/monitor-state-event.d.ts +2 -0
  136. package/dist/core/extensions/builtin/monitor-state-event.d.ts.map +1 -1
  137. package/dist/core/extensions/builtin/monitor-state-event.js.map +1 -1
  138. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-5.d.ts.map +1 -1
  139. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-5.js +1 -3
  140. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-5.js.map +1 -1
  141. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-6.d.ts.map +1 -1
  142. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-6.js +1 -11
  143. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-6.js.map +1 -1
  144. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-7.js +2 -2
  145. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-7.js.map +1 -1
  146. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-8.js +3 -3
  147. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-8.js.map +1 -1
  148. package/dist/core/extensions/builtin/prompt-preset/claude-opus-5.d.ts.map +1 -1
  149. package/dist/core/extensions/builtin/prompt-preset/claude-opus-5.js +56 -43
  150. package/dist/core/extensions/builtin/prompt-preset/claude-opus-5.js.map +1 -1
  151. package/dist/core/extensions/builtin/prompt-preset/execution-tooling.d.ts +4 -15
  152. package/dist/core/extensions/builtin/prompt-preset/execution-tooling.d.ts.map +1 -1
  153. package/dist/core/extensions/builtin/prompt-preset/execution-tooling.js +12 -21
  154. package/dist/core/extensions/builtin/prompt-preset/execution-tooling.js.map +1 -1
  155. package/dist/core/extensions/builtin/prompt-preset/glm-5-2.d.ts +1 -1
  156. package/dist/core/extensions/builtin/prompt-preset/glm-5-2.d.ts.map +1 -1
  157. package/dist/core/extensions/builtin/prompt-preset/glm-5-2.js +2 -11
  158. package/dist/core/extensions/builtin/prompt-preset/glm-5-2.js.map +1 -1
  159. package/dist/core/extensions/builtin/prompt-preset/glm-5-3.d.ts +1 -1
  160. package/dist/core/extensions/builtin/prompt-preset/glm-5-3.d.ts.map +1 -1
  161. package/dist/core/extensions/builtin/prompt-preset/glm-5-3.js +2 -11
  162. package/dist/core/extensions/builtin/prompt-preset/glm-5-3.js.map +1 -1
  163. package/dist/core/extensions/builtin/prompt-preset/glm-5.d.ts +4 -0
  164. package/dist/core/extensions/builtin/prompt-preset/glm-5.d.ts.map +1 -0
  165. package/dist/core/extensions/builtin/prompt-preset/glm-5.js +16 -0
  166. package/dist/core/extensions/builtin/prompt-preset/glm-5.js.map +1 -0
  167. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.d.ts +1 -5
  168. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.d.ts.map +1 -1
  169. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.js +1 -6
  170. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.js.map +1 -1
  171. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.d.ts +123 -0
  172. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.d.ts.map +1 -0
  173. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.js +202 -0
  174. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.js.map +1 -0
  175. package/dist/core/extensions/builtin/prompt-preset/gpt-eval-routing.d.ts.map +1 -1
  176. package/dist/core/extensions/builtin/prompt-preset/gpt-eval-routing.js +1 -2
  177. package/dist/core/extensions/builtin/prompt-preset/gpt-eval-routing.js.map +1 -1
  178. package/dist/core/extensions/builtin/prompt-preset/kimi-k3.d.ts.map +1 -1
  179. package/dist/core/extensions/builtin/prompt-preset/kimi-k3.js +60 -76
  180. package/dist/core/extensions/builtin/prompt-preset/kimi-k3.js.map +1 -1
  181. package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
  182. package/dist/core/extensions/builtin/prompt-preset/presets.js +17 -0
  183. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  184. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +1 -1
  185. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
  186. package/dist/core/extensions/builtin/prompt-preset/settings.js +1 -0
  187. package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
  188. package/dist/core/extensions/builtin/terminal/extension.d.ts.map +1 -1
  189. package/dist/core/extensions/builtin/terminal/extension.js +186 -5
  190. package/dist/core/extensions/builtin/terminal/extension.js.map +1 -1
  191. package/dist/core/extensions/builtin/terminal/manager.d.ts +10 -0
  192. package/dist/core/extensions/builtin/terminal/manager.d.ts.map +1 -1
  193. package/dist/core/extensions/builtin/terminal/manager.js +21 -0
  194. package/dist/core/extensions/builtin/terminal/manager.js.map +1 -1
  195. package/dist/core/extensions/builtin/terminal/manifest-lease.d.ts +24 -0
  196. package/dist/core/extensions/builtin/terminal/manifest-lease.d.ts.map +1 -0
  197. package/dist/core/extensions/builtin/terminal/manifest-lease.js +105 -0
  198. package/dist/core/extensions/builtin/terminal/manifest-lease.js.map +1 -0
  199. package/dist/core/extensions/builtin/terminal/monitor-registry.d.ts +13 -2
  200. package/dist/core/extensions/builtin/terminal/monitor-registry.d.ts.map +1 -1
  201. package/dist/core/extensions/builtin/terminal/monitor-registry.js +24 -2
  202. package/dist/core/extensions/builtin/terminal/monitor-registry.js.map +1 -1
  203. package/dist/core/extensions/builtin/terminal/prompt.d.ts +13 -2
  204. package/dist/core/extensions/builtin/terminal/prompt.d.ts.map +1 -1
  205. package/dist/core/extensions/builtin/terminal/prompt.js +18 -7
  206. package/dist/core/extensions/builtin/terminal/prompt.js.map +1 -1
  207. package/dist/core/extensions/builtin/terminal/restore.d.ts +43 -0
  208. package/dist/core/extensions/builtin/terminal/restore.d.ts.map +1 -0
  209. package/dist/core/extensions/builtin/terminal/restore.js +149 -0
  210. package/dist/core/extensions/builtin/terminal/restore.js.map +1 -0
  211. package/dist/core/extensions/builtin/terminal/terminal-manifest.d.ts +110 -0
  212. package/dist/core/extensions/builtin/terminal/terminal-manifest.d.ts.map +1 -0
  213. package/dist/core/extensions/builtin/terminal/terminal-manifest.js +158 -0
  214. package/dist/core/extensions/builtin/terminal/terminal-manifest.js.map +1 -0
  215. package/dist/core/extensions/builtin/terminal/tools/bash-input.d.ts.map +1 -1
  216. package/dist/core/extensions/builtin/terminal/tools/bash-input.js +3 -2
  217. package/dist/core/extensions/builtin/terminal/tools/bash-input.js.map +1 -1
  218. package/dist/core/extensions/builtin/terminal/tools/bash-output.d.ts.map +1 -1
  219. package/dist/core/extensions/builtin/terminal/tools/bash-output.js +5 -4
  220. package/dist/core/extensions/builtin/terminal/tools/bash-output.js.map +1 -1
  221. package/dist/core/extensions/builtin/terminal/tools/bash-resize.d.ts.map +1 -1
  222. package/dist/core/extensions/builtin/terminal/tools/bash-resize.js +3 -2
  223. package/dist/core/extensions/builtin/terminal/tools/bash-resize.js.map +1 -1
  224. package/dist/core/extensions/builtin/terminal/tools/context.d.ts +8 -0
  225. package/dist/core/extensions/builtin/terminal/tools/context.d.ts.map +1 -1
  226. package/dist/core/extensions/builtin/terminal/tools/context.js +10 -0
  227. package/dist/core/extensions/builtin/terminal/tools/context.js.map +1 -1
  228. package/dist/core/extensions/builtin/terminal/tools/kill-bash.d.ts.map +1 -1
  229. package/dist/core/extensions/builtin/terminal/tools/kill-bash.js +5 -4
  230. package/dist/core/extensions/builtin/terminal/tools/kill-bash.js.map +1 -1
  231. package/dist/core/extensions/builtin/terminal/tools/monitor.d.ts +4 -1
  232. package/dist/core/extensions/builtin/terminal/tools/monitor.d.ts.map +1 -1
  233. package/dist/core/extensions/builtin/terminal/tools/monitor.js +58 -14
  234. package/dist/core/extensions/builtin/terminal/tools/monitor.js.map +1 -1
  235. package/dist/core/extensions/builtin/todotools/prompt.d.ts +2 -2
  236. package/dist/core/extensions/builtin/todotools/prompt.d.ts.map +1 -1
  237. package/dist/core/extensions/builtin/todotools/prompt.js +3 -6
  238. package/dist/core/extensions/builtin/todotools/prompt.js.map +1 -1
  239. package/dist/core/extensions/builtin/tool-search/index.d.ts.map +1 -1
  240. package/dist/core/extensions/builtin/tool-search/index.js +1 -1
  241. package/dist/core/extensions/builtin/tool-search/index.js.map +1 -1
  242. package/dist/core/extensions/builtin/tool-search/native-search.d.ts +10 -5
  243. package/dist/core/extensions/builtin/tool-search/native-search.d.ts.map +1 -1
  244. package/dist/core/extensions/builtin/tool-search/native-search.js +12 -7
  245. package/dist/core/extensions/builtin/tool-search/native-search.js.map +1 -1
  246. package/dist/core/extensions/builtin/tool-search/native-support.d.ts +13 -0
  247. package/dist/core/extensions/builtin/tool-search/native-support.d.ts.map +1 -0
  248. package/dist/core/extensions/builtin/tool-search/native-support.js +45 -0
  249. package/dist/core/extensions/builtin/tool-search/native-support.js.map +1 -0
  250. package/dist/core/extensions/builtin/ttsr/detectors/collapse-paragraphs.d.ts +34 -0
  251. package/dist/core/extensions/builtin/ttsr/detectors/collapse-paragraphs.d.ts.map +1 -0
  252. package/dist/core/extensions/builtin/ttsr/detectors/collapse-paragraphs.js +121 -0
  253. package/dist/core/extensions/builtin/ttsr/detectors/collapse-paragraphs.js.map +1 -0
  254. package/dist/core/extensions/builtin/ttsr/detectors/collapse.d.ts +2 -0
  255. package/dist/core/extensions/builtin/ttsr/detectors/collapse.d.ts.map +1 -1
  256. package/dist/core/extensions/builtin/ttsr/detectors/collapse.js +6 -2
  257. package/dist/core/extensions/builtin/ttsr/detectors/collapse.js.map +1 -1
  258. package/dist/core/extensions/index.d.ts +1 -1
  259. package/dist/core/extensions/index.d.ts.map +1 -1
  260. package/dist/core/extensions/index.js.map +1 -1
  261. package/dist/core/extensions/runner.d.ts +5 -0
  262. package/dist/core/extensions/runner.d.ts.map +1 -1
  263. package/dist/core/extensions/runner.js +44 -1
  264. package/dist/core/extensions/runner.js.map +1 -1
  265. package/dist/core/extensions/types.d.ts +26 -3
  266. package/dist/core/extensions/types.d.ts.map +1 -1
  267. package/dist/core/extensions/types.js.map +1 -1
  268. package/dist/core/http-dispatcher.d.ts.map +1 -1
  269. package/dist/core/http-dispatcher.js +2 -0
  270. package/dist/core/http-dispatcher.js.map +1 -1
  271. package/dist/core/lockfile-policy.d.ts +11 -0
  272. package/dist/core/lockfile-policy.d.ts.map +1 -1
  273. package/dist/core/lockfile-policy.js +19 -0
  274. package/dist/core/lockfile-policy.js.map +1 -1
  275. package/dist/core/manual-continue.d.ts +13 -0
  276. package/dist/core/manual-continue.d.ts.map +1 -0
  277. package/dist/core/manual-continue.js +19 -0
  278. package/dist/core/manual-continue.js.map +1 -0
  279. package/dist/core/messages.d.ts.map +1 -1
  280. package/dist/core/messages.js +8 -2
  281. package/dist/core/messages.js.map +1 -1
  282. package/dist/core/model-config.d.ts.map +1 -1
  283. package/dist/core/model-config.js +3 -0
  284. package/dist/core/model-config.js.map +1 -1
  285. package/dist/core/provider-composer.d.ts.map +1 -1
  286. package/dist/core/provider-composer.js +13 -2
  287. package/dist/core/provider-composer.js.map +1 -1
  288. package/dist/core/session-manager.d.ts.map +1 -1
  289. package/dist/core/session-manager.js +28 -4
  290. package/dist/core/session-manager.js.map +1 -1
  291. package/dist/core/session-sidecar-store.d.ts +62 -0
  292. package/dist/core/session-sidecar-store.d.ts.map +1 -0
  293. package/dist/core/session-sidecar-store.js +149 -0
  294. package/dist/core/session-sidecar-store.js.map +1 -0
  295. package/dist/core/settings-manager.d.ts +5 -5
  296. package/dist/core/settings-manager.d.ts.map +1 -1
  297. package/dist/core/settings-manager.js +45 -21
  298. package/dist/core/settings-manager.js.map +1 -1
  299. package/dist/core/skills.d.ts.map +1 -1
  300. package/dist/core/skills.js +19 -2
  301. package/dist/core/skills.js.map +1 -1
  302. package/dist/core/terminal-settings.d.ts +3 -0
  303. package/dist/core/terminal-settings.d.ts.map +1 -1
  304. package/dist/core/terminal-settings.js.map +1 -1
  305. package/dist/core/tools/bash.d.ts.map +1 -1
  306. package/dist/core/tools/bash.js +1 -1
  307. package/dist/core/tools/bash.js.map +1 -1
  308. package/dist/core/tools/edit.d.ts.map +1 -1
  309. package/dist/core/tools/edit.js +2 -2
  310. package/dist/core/tools/edit.js.map +1 -1
  311. package/dist/core/tools/find.d.ts.map +1 -1
  312. package/dist/core/tools/find.js +2 -2
  313. package/dist/core/tools/find.js.map +1 -1
  314. package/dist/core/tools/grep.d.ts.map +1 -1
  315. package/dist/core/tools/grep.js +2 -2
  316. package/dist/core/tools/grep.js.map +1 -1
  317. package/dist/core/tools/ls.d.ts.map +1 -1
  318. package/dist/core/tools/ls.js +2 -2
  319. package/dist/core/tools/ls.js.map +1 -1
  320. package/dist/core/tools/read.d.ts.map +1 -1
  321. package/dist/core/tools/read.js +1 -1
  322. package/dist/core/tools/read.js.map +1 -1
  323. package/dist/core/tools/write.d.ts.map +1 -1
  324. package/dist/core/tools/write.js +3 -3
  325. package/dist/core/tools/write.js.map +1 -1
  326. package/dist/index.d.ts +1 -1
  327. package/dist/index.d.ts.map +1 -1
  328. package/dist/index.js.map +1 -1
  329. package/dist/main.d.ts.map +1 -1
  330. package/dist/main.js +2 -0
  331. package/dist/main.js.map +1 -1
  332. package/dist/modes/app-server/daemon/process.d.ts +33 -3
  333. package/dist/modes/app-server/daemon/process.d.ts.map +1 -1
  334. package/dist/modes/app-server/daemon/process.js +57 -6
  335. package/dist/modes/app-server/daemon/process.js.map +1 -1
  336. package/dist/modes/app-server/daemon.js +9 -1
  337. package/dist/modes/app-server/daemon.js.map +1 -1
  338. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  339. package/dist/modes/interactive/components/scoped-models-selector.js +5 -11
  340. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  341. package/dist/modes/interactive/components/settings-selector.d.ts +2 -0
  342. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  343. package/dist/modes/interactive/components/settings-selector.js +21 -8
  344. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  345. package/dist/modes/interactive/components/thinking-selector.js +2 -2
  346. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  347. package/dist/modes/interactive/components/trust-selector.js +2 -2
  348. package/dist/modes/interactive/components/trust-selector.js.map +1 -1
  349. package/dist/modes/interactive/grok/welcome-card.d.ts.map +1 -1
  350. package/dist/modes/interactive/grok/welcome-card.js +5 -2
  351. package/dist/modes/interactive/grok/welcome-card.js.map +1 -1
  352. package/dist/modes/interactive/interactive-mode.d.ts +3 -0
  353. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  354. package/dist/modes/interactive/interactive-mode.js +74 -14
  355. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  356. package/dist/modes/interactive/version-label.d.ts +7 -0
  357. package/dist/modes/interactive/version-label.d.ts.map +1 -0
  358. package/dist/modes/interactive/version-label.js +9 -0
  359. package/dist/modes/interactive/version-label.js.map +1 -0
  360. package/dist/modes/print-mode.d.ts.map +1 -1
  361. package/dist/modes/print-mode.js +9 -0
  362. package/dist/modes/print-mode.js.map +1 -1
  363. package/dist/modes/rpc/connection-handler.d.ts +2 -0
  364. package/dist/modes/rpc/connection-handler.d.ts.map +1 -1
  365. package/dist/modes/rpc/connection-handler.js +71 -12
  366. package/dist/modes/rpc/connection-handler.js.map +1 -1
  367. package/dist/modes/rpc/custom-capability.d.ts +5 -0
  368. package/dist/modes/rpc/custom-capability.d.ts.map +1 -1
  369. package/dist/modes/rpc/custom-capability.js +5 -0
  370. package/dist/modes/rpc/custom-capability.js.map +1 -1
  371. package/dist/modes/rpc/host-ensure.d.ts +2 -0
  372. package/dist/modes/rpc/host-ensure.d.ts.map +1 -1
  373. package/dist/modes/rpc/host-ensure.js +77 -18
  374. package/dist/modes/rpc/host-ensure.js.map +1 -1
  375. package/dist/modes/rpc/login-prompts.d.ts +24 -0
  376. package/dist/modes/rpc/login-prompts.d.ts.map +1 -0
  377. package/dist/modes/rpc/login-prompts.js +44 -0
  378. package/dist/modes/rpc/login-prompts.js.map +1 -0
  379. package/dist/modes/rpc/media-placeholders.d.ts +49 -0
  380. package/dist/modes/rpc/media-placeholders.d.ts.map +1 -0
  381. package/dist/modes/rpc/media-placeholders.js +151 -0
  382. package/dist/modes/rpc/media-placeholders.js.map +1 -0
  383. package/dist/modes/rpc/multi-session-host.js +3 -0
  384. package/dist/modes/rpc/multi-session-host.js.map +1 -1
  385. package/dist/modes/rpc/rpc-client.d.ts +8 -0
  386. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  387. package/dist/modes/rpc/rpc-client.js +11 -0
  388. package/dist/modes/rpc/rpc-client.js.map +1 -1
  389. package/dist/modes/rpc/rpc-types.d.ts +23 -1
  390. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  391. package/dist/modes/rpc/rpc-types.js +1 -0
  392. package/dist/modes/rpc/rpc-types.js.map +1 -1
  393. package/dist/modes/rpc/session-command-router.d.ts.map +1 -1
  394. package/dist/modes/rpc/session-command-router.js +2 -1
  395. package/dist/modes/rpc/session-command-router.js.map +1 -1
  396. package/dist/modes/rpc/session-event-fanout.d.ts +13 -2
  397. package/dist/modes/rpc/session-event-fanout.d.ts.map +1 -1
  398. package/dist/modes/rpc/session-event-fanout.js +36 -12
  399. package/dist/modes/rpc/session-event-fanout.js.map +1 -1
  400. package/dist/modes/rpc/session-event-writer.d.ts +3 -1
  401. package/dist/modes/rpc/session-event-writer.d.ts.map +1 -1
  402. package/dist/modes/rpc/session-event-writer.js +23 -13
  403. package/dist/modes/rpc/session-event-writer.js.map +1 -1
  404. package/dist/modes/rpc/socket-event-fanout.d.ts +8 -1
  405. package/dist/modes/rpc/socket-event-fanout.d.ts.map +1 -1
  406. package/dist/modes/rpc/socket-event-fanout.js +32 -9
  407. package/dist/modes/rpc/socket-event-fanout.js.map +1 -1
  408. package/dist/utils/version-check.d.ts.map +1 -1
  409. package/dist/utils/version-check.js +3 -4
  410. package/dist/utils/version-check.js.map +1 -1
  411. package/docs/compaction.md +2 -0
  412. package/docs/environment-variables.md +5 -0
  413. package/docs/extensions.md +22 -2
  414. package/docs/keybindings.md +1 -1
  415. package/docs/models.md +3 -0
  416. package/docs/quickstart.md +1 -1
  417. package/docs/rpc.md +105 -1
  418. package/docs/settings.md +17 -32
  419. package/docs/terminal-setup.md +27 -0
  420. package/docs/usage.md +5 -3
  421. package/docs/windows.md +1 -1
  422. package/node_modules/@anthropic-ai/claude-agent-sdk/bridge.d.ts +18 -1
  423. package/node_modules/@anthropic-ai/claude-agent-sdk/bridge.mjs +155 -106
  424. package/node_modules/@anthropic-ai/claude-agent-sdk/browser-sdk.js +144 -83
  425. package/node_modules/@anthropic-ai/claude-agent-sdk/manifest.json +21 -32
  426. package/node_modules/@anthropic-ai/claude-agent-sdk/manifest.zst.json +25 -36
  427. package/node_modules/@anthropic-ai/claude-agent-sdk/package.json +2 -2
  428. package/node_modules/@anthropic-ai/claude-agent-sdk/sdk-tools.d.ts +93 -31
  429. package/node_modules/@anthropic-ai/claude-agent-sdk/sdk.d.ts +473 -31
  430. package/node_modules/@anthropic-ai/claude-agent-sdk/sdk.mjs +140 -93
  431. package/node_modules/@anthropic-ai/sdk/CHANGELOG.md +96 -0
  432. package/node_modules/@anthropic-ai/sdk/README.md +1 -1
  433. package/node_modules/@anthropic-ai/sdk/core/credentials.d.mts.map +1 -1
  434. package/node_modules/@anthropic-ai/sdk/core/credentials.d.ts.map +1 -1
  435. package/node_modules/@anthropic-ai/sdk/core/credentials.js +5 -7
  436. package/node_modules/@anthropic-ai/sdk/core/credentials.js.map +1 -1
  437. package/node_modules/@anthropic-ai/sdk/core/credentials.mjs +5 -7
  438. package/node_modules/@anthropic-ai/sdk/core/credentials.mjs.map +1 -1
  439. package/node_modules/@anthropic-ai/sdk/core/middleware.d.mts.map +1 -1
  440. package/node_modules/@anthropic-ai/sdk/core/middleware.d.ts.map +1 -1
  441. package/node_modules/@anthropic-ai/sdk/core/middleware.js +4 -4
  442. package/node_modules/@anthropic-ai/sdk/core/middleware.js.map +1 -1
  443. package/node_modules/@anthropic-ai/sdk/core/middleware.mjs +4 -4
  444. package/node_modules/@anthropic-ai/sdk/core/middleware.mjs.map +1 -1
  445. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.d.mts +45 -0
  446. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.d.mts.map +1 -0
  447. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.d.ts +45 -0
  448. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.d.ts.map +1 -0
  449. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.js +58 -0
  450. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.js.map +1 -0
  451. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.mjs +54 -0
  452. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.mjs.map +1 -0
  453. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.js +1 -1
  454. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.js.map +1 -1
  455. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs +1 -1
  456. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs.map +1 -1
  457. package/node_modules/@anthropic-ai/sdk/internal/errors.d.mts.map +1 -1
  458. package/node_modules/@anthropic-ai/sdk/internal/errors.d.ts.map +1 -1
  459. package/node_modules/@anthropic-ai/sdk/internal/errors.js +3 -1
  460. package/node_modules/@anthropic-ai/sdk/internal/errors.js.map +1 -1
  461. package/node_modules/@anthropic-ai/sdk/internal/errors.mjs +3 -1
  462. package/node_modules/@anthropic-ai/sdk/internal/errors.mjs.map +1 -1
  463. package/node_modules/@anthropic-ai/sdk/internal/file-store.d.mts.map +1 -1
  464. package/node_modules/@anthropic-ai/sdk/internal/file-store.d.ts.map +1 -1
  465. package/node_modules/@anthropic-ai/sdk/internal/file-store.js +23 -25
  466. package/node_modules/@anthropic-ai/sdk/internal/file-store.js.map +1 -1
  467. package/node_modules/@anthropic-ai/sdk/internal/file-store.mjs +5 -6
  468. package/node_modules/@anthropic-ai/sdk/internal/file-store.mjs.map +1 -1
  469. package/node_modules/@anthropic-ai/sdk/internal/node.browser.d.mts +9 -0
  470. package/node_modules/@anthropic-ai/sdk/internal/node.browser.d.mts.map +1 -0
  471. package/node_modules/@anthropic-ai/sdk/internal/node.browser.d.ts +9 -0
  472. package/node_modules/@anthropic-ai/sdk/internal/node.browser.d.ts.map +1 -0
  473. package/node_modules/@anthropic-ai/sdk/internal/node.browser.js +22 -0
  474. package/node_modules/@anthropic-ai/sdk/internal/node.browser.js.map +1 -0
  475. package/node_modules/@anthropic-ai/sdk/internal/node.browser.mjs +19 -0
  476. package/node_modules/@anthropic-ai/sdk/internal/node.browser.mjs.map +1 -0
  477. package/node_modules/@anthropic-ai/sdk/internal/node.d.mts +14 -0
  478. package/node_modules/@anthropic-ai/sdk/internal/node.d.mts.map +1 -0
  479. package/node_modules/@anthropic-ai/sdk/internal/node.d.ts +14 -0
  480. package/node_modules/@anthropic-ai/sdk/internal/node.d.ts.map +1 -0
  481. package/node_modules/@anthropic-ai/sdk/internal/node.js +24 -0
  482. package/node_modules/@anthropic-ai/sdk/internal/node.js.map +1 -0
  483. package/node_modules/@anthropic-ai/sdk/internal/node.mjs +14 -0
  484. package/node_modules/@anthropic-ai/sdk/internal/node.mjs.map +1 -0
  485. package/node_modules/@anthropic-ai/sdk/internal/parse.js +1 -1
  486. package/node_modules/@anthropic-ai/sdk/internal/parse.js.map +1 -1
  487. package/node_modules/@anthropic-ai/sdk/internal/parse.mjs +1 -1
  488. package/node_modules/@anthropic-ai/sdk/internal/parse.mjs.map +1 -1
  489. package/node_modules/@anthropic-ai/sdk/internal/uploads.js +10 -6
  490. package/node_modules/@anthropic-ai/sdk/internal/uploads.js.map +1 -1
  491. package/node_modules/@anthropic-ai/sdk/internal/uploads.mjs +10 -6
  492. package/node_modules/@anthropic-ai/sdk/internal/uploads.mjs.map +1 -1
  493. package/node_modules/@anthropic-ai/sdk/internal/utils/values.d.mts +6 -0
  494. package/node_modules/@anthropic-ai/sdk/internal/utils/values.d.mts.map +1 -1
  495. package/node_modules/@anthropic-ai/sdk/internal/utils/values.d.ts +6 -0
  496. package/node_modules/@anthropic-ai/sdk/internal/utils/values.d.ts.map +1 -1
  497. package/node_modules/@anthropic-ai/sdk/internal/utils/values.js +7 -0
  498. package/node_modules/@anthropic-ai/sdk/internal/utils/values.js.map +1 -1
  499. package/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs +6 -0
  500. package/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs.map +1 -1
  501. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.mts.map +1 -1
  502. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.ts.map +1 -1
  503. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js +6 -4
  504. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js.map +1 -1
  505. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs +4 -2
  506. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs.map +1 -1
  507. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.mts.map +1 -1
  508. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.ts.map +1 -1
  509. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.js +3 -4
  510. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.js.map +1 -1
  511. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs +1 -2
  512. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs.map +1 -1
  513. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.js +1 -1
  514. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.js.map +1 -1
  515. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.mjs +1 -1
  516. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.mjs.map +1 -1
  517. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.js +1 -1
  518. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.js.map +1 -1
  519. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.mjs +1 -1
  520. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.mjs.map +1 -1
  521. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.d.mts.map +1 -1
  522. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.d.ts.map +1 -1
  523. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.js +2 -3
  524. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.js.map +1 -1
  525. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.mjs +2 -3
  526. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.mjs.map +1 -1
  527. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.js +1 -1
  528. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.js.map +1 -1
  529. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.mjs +1 -1
  530. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.mjs.map +1 -1
  531. package/node_modules/@anthropic-ai/sdk/lib/middleware.d.mts.map +1 -1
  532. package/node_modules/@anthropic-ai/sdk/lib/middleware.d.ts.map +1 -1
  533. package/node_modules/@anthropic-ai/sdk/lib/middleware.js +30 -7
  534. package/node_modules/@anthropic-ai/sdk/lib/middleware.js.map +1 -1
  535. package/node_modules/@anthropic-ai/sdk/lib/middleware.mjs +30 -7
  536. package/node_modules/@anthropic-ai/sdk/lib/middleware.mjs.map +1 -1
  537. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.d.mts +3 -2
  538. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.d.mts.map +1 -1
  539. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.d.ts +3 -2
  540. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.d.ts.map +1 -1
  541. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.js +3 -46
  542. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.js.map +1 -1
  543. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.mjs +3 -46
  544. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.mjs.map +1 -1
  545. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.d.mts +131 -0
  546. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.d.mts.map +1 -0
  547. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.d.ts +131 -0
  548. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.d.ts.map +1 -0
  549. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.js +45 -0
  550. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.js.map +1 -0
  551. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.mjs +41 -0
  552. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.mjs.map +1 -0
  553. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.d.mts.map +1 -1
  554. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.d.ts.map +1 -1
  555. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.js +35 -6
  556. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.js.map +1 -1
  557. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.mjs +35 -6
  558. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.mjs.map +1 -1
  559. package/node_modules/@anthropic-ai/sdk/package.json +4 -11
  560. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.mts +1 -1
  561. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.mts.map +1 -1
  562. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.ts +1 -1
  563. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.ts.map +1 -1
  564. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.js.map +1 -1
  565. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.mjs.map +1 -1
  566. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts +13 -9
  567. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts.map +1 -1
  568. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts +13 -9
  569. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts.map +1 -1
  570. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.js +4 -0
  571. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.js.map +1 -1
  572. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs +4 -0
  573. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs.map +1 -1
  574. package/node_modules/@anthropic-ai/sdk/resources/beta/deployment-runs.d.mts +6 -6
  575. package/node_modules/@anthropic-ai/sdk/resources/beta/deployment-runs.d.ts +6 -6
  576. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.d.mts +3 -2
  577. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.d.mts.map +1 -1
  578. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.d.ts +3 -2
  579. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.d.ts.map +1 -1
  580. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.d.mts +28 -1
  581. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.d.mts.map +1 -1
  582. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.d.ts +28 -1
  583. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.d.ts.map +1 -1
  584. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.d.mts +8 -1
  585. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.d.mts.map +1 -1
  586. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.d.ts +8 -1
  587. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.d.ts.map +1 -1
  588. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.js.map +1 -1
  589. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.mjs.map +1 -1
  590. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts +25 -5
  591. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts.map +1 -1
  592. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts +25 -5
  593. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts.map +1 -1
  594. package/node_modules/@anthropic-ai/sdk/resources/beta/files.js +6 -6
  595. package/node_modules/@anthropic-ai/sdk/resources/beta/files.js.map +1 -1
  596. package/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs +7 -7
  597. package/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs.map +1 -1
  598. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts +5 -4
  599. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts.map +1 -1
  600. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts +5 -4
  601. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts.map +1 -1
  602. package/node_modules/@anthropic-ai/sdk/resources/beta/index.js +11 -9
  603. package/node_modules/@anthropic-ai/sdk/resources/beta/index.js.map +1 -1
  604. package/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs +1 -0
  605. package/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs.map +1 -1
  606. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.mts +12 -9
  607. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.mts.map +1 -1
  608. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.ts +12 -9
  609. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.ts.map +1 -1
  610. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.mts +8 -5
  611. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.mts.map +1 -1
  612. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.ts +8 -5
  613. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.ts.map +1 -1
  614. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts +1 -1
  615. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts.map +1 -1
  616. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts +1 -1
  617. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts.map +1 -1
  618. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.js.map +1 -1
  619. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.mjs.map +1 -1
  620. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts +198 -29
  621. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts.map +1 -1
  622. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts +198 -29
  623. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts.map +1 -1
  624. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.js.map +1 -1
  625. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs.map +1 -1
  626. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.d.mts +177 -0
  627. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.d.mts.map +1 -0
  628. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.d.ts +177 -0
  629. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.d.ts.map +1 -0
  630. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.js +56 -0
  631. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.js.map +1 -0
  632. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.mjs +52 -0
  633. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.mjs.map +1 -0
  634. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.d.mts +74 -0
  635. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.d.mts.map +1 -0
  636. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.d.ts +74 -0
  637. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.d.ts.map +1 -0
  638. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.js +52 -0
  639. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.js.map +1 -0
  640. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.mjs +48 -0
  641. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.mjs.map +1 -0
  642. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.d.mts +272 -0
  643. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.d.mts.map +1 -0
  644. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.d.ts +272 -0
  645. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.d.ts.map +1 -0
  646. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.js +119 -0
  647. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.js.map +1 -0
  648. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.mjs +115 -0
  649. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.mjs.map +1 -0
  650. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.d.mts +14 -0
  651. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.d.mts.map +1 -0
  652. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.d.ts +14 -0
  653. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.d.ts.map +1 -0
  654. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.js +21 -0
  655. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.js.map +1 -0
  656. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.mjs +16 -0
  657. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.mjs.map +1 -0
  658. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.d.mts +4 -0
  659. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.d.mts.map +1 -0
  660. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.d.ts +4 -0
  661. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.d.ts.map +1 -0
  662. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.js +11 -0
  663. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.js.map +1 -0
  664. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.mjs +5 -0
  665. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.mjs.map +1 -0
  666. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.d.mts +353 -0
  667. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.d.mts.map +1 -0
  668. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.d.ts +353 -0
  669. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.d.ts.map +1 -0
  670. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.js +169 -0
  671. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.js.map +1 -0
  672. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.mjs +165 -0
  673. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.mjs.map +1 -0
  674. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.d.mts +3 -0
  675. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.d.mts.map +1 -0
  676. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.d.ts +3 -0
  677. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.d.ts.map +1 -0
  678. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.js +9 -0
  679. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.js.map +1 -0
  680. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.mjs +4 -0
  681. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.mjs.map +1 -0
  682. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.d.mts +468 -0
  683. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.d.mts.map +1 -0
  684. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.d.ts +468 -0
  685. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.d.ts.map +1 -0
  686. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.js +198 -0
  687. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.js.map +1 -0
  688. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.mjs +193 -0
  689. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.mjs.map +1 -0
  690. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.d.mts +124 -0
  691. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.d.mts.map +1 -0
  692. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.d.ts +124 -0
  693. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.d.ts.map +1 -0
  694. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.js +114 -0
  695. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.js.map +1 -0
  696. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.mjs +110 -0
  697. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.mjs.map +1 -0
  698. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.d.mts +2 -0
  699. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.d.mts.map +1 -0
  700. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.d.ts +2 -0
  701. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.d.ts.map +1 -0
  702. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.js +6 -0
  703. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.js.map +1 -0
  704. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.mjs +3 -0
  705. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.mjs.map +1 -0
  706. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.d.mts +2 -0
  707. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.d.mts.map +1 -0
  708. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.d.ts +2 -0
  709. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.d.ts.map +1 -0
  710. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.js +6 -0
  711. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.js.map +1 -0
  712. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.mjs +3 -0
  713. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.mjs.map +1 -0
  714. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.d.mts +11 -0
  715. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.d.mts.map +1 -0
  716. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.d.ts +11 -0
  717. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.d.ts.map +1 -0
  718. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.js +25 -0
  719. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.js.map +1 -0
  720. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.mjs +12 -0
  721. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.mjs.map +1 -0
  722. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.d.mts +162 -0
  723. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.d.mts.map +1 -0
  724. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.d.ts +162 -0
  725. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.d.ts.map +1 -0
  726. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.js +76 -0
  727. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.js.map +1 -0
  728. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.mjs +72 -0
  729. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.mjs.map +1 -0
  730. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.d.mts +73 -0
  731. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.d.mts.map +1 -0
  732. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.d.ts +73 -0
  733. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.d.ts.map +1 -0
  734. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.js +62 -0
  735. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.js.map +1 -0
  736. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.mjs +57 -0
  737. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.mjs.map +1 -0
  738. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.d.mts +77 -0
  739. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.d.mts.map +1 -0
  740. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.d.ts +77 -0
  741. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.d.ts.map +1 -0
  742. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.js +31 -0
  743. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.js.map +1 -0
  744. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.mjs +27 -0
  745. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.mjs.map +1 -0
  746. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.d.mts +3 -0
  747. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.d.mts.map +1 -0
  748. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.d.ts +3 -0
  749. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.d.ts.map +1 -0
  750. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.js +9 -0
  751. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.js.map +1 -0
  752. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.mjs +4 -0
  753. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.mjs.map +1 -0
  754. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.d.mts +258 -0
  755. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.d.mts.map +1 -0
  756. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.d.ts +258 -0
  757. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.d.ts.map +1 -0
  758. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.js +174 -0
  759. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.js.map +1 -0
  760. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.mjs +169 -0
  761. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.mjs.map +1 -0
  762. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.d.mts +141 -0
  763. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.d.mts.map +1 -0
  764. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.d.ts +141 -0
  765. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.d.ts.map +1 -0
  766. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.js +125 -0
  767. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.js.map +1 -0
  768. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.mjs +121 -0
  769. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.mjs.map +1 -0
  770. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.d.mts +2 -0
  771. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.d.mts.map +1 -0
  772. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.d.ts +2 -0
  773. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.d.ts.map +1 -0
  774. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.js +6 -0
  775. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.js.map +1 -0
  776. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.mjs +3 -0
  777. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.mjs.map +1 -0
  778. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.d.mts +124 -0
  779. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.d.mts.map +1 -0
  780. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.d.ts +124 -0
  781. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.d.ts.map +1 -0
  782. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.js +67 -0
  783. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.js.map +1 -0
  784. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.mjs +63 -0
  785. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.mjs.map +1 -0
  786. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.d.mts +5 -0
  787. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.d.mts.map +1 -0
  788. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.d.ts +5 -0
  789. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.d.ts.map +1 -0
  790. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.js +13 -0
  791. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.js.map +1 -0
  792. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.mjs +6 -0
  793. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.mjs.map +1 -0
  794. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.d.mts +135 -0
  795. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.d.mts.map +1 -0
  796. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.d.ts +135 -0
  797. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.d.ts.map +1 -0
  798. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.js +102 -0
  799. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.js.map +1 -0
  800. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.mjs +98 -0
  801. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.mjs.map +1 -0
  802. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.d.mts +83 -0
  803. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.d.mts.map +1 -0
  804. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.d.ts +83 -0
  805. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.d.ts.map +1 -0
  806. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.js +34 -0
  807. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.js.map +1 -0
  808. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.mjs +30 -0
  809. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.mjs.map +1 -0
  810. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.d.mts +210 -0
  811. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.d.mts.map +1 -0
  812. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.d.ts +210 -0
  813. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.d.ts.map +1 -0
  814. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.js +189 -0
  815. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.js.map +1 -0
  816. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.mjs +185 -0
  817. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.mjs.map +1 -0
  818. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.d.mts +303 -0
  819. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.d.mts.map +1 -0
  820. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.d.ts +303 -0
  821. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.d.ts.map +1 -0
  822. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.js +112 -0
  823. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.js.map +1 -0
  824. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.mjs +107 -0
  825. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.mjs.map +1 -0
  826. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.d.mts +2 -0
  827. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.d.mts.map +1 -0
  828. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.d.ts +2 -0
  829. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.d.ts.map +1 -0
  830. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.js +6 -0
  831. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.js.map +1 -0
  832. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.mjs +3 -0
  833. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.mjs.map +1 -0
  834. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.d.mts +2 -0
  835. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.d.mts.map +1 -0
  836. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.d.ts +2 -0
  837. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.d.ts.map +1 -0
  838. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.js +6 -0
  839. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.js.map +1 -0
  840. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.mjs +3 -0
  841. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.mjs.map +1 -0
  842. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.d.mts +1 -1
  843. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.d.ts +1 -1
  844. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.d.mts +10 -10
  845. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.d.ts +10 -10
  846. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.d.mts +2 -1
  847. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.d.mts.map +1 -1
  848. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.d.ts +2 -1
  849. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.d.ts.map +1 -1
  850. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.js.map +1 -1
  851. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.mjs.map +1 -1
  852. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.mts +2 -2
  853. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.mts.map +1 -1
  854. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.ts +2 -2
  855. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.ts.map +1 -1
  856. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.js.map +1 -1
  857. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.mjs.map +1 -1
  858. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.mts +48 -120
  859. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.mts.map +1 -1
  860. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.ts +48 -120
  861. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.ts.map +1 -1
  862. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.js +12 -8
  863. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.js.map +1 -1
  864. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.mjs +12 -8
  865. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.mjs.map +1 -1
  866. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.mts +35 -138
  867. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.mts.map +1 -1
  868. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.ts +35 -138
  869. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.ts.map +1 -1
  870. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.js +18 -18
  871. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.js.map +1 -1
  872. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.mjs +18 -18
  873. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.mjs.map +1 -1
  874. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.mts +21 -25
  875. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.mts.map +1 -1
  876. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.ts +21 -25
  877. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.ts.map +1 -1
  878. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.d.mts +16 -17
  879. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.d.mts.map +1 -1
  880. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.d.ts +16 -17
  881. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.d.ts.map +1 -1
  882. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.js +21 -8
  883. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.js.map +1 -1
  884. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.mjs +21 -8
  885. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.mjs.map +1 -1
  886. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts +1 -3
  887. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts.map +1 -1
  888. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts +1 -3
  889. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts.map +1 -1
  890. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.js.map +1 -1
  891. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs.map +1 -1
  892. package/node_modules/@anthropic-ai/sdk/src/core/credentials.ts +5 -7
  893. package/node_modules/@anthropic-ai/sdk/src/core/middleware.ts +4 -3
  894. package/node_modules/@anthropic-ai/sdk/src/helpers/beta/standard-schema.ts +99 -0
  895. package/node_modules/@anthropic-ai/sdk/src/internal/detect-platform.ts +1 -1
  896. package/node_modules/@anthropic-ai/sdk/src/internal/errors.ts +3 -1
  897. package/node_modules/@anthropic-ai/sdk/src/internal/file-store.ts +11 -10
  898. package/node_modules/@anthropic-ai/sdk/src/internal/node.browser.ts +22 -0
  899. package/node_modules/@anthropic-ai/sdk/src/internal/node.ts +14 -0
  900. package/node_modules/@anthropic-ai/sdk/src/internal/parse.ts +1 -1
  901. package/node_modules/@anthropic-ai/sdk/src/internal/uploads.ts +10 -7
  902. package/node_modules/@anthropic-ai/sdk/src/internal/utils/values.ts +7 -0
  903. package/node_modules/@anthropic-ai/sdk/src/lib/BetaMessageStream.ts +5 -3
  904. package/node_modules/@anthropic-ai/sdk/src/lib/MessageStream.ts +1 -3
  905. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/credential-chain.ts +1 -1
  906. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/identity-token.ts +1 -1
  907. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/types.ts +2 -3
  908. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/user-oauth.ts +1 -1
  909. package/node_modules/@anthropic-ai/sdk/src/lib/middleware.ts +33 -9
  910. package/node_modules/@anthropic-ai/sdk/src/lib/sessions/accumulate.ts +7 -49
  911. package/node_modules/@anthropic-ai/sdk/src/lib/standard-schema.ts +209 -0
  912. package/node_modules/@anthropic-ai/sdk/src/lib/tools/BetaToolRunner.ts +38 -6
  913. package/node_modules/@anthropic-ai/sdk/src/resources/beta/agents/agents.ts +1 -0
  914. package/node_modules/@anthropic-ai/sdk/src/resources/beta/beta.ts +45 -15
  915. package/node_modules/@anthropic-ai/sdk/src/resources/beta/deployment-runs.ts +6 -6
  916. package/node_modules/@anthropic-ai/sdk/src/resources/beta/deployments.ts +3 -2
  917. package/node_modules/@anthropic-ai/sdk/src/resources/beta/dreams.ts +42 -0
  918. package/node_modules/@anthropic-ai/sdk/src/resources/beta/environments/environments.ts +8 -1
  919. package/node_modules/@anthropic-ai/sdk/src/resources/beta/files.ts +34 -11
  920. package/node_modules/@anthropic-ai/sdk/src/resources/beta/index.ts +13 -7
  921. package/node_modules/@anthropic-ai/sdk/src/resources/beta/memory-stores/memories.ts +12 -9
  922. package/node_modules/@anthropic-ai/sdk/src/resources/beta/memory-stores/memory-versions.ts +8 -5
  923. package/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/index.ts +5 -1
  924. package/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/messages.ts +221 -38
  925. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/api-keys.ts +231 -0
  926. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/compliance-settings.ts +96 -0
  927. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/external-keys.ts +365 -0
  928. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/federation.ts +71 -0
  929. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/index.ts +31 -0
  930. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/issuers.ts +486 -0
  931. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/rules/index.ts +23 -0
  932. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/rules/rules.ts +624 -0
  933. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/rules/workspaces.ts +196 -0
  934. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/rules.ts +3 -0
  935. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation.ts +3 -0
  936. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/index.ts +92 -0
  937. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/invites.ts +207 -0
  938. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/organization.ts +269 -0
  939. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/rate-limits.ts +104 -0
  940. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/service-accounts/index.ts +21 -0
  941. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/service-accounts/service-accounts.ts +389 -0
  942. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/service-accounts/workspaces.ts +217 -0
  943. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/service-accounts.ts +3 -0
  944. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/users.ts +163 -0
  945. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/workspaces/index.ts +43 -0
  946. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/workspaces/members.ts +209 -0
  947. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/workspaces/rate-limits.ts +113 -0
  948. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/workspaces/service-accounts.ts +325 -0
  949. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/workspaces/workspaces.ts +450 -0
  950. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/workspaces.ts +3 -0
  951. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization.ts +3 -0
  952. package/node_modules/@anthropic-ai/sdk/src/resources/beta/sessions/events.ts +1 -1
  953. package/node_modules/@anthropic-ai/sdk/src/resources/beta/sessions/sessions.ts +10 -10
  954. package/node_modules/@anthropic-ai/sdk/src/resources/beta/sessions/threads/threads.ts +2 -1
  955. package/node_modules/@anthropic-ai/sdk/src/resources/beta/skills/index.ts +7 -10
  956. package/node_modules/@anthropic-ai/sdk/src/resources/beta/skills/skills.ts +60 -150
  957. package/node_modules/@anthropic-ai/sdk/src/resources/beta/skills/versions.ts +43 -166
  958. package/node_modules/@anthropic-ai/sdk/src/resources/beta/user-profiles.ts +24 -27
  959. package/node_modules/@anthropic-ai/sdk/src/resources/beta/webhooks.ts +25 -29
  960. package/node_modules/@anthropic-ai/sdk/src/resources/messages/messages.ts +2 -8
  961. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/fs-util.ts +6 -5
  962. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/memories.ts +5 -3
  963. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/node.browser.ts +1 -5
  964. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/node.ts +122 -17
  965. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/skills.ts +10 -43
  966. package/node_modules/@anthropic-ai/sdk/src/version.ts +1 -1
  967. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.d.mts.map +1 -1
  968. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.d.ts.map +1 -1
  969. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.js +13 -15
  970. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.js.map +1 -1
  971. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.mjs +3 -4
  972. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.mjs.map +1 -1
  973. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.d.mts.map +1 -1
  974. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.d.ts.map +1 -1
  975. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.js +6 -4
  976. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.js.map +1 -1
  977. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.mjs +5 -3
  978. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.mjs.map +1 -1
  979. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.d.mts +1 -2
  980. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.d.mts.map +1 -1
  981. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.d.ts +1 -2
  982. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.d.ts.map +1 -1
  983. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.js +0 -4
  984. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.js.map +1 -1
  985. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.mjs +0 -3
  986. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.mjs.map +1 -1
  987. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.d.mts +11 -9
  988. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.d.mts.map +1 -1
  989. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.d.ts +11 -9
  990. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.d.ts.map +1 -1
  991. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.js +96 -8
  992. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.js.map +1 -1
  993. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.mjs +96 -7
  994. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.mjs.map +1 -1
  995. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.d.mts +0 -8
  996. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.d.mts.map +1 -1
  997. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.d.ts +0 -8
  998. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.d.ts.map +1 -1
  999. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.js +20 -46
  1000. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.js.map +1 -1
  1001. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.mjs +9 -33
  1002. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.mjs.map +1 -1
  1003. package/node_modules/@anthropic-ai/sdk/version.d.mts +1 -1
  1004. package/node_modules/@anthropic-ai/sdk/version.d.ts +1 -1
  1005. package/node_modules/@anthropic-ai/sdk/version.js +1 -1
  1006. package/node_modules/@anthropic-ai/sdk/version.mjs +1 -1
  1007. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +71 -0
  1008. package/node_modules/@code-yeongyu/senpi-codemode/README.md +2 -0
  1009. package/node_modules/@code-yeongyu/senpi-codemode/package.json +5 -5
  1010. package/node_modules/@code-yeongyu/senpi-codemode/src/config/settings.ts +29 -0
  1011. package/node_modules/@code-yeongyu/senpi-codemode/src/index.ts +20 -1
  1012. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/worker-runtime.js +6 -0
  1013. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/worker-shell-capture.d.ts +10 -0
  1014. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/worker-shell-capture.js +126 -0
  1015. package/node_modules/@code-yeongyu/senpi-codemode/src/prompt/eval-prompt.ts +34 -92
  1016. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-execution.ts +7 -0
  1017. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool-options.ts +8 -0
  1018. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool.ts +15 -2
  1019. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/types.ts +10 -5
  1020. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  1021. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +58 -64
  1022. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  1023. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  1024. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +16 -6
  1025. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  1026. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts +1 -1
  1027. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts.map +1 -1
  1028. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js +6 -1
  1029. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js.map +1 -1
  1030. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.js +1 -1
  1031. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.js.map +1 -1
  1032. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts +2 -0
  1033. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts.map +1 -1
  1034. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js +40 -10
  1035. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js.map +1 -1
  1036. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +6 -2
  1037. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  1038. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  1039. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  1040. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts +1 -1
  1041. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  1042. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +130 -15
  1043. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  1044. package/node_modules/@earendil-works/pi-ai/dist/api/context-room.d.ts +20 -0
  1045. package/node_modules/@earendil-works/pi-ai/dist/api/context-room.d.ts.map +1 -0
  1046. package/node_modules/@earendil-works/pi-ai/dist/api/context-room.js +40 -0
  1047. package/node_modules/@earendil-works/pi-ai/dist/api/context-room.js.map +1 -0
  1048. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js +4 -4
  1049. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js.map +1 -1
  1050. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +1 -1
  1051. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js.map +1 -1
  1052. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  1053. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +16 -1
  1054. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  1055. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
  1056. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +2 -1
  1057. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  1058. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.d.ts +2 -0
  1059. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.d.ts.map +1 -1
  1060. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js +6 -0
  1061. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js.map +1 -1
  1062. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts +1 -3
  1063. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts.map +1 -1
  1064. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js +2 -16
  1065. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js.map +1 -1
  1066. package/node_modules/@earendil-works/pi-ai/dist/api/warm-prompt-cache.js +1 -1
  1067. package/node_modules/@earendil-works/pi-ai/dist/api/warm-prompt-cache.js.map +1 -1
  1068. package/node_modules/@earendil-works/pi-ai/dist/auth/pool/slots.d.ts +16 -3
  1069. package/node_modules/@earendil-works/pi-ai/dist/auth/pool/slots.d.ts.map +1 -1
  1070. package/node_modules/@earendil-works/pi-ai/dist/auth/pool/slots.js +40 -6
  1071. package/node_modules/@earendil-works/pi-ai/dist/auth/pool/slots.js.map +1 -1
  1072. package/node_modules/@earendil-works/pi-ai/dist/compat/extension-oauth-types.d.ts +8 -0
  1073. package/node_modules/@earendil-works/pi-ai/dist/compat/extension-oauth-types.d.ts.map +1 -1
  1074. package/node_modules/@earendil-works/pi-ai/dist/compat/extension-oauth-types.js.map +1 -1
  1075. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +1 -0
  1076. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  1077. package/node_modules/@earendil-works/pi-ai/dist/index.js +1 -0
  1078. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  1079. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  1080. package/node_modules/@earendil-works/pi-ai/dist/models.js +3 -2
  1081. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  1082. package/node_modules/@earendil-works/pi-ai/dist/openai-responses-compat.d.ts +2 -0
  1083. package/node_modules/@earendil-works/pi-ai/dist/openai-responses-compat.d.ts.map +1 -1
  1084. package/node_modules/@earendil-works/pi-ai/dist/openai-responses-compat.js.map +1 -1
  1085. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  1086. package/node_modules/@earendil-works/pi-ai/dist/providers/data/anthropic.json +1 -1
  1087. package/node_modules/@earendil-works/pi-ai/dist/providers/data/azure-openai-responses.json +1 -1
  1088. package/node_modules/@earendil-works/pi-ai/dist/providers/data/baseten.json +1 -1
  1089. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  1090. package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
  1091. package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
  1092. package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
  1093. package/node_modules/@earendil-works/pi-ai/dist/providers/data/nvidia.json +1 -1
  1094. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai-codex.json +1 -1
  1095. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai.json +1 -1
  1096. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
  1097. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  1098. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  1099. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.d.ts +1 -1
  1100. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.d.ts.map +1 -1
  1101. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.js +8 -1
  1102. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.js.map +1 -1
  1103. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +14 -1
  1104. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  1105. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  1106. package/node_modules/@earendil-works/pi-ai/dist/utils/drop-failed-assistant-turns.d.ts +23 -0
  1107. package/node_modules/@earendil-works/pi-ai/dist/utils/drop-failed-assistant-turns.d.ts.map +1 -0
  1108. package/node_modules/@earendil-works/pi-ai/dist/utils/drop-failed-assistant-turns.js +58 -0
  1109. package/node_modules/@earendil-works/pi-ai/dist/utils/drop-failed-assistant-turns.js.map +1 -0
  1110. package/node_modules/@earendil-works/pi-ai/dist/utils/node-http-proxy.d.ts.map +1 -1
  1111. package/node_modules/@earendil-works/pi-ai/dist/utils/node-http-proxy.js +53 -12
  1112. package/node_modules/@earendil-works/pi-ai/dist/utils/node-http-proxy.js.map +1 -1
  1113. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  1114. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +2 -0
  1115. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
  1116. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.d.ts +4 -2
  1117. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.d.ts.map +1 -1
  1118. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.js +3 -0
  1119. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.js.map +1 -1
  1120. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts.map +1 -1
  1121. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js +3 -0
  1122. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js.map +1 -1
  1123. package/node_modules/@earendil-works/pi-ai/package.json +3 -3
  1124. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  1125. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  1126. package/node_modules/@earendil-works/pi-tui/README.md +1 -1
  1127. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts +1 -0
  1128. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
  1129. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js +36 -3
  1130. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
  1131. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +1 -1
  1132. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  1133. package/node_modules/@earendil-works/pi-tui/dist/index.js +1 -1
  1134. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  1135. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +2 -0
  1136. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
  1137. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +106 -6
  1138. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  1139. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +6 -0
  1140. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  1141. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +17 -4
  1142. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  1143. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts +11 -0
  1144. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts.map +1 -1
  1145. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js +57 -15
  1146. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js.map +1 -1
  1147. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  1148. package/node_modules/@earendil-works/pi-tui/dist/tui.js +22 -7
  1149. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  1150. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  1151. package/package.json +17 -17
@@ -0,0 +1,43 @@
1
+ /**
2
+ * The terminal manifest's read side and restore orchestrator: the strict fail-closed
3
+ * parse every persisted manifest must survive, plus `restoreTerminalState`, which
4
+ * replays the manifest after a restart. Each monitor is classified by its durability
5
+ * class and handed to that class's handler; ephemeral monitors and background sessions
6
+ * are always lost, and an expired watch never reaches its handler. Both durable
7
+ * handler slots ship as stubs reporting `lost` — later phases plug the real ones in.
8
+ */
9
+ import { InvalidSidecarStoreError, type SidecarStore, type SidecarStoreRef } from "../../../session-sidecar-store.ts";
10
+ import { type ManifestMonitor, type TerminalManifest } from "./terminal-manifest.ts";
11
+ export declare class InvalidTerminalManifestError extends InvalidSidecarStoreError {
12
+ constructor(message: string, options?: {
13
+ cause?: unknown;
14
+ });
15
+ }
16
+ /** Strict fail-closed domain parse; the sidecar store has already checked version and session. */
17
+ export declare function parseTerminalManifest(raw: unknown, ref: SidecarStoreRef): TerminalManifest;
18
+ export type RestoreOutcome = "restored" | "lost" | "muted" | "attachedElsewhere";
19
+ export interface RestoreHandlerResult {
20
+ readonly outcome: RestoreOutcome;
21
+ }
22
+ export type RestoreHandler = (monitor: ManifestMonitor) => RestoreHandlerResult | Promise<RestoreHandlerResult>;
23
+ export interface RestoreHandlers {
24
+ readonly "restartable-command": RestoreHandler;
25
+ readonly "checkpointed-file": RestoreHandler;
26
+ }
27
+ /** Stub durability handlers: every durable monitor is reported lost until later phases land. */
28
+ export declare const stubRestoreHandlers: RestoreHandlers;
29
+ export interface RestoreDigest {
30
+ restored: number;
31
+ lost: number;
32
+ expired: number;
33
+ muted: number;
34
+ attachedElsewhere: number;
35
+ storeError: boolean;
36
+ }
37
+ export interface RestoreTerminalStateOptions {
38
+ readonly manifest: SidecarStore<TerminalManifest>;
39
+ readonly handlers?: Partial<RestoreHandlers>;
40
+ readonly now?: () => number;
41
+ }
42
+ export declare function restoreTerminalState(options: RestoreTerminalStateOptions): Promise<RestoreDigest>;
43
+ //# sourceMappingURL=restore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/terminal/restore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,wBAAwB,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACtH,OAAO,EAEN,KAAK,eAAe,EAEpB,KAAK,gBAAgB,EACrB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,4BAA6B,SAAQ,wBAAwB;gBAC7D,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI1D;AAkFD,kGAAkG;AAClG,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,gBAAgB,CAW1F;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,mBAAmB,CAAC;AAEjF,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEhH,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,cAAc,CAAC;IAC/C,QAAQ,CAAC,mBAAmB,EAAE,cAAc,CAAC;CAC7C;AAED,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,EAAE,eAGjC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,aAAa,CAAC,CAkCvG"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * The terminal manifest's read side and restore orchestrator: the strict fail-closed
3
+ * parse every persisted manifest must survive, plus `restoreTerminalState`, which
4
+ * replays the manifest after a restart. Each monitor is classified by its durability
5
+ * class and handed to that class's handler; ephemeral monitors and background sessions
6
+ * are always lost, and an expired watch never reaches its handler. Both durable
7
+ * handler slots ship as stubs reporting `lost` — later phases plug the real ones in.
8
+ */
9
+ import { InvalidSidecarStoreError } from "../../../session-sidecar-store.js";
10
+ import { TERMINAL_MANIFEST_VERSION, } from "./terminal-manifest.js";
11
+ export class InvalidTerminalManifestError extends InvalidSidecarStoreError {
12
+ constructor(message, options) {
13
+ super(message, options);
14
+ this.name = "InvalidTerminalManifestError";
15
+ }
16
+ }
17
+ const RUNTIME_KINDS = ["command", "file"];
18
+ const DURABILITY_CLASSES = ["ephemeral", "restartable-command", "checkpointed-file"];
19
+ const FILE_EVENTS = ["create", "modify"];
20
+ const isStr = (value) => typeof value === "string" && value.length > 0;
21
+ const isNum = (value) => typeof value === "number" && Number.isFinite(value);
22
+ const isBool = (value) => typeof value === "boolean";
23
+ const isObj = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
24
+ function invalid(message) {
25
+ throw new InvalidTerminalManifestError(`terminal manifest is invalid: ${message}`);
26
+ }
27
+ function str(raw, field) {
28
+ if (!isStr(raw[field]))
29
+ invalid(`field ${field} must be a non-empty string`);
30
+ return raw[field];
31
+ }
32
+ function num(raw, field) {
33
+ if (!isNum(raw[field]))
34
+ invalid(`field ${field} must be a finite number`);
35
+ return raw[field];
36
+ }
37
+ function bool(raw, field) {
38
+ if (!isBool(raw[field]))
39
+ invalid(`field ${field} must be a boolean`);
40
+ return raw[field];
41
+ }
42
+ function opt(raw, field, required) {
43
+ return raw[field] === undefined ? undefined : required(raw, field);
44
+ }
45
+ function oneOf(values, raw, field) {
46
+ const value = raw[field];
47
+ if (typeof value !== "string" || !values.includes(value))
48
+ invalid(`field ${field} must be one of: ${values.join(", ")}`);
49
+ return value;
50
+ }
51
+ function checkpoint(raw) {
52
+ if (!isObj(raw))
53
+ invalid("field lastCheckpoint must be an object");
54
+ return { dev: num(raw, "dev"), ino: num(raw, "ino"), size: num(raw, "size"), mtimeMs: num(raw, "mtimeMs") };
55
+ }
56
+ function fireWindow(raw) {
57
+ if (!isObj(raw))
58
+ invalid("field fireWindow must be an object");
59
+ return { startMs: num(raw, "startMs"), count: num(raw, "count") };
60
+ }
61
+ function parseMonitor(entry) {
62
+ if (!isObj(entry))
63
+ invalid("a monitor entry must be an object");
64
+ return {
65
+ monitorId: str(entry, "monitorId"),
66
+ sessionId: str(entry, "sessionId"),
67
+ description: str(entry, "description"),
68
+ runtimeKind: oneOf(RUNTIME_KINDS, entry, "runtimeKind"),
69
+ durabilityClass: oneOf(DURABILITY_CLASSES, entry, "durabilityClass"),
70
+ command: opt(entry, "command", str),
71
+ path: opt(entry, "path", str),
72
+ event: opt(entry, "event", (raw, field) => oneOf(FILE_EVENTS, raw, field)),
73
+ filter: opt(entry, "filter", str),
74
+ cwd: opt(entry, "cwd", str),
75
+ approvedParent: opt(entry, "approvedParent", str),
76
+ createdAt: num(entry, "createdAt"),
77
+ expiresAt: entry.expiresAt === undefined || entry.expiresAt === null ? null : num(entry, "expiresAt"),
78
+ persistent: bool(entry, "persistent"),
79
+ suspended: bool(entry, "suspended"),
80
+ lastCheckpoint: entry.lastCheckpoint === null ? null : checkpoint(entry.lastCheckpoint),
81
+ deliveryPaused: bool(entry, "deliveryPaused"),
82
+ wakeCount: num(entry, "wakeCount"),
83
+ fireWindow: fireWindow(entry.fireWindow),
84
+ };
85
+ }
86
+ function parseBackgroundSession(entry) {
87
+ if (!isObj(entry))
88
+ invalid("a background session entry must be an object");
89
+ return { id: str(entry, "id"), command: str(entry, "command"), startedAtMs: num(entry, "startedAtMs") };
90
+ }
91
+ /** Strict fail-closed domain parse; the sidecar store has already checked version and session. */
92
+ export function parseTerminalManifest(raw, ref) {
93
+ if (!isObj(raw))
94
+ invalid("the payload must be an object");
95
+ if (!Array.isArray(raw.monitors))
96
+ invalid("field monitors must be an array");
97
+ if (!Array.isArray(raw.backgroundSessions))
98
+ invalid("field backgroundSessions must be an array");
99
+ return {
100
+ version: TERMINAL_MANIFEST_VERSION,
101
+ sessionId: ref.sessionId,
102
+ monitors: raw.monitors.map(parseMonitor),
103
+ backgroundSessions: raw.backgroundSessions.map(parseBackgroundSession),
104
+ updatedAt: num(raw, "updatedAt"),
105
+ };
106
+ }
107
+ /** Stub durability handlers: every durable monitor is reported lost until later phases land. */
108
+ export const stubRestoreHandlers = {
109
+ "restartable-command": () => ({ outcome: "lost" }),
110
+ "checkpointed-file": () => ({ outcome: "lost" }),
111
+ };
112
+ export async function restoreTerminalState(options) {
113
+ const digest = {
114
+ restored: 0,
115
+ lost: 0,
116
+ expired: 0,
117
+ muted: 0,
118
+ attachedElsewhere: 0,
119
+ storeError: false,
120
+ };
121
+ let state;
122
+ try {
123
+ state = await options.manifest.read();
124
+ }
125
+ catch {
126
+ // Fail closed: a corrupt or foreign manifest restores nothing and reports the store error.
127
+ return { ...digest, storeError: true };
128
+ }
129
+ if (state === null)
130
+ return digest;
131
+ const now = (options.now ?? Date.now)();
132
+ const handlers = { ...stubRestoreHandlers, ...options.handlers };
133
+ for (const monitor of state.monitors) {
134
+ if (monitor.expiresAt !== null && monitor.expiresAt < now) {
135
+ digest.expired += 1;
136
+ continue;
137
+ }
138
+ if (monitor.durabilityClass === "ephemeral") {
139
+ digest.lost += 1;
140
+ continue;
141
+ }
142
+ const outcome = (await handlers[monitor.durabilityClass](monitor)).outcome;
143
+ digest[outcome] += 1;
144
+ }
145
+ // Background sessions carry no durable identity: every one of them is lost.
146
+ digest.lost += state.backgroundSessions.length;
147
+ return digest;
148
+ }
149
+ //# sourceMappingURL=restore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/terminal/restore.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The terminal manifest's read side and restore orchestrator: the strict fail-closed\n * parse every persisted manifest must survive, plus `restoreTerminalState`, which\n * replays the manifest after a restart. Each monitor is classified by its durability\n * class and handed to that class's handler; ephemeral monitors and background sessions\n * are always lost, and an expired watch never reaches its handler. Both durable\n * handler slots ship as stubs reporting `lost` — later phases plug the real ones in.\n */\n\nimport { InvalidSidecarStoreError, type SidecarStore, type SidecarStoreRef } from \"../../../session-sidecar-store.ts\";\nimport {\n\ttype ManifestBackgroundSession,\n\ttype ManifestMonitor,\n\tTERMINAL_MANIFEST_VERSION,\n\ttype TerminalManifest,\n} from \"./terminal-manifest.ts\";\n\nexport class InvalidTerminalManifestError extends InvalidSidecarStoreError {\n\tconstructor(message: string, options?: { cause?: unknown }) {\n\t\tsuper(message, options);\n\t\tthis.name = \"InvalidTerminalManifestError\";\n\t}\n}\n\ntype Raw = Record<string, unknown>;\n\nconst RUNTIME_KINDS = [\"command\", \"file\"] as const;\nconst DURABILITY_CLASSES = [\"ephemeral\", \"restartable-command\", \"checkpointed-file\"] as const;\nconst FILE_EVENTS = [\"create\", \"modify\"] as const;\nconst isStr = (value: unknown): value is string => typeof value === \"string\" && value.length > 0;\nconst isNum = (value: unknown): value is number => typeof value === \"number\" && Number.isFinite(value);\nconst isBool = (value: unknown): value is boolean => typeof value === \"boolean\";\nconst isObj = (value: unknown): value is Raw => typeof value === \"object\" && value !== null && !Array.isArray(value);\n\nfunction invalid(message: string): never {\n\tthrow new InvalidTerminalManifestError(`terminal manifest is invalid: ${message}`);\n}\n\nfunction str(raw: Raw, field: string): string {\n\tif (!isStr(raw[field])) invalid(`field ${field} must be a non-empty string`);\n\treturn raw[field];\n}\n\nfunction num(raw: Raw, field: string): number {\n\tif (!isNum(raw[field])) invalid(`field ${field} must be a finite number`);\n\treturn raw[field];\n}\n\nfunction bool(raw: Raw, field: string): boolean {\n\tif (!isBool(raw[field])) invalid(`field ${field} must be a boolean`);\n\treturn raw[field];\n}\n\nfunction opt<T>(raw: Raw, field: string, required: (raw: Raw, field: string) => T): T | undefined {\n\treturn raw[field] === undefined ? undefined : required(raw, field);\n}\n\nfunction oneOf<T extends string>(values: readonly T[], raw: Raw, field: string): T {\n\tconst value = raw[field];\n\tif (typeof value !== \"string\" || !values.includes(value as T))\n\t\tinvalid(`field ${field} must be one of: ${values.join(\", \")}`);\n\treturn value as T;\n}\n\nfunction checkpoint(raw: unknown): { dev: number; ino: number; size: number; mtimeMs: number } {\n\tif (!isObj(raw)) invalid(\"field lastCheckpoint must be an object\");\n\treturn { dev: num(raw, \"dev\"), ino: num(raw, \"ino\"), size: num(raw, \"size\"), mtimeMs: num(raw, \"mtimeMs\") };\n}\n\nfunction fireWindow(raw: unknown): { startMs: number; count: number } {\n\tif (!isObj(raw)) invalid(\"field fireWindow must be an object\");\n\treturn { startMs: num(raw, \"startMs\"), count: num(raw, \"count\") };\n}\n\nfunction parseMonitor(entry: unknown): ManifestMonitor {\n\tif (!isObj(entry)) invalid(\"a monitor entry must be an object\");\n\treturn {\n\t\tmonitorId: str(entry, \"monitorId\"),\n\t\tsessionId: str(entry, \"sessionId\"),\n\t\tdescription: str(entry, \"description\"),\n\t\truntimeKind: oneOf(RUNTIME_KINDS, entry, \"runtimeKind\"),\n\t\tdurabilityClass: oneOf(DURABILITY_CLASSES, entry, \"durabilityClass\"),\n\t\tcommand: opt(entry, \"command\", str),\n\t\tpath: opt(entry, \"path\", str),\n\t\tevent: opt(entry, \"event\", (raw, field) => oneOf(FILE_EVENTS, raw, field)),\n\t\tfilter: opt(entry, \"filter\", str),\n\t\tcwd: opt(entry, \"cwd\", str),\n\t\tapprovedParent: opt(entry, \"approvedParent\", str),\n\t\tcreatedAt: num(entry, \"createdAt\"),\n\t\texpiresAt: entry.expiresAt === undefined || entry.expiresAt === null ? null : num(entry, \"expiresAt\"),\n\t\tpersistent: bool(entry, \"persistent\"),\n\t\tsuspended: bool(entry, \"suspended\"),\n\t\tlastCheckpoint: entry.lastCheckpoint === null ? null : checkpoint(entry.lastCheckpoint),\n\t\tdeliveryPaused: bool(entry, \"deliveryPaused\"),\n\t\twakeCount: num(entry, \"wakeCount\"),\n\t\tfireWindow: fireWindow(entry.fireWindow),\n\t};\n}\n\nfunction parseBackgroundSession(entry: unknown): ManifestBackgroundSession {\n\tif (!isObj(entry)) invalid(\"a background session entry must be an object\");\n\treturn { id: str(entry, \"id\"), command: str(entry, \"command\"), startedAtMs: num(entry, \"startedAtMs\") };\n}\n\n/** Strict fail-closed domain parse; the sidecar store has already checked version and session. */\nexport function parseTerminalManifest(raw: unknown, ref: SidecarStoreRef): TerminalManifest {\n\tif (!isObj(raw)) invalid(\"the payload must be an object\");\n\tif (!Array.isArray(raw.monitors)) invalid(\"field monitors must be an array\");\n\tif (!Array.isArray(raw.backgroundSessions)) invalid(\"field backgroundSessions must be an array\");\n\treturn {\n\t\tversion: TERMINAL_MANIFEST_VERSION,\n\t\tsessionId: ref.sessionId,\n\t\tmonitors: raw.monitors.map(parseMonitor),\n\t\tbackgroundSessions: raw.backgroundSessions.map(parseBackgroundSession),\n\t\tupdatedAt: num(raw, \"updatedAt\"),\n\t};\n}\n\nexport type RestoreOutcome = \"restored\" | \"lost\" | \"muted\" | \"attachedElsewhere\";\n\nexport interface RestoreHandlerResult {\n\treadonly outcome: RestoreOutcome;\n}\n\nexport type RestoreHandler = (monitor: ManifestMonitor) => RestoreHandlerResult | Promise<RestoreHandlerResult>;\n\nexport interface RestoreHandlers {\n\treadonly \"restartable-command\": RestoreHandler;\n\treadonly \"checkpointed-file\": RestoreHandler;\n}\n\n/** Stub durability handlers: every durable monitor is reported lost until later phases land. */\nexport const stubRestoreHandlers: RestoreHandlers = {\n\t\"restartable-command\": () => ({ outcome: \"lost\" }),\n\t\"checkpointed-file\": () => ({ outcome: \"lost\" }),\n};\n\nexport interface RestoreDigest {\n\trestored: number;\n\tlost: number;\n\texpired: number;\n\tmuted: number;\n\tattachedElsewhere: number;\n\tstoreError: boolean;\n}\n\nexport interface RestoreTerminalStateOptions {\n\treadonly manifest: SidecarStore<TerminalManifest>;\n\treadonly handlers?: Partial<RestoreHandlers>;\n\treadonly now?: () => number;\n}\n\nexport async function restoreTerminalState(options: RestoreTerminalStateOptions): Promise<RestoreDigest> {\n\tconst digest: RestoreDigest = {\n\t\trestored: 0,\n\t\tlost: 0,\n\t\texpired: 0,\n\t\tmuted: 0,\n\t\tattachedElsewhere: 0,\n\t\tstoreError: false,\n\t};\n\tlet state: TerminalManifest | null;\n\ttry {\n\t\tstate = await options.manifest.read();\n\t} catch {\n\t\t// Fail closed: a corrupt or foreign manifest restores nothing and reports the store error.\n\t\treturn { ...digest, storeError: true };\n\t}\n\tif (state === null) return digest;\n\tconst now = (options.now ?? Date.now)();\n\tconst handlers: RestoreHandlers = { ...stubRestoreHandlers, ...options.handlers };\n\tfor (const monitor of state.monitors) {\n\t\tif (monitor.expiresAt !== null && monitor.expiresAt < now) {\n\t\t\tdigest.expired += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tif (monitor.durabilityClass === \"ephemeral\") {\n\t\t\tdigest.lost += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tconst outcome = (await handlers[monitor.durabilityClass](monitor)).outcome;\n\t\tdigest[outcome] += 1;\n\t}\n\t// Background sessions carry no durable identity: every one of them is lost.\n\tdigest.lost += state.backgroundSessions.length;\n\treturn digest;\n}\n"]}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Per-session terminal manifest: the durable sidecar record of live monitors and background
3
+ * sessions that `restore.ts` reads back after a restart. The writer persists ONLY lifecycle
4
+ * transitions plus debounced checkpoints — never per-line output and never a runtime handle.
5
+ */
6
+ import type { SessionManager } from "../../../session-manager.ts";
7
+ import { type SidecarStore } from "../../../session-sidecar-store.ts";
8
+ import type { MonitorSnapshotEntry } from "./monitor-registry.ts";
9
+ export declare const TERMINAL_MANIFEST_VERSION = 1;
10
+ /** Minimum debounce for checkpoint writes; a burst inside this window collapses to one write. */
11
+ export declare const TERMINAL_MANIFEST_CHECKPOINT_DEBOUNCE_MS = 30000;
12
+ export type TerminalManifestSession = Pick<SessionManager, "getSessionDir" | "getSessionId">;
13
+ export type MonitorRuntimeKind = "command" | "file";
14
+ export type MonitorDurabilityClass = "ephemeral" | "restartable-command" | "checkpointed-file";
15
+ /** File-monitor checkpoint persisted by the writer: the registry's live identity tuple. */
16
+ export interface TerminalManifestCheckpoint {
17
+ readonly dev: number;
18
+ readonly ino: number;
19
+ readonly size: number;
20
+ readonly mtimeMs: number;
21
+ }
22
+ export interface ManifestMonitor {
23
+ readonly monitorId: string;
24
+ /** Owning agent session id — never the bash_N/watch_N runtime id. */
25
+ readonly sessionId: string;
26
+ readonly description: string;
27
+ readonly runtimeKind: MonitorRuntimeKind;
28
+ readonly durabilityClass: MonitorDurabilityClass;
29
+ readonly command?: string;
30
+ readonly path?: string;
31
+ readonly event?: "create" | "modify";
32
+ readonly filter?: string;
33
+ readonly cwd?: string;
34
+ readonly approvedParent?: string;
35
+ readonly createdAt: number;
36
+ readonly expiresAt: number | null;
37
+ readonly persistent: boolean;
38
+ readonly suspended: boolean;
39
+ readonly lastCheckpoint: TerminalManifestCheckpoint | null;
40
+ readonly deliveryPaused: boolean;
41
+ readonly wakeCount: number;
42
+ readonly fireWindow: {
43
+ startMs: number;
44
+ count: number;
45
+ };
46
+ }
47
+ export interface ManifestBackgroundSession {
48
+ readonly id: string;
49
+ readonly command: string;
50
+ readonly startedAtMs: number;
51
+ }
52
+ export interface TerminalManifest {
53
+ readonly version: typeof TERMINAL_MANIFEST_VERSION;
54
+ readonly sessionId: string;
55
+ readonly monitors: readonly ManifestMonitor[];
56
+ readonly backgroundSessions: readonly ManifestBackgroundSession[];
57
+ readonly updatedAt: number;
58
+ }
59
+ /** What the monitor tool captures at its call site — the only place the branch inputs live. */
60
+ export interface CommandMonitorSpec {
61
+ readonly kind: "command";
62
+ readonly description: string;
63
+ readonly command: string;
64
+ readonly filter?: string;
65
+ readonly cwd?: string;
66
+ readonly persistent: boolean;
67
+ }
68
+ export interface FileMonitorSpec {
69
+ readonly kind: "file";
70
+ readonly description: string;
71
+ readonly path: string;
72
+ readonly event: "create" | "modify";
73
+ readonly timeoutMs: number;
74
+ readonly cwd: string;
75
+ readonly approvedParent?: string;
76
+ }
77
+ export type MonitorSpec = CommandMonitorSpec | FileMonitorSpec;
78
+ export interface MonitorRegistration {
79
+ readonly monitorId: string;
80
+ readonly spec: MonitorSpec;
81
+ }
82
+ export declare function createTerminalManifestStore(session: TerminalManifestSession): SidecarStore<TerminalManifest>;
83
+ export declare class TerminalManifestWriter {
84
+ #private;
85
+ readonly store: SidecarStore<TerminalManifest>;
86
+ /** Last persist failure: transitions never reject, so a durability write can never fail a live tool call. */
87
+ persistFailure: unknown;
88
+ constructor(options: {
89
+ session: TerminalManifestSession;
90
+ debounceMs?: number;
91
+ now?: () => number;
92
+ });
93
+ recordRegister(registration: MonitorRegistration): Promise<void>;
94
+ /**
95
+ * Reconcile a registry transition snapshot (the bundle's single onChange consumer
96
+ * forwards it here): settle removes entries, pause/resume/rearm flips deliveryPaused.
97
+ * An entry missing its stable monitorId throws — never silently skipped; entries not
98
+ * registered through the tool call site are left alone (durability spec unknown).
99
+ */
100
+ observeMonitorState(snapshot: readonly MonitorSnapshotEntry[]): Promise<void>;
101
+ /** Debounced checkpoint persist: a burst inside the window collapses into one write. */
102
+ scheduleCheckpoint(monitorId: string, checkpoint: TerminalManifestCheckpoint): void;
103
+ /** Drain: apply any pending checkpoints and await every in-flight write. */
104
+ flush(): Promise<void>;
105
+ /** Shutdown transition: flush checkpoints and mark every live monitor suspended in one write. */
106
+ recordShutdown(): Promise<void>;
107
+ recordBackgroundStart(id: string, command: string, startedAtMs?: number): Promise<void>;
108
+ recordBackgroundExit(id: string): Promise<void>;
109
+ }
110
+ //# sourceMappingURL=terminal-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-manifest.d.ts","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/terminal/terminal-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Per-session terminal manifest: the durable sidecar record of live monitors and background
3
+ * sessions that `restore.ts` reads back after a restart. The writer persists ONLY lifecycle
4
+ * transitions plus debounced checkpoints — never per-line output and never a runtime handle.
5
+ */
6
+ import { join } from "node:path";
7
+ import { createSidecarStore } from "../../../session-sidecar-store.js";
8
+ import { parseTerminalManifest } from "./restore.js";
9
+ export const TERMINAL_MANIFEST_VERSION = 1;
10
+ /** Minimum debounce for checkpoint writes; a burst inside this window collapses to one write. */
11
+ export const TERMINAL_MANIFEST_CHECKPOINT_DEBOUNCE_MS = 30_000;
12
+ export function createTerminalManifestStore(session) {
13
+ return createSidecarStore({
14
+ baseDir: join(session.getSessionDir(), "extensions", "terminal"),
15
+ sessionId: session.getSessionId(),
16
+ version: TERMINAL_MANIFEST_VERSION,
17
+ tempPrefix: "terminal",
18
+ parse: parseTerminalManifest,
19
+ });
20
+ }
21
+ export class TerminalManifestWriter {
22
+ #sessionId;
23
+ #debounceMs;
24
+ #now;
25
+ #entries = new Map();
26
+ #backgrounds = new Map();
27
+ #pending = new Map();
28
+ #timer;
29
+ #tail = Promise.resolve();
30
+ constructor(options) {
31
+ this.store = createTerminalManifestStore(options.session);
32
+ this.#sessionId = options.session.getSessionId();
33
+ this.#debounceMs = options.debounceMs ?? TERMINAL_MANIFEST_CHECKPOINT_DEBOUNCE_MS;
34
+ this.#now = options.now ?? Date.now;
35
+ }
36
+ recordRegister(registration) {
37
+ this.#entries.set(registration.monitorId, this.#entryFor(registration));
38
+ return this.#persist();
39
+ }
40
+ /**
41
+ * Reconcile a registry transition snapshot (the bundle's single onChange consumer
42
+ * forwards it here): settle removes entries, pause/resume/rearm flips deliveryPaused.
43
+ * An entry missing its stable monitorId throws — never silently skipped; entries not
44
+ * registered through the tool call site are left alone (durability spec unknown).
45
+ */
46
+ observeMonitorState(snapshot) {
47
+ const live = new Map();
48
+ for (const entry of snapshot) {
49
+ if (typeof entry.monitorId !== "string" || entry.monitorId.length === 0) {
50
+ throw new Error(`terminal manifest writer saw a monitor snapshot entry without a stable monitorId (runtime id ${entry.id}); surfacing instead of silently skipping it`);
51
+ }
52
+ live.set(entry.monitorId, entry.paused);
53
+ }
54
+ let changed = false;
55
+ for (const [monitorId, known] of this.#entries) {
56
+ const paused = live.get(monitorId);
57
+ if (paused === undefined) {
58
+ if (known.suspended)
59
+ continue; // shutdown-suspended entries are expected to be absent
60
+ this.#entries.delete(monitorId); // settle: the registry transitioned it out
61
+ changed = true;
62
+ }
63
+ else if (known.deliveryPaused !== paused) {
64
+ this.#entries.set(monitorId, { ...known, deliveryPaused: paused });
65
+ changed = true;
66
+ }
67
+ }
68
+ return changed ? this.#persist() : Promise.resolve();
69
+ }
70
+ /** Debounced checkpoint persist: a burst inside the window collapses into one write. */
71
+ scheduleCheckpoint(monitorId, checkpoint) {
72
+ this.#pending.set(monitorId, checkpoint);
73
+ if (this.#timer !== undefined)
74
+ clearTimeout(this.#timer);
75
+ this.#timer = setTimeout(() => {
76
+ this.#timer = undefined;
77
+ this.#absorbPending();
78
+ void this.#persist();
79
+ }, this.#debounceMs);
80
+ }
81
+ /** Drain: apply any pending checkpoints and await every in-flight write. */
82
+ async flush() {
83
+ if (this.#timer !== undefined) {
84
+ clearTimeout(this.#timer);
85
+ this.#timer = undefined;
86
+ }
87
+ if (this.#pending.size === 0)
88
+ await this.#tail;
89
+ else {
90
+ this.#absorbPending();
91
+ await this.#persist();
92
+ }
93
+ }
94
+ /** Shutdown transition: flush checkpoints and mark every live monitor suspended in one write. */
95
+ async recordShutdown() {
96
+ if (this.#timer !== undefined) {
97
+ clearTimeout(this.#timer);
98
+ this.#timer = undefined;
99
+ }
100
+ this.#absorbPending();
101
+ for (const [monitorId, entry] of this.#entries)
102
+ this.#entries.set(monitorId, { ...entry, suspended: true });
103
+ await this.#persist();
104
+ }
105
+ recordBackgroundStart(id, command, startedAtMs) {
106
+ this.#backgrounds.set(id, { id, command, startedAtMs: startedAtMs ?? this.#now() });
107
+ return this.#persist();
108
+ }
109
+ recordBackgroundExit(id) {
110
+ return this.#backgrounds.delete(id) ? this.#persist() : Promise.resolve();
111
+ }
112
+ #absorbPending() {
113
+ for (const [monitorId, checkpoint] of this.#pending) {
114
+ const entry = this.#entries.get(monitorId);
115
+ if (entry)
116
+ this.#entries.set(monitorId, { ...entry, lastCheckpoint: checkpoint });
117
+ }
118
+ this.#pending.clear();
119
+ }
120
+ #entryFor({ monitorId, spec }) {
121
+ const createdAt = this.#now();
122
+ return {
123
+ monitorId,
124
+ sessionId: this.#sessionId,
125
+ description: spec.description,
126
+ runtimeKind: spec.kind,
127
+ durabilityClass: spec.kind === "file" ? "checkpointed-file" : spec.persistent ? "restartable-command" : "ephemeral",
128
+ command: spec.kind === "command" ? spec.command : undefined,
129
+ path: spec.kind === "file" ? spec.path : undefined,
130
+ event: spec.kind === "file" ? spec.event : undefined,
131
+ filter: spec.kind === "command" ? spec.filter : undefined,
132
+ cwd: spec.cwd,
133
+ approvedParent: spec.kind === "file" ? spec.approvedParent : undefined,
134
+ createdAt,
135
+ expiresAt: spec.kind === "file" ? createdAt + spec.timeoutMs : null,
136
+ persistent: spec.kind === "command" ? spec.persistent : false,
137
+ suspended: false,
138
+ lastCheckpoint: null,
139
+ deliveryPaused: false,
140
+ wakeCount: 0,
141
+ fireWindow: { startMs: createdAt, count: 0 },
142
+ };
143
+ }
144
+ #persist() {
145
+ const run = this.#tail.then(() => this.store.write({
146
+ version: TERMINAL_MANIFEST_VERSION,
147
+ sessionId: this.#sessionId,
148
+ monitors: [...this.#entries.values()],
149
+ backgroundSessions: [...this.#backgrounds.values()],
150
+ updatedAt: this.#now(),
151
+ }));
152
+ this.#tail = run.then(() => undefined, (error) => {
153
+ this.persistFailure = error;
154
+ });
155
+ return this.#tail;
156
+ }
157
+ }
158
+ //# sourceMappingURL=terminal-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-manifest.js","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/terminal/terminal-manifest.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Per-session terminal manifest: the durable sidecar record of live monitors and background\n * sessions that `restore.ts` reads back after a restart. The writer persists ONLY lifecycle\n * transitions plus debounced checkpoints — never per-line output and never a runtime handle.\n */\n\nimport { join } from \"node:path\";\nimport type { SessionManager } from \"../../../session-manager.ts\";\nimport { createSidecarStore, type SidecarStore } from \"../../../session-sidecar-store.ts\";\nimport type { MonitorSnapshotEntry } from \"./monitor-registry.ts\";\nimport { parseTerminalManifest } from \"./restore.ts\";\n\nexport const TERMINAL_MANIFEST_VERSION = 1;\n/** Minimum debounce for checkpoint writes; a burst inside this window collapses to one write. */\nexport const TERMINAL_MANIFEST_CHECKPOINT_DEBOUNCE_MS = 30_000;\nexport type TerminalManifestSession = Pick<SessionManager, \"getSessionDir\" | \"getSessionId\">;\nexport type MonitorRuntimeKind = \"command\" | \"file\";\nexport type MonitorDurabilityClass = \"ephemeral\" | \"restartable-command\" | \"checkpointed-file\";\n/** File-monitor checkpoint persisted by the writer: the registry's live identity tuple. */\nexport interface TerminalManifestCheckpoint {\n\treadonly dev: number;\n\treadonly ino: number;\n\treadonly size: number;\n\treadonly mtimeMs: number;\n}\n\nexport interface ManifestMonitor {\n\treadonly monitorId: string;\n\t/** Owning agent session id — never the bash_N/watch_N runtime id. */\n\treadonly sessionId: string;\n\treadonly description: string;\n\treadonly runtimeKind: MonitorRuntimeKind;\n\treadonly durabilityClass: MonitorDurabilityClass;\n\treadonly command?: string;\n\treadonly path?: string;\n\treadonly event?: \"create\" | \"modify\";\n\treadonly filter?: string;\n\treadonly cwd?: string;\n\treadonly approvedParent?: string;\n\treadonly createdAt: number;\n\treadonly expiresAt: number | null;\n\treadonly persistent: boolean;\n\treadonly suspended: boolean;\n\treadonly lastCheckpoint: TerminalManifestCheckpoint | null;\n\treadonly deliveryPaused: boolean;\n\treadonly wakeCount: number;\n\treadonly fireWindow: { startMs: number; count: number };\n}\n\nexport interface ManifestBackgroundSession {\n\treadonly id: string;\n\treadonly command: string;\n\treadonly startedAtMs: number;\n}\n\nexport interface TerminalManifest {\n\treadonly version: typeof TERMINAL_MANIFEST_VERSION;\n\treadonly sessionId: string;\n\treadonly monitors: readonly ManifestMonitor[];\n\treadonly backgroundSessions: readonly ManifestBackgroundSession[];\n\treadonly updatedAt: number;\n}\n\n/** What the monitor tool captures at its call site — the only place the branch inputs live. */\nexport interface CommandMonitorSpec {\n\treadonly kind: \"command\";\n\treadonly description: string;\n\treadonly command: string;\n\treadonly filter?: string;\n\treadonly cwd?: string;\n\treadonly persistent: boolean;\n}\n\nexport interface FileMonitorSpec {\n\treadonly kind: \"file\";\n\treadonly description: string;\n\treadonly path: string;\n\treadonly event: \"create\" | \"modify\";\n\treadonly timeoutMs: number;\n\treadonly cwd: string;\n\treadonly approvedParent?: string;\n}\nexport type MonitorSpec = CommandMonitorSpec | FileMonitorSpec;\n\nexport interface MonitorRegistration {\n\treadonly monitorId: string;\n\treadonly spec: MonitorSpec;\n}\n\nexport function createTerminalManifestStore(session: TerminalManifestSession): SidecarStore<TerminalManifest> {\n\treturn createSidecarStore({\n\t\tbaseDir: join(session.getSessionDir(), \"extensions\", \"terminal\"),\n\t\tsessionId: session.getSessionId(),\n\t\tversion: TERMINAL_MANIFEST_VERSION,\n\t\ttempPrefix: \"terminal\",\n\t\tparse: parseTerminalManifest,\n\t});\n}\n\nexport class TerminalManifestWriter {\n\treadonly store: SidecarStore<TerminalManifest>;\n\treadonly #sessionId: string;\n\treadonly #debounceMs: number;\n\treadonly #now: () => number;\n\treadonly #entries = new Map<string, ManifestMonitor>();\n\treadonly #backgrounds = new Map<string, ManifestBackgroundSession>();\n\treadonly #pending = new Map<string, TerminalManifestCheckpoint>();\n\t#timer: ReturnType<typeof setTimeout> | undefined;\n\t#tail: Promise<void> = Promise.resolve();\n\t/** Last persist failure: transitions never reject, so a durability write can never fail a live tool call. */\n\tpersistFailure: unknown;\n\n\tconstructor(options: { session: TerminalManifestSession; debounceMs?: number; now?: () => number }) {\n\t\tthis.store = createTerminalManifestStore(options.session);\n\t\tthis.#sessionId = options.session.getSessionId();\n\t\tthis.#debounceMs = options.debounceMs ?? TERMINAL_MANIFEST_CHECKPOINT_DEBOUNCE_MS;\n\t\tthis.#now = options.now ?? Date.now;\n\t}\n\n\trecordRegister(registration: MonitorRegistration): Promise<void> {\n\t\tthis.#entries.set(registration.monitorId, this.#entryFor(registration));\n\t\treturn this.#persist();\n\t}\n\n\t/**\n\t * Reconcile a registry transition snapshot (the bundle's single onChange consumer\n\t * forwards it here): settle removes entries, pause/resume/rearm flips deliveryPaused.\n\t * An entry missing its stable monitorId throws — never silently skipped; entries not\n\t * registered through the tool call site are left alone (durability spec unknown).\n\t */\n\tobserveMonitorState(snapshot: readonly MonitorSnapshotEntry[]): Promise<void> {\n\t\tconst live = new Map<string, boolean>();\n\t\tfor (const entry of snapshot) {\n\t\t\tif (typeof entry.monitorId !== \"string\" || entry.monitorId.length === 0) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`terminal manifest writer saw a monitor snapshot entry without a stable monitorId (runtime id ${entry.id}); surfacing instead of silently skipping it`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tlive.set(entry.monitorId, entry.paused);\n\t\t}\n\t\tlet changed = false;\n\t\tfor (const [monitorId, known] of this.#entries) {\n\t\t\tconst paused = live.get(monitorId);\n\t\t\tif (paused === undefined) {\n\t\t\t\tif (known.suspended) continue; // shutdown-suspended entries are expected to be absent\n\t\t\t\tthis.#entries.delete(monitorId); // settle: the registry transitioned it out\n\t\t\t\tchanged = true;\n\t\t\t} else if (known.deliveryPaused !== paused) {\n\t\t\t\tthis.#entries.set(monitorId, { ...known, deliveryPaused: paused });\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t}\n\t\treturn changed ? this.#persist() : Promise.resolve();\n\t}\n\n\t/** Debounced checkpoint persist: a burst inside the window collapses into one write. */\n\tscheduleCheckpoint(monitorId: string, checkpoint: TerminalManifestCheckpoint): void {\n\t\tthis.#pending.set(monitorId, checkpoint);\n\t\tif (this.#timer !== undefined) clearTimeout(this.#timer);\n\t\tthis.#timer = setTimeout(() => {\n\t\t\tthis.#timer = undefined;\n\t\t\tthis.#absorbPending();\n\t\t\tvoid this.#persist();\n\t\t}, this.#debounceMs);\n\t}\n\n\t/** Drain: apply any pending checkpoints and await every in-flight write. */\n\tasync flush(): Promise<void> {\n\t\tif (this.#timer !== undefined) {\n\t\t\tclearTimeout(this.#timer);\n\t\t\tthis.#timer = undefined;\n\t\t}\n\t\tif (this.#pending.size === 0) await this.#tail;\n\t\telse {\n\t\t\tthis.#absorbPending();\n\t\t\tawait this.#persist();\n\t\t}\n\t}\n\t/** Shutdown transition: flush checkpoints and mark every live monitor suspended in one write. */\n\tasync recordShutdown(): Promise<void> {\n\t\tif (this.#timer !== undefined) {\n\t\t\tclearTimeout(this.#timer);\n\t\t\tthis.#timer = undefined;\n\t\t}\n\t\tthis.#absorbPending();\n\t\tfor (const [monitorId, entry] of this.#entries) this.#entries.set(monitorId, { ...entry, suspended: true });\n\t\tawait this.#persist();\n\t}\n\n\trecordBackgroundStart(id: string, command: string, startedAtMs?: number): Promise<void> {\n\t\tthis.#backgrounds.set(id, { id, command, startedAtMs: startedAtMs ?? this.#now() });\n\t\treturn this.#persist();\n\t}\n\n\trecordBackgroundExit(id: string): Promise<void> {\n\t\treturn this.#backgrounds.delete(id) ? this.#persist() : Promise.resolve();\n\t}\n\t#absorbPending(): void {\n\t\tfor (const [monitorId, checkpoint] of this.#pending) {\n\t\t\tconst entry = this.#entries.get(monitorId);\n\t\t\tif (entry) this.#entries.set(monitorId, { ...entry, lastCheckpoint: checkpoint });\n\t\t}\n\t\tthis.#pending.clear();\n\t}\n\n\t#entryFor({ monitorId, spec }: MonitorRegistration): ManifestMonitor {\n\t\tconst createdAt = this.#now();\n\t\treturn {\n\t\t\tmonitorId,\n\t\t\tsessionId: this.#sessionId,\n\t\t\tdescription: spec.description,\n\t\t\truntimeKind: spec.kind,\n\t\t\tdurabilityClass:\n\t\t\t\tspec.kind === \"file\" ? \"checkpointed-file\" : spec.persistent ? \"restartable-command\" : \"ephemeral\",\n\t\t\tcommand: spec.kind === \"command\" ? spec.command : undefined,\n\t\t\tpath: spec.kind === \"file\" ? spec.path : undefined,\n\t\t\tevent: spec.kind === \"file\" ? spec.event : undefined,\n\t\t\tfilter: spec.kind === \"command\" ? spec.filter : undefined,\n\t\t\tcwd: spec.cwd,\n\t\t\tapprovedParent: spec.kind === \"file\" ? spec.approvedParent : undefined,\n\t\t\tcreatedAt,\n\t\t\texpiresAt: spec.kind === \"file\" ? createdAt + spec.timeoutMs : null,\n\t\t\tpersistent: spec.kind === \"command\" ? spec.persistent : false,\n\t\t\tsuspended: false,\n\t\t\tlastCheckpoint: null,\n\t\t\tdeliveryPaused: false,\n\t\t\twakeCount: 0,\n\t\t\tfireWindow: { startMs: createdAt, count: 0 },\n\t\t};\n\t}\n\n\t#persist(): Promise<void> {\n\t\tconst run = this.#tail.then(() =>\n\t\t\tthis.store.write({\n\t\t\t\tversion: TERMINAL_MANIFEST_VERSION,\n\t\t\t\tsessionId: this.#sessionId,\n\t\t\t\tmonitors: [...this.#entries.values()],\n\t\t\t\tbackgroundSessions: [...this.#backgrounds.values()],\n\t\t\t\tupdatedAt: this.#now(),\n\t\t\t}),\n\t\t);\n\t\tthis.#tail = run.then(\n\t\t\t() => undefined,\n\t\t\t(error) => {\n\t\t\t\tthis.persistFailure = error;\n\t\t\t},\n\t\t);\n\t\treturn this.#tail;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bash-input.d.ts","sourceRoot":"","sources":["../../../../../../src/core/extensions/builtin/terminal/tools/bash-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAe,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAc,MAAM,cAAc,CAAC;AAE1G,eAAO,MAAM,eAAe;;;;;EAa1B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAE5D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB;;;;;;;;;;;yBAQ/B,MAAM,SAAS,cAAc,YAAY,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;EA2B9G"}
1
+ {"version":3,"file":"bash-input.d.ts","sourceRoot":"","sources":["../../../../../../src/core/extensions/builtin/terminal/tools/bash-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAGN,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAEvB,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,eAAe;;;;;EAa1B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAE5D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB;;;;;;;;;;;yBAQ/B,MAAM,SAAS,cAAc,YAAY,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;EA4B9G"}
@@ -1,6 +1,6 @@
1
1
  import { Type } from "typebox";
2
2
  import { encodeKeys, TERMINAL_INPUT_TOOL } from "../shared.js";
3
- import { errorResult, textResult } from "./context.js";
3
+ import { errorResult, resolveTerminalId, textResult, } from "./context.js";
4
4
  export const bashInputSchema = Type.Object({
5
5
  bash_id: Type.String({ description: "Session id returned by a run_in_background bash call." }),
6
6
  input: Type.Optional(Type.String({ description: "Literal text to write to the session's stdin." })),
@@ -19,7 +19,8 @@ export function createBashInputTool(ctx) {
19
19
  promptSnippet: "Send stdin/keys to a live background bash session (REPL steering, ctrl+c, etc.)",
20
20
  parameters: bashInputSchema,
21
21
  async execute(_toolCallId, input, _signal) {
22
- const runtime = ctx.manager.get(input.bash_id);
22
+ const sessionId = resolveTerminalId(ctx.manager, input.bash_id);
23
+ const runtime = ctx.manager.get(sessionId);
23
24
  if (!runtime)
24
25
  return errorResult(`No terminal session found with id: ${input.bash_id}`);
25
26
  if (runtime.exited)
@@ -1 +1 @@
1
- {"version":3,"file":"bash-input.js","sourceRoot":"","sources":["../../../../../../src/core/extensions/builtin/terminal/tools/bash-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { type Static, Type } from \"typebox\";\nimport { encodeKeys, TERMINAL_INPUT_TOOL } from \"../shared.ts\";\nimport { errorResult, type TerminalToolContext, type TerminalToolResult, textResult } from \"./context.ts\";\n\nexport const bashInputSchema = Type.Object({\n\tbash_id: Type.String({ description: \"Session id returned by a run_in_background bash call.\" }),\n\tinput: Type.Optional(Type.String({ description: \"Literal text to write to the session's stdin.\" })),\n\tkeys: Type.Optional(\n\t\tType.Array(Type.String(), {\n\t\t\tdescription: \"Named keys to send, e.g. ['ctrl+c'], ['enter'], ['up']. Sent after `input` when both are given.\",\n\t\t}),\n\t),\n\tsubmit: Type.Optional(\n\t\tType.Boolean({\n\t\t\tdescription: \"Append Enter (\\\\r) after `input`. Default true when `input` is a non-empty string.\",\n\t\t}),\n\t),\n});\n\nexport type BashInputInput = Static<typeof bashInputSchema>;\n\nexport function createBashInputTool(ctx: TerminalToolContext) {\n\treturn {\n\t\tname: TERMINAL_INPUT_TOOL,\n\t\tlabel: \"bash_input\",\n\t\tdescription:\n\t\t\t\"Write stdin or named keys (ctrl+c, enter, up, ...) to a live background bash session — e.g. drive a REPL or send SIGINT. This executes arbitrary shell input and is permission-gated like bash.\",\n\t\tpromptSnippet: \"Send stdin/keys to a live background bash session (REPL steering, ctrl+c, etc.)\",\n\t\tparameters: bashInputSchema,\n\t\tasync execute(_toolCallId: string, input: BashInputInput, _signal?: AbortSignal): Promise<TerminalToolResult> {\n\t\t\tconst runtime = ctx.manager.get(input.bash_id);\n\t\t\tif (!runtime) return errorResult(`No terminal session found with id: ${input.bash_id}`);\n\t\t\tif (runtime.exited) return errorResult(`Session ${input.bash_id} is not running; cannot send input.`);\n\n\t\t\tconst notes: string[] = [];\n\t\t\tif (typeof input.input === \"string\") {\n\t\t\t\tconst submit = input.submit ?? input.input.length > 0;\n\t\t\t\tconst result = runtime.session.write(submit ? `${input.input}\\r` : input.input);\n\t\t\t\tif (!result.ok) return errorResult(`Failed to write input: ${result.note}`);\n\t\t\t\tnotes.push(submit ? \"wrote input + Enter\" : \"wrote input\");\n\t\t\t}\n\n\t\t\tif (input.keys && input.keys.length > 0) {\n\t\t\t\tconst { data, unknown } = encodeKeys(input.keys);\n\t\t\t\tif (data.length > 0) {\n\t\t\t\t\tconst result = runtime.session.write(data);\n\t\t\t\t\tif (!result.ok) return errorResult(`Failed to send keys: ${result.note}`);\n\t\t\t\t\tnotes.push(`sent ${input.keys.length - unknown.length} key(s)`);\n\t\t\t\t}\n\t\t\t\tif (unknown.length > 0) notes.push(`ignored unknown keys: ${unknown.join(\", \")}`);\n\t\t\t}\n\n\t\t\tif (notes.length === 0) return errorResult(\"Nothing to send: provide `input` and/or `keys`.\");\n\t\t\treturn textResult(`Sent to ${input.bash_id}: ${notes.join(\"; \")}.`);\n\t\t},\n\t};\n}\n"]}
1
+ {"version":3,"file":"bash-input.js","sourceRoot":"","sources":["../../../../../../src/core/extensions/builtin/terminal/tools/bash-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { type Static, Type } from \"typebox\";\nimport { encodeKeys, TERMINAL_INPUT_TOOL } from \"../shared.ts\";\nimport {\n\terrorResult,\n\tresolveTerminalId,\n\ttype TerminalToolContext,\n\ttype TerminalToolResult,\n\ttextResult,\n} from \"./context.ts\";\n\nexport const bashInputSchema = Type.Object({\n\tbash_id: Type.String({ description: \"Session id returned by a run_in_background bash call.\" }),\n\tinput: Type.Optional(Type.String({ description: \"Literal text to write to the session's stdin.\" })),\n\tkeys: Type.Optional(\n\t\tType.Array(Type.String(), {\n\t\t\tdescription: \"Named keys to send, e.g. ['ctrl+c'], ['enter'], ['up']. Sent after `input` when both are given.\",\n\t\t}),\n\t),\n\tsubmit: Type.Optional(\n\t\tType.Boolean({\n\t\t\tdescription: \"Append Enter (\\\\r) after `input`. Default true when `input` is a non-empty string.\",\n\t\t}),\n\t),\n});\n\nexport type BashInputInput = Static<typeof bashInputSchema>;\n\nexport function createBashInputTool(ctx: TerminalToolContext) {\n\treturn {\n\t\tname: TERMINAL_INPUT_TOOL,\n\t\tlabel: \"bash_input\",\n\t\tdescription:\n\t\t\t\"Write stdin or named keys (ctrl+c, enter, up, ...) to a live background bash session — e.g. drive a REPL or send SIGINT. This executes arbitrary shell input and is permission-gated like bash.\",\n\t\tpromptSnippet: \"Send stdin/keys to a live background bash session (REPL steering, ctrl+c, etc.)\",\n\t\tparameters: bashInputSchema,\n\t\tasync execute(_toolCallId: string, input: BashInputInput, _signal?: AbortSignal): Promise<TerminalToolResult> {\n\t\t\tconst sessionId = resolveTerminalId(ctx.manager, input.bash_id);\n\t\t\tconst runtime = ctx.manager.get(sessionId);\n\t\t\tif (!runtime) return errorResult(`No terminal session found with id: ${input.bash_id}`);\n\t\t\tif (runtime.exited) return errorResult(`Session ${input.bash_id} is not running; cannot send input.`);\n\n\t\t\tconst notes: string[] = [];\n\t\t\tif (typeof input.input === \"string\") {\n\t\t\t\tconst submit = input.submit ?? input.input.length > 0;\n\t\t\t\tconst result = runtime.session.write(submit ? `${input.input}\\r` : input.input);\n\t\t\t\tif (!result.ok) return errorResult(`Failed to write input: ${result.note}`);\n\t\t\t\tnotes.push(submit ? \"wrote input + Enter\" : \"wrote input\");\n\t\t\t}\n\n\t\t\tif (input.keys && input.keys.length > 0) {\n\t\t\t\tconst { data, unknown } = encodeKeys(input.keys);\n\t\t\t\tif (data.length > 0) {\n\t\t\t\t\tconst result = runtime.session.write(data);\n\t\t\t\t\tif (!result.ok) return errorResult(`Failed to send keys: ${result.note}`);\n\t\t\t\t\tnotes.push(`sent ${input.keys.length - unknown.length} key(s)`);\n\t\t\t\t}\n\t\t\t\tif (unknown.length > 0) notes.push(`ignored unknown keys: ${unknown.join(\", \")}`);\n\t\t\t}\n\n\t\t\tif (notes.length === 0) return errorResult(\"Nothing to send: provide `input` and/or `keys`.\");\n\t\t\treturn textResult(`Sent to ${input.bash_id}: ${notes.join(\"; \")}.`);\n\t\t},\n\t};\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bash-output.d.ts","sourceRoot":"","sources":["../../../../../../src/core/extensions/builtin/terminal/tools/bash-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,EAAe,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAc,MAAM,cAAc,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG3E,eAAO,MAAM,gBAAgB;;;;EAQ3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAwB9D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,mBAAmB;;;;;;;;;;yBAShC,MAAM,SAAS,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;;;EA6BxF"}
1
+ {"version":3,"file":"bash-output.d.ts","sourceRoot":"","sources":["../../../../../../src/core/extensions/builtin/terminal/tools/bash-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,EAGN,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAEvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG3E,eAAO,MAAM,gBAAgB;;;;EAQ3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAwB9D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,mBAAmB;;;;;;;;;;yBAShC,MAAM,SAAS,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;;;EA8BxF"}
@@ -1,7 +1,7 @@
1
1
  import { Type } from "typebox";
2
2
  import { formatTerminalToolOutput } from "../output-format.js";
3
3
  import { safeRegExp, TERMINAL_OUTPUT_TOOL } from "../shared.js";
4
- import { errorResult, textResult } from "./context.js";
4
+ import { errorResult, resolveTerminalId, textResult, } from "./context.js";
5
5
  import { renderBashOutputCall, renderBashOutputResult } from "./render.js";
6
6
  import { describeExit } from "./spawn.js";
7
7
  export const bashOutputSchema = Type.Object({
@@ -41,12 +41,13 @@ export function createBashOutputTool(ctx) {
41
41
  promptSnippet: "Peek at background bash session output (filter, screen view, status); watch patterns with monitor, completion arrives as a notification",
42
42
  parameters: bashOutputSchema,
43
43
  async execute(_toolCallId, input) {
44
- const runtime = ctx.manager.get(input.bash_id);
44
+ const sessionId = resolveTerminalId(ctx.manager, input.bash_id);
45
+ const runtime = ctx.manager.get(sessionId);
45
46
  if (!runtime)
46
47
  return errorResult(`No terminal session found with id: ${input.bash_id}`);
47
- const monitorEntry = ctx.monitorRegistry?.snapshot().find((entry) => entry.id === input.bash_id);
48
+ const monitorEntry = ctx.monitorRegistry?.snapshot().find((entry) => entry.id === sessionId);
48
49
  const muted = monitorEntry?.paused === true;
49
- const mutedDropped = muted ? (ctx.monitorRegistry?.mutedDropped(input.bash_id) ?? 0) : 0;
50
+ const mutedDropped = muted ? (ctx.monitorRegistry?.mutedDropped(sessionId) ?? 0) : 0;
50
51
  let mutedNote = "";
51
52
  if (muted) {
52
53
  mutedNote =