@namzu/sdk 59.0.0 → 60.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 (370) hide show
  1. package/CHANGELOG.md +120 -0
  2. package/dist/agents/QueryAgent.d.ts.map +1 -1
  3. package/dist/agents/QueryAgent.js +1 -0
  4. package/dist/agents/QueryAgent.js.map +1 -1
  5. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  6. package/dist/bridge/a2a/mapper.js +16 -0
  7. package/dist/bridge/a2a/mapper.js.map +1 -1
  8. package/dist/bridge/acp/update.d.ts.map +1 -1
  9. package/dist/bridge/acp/update.js +1 -0
  10. package/dist/bridge/acp/update.js.map +1 -1
  11. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  12. package/dist/bridge/sse/mapper.js +12 -0
  13. package/dist/bridge/sse/mapper.js.map +1 -1
  14. package/dist/compaction/context-window.d.ts +53 -0
  15. package/dist/compaction/context-window.d.ts.map +1 -1
  16. package/dist/compaction/context-window.js +141 -2
  17. package/dist/compaction/context-window.js.map +1 -1
  18. package/dist/constants/continuation.d.ts +9 -0
  19. package/dist/constants/continuation.d.ts.map +1 -1
  20. package/dist/constants/continuation.js +9 -0
  21. package/dist/constants/continuation.js.map +1 -1
  22. package/dist/contracts/session/api.d.ts +7 -1
  23. package/dist/contracts/session/api.d.ts.map +1 -1
  24. package/dist/execution/workflow/index.d.ts +3 -1
  25. package/dist/execution/workflow/index.d.ts.map +1 -1
  26. package/dist/execution/workflow/index.js +2 -1
  27. package/dist/execution/workflow/index.js.map +1 -1
  28. package/dist/execution/workflow/journal.d.ts +24 -4
  29. package/dist/execution/workflow/journal.d.ts.map +1 -1
  30. package/dist/execution/workflow/journal.js +131 -9
  31. package/dist/execution/workflow/journal.js.map +1 -1
  32. package/dist/execution/workflow/prelude.d.ts +2 -0
  33. package/dist/execution/workflow/prelude.d.ts.map +1 -1
  34. package/dist/execution/workflow/prelude.js +49 -8
  35. package/dist/execution/workflow/prelude.js.map +1 -1
  36. package/dist/execution/workflow/resume.d.ts +59 -0
  37. package/dist/execution/workflow/resume.d.ts.map +1 -0
  38. package/dist/execution/workflow/resume.js +273 -0
  39. package/dist/execution/workflow/resume.js.map +1 -0
  40. package/dist/execution/workflow/runtime.d.ts.map +1 -1
  41. package/dist/execution/workflow/runtime.js +112 -8
  42. package/dist/execution/workflow/runtime.js.map +1 -1
  43. package/dist/execution/workflow/types.d.ts +105 -1
  44. package/dist/execution/workflow/types.d.ts.map +1 -1
  45. package/dist/index.d.ts +3 -0
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +4 -0
  48. package/dist/index.js.map +1 -1
  49. package/dist/manager/session/turn-recorder.d.ts.map +1 -1
  50. package/dist/manager/session/turn-recorder.js +1 -0
  51. package/dist/manager/session/turn-recorder.js.map +1 -1
  52. package/dist/plugin/compat.d.ts +24 -0
  53. package/dist/plugin/compat.d.ts.map +1 -0
  54. package/dist/plugin/compat.js +149 -0
  55. package/dist/plugin/compat.js.map +1 -0
  56. package/dist/plugin/loader.d.ts +2 -1
  57. package/dist/plugin/loader.d.ts.map +1 -1
  58. package/dist/plugin/loader.js +6 -0
  59. package/dist/plugin/loader.js.map +1 -1
  60. package/dist/pricing/index.d.ts.map +1 -1
  61. package/dist/pricing/index.js +2 -1
  62. package/dist/pricing/index.js.map +1 -1
  63. package/dist/process/kill-tree.d.ts +44 -0
  64. package/dist/process/kill-tree.d.ts.map +1 -1
  65. package/dist/process/kill-tree.js +102 -4
  66. package/dist/process/kill-tree.js.map +1 -1
  67. package/dist/prompt/coding-agent-doctrine.d.ts +1 -1
  68. package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
  69. package/dist/prompt/coding-agent-doctrine.js +9 -1
  70. package/dist/prompt/coding-agent-doctrine.js.map +1 -1
  71. package/dist/provider/collect-chat-completion.d.ts.map +1 -1
  72. package/dist/provider/collect-chat-completion.js +4 -0
  73. package/dist/provider/collect-chat-completion.js.map +1 -1
  74. package/dist/provider/fallback.d.ts.map +1 -1
  75. package/dist/provider/fallback.js +11 -0
  76. package/dist/provider/fallback.js.map +1 -1
  77. package/dist/provider/idle-timeout.d.ts.map +1 -1
  78. package/dist/provider/idle-timeout.js +5 -0
  79. package/dist/provider/idle-timeout.js.map +1 -1
  80. package/dist/provider/mock.d.ts +2 -0
  81. package/dist/provider/mock.d.ts.map +1 -1
  82. package/dist/provider/mock.js +16 -8
  83. package/dist/provider/mock.js.map +1 -1
  84. package/dist/provider/model-window-suffix.d.ts +18 -0
  85. package/dist/provider/model-window-suffix.d.ts.map +1 -0
  86. package/dist/provider/model-window-suffix.js +78 -0
  87. package/dist/provider/model-window-suffix.js.map +1 -0
  88. package/dist/provider/retry.d.ts.map +1 -1
  89. package/dist/provider/retry.js +5 -0
  90. package/dist/provider/retry.js.map +1 -1
  91. package/dist/public-runtime.d.ts +5 -3
  92. package/dist/public-runtime.d.ts.map +1 -1
  93. package/dist/public-runtime.js +5 -4
  94. package/dist/public-runtime.js.map +1 -1
  95. package/dist/public-types.d.ts +1 -0
  96. package/dist/public-types.d.ts.map +1 -1
  97. package/dist/registry/command/kernel-commands.d.ts +1 -4
  98. package/dist/registry/command/kernel-commands.d.ts.map +1 -1
  99. package/dist/registry/command/kernel-commands.js +0 -28
  100. package/dist/registry/command/kernel-commands.js.map +1 -1
  101. package/dist/runtime/jobs/awaited-jobs.d.ts +6 -0
  102. package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -1
  103. package/dist/runtime/jobs/awaited-jobs.js +11 -0
  104. package/dist/runtime/jobs/awaited-jobs.js.map +1 -1
  105. package/dist/runtime/jobs/host-exit-finalizer.d.ts +20 -0
  106. package/dist/runtime/jobs/host-exit-finalizer.d.ts.map +1 -0
  107. package/dist/runtime/jobs/host-exit-finalizer.js +57 -0
  108. package/dist/runtime/jobs/host-exit-finalizer.js.map +1 -0
  109. package/dist/runtime/jobs/liveness.d.ts +67 -0
  110. package/dist/runtime/jobs/liveness.d.ts.map +1 -0
  111. package/dist/runtime/jobs/liveness.js +94 -0
  112. package/dist/runtime/jobs/liveness.js.map +1 -0
  113. package/dist/runtime/jobs/registry.d.ts +21 -0
  114. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  115. package/dist/runtime/jobs/registry.js +104 -2
  116. package/dist/runtime/jobs/registry.js.map +1 -1
  117. package/dist/runtime/jobs/wake-budget.d.ts +35 -0
  118. package/dist/runtime/jobs/wake-budget.d.ts.map +1 -0
  119. package/dist/runtime/jobs/wake-budget.js +48 -0
  120. package/dist/runtime/jobs/wake-budget.js.map +1 -0
  121. package/dist/runtime/query/detached-calls.d.ts +65 -0
  122. package/dist/runtime/query/detached-calls.d.ts.map +1 -0
  123. package/dist/runtime/query/detached-calls.js +116 -0
  124. package/dist/runtime/query/detached-calls.js.map +1 -0
  125. package/dist/runtime/query/executor.d.ts +4 -1
  126. package/dist/runtime/query/executor.d.ts.map +1 -1
  127. package/dist/runtime/query/executor.js +90 -6
  128. package/dist/runtime/query/executor.js.map +1 -1
  129. package/dist/runtime/query/index.d.ts +34 -0
  130. package/dist/runtime/query/index.d.ts.map +1 -1
  131. package/dist/runtime/query/index.js +32 -5
  132. package/dist/runtime/query/index.js.map +1 -1
  133. package/dist/runtime/query/iteration/effort-clamp.d.ts +13 -0
  134. package/dist/runtime/query/iteration/effort-clamp.d.ts.map +1 -0
  135. package/dist/runtime/query/iteration/effort-clamp.js +42 -0
  136. package/dist/runtime/query/iteration/effort-clamp.js.map +1 -0
  137. package/dist/runtime/query/iteration/index.d.ts +34 -0
  138. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  139. package/dist/runtime/query/iteration/index.js +199 -6
  140. package/dist/runtime/query/iteration/index.js.map +1 -1
  141. package/dist/runtime/query/iteration/outstanding-work.d.ts.map +1 -1
  142. package/dist/runtime/query/iteration/outstanding-work.js +11 -3
  143. package/dist/runtime/query/iteration/outstanding-work.js.map +1 -1
  144. package/dist/runtime/query/iteration/phases/context.d.ts +9 -0
  145. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  146. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  147. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  148. package/dist/runtime/query/iteration/phases/tool-review.js +63 -1
  149. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  150. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  151. package/dist/runtime/query/iteration/stream-turn.js +6 -0
  152. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  153. package/dist/runtime/query/session-storage.d.ts.map +1 -1
  154. package/dist/runtime/query/session-storage.js +8 -3
  155. package/dist/runtime/query/session-storage.js.map +1 -1
  156. package/dist/runtime/query/steering.d.ts +29 -3
  157. package/dist/runtime/query/steering.d.ts.map +1 -1
  158. package/dist/runtime/query/steering.js +58 -3
  159. package/dist/runtime/query/steering.js.map +1 -1
  160. package/dist/runtime/query/tooling.d.ts +1 -0
  161. package/dist/runtime/query/tooling.d.ts.map +1 -1
  162. package/dist/runtime/query/tooling.js +1 -0
  163. package/dist/runtime/query/tooling.js.map +1 -1
  164. package/dist/runtime/system-events.d.ts +5 -0
  165. package/dist/runtime/system-events.d.ts.map +1 -1
  166. package/dist/runtime/system-events.js +7 -1
  167. package/dist/runtime/system-events.js.map +1 -1
  168. package/dist/sandbox/denial.d.ts +11 -0
  169. package/dist/sandbox/denial.d.ts.map +1 -0
  170. package/dist/sandbox/denial.js +61 -0
  171. package/dist/sandbox/denial.js.map +1 -0
  172. package/dist/sandbox/file-walk-program.d.ts.map +1 -1
  173. package/dist/sandbox/file-walk-program.js +31 -13
  174. package/dist/sandbox/file-walk-program.js.map +1 -1
  175. package/dist/sandbox/file-walk.d.ts +2 -0
  176. package/dist/sandbox/file-walk.d.ts.map +1 -1
  177. package/dist/sandbox/file-walk.js +64 -13
  178. package/dist/sandbox/file-walk.js.map +1 -1
  179. package/dist/sandbox/ignore-matcher.d.ts +30 -0
  180. package/dist/sandbox/ignore-matcher.d.ts.map +1 -0
  181. package/dist/sandbox/ignore-matcher.js +11 -0
  182. package/dist/sandbox/ignore-matcher.js.map +1 -0
  183. package/dist/sandbox/ignore-source.d.ts +26 -0
  184. package/dist/sandbox/ignore-source.d.ts.map +1 -0
  185. package/dist/sandbox/ignore-source.js +221 -0
  186. package/dist/sandbox/ignore-source.js.map +1 -0
  187. package/dist/sandbox/provider/local.d.ts.map +1 -1
  188. package/dist/sandbox/provider/local.js +11 -1
  189. package/dist/sandbox/provider/local.js.map +1 -1
  190. package/dist/scheduler/completion-inbox.d.ts.map +1 -1
  191. package/dist/scheduler/completion-inbox.js +1 -0
  192. package/dist/scheduler/completion-inbox.js.map +1 -1
  193. package/dist/session/log-hash.d.ts.map +1 -1
  194. package/dist/session/log-hash.js +18 -1
  195. package/dist/session/log-hash.js.map +1 -1
  196. package/dist/store/memory/disk.d.ts.map +1 -1
  197. package/dist/store/memory/disk.js +1 -1
  198. package/dist/store/memory/disk.js.map +1 -1
  199. package/dist/store/memory/markdown.d.ts.map +1 -1
  200. package/dist/store/memory/markdown.js +1 -1
  201. package/dist/store/memory/markdown.js.map +1 -1
  202. package/dist/store/memory/operation-lock.d.ts +20 -4
  203. package/dist/store/memory/operation-lock.d.ts.map +1 -1
  204. package/dist/store/memory/operation-lock.js +235 -58
  205. package/dist/store/memory/operation-lock.js.map +1 -1
  206. package/dist/store/session-index/sqlite.d.ts.map +1 -1
  207. package/dist/store/session-index/sqlite.js +169 -16
  208. package/dist/store/session-index/sqlite.js.map +1 -1
  209. package/dist/tools/builtins/bash.d.ts.map +1 -1
  210. package/dist/tools/builtins/bash.js +10 -4
  211. package/dist/tools/builtins/bash.js.map +1 -1
  212. package/dist/tools/builtins/computer-use.d.ts +35 -0
  213. package/dist/tools/builtins/computer-use.d.ts.map +1 -1
  214. package/dist/tools/builtins/computer-use.js +512 -67
  215. package/dist/tools/builtins/computer-use.js.map +1 -1
  216. package/dist/tools/builtins/glob.d.ts +1 -0
  217. package/dist/tools/builtins/glob.d.ts.map +1 -1
  218. package/dist/tools/builtins/glob.js +65 -28
  219. package/dist/tools/builtins/glob.js.map +1 -1
  220. package/dist/tools/builtins/grep.d.ts +2 -0
  221. package/dist/tools/builtins/grep.d.ts.map +1 -1
  222. package/dist/tools/builtins/grep.js +94 -40
  223. package/dist/tools/builtins/grep.js.map +1 -1
  224. package/dist/tools/builtins/job.d.ts +1 -1
  225. package/dist/tools/builtins/job.d.ts.map +1 -1
  226. package/dist/tools/builtins/job.js +34 -7
  227. package/dist/tools/builtins/job.js.map +1 -1
  228. package/dist/tools/builtins/search-support.d.ts +44 -0
  229. package/dist/tools/builtins/search-support.d.ts.map +1 -0
  230. package/dist/tools/builtins/search-support.js +89 -0
  231. package/dist/tools/builtins/search-support.js.map +1 -0
  232. package/dist/tools/builtins/wait-for-job-bounds.d.ts +2 -0
  233. package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -1
  234. package/dist/tools/builtins/wait-for-job-bounds.js +3 -1
  235. package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -1
  236. package/dist/tools/builtins/wait-for-job.d.ts +1 -1
  237. package/dist/tools/builtins/wait-for-job.d.ts.map +1 -1
  238. package/dist/tools/builtins/wait-for-job.js +13 -2
  239. package/dist/tools/builtins/wait-for-job.js.map +1 -1
  240. package/dist/tools/command-shell.d.ts.map +1 -1
  241. package/dist/tools/command-shell.js +14 -5
  242. package/dist/tools/command-shell.js.map +1 -1
  243. package/dist/turn/reporter.d.ts.map +1 -1
  244. package/dist/turn/reporter.js +11 -0
  245. package/dist/turn/reporter.js.map +1 -1
  246. package/dist/types/agent/query.d.ts +2 -0
  247. package/dist/types/agent/query.d.ts.map +1 -1
  248. package/dist/types/computer-use/index.d.ts +129 -13
  249. package/dist/types/computer-use/index.d.ts.map +1 -1
  250. package/dist/types/computer-use/index.js.map +1 -1
  251. package/dist/types/message/index.d.ts +1 -1
  252. package/dist/types/message/index.d.ts.map +1 -1
  253. package/dist/types/message/index.js +1 -0
  254. package/dist/types/message/index.js.map +1 -1
  255. package/dist/types/plugin/index.d.ts +24 -0
  256. package/dist/types/plugin/index.d.ts.map +1 -1
  257. package/dist/types/plugin/index.js +4 -0
  258. package/dist/types/plugin/index.js.map +1 -1
  259. package/dist/types/provider/chat.d.ts +19 -0
  260. package/dist/types/provider/chat.d.ts.map +1 -1
  261. package/dist/types/provider/config.d.ts +7 -0
  262. package/dist/types/provider/config.d.ts.map +1 -1
  263. package/dist/types/provider/index.d.ts +1 -1
  264. package/dist/types/provider/index.d.ts.map +1 -1
  265. package/dist/types/provider/interface.d.ts +15 -0
  266. package/dist/types/provider/interface.d.ts.map +1 -1
  267. package/dist/types/provider/stream.d.ts +6 -0
  268. package/dist/types/provider/stream.d.ts.map +1 -1
  269. package/dist/types/sandbox/index.d.ts +38 -1
  270. package/dist/types/sandbox/index.d.ts.map +1 -1
  271. package/dist/types/sandbox/index.js.map +1 -1
  272. package/dist/types/session/events.d.ts +34 -0
  273. package/dist/types/session/events.d.ts.map +1 -1
  274. package/dist/types/session/events.js.map +1 -1
  275. package/dist/types/session/records.d.ts +298 -34
  276. package/dist/types/session/records.d.ts.map +1 -1
  277. package/dist/types/session/records.js +35 -1
  278. package/dist/types/session/records.js.map +1 -1
  279. package/dist/types/session/stop-reason.d.ts +11 -0
  280. package/dist/types/session/stop-reason.d.ts.map +1 -1
  281. package/dist/types/tool/index.d.ts +30 -0
  282. package/dist/types/tool/index.d.ts.map +1 -1
  283. package/dist/types/tool/index.js.map +1 -1
  284. package/dist/types/tool/presentation.d.ts +8 -0
  285. package/dist/types/tool/presentation.d.ts.map +1 -1
  286. package/package.json +1 -1
  287. package/src/agents/QueryAgent.ts +1 -0
  288. package/src/bridge/a2a/mapper.ts +19 -0
  289. package/src/bridge/acp/update.ts +6 -1
  290. package/src/bridge/sse/mapper.ts +13 -0
  291. package/src/compaction/context-window.ts +163 -2
  292. package/src/constants/continuation.ts +13 -0
  293. package/src/contracts/session/api.ts +6 -0
  294. package/src/execution/workflow/index.ts +14 -1
  295. package/src/execution/workflow/journal.ts +161 -11
  296. package/src/execution/workflow/prelude.ts +51 -8
  297. package/src/execution/workflow/resume.ts +313 -0
  298. package/src/execution/workflow/runtime.ts +127 -9
  299. package/src/execution/workflow/types.ts +109 -1
  300. package/src/index.ts +17 -0
  301. package/src/manager/session/turn-recorder.ts +1 -0
  302. package/src/plugin/compat.ts +173 -0
  303. package/src/plugin/loader.ts +7 -1
  304. package/src/pricing/index.ts +2 -1
  305. package/src/process/kill-tree.ts +106 -4
  306. package/src/prompt/coding-agent-doctrine.ts +9 -1
  307. package/src/provider/collect-chat-completion.ts +3 -0
  308. package/src/provider/fallback.ts +17 -0
  309. package/src/provider/idle-timeout.ts +9 -0
  310. package/src/provider/mock.ts +19 -9
  311. package/src/provider/model-window-suffix.ts +85 -0
  312. package/src/provider/retry.ts +9 -0
  313. package/src/public-runtime.ts +21 -2
  314. package/src/public-types.ts +1 -0
  315. package/src/registry/command/kernel-commands.ts +1 -32
  316. package/src/runtime/jobs/awaited-jobs.ts +11 -0
  317. package/src/runtime/jobs/host-exit-finalizer.ts +67 -0
  318. package/src/runtime/jobs/liveness.ts +144 -0
  319. package/src/runtime/jobs/registry.ts +114 -2
  320. package/src/runtime/jobs/wake-budget.ts +55 -0
  321. package/src/runtime/query/detached-calls.ts +135 -0
  322. package/src/runtime/query/executor.ts +92 -10
  323. package/src/runtime/query/index.ts +65 -7
  324. package/src/runtime/query/iteration/effort-clamp.ts +46 -0
  325. package/src/runtime/query/iteration/index.ts +260 -6
  326. package/src/runtime/query/iteration/outstanding-work.ts +12 -3
  327. package/src/runtime/query/iteration/phases/context.ts +9 -0
  328. package/src/runtime/query/iteration/phases/tool-review.ts +73 -8
  329. package/src/runtime/query/iteration/stream-turn.ts +5 -0
  330. package/src/runtime/query/session-storage.ts +8 -3
  331. package/src/runtime/query/steering.ts +77 -6
  332. package/src/runtime/query/tooling.ts +2 -0
  333. package/src/runtime/system-events.ts +12 -1
  334. package/src/sandbox/denial.ts +79 -0
  335. package/src/sandbox/file-walk-program.ts +32 -13
  336. package/src/sandbox/file-walk.ts +75 -12
  337. package/src/sandbox/ignore-matcher.ts +46 -0
  338. package/src/sandbox/ignore-source.ts +220 -0
  339. package/src/sandbox/provider/local.ts +11 -1
  340. package/src/scheduler/completion-inbox.ts +1 -0
  341. package/src/session/log-hash.ts +21 -0
  342. package/src/store/memory/disk.ts +1 -0
  343. package/src/store/memory/markdown.ts +1 -0
  344. package/src/store/memory/operation-lock.ts +288 -57
  345. package/src/store/session-index/sqlite.ts +171 -16
  346. package/src/tools/builtins/bash.ts +11 -4
  347. package/src/tools/builtins/computer-use.ts +593 -68
  348. package/src/tools/builtins/glob.ts +79 -32
  349. package/src/tools/builtins/grep.ts +107 -43
  350. package/src/tools/builtins/job.ts +42 -12
  351. package/src/tools/builtins/search-support.ts +107 -0
  352. package/src/tools/builtins/wait-for-job-bounds.ts +5 -1
  353. package/src/tools/builtins/wait-for-job.ts +14 -2
  354. package/src/tools/command-shell.ts +13 -5
  355. package/src/turn/reporter.ts +12 -0
  356. package/src/types/agent/query.ts +2 -0
  357. package/src/types/computer-use/index.ts +157 -15
  358. package/src/types/message/index.ts +5 -3
  359. package/src/types/plugin/index.ts +8 -0
  360. package/src/types/provider/chat.ts +20 -0
  361. package/src/types/provider/config.ts +7 -0
  362. package/src/types/provider/index.ts +1 -0
  363. package/src/types/provider/interface.ts +20 -0
  364. package/src/types/provider/stream.ts +6 -0
  365. package/src/types/sandbox/index.ts +40 -1
  366. package/src/types/session/events.ts +65 -5
  367. package/src/types/session/records.ts +39 -2
  368. package/src/types/session/stop-reason.ts +11 -0
  369. package/src/types/tool/index.ts +30 -0
  370. package/src/types/tool/presentation.ts +8 -0
