@code-yeongyu/senpi 2026.9.3-3 → 2026.9.4-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (867) hide show
  1. package/CHANGELOG.md +78 -1
  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.map +1 -1
  9. package/dist/core/agent-session.js +24 -1
  10. package/dist/core/agent-session.js.map +1 -1
  11. package/dist/core/compaction/compaction.d.ts.map +1 -1
  12. package/dist/core/compaction/compaction.js +16 -7
  13. package/dist/core/compaction/compaction.js.map +1 -1
  14. package/dist/core/extensions/builtin/bash-timeout/index.d.ts.map +1 -1
  15. package/dist/core/extensions/builtin/bash-timeout/index.js +1 -5
  16. package/dist/core/extensions/builtin/bash-timeout/index.js.map +1 -1
  17. package/dist/core/extensions/builtin/bash-timeout/timeout.d.ts +0 -2
  18. package/dist/core/extensions/builtin/bash-timeout/timeout.d.ts.map +1 -1
  19. package/dist/core/extensions/builtin/bash-timeout/timeout.js +3 -4
  20. package/dist/core/extensions/builtin/bash-timeout/timeout.js.map +1 -1
  21. package/dist/core/extensions/builtin/goal/prompt.d.ts.map +1 -1
  22. package/dist/core/extensions/builtin/goal/prompt.js +1 -3
  23. package/dist/core/extensions/builtin/goal/prompt.js.map +1 -1
  24. package/dist/core/extensions/builtin/goal/tool-registration.js +1 -1
  25. package/dist/core/extensions/builtin/goal/tool-registration.js.map +1 -1
  26. package/dist/core/extensions/builtin/loop/index.d.ts.map +1 -1
  27. package/dist/core/extensions/builtin/loop/index.js +20 -1
  28. package/dist/core/extensions/builtin/loop/index.js.map +1 -1
  29. package/dist/core/extensions/builtin/loop/tools.d.ts +6 -1
  30. package/dist/core/extensions/builtin/loop/tools.d.ts.map +1 -1
  31. package/dist/core/extensions/builtin/loop/tools.js +8 -1
  32. package/dist/core/extensions/builtin/loop/tools.js.map +1 -1
  33. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.d.ts +123 -0
  34. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.d.ts.map +1 -0
  35. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.js +202 -0
  36. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.js.map +1 -0
  37. package/dist/core/extensions/builtin/prompt-preset/gpt-eval-routing.d.ts.map +1 -1
  38. package/dist/core/extensions/builtin/prompt-preset/gpt-eval-routing.js +1 -2
  39. package/dist/core/extensions/builtin/prompt-preset/gpt-eval-routing.js.map +1 -1
  40. package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
  41. package/dist/core/extensions/builtin/prompt-preset/presets.js +17 -0
  42. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  43. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +1 -1
  44. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
  45. package/dist/core/extensions/builtin/prompt-preset/settings.js +1 -0
  46. package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
  47. package/dist/core/extensions/builtin/todotools/prompt.d.ts +2 -2
  48. package/dist/core/extensions/builtin/todotools/prompt.d.ts.map +1 -1
  49. package/dist/core/extensions/builtin/todotools/prompt.js +3 -6
  50. package/dist/core/extensions/builtin/todotools/prompt.js.map +1 -1
  51. package/dist/core/extensions/builtin/tool-search/native-search.d.ts +1 -1
  52. package/dist/core/extensions/builtin/tool-search/native-search.d.ts.map +1 -1
  53. package/dist/core/extensions/builtin/tool-search/native-search.js +1 -1
  54. package/dist/core/extensions/builtin/tool-search/native-search.js.map +1 -1
  55. package/dist/core/extensions/builtin/ttsr/detectors/collapse-paragraphs.d.ts +34 -0
  56. package/dist/core/extensions/builtin/ttsr/detectors/collapse-paragraphs.d.ts.map +1 -0
  57. package/dist/core/extensions/builtin/ttsr/detectors/collapse-paragraphs.js +121 -0
  58. package/dist/core/extensions/builtin/ttsr/detectors/collapse-paragraphs.js.map +1 -0
  59. package/dist/core/extensions/builtin/ttsr/detectors/collapse.d.ts +2 -0
  60. package/dist/core/extensions/builtin/ttsr/detectors/collapse.d.ts.map +1 -1
  61. package/dist/core/extensions/builtin/ttsr/detectors/collapse.js +6 -2
  62. package/dist/core/extensions/builtin/ttsr/detectors/collapse.js.map +1 -1
  63. package/dist/core/extensions/index.d.ts +1 -1
  64. package/dist/core/extensions/index.d.ts.map +1 -1
  65. package/dist/core/extensions/index.js.map +1 -1
  66. package/dist/core/extensions/runner.d.ts +5 -0
  67. package/dist/core/extensions/runner.d.ts.map +1 -1
  68. package/dist/core/extensions/runner.js +44 -1
  69. package/dist/core/extensions/runner.js.map +1 -1
  70. package/dist/core/extensions/types.d.ts +26 -3
  71. package/dist/core/extensions/types.d.ts.map +1 -1
  72. package/dist/core/extensions/types.js.map +1 -1
  73. package/dist/core/http-dispatcher.d.ts.map +1 -1
  74. package/dist/core/http-dispatcher.js +2 -0
  75. package/dist/core/http-dispatcher.js.map +1 -1
  76. package/dist/core/manual-continue.d.ts +13 -0
  77. package/dist/core/manual-continue.d.ts.map +1 -0
  78. package/dist/core/manual-continue.js +19 -0
  79. package/dist/core/manual-continue.js.map +1 -0
  80. package/dist/core/messages.d.ts.map +1 -1
  81. package/dist/core/messages.js +8 -2
  82. package/dist/core/messages.js.map +1 -1
  83. package/dist/core/model-config.d.ts.map +1 -1
  84. package/dist/core/model-config.js +3 -0
  85. package/dist/core/model-config.js.map +1 -1
  86. package/dist/core/provider-composer.d.ts.map +1 -1
  87. package/dist/core/provider-composer.js +13 -2
  88. package/dist/core/provider-composer.js.map +1 -1
  89. package/dist/core/session-manager.d.ts.map +1 -1
  90. package/dist/core/session-manager.js +28 -4
  91. package/dist/core/session-manager.js.map +1 -1
  92. package/dist/core/settings-manager.d.ts +5 -1
  93. package/dist/core/settings-manager.d.ts.map +1 -1
  94. package/dist/core/settings-manager.js +34 -0
  95. package/dist/core/settings-manager.js.map +1 -1
  96. package/dist/core/skills.d.ts.map +1 -1
  97. package/dist/core/skills.js +19 -2
  98. package/dist/core/skills.js.map +1 -1
  99. package/dist/core/terminal-settings.d.ts +3 -0
  100. package/dist/core/terminal-settings.d.ts.map +1 -1
  101. package/dist/core/terminal-settings.js.map +1 -1
  102. package/dist/core/tools/bash.d.ts.map +1 -1
  103. package/dist/core/tools/bash.js +1 -1
  104. package/dist/core/tools/bash.js.map +1 -1
  105. package/dist/core/tools/edit.d.ts.map +1 -1
  106. package/dist/core/tools/edit.js +2 -2
  107. package/dist/core/tools/edit.js.map +1 -1
  108. package/dist/core/tools/find.d.ts.map +1 -1
  109. package/dist/core/tools/find.js +2 -2
  110. package/dist/core/tools/find.js.map +1 -1
  111. package/dist/core/tools/grep.d.ts.map +1 -1
  112. package/dist/core/tools/grep.js +2 -2
  113. package/dist/core/tools/grep.js.map +1 -1
  114. package/dist/core/tools/ls.d.ts.map +1 -1
  115. package/dist/core/tools/ls.js +2 -2
  116. package/dist/core/tools/ls.js.map +1 -1
  117. package/dist/core/tools/read.d.ts.map +1 -1
  118. package/dist/core/tools/read.js +1 -1
  119. package/dist/core/tools/read.js.map +1 -1
  120. package/dist/core/tools/write.d.ts.map +1 -1
  121. package/dist/core/tools/write.js +3 -3
  122. package/dist/core/tools/write.js.map +1 -1
  123. package/dist/index.d.ts +1 -1
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js.map +1 -1
  126. package/dist/main.d.ts.map +1 -1
  127. package/dist/main.js +2 -0
  128. package/dist/main.js.map +1 -1
  129. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  130. package/dist/modes/interactive/components/scoped-models-selector.js +5 -11
  131. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  132. package/dist/modes/interactive/components/settings-selector.d.ts +2 -0
  133. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  134. package/dist/modes/interactive/components/settings-selector.js +21 -8
  135. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  136. package/dist/modes/interactive/components/thinking-selector.js +2 -2
  137. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  138. package/dist/modes/interactive/components/trust-selector.js +2 -2
  139. package/dist/modes/interactive/components/trust-selector.js.map +1 -1
  140. package/dist/modes/interactive/grok/welcome-card.d.ts.map +1 -1
  141. package/dist/modes/interactive/grok/welcome-card.js +5 -2
  142. package/dist/modes/interactive/grok/welcome-card.js.map +1 -1
  143. package/dist/modes/interactive/interactive-mode.d.ts +3 -0
  144. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  145. package/dist/modes/interactive/interactive-mode.js +74 -14
  146. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  147. package/dist/modes/interactive/version-label.d.ts +7 -0
  148. package/dist/modes/interactive/version-label.d.ts.map +1 -0
  149. package/dist/modes/interactive/version-label.js +9 -0
  150. package/dist/modes/interactive/version-label.js.map +1 -0
  151. package/dist/utils/version-check.d.ts.map +1 -1
  152. package/dist/utils/version-check.js +3 -4
  153. package/dist/utils/version-check.js.map +1 -1
  154. package/docs/compaction.md +2 -0
  155. package/docs/environment-variables.md +5 -0
  156. package/docs/extensions.md +22 -2
  157. package/docs/keybindings.md +1 -1
  158. package/docs/models.md +3 -0
  159. package/docs/quickstart.md +1 -1
  160. package/docs/rpc.md +1 -1
  161. package/docs/settings.md +13 -6
  162. package/docs/terminal-setup.md +27 -0
  163. package/docs/usage.md +5 -3
  164. package/node_modules/@anthropic-ai/sdk/CHANGELOG.md +96 -0
  165. package/node_modules/@anthropic-ai/sdk/README.md +1 -1
  166. package/node_modules/@anthropic-ai/sdk/core/credentials.d.mts.map +1 -1
  167. package/node_modules/@anthropic-ai/sdk/core/credentials.d.ts.map +1 -1
  168. package/node_modules/@anthropic-ai/sdk/core/credentials.js +5 -7
  169. package/node_modules/@anthropic-ai/sdk/core/credentials.js.map +1 -1
  170. package/node_modules/@anthropic-ai/sdk/core/credentials.mjs +5 -7
  171. package/node_modules/@anthropic-ai/sdk/core/credentials.mjs.map +1 -1
  172. package/node_modules/@anthropic-ai/sdk/core/middleware.d.mts.map +1 -1
  173. package/node_modules/@anthropic-ai/sdk/core/middleware.d.ts.map +1 -1
  174. package/node_modules/@anthropic-ai/sdk/core/middleware.js +4 -4
  175. package/node_modules/@anthropic-ai/sdk/core/middleware.js.map +1 -1
  176. package/node_modules/@anthropic-ai/sdk/core/middleware.mjs +4 -4
  177. package/node_modules/@anthropic-ai/sdk/core/middleware.mjs.map +1 -1
  178. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.d.mts +45 -0
  179. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.d.mts.map +1 -0
  180. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.d.ts +45 -0
  181. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.d.ts.map +1 -0
  182. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.js +58 -0
  183. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.js.map +1 -0
  184. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.mjs +54 -0
  185. package/node_modules/@anthropic-ai/sdk/helpers/beta/standard-schema.mjs.map +1 -0
  186. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.js +1 -1
  187. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.js.map +1 -1
  188. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs +1 -1
  189. package/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs.map +1 -1
  190. package/node_modules/@anthropic-ai/sdk/internal/errors.d.mts.map +1 -1
  191. package/node_modules/@anthropic-ai/sdk/internal/errors.d.ts.map +1 -1
  192. package/node_modules/@anthropic-ai/sdk/internal/errors.js +3 -1
  193. package/node_modules/@anthropic-ai/sdk/internal/errors.js.map +1 -1
  194. package/node_modules/@anthropic-ai/sdk/internal/errors.mjs +3 -1
  195. package/node_modules/@anthropic-ai/sdk/internal/errors.mjs.map +1 -1
  196. package/node_modules/@anthropic-ai/sdk/internal/file-store.d.mts.map +1 -1
  197. package/node_modules/@anthropic-ai/sdk/internal/file-store.d.ts.map +1 -1
  198. package/node_modules/@anthropic-ai/sdk/internal/file-store.js +23 -25
  199. package/node_modules/@anthropic-ai/sdk/internal/file-store.js.map +1 -1
  200. package/node_modules/@anthropic-ai/sdk/internal/file-store.mjs +5 -6
  201. package/node_modules/@anthropic-ai/sdk/internal/file-store.mjs.map +1 -1
  202. package/node_modules/@anthropic-ai/sdk/internal/node.browser.d.mts +9 -0
  203. package/node_modules/@anthropic-ai/sdk/internal/node.browser.d.mts.map +1 -0
  204. package/node_modules/@anthropic-ai/sdk/internal/node.browser.d.ts +9 -0
  205. package/node_modules/@anthropic-ai/sdk/internal/node.browser.d.ts.map +1 -0
  206. package/node_modules/@anthropic-ai/sdk/internal/node.browser.js +22 -0
  207. package/node_modules/@anthropic-ai/sdk/internal/node.browser.js.map +1 -0
  208. package/node_modules/@anthropic-ai/sdk/internal/node.browser.mjs +19 -0
  209. package/node_modules/@anthropic-ai/sdk/internal/node.browser.mjs.map +1 -0
  210. package/node_modules/@anthropic-ai/sdk/internal/node.d.mts +14 -0
  211. package/node_modules/@anthropic-ai/sdk/internal/node.d.mts.map +1 -0
  212. package/node_modules/@anthropic-ai/sdk/internal/node.d.ts +14 -0
  213. package/node_modules/@anthropic-ai/sdk/internal/node.d.ts.map +1 -0
  214. package/node_modules/@anthropic-ai/sdk/internal/node.js +24 -0
  215. package/node_modules/@anthropic-ai/sdk/internal/node.js.map +1 -0
  216. package/node_modules/@anthropic-ai/sdk/internal/node.mjs +14 -0
  217. package/node_modules/@anthropic-ai/sdk/internal/node.mjs.map +1 -0
  218. package/node_modules/@anthropic-ai/sdk/internal/parse.js +1 -1
  219. package/node_modules/@anthropic-ai/sdk/internal/parse.js.map +1 -1
  220. package/node_modules/@anthropic-ai/sdk/internal/parse.mjs +1 -1
  221. package/node_modules/@anthropic-ai/sdk/internal/parse.mjs.map +1 -1
  222. package/node_modules/@anthropic-ai/sdk/internal/uploads.js +10 -6
  223. package/node_modules/@anthropic-ai/sdk/internal/uploads.js.map +1 -1
  224. package/node_modules/@anthropic-ai/sdk/internal/uploads.mjs +10 -6
  225. package/node_modules/@anthropic-ai/sdk/internal/uploads.mjs.map +1 -1
  226. package/node_modules/@anthropic-ai/sdk/internal/utils/values.d.mts +6 -0
  227. package/node_modules/@anthropic-ai/sdk/internal/utils/values.d.mts.map +1 -1
  228. package/node_modules/@anthropic-ai/sdk/internal/utils/values.d.ts +6 -0
  229. package/node_modules/@anthropic-ai/sdk/internal/utils/values.d.ts.map +1 -1
  230. package/node_modules/@anthropic-ai/sdk/internal/utils/values.js +7 -0
  231. package/node_modules/@anthropic-ai/sdk/internal/utils/values.js.map +1 -1
  232. package/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs +6 -0
  233. package/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs.map +1 -1
  234. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.mts.map +1 -1
  235. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.ts.map +1 -1
  236. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js +6 -4
  237. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js.map +1 -1
  238. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs +4 -2
  239. package/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs.map +1 -1
  240. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.mts.map +1 -1
  241. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.ts.map +1 -1
  242. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.js +3 -4
  243. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.js.map +1 -1
  244. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs +1 -2
  245. package/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs.map +1 -1
  246. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.js +1 -1
  247. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.js.map +1 -1
  248. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.mjs +1 -1
  249. package/node_modules/@anthropic-ai/sdk/lib/credentials/credential-chain.mjs.map +1 -1
  250. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.js +1 -1
  251. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.js.map +1 -1
  252. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.mjs +1 -1
  253. package/node_modules/@anthropic-ai/sdk/lib/credentials/identity-token.mjs.map +1 -1
  254. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.d.mts.map +1 -1
  255. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.d.ts.map +1 -1
  256. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.js +2 -3
  257. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.js.map +1 -1
  258. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.mjs +2 -3
  259. package/node_modules/@anthropic-ai/sdk/lib/credentials/types.mjs.map +1 -1
  260. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.js +1 -1
  261. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.js.map +1 -1
  262. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.mjs +1 -1
  263. package/node_modules/@anthropic-ai/sdk/lib/credentials/user-oauth.mjs.map +1 -1
  264. package/node_modules/@anthropic-ai/sdk/lib/middleware.d.mts.map +1 -1
  265. package/node_modules/@anthropic-ai/sdk/lib/middleware.d.ts.map +1 -1
  266. package/node_modules/@anthropic-ai/sdk/lib/middleware.js +30 -7
  267. package/node_modules/@anthropic-ai/sdk/lib/middleware.js.map +1 -1
  268. package/node_modules/@anthropic-ai/sdk/lib/middleware.mjs +30 -7
  269. package/node_modules/@anthropic-ai/sdk/lib/middleware.mjs.map +1 -1
  270. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.d.mts +3 -2
  271. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.d.mts.map +1 -1
  272. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.d.ts +3 -2
  273. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.d.ts.map +1 -1
  274. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.js +3 -46
  275. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.js.map +1 -1
  276. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.mjs +3 -46
  277. package/node_modules/@anthropic-ai/sdk/lib/sessions/accumulate.mjs.map +1 -1
  278. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.d.mts +131 -0
  279. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.d.mts.map +1 -0
  280. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.d.ts +131 -0
  281. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.d.ts.map +1 -0
  282. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.js +45 -0
  283. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.js.map +1 -0
  284. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.mjs +41 -0
  285. package/node_modules/@anthropic-ai/sdk/lib/standard-schema.mjs.map +1 -0
  286. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.d.mts.map +1 -1
  287. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.d.ts.map +1 -1
  288. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.js +35 -6
  289. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.js.map +1 -1
  290. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.mjs +35 -6
  291. package/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.mjs.map +1 -1
  292. package/node_modules/@anthropic-ai/sdk/package.json +4 -11
  293. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.mts +1 -1
  294. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.mts.map +1 -1
  295. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.ts +1 -1
  296. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.ts.map +1 -1
  297. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.js.map +1 -1
  298. package/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.mjs.map +1 -1
  299. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts +13 -9
  300. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts.map +1 -1
  301. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts +13 -9
  302. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts.map +1 -1
  303. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.js +4 -0
  304. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.js.map +1 -1
  305. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs +4 -0
  306. package/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs.map +1 -1
  307. package/node_modules/@anthropic-ai/sdk/resources/beta/deployment-runs.d.mts +6 -6
  308. package/node_modules/@anthropic-ai/sdk/resources/beta/deployment-runs.d.ts +6 -6
  309. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.d.mts +3 -2
  310. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.d.mts.map +1 -1
  311. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.d.ts +3 -2
  312. package/node_modules/@anthropic-ai/sdk/resources/beta/deployments.d.ts.map +1 -1
  313. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.d.mts +28 -1
  314. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.d.mts.map +1 -1
  315. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.d.ts +28 -1
  316. package/node_modules/@anthropic-ai/sdk/resources/beta/dreams.d.ts.map +1 -1
  317. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.d.mts +8 -1
  318. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.d.mts.map +1 -1
  319. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.d.ts +8 -1
  320. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.d.ts.map +1 -1
  321. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.js.map +1 -1
  322. package/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.mjs.map +1 -1
  323. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts +25 -5
  324. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts.map +1 -1
  325. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts +25 -5
  326. package/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts.map +1 -1
  327. package/node_modules/@anthropic-ai/sdk/resources/beta/files.js +6 -6
  328. package/node_modules/@anthropic-ai/sdk/resources/beta/files.js.map +1 -1
  329. package/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs +7 -7
  330. package/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs.map +1 -1
  331. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts +5 -4
  332. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts.map +1 -1
  333. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts +5 -4
  334. package/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts.map +1 -1
  335. package/node_modules/@anthropic-ai/sdk/resources/beta/index.js +11 -9
  336. package/node_modules/@anthropic-ai/sdk/resources/beta/index.js.map +1 -1
  337. package/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs +1 -0
  338. package/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs.map +1 -1
  339. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.mts +12 -9
  340. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.mts.map +1 -1
  341. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.ts +12 -9
  342. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.ts.map +1 -1
  343. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.mts +8 -5
  344. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.mts.map +1 -1
  345. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.ts +8 -5
  346. package/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.ts.map +1 -1
  347. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts +1 -1
  348. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts.map +1 -1
  349. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts +1 -1
  350. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts.map +1 -1
  351. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.js.map +1 -1
  352. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.mjs.map +1 -1
  353. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts +198 -29
  354. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts.map +1 -1
  355. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts +198 -29
  356. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts.map +1 -1
  357. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.js.map +1 -1
  358. package/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs.map +1 -1
  359. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.d.mts +177 -0
  360. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.d.mts.map +1 -0
  361. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.d.ts +177 -0
  362. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.d.ts.map +1 -0
  363. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.js +56 -0
  364. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.js.map +1 -0
  365. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.mjs +52 -0
  366. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/api-keys.mjs.map +1 -0
  367. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.d.mts +74 -0
  368. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.d.mts.map +1 -0
  369. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.d.ts +74 -0
  370. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.d.ts.map +1 -0
  371. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.js +52 -0
  372. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.js.map +1 -0
  373. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.mjs +48 -0
  374. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/compliance-settings.mjs.map +1 -0
  375. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.d.mts +272 -0
  376. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.d.mts.map +1 -0
  377. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.d.ts +272 -0
  378. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.d.ts.map +1 -0
  379. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.js +119 -0
  380. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.js.map +1 -0
  381. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.mjs +115 -0
  382. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/external-keys.mjs.map +1 -0
  383. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.d.mts +14 -0
  384. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.d.mts.map +1 -0
  385. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.d.ts +14 -0
  386. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.d.ts.map +1 -0
  387. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.js +21 -0
  388. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.js.map +1 -0
  389. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.mjs +16 -0
  390. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/federation.mjs.map +1 -0
  391. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.d.mts +4 -0
  392. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.d.mts.map +1 -0
  393. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.d.ts +4 -0
  394. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.d.ts.map +1 -0
  395. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.js +11 -0
  396. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.js.map +1 -0
  397. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.mjs +5 -0
  398. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/index.mjs.map +1 -0
  399. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.d.mts +353 -0
  400. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.d.mts.map +1 -0
  401. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.d.ts +353 -0
  402. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.d.ts.map +1 -0
  403. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.js +169 -0
  404. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.js.map +1 -0
  405. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.mjs +165 -0
  406. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/issuers.mjs.map +1 -0
  407. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.d.mts +3 -0
  408. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.d.mts.map +1 -0
  409. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.d.ts +3 -0
  410. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.d.ts.map +1 -0
  411. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.js +9 -0
  412. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.js.map +1 -0
  413. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.mjs +4 -0
  414. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/index.mjs.map +1 -0
  415. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.d.mts +468 -0
  416. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.d.mts.map +1 -0
  417. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.d.ts +468 -0
  418. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.d.ts.map +1 -0
  419. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.js +198 -0
  420. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.js.map +1 -0
  421. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.mjs +193 -0
  422. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/rules.mjs.map +1 -0
  423. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.d.mts +124 -0
  424. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.d.mts.map +1 -0
  425. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.d.ts +124 -0
  426. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.d.ts.map +1 -0
  427. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.js +114 -0
  428. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.js.map +1 -0
  429. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.mjs +110 -0
  430. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules/workspaces.mjs.map +1 -0
  431. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.d.mts +2 -0
  432. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.d.mts.map +1 -0
  433. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.d.ts +2 -0
  434. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.d.ts.map +1 -0
  435. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.js +6 -0
  436. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.js.map +1 -0
  437. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.mjs +3 -0
  438. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation/rules.mjs.map +1 -0
  439. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.d.mts +2 -0
  440. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.d.mts.map +1 -0
  441. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.d.ts +2 -0
  442. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.d.ts.map +1 -0
  443. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.js +6 -0
  444. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.js.map +1 -0
  445. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.mjs +3 -0
  446. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/federation.mjs.map +1 -0
  447. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.d.mts +11 -0
  448. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.d.mts.map +1 -0
  449. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.d.ts +11 -0
  450. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.d.ts.map +1 -0
  451. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.js +25 -0
  452. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.js.map +1 -0
  453. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.mjs +12 -0
  454. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/index.mjs.map +1 -0
  455. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.d.mts +162 -0
  456. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.d.mts.map +1 -0
  457. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.d.ts +162 -0
  458. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.d.ts.map +1 -0
  459. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.js +76 -0
  460. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.js.map +1 -0
  461. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.mjs +72 -0
  462. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/invites.mjs.map +1 -0
  463. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.d.mts +73 -0
  464. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.d.mts.map +1 -0
  465. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.d.ts +73 -0
  466. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.d.ts.map +1 -0
  467. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.js +62 -0
  468. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.js.map +1 -0
  469. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.mjs +57 -0
  470. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/organization.mjs.map +1 -0
  471. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.d.mts +77 -0
  472. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.d.mts.map +1 -0
  473. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.d.ts +77 -0
  474. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.d.ts.map +1 -0
  475. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.js +31 -0
  476. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.js.map +1 -0
  477. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.mjs +27 -0
  478. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/rate-limits.mjs.map +1 -0
  479. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.d.mts +3 -0
  480. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.d.mts.map +1 -0
  481. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.d.ts +3 -0
  482. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.d.ts.map +1 -0
  483. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.js +9 -0
  484. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.js.map +1 -0
  485. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.mjs +4 -0
  486. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/index.mjs.map +1 -0
  487. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.d.mts +258 -0
  488. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.d.mts.map +1 -0
  489. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.d.ts +258 -0
  490. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.d.ts.map +1 -0
  491. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.js +174 -0
  492. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.js.map +1 -0
  493. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.mjs +169 -0
  494. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/service-accounts.mjs.map +1 -0
  495. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.d.mts +141 -0
  496. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.d.mts.map +1 -0
  497. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.d.ts +141 -0
  498. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.d.ts.map +1 -0
  499. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.js +125 -0
  500. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.js.map +1 -0
  501. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.mjs +121 -0
  502. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts/workspaces.mjs.map +1 -0
  503. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.d.mts +2 -0
  504. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.d.mts.map +1 -0
  505. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.d.ts +2 -0
  506. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.d.ts.map +1 -0
  507. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.js +6 -0
  508. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.js.map +1 -0
  509. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.mjs +3 -0
  510. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/service-accounts.mjs.map +1 -0
  511. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.d.mts +124 -0
  512. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.d.mts.map +1 -0
  513. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.d.ts +124 -0
  514. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.d.ts.map +1 -0
  515. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.js +67 -0
  516. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.js.map +1 -0
  517. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.mjs +63 -0
  518. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/users.mjs.map +1 -0
  519. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.d.mts +5 -0
  520. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.d.mts.map +1 -0
  521. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.d.ts +5 -0
  522. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.d.ts.map +1 -0
  523. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.js +13 -0
  524. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.js.map +1 -0
  525. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.mjs +6 -0
  526. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/index.mjs.map +1 -0
  527. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.d.mts +135 -0
  528. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.d.mts.map +1 -0
  529. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.d.ts +135 -0
  530. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.d.ts.map +1 -0
  531. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.js +102 -0
  532. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.js.map +1 -0
  533. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.mjs +98 -0
  534. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/members.mjs.map +1 -0
  535. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.d.mts +83 -0
  536. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.d.mts.map +1 -0
  537. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.d.ts +83 -0
  538. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.d.ts.map +1 -0
  539. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.js +34 -0
  540. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.js.map +1 -0
  541. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.mjs +30 -0
  542. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/rate-limits.mjs.map +1 -0
  543. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.d.mts +210 -0
  544. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.d.mts.map +1 -0
  545. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.d.ts +210 -0
  546. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.d.ts.map +1 -0
  547. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.js +189 -0
  548. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.js.map +1 -0
  549. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.mjs +185 -0
  550. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/service-accounts.mjs.map +1 -0
  551. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.d.mts +303 -0
  552. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.d.mts.map +1 -0
  553. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.d.ts +303 -0
  554. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.d.ts.map +1 -0
  555. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.js +112 -0
  556. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.js.map +1 -0
  557. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.mjs +107 -0
  558. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces/workspaces.mjs.map +1 -0
  559. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.d.mts +2 -0
  560. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.d.mts.map +1 -0
  561. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.d.ts +2 -0
  562. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.d.ts.map +1 -0
  563. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.js +6 -0
  564. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.js.map +1 -0
  565. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.mjs +3 -0
  566. package/node_modules/@anthropic-ai/sdk/resources/beta/organization/workspaces.mjs.map +1 -0
  567. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.d.mts +2 -0
  568. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.d.mts.map +1 -0
  569. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.d.ts +2 -0
  570. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.d.ts.map +1 -0
  571. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.js +6 -0
  572. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.js.map +1 -0
  573. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.mjs +3 -0
  574. package/node_modules/@anthropic-ai/sdk/resources/beta/organization.mjs.map +1 -0
  575. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.d.mts +1 -1
  576. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.d.ts +1 -1
  577. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.d.mts +10 -10
  578. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.d.ts +10 -10
  579. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.d.mts +2 -1
  580. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.d.mts.map +1 -1
  581. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.d.ts +2 -1
  582. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.d.ts.map +1 -1
  583. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.js.map +1 -1
  584. package/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.mjs.map +1 -1
  585. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.mts +2 -2
  586. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.mts.map +1 -1
  587. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.ts +2 -2
  588. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.ts.map +1 -1
  589. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.js.map +1 -1
  590. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.mjs.map +1 -1
  591. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.mts +48 -120
  592. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.mts.map +1 -1
  593. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.ts +48 -120
  594. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.ts.map +1 -1
  595. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.js +12 -8
  596. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.js.map +1 -1
  597. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.mjs +12 -8
  598. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.mjs.map +1 -1
  599. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.mts +35 -138
  600. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.mts.map +1 -1
  601. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.ts +35 -138
  602. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.ts.map +1 -1
  603. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.js +18 -18
  604. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.js.map +1 -1
  605. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.mjs +18 -18
  606. package/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.mjs.map +1 -1
  607. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.mts +21 -25
  608. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.mts.map +1 -1
  609. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.ts +21 -25
  610. package/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.ts.map +1 -1
  611. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.d.mts +16 -17
  612. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.d.mts.map +1 -1
  613. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.d.ts +16 -17
  614. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.d.ts.map +1 -1
  615. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.js +21 -8
  616. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.js.map +1 -1
  617. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.mjs +21 -8
  618. package/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.mjs.map +1 -1
  619. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts +1 -3
  620. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts.map +1 -1
  621. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts +1 -3
  622. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts.map +1 -1
  623. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.js.map +1 -1
  624. package/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs.map +1 -1
  625. package/node_modules/@anthropic-ai/sdk/src/core/credentials.ts +5 -7
  626. package/node_modules/@anthropic-ai/sdk/src/core/middleware.ts +4 -3
  627. package/node_modules/@anthropic-ai/sdk/src/helpers/beta/standard-schema.ts +99 -0
  628. package/node_modules/@anthropic-ai/sdk/src/internal/detect-platform.ts +1 -1
  629. package/node_modules/@anthropic-ai/sdk/src/internal/errors.ts +3 -1
  630. package/node_modules/@anthropic-ai/sdk/src/internal/file-store.ts +11 -10
  631. package/node_modules/@anthropic-ai/sdk/src/internal/node.browser.ts +22 -0
  632. package/node_modules/@anthropic-ai/sdk/src/internal/node.ts +14 -0
  633. package/node_modules/@anthropic-ai/sdk/src/internal/parse.ts +1 -1
  634. package/node_modules/@anthropic-ai/sdk/src/internal/uploads.ts +10 -7
  635. package/node_modules/@anthropic-ai/sdk/src/internal/utils/values.ts +7 -0
  636. package/node_modules/@anthropic-ai/sdk/src/lib/BetaMessageStream.ts +5 -3
  637. package/node_modules/@anthropic-ai/sdk/src/lib/MessageStream.ts +1 -3
  638. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/credential-chain.ts +1 -1
  639. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/identity-token.ts +1 -1
  640. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/types.ts +2 -3
  641. package/node_modules/@anthropic-ai/sdk/src/lib/credentials/user-oauth.ts +1 -1
  642. package/node_modules/@anthropic-ai/sdk/src/lib/middleware.ts +33 -9
  643. package/node_modules/@anthropic-ai/sdk/src/lib/sessions/accumulate.ts +7 -49
  644. package/node_modules/@anthropic-ai/sdk/src/lib/standard-schema.ts +209 -0
  645. package/node_modules/@anthropic-ai/sdk/src/lib/tools/BetaToolRunner.ts +38 -6
  646. package/node_modules/@anthropic-ai/sdk/src/resources/beta/agents/agents.ts +1 -0
  647. package/node_modules/@anthropic-ai/sdk/src/resources/beta/beta.ts +45 -15
  648. package/node_modules/@anthropic-ai/sdk/src/resources/beta/deployment-runs.ts +6 -6
  649. package/node_modules/@anthropic-ai/sdk/src/resources/beta/deployments.ts +3 -2
  650. package/node_modules/@anthropic-ai/sdk/src/resources/beta/dreams.ts +42 -0
  651. package/node_modules/@anthropic-ai/sdk/src/resources/beta/environments/environments.ts +8 -1
  652. package/node_modules/@anthropic-ai/sdk/src/resources/beta/files.ts +34 -11
  653. package/node_modules/@anthropic-ai/sdk/src/resources/beta/index.ts +13 -7
  654. package/node_modules/@anthropic-ai/sdk/src/resources/beta/memory-stores/memories.ts +12 -9
  655. package/node_modules/@anthropic-ai/sdk/src/resources/beta/memory-stores/memory-versions.ts +8 -5
  656. package/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/index.ts +5 -1
  657. package/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/messages.ts +221 -38
  658. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/api-keys.ts +231 -0
  659. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/compliance-settings.ts +96 -0
  660. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/external-keys.ts +365 -0
  661. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/federation.ts +71 -0
  662. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/index.ts +31 -0
  663. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/issuers.ts +486 -0
  664. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/rules/index.ts +23 -0
  665. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/rules/rules.ts +624 -0
  666. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/rules/workspaces.ts +196 -0
  667. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation/rules.ts +3 -0
  668. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/federation.ts +3 -0
  669. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/index.ts +92 -0
  670. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/invites.ts +207 -0
  671. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/organization.ts +269 -0
  672. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/rate-limits.ts +104 -0
  673. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/service-accounts/index.ts +21 -0
  674. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/service-accounts/service-accounts.ts +389 -0
  675. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/service-accounts/workspaces.ts +217 -0
  676. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/service-accounts.ts +3 -0
  677. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/users.ts +163 -0
  678. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/workspaces/index.ts +43 -0
  679. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/workspaces/members.ts +209 -0
  680. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/workspaces/rate-limits.ts +113 -0
  681. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/workspaces/service-accounts.ts +325 -0
  682. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/workspaces/workspaces.ts +450 -0
  683. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization/workspaces.ts +3 -0
  684. package/node_modules/@anthropic-ai/sdk/src/resources/beta/organization.ts +3 -0
  685. package/node_modules/@anthropic-ai/sdk/src/resources/beta/sessions/events.ts +1 -1
  686. package/node_modules/@anthropic-ai/sdk/src/resources/beta/sessions/sessions.ts +10 -10
  687. package/node_modules/@anthropic-ai/sdk/src/resources/beta/sessions/threads/threads.ts +2 -1
  688. package/node_modules/@anthropic-ai/sdk/src/resources/beta/skills/index.ts +7 -10
  689. package/node_modules/@anthropic-ai/sdk/src/resources/beta/skills/skills.ts +60 -150
  690. package/node_modules/@anthropic-ai/sdk/src/resources/beta/skills/versions.ts +43 -166
  691. package/node_modules/@anthropic-ai/sdk/src/resources/beta/user-profiles.ts +24 -27
  692. package/node_modules/@anthropic-ai/sdk/src/resources/beta/webhooks.ts +25 -29
  693. package/node_modules/@anthropic-ai/sdk/src/resources/messages/messages.ts +2 -8
  694. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/fs-util.ts +6 -5
  695. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/memories.ts +5 -3
  696. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/node.browser.ts +1 -5
  697. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/node.ts +122 -17
  698. package/node_modules/@anthropic-ai/sdk/src/tools/agent-toolset/skills.ts +10 -43
  699. package/node_modules/@anthropic-ai/sdk/src/version.ts +1 -1
  700. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.d.mts.map +1 -1
  701. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.d.ts.map +1 -1
  702. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.js +13 -15
  703. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.js.map +1 -1
  704. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.mjs +3 -4
  705. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/fs-util.mjs.map +1 -1
  706. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.d.mts.map +1 -1
  707. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.d.ts.map +1 -1
  708. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.js +6 -4
  709. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.js.map +1 -1
  710. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.mjs +5 -3
  711. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/memories.mjs.map +1 -1
  712. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.d.mts +1 -2
  713. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.d.mts.map +1 -1
  714. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.d.ts +1 -2
  715. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.d.ts.map +1 -1
  716. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.js +0 -4
  717. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.js.map +1 -1
  718. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.mjs +0 -3
  719. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.browser.mjs.map +1 -1
  720. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.d.mts +11 -9
  721. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.d.mts.map +1 -1
  722. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.d.ts +11 -9
  723. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.d.ts.map +1 -1
  724. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.js +96 -8
  725. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.js.map +1 -1
  726. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.mjs +96 -7
  727. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.mjs.map +1 -1
  728. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.d.mts +0 -8
  729. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.d.mts.map +1 -1
  730. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.d.ts +0 -8
  731. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.d.ts.map +1 -1
  732. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.js +20 -46
  733. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.js.map +1 -1
  734. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.mjs +9 -33
  735. package/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.mjs.map +1 -1
  736. package/node_modules/@anthropic-ai/sdk/version.d.mts +1 -1
  737. package/node_modules/@anthropic-ai/sdk/version.d.ts +1 -1
  738. package/node_modules/@anthropic-ai/sdk/version.js +1 -1
  739. package/node_modules/@anthropic-ai/sdk/version.mjs +1 -1
  740. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +31 -0
  741. package/node_modules/@code-yeongyu/senpi-codemode/README.md +2 -0
  742. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  743. package/node_modules/@code-yeongyu/senpi-codemode/src/config/settings.ts +29 -0
  744. package/node_modules/@code-yeongyu/senpi-codemode/src/index.ts +3 -1
  745. package/node_modules/@code-yeongyu/senpi-codemode/src/prompt/eval-prompt.ts +24 -90
  746. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-execution.ts +7 -0
  747. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool-options.ts +6 -0
  748. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool.ts +14 -2
  749. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/types.ts +10 -5
  750. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  751. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +58 -64
  752. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  753. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  754. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +16 -6
  755. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  756. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts +1 -1
  757. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts.map +1 -1
  758. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js +6 -1
  759. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js.map +1 -1
  760. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.js +1 -1
  761. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.js.map +1 -1
  762. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts +2 -0
  763. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts.map +1 -1
  764. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js +40 -10
  765. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js.map +1 -1
  766. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +6 -2
  767. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  768. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  769. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  770. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts +1 -1
  771. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  772. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +130 -15
  773. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  774. package/node_modules/@earendil-works/pi-ai/dist/api/context-room.d.ts +20 -0
  775. package/node_modules/@earendil-works/pi-ai/dist/api/context-room.d.ts.map +1 -0
  776. package/node_modules/@earendil-works/pi-ai/dist/api/context-room.js +40 -0
  777. package/node_modules/@earendil-works/pi-ai/dist/api/context-room.js.map +1 -0
  778. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +1 -1
  779. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js.map +1 -1
  780. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  781. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +16 -1
  782. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  783. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
  784. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +2 -1
  785. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  786. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.d.ts +2 -0
  787. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.d.ts.map +1 -1
  788. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js +6 -0
  789. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js.map +1 -1
  790. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts +1 -3
  791. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts.map +1 -1
  792. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js +2 -16
  793. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js.map +1 -1
  794. package/node_modules/@earendil-works/pi-ai/dist/api/warm-prompt-cache.js +1 -1
  795. package/node_modules/@earendil-works/pi-ai/dist/api/warm-prompt-cache.js.map +1 -1
  796. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +1 -0
  797. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  798. package/node_modules/@earendil-works/pi-ai/dist/index.js +1 -0
  799. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  800. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  801. package/node_modules/@earendil-works/pi-ai/dist/models.js +3 -2
  802. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  803. package/node_modules/@earendil-works/pi-ai/dist/openai-responses-compat.d.ts +2 -0
  804. package/node_modules/@earendil-works/pi-ai/dist/openai-responses-compat.d.ts.map +1 -1
  805. package/node_modules/@earendil-works/pi-ai/dist/openai-responses-compat.js.map +1 -1
  806. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  807. package/node_modules/@earendil-works/pi-ai/dist/providers/data/anthropic.json +1 -1
  808. package/node_modules/@earendil-works/pi-ai/dist/providers/data/azure-openai-responses.json +1 -1
  809. package/node_modules/@earendil-works/pi-ai/dist/providers/data/baseten.json +1 -1
  810. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  811. package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
  812. package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
  813. package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
  814. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai-codex.json +1 -1
  815. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai.json +1 -1
  816. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
  817. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  818. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.d.ts +1 -1
  819. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.d.ts.map +1 -1
  820. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.js +8 -1
  821. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.js.map +1 -1
  822. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +14 -1
  823. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  824. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  825. package/node_modules/@earendil-works/pi-ai/dist/utils/drop-failed-assistant-turns.d.ts +23 -0
  826. package/node_modules/@earendil-works/pi-ai/dist/utils/drop-failed-assistant-turns.d.ts.map +1 -0
  827. package/node_modules/@earendil-works/pi-ai/dist/utils/drop-failed-assistant-turns.js +58 -0
  828. package/node_modules/@earendil-works/pi-ai/dist/utils/drop-failed-assistant-turns.js.map +1 -0
  829. package/node_modules/@earendil-works/pi-ai/dist/utils/node-http-proxy.d.ts.map +1 -1
  830. package/node_modules/@earendil-works/pi-ai/dist/utils/node-http-proxy.js +53 -12
  831. package/node_modules/@earendil-works/pi-ai/dist/utils/node-http-proxy.js.map +1 -1
  832. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  833. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +2 -0
  834. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
  835. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.d.ts +4 -2
  836. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.d.ts.map +1 -1
  837. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.js +3 -0
  838. package/node_modules/@earendil-works/pi-ai/dist/utils/prompt-cache-ttl.js.map +1 -1
  839. package/node_modules/@earendil-works/pi-ai/package.json +3 -3
  840. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  841. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  842. package/node_modules/@earendil-works/pi-tui/README.md +1 -1
  843. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts +1 -0
  844. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
  845. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js +36 -3
  846. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
  847. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +1 -1
  848. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  849. package/node_modules/@earendil-works/pi-tui/dist/index.js +1 -1
  850. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  851. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +2 -0
  852. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
  853. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +106 -6
  854. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  855. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +6 -0
  856. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  857. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +17 -4
  858. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  859. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts +11 -0
  860. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts.map +1 -1
  861. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js +57 -15
  862. package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js.map +1 -1
  863. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  864. package/node_modules/@earendil-works/pi-tui/dist/tui.js +22 -7
  865. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  866. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  867. package/package.json +8 -8
