@namzu/sdk 51.1.0 → 52.1.0

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 (395) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/dist/agents/QueryAgent.d.ts.map +1 -1
  3. package/dist/agents/QueryAgent.js +2 -0
  4. package/dist/agents/QueryAgent.js.map +1 -1
  5. package/dist/agents/SupervisorAgent.d.ts +1 -1
  6. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  7. package/dist/agents/SupervisorAgent.js.map +1 -1
  8. package/dist/agents/examples/SupervisorAgent.d.ts +42 -0
  9. package/dist/agents/examples/SupervisorAgent.d.ts.map +1 -1
  10. package/dist/agents/examples/SupervisorAgent.js +80 -4
  11. package/dist/agents/examples/SupervisorAgent.js.map +1 -1
  12. package/dist/agents/index.d.ts +1 -1
  13. package/dist/agents/index.d.ts.map +1 -1
  14. package/dist/agents/index.js.map +1 -1
  15. package/dist/authorization/protected-paths.d.ts +36 -0
  16. package/dist/authorization/protected-paths.d.ts.map +1 -0
  17. package/dist/authorization/protected-paths.js +107 -0
  18. package/dist/authorization/protected-paths.js.map +1 -0
  19. package/dist/authorization/readonly-commands.d.ts +39 -0
  20. package/dist/authorization/readonly-commands.d.ts.map +1 -0
  21. package/dist/authorization/readonly-commands.js +797 -0
  22. package/dist/authorization/readonly-commands.js.map +1 -0
  23. package/dist/authorization/readonly-flags.d.ts +19 -0
  24. package/dist/authorization/readonly-flags.d.ts.map +1 -0
  25. package/dist/authorization/readonly-flags.js +178 -0
  26. package/dist/authorization/readonly-flags.js.map +1 -0
  27. package/dist/authorization/removal.d.ts +52 -0
  28. package/dist/authorization/removal.d.ts.map +1 -0
  29. package/dist/authorization/removal.js +283 -0
  30. package/dist/authorization/removal.js.map +1 -0
  31. package/dist/authorization/shell-paths.d.ts +66 -0
  32. package/dist/authorization/shell-paths.d.ts.map +1 -0
  33. package/dist/authorization/shell-paths.js +697 -0
  34. package/dist/authorization/shell-paths.js.map +1 -0
  35. package/dist/bridge/acp/update.d.ts.map +1 -1
  36. package/dist/bridge/acp/update.js +1 -0
  37. package/dist/bridge/acp/update.js.map +1 -1
  38. package/dist/compaction/context-window.d.ts +24 -0
  39. package/dist/compaction/context-window.d.ts.map +1 -1
  40. package/dist/compaction/context-window.js +34 -0
  41. package/dist/compaction/context-window.js.map +1 -1
  42. package/dist/compaction/manual.d.ts.map +1 -1
  43. package/dist/compaction/manual.js +10 -2
  44. package/dist/compaction/manual.js.map +1 -1
  45. package/dist/compaction/plan.d.ts +4 -0
  46. package/dist/compaction/plan.d.ts.map +1 -1
  47. package/dist/compaction/plan.js +6 -2
  48. package/dist/compaction/plan.js.map +1 -1
  49. package/dist/compaction/verifier.d.ts +11 -1
  50. package/dist/compaction/verifier.d.ts.map +1 -1
  51. package/dist/compaction/verifier.js +75 -23
  52. package/dist/compaction/verifier.js.map +1 -1
  53. package/dist/config/runtime.d.ts +55 -7
  54. package/dist/config/runtime.d.ts.map +1 -1
  55. package/dist/config/runtime.js +23 -2
  56. package/dist/config/runtime.js.map +1 -1
  57. package/dist/connector/web/guarded-fetch.d.ts.map +1 -1
  58. package/dist/connector/web/guarded-fetch.js +24 -0
  59. package/dist/connector/web/guarded-fetch.js.map +1 -1
  60. package/dist/connector/web/index.d.ts +1 -1
  61. package/dist/connector/web/index.d.ts.map +1 -1
  62. package/dist/connector/web/page.d.ts +59 -0
  63. package/dist/connector/web/page.d.ts.map +1 -0
  64. package/dist/connector/web/page.js +112 -0
  65. package/dist/connector/web/page.js.map +1 -0
  66. package/dist/connector/web/types.d.ts +47 -0
  67. package/dist/connector/web/types.d.ts.map +1 -1
  68. package/dist/connector/web/types.js.map +1 -1
  69. package/dist/constants/continuation.d.ts +8 -0
  70. package/dist/constants/continuation.d.ts.map +1 -1
  71. package/dist/constants/continuation.js +8 -0
  72. package/dist/constants/continuation.js.map +1 -1
  73. package/dist/constants/plugin/index.d.ts +1 -1
  74. package/dist/constants/plugin/index.d.ts.map +1 -1
  75. package/dist/constants/plugin/index.js +1 -1
  76. package/dist/constants/plugin/index.js.map +1 -1
  77. package/dist/contracts/a2a.d.ts +2 -2
  78. package/dist/manager/agent/lifecycle.d.ts +7 -0
  79. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  80. package/dist/manager/agent/lifecycle.js +11 -2
  81. package/dist/manager/agent/lifecycle.js.map +1 -1
  82. package/dist/manager/session/turn-recorder.d.ts.map +1 -1
  83. package/dist/manager/session/turn-recorder.js +4 -2
  84. package/dist/manager/session/turn-recorder.js.map +1 -1
  85. package/dist/plugin/index.d.ts +1 -1
  86. package/dist/plugin/index.d.ts.map +1 -1
  87. package/dist/plugin/index.js +1 -1
  88. package/dist/plugin/index.js.map +1 -1
  89. package/dist/plugin/lifecycle.d.ts +6 -0
  90. package/dist/plugin/lifecycle.d.ts.map +1 -1
  91. package/dist/plugin/lifecycle.js +98 -114
  92. package/dist/plugin/lifecycle.js.map +1 -1
  93. package/dist/plugin/shell-hook.d.ts +90 -22
  94. package/dist/plugin/shell-hook.d.ts.map +1 -1
  95. package/dist/plugin/shell-hook.js +434 -41
  96. package/dist/plugin/shell-hook.js.map +1 -1
  97. package/dist/provider/capabilities.d.ts +9 -0
  98. package/dist/provider/capabilities.d.ts.map +1 -1
  99. package/dist/provider/capabilities.js +15 -0
  100. package/dist/provider/capabilities.js.map +1 -1
  101. package/dist/provider/errors.d.ts.map +1 -1
  102. package/dist/provider/errors.js +13 -0
  103. package/dist/provider/errors.js.map +1 -1
  104. package/dist/provider/fallback.d.ts.map +1 -1
  105. package/dist/provider/fallback.js +10 -0
  106. package/dist/provider/fallback.js.map +1 -1
  107. package/dist/provider/idle-timeout.d.ts.map +1 -1
  108. package/dist/provider/idle-timeout.js +5 -0
  109. package/dist/provider/idle-timeout.js.map +1 -1
  110. package/dist/provider/image-input-refusal.d.ts +9 -0
  111. package/dist/provider/image-input-refusal.d.ts.map +1 -0
  112. package/dist/provider/image-input-refusal.js +54 -0
  113. package/dist/provider/image-input-refusal.js.map +1 -0
  114. package/dist/provider/index.d.ts +2 -1
  115. package/dist/provider/index.d.ts.map +1 -1
  116. package/dist/provider/index.js +2 -1
  117. package/dist/provider/index.js.map +1 -1
  118. package/dist/provider/retry.d.ts +7 -2
  119. package/dist/provider/retry.d.ts.map +1 -1
  120. package/dist/provider/retry.js +38 -4
  121. package/dist/provider/retry.js.map +1 -1
  122. package/dist/public-runtime.d.ts +5 -2
  123. package/dist/public-runtime.d.ts.map +1 -1
  124. package/dist/public-runtime.js +5 -2
  125. package/dist/public-runtime.js.map +1 -1
  126. package/dist/public-types.d.ts +2 -2
  127. package/dist/public-types.d.ts.map +1 -1
  128. package/dist/runtime/jobs/registry.d.ts +21 -0
  129. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  130. package/dist/runtime/jobs/registry.js +15 -2
  131. package/dist/runtime/jobs/registry.js.map +1 -1
  132. package/dist/runtime/query/deferred-sandbox.d.ts +54 -0
  133. package/dist/runtime/query/deferred-sandbox.d.ts.map +1 -0
  134. package/dist/runtime/query/deferred-sandbox.js +75 -0
  135. package/dist/runtime/query/deferred-sandbox.js.map +1 -0
  136. package/dist/runtime/query/executor/tool-call-admission.d.ts +10 -0
  137. package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
  138. package/dist/runtime/query/executor/tool-call-admission.js +74 -13
  139. package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
  140. package/dist/runtime/query/executor.d.ts +51 -2
  141. package/dist/runtime/query/executor.d.ts.map +1 -1
  142. package/dist/runtime/query/executor.js +214 -9
  143. package/dist/runtime/query/executor.js.map +1 -1
  144. package/dist/runtime/query/finalize-turn.d.ts +6 -0
  145. package/dist/runtime/query/finalize-turn.d.ts.map +1 -1
  146. package/dist/runtime/query/finalize-turn.js +1 -1
  147. package/dist/runtime/query/finalize-turn.js.map +1 -1
  148. package/dist/runtime/query/index.d.ts +29 -0
  149. package/dist/runtime/query/index.d.ts.map +1 -1
  150. package/dist/runtime/query/index.js +108 -28
  151. package/dist/runtime/query/index.js.map +1 -1
  152. package/dist/runtime/query/iteration/index.d.ts +57 -0
  153. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  154. package/dist/runtime/query/iteration/index.js +380 -28
  155. package/dist/runtime/query/iteration/index.js.map +1 -1
  156. package/dist/runtime/query/iteration/phases/compaction-breaker.d.ts +61 -0
  157. package/dist/runtime/query/iteration/phases/compaction-breaker.d.ts.map +1 -0
  158. package/dist/runtime/query/iteration/phases/compaction-breaker.js +94 -0
  159. package/dist/runtime/query/iteration/phases/compaction-breaker.js.map +1 -0
  160. package/dist/runtime/query/iteration/phases/compaction.d.ts +42 -1
  161. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  162. package/dist/runtime/query/iteration/phases/compaction.js +203 -23
  163. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  164. package/dist/runtime/query/iteration/phases/context.d.ts +10 -0
  165. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  166. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  167. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  168. package/dist/runtime/query/iteration/phases/tool-review.js +165 -2
  169. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  170. package/dist/runtime/query/iteration/provider-rejected-image.d.ts +21 -1
  171. package/dist/runtime/query/iteration/provider-rejected-image.d.ts.map +1 -1
  172. package/dist/runtime/query/iteration/provider-rejected-image.js +53 -7
  173. package/dist/runtime/query/iteration/provider-rejected-image.js.map +1 -1
  174. package/dist/runtime/query/iteration/request-repair.d.ts +108 -0
  175. package/dist/runtime/query/iteration/request-repair.d.ts.map +1 -0
  176. package/dist/runtime/query/iteration/request-repair.js +593 -0
  177. package/dist/runtime/query/iteration/request-repair.js.map +1 -0
  178. package/dist/runtime/query/iteration/stream-turn.d.ts +6 -0
  179. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  180. package/dist/runtime/query/iteration/stream-turn.js +2 -2
  181. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  182. package/dist/runtime/query/path-escalation.d.ts +36 -0
  183. package/dist/runtime/query/path-escalation.d.ts.map +1 -0
  184. package/dist/runtime/query/path-escalation.js +184 -0
  185. package/dist/runtime/query/path-escalation.js.map +1 -0
  186. package/dist/runtime/query/plugin-hooks.d.ts.map +1 -1
  187. package/dist/runtime/query/plugin-hooks.js +8 -0
  188. package/dist/runtime/query/plugin-hooks.js.map +1 -1
  189. package/dist/runtime/query/reminders.d.ts +35 -0
  190. package/dist/runtime/query/reminders.d.ts.map +1 -0
  191. package/dist/runtime/query/reminders.js +7 -0
  192. package/dist/runtime/query/reminders.js.map +1 -0
  193. package/dist/runtime/query/request-rich-content.d.ts +5 -1
  194. package/dist/runtime/query/request-rich-content.d.ts.map +1 -1
  195. package/dist/runtime/query/request-rich-content.js +67 -25
  196. package/dist/runtime/query/request-rich-content.js.map +1 -1
  197. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  198. package/dist/runtime/query/resume-pending.js +26 -0
  199. package/dist/runtime/query/resume-pending.js.map +1 -1
  200. package/dist/runtime/query/review-policy.d.ts +26 -0
  201. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  202. package/dist/runtime/query/review-policy.js +79 -5
  203. package/dist/runtime/query/review-policy.js.map +1 -1
  204. package/dist/runtime/query/tool-output-budget.d.ts +46 -0
  205. package/dist/runtime/query/tool-output-budget.d.ts.map +1 -1
  206. package/dist/runtime/query/tool-output-budget.js +85 -1
  207. package/dist/runtime/query/tool-output-budget.js.map +1 -1
  208. package/dist/runtime/query/tooling.d.ts +1 -0
  209. package/dist/runtime/query/tooling.d.ts.map +1 -1
  210. package/dist/runtime/query/tooling.js +5 -0
  211. package/dist/runtime/query/tooling.js.map +1 -1
  212. package/dist/session/paths.d.ts +5 -1
  213. package/dist/session/paths.d.ts.map +1 -1
  214. package/dist/session/paths.js +8 -0
  215. package/dist/session/paths.js.map +1 -1
  216. package/dist/store/memory/disk.d.ts.map +1 -1
  217. package/dist/store/memory/disk.js +2 -2
  218. package/dist/store/memory/disk.js.map +1 -1
  219. package/dist/store/memory/markdown.d.ts.map +1 -1
  220. package/dist/store/memory/markdown.js +2 -2
  221. package/dist/store/memory/markdown.js.map +1 -1
  222. package/dist/store/memory/naming.d.ts +9 -0
  223. package/dist/store/memory/naming.d.ts.map +1 -1
  224. package/dist/store/memory/naming.js +12 -0
  225. package/dist/store/memory/naming.js.map +1 -1
  226. package/dist/tools/builtins/bash.d.ts +30 -1
  227. package/dist/tools/builtins/bash.d.ts.map +1 -1
  228. package/dist/tools/builtins/bash.js +170 -26
  229. package/dist/tools/builtins/bash.js.map +1 -1
  230. package/dist/tools/builtins/computer-use.d.ts +1 -1
  231. package/dist/tools/builtins/computer-use.d.ts.map +1 -1
  232. package/dist/tools/builtins/computer-use.js +12 -5
  233. package/dist/tools/builtins/computer-use.js.map +1 -1
  234. package/dist/tools/builtins/content-fingerprint.d.ts +2 -0
  235. package/dist/tools/builtins/content-fingerprint.d.ts.map +1 -1
  236. package/dist/tools/builtins/content-fingerprint.js +4 -0
  237. package/dist/tools/builtins/content-fingerprint.js.map +1 -1
  238. package/dist/tools/builtins/edit.d.ts.map +1 -1
  239. package/dist/tools/builtins/edit.js +60 -18
  240. package/dist/tools/builtins/edit.js.map +1 -1
  241. package/dist/tools/builtins/grep.d.ts +8 -1
  242. package/dist/tools/builtins/grep.d.ts.map +1 -1
  243. package/dist/tools/builtins/grep.js +152 -33
  244. package/dist/tools/builtins/grep.js.map +1 -1
  245. package/dist/tools/builtins/read-file.d.ts +1 -0
  246. package/dist/tools/builtins/read-file.d.ts.map +1 -1
  247. package/dist/tools/builtins/read-file.js +44 -5
  248. package/dist/tools/builtins/read-file.js.map +1 -1
  249. package/dist/tools/builtins/read-render.d.ts +52 -0
  250. package/dist/tools/builtins/read-render.d.ts.map +1 -1
  251. package/dist/tools/builtins/read-render.js +143 -0
  252. package/dist/tools/builtins/read-render.js.map +1 -1
  253. package/dist/tools/builtins/web.d.ts +13 -2
  254. package/dist/tools/builtins/web.d.ts.map +1 -1
  255. package/dist/tools/builtins/web.js +225 -32
  256. package/dist/tools/builtins/web.js.map +1 -1
  257. package/dist/tools/coordinator/ask-user-question.d.ts +2 -0
  258. package/dist/tools/coordinator/ask-user-question.d.ts.map +1 -1
  259. package/dist/tools/coordinator/ask-user-question.js +256 -92
  260. package/dist/tools/coordinator/ask-user-question.js.map +1 -1
  261. package/dist/tools/coordinator/question-options.d.ts +1 -0
  262. package/dist/tools/coordinator/question-options.d.ts.map +1 -1
  263. package/dist/tools/coordinator/question-options.js +6 -1
  264. package/dist/tools/coordinator/question-options.js.map +1 -1
  265. package/dist/tools/defineTool.d.ts +4 -1
  266. package/dist/tools/defineTool.d.ts.map +1 -1
  267. package/dist/tools/defineTool.js +6 -1
  268. package/dist/tools/defineTool.js.map +1 -1
  269. package/dist/tools/paths.d.ts +6 -0
  270. package/dist/tools/paths.d.ts.map +1 -1
  271. package/dist/tools/paths.js +1 -1
  272. package/dist/tools/paths.js.map +1 -1
  273. package/dist/types/agent/query.d.ts +3 -0
  274. package/dist/types/agent/query.d.ts.map +1 -1
  275. package/dist/types/errors/catalog.js +1 -1
  276. package/dist/types/errors/catalog.js.map +1 -1
  277. package/dist/types/hitl/index.d.ts +104 -0
  278. package/dist/types/hitl/index.d.ts.map +1 -1
  279. package/dist/types/hitl/index.js.map +1 -1
  280. package/dist/types/message/index.d.ts +1 -1
  281. package/dist/types/message/index.d.ts.map +1 -1
  282. package/dist/types/message/index.js +2 -0
  283. package/dist/types/message/index.js.map +1 -1
  284. package/dist/types/plugin/index.d.ts +93 -19
  285. package/dist/types/plugin/index.d.ts.map +1 -1
  286. package/dist/types/plugin/index.js +3 -0
  287. package/dist/types/plugin/index.js.map +1 -1
  288. package/dist/types/provider/errors.d.ts +19 -0
  289. package/dist/types/provider/errors.d.ts.map +1 -1
  290. package/dist/types/provider/errors.js +54 -5
  291. package/dist/types/provider/errors.js.map +1 -1
  292. package/dist/types/provider/interface.d.ts +12 -0
  293. package/dist/types/provider/interface.d.ts.map +1 -1
  294. package/dist/types/provider/stream.d.ts +1 -1
  295. package/dist/types/session/config.d.ts +14 -0
  296. package/dist/types/session/config.d.ts.map +1 -1
  297. package/dist/types/session/events.d.ts +27 -4
  298. package/dist/types/session/events.d.ts.map +1 -1
  299. package/dist/types/session/events.js.map +1 -1
  300. package/dist/types/session/records.d.ts +9 -9
  301. package/dist/types/session/records.d.ts.map +1 -1
  302. package/dist/types/session/records.js +1 -0
  303. package/dist/types/session/records.js.map +1 -1
  304. package/dist/types/session/stop-reason.d.ts +5 -0
  305. package/dist/types/session/stop-reason.d.ts.map +1 -1
  306. package/dist/types/tool/index.d.ts +52 -0
  307. package/dist/types/tool/index.d.ts.map +1 -1
  308. package/dist/types/tool/index.js.map +1 -1
  309. package/package.json +4 -2
  310. package/src/agents/QueryAgent.ts +5 -1
  311. package/src/agents/SupervisorAgent.ts +1 -1
  312. package/src/agents/examples/SupervisorAgent.ts +217 -106
  313. package/src/agents/index.ts +1 -1
  314. package/src/authorization/protected-paths.ts +110 -0
  315. package/src/authorization/readonly-commands.ts +771 -0
  316. package/src/authorization/readonly-flags.ts +196 -0
  317. package/src/authorization/removal.ts +326 -0
  318. package/src/authorization/shell-paths.ts +927 -0
  319. package/src/bridge/acp/update.ts +1 -0
  320. package/src/compaction/context-window.ts +41 -0
  321. package/src/compaction/manual.ts +10 -2
  322. package/src/compaction/plan.ts +11 -2
  323. package/src/compaction/verifier.ts +84 -22
  324. package/src/config/runtime.ts +23 -2
  325. package/src/connector/web/guarded-fetch.ts +26 -0
  326. package/src/connector/web/index.ts +3 -0
  327. package/src/connector/web/page.ts +130 -0
  328. package/src/connector/web/types.ts +47 -0
  329. package/src/constants/continuation.ts +10 -0
  330. package/src/constants/plugin/index.ts +1 -1
  331. package/src/manager/agent/lifecycle.ts +12 -4
  332. package/src/manager/session/turn-recorder.ts +10 -2
  333. package/src/plugin/index.ts +1 -0
  334. package/src/plugin/lifecycle.ts +107 -119
  335. package/src/plugin/shell-hook.ts +477 -43
  336. package/src/provider/capabilities.ts +17 -0
  337. package/src/provider/errors.ts +13 -0
  338. package/src/provider/fallback.ts +10 -0
  339. package/src/provider/idle-timeout.ts +5 -0
  340. package/src/provider/image-input-refusal.ts +54 -0
  341. package/src/provider/index.ts +2 -0
  342. package/src/provider/retry.ts +42 -4
  343. package/src/public-runtime.ts +11 -0
  344. package/src/public-types.ts +4 -0
  345. package/src/runtime/jobs/registry.ts +39 -2
  346. package/src/runtime/query/deferred-sandbox.ts +110 -0
  347. package/src/runtime/query/executor/tool-call-admission.ts +79 -13
  348. package/src/runtime/query/executor.ts +267 -11
  349. package/src/runtime/query/finalize-turn.ts +7 -1
  350. package/src/runtime/query/index.ts +169 -52
  351. package/src/runtime/query/iteration/index.ts +439 -35
  352. package/src/runtime/query/iteration/phases/compaction-breaker.ts +108 -0
  353. package/src/runtime/query/iteration/phases/compaction.ts +241 -38
  354. package/src/runtime/query/iteration/phases/context.ts +11 -0
  355. package/src/runtime/query/iteration/phases/tool-review.ts +177 -2
  356. package/src/runtime/query/iteration/provider-rejected-image.ts +71 -5
  357. package/src/runtime/query/iteration/request-repair.ts +743 -0
  358. package/src/runtime/query/iteration/stream-turn.ts +11 -1
  359. package/src/runtime/query/path-escalation.ts +204 -0
  360. package/src/runtime/query/plugin-hooks.ts +8 -0
  361. package/src/runtime/query/reminders.ts +45 -0
  362. package/src/runtime/query/request-rich-content.ts +77 -27
  363. package/src/runtime/query/resume-pending.ts +27 -0
  364. package/src/runtime/query/review-policy.ts +106 -5
  365. package/src/runtime/query/tool-output-budget.ts +115 -1
  366. package/src/runtime/query/tooling.ts +6 -0
  367. package/src/session/paths.ts +11 -1
  368. package/src/store/memory/disk.ts +2 -1
  369. package/src/store/memory/markdown.ts +2 -1
  370. package/src/store/memory/naming.ts +13 -0
  371. package/src/tools/builtins/bash.ts +203 -34
  372. package/src/tools/builtins/computer-use.ts +13 -4
  373. package/src/tools/builtins/content-fingerprint.ts +5 -0
  374. package/src/tools/builtins/edit.ts +69 -19
  375. package/src/tools/builtins/grep.ts +159 -38
  376. package/src/tools/builtins/read-file.ts +48 -5
  377. package/src/tools/builtins/read-render.ts +193 -0
  378. package/src/tools/builtins/web.ts +258 -33
  379. package/src/tools/coordinator/ask-user-question.ts +309 -103
  380. package/src/tools/coordinator/question-options.ts +8 -1
  381. package/src/tools/defineTool.ts +11 -2
  382. package/src/tools/paths.ts +1 -1
  383. package/src/types/agent/query.ts +3 -0
  384. package/src/types/errors/catalog.ts +1 -1
  385. package/src/types/hitl/index.ts +104 -0
  386. package/src/types/message/index.ts +2 -0
  387. package/src/types/plugin/index.ts +101 -18
  388. package/src/types/provider/errors.ts +66 -5
  389. package/src/types/provider/interface.ts +13 -0
  390. package/src/types/provider/stream.ts +1 -1
  391. package/src/types/session/config.ts +14 -0
  392. package/src/types/session/events.ts +32 -4
  393. package/src/types/session/records.ts +1 -0
  394. package/src/types/session/stop-reason.ts +5 -0
  395. package/src/types/tool/index.ts +53 -2