@@ -1 +1 @@
1
- {"version":3,"file":"kill-tree.d.ts","sourceRoot":"","sources":["../../src/process/kill-tree.ts"],"names":[],"mappings":"AAeA,wFAAwF;AACxF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAE3F;AAED,qDAAqD;AACrD,eAAO,MAAM,iBAAiB,oBAAoB,CAAA;AA4BlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,QAAQ,CACvB,KAAK,EAAE;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAC5C,MAAM,EAAE,MAAM,CAAC,OAAO,GACpB,IAAI,CAgBN"}
1
+ {"version":3,"file":"kill-tree.d.ts","sourceRoot":"","sources":["../../src/process/kill-tree.ts"],"names":[],"mappings":"AAgBA;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAE3D;AAED,wFAAwF;AACxF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAE3F;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAEnE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CA0B7F;AAED,qDAAqD;AACrD,eAAO,MAAM,iBAAiB,oBAAoB,CAAA;AA4BlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,QAAQ,CACvB,KAAK,EAAE;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAC5C,MAAM,EAAE,MAAM,CAAC,OAAO,GACpB,IAAI,CAEN;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACxB,QAAQ,EAAE,SAAS;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,EAC1D,MAAM,EAAE,MAAM,CAAC,OAAO,GACpB,IAAI,CAON"}
@@ -1,4 +1,5 @@
1
1
  import { execFileSync } from 'node:child_process';