@@ -64,91 +64,48 @@ export function evalEmphasisStyle(modelId: string | undefined): EvalEmphasisStyl
64
64
 
65
65
  type ContextValue = string | boolean;
66
66
  type Context = Readonly<Record<string, ContextValue>>;
67
- type EvalPromptExample = {
68
- readonly caption: string;
69
- readonly language: keyof EnabledLanguages;
70
- readonly summary: string;
71
- readonly code: string;
72
- };
73
-
74
- // senpi ToolDefinition has no examples field, so description embeds the examples.
75
- // ADAPTATION: payloads diverge from omp's json-config chain to teach batch read,
76
- // comprehension filtering, and parallel tool.<name> fan-out while keeping the
77
- // three-cell reuse narrative.
78
- const REUSE_CHAIN_EXAMPLES = [
79
- {
80
- caption: "First call — set up once",
81
- language: "js",
82
- summary: "Count all TypeScript source files under src/ excluding tests",
83
- code: "import { readdir } from 'node:fs/promises'\nimport { extname } from 'node:path'\nconst files = (await readdir('src', { recursive: true })).filter(f => extname(f) === '.ts' && !f.includes('test'))\nprint(files.length)",
84
- },
85
- {
86
- caption: "Second call — reuse `files`, fan out session tools in parallel",
87
- language: "js",
88
- summary: "Grep legacyClient per directory in one cell",
89
- code: "const dirs = [...new Set(files.map(f => f.split('/')[0]))]\nconst hits = await Promise.all(dirs.map(d => tool.grep({ pattern: 'legacyClient', path: d })))\ndisplay(hits.map(h => h.matches?.length ?? 0))",
90
- },
91
- {
92
- caption: "JS kernel is busy with a detached cell — continue in py",
93
- language: "py",
94
- summary: "Aggregate legacyClient hits while JS is busy",
95
- code: "from pathlib import Path\nprint(sum('legacyClient' in read(p) for p in Path('src').rglob('*.ts')))",
96
- },
97
- ] as const satisfies readonly EvalPromptExample[];
98
-
99
67
  const EVAL_PROMPT_TEMPLATE = `Run one step of code in a persistent kernel.
100
68
 
101
69
  <instruction>
102
- **One eval call = one cell = one logical step.** State persists per language across separate eval calls and tool calls{{#if spawns}}, and \`task\` subagents{{/if}} define helpers, datasets, and clients in one call, then later calls reuse them directly.
103
-
104
- Work incrementally: imports in one call, define in the next, test, then use — each its own eval call. Re-run setup ONLY after \`reset\`, a kernel crash, or a \`NameError\`/\`ReferenceError\` proving the state is gone.
70
+ **One eval call = one cell = one logical step.** Top-level names persist per language across eval calls{{#if spawns}}, tool calls and \`task\` subagents{{else}} and tool calls{{/if}}: define helpers and clients once and reuse them instead of re-importing or re-reading. Rebuild state only after \`reset\`, a kernel restart, or a \`NameError\`/\`ReferenceError\`, and check a sentinel variable first so a re-run cannot duplicate side effects.
105
71
 
106
72
  {{#if styleClaude}}<eval_first_batching>
107
73
  \`eval\` is your default execution surface: if a step needs more than one tool call, write ONE cell that performs the whole step — never issue the calls one at a time.
108
74
  - Enumerate every lookup the step needs, then run all independent ones simultaneously with \`parallel(thunks)\` inside the cell; keep calls sequential only when one result feeds the next.
109
75
  - Write real code around the calls: loop or comprehend over file sets with \`read()\`/stdlib, branch per case, and wrap risky calls in try/except so one failure degrades only its item — recover or retry inside the cell, keep the batch alive.
110
76
  - Post-process \`tool.<name>()\` results programmatically — filter, join, aggregate — and return distilled facts, not raw dumps.
111
- {{#if monitor}}- Start long-running work (build, test run, deploy, or watch) through \`tool.monitor({ command, filter })\`, putting the decisive-line filter inside the same cell, then keep working until its event wakes the turn; sleeping, timed retries, and repeated status reads are not waiting.{{/if}}
77
+ {{#if monitor}}- Start long-running work (build, test run, deploy, or watch) through \`tool.monitor({ command, filter })\`, putting the decisive-line filter inside the same cell, then keep working until its event wakes the turn.{{/if}}
112
78
  </eval_first_batching>{{/if}}{{#if styleGpt}}<gpt_eval_dialect>
113
79
  GPT eval: compose multi-tool work inside one cell with \`tool.<name>(args)\` and \`parallel(thunks)\`; do not split a planned step into serial tool calls.
114
- - Long pure-compute cells detach on timeout and notify on completion. Do not poll or re-run them; use \`eval({ action: "peek"|"stop", cell_id })\` only to inspect or stop a detached cell.
80
+ - Long cells detach on timeout and notify on completion; do not poll or re-run them.
115
81
  - Filter, join, and aggregate tool results in the cell; return only decision-relevant facts.
116
- {{#if monitor}}- For long-running build, test run, deploy, or watch work, start \`tool.monitor({ command, filter })\` with the decisive-line filter in the same cell; keep working while its event wakes the turn; sleeping, timed retries, and repeated status reads are not waiting.{{/if}}
82
+ {{#if monitor}}- For long-running build, test run, deploy, or watch work, start \`tool.monitor({ command, filter })\` with the decisive-line filter in the same cell; keep working until its event wakes the turn.{{/if}}
117
83
  </gpt_eval_dialect>{{/if}}{{#if styleCodex}}Route multi-call steps through eval: one cell per step, independent lookups dispatched together via \`parallel(thunks)\`; keep work sequential only when one result determines the next action.
118
84
  - Loop or comprehend over file sets with \`read()\`/stdlib instead of reading files one call at a time; post-process \`tool.<name>()\` results programmatically — filter, join, aggregate.
119
85
  - Wrap failable calls in try/except inside the cell; a failed item degrades only itself. After two distinct failed strategies for the same fact, fall back to direct tool calls.
120
86
  - Reduce large results in-kernel to the facts the task needs before returning.
121
- {{#if monitor}}- Long-running build/test/deploy/watch work: start \`tool.monitor({ command, filter })\` with the decisive-line filter inside the same cell, then continue working; its event wakes the turn — sleeping, timed retries, and repeated status reads are not waiting.{{/if}}{{/if}}{{#if styleKimi}}**EVAL IS YOUR SUPERPOWER — MAKE IT YOUR DEFAULT WAY TO ACT.** Before any step, think: "how do I execute this WHOLE step in ONE parallelized cell?" — then write that ONE cell.
87
+ {{#if monitor}}- Long-running build/test/deploy/watch work: start \`tool.monitor({ command, filter })\` with the decisive-line filter inside the same cell, then continue working until its event wakes the turn.{{/if}}{{/if}}{{#if styleKimi}}**EVAL IS YOUR SUPERPOWER — MAKE IT YOUR DEFAULT WAY TO ACT.** Before any step, think: "how do I execute this WHOLE step in ONE parallelized cell?" — then write that ONE cell.
122
88
  - **BATCH EVERYTHING AT ONCE:** enumerate EVERY independent lookup the step needs and dispatch them ALL simultaneously with \`parallel(thunks)\` in that cell; keep calls sequential only when one result feeds the next.
123
89
  - **WRITE REAL CODE, NOT CALL CHAINS:** loop or comprehend over file sets with \`read()\`/stdlib, post-process \`tool.<name>()\` results programmatically, and put try/except around each risky call so the rest of the batch completes.
124
90
  - **DISTILL IN-KERNEL:** filter, join, and aggregate \`tool.<name>()\` results in code, then return ONLY the distilled facts.
125
- {{#if monitor}}- **DO start long-running build, test run, deploy, or watch work with \`tool.monitor({ command, filter })\`, put the decisive-line filter INSIDE THE SAME CELL, and KEEP WORKING until its event wakes the turn; sleeping, timed retries, and repeated status reads are not waiting.**{{/if}}{{/if}}{{#if styleDefault}}**EVAL IS YOUR PRIMARY EXECUTION SURFACE.** Any step that needs MORE THAN ONE tool call MUST be written as ONE cell — NEVER as a chain of single tool calls.
91
+ {{#if monitor}}- **DO start long-running build, test run, deploy, or watch work with \`tool.monitor({ command, filter })\`, put the decisive-line filter INSIDE THE SAME CELL, and KEEP WORKING until its event wakes the turn.**{{/if}}{{/if}}{{#if styleDefault}}**EVAL IS YOUR PRIMARY EXECUTION SURFACE.** Any step that needs MORE THAN ONE tool call MUST be written as ONE cell — NEVER as a chain of single tool calls.
126
92
  - **PLAN THE WHOLE STEP, THEN BATCH IT.** Enumerate every read/search/lookup the step needs and dispatch ALL independent ones through \`parallel(thunks)\` in one cell.
127
93
  - **WRITE REAL CODE, NOT CALL LISTS.** Loop or comprehend over file sets with \`read()\`/stdlib, branch \`if\`/\`else\` per case, post-process \`tool.<name>()\` results programmatically, and wrap EVERY risky call in try/except so ONE failure NEVER kills the batch.
128
94
  - **DISTILL IN-KERNEL.** Filter, join, diff, and aggregate in code before returning; return facts, NOT dumps.
129
- {{#if monitor}}- **LONG-RUNNING build, test run, deploy, or watch work MUST start with \`tool.monitor({ command, filter })\`, with the decisive-line filter INSIDE THE SAME CELL; KEEP WORKING until its event wakes the turn — SLEEPING, TIMED RETRIES, AND REPEATED STATUS READS ARE NOT WAITING.**{{/if}}{{/if}}
95
+ {{#if monitor}}- **LONG-RUNNING build, test run, deploy, or watch work MUST start with \`tool.monitor({ command, filter })\`, with the decisive-line filter INSIDE THE SAME CELL; KEEP WORKING until its event wakes the turn.**{{/if}}{{/if}}
130
96
  {{#if hostLine}}
131
97
  Host: {{hostLine}} — cells execute here. Size \`parallel(thunks)\` pools to its cores; \`tool.<name>()\` shell commands must fit this platform, even when the code you are writing targets another machine.
132
98
  {{/if}}
133
99
 
134
- Fields:
135
-
136
- - \`language\` — {{#if py}}\`"py"\` IPython kernel{{/if}}{{#ifAll py js}}, {{/ifAll}}{{#if js}}\`"js"\` persistent JavaScript VM{{/if}}{{#if rb}}{{#ifAny py js}}, {{/ifAny}}\`"rb"\` persistent Ruby kernel{{/if}}{{#if jl}}{{#ifAny py js rb}}, {{/ifAny}}\`"jl"\` persistent Julia kernel{{/if}}.
137
- - \`code\` — cell body, verbatim. Newlines/quotes JSON-encoded; no fences, no headers.
138
- - \`summary\` (REQUIRED for run) — ONE line in the USER'S conversational language stating WHAT this cell does and FOR WHAT PURPOSE (e.g. Korean conversation -> "src 전체에서 legacyClient 사용처 집계"); shown in the TUI while the cell runs; >80 chars is force-truncated.
139
- - \`timeout\` (optional) — seconds. Raise only for heavy compute or long{{#if spawns}} non-agent{{/if}} tool calls.
140
- - \`on_timeout\` (optional) — \`"detach"\` keeps pure computation running in interactive sessions (the default); \`"error"\` interrupts for deadline-sensitive work and is the print/json default.
141
- - Every cell is killed at a wall-clock hard limit (default 1800s) that survives detach and is never paused by tool calls; a larger explicit \`timeout\` raises it, and a killed cell notifies you that it hit the limit.
142
- - \`reset\` (optional) — wipe this language's kernel first.{{#ifAll py js}} Per-language: a \`py\` reset never touches the JS VM.{{/ifAll}}
143
- - \`action\` (optional) — defaults to \`"run"\`. A detached cell returns its id: use \`eval({ action: "peek", cell_id })\` for buffered output/state or \`eval({ action: "stop", cell_id })\` to cancel it.
100
+ \`language\`: {{#if py}}\`"py"\` IPython kernel{{/if}}{{#ifAll py js}}, {{/ifAll}}{{#if js}}\`"js"\` persistent JavaScript VM{{/if}}{{#if rb}}{{#ifAny py js}}, {{/ifAny}}\`"rb"\` persistent Ruby kernel{{/if}}{{#if jl}}{{#ifAny py js rb}}, {{/ifAny}}\`"jl"\` persistent Julia kernel{{/if}}.
144
101
 
145
- A detached cell keeps its language kernel busy while it finishes; another language can continue. Do not re-run a detached cell: the same-language busy error names its cell id and output tail. Completion arrives as one notification with the final value/error and buffered output. Stopping a cell interrupts its kernel; the stop result states whether kernel state survived or the kernel was restarted and its variables lost.
102
+ A cell that outlives the foreground window detaches: it keeps its language kernel busy (another language can continue) and completes as one notification with its value or error and buffered output. Do not re-run a detached cell; read or cancel it with \`eval({ action: "peek", cell_id })\` / \`eval({ action: "stop", cell_id })\`.
146
103
 
147
- {{#if py}}Live event loop: use top-level \`await\` directly; \`asyncio.run(…)\` raises "cannot be called from a running event loop".{{/if}}
104
+ {{#if py}}Python runs on a live event loop: use top-level \`await\`; \`asyncio.run(…)\` raises.{{/if}}
148
105
  {{#if js}}{{#if jsBun}}JS runs in-process on Bun {{jsVersion}}: top-level \`await\`/\`return\` work; \`Bun.*\` builtins available.{{#if bunSkillPath}} MUST READ the bun-1-4 skill at {{bunSkillPath}} before your first js cell — its builtins replace the npm packages you would otherwise install.{{/if}}{{else}}JS runs under Node.js worker: top-level \`await\`/\`return\` work; \`fetch\`/\`Buffer\` available.{{/if}}{{/if}}
149
106
  {{#if rb}}Ruby: synchronous; helper options are keyword args{{#if spawns}} (e.g. \`output("id", limit: 2)\`){{/if}}; the last expression auto-displays unless it is \`nil\`, an assignment, or a definition (like IRB).{{/if}}
150
107
  {{#if jl}}Julia: synchronous; helper options are standard keyword args{{#if spawns}} (e.g. \`output("id", limit=2)\`){{/if}}; the last expression auto-displays unless it is an assignment or a definition (like the Julia REPL).{{/if}}
151
- On error, fix and re-run only the failing step. State usually survives a normal error, but a timeout or stop may have restarted the kernel — its message says which. Before rebuilding state, check a sentinel (a variable you defined earlier); only re-establish what is actually gone, since blind re-runs duplicate side effects.
108
+ On error, fix and re-run only the failing step; a normal error keeps state, while a timeout or stop message says whether the kernel restarted.
152
109
  </instruction>
153
110
 
154
111
  <prelude>
@@ -163,25 +120,21 @@ read(path, offset?=1, limit?=None) → str
163
120
  write(path, content) → str
164
121
  Write file (creates parents) → resolved path. \`local://…\` persists across turns/subagents.
165
122
  env(key?=None, value?=None) → str | None | dict
166
- No args → full env dict; one → value of \`key\`; two → set \`key=value\`, return value.
123
+ No args → full env dict; one → value; two → set \`key=value\`.
167
124
  {{#if spawns}}output(*ids, format?="raw", offset?=None, limit?=None) → str | dict | list[dict]
168
- Task/agent output by id. Reads immediately: running tasks return their status; \`format\` selects full (\`"raw"\`) or trailing (\`"tail"\`) output.
125
+ Task/agent output by id. Reads immediately: running tasks return their status; \`format\` \`"raw"\` = full, \`"tail"\` = trailing.
169
126
  {{/if}}tool.<name>(args) → unknown
170
127
  Invoke any session tool; \`args\` = its parameter object.
171
128
  tool_schema(name?) → dict
172
- Parameter schema of a tool without calling it; omit \`name\` to list tool names.
173
- Use it before calling a tool you have not called before — a failed call also
174
- returns the expected parameters, so fix the args and retry in the next cell
175
- instead of abandoning eval.
129
+ Parameter schema of a tool (omit \`name\` to list tool names); a failed \`tool.<name>()\` call also returns the expected parameters.
176
130
  completion(prompt, model?="default", system?=None, schema?=None) → str | dict
177
- Oneshot, stateless (no history/tools). \`model\`: \`"smol"\` fast | \`"default"\` session | \`"slow"\` most capable. \`schema\` (JSON-Schema) → structured output, parsed object.
131
+ Oneshot, stateless. \`model\`: \`"smol"\` fast | \`"default"\` session | \`"slow"\` most capable. \`schema\` (JSON-Schema) → parsed structured output.
178
132
  {{#if spawns}}agent(prompt, agent?="{{spawnDefaultAgent}}", model?=None, label?=None, schema?=None, handle?=False) → str | dict
179
- Run a subagent → final output. \`agent\` picks another discovered agent; omit it to use \`{{spawnDefaultAgent}}\`. \`schema\` as in completion(). Background via \`local://\` files named in the prompt. \`handle\` → workflow node dict { text, output, handle: \`agent://<id>\`, id, agent } (parsed under \`data\` when \`schema\` set).
180
- {{#if js}} JS: options are ONE trailing object — agent(prompt, { agent, schema, handle }).
181
- {{/if}}{{/if}}parallel(thunks) list
182
- Thunks through a bounded pool (wide as a \`task\` batch — don't pre-shrink), input order kept; returns when all finish, a throwing thunk propagates.
133
+ Run a subagent → final output. \`agent\` picks a discovered agent. \`schema\` as in completion(). \`handle\` → workflow node { text, output, handle: \`agent://<id>\`, id, agent } (parsed under \`data\` with \`schema\`).
134
+ {{/if}}parallel(thunks) list
135
+ Thunks through a bounded pool (as wide as a \`task\` batch), input order kept; a throwing thunk propagates.
183
136
  pipeline(items, ...stages) → list
184
- Map items through one-arg stages left-to-right, barrier between stages; stage 1 gets the item, later stages the previous result.
137
+ Map items through one-arg stages with a barrier between stages; each stage receives the previous stage's result.
185
138
  log(message) → None
186
139
  Progress line above the status tree.
187
140
  phase(title) → None
@@ -190,18 +143,10 @@ phase(title) → None
190
143
  </prelude>
191
144
  {{#if spawns}}
192
145
  <workflow>
193
- Define the workflow spec IN CODE: partition the work into logically distinct steps, one node per step, then wire them as acyclic waves never hand-author the graph as a single opaque call.
194
- - **Name nodes.** Capture each \`agent(…, {{#if py}}handle=True{{/if}}{{#if js}}{ handle: true }{{/if}}{{#if jl}}handle=true{{/if}})\` result; carries \`handle\` (\`agent://<id>\`) + \`output\`.
195
- - **Wire edges by reference.** Put an upstream node's \`handle\`/\`output\` in the dependent stage's prompt — large transcript never re-inlined. Bulk: \`write("local://<name>.md", …)\`, pass the URI.
196
- - **\`pipeline(items, *stages)\` = staged waves**, barrier between stages (every item clears stage N before any enters N+1). **\`parallel(thunks)\` = one wave** of independent nodes.
197
- - **Isolate failure.** A raising node re-raises the lowest-index error, aborts its wave; wrap risky nodes in try/except so a failure degrades only its dependent subtree, independent branches finish.
198
- - **Acyclic only.** A node never waits on its own descendant.
146
+ Multi-agent work is an acyclic graph in code: one \`agent(…)\` node per step with its handle option ({{#if py}}\`handle=True\`{{/if}}{{#ifAll py js}} / {{/ifAll}}{{#if js}}\`{ handle: true }\`{{/if}}{{#if jl}}{{#ifAny py js}} / {{/ifAny}}\`handle=true\`{{/if}}), \`parallel(thunks)\` for independent nodes, \`pipeline(items, *stages)\` for staged waves. Pass an upstream node's \`handle\` or \`output\` (or a \`write("local://…")\` URI for bulk text) into dependents instead of re-inlining transcripts, and wrap risky nodes in try/except so a failure aborts only its subtree.
199
147
  </workflow>
200
148
  {{/if}}
201
-
202
- <critical>
203
- Prior top-level names (\`data\`, \`sessions\`, helpers, imports) survive into the next eval call — reuse them; NEVER re-import, re-require, or re-declare a helper. Re-read a file only if it may have changed since the last read.
204
- </critical>`;
149
+ `;
205
150
 
206
151
  export function buildEvalPrompt(
207
152
  enabled: EnabledLanguages,
@@ -230,20 +175,9 @@ export function buildEvalPrompt(
230
175
  jsVersion: options.jsRuntime?.version ?? "",
231
176
  bunSkillPath: options.bunSkillPath ?? "",
232
177
  };
233
- const examples = REUSE_CHAIN_EXAMPLES.filter((example) => enabled[example.language])
234
- .map((example) => {
235
- const call = { language: example.language, summary: example.summary, code: example.code };
236
- return `### ${example.caption}\n\`\`\`json\n${JSON.stringify(call, null, 2)}\n\`\`\``;
237
- })
238
- .join("\n\n");
239
- const description = [
240
- renderTemplate(EVAL_PROMPT_TEMPLATE, context)
241
- .replace(/\n{3,}/g, "\n\n")
242
- .trim(),
243
- examples === "" ? "" : `<examples>\n${examples}\n</examples>`,
244
- ]
245
- .filter((part) => part !== "")
246
- .join("\n\n");
178
+ const description = renderTemplate(EVAL_PROMPT_TEMPLATE, context)
179
+ .replace(/\n{3,}/g, "\n\n")
180
+ .trim();
247
181
  return {
248
182
  description,
249
183
  promptSnippet: "Run one incremental code cell in a persistent language kernel.",
@@ -17,6 +17,12 @@ export interface CellExecutionOptions {
17
17
  readonly callerSignal: AbortSignal;
18
18
  readonly cellId: string;
19
19
  readonly timeoutMs: number;
20
+ /**
21
+ * Caps how long a host-bridge pause may suspend the idle watchdog. When the cell will detach on
22
+ * timeout this is set to the foreground window so a bridge-parked cell still frees the turn at the
23
+ * window; left undefined (error mode) it keeps the idle-timeout default grace.
24
+ */
25
+ readonly maxPauseGraceMs?: number;
20
26
  readonly timeoutFactory: EvalTimeoutFactory;
21
27
  readonly onTimeout: (error: Error) => void;
22
28
  readonly onAbort: (error: Error) => void;
@@ -46,6 +52,7 @@ export class CellExecution {
46
52
  this.#watchdog = options.timeoutFactory.create({
47
53
  cellId: options.cellId,
48
54
  timeoutMs: options.timeoutMs,
55
+ ...(options.maxPauseGraceMs === undefined ? {} : { maxPauseGraceMs: options.maxPauseGraceMs }),
49
56
  onTimeout: ({ error }) => options.onTimeout(error),
50
57
  });
51
58
  this.#callerSignal.addEventListener("abort", this.#handleCallerAbort, {
@@ -21,6 +21,12 @@ export interface CreateEvalToolOptions {
21
21
  readonly enabledLanguages: EnabledEvalLanguages;
22
22
  readonly kernelManager: EvalKernelManager;
23
23
  readonly cellTimeoutSeconds: number;
24
+ /**
25
+ * Longest an interactive (detach-behavior) call blocks the agent loop before the cell detaches,
26
+ * capping the `timeout` detach budget. Defaults to {@link DEFAULT_FOREGROUND_WINDOW_SECONDS}.
27
+ * Does not affect `on_timeout: "error"` calls or the wall-clock hard limit.
28
+ */
29
+ readonly foregroundWindowSeconds?: number;
24
30
  /** Wall-clock kill deadline applied to every cell; only used when this factory creates its own manager. */
25
31
  readonly hardLimitSeconds?: number;
26
32
  readonly executeTool: ExecuteTool;
@@ -1,7 +1,7 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { join } from "node:path";
3
3
  import type { AgentToolResult, ExtensionContext, ToolDefinition } from "@code-yeongyu/senpi";
4
- import { defaultCodemodeSettings } from "../config/settings.ts";
4
+ import { DEFAULT_FOREGROUND_WINDOW_SECONDS, defaultCodemodeSettings } from "../config/settings.ts";
5
5
  import { buildEvalPrompt } from "../prompt/eval-prompt.ts";
6
6
  import { TIMEOUT_PAUSE_OP, TIMEOUT_RESUME_OP } from "../timeouts/bridge-timeout.ts";
7
7
  import { abortError, CellExecution, defaultTimeoutFactory } from "./cell-execution.ts";
@@ -101,8 +101,19 @@ async function runEvalCell(
101
101
  invocation: EvalCellInvocation,
102
102
  ): Promise<AgentToolResult<EvalToolDetails>> {
103
103
  if (invocation.signal.aborted) throw abortError(invocation.signal.reason);
104
- const timeoutMs = Math.floor((invocation.input.timeout ?? options.cellTimeoutSeconds) * 1_000);
105
104
  const timeoutBehavior = evalTimeoutBehavior(invocation.input, invocation.ctx);
105
+ const requestedTimeoutMs = Math.floor((invocation.input.timeout ?? options.cellTimeoutSeconds) * 1_000);
106
+ // The `timeout` (and its `cellTimeoutSeconds` default) is the detach budget for interactive calls.
107
+ // Cap it at the foreground window so a large `timeout` — whose real purpose is to raise the
108
+ // wall-clock hard limit (see EvalDetachedCellManager) — frees the turn at the window instead of
109
+ // blocking the agent loop for its full duration. `on_timeout: "error"` (and print/json) keep the
110
+ // unclamped deadline, since there the cell is killed rather than detached.
111
+ const foregroundWindowMs = (options.foregroundWindowSeconds ?? DEFAULT_FOREGROUND_WINDOW_SECONDS) * 1_000;
112
+ const timeoutMs =
113
+ timeoutBehavior === "detach" ? Math.min(requestedTimeoutMs, foregroundWindowMs) : requestedTimeoutMs;
114
+ // A cell that pauses its watchdog for a host bridge call would otherwise wait the full pause grace
115
+ // (~10 min) before detaching; cap the grace at the foreground window too so the detach guarantee
116
+ // holds for bridge-parked cells. Error mode keeps the default grace (its timeout is the deadline).
106
117
  const bridgeAbortController = new AbortController();
107
118
  const cellSignal = AbortSignal.any([invocation.signal, bridgeAbortController.signal]);
108
119
  const bridgeContext: ExtensionContext = { ...invocation.ctx, signal: cellSignal };
@@ -131,6 +142,7 @@ async function runEvalCell(
131
142
  callerSignal: invocation.signal,
132
143
  cellId: invocation.cellId,
133
144
  timeoutMs,
145
+ ...(timeoutBehavior === "detach" ? { maxPauseGraceMs: foregroundWindowMs } : {}),
134
146
  timeoutFactory: options.timeoutFactory ?? defaultTimeoutFactory,
135
147
  onTimeout: (error) => {
136
148
  if (timeoutBehavior === "detach" && cellManager.detach(cell)) {
@@ -13,6 +13,12 @@ export function enabledLanguageList(enabled: EnabledEvalLanguages): EvalLanguage
13
13
 
14
14
  export const EVAL_SUMMARY_MAX_LENGTH = 80;
15
15
 
16
+ const TIMEOUT_FIELD_DESCRIPTION =
17
+ "Seconds the cell may block the turn before it detaches, and the amount by which it raises the wall-clock hard limit. In interactive sessions the detach point is capped at the foreground window (default 60s), so a large value frees the turn at the window while the cell keeps running; on_timeout:'error' (and print/json) keep the full value as the uncapped deadline.";
18
+
19
+ const ON_TIMEOUT_FIELD_DESCRIPTION =
20
+ "Timeout behavior. Interactive sessions detach by default (at the foreground window); print/json sessions error by default. 'error' uses the full timeout as an uncapped deadline.";
21
+
16
22
  export interface EvalToolInput {
17
23
  readonly language: EvalLanguage;
18
24
  readonly code: string;
@@ -47,10 +53,10 @@ const fullEvalInputSchema = Type.Object({
47
53
  "REQUIRED for run. ONE line in the USER'S conversational language (Korean conversation -> Korean summary) stating WHAT this cell does and FOR WHAT PURPOSE; shown in the TUI while the cell runs. Longer values are force-truncated to 80 chars.",
48
54
  }),
49
55
  ),
50
- timeout: Type.Optional(Type.Number({ minimum: 1, description: "Timeout in seconds." })),
56
+ timeout: Type.Optional(Type.Number({ minimum: 1, description: TIMEOUT_FIELD_DESCRIPTION })),
51
57
  on_timeout: Type.Optional(
52
58
  Type.Union([Type.Literal("detach"), Type.Literal("error")], {
53
- description: "Timeout behavior. Interactive sessions detach by default; print/json sessions error by default.",
59
+ description: ON_TIMEOUT_FIELD_DESCRIPTION,
54
60
  }),
55
61
  ),
56
62
  reset: Type.Optional(Type.Boolean({ description: "Reset this language kernel before running." })),
@@ -83,11 +89,10 @@ export function createEvalInputSchema(enabled: EnabledEvalLanguages): EvalInputS
83
89
  "REQUIRED for run. ONE line in the USER'S conversational language (Korean conversation -> Korean summary) stating WHAT this cell does and FOR WHAT PURPOSE; shown in the TUI while the cell runs. Longer values are force-truncated to 80 chars.",
84
90
  }),
85
91
  ),
86
- timeout: Type.Optional(Type.Number({ minimum: 1, description: "Timeout in seconds." })),
92
+ timeout: Type.Optional(Type.Number({ minimum: 1, description: TIMEOUT_FIELD_DESCRIPTION })),
87
93
  on_timeout: Type.Optional(
88
94
  Type.Union([Type.Literal("detach"), Type.Literal("error")], {
89
- description:
90
- "Timeout behavior. Interactive sessions detach by default; print/json sessions error by default.",
95
+ description: ON_TIMEOUT_FIELD_DESCRIPTION,
91
96
  }),
92
97
  ),
93
98
  reset: Type.Optional(Type.Boolean({ description: "Reset this language kernel before running." })),
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIN,KAAK,OAAO,EAEZ,WAAW,EAIX,MAAM,uBAAuB,CAAC;AAU/B,OAAO,KAAK,EACX,YAAY,EACZ,UAAU,EACV,eAAe,EAEf,YAAY,EACZ,SAAS,EACT,aAAa,EAEb,QAAQ,EACR,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,SAAS,CACxB,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAiBzC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAwBzC;AAED,wBAAsB,YAAY,CACjC,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBzB;AAED,wBAAsB,oBAAoB,CACzC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBzB;AAmBD,qBAAa,uBAAwB,SAAQ,KAAK;gBACrC,SAAS,EAAE,MAAM;CAM7B;AAqPD,uGAAuG;AACvG,wBAAsB,oBAAoB,CACzC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,kBAAkB,CAAC,EAClE,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,OAAO,CAAC,CAgBlB;AA+lBD,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACd;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,GAAG,aAAa,CAYrG;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,GAAG,qBAAqB,CAOpG"}
1
+ {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIN,KAAK,OAAO,EAEZ,WAAW,EAIX,MAAM,uBAAuB,CAAC;AAU/B,OAAO,KAAK,EACX,YAAY,EACZ,UAAU,EACV,eAAe,EAEf,YAAY,EACZ,SAAS,EACT,aAAa,EAEb,QAAQ,EACR,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,SAAS,CACxB,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAiBzC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAwBzC;AAED,wBAAsB,YAAY,CACjC,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBzB;AAED,wBAAsB,oBAAoB,CACzC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBzB;AAmBD,qBAAa,uBAAwB,SAAQ,KAAK;gBACrC,SAAS,EAAE,MAAM;CAM7B;AA2ND,uGAAuG;AACvG,wBAAsB,oBAAoB,CACzC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,kBAAkB,CAAC,EAClE,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,OAAO,CAAC,CAIlB;AA+mBD,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACd;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,GAAG,aAAa,CAYrG;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,GAAG,qBAAqB,CAOpG"}
@@ -96,9 +96,8 @@ async function runLoop(initialContext, newMessages, initialConfig, signal, emit,
96
96
  let config = initialConfig;
97
97
  let firstTurn = true;
98
98
  let firstProviderRequest = true;
99
- // Check for steering messages at start (user may have typed while waiting)
100
- let pendingMessages = (await config.getSteeringMessages?.()) || [];
101
99
  let drainedTerminatingQueue;
100
+ let turnStartAlreadyEmitted = false;
102
101
  const refreshTerminatingQueueDrain = async () => {
103
102
  if (!drainedTerminatingQueue || !config.restorePendingMessages)
104
103
  return;
@@ -110,12 +109,17 @@ async function runLoop(initialContext, newMessages, initialConfig, signal, emit,
110
109
  drainedTerminatingQueue = pendingMessages.length > 0 ? "followUp" : undefined;
111
110
  }
112
111
  };
112
+ // Check for steering messages at start (user may have typed while waiting)
113
+ let pendingMessages = (await config.getSteeringMessages?.()) || [];
113
114
  // Outer loop: continues when queued follow-up messages arrive after agent would stop
114
115
  while (true) {
115
116
  let hasMoreToolCalls = true;
116
117
  // Inner loop: process tool calls and steering messages
117
118
  while (hasMoreToolCalls || pendingMessages.length > 0) {
118
- if (!firstTurn) {
119
+ if (turnStartAlreadyEmitted) {
120
+ turnStartAlreadyEmitted = false;
121
+ }
122
+ else if (!firstTurn) {
119
123
  await emit({ type: "turn_start" });
120
124
  }
121
125
  else {
@@ -139,10 +143,7 @@ async function runLoop(initialContext, newMessages, initialConfig, signal, emit,
139
143
  }
140
144
  pendingMessages = [];
141
145
  }
142
- // Stream assistant response. Continuation-scoped overrides apply to one
143
- // provider request only. Once that request emits its first event, the
144
- // configured idle timeout resumes so healthy reasoning gaps are not bound
145
- // by the short liveness probe.
146
+ // Stream assistant response
146
147
  const isInitialProviderRequest = firstProviderRequest;
147
148
  firstProviderRequest = false;
148
149
  const requestConfig = isInitialProviderRequest
@@ -152,16 +153,10 @@ async function runLoop(initialContext, newMessages, initialConfig, signal, emit,
152
153
  streamStartTimeoutMs: config.initialRequestStreamStartTimeoutMs ?? config.streamStartTimeoutMs,
153
154
  }
154
155
  : config;
155
- const streamIdleTimeoutMs = isInitialProviderRequest ? config.timeoutMs : requestConfig.timeoutMs;
156
- const streamed = await streamAssistantResponse(currentContext, requestConfig, signal, emit, withEmptyAssistantRecovery(requestConfig.model, streamFunction), streamIdleTimeoutMs);
156
+ const streamed = await streamAssistantResponse(currentContext, requestConfig, signal, emit, withEmptyAssistantRecovery(requestConfig.model, streamFunction), isInitialProviderRequest ? config.timeoutMs : requestConfig.timeoutMs);
157
157
  const message = promoteStopWithPendingToolCalls(streamed.message);
158
158
  const providerToolResults = streamed.providerToolResults;
159
159
  newMessages.push(message);
160
- // Provider-resolved (Cursor exec-channel) tool results pair with
161
- // already-resolved toolCall blocks in the assistant message. They are
162
- // appended right after it — including on terminal error/abort paths,
163
- // where dropping them would leave resolved calls unpaired and strip
164
- // the interaction from every rebuilt transcript.
165
160
  const toolResults = [];
166
161
  for (const result of providerToolResults) {
167
162
  await emit({ type: "message_start", message: result });
@@ -175,18 +170,14 @@ async function runLoop(initialContext, newMessages, initialConfig, signal, emit,
175
170
  await emit({ type: "agent_end", messages: newMessages });
176
171
  return;
177
172
  }
178
- // Check for tool calls. Blocks stamped `kCursorExecResolved` were
179
- // already executed by Cursor's exec channel mid-stream (their results
180
- // arrived via `providerToolResults`); running them here again would
181
- // duplicate side-effecting tools.
173
+ // Check for tool calls
182
174
  const toolCalls = message.content.filter((c) => c.type === "toolCall" && !isCursorExecResolved(c));
183
175
  hasMoreToolCalls = false;
184
176
  let toolBatchTerminated = false;
185
177
  if (toolCalls.length > 0) {
186
- // A native "length" stop means the output was cut off by the token limit,
187
- // so every tool call in the message may carry truncated arguments. Text
188
- // tool-call middleware finalizes its calls as "toolUse", leaving only
189
- // native, unwrapped length responses for this message-wide safeguard.
178
+ // A "length" stop means the output was cut off by the token limit, so
179
+ // every tool call in the message may carry truncated arguments. Fail
180
+ // them all instead of executing potentially borked calls.
190
181
  const executedToolBatch = message.stopReason === "length"
191
182
  ? await failToolCallsFromTruncatedMessage(toolCalls, emit)
192
183
  : await executeToolCalls(currentContext, message, config, signal, emit);
@@ -209,34 +200,35 @@ async function runLoop(initialContext, newMessages, initialConfig, signal, emit,
209
200
  context: currentContext,
210
201
  newMessages,
211
202
  };
203
+ if (await config.shouldStopAfterTurn?.(nextTurnContext)) {
204
+ await emit({ type: "agent_end", messages: newMessages });
205
+ return;
206
+ }
212
207
  if (toolBatchTerminated) {
213
- if (await config.shouldStopAfterTurn?.(nextTurnContext)) {
214
- await emit({ type: "agent_end", messages: newMessages });
215
- return;
216
- }
217
208
  pendingMessages = (await config.getSteeringMessages?.()) || [];
218
- if (pendingMessages.length > 0) {
209
+ if (pendingMessages.length > 0)
219
210
  drainedTerminatingQueue = "steering";
220
- }
221
211
  if (pendingMessages.length === 0) {
222
212
  pendingMessages = (await config.getFollowUpMessages?.()) || [];
223
- if (pendingMessages.length > 0) {
213
+ if (pendingMessages.length > 0)
224
214
  drainedTerminatingQueue = "followUp";
225
- }
226
215
  }
227
216
  if (pendingMessages.length === 0) {
228
217
  await emit({ type: "agent_end", messages: newMessages });
229
218
  return;
230
219
  }
220
+ // Give queue owners a boundary before preparation refreshes the drained
221
+ // snapshot, so a clear or replacement wins before admission.
222
+ await emit({ type: "turn_start" });
223
+ turnStartAlreadyEmitted = true;
231
224
  }
232
225
  let nextTurnSnapshot;
233
226
  try {
234
227
  nextTurnSnapshot = await config.prepareNextTurn?.(nextTurnContext);
235
228
  }
236
229
  catch (error) {
237
- if (drainedTerminatingQueue) {
230
+ if (drainedTerminatingQueue)
238
231
  await config.restorePendingMessages?.(drainedTerminatingQueue, pendingMessages);
239
- }
240
232
  throw error;
241
233
  }
242
234
  if (nextTurnSnapshot) {
@@ -256,9 +248,8 @@ async function runLoop(initialContext, newMessages, initialConfig, signal, emit,
256
248
  };
257
249
  }
258
250
  if (signal?.aborted) {
259
- if (drainedTerminatingQueue) {
251
+ if (drainedTerminatingQueue)
260
252
  await config.restorePendingMessages?.(drainedTerminatingQueue, pendingMessages);
261
- }
262
253
  await emit({ type: "agent_end", messages: newMessages });
263
254
  return;
264
255
  }
@@ -268,16 +259,7 @@ async function runLoop(initialContext, newMessages, initialConfig, signal, emit,
268
259
  await emit({ type: "agent_end", messages: newMessages });
269
260
  return;
270
261
  }
271
- }
272
- if (!toolBatchTerminated &&
273
- (await config.shouldStopAfterTurn?.({
274
- message,
275
- toolResults,
276
- context: currentContext,
277
- newMessages,
278
- }))) {
279
- await emit({ type: "agent_end", messages: newMessages });
280
- return;
262
+ drainedTerminatingQueue = undefined;
281
263
  }
282
264
  if (!toolBatchTerminated) {
283
265
  pendingMessages = (await config.getSteeringMessages?.()) || [];
@@ -297,19 +279,10 @@ async function runLoop(initialContext, newMessages, initialConfig, signal, emit,
297
279
  }
298
280
  /** Build the provider context using the same transform and conversion pipeline as an agent request. */
299
281
  export async function buildProviderContext(context, config, signal) {
300
- // Apply context transform if configured (AgentMessage[] → AgentMessage[])
301
282
  let messages = context.messages;
302
- if (config.transformContext) {
283
+ if (config.transformContext)
303
284
  messages = await config.transformContext(messages, signal);
304
- }
305
- // Convert to LLM-compatible messages (AgentMessage[] → Message[])
306
- const llmMessages = await config.convertToLlm(messages);
307
- // Build LLM context
308
- return {
309
- systemPrompt: context.systemPrompt,
310
- messages: llmMessages,
311
- tools: context.tools,
312
- };
285
+ return { systemPrompt: context.systemPrompt, messages: await config.convertToLlm(messages), tools: context.tools };
313
286
  }
314
287
  /**
315
288
  * Stream an assistant response from the LLM.
@@ -695,6 +668,7 @@ async function executeToolCallsSequential(currentContext, assistantMessage, tool
695
668
  }
696
669
  async function executeToolCallsParallel(currentContext, assistantMessage, toolCalls, config, signal, emit) {
697
670
  const finalizedCalls = [];
671
+ const preparedCalls = [];
698
672
  let lastSequentialCall;
699
673
  let currentParallelWave = [];
700
674
  for (const toolCall of toolCalls) {
@@ -711,24 +685,44 @@ async function executeToolCallsParallel(currentContext, assistantMessage, toolCa
711
685
  : lastSequentialCall
712
686
  ? [lastSequentialCall]
713
687
  : [];
714
- const finalizedCall = (async () => {
715
- await Promise.all(dependencies);
716
- const finalized = await runPreparedToolCall(currentContext, assistantMessage, preparation, config, signal, emit);
717
- await emitToolExecutionEnd(finalized, emit);
718
- return finalized;
719
- })();
720
- finalizedCalls.push(finalizedCall);
688
+ preparedCalls.push({ preparation, isSequential, dependencies });
721
689
  if (isSequential) {
722
- lastSequentialCall = finalizedCall;
690
+ // Dependencies are assigned in the second phase after all preflight hooks
691
+ // have completed, so a later preflight abort vetoes every execution.
692
+ lastSequentialCall = undefined;
723
693
  currentParallelWave = [];
724
694
  }
725
695
  else {
726
- currentParallelWave.push(finalizedCall);
696
+ currentParallelWave.push(Promise.resolve(undefined));
727
697
  }
728
698
  if (signal?.aborted) {
729
699
  break;
730
700
  }
731
701
  }
702
+ let previousSequential;
703
+ let previousWave = [];
704
+ for (const { preparation, isSequential } of preparedCalls) {
705
+ const dependencies = isSequential
706
+ ? [...(previousSequential ? [previousSequential] : []), ...previousWave]
707
+ : previousSequential
708
+ ? [previousSequential]
709
+ : [];
710
+ const finalizedCall = (async () => {
711
+ await Promise.all(dependencies);
712
+ const finalized = signal?.aborted
713
+ ? { toolCall: preparation.toolCall, result: createErrorToolResult("Operation aborted"), isError: true }
714
+ : await runPreparedToolCall(currentContext, assistantMessage, preparation, config, signal, emit);
715
+ await emitToolExecutionEnd(finalized, emit);
716
+ return finalized;
717
+ })();
718
+ finalizedCalls.push(finalizedCall);
719
+ if (isSequential) {
720
+ previousSequential = finalizedCall;
721
+ previousWave = [];
722
+ }
723
+ else
724
+ previousWave.push(finalizedCall);
725
+ }
732
726
  const orderedFinalizedCalls = await Promise.all(finalizedCalls);
733
727
  const messages = [];
734
728
  for (const finalized of orderedFinalizedCalls) {