@@ -2,6 +2,7 @@ import { isTrustedReadOnly } from '../../../../tools/trusted-read-only.js';
2
2
  import { DECLINED_TOOL_CALL_FEEDBACK } from '../../declined.js';
3
3
  import { awaitProjectInstructionCallback, replaceProjectInstructionSnapshot, } from '../../project-instructions.js';
4
4
  import { attachRepeatNotice } from '../../repeat-call.js';
5
+ import { isReviewExempt } from '../../review-policy.js';
5
6
  import { attachNotice, attachSteering, formatJobNote } from '../../steering.js';
6
7
  import { awaitDecisionDurably } from './context.js';
7
8
  /** Why an escalated call cannot be waved through by the rule that would otherwise allow it. */
@@ -11,10 +12,21 @@ function escalationReason(escalation) {
11
12
  }
12
13
  if (escalation?.sandboxEscape)
13
14
  return "this call asks to run outside the turn's sandbox";
15
+ if (escalation?.dangerousRemoval !== undefined) {
16
+ return `this call removes something catastrophic (${escalation.dangerousRemoval})`;
17
+ }
18
+ if (escalation?.protectedPaths?.length) {
19
+ return `this call writes a protected ${escalation.protectedPaths.length === 1 ? 'path' : 'paths'} (${escalation.protectedPaths.join(', ')})`;
20
+ }
14
21
  if (escalation?.outsidePaths?.length)