2
+ import { readFileSync, readdirSync } from 'node:fs';
2
3
  /**
3
4
  * Git Bash children that the Windows process tree cannot reach.
4
5
  *
@@ -11,10 +12,80 @@ import { execFileSync } from 'node:child_process';
11
12
  * the tag is how the tree is found again.
12
13
  */
13
14
  const MSYS_SHELLS = new WeakMap();
15
+ /**
16
+ * Whether a pid may be signalled, or addressed as a group with `-pid`.
17
+ *
18
+ * `kill(-1, sig)` signals every process the user may signal and `kill(0, sig)`
19
+ * signals the caller's own process group, so a recorded pid of 1, 0, a negative
20
+ * or a fractional number (a test double, a corrupt record, `NaN`) would take
21
+ * down the host's whole session. Only an integer above 1 that is not this
22
+ * process is a real, separate process. A refused pid is treated as already gone.
23
+ */
24
+ export function isSignalablePid(pid) {
25
+ return typeof pid === 'number' && Number.isInteger(pid) && pid > 1 && pid !== process.pid;
26
+ }
14
27
  /** Remember how to find every process a Git Bash child started. Called by the spawn. */
15
28
  export function registerMsysShell(child, shell) {
16
29
  MSYS_SHELLS.set(child, shell);
17
30
  }
31
+ /**
32
+ * Remember the tag a POSIX child's environment carries, so a kill can also find
33
+ * a descendant that left the child's process group (`setsid`, a double fork
34
+ * that starts its own session). Such a process has no group to signal, but it
35
+ * inherited the environment, and the tag is how it is found again.
36
+ *
37
+ * The limit is the same as the group's own: a process that clears its
38
+ * environment before it forks escapes this too.
39
+ */
40
+ export function registerProcessTag(child, tag) {
41
+ MSYS_SHELLS.set(child, { tag });
42
+ }
43
+ /**
44
+ * Signal every process of this user whose environment carries one of the tags,
45
+ * by reading `/proc/<pid>/environ`. Linux only: other POSIX systems have no
46
+ * `/proc`, and there the process group is all a kill can reach. A process whose
47
+ * environment cannot be read (another user's, or one that has just ended) is
48
+ * skipped without further work.
49
+ *
50
+ * Several tags are looked for in one pass, so stopping many jobs at once reads
51
+ * each environment once, not once per job. The scan is synchronous and its cost
52
+ * grows with the number of processes on the machine. There is also a window
53
+ * between reading an environment and signalling its pid in which the pid could
54
+ * be reused by an unrelated process of the same user; the window is the length
55
+ * of one read, and the signal goes only to a pid whose environment carried the
56
+ * tag a moment before.
57
+ */
58
+ export function signalTagged(tags, signal) {
59
+ const needles = (typeof tags === 'string' ? [tags] : tags).map((tag) => `${MSYS_TAG_VARIABLE}=${tag}\0`);
60
+ if (needles.length === 0)
61
+ return 0;
62
+ let entries;
63
+ try {
64
+ entries = readdirSync('/proc');
65
+ }
66
+ catch {
67
+ return 0;
68
+ }
69
+ let signalled = 0;
70
+ for (const entry of entries) {
71
+ if (!/^\d+$/.test(entry))
72
+ continue;
73
+ const pid = Number(entry);
74
+ if (!isSignalablePid(pid))
75
+ continue;
76
+ try {
77
+ const environ = readFileSync(`/proc/${entry}/environ`, 'latin1');
78
+ if (!needles.some((needle) => environ.includes(needle)))
79
+ continue;
80
+ process.kill(pid, signal);
81
+ signalled++;
82
+ }
83
+ catch {
84
+ // Not ours to read, or gone since the listing.
85
+ }
86
+ }
87
+ return signalled;
88
+ }
18
89
  /** The environment variable that carries the tag. */
19
90
  export const MSYS_TAG_VARIABLE = 'NAMZU_SHELL_TAG';
20
91
  /** Kill every process whose environment carries the tag, from inside the msys runtime. */