15
22
  return `this call reaches ${escalation.outsidePaths.length === 1 ? 'a path' : 'paths'} outside the turn's boundary`;
16
23
  return "this call reaches past the turn's boundary, which a rule cannot approve on its own";
17
24
  }
25
+ function hookAskedReason(reason) {
26
+ return reason
27
+ ? `a hook asked that a person approve this call: ${reason}`
28
+ : 'a hook asked that a person approve this call';
29
+ }
18
30
  /**
19
31
  * Run every tool call in `response` through the gate and (when the gate is
20
32
  * inconclusive) a human, then hand the whole batch — approved and refused
@@ -82,14 +94,25 @@ export async function* runToolReview(ctx, response, iterationNum) {
82
94
  const isDestructive = tool?.isDestructive ? tool.isDestructive(tc.input) : false;
83
95
  const requiresApproval = tool?.requiresApproval ? tool.requiresApproval(tc.input) : false;
84
96
  const escalation = 'escalation' in tc ? tc.escalation : undefined;
97
+ const hookPermission = 'hookPermission' in tc ? tc.hookPermission : undefined;
85
98
  return {
86
99
  id: tc.id,
87
100
  name: tc.name,
88
101
  input: tc.input,
89
102
  isDestructive,
90
- authorization: { decision: 'review' },
103
+ // A hook that asked for a person is an explicit review: a call the
104
+ // tool declares read-only, or one a rule would allow, is still put
105
+ // to one.
106
+ authorization: hookPermission?.decision === 'ask'
107
+ ? {
108
+ decision: 'review',
109
+ reason: hookAskedReason(hookPermission.reason),
110
+ explicitReview: true,
111
+ }
112
+ : { decision: 'review' },
91
113
  ...(requiresApproval ? { requiresApproval: true } : {}),
92
114
  ...(escalation ? { escalation } : {}),
115
+ ...(hookPermission ? { hookPermission } : {}),
93
116
  };
94
117
  });
95
118
  };
@@ -278,6 +301,24 @@ export async function* runToolReview(ctx, response, iterationNum) {
278
301
  reason,
279
302
  });
280
303
  }
304
+ for (const path of tc.escalation?.protectedPaths ?? []) {
305
+ await ctx.recorder.recordAudit({
306
+ what: { action: 'protected_path_write', tool: tc.name, resource: path },
307
+ outcome: 'refused',
308
+ reason,
309
+ });
310
+ }
311
+ if (tc.escalation?.dangerousRemoval !== undefined) {
312
+ await ctx.recorder.recordAudit({
313
+ what: {
314
+ action: 'dangerous_removal',
315
+ tool: tc.name,
316
+ resource: tc.escalation.dangerousRemoval,
317
+ },
318
+ outcome: 'refused',
319
+ reason,
320
+ });
321
+ }
281
322
  };
282
323
  // Gate-denied ids survive the whole function: a later human approval
283
324
  // must not be able to release them.
@@ -339,11 +380,21 @@ export async function* runToolReview(ctx, response, iterationNum) {
339
380
  reason: `${gr.gateResult.reason}; but the tool itself declares this call always needs a person's approval, which a rule cannot waive`,
340
381
  };
341
382
  }
383
+ // A hook that asked for a person can only ADD a review, like the two
384
+ // overrides above: a `deny` stays a denial.
385
+ const hookAsked = gr.toolCall.hookPermission?.decision === 'ask';
386
+ if (hookAsked && gr.gateResult.decision === 'allow') {
387
+ gr.gateResult = {
388
+ decision: 'review',
389
+ matchedRule: gr.gateResult.matchedRule,
390
+ reason: `${gr.gateResult.reason}; but ${hookAskedReason(gr.toolCall.hookPermission?.reason)}`,
391
+ };
392
+ }
342
393
  const { toolCall, gateResult } = gr;
343
394
  toolCall.authorization = {
344
395
  decision: gateResult.decision,
345
396
  ...(gateResult.reason ? { reason: gateResult.reason } : {}),
346
- ...(gateResult.decision === 'review' && gateResult.matchedRule
397
+ ...(gateResult.decision === 'review' && (gateResult.matchedRule || hookAsked)
347
398
  ? { explicitReview: true }
348
399
  : {}),
349
400
  };
@@ -416,6 +467,26 @@ export async function* runToolReview(ctx, response, iterationNum) {
416
467
  tc.skillGrant = { skill };
417
468
  }
418
469
  }
470
+ // A `pre_tool_use` hook's `allow`, marked on the calls it covers on the
471
+ // same terms as a skill's grant above and honoured by the review policy,
472
+ // never decided here. A deny, an explicit review (a rule's, or a hook's own
473
+ // `ask`), a destructive call, a path outside the roots, a sandbox escape and
474
+ // a tool's own `requiresApproval` all leave the call unmarked, so it is
475
+ // reviewed as though no hook had spoken.
476
+ /** Whether a hook's `allow` may stand in for a person on this call. */
477
+ const hookMayAllow = (tc) => !gateDenied.has(tc.id) &&
478
+ tc.authorization?.decision !== 'deny' &&
479
+ !tc.authorization?.explicitReview &&
480
+ !tc.isDestructive &&
481
+ tc.escalation === undefined &&
482
+ !tc.requiresApproval;
483
+ for (const tc of toolCallSummaries) {
484
+ if (tc.hookPermission?.decision !== 'allow' || !hookMayAllow(tc))
485
+ continue;
486
+ tc.hookGrant = {
487
+ ...(tc.hookPermission.reason ? { reason: tc.hookPermission.reason } : {}),
488
+ };
489
+ }
419
490
  // Already approved, at a scope the approver chose — and nothing the
420
491
  // operator's policy denied, because `gateDenied` is checked first.
421
492
  // Re-asking about a call somebody has already said yes to is how an
@@ -440,6 +511,67 @@ export async function* runToolReview(ctx, response, iterationNum) {
440
511
  yield* ctx.drainPending();
441
512
  return finish('executed');
442
513
  }
514
+ // A person is about to be asked. `permission_request` hooks may answer
515
+ // first, per call: `skip` refuses it (and always wins), `allow` approves it
516
+ // on the same terms as a `pre_tool_use` allow. A read the review policy
517
+ // would not have asked about is not a question and is not offered.
518
+ if (ctx.pluginManager) {
519
+ const questions = toolCallSummaries.filter((tc) => !gateDenied.has(tc.id) &&
520
+ tc.authorization?.decision !== 'deny' &&
521
+ tc.authorization?.decision !== 'allow' &&
522
+ (tc.authorization?.explicitReview === true ||
523
+ tc.escalation !== undefined ||
524
+ tc.requiresApproval === true ||
525
+ tc.isDestructive ||
526
+ !isReviewExempt(ctx.tools, tc.name, tc.input)));
527
+ for (const tc of questions) {
528
+ const answers = await ctx.pluginManager.executeHooks('permission_request', {
529
+ sessionId: ctx.recorder.sessionId,
530
+ turnId: ctx.recorder.turnId,
531
+ toolName: tc.name,
532
+ toolInput: tc.input,
533
+ signal: ctx.abortController.signal,
534
+ }, ctx.emitEvent);
535
+ // The hooks answered side by side: a refusal from any of them stands,
536
+ // whatever the others allowed.
537
+ const refusal = answers.find((answer) => answer.action === 'skip');
538
+ for (const answer of answers) {
539
+ if ((answer.action === 'continue' || answer.action === 'skip') && answer.halt) {
540
+ ctx.toolExecutor.requestHalt?.(answer.halt.reason);
541
+ }
542
+ }
543
+ if (refusal?.action === 'skip') {
544
+ const reason = `Blocked by a permission_request hook: ${refusal.reason}`;
545
+ gateDenied.set(tc.id, reason);
546
+ tc.authorization = { decision: 'deny', reason };
547
+ await ctx.recorder.recordAudit({
548
+ what: { action: 'tool_call', tool: tc.name },
549
+ outcome: 'refused',
550
+ reason,
551
+ });
552
+ continue;
553
+ }
554
+ for (const answer of answers) {
555
+ if (answer.action === 'continue' &&
556
+ answer.permission?.decision === 'allow' &&
557
+ hookMayAllow(tc)) {
558
+ tc.hookGrant = {
559
+ ...(answer.permission.reason ? { reason: answer.permission.reason } : {}),
560
+ };
561
+ }
562
+ }
563
+ }
564
+ if (toolCallSummaries.every((tc) => gateDenied.has(tc.id))) {
565
+ for (const tc of escalated()) {
566
+ const reason = gateDenied.get(tc.id);
567
+ if (reason !== undefined)
568
+ await recordRefusedEscalation(tc, reason);
569
+ }
570
+ yield* settle(gateDenied);
571
+ yield* ctx.drainPending();
572
+ return finish('rejected');
573
+ }
574
+ }
443
575
  const reviewCheckpoint = await ctx.checkpointMgr.create(ctx.recorder, iterationNum);