@@ -78,20 +149,47 @@ function taskkillPath() {
78
149
  * POSIX SIGKILL that follows a SIGTERM which already worked.
79
150
  */
80
151
  export function killTree(child, signal) {
81
- if (!child.pid)
152
+ killTrees([child], signal);
153
+ }
154
+ /**
155
+ * `killTree` for several children at once: each child's group is signalled, then
156
+ * the environment scan runs once for all their tags. Used where the number of
157
+ * kills is unbounded and cannot wait, such as the host's exit.
158
+ */
159
+ export function killTrees(children, signal) {
160
+ const tags = [];
161
+ for (const child of children) {
162
+ if (!isSignalablePid(child.pid))
163
+ continue;
164
+ killOne(child, signal, tags);
165
+ }
166
+ if (tags.length > 0 && process.platform === 'linux')
167
+ signalTagged(tags, signal);
168
+ }
169
+ function killOne(child, signal, tags) {
170
+ if (!isSignalablePid(child.pid))
82
171
  return;
83
172
  try {
84
173
  if (process.platform === 'win32') {
85
174
  const msys = MSYS_SHELLS.get(child);
86
- if (msys !== undefined)
87
- killMsysTagged(msys);
175
+ if (msys?.bash !== undefined)
176
+ killMsysTagged({ bash: msys.bash, tag: msys.tag });
88
177
  execFileSync(taskkillPath(), ['/pid', String(child.pid), '/t', '/f'], {
89
178
  stdio: 'ignore',
90
179
  windowsHide: true,
91
180
  });
92
181
  }
93
182
  else {
94
- process.kill(-child.pid, signal);
183
+ try {
184
+ process.kill(-child.pid, signal);
185
+ }
186
+ finally {
187
+ // After the group, which is cheap and exact: what is left is only
188
+ // what started its own session. Also when the group is already gone.
189
+ const tagged = MSYS_SHELLS.get(child);
190
+ if (tagged !== undefined)
191
+ tags.push(tagged.tag);
192
+ }
95
193
  }
96
194
  }
97
195
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"kill-tree.js","sourceRoot":"","sources":["../../src/process/kill-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,GAAG,IAAI,OAAO,EAA2D,CAAA;AAE1F,wFAAwF;AACxF,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,KAAoC;IACpF,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAA;AAElD,0FAA0F;AAC1F,SAAS,cAAc,CAAC,KAAsD;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,MAAM,MAAM,GAAG;QACd,yBAAyB,iBAAiB,IAAI,KAAK,CAAC,GAAG,yCAAyC;QAChG,iEAAiE;QACjE,MAAM;KACN,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,IAAI,CAAC;QACJ,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YACxC,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,IAAI;SACb,CAAC,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACR,gFAAgF;IACjF,CAAC;AACF,CAAC;AAED,yEAAyE;AACzE,SAAS,YAAY;IACpB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAA;IACzD,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,UAAU,CAAA;AAC7D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,QAAQ,CACvB,KAA4C,EAC5C,MAAsB;IAEtB,IAAI,CAAC,KAAK,CAAC,GAAG;QAAE,OAAM;IACtB,IAAI,CAAC;QACJ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACnC,IAAI,IAAI,KAAK,SAAS;gBAAE,cAAc,CAAC,IAAI,CAAC,CAAA;YAC5C,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;gBACrE,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,IAAI;aACjB,CAAC,CAAA;QACH,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACjC,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,+BAA+B;IAChC,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"kill-tree.js","sourceRoot":"","sources":["../../src/process/kill-tree.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export declare const CODING_AGENT_WORKING_DOCTRINE = "## How you work\n\n### Del
37
37
  * Parent-only: rules about `task_create` / `task_update` and `Agent`, which a
38
38
  * delegated sub-agent does not have. See the module comment for the split.
39
39
  */
40
- export declare const CODING_AGENT_DELEGATION_DOCTRINE = "### Planning and delegating\n- For work of three or more steps \u2014 several files, several distinct stages, anything you would write a checklist for \u2014 open a task list with `task_create` and keep it current with `task_update`, marking each step done when it is done rather than at the end. Skip it for a single inspect-edit-test cycle or a two-step job: the list is for the user to follow, and a list of one or two items tells them nothing.\n- When the `Agent` tool is available, delegate independent work through it and give each delegation a short, specific description; the user watches those descriptions, not the prompts. Brief each sub-agent with four things: the objective; what is out of bounds; which tools and sources to use; and the shape of the reply you want, such as a short summary with a file path for anything long. A fresh sub-agent starts with none of your context and returns what you ask for.\n- When the `Agent` tool lists a `fork` type, use `subagent_type: \"fork\"` when a side task would fill your context with output you will not need again, such as an open-ended survey. A fork starts from this conversation under your own instructions, so its prompt is only the directive: what to do and where its scope ends, without the background. Never write or guess what a fork will find before its report arrives. A fork cannot start forks of its own.\n- When delegated agents finish, tell the user what each one found in your next message. Their results reach you and not the user, so a result you do not pass on stays unseen.\n- Delegate lookups \u2014 where something is defined, which files reference it, how a module works \u2014 with `subagent_type: \"explore\"`: it has reading and searching tools only and never interrupts the user for permission. Reserve the default sub-agent for work that changes files or runs commands.";
40
+ export declare const CODING_AGENT_DELEGATION_DOCTRINE = "### Planning and delegating\n- For work of three or more steps \u2014 several files, several distinct stages, anything you would write a checklist for \u2014 open a task list with `task_create` and keep it current with `task_update`, marking each step done when it is done rather than at the end. Skip it for a single inspect-edit-test cycle or a two-step job: the list is for the user to follow, and a list of one or two items tells them nothing.\n- When the `Agent` tool is available, delegate independent work through it and give each delegation a short, specific description; the user watches those descriptions, not the prompts. Brief each sub-agent with four things: the objective; what is out of bounds; which tools and sources to use; and the shape of the reply you want, such as a short summary with a file path for anything long. A fresh sub-agent starts with none of your context and returns what you ask for.\n- When the `Agent` tool lists a `fork` type, use `subagent_type: \"fork\"` when a side task would fill your context with output you will not need again, such as an open-ended survey. A fork starts from this conversation under your own instructions, so its prompt is only the directive: what to do and where its scope ends, without the background. Never write or guess what a fork will find before its report arrives. A fork cannot start forks of its own.\n- When delegated agents finish, tell the user what each one found in your next message. Their results reach you and not the user, so a result you do not pass on stays unseen.\n- Delegate lookups \u2014 where something is defined, which files reference it, how a module works \u2014 with `subagent_type: \"explore\"`: it has reading and searching tools only and never interrupts the user for permission. Reserve the default sub-agent for work that changes files or runs commands.\n\n### Answering how work is going\n- When asked how things stand while background work runs, read the note about running work on your request first if the host gives you one, and add one status read from the tool that started an item only when the note does not say enough. The answer needs no waiting or polling and leaves the work running, because stopping or restarting an item to answer would lose what it has done.\n- Give each item the state you were given for it (progressing, waiting, stalled or dead) and how long ago it last moved, so the person can judge it for themselves. Stalled means only quiet for a while, not stuck.\n- Group the answer as finished (with its result), running (and where it is), queued, and needing a decision. Lead with the outcome, keep it short, and write in the language the person used, states included.\n- Name each item by what it is doing, not by its id: an id means nothing to the person, so give one only when they ask for it or need it for a command.\n- A result exists only once its completion message has arrived, so for an unfinished item say it is still running; a predicted result reads as a fact and may be wrong.\n- For an item reported dead, say it ended without a result and offer to run it again; starting the same work again unasked could repeat what it already did.";
41
41
  /**
42
42
  * For a session whose permission layer refuses every mutation. Says what that
43
43
  * layer will enforce anyway, so the model plans instead of discovering the
@@ -1 +1 @@
1
- {"version":3,"file":"coding-agent-doctrine.d.ts","sourceRoot":"","sources":["../../src/prompt/coding-agent-doctrine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,eAAO,MAAM,6BAA6B,u2MAqCgD,CAAA;AAE1F;;;GAGG;AACH,eAAO,MAAM,gCAAgC,q0DAKwP,CAAA;AAErS;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,2nBAI8S,CAAA;AAE7U;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,oqBACimB,CAAA;AAE7oB;;;GAGG;AACH,eAAO,MAAM,iCAAiC,oqBAAkC,CAAA;AAEhF,eAAO,MAAM,qCAAqC,gCAAgC,CAAA;AAElF,MAAM,WAAW,0BAA0B;IAC1C;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC9C,OAAO,GAAE,0BAA+B,GACtC,kBAAkB,CAepB"}
1
+ {"version":3,"file":"coding-agent-doctrine.d.ts","sourceRoot":"","sources":["../../src/prompt/coding-agent-doctrine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,eAAO,MAAM,6BAA6B,u2MAqCgD,CAAA;AAE1F;;;GAGG;AACH,eAAO,MAAM,gCAAgC,gnGAagH,CAAA;AAE7J;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,2nBAI8S,CAAA;AAE7U;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,oqBACimB,CAAA;AAE7oB;;;GAGG;AACH,eAAO,MAAM,iCAAiC,oqBAAkC,CAAA;AAEhF,eAAO,MAAM,qCAAqC,gCAAgC,CAAA;AAElF,MAAM,WAAW,0BAA0B;IAC1C;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC9C,OAAO,GAAE,0BAA+B,GACtC,kBAAkB,CAepB"}
@@ -78,7 +78,15 @@ export const CODING_AGENT_DELEGATION_DOCTRINE = `### Planning and delegating
78
78
  - When the \`Agent\` tool is available, delegate independent work through it and give each delegation a short, specific description; the user watches those descriptions, not the prompts. Brief each sub-agent with four things: the objective; what is out of bounds; which tools and sources to use; and the shape of the reply you want, such as a short summary with a file path for anything long. A fresh sub-agent starts with none of your context and returns what you ask for.
79
79
  - When the \`Agent\` tool lists a \`fork\` type, use \`subagent_type: "fork"\` when a side task would fill your context with output you will not need again, such as an open-ended survey. A fork starts from this conversation under your own instructions, so its prompt is only the directive: what to do and where its scope ends, without the background. Never write or guess what a fork will find before its report arrives. A fork cannot start forks of its own.
80
80
  - When delegated agents finish, tell the user what each one found in your next message. Their results reach you and not the user, so a result you do not pass on stays unseen.
81
- - Delegate lookups — where something is defined, which files reference it, how a module works — with \`subagent_type: "explore"\`: it has reading and searching tools only and never interrupts the user for permission. Reserve the default sub-agent for work that changes files or runs commands.`;
81
+ - Delegate lookups — where something is defined, which files reference it, how a module works — with \`subagent_type: "explore"\`: it has reading and searching tools only and never interrupts the user for permission. Reserve the default sub-agent for work that changes files or runs commands.
82
+
83
+ ### Answering how work is going
84
+ - When asked how things stand while background work runs, read the note about running work on your request first if the host gives you one, and add one status read from the tool that started an item only when the note does not say enough. The answer needs no waiting or polling and leaves the work running, because stopping or restarting an item to answer would lose what it has done.
85
+ - Give each item the state you were given for it (progressing, waiting, stalled or dead) and how long ago it last moved, so the person can judge it for themselves. Stalled means only quiet for a while, not stuck.
86
+ - Group the answer as finished (with its result), running (and where it is), queued, and needing a decision. Lead with the outcome, keep it short, and write in the language the person used, states included.
87
+ - Name each item by what it is doing, not by its id: an id means nothing to the person, so give one only when they ask for it or need it for a command.
88
+ - A result exists only once its completion message has arrived, so for an unfinished item say it is still running; a predicted result reads as a fact and may be wrong.
89
+ - For an item reported dead, say it ended without a result and offer to run it again; starting the same work again unasked could repeat what it already did.`;
82
90
  /**
83
91
  * For a session whose permission layer refuses every mutation. Says what that
84
92
  * layer will enforce anyway, so the model plans instead of discovering the
@@ -1 +1 @@
1
- {"version":3,"file":"coding-agent-doctrine.js","sourceRoot":"","sources":["../../src/prompt/coding-agent-doctrine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0FAqC6C,CAAA;AAE1F;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;;;;;qSAKqP,CAAA;AAErS;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;6UAI2S,CAAA;AAE7U;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;6oBAC8lB,CAAA;AAE7oB;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,+BAA+B,CAAA;AAEhF,MAAM,CAAC,MAAM,qCAAqC,GAAG,6BAA6B,CAAA;AA4BlF;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC9C,UAAsC,EAAE;IAExC,MAAM,IAAI,GAAG;QACZ,6BAA6B;QAC7B,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gCAAgC;QAC3E,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;YACzE,CAAC,CAAC,+BAA+B;YACjC,CAAC,CAAC,SAAS;KACZ;SACC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC/C,IAAI,CAAC,MAAM,CAAC,CAAA;IACd,OAAO;QACN,EAAE,EAAE,qCAAqC;QACzC,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI;KAClB,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"coding-agent-doctrine.js","sourceRoot":"","sources":["../../src/prompt/coding-agent-doctrine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0FAqC6C,CAAA;AAE1F;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;;;;;;;;;;;;;6JAa6G,CAAA;AAE7J;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;6UAI2S,CAAA;AAE7U;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;6oBAC8lB,CAAA;AAE7oB;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,+BAA+B,CAAA;AAEhF,MAAM,CAAC,MAAM,qCAAqC,GAAG,6BAA6B,CAAA;AA4BlF;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC9C,UAAsC,EAAE;IAExC,MAAM,IAAI,GAAG;QACZ,6BAA6B;QAC7B,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gCAAgC;QAC3E,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;YACzE,CAAC,CAAC,+BAA+B;YACjC,CAAC,CAAC,SAAS;KACZ;SACC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC/C,IAAI,CAAC,MAAM,CAAC,CAAA;IACd,OAAO;QACN,EAAE,EAAE,qCAAqC;QACzC,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI;KAClB,CAAA;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"collect-chat-completion.d.ts","sourceRoot":"","sources":["../../src/provider/collect-chat-completion.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AA4B9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,qBAAqB,CAC1C,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAgJjC"}
1
+ {"version":3,"file":"collect-chat-completion.d.ts","sourceRoot":"","sources":["../../src/provider/collect-chat-completion.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AA4B9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,qBAAqB,CAC1C,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAmJjC"}
@@ -61,6 +61,7 @@ export async function collectChatCompletion(stream) {
61
61
  let replayState;
62
62
  let finishReason = 'stop';
63
63
  let finishDetail;
64
+ let refusal;
64
65
  let usage = {
65
66
  promptTokens: 0,
66
67
  completionTokens: 0,
@@ -146,6 +147,8 @@ export async function collectChatCompletion(stream) {
146
147
  finishReason = chunk.finishReason;
147
148
  finishDetail = chunk.finishReason === 'length' ? chunk.finishDetail : undefined;
148
149
  }
150
+ if (chunk.refusal)
151
+ refusal = chunk.refusal;
149
152
  // Merge (per-field max), not last-write-wins: a late frame that omits
150
153
  // input/cache tokens must not zero the counts captured earlier in the stream.
151
154
  if (chunk.usage)
@@ -193,6 +196,7 @@ export async function collectChatCompletion(stream) {
193
196
  },
194
197
  finishReason,
195
198
  ...(finishDetail ? { finishDetail } : {}),
199
+ ...(refusal && finishReason === 'content_filter' ? { refusal } : {}),
196
200
  usage,
197
201
  };
198
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"collect-chat-completion.js","sourceRoot":"","sources":["../../src/provider/collect-chat-completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collect-chat-completion.js","sourceRoot":"","sources":["../../src/provider/collect-chat-completion.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../src/provider/fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,KAAK,EAEX,WAAW,EAIX,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAMhD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,2BAA2B;IAC3C,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,CAAA;CAC7C;AA0LD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,OAAO,GAAE,2BAAgC,GACvC,WAAW,CAwNb"}
1
+ {"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../src/provider/fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,KAAK,EAEX,WAAW,EAIX,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAMhD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,2BAA2B;IAC3C,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,CAAA;CAC7C;AA0LD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,OAAO,GAAE,2BAAgC,GACvC,WAAW,CAyOb"}
@@ -432,6 +432,17 @@ export function withProviderFallback(members, options = {}) {
432
432
  effortLevelsFor: (model, thinking) => first.provider.effortLevelsFor?.(model, thinking) ?? [],
433
433
  }
434
434
  : {}),
435
+ // Answered by the member the next request goes to first, the one the
436
+ // cursor rests on: it is the member whose model just declined.
437
+ ...(members.some((member) => member.provider.refusalFallbackFor)
438
+ ? {
439
+ refusalFallbackFor: (model, refusal, signal) => {
440
+ const serving = members[cursor] ?? first;
441
+ return (serving.provider.refusalFallbackFor?.(serving.model ?? model, refusal, signal) ??
442
+ Promise.resolve(undefined));
443
+ },
444
+ }
445
+ : {}),
435
446
  ...(first.provider.resolveContextWindow
436
447
  ? {
437
448
  resolveContextWindow: (model, signal) => first.provider.resolveContextWindow?.(model, signal) ?? Promise.resolve(undefined),
@@ -1 +1 @@
1
- {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../src/provider/fallback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../src/provider/fallback.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"idle-timeout.d.ts","sourceRoot":"","sources":["../../src/provider/idle-timeout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAGhD,uEAAuE;AACvE,eAAO,MAAM,8BAA8B,QAAa,CAAA;AAIxD,8FAA8F;AAC9F,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAQ5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,WAAW,4BAA4B;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,2CAA2C;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,UAAU,CAAA;IACzC,6CAA6C;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,YAAY,CAAA;CAC7C;AAED,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,4BAA4B,GACnC,WAAW,CA2Lb"}
1
+ {"version":3,"file":"idle-timeout.d.ts","sourceRoot":"","sources":["../../src/provider/idle-timeout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAGhD,uEAAuE;AACvE,eAAO,MAAM,8BAA8B,QAAa,CAAA;AAIxD,8FAA8F;AAC9F,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAQ5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,WAAW,4BAA4B;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,2CAA2C;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,UAAU,CAAA;IACzC,6CAA6C;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,YAAY,CAAA;CAC7C;AAED,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,4BAA4B,GACnC,WAAW,CAoMb"}
@@ -182,6 +182,11 @@ export function withStreamIdleTimeout(provider, options) {
182
182
  effortLevelsFor: (model, thinking) => provider.effortLevelsFor?.(model, thinking) ?? [],
183
183
  }
184
184
  : {}),
185
+ ...(provider.refusalFallbackFor
186
+ ? {
187
+ refusalFallbackFor: (model, refusal, signal) => provider.refusalFallbackFor?.(model, refusal, signal) ?? Promise.resolve(undefined),
188
+ }
189
+ : {}),
185
190
  ...(provider.resolveContextWindow
186
191
  ? {
187
192
  resolveContextWindow: (model, signal) => provider.resolveContextWindow?.(model, signal) ?? Promise.resolve(undefined),
@@ -1 +1 @@
1
- {"version":3,"file":"idle-timeout.js","sourceRoot":"","sources":["../../src/provider/idle-timeout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idle-timeout.js","sourceRoot":"","sources":["../../src/provider/idle-timeout.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,8 @@ export declare class MockLLMProvider implements LLMProvider {
28
28
  private turnIndex;
29
29
  /** Every request this provider has received, in order. */
30
30
  readonly requests: ChatCompletionParams[];
31
+ /** Present only when the script names a model to retry a refusal on. */
32
+ readonly refusalFallbackFor?: (model: string) => Promise<string | undefined>;
31
33
  constructor(config?: MockScript);
32
34
  /** Reset the script pointer and captured requests between cases. */
33
35
  reset(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/provider/mock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,oBAAoB,EACpB,WAAW,EACX,UAAU,EAEV,oBAAoB,EACpB,WAAW,EACX,MAAM,4BAA4B,CAAA;AAUnC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,eAAgB,YAAW,WAAW;IAClD,QAAQ,CAAC,EAAE,UAAS;IACpB,QAAQ,CAAC,IAAI,uBAAsB;IACnC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,GAAG,SAAS,CAAA;IAEvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAA+D;IACzF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAwC;IACnE,OAAO,CAAC,SAAS,CAAI;IAErB,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAK;gBAElC,MAAM,GAAE,UAAe;IASnC,oEAAoE;IACpE,KAAK,IAAI,IAAI;YAKC,KAAK;IAKnB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAMZ,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAAC,WAAW,CAAC;IA6FrE,UAAU;;;;;;;;;;IAeV,WAAW;CAIjB"}
1
+ {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/provider/mock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,oBAAoB,EACpB,WAAW,EACX,UAAU,EAEV,oBAAoB,EACpB,WAAW,EACX,MAAM,4BAA4B,CAAA;AAUnC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,eAAgB,YAAW,WAAW;IAClD,QAAQ,CAAC,EAAE,UAAS;IACpB,QAAQ,CAAC,IAAI,uBAAsB;IACnC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,GAAG,SAAS,CAAA;IAEvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAA+D;IACzF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAwC;IACnE,OAAO,CAAC,SAAS,CAAI;IAErB,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAK;IAE9C,wEAAwE;IACxE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;gBAEhE,MAAM,GAAE,UAAe;IAcnC,oEAAoE;IACpE,KAAK,IAAI,IAAI;YAKC,KAAK;IAKnB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAMZ,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAAC,WAAW,CAAC;IA+FrE,UAAU;;;;;;;;;;IAeV,WAAW;CAIjB"}
@@ -35,11 +35,17 @@ export class MockLLMProvider {
35
35
  turnIndex = 0;
36
36
  /** Every request this provider has received, in order. */
37
37
  requests = [];
38
+ /** Present only when the script names a model to retry a refusal on. */
39
+ refusalFallbackFor;
38
40
  constructor(config = {}) {
39
41
  this.capabilities = config.capabilities;
40
42
  this.model = config.model ?? FALLBACK_MOCK_MODEL;
41
43
  this.responseDelayMs = config.responseDelayMs ?? 0;
42
44
  this.onRequest = config.onRequest;
45
+ const refusalFallbackModel = config.refusalFallbackModel;
46
+ if (refusalFallbackModel !== undefined) {
47
+ this.refusalFallbackFor = async (model) => model === refusalFallbackModel ? undefined : refusalFallbackModel;
48
+ }
43
49
  this.nextTurn = config.nextTurn;
44
50
  this.turns = config.turns ?? [{ text: config.responseText ?? 'Mock provider response' }]; // Back-compat: the old single-string config becomes a one-turn script.
45
51
  }
@@ -131,17 +137,19 @@ export class MockLLMProvider {
131
137
  break;
132
138
  yield { id, delta: { toolCallEnd: { index, id: callId } } };
133
139
  }
140
+ const finishReason = turn.finishReason ??
141
+ // A call cut off mid-JSON is what the output limit does, and the
142
+ // finish reason is how a consumer tells that from malformed JSON.
143
+ (toolCalls.some((call) => call.truncateArguments === true)
144
+ ? 'length'
145
+ : toolCalls.length > 0
146
+ ? 'tool_calls'
147
+ : 'stop');
134
148
  yield {
135
149
  id,
136
150
  delta: {},
137
- finishReason: turn.finishReason ??
138
- // A call cut off mid-JSON is what the output limit does, and the
139
- // finish reason is how a consumer tells that from malformed JSON.
140
- (toolCalls.some((call) => call.truncateArguments === true)
141
- ? 'length'
142
- : toolCalls.length > 0
143
- ? 'tool_calls'
144
- : 'stop'),
151
+ finishReason,
152
+ ...(finishReason === 'content_filter' ? { refusal: turn.refusal ?? {} } : {}),
145
153
  usage: { ...EMPTY_USAGE, ...turn.usage },
146
154
  };
147
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/provider/mock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/provider/mock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Keeps the `[1m]` window marker off the wire.
3
+ *
4
+ * A model id ending in `[1m]` declares a one-million-token window to Namzu
5
+ * (see `splitModelWindowSuffix`). The marker belongs to the person and the UI,
6
+ * not to the vendor, so every driver and every request sees the bare id. This
7
+ * wraps a provider once, where it is built, so no caller that holds the marked
8
+ * id (a main model, a sub-agent, a side-job model, a fallback chain member)
9
+ * has to remember to strip it.
10
+ */
11
+ import type { LLMProvider } from '../types/provider/interface.js';
12
+ /**
13
+ * The same provider, now stripping the marker from every model it is handed.
14
+ * The instance is patched in place (not proxied) so a host that keys state on
15
+ * the provider object keeps finding it; wrapping twice changes nothing.
16
+ */
17
+ export declare function withModelWindowSuffixStripped<T extends LLMProvider>(provider: T): T;
18
+ //# sourceMappingURL=model-window-suffix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-window-suffix.d.ts","sourceRoot":"","sources":["../../src/provider/model-window-suffix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AA6CjE;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAsBnF"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Keeps the `[1m]` window marker off the wire.
3
+ *
4
+ * A model id ending in `[1m]` declares a one-million-token window to Namzu
5
+ * (see `splitModelWindowSuffix`). The marker belongs to the person and the UI,
6
+ * not to the vendor, so every driver and every request sees the bare id. This
7
+ * wraps a provider once, where it is built, so no caller that holds the marked
8
+ * id (a main model, a sub-agent, a side-job model, a fallback chain member)
9
+ * has to remember to strip it.
10
+ */
11
+ import { stripModelWindowSuffix } from '../compaction/context-window.js';
12
+ /** Provider methods whose first argument is a model id. */
13
+ const MODEL_FIRST_METHODS = new Set([
14
+ 'supportsHostedWebSearchFor',
15
+ 'supportsImageInputFor',
16
+ 'reasoningEffortLevelsFor',
17
+ 'reasoningEffortDefaultFor',
18
+ 'effortLevelsFor',
19
+ 'resolveContextWindow',
20
+ 'refusalFallbackFor',
21
+ 'healthCheck',
22
+ 'doctorCheck',
23
+ ]);
24
+ function stripParams(params) {
25
+ if (typeof params !== 'object' || params === null)
26
+ return params;
27
+ const model = params.model;
28
+ if (typeof model !== 'string')
29
+ return params;
30
+ const bare = stripModelWindowSuffix(model);
31
+ return bare === model ? params : { ...params, model: bare };
32
+ }
33
+ const WRAPPED = Symbol.for('namzu.modelWindowSuffixStripped');
34
+ function wrapMethod(name, method) {
35
+ if (name === 'chatStream' || name === 'chat') {
36
+ return function (params, ...rest) {
37
+ return method.call(this, stripParams(params), ...rest);
38
+ };
39
+ }
40
+ if (MODEL_FIRST_METHODS.has(name)) {
41
+ return function (model, ...rest) {
42
+ return method.call(this, typeof model === 'string' ? stripModelWindowSuffix(model) : model, ...rest);
43
+ };
44
+ }
45
+ return undefined;
46
+ }
47
+ /**
48
+ * The same provider, now stripping the marker from every model it is handed.
49
+ * The instance is patched in place (not proxied) so a host that keys state on
50
+ * the provider object keeps finding it; wrapping twice changes nothing.
51
+ */
52
+ export function withModelWindowSuffixStripped(provider) {
53
+ const target = provider;
54
+ if (target[WRAPPED] === true)
55
+ return provider;
56
+ if (!Object.isExtensible(provider)) {
57
+ return new Proxy(provider, {
58
+ get(object, property) {
59
+ const value = Reflect.get(object, property, object);
60
+ if (typeof value !== 'function')
61
+ return value;
62
+ const wrapped = typeof property === 'string' ? wrapMethod(property, value) : undefined;
63
+ return (wrapped ?? value).bind(object);
64
+ },
65
+ });
66
+ }
67
+ for (const name of ['chatStream', 'chat', ...MODEL_FIRST_METHODS]) {
68
+ const method = target[name];
69
+ if (typeof method !== 'function')
70
+ continue;
71
+ const wrapped = wrapMethod(name, method);
72
+ if (wrapped)
73
+ target[name] = wrapped;
74
+ }
75
+ Object.defineProperty(provider, WRAPPED, { value: true, enumerable: false });
76
+ return provider;
77
+ }
78
+ //# sourceMappingURL=model-window-suffix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-window-suffix.js","sourceRoot":"","sources":["../../src/provider/model-window-suffix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAGxE,2DAA2D;AAC3D,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACxD,4BAA4B;IAC5B,uBAAuB;IACvB,0BAA0B;IAC1B,2BAA2B;IAC3B,iBAAiB;IACjB,sBAAsB;IACtB,oBAAoB;IACpB,aAAa;IACb,aAAa;CACb,CAAC,CAAA;AAEF,SAAS,WAAW,CAAC,MAAe;IACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAA;IAChE,MAAM,KAAK,GAAI,MAA8B,CAAC,KAAK,CAAA;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAA;IAC5C,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAA;IAC1C,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AAC5D,CAAC;AAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;AAI7D,SAAS,UAAU,CAAC,IAAY,EAAE,MAAiB;IAClD,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9C,OAAO,UAAyB,MAAe,EAAE,GAAG,IAAe;YAClE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;QACvD,CAAC,CAAA;IACF,CAAC;IACD,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,UAAyB,KAAc,EAAE,GAAG,IAAe;YACjE,OAAO,MAAM,CAAC,IAAI,CACjB,IAAI,EACJ,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EACjE,GAAG,IAAI,CACP,CAAA;QACF,CAAC,CAAA;IACF,CAAC;IACD,OAAO,SAAS,CAAA;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAwB,QAAW;IAC/E,MAAM,MAAM,GAAG,QAAmD,CAAA;IAClE,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAA;IAC7C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;YAC1B,GAAG,CAAC,MAAM,EAAE,QAAQ;gBACnB,MAAM,KAAK,GAAY,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;gBAC5D,IAAI,OAAO,KAAK,KAAK,UAAU;oBAAE,OAAO,KAAK,CAAA;gBAC7C,MAAM,OAAO,GACZ,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACpF,OAAO,CAAC,OAAO,IAAK,KAAmB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtD,CAAC;SACD,CAAC,CAAA;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,OAAO,MAAM,KAAK,UAAU;YAAE,SAAQ;QAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAmB,CAAC,CAAA;QACrD,IAAI,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAA;IACpC,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5E,OAAO,QAAQ,CAAA;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/provider/retry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAwB,WAAW,EAAe,MAAM,4BAA4B,CAAA;AAChG,OAAO,EACN,KAAK,aAAa,EAIlB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAGhD;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACzD,mEAAmE;IACnE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAA;IACzC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IACvC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CACjC;AAED,eAAO,MAAM,sBAAsB,EAAE,mBAKpC,CAAA;AAED,MAAM,WAAW,wBAAwB;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC9C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,oCAAoC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACtE;AAqBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,WAAW,EACrB,OAAO,GAAE,wBAA6B,GACpC,WAAW,CAoSb"}
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/provider/retry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAwB,WAAW,EAAe,MAAM,4BAA4B,CAAA;AAChG,OAAO,EACN,KAAK,aAAa,EAIlB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAGhD;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACzD,mEAAmE;IACnE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAA;IACzC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IACvC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CACjC;AAED,eAAO,MAAM,sBAAsB,EAAE,mBAKpC,CAAA;AAED,MAAM,WAAW,wBAAwB;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC9C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,oCAAoC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACtE;AAqBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,WAAW,EACrB,OAAO,GAAE,wBAA6B,GACpC,WAAW,CA6Sb"}