444
576
  await ctx.emitEvent({
445
577
  type: 'tool_review_requested',
@@ -515,6 +647,24 @@ export async function* runToolReview(ctx, response, iterationNum) {
515
647
  reason: "the turn's review approved this call",
516
648
  });
517
649
  }
650
+ for (const path of tc.escalation?.protectedPaths ?? []) {
651
+ await ctx.recorder.recordAudit({
652
+ what: { action: 'protected_path_write', tool: tc.name, resource: path },
653
+ outcome: 'approved',
654
+ reason: "the turn's review approved this call",
655
+ });
656
+ }
657
+ if (tc.escalation?.dangerousRemoval !== undefined) {
658
+ await ctx.recorder.recordAudit({
659
+ what: {
660
+ action: 'dangerous_removal',
661
+ tool: tc.name,
662
+ resource: tc.escalation.dangerousRemoval,
663
+ },
664
+ outcome: 'approved',
665
+ reason: "the turn's review approved this call",
666
+ });
667
+ }
518
668
  }
519
669
  };
520
670
  switch (reviewDecision.action) {
@@ -661,6 +811,19 @@ export async function* runToolReview(ctx, response, iterationNum) {
661
811
  });
662
812
  }
663
813
  }
814
+ // The same for a call a hook's `allow` approved.
815
+ if (reviewDecision.action === 'approve_tools' && reviewDecision.hookGranted) {
816
+ const listed = new Set(reviewDecision.hookGranted);
817
+ for (const tc of toolCallSummaries) {
818
+ if (!listed.has(tc.id) || !tc.hookGrant || gateDenied.has(tc.id))
819
+ continue;
820
+ await ctx.recorder.recordAudit({
821
+ what: { action: 'tool_call', tool: tc.name },
822
+ outcome: 'approved',
823
+ reason: `pre-approved by a pre_tool_use hook${tc.hookGrant.reason ? ` (${tc.hookGrant.reason})` : ''}; nobody was asked`,
824
+ });
825
+ }
826
+ }
664
827
  await ctx.emitEvent({
665
828
  type: 'tool_review_completed',
666
829
  turnId: ctx.recorder.turnId,
@@ -1 +1 @@
1
- {"version":3,"file":"tool-review.js","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/tool-review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-review.js","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/tool-review.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,27 @@
1
1
  import type { Message } from '../../../types/message/index.js';
2
2
  import type { ChatCompletionParams, LLMProvider, StreamChunk } from '../../../types/provider/index.js';
3
3
  import { type RequestImageIdentity } from '../request-rich-content.js';
4
+ import type { RequestRepair } from './request-repair.js';
4
5
  export declare function isProviderRejectedImageError(error: unknown): boolean;
6
+ /** The provider and model that refused a request for holding an image. */
7
+ export interface TextOnlyModelRefusal {
8
+ readonly providerId: string;
9
+ readonly model: string | undefined;
10
+ }
11
+ /** See {@link streamWithProviderRejectedImageRecovery}. */
12
+ export interface TextOnlyModelRecovery {
13
+ /**
14
+ * Who is serving the request. A fallback chain reports its head's id and
15
+ * moves between members, so without this the refusal would be filed against
16
+ * a model that never saw the request. Read when the refusal arrives.
17
+ */
18
+ readonly servedBy?: () => {
19
+ readonly providerId: string;
20
+ readonly model?: string;
21
+ };
22
+ /** The retry without images was accepted: `refused` cannot read images. */
23
+ readonly onAccepted: (refused: TextOnlyModelRefusal) => void | Promise<void>;
24
+ }
5
25
  /**
6
26
  * Retry one provider-invalid request without its only distinct image.
7
27
  *
@@ -10,5 +30,5 @@ export declare function isProviderRejectedImageError(error: unknown): boolean;
10
30
  * accepted chunk or reached a clean EOF. A legacy phrase can still recover the
11
31
  * current request, but cannot assert durable server proof.
12
32
  */
13
- export declare function streamWithProviderRejectedImageRecovery(provider: LLMProvider, params: ChatCompletionParams, onAccepted: (identity: RequestImageIdentity) => Promise<void>, onRequest?: (messages: readonly Message[]) => void): AsyncIterable<StreamChunk>;
33
+ export declare function streamWithProviderRejectedImageRecovery(provider: LLMProvider, params: ChatCompletionParams, onAccepted: (identity: RequestImageIdentity) => Promise<void>, onRequest?: (messages: readonly Message[]) => void, textOnly?: TextOnlyModelRecovery, repair?: RequestRepair): AsyncIterable<StreamChunk>;
14
34
  //# sourceMappingURL=provider-rejected-image.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-rejected-image.d.ts","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/provider-rejected-image.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,KAAK,EACX,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACN,KAAK,oBAAoB,EAGzB,MAAM,4BAA4B,CAAA;AAkBnC,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpE;AAuBD;;;;;;;GAOG;AACH,wBAAuB,uCAAuC,CAC7D,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,EAC7D,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,KAAK,IAAI,GAChD,aAAa,CAAC,WAAW,CAAC,CA2C5B"}
1
+ {"version":3,"file":"provider-rejected-image.d.ts","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/provider-rejected-image.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,KAAK,EACX,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACN,KAAK,oBAAoB,EAKzB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAkBxD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpE;AAuBD,0EAA0E;AAC1E,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC;AAED,2DAA2D;AAC3D,MAAM,WAAW,qBAAqB;IACrC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAClF,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5E;AAED;;;;;;;GAOG;AACH,wBAAuB,uCAAuC,CAC7D,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,EAC7D,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,KAAK,IAAI,EAClD,QAAQ,CAAC,EAAE,qBAAqB,EAChC,MAAM,CAAC,EAAE,aAAa,GACpB,aAAa,CAAC,WAAW,CAAC,CAqF5B"}
@@ -1,5 +1,6 @@
1
1
  import { isProviderRequestError } from '../../../provider/errors.js';
2
- import { findSingleRequestImage, projectRequestWithoutImage, } from '../request-rich-content.js';
2
+ import { isImageInputRefusal } from '../../../provider/image-input-refusal.js';
3
+ import { findSingleRequestImage, projectRequestRichContent, projectRequestWithoutImage, requestHasImages, } from '../request-rich-content.js';
3
4
  const IMAGE_REJECTION_PATTERNS = [
4
5
  /\binvalid[_ -]?image\b/i,
5
6
  /\bimage\b.{0,100}\b(?:cannot|could not|failed to)\s+(?:be\s+)?(?:decoded|processed|loaded|parsed|read)\b/i,
@@ -43,17 +44,23 @@ function throwIfAborted(signal) {
43
44
  * accepted chunk or reached a clean EOF. A legacy phrase can still recover the
44
45
  * current request, but cannot assert durable server proof.
45
46
  */
46
- export async function* streamWithProviderRejectedImageRecovery(provider, params, onAccepted, onRequest) {
47
+ export async function* streamWithProviderRejectedImageRecovery(provider, params, onAccepted, onRequest, textOnly, repair) {
48
+ // Every send, including the retries below, goes through the request repair.
49
+ // They share one repair budget: the original request and its retries are
50
+ // one request to the person, and each resend is a paid call.
51
+ const session = repair?.session();
52
+ const send = (request) => repair ? repair.stream(provider, request, session) : provider.chatStream(request);
47
53
  const candidate = findSingleRequestImage(params.messages);
48
54
  onRequest?.(params.messages);
49
- if (candidate === null) {
50
- yield* provider.chatStream(params);
55
+ if (candidate === null && !requestHasImages(params.messages)) {
56
+ yield* send(params);
51
57
  return;
52
58
  }
53
59
  let produced = false;
54
60
  let confidence = null;
61
+ let refused = null;
55
62
  try {
56
- for await (const chunk of provider.chatStream(params)) {
63
+ for await (const chunk of send(params)) {
57
64
  if (isAcceptedChunk(chunk))
58
65
  produced = true;
59
66
  yield chunk;
@@ -62,11 +69,50 @@ export async function* streamWithProviderRejectedImageRecovery(provider, params,
62
69
  }
63
70
  catch (error) {
64
71
  throwIfAborted(params.signal);
72
+ if (produced)
73
+ throw error;
74
+ // A fault in one image (the server's own `invalid_image`, or wording that
75
+ // says an image could not be decoded) is about that image, not about the
76
+ // model, and it wins: the model reads images, so it keeps the others.
65
77
  confidence = classifyProviderRejectedImageError(error);
66
- if (produced || confidence === null)
78
+ if (confidence === null && isImageInputRefusal(error)) {
79
+ // A model that reads text only refuses the request however many images
80
+ // it holds, so every image goes. Named now, while the member that
81
+ // refused is still the one serving.
82
+ const served = textOnly?.servedBy?.();
83
+ refused = {
84
+ providerId: served?.providerId ?? provider.id,
85
+ model: served?.model ?? params.model,
86
+ };
87
+ }
88
+ else if (confidence === null || candidate === null) {
67
89
  throw error;
90
+ }
68
91
  }
69
92
  throwIfAborted(params.signal);
93
+ if (refused !== null) {
94
+ // One retry, without any image. The stored conversation is untouched, so
95
+ // a model that does read images gets them again.
96
+ const messages = projectRequestRichContent(params.messages, 0, { imagesReadable: false });
97
+ onRequest?.(messages);
98
+ let accepted = false;
99
+ let reportedError = false;
100
+ for await (const chunk of send({ ...params, messages })) {
101
+ if (chunk.error !== undefined)
102
+ reportedError = true;
103
+ if (!accepted && isAcceptedChunk(chunk)) {
104
+ throwIfAborted(params.signal);
105
+ await textOnly?.onAccepted(refused);
106
+ accepted = true;
107
+ }
108
+ yield chunk;
109
+ }
110
+ if (!accepted && !reportedError)
111
+ await textOnly?.onAccepted(refused);
112
+ return;
113
+ }
114
+ if (candidate === null)
115
+ return;
70
116
  const retryParams = {
71
117
  ...params,
72
118
  messages: projectRequestWithoutImage(params.messages, candidate),
@@ -74,7 +120,7 @@ export async function* streamWithProviderRejectedImageRecovery(provider, params,
74
120
  let accepted = false;
75
121
  let retryReportedError = false;
76
122
  onRequest?.(retryParams.messages);
77
- for await (const chunk of provider.chatStream(retryParams)) {
123
+ for await (const chunk of send(retryParams)) {
78
124
  if (chunk.error !== undefined)
79
125
  retryReportedError = true;
80
126
  if (!accepted && isAcceptedChunk(chunk)) {
@@ -1 +1 @@
1
- {"version":3,"file":"provider-rejected-image.js","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/provider-rejected-image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-rejected-image.js","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/provider-rejected-image.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import type { ChatCompletionParams, LLMProvider, StreamChunk } from '../../../types/provider/index.js';
2
+ /**
3
+ * Repair-and-retry for a request a provider rejects as invalid (a 400 that is
4
+ * not a context overflow), so a conversation does not dead-end on it.
5
+ *
6
+ * Mirrors the reference terminal's table of silent 400 recoveries: pair tool
7
+ * calls with results before a send, strip rejected reasoning, drop a
8
+ * parameter the model refuses, and take rejected media out of the OUTGOING
9
+ * request. Stored history is never edited.
10
+ *
11
+ * **Nothing is remembered on a guess.** Every repair is a guess about what the
12
+ * provider objected to. What it teaches (a parameter to leave out, reasoning to
13
+ * strip, media to omit, a media limit) is kept for the run only once a resend
14
+ * WITHOUT the offending part was accepted. A guess that did not fix the
15
+ * request is forgotten and the original rejection is thrown, so a wrong guess
16
+ * never changes a later request.
17
+ *
18
+ * It decorates one model call of the agent loop (a turn, or the closing
19
+ * summary), so a rejection is only acted on when nothing has been accepted yet:
20
+ * resending then cannot duplicate output. Other callers of a provider, such as
21
+ * compaction summaries, do not pass through it.
22
+ */
23
+ export type RejectedParameter = 'effort' | 'thinking' | 'temperature' | 'topP' | 'responseFormat';
24
+ export interface MediaRemoval {
25
+ readonly count: number;
26
+ readonly kind: 'image' | 'document' | 'media';
27
+ /** Some of it was attached to the person's latest message. */
28
+ readonly current: boolean;
29
+ /** It was dropped to fit a count the provider accepts, not because a file was faulty. */
30
+ readonly limit: boolean;
31
+ }
32
+ export interface RequestRepairHooks {
33
+ /** Debug-level record of a silent repair. Never shown to the person. */
34
+ readonly debug?: (message: string) => void;
35
+ /** Media was taken out of a request that then went through. Called once per removal. */
36
+ readonly onMediaRemoved?: (removal: MediaRemoval) => void | Promise<void>;
37
+ /**
38
+ * The member that serves the next request. A fallback chain moves between
39
+ * members, and what a member refused is a fact about that member, not about
40
+ * the head of the chain.
41
+ */
42
+ readonly servedBy?: () => {
43
+ readonly providerId: string;
44
+ readonly model?: string;
45
+ } | undefined;
46
+ }
47
+ type Rejection = {
48
+ readonly kind: 'tool-pairing';
49
+ } | {
50
+ readonly kind: 'reasoning';
51
+ } | {
52
+ readonly kind: 'parameter';
53
+ readonly parameters: readonly RejectedParameter[];
54
+ } | {
55
+ readonly kind: 'media';
56
+ readonly generic: boolean;
57
+ readonly messageIndex?: number;
58
+ readonly contentIndex?: number;
59
+ };
60
+ /** Most repair resends for one original request, across every send it makes. */
61
+ export declare const MAX_REPAIRS_PER_REQUEST = 5;
62
+ /**
63
+ * What kind of invalid request this is, from the provider's structured code
64
+ * where it sent one and from its wording only as a fallback.
65
+ */
66
+ export declare function classifyRequestRejection(error: unknown, params: ChatCompletionParams): Rejection | null;
67
+ interface Learned {
68
+ readonly latched: Map<string, Set<RejectedParameter>>;
69
+ readonly reasoningOff: Set<string>;
70
+ readonly rejectedMedia: Set<string>;
71
+ mediaLimit: number | undefined;
72
+ }
73
+ /** The budget and the unconfirmed guesses of one original request, shared by every send it makes. */
74
+ export interface RepairSession {
75
+ readonly spent: Set<string>;
76
+ readonly stripsByIndex: Map<number, number>;
77
+ pending: Learned;
78
+ repairs: number;
79
+ removal: MediaRemoval | undefined;
80
+ }
81
+ export declare class RequestRepair {
82
+ private readonly hooks;
83
+ private readonly learned;
84
+ constructor(hooks?: RequestRepairHooks);
85
+ /** A fresh budget for one original request. */
86
+ session(): RepairSession;
87
+ private served;
88
+ private routeKey;
89
+ /** Everything already confirmed, then the tool pairing the provider requires. */
90
+ private prepare;
91
+ private applyMediaMemory;
92
+ /** The shared tool-history repair, on the outgoing copy. Duplicate call ids fail closed there, so the request goes out as it is. */
93
+ private pair;
94
+ /** What a resend that was accepted has proved. */
95
+ private commit;
96
+ /** The request to send after `rejection`, or null when nothing more can be tried. */
97
+ private next;
98
+ private nextWithoutMedia;
99
+ /**
100
+ * Send `params`, repairing and resending a request the provider rejects as
101
+ * invalid until it is accepted or nothing more can be changed. The original
102
+ * rejection is thrown when nothing applies, and what the guesses taught is
103
+ * forgotten unless a resend was accepted.
104
+ */
105
+ stream(provider: LLMProvider, params: ChatCompletionParams, session?: RepairSession): AsyncIterable<StreamChunk>;
106
+ }
107
+ export {};
108
+ //# sourceMappingURL=request-repair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-repair.d.ts","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/request-repair.ts"],"names":[],"mappings":"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"}