@namzu/sdk 53.2.2 → 55.0.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 (278) hide show
  1. package/CHANGELOG.md +56 -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/compaction/context-breakdown.d.ts +85 -0
  6. package/dist/compaction/context-breakdown.d.ts.map +1 -0
  7. package/dist/compaction/context-breakdown.js +149 -0
  8. package/dist/compaction/context-breakdown.js.map +1 -0
  9. package/dist/compaction/extractor.d.ts.map +1 -1
  10. package/dist/compaction/extractor.js +5 -1
  11. package/dist/compaction/extractor.js.map +1 -1
  12. package/dist/compaction/managers/structured.d.ts.map +1 -1
  13. package/dist/compaction/managers/structured.js +5 -0
  14. package/dist/compaction/managers/structured.js.map +1 -1
  15. package/dist/compaction/manual.d.ts.map +1 -1
  16. package/dist/compaction/manual.js +6 -0
  17. package/dist/compaction/manual.js.map +1 -1
  18. package/dist/compaction/serializer.d.ts +6 -0
  19. package/dist/compaction/serializer.d.ts.map +1 -1
  20. package/dist/compaction/serializer.js +21 -3
  21. package/dist/compaction/serializer.js.map +1 -1
  22. package/dist/compaction/token-estimate.d.ts +2 -0
  23. package/dist/compaction/token-estimate.d.ts.map +1 -1
  24. package/dist/compaction/token-estimate.js +4 -0
  25. package/dist/compaction/token-estimate.js.map +1 -1
  26. package/dist/compaction/verifier.d.ts.map +1 -1
  27. package/dist/compaction/verifier.js +27 -6
  28. package/dist/compaction/verifier.js.map +1 -1
  29. package/dist/constants/compaction/index.d.ts +1 -0
  30. package/dist/constants/compaction/index.d.ts.map +1 -1
  31. package/dist/constants/compaction/index.js +1 -0
  32. package/dist/constants/compaction/index.js.map +1 -1
  33. package/dist/manager/resident/proposal.d.ts +2 -2
  34. package/dist/manager/resident/store.d.ts +4 -4
  35. package/dist/prompt/coding-agent-doctrine.d.ts +3 -3
  36. package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
  37. package/dist/prompt/coding-agent-doctrine.js +18 -20
  38. package/dist/prompt/coding-agent-doctrine.js.map +1 -1
  39. package/dist/public-runtime.d.ts +8 -3
  40. package/dist/public-runtime.d.ts.map +1 -1
  41. package/dist/public-runtime.js +7 -2
  42. package/dist/public-runtime.js.map +1 -1
  43. package/dist/runtime/cache-clock.d.ts +39 -0
  44. package/dist/runtime/cache-clock.d.ts.map +1 -0
  45. package/dist/runtime/cache-clock.js +48 -0
  46. package/dist/runtime/cache-clock.js.map +1 -0
  47. package/dist/runtime/query/checkpoint.d.ts +12 -2
  48. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  49. package/dist/runtime/query/checkpoint.js +42 -8
  50. package/dist/runtime/query/checkpoint.js.map +1 -1
  51. package/dist/runtime/query/compact-session.d.ts +37 -2
  52. package/dist/runtime/query/compact-session.d.ts.map +1 -1
  53. package/dist/runtime/query/compact-session.js +77 -3
  54. package/dist/runtime/query/compact-session.js.map +1 -1
  55. package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
  56. package/dist/runtime/query/executor/tool-call-admission.js +3 -0
  57. package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
  58. package/dist/runtime/query/executor.d.ts +39 -1
  59. package/dist/runtime/query/executor.d.ts.map +1 -1
  60. package/dist/runtime/query/executor.js +115 -7
  61. package/dist/runtime/query/executor.js.map +1 -1
  62. package/dist/runtime/query/index.d.ts +18 -0
  63. package/dist/runtime/query/index.d.ts.map +1 -1
  64. package/dist/runtime/query/index.js +20 -1
  65. package/dist/runtime/query/index.js.map +1 -1
  66. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  67. package/dist/runtime/query/iteration/index.js +25 -8
  68. package/dist/runtime/query/iteration/index.js.map +1 -1
  69. package/dist/runtime/query/iteration/phases/context.d.ts +24 -2
  70. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  71. package/dist/runtime/query/iteration/phases/context.js +22 -22
  72. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  73. package/dist/runtime/query/iteration/phases/per-call-review.d.ts +78 -0
  74. package/dist/runtime/query/iteration/phases/per-call-review.d.ts.map +1 -0
  75. package/dist/runtime/query/iteration/phases/per-call-review.js +494 -0
  76. package/dist/runtime/query/iteration/phases/per-call-review.js.map +1 -0
  77. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  78. package/dist/runtime/query/iteration/phases/tool-review.js +129 -62
  79. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  80. package/dist/runtime/query/iteration/step-context.d.ts +14 -0
  81. package/dist/runtime/query/iteration/step-context.d.ts.map +1 -1
  82. package/dist/runtime/query/iteration/step-context.js +29 -0
  83. package/dist/runtime/query/iteration/step-context.js.map +1 -1
  84. package/dist/runtime/query/iteration/step-shaping.d.ts.map +1 -1
  85. package/dist/runtime/query/iteration/step-shaping.js +6 -2
  86. package/dist/runtime/query/iteration/step-shaping.js.map +1 -1
  87. package/dist/runtime/query/prepare-turn.d.ts.map +1 -1
  88. package/dist/runtime/query/prepare-turn.js +16 -3
  89. package/dist/runtime/query/prepare-turn.js.map +1 -1
  90. package/dist/runtime/query/project-instructions.d.ts +24 -5
  91. package/dist/runtime/query/project-instructions.d.ts.map +1 -1
  92. package/dist/runtime/query/project-instructions.js +107 -35
  93. package/dist/runtime/query/project-instructions.js.map +1 -1
  94. package/dist/runtime/query/prompt.d.ts +6 -0
  95. package/dist/runtime/query/prompt.d.ts.map +1 -1
  96. package/dist/runtime/query/prompt.js +10 -49
  97. package/dist/runtime/query/prompt.js.map +1 -1
  98. package/dist/runtime/query/resume-pending.d.ts +8 -0
  99. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  100. package/dist/runtime/query/resume-pending.js +101 -0
  101. package/dist/runtime/query/resume-pending.js.map +1 -1
  102. package/dist/runtime/query/review-policy.d.ts +18 -0
  103. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  104. package/dist/runtime/query/review-policy.js +10 -0
  105. package/dist/runtime/query/review-policy.js.map +1 -1
  106. package/dist/runtime/query/steering.d.ts +55 -56
  107. package/dist/runtime/query/steering.d.ts.map +1 -1
  108. package/dist/runtime/query/steering.js +78 -72
  109. package/dist/runtime/query/steering.js.map +1 -1
  110. package/dist/store/budget/disk.js +4 -1
  111. package/dist/store/budget/disk.js.map +1 -1
  112. package/dist/tools/admit-facts.d.ts.map +1 -1
  113. package/dist/tools/admit-facts.js +6 -0
  114. package/dist/tools/admit-facts.js.map +1 -1
  115. package/dist/tools/builtins/bash.d.ts +8 -0
  116. package/dist/tools/builtins/bash.d.ts.map +1 -1
  117. package/dist/tools/builtins/bash.js +36 -27
  118. package/dist/tools/builtins/bash.js.map +1 -1
  119. package/dist/tools/builtins/browser.d.ts.map +1 -1
  120. package/dist/tools/builtins/browser.js +38 -12
  121. package/dist/tools/builtins/browser.js.map +1 -1
  122. package/dist/tools/builtins/edit-apply.d.ts +7 -4
  123. package/dist/tools/builtins/edit-apply.d.ts.map +1 -1
  124. package/dist/tools/builtins/edit-apply.js +3 -0
  125. package/dist/tools/builtins/edit-apply.js.map +1 -1
  126. package/dist/tools/builtins/edit.d.ts.map +1 -1
  127. package/dist/tools/builtins/edit.js +31 -11
  128. package/dist/tools/builtins/edit.js.map +1 -1
  129. package/dist/tools/builtins/exit-semantics.d.ts +31 -0
  130. package/dist/tools/builtins/exit-semantics.d.ts.map +1 -0
  131. package/dist/tools/builtins/exit-semantics.js +198 -0
  132. package/dist/tools/builtins/exit-semantics.js.map +1 -0
  133. package/dist/tools/builtins/job.js +1 -1
  134. package/dist/tools/builtins/job.js.map +1 -1
  135. package/dist/tools/builtins/skill.js +1 -1
  136. package/dist/tools/builtins/skill.js.map +1 -1
  137. package/dist/tools/builtins/structuredOutput.js +1 -1
  138. package/dist/tools/builtins/structuredOutput.js.map +1 -1
  139. package/dist/tools/builtins/verify-outputs.js +1 -1
  140. package/dist/tools/builtins/verify-outputs.js.map +1 -1
  141. package/dist/tools/builtins/write-file.js +11 -6
  142. package/dist/tools/builtins/write-file.js.map +1 -1
  143. package/dist/tools/coordinator/ask-user-question.d.ts +6 -0
  144. package/dist/tools/coordinator/ask-user-question.d.ts.map +1 -1
  145. package/dist/tools/coordinator/ask-user-question.js +6 -1
  146. package/dist/tools/coordinator/ask-user-question.js.map +1 -1
  147. package/dist/tools/coordinator/index.d.ts.map +1 -1
  148. package/dist/tools/coordinator/index.js +10 -3
  149. package/dist/tools/coordinator/index.js.map +1 -1
  150. package/dist/tools/memory/delete.js +1 -1
  151. package/dist/tools/memory/delete.js.map +1 -1
  152. package/dist/tools/memory/read.js +1 -1
  153. package/dist/tools/memory/read.js.map +1 -1
  154. package/dist/tools/memory/save.d.ts.map +1 -1
  155. package/dist/tools/memory/save.js +4 -3
  156. package/dist/tools/memory/save.js.map +1 -1
  157. package/dist/tools/memory/search.js +1 -1
  158. package/dist/tools/memory/search.js.map +1 -1
  159. package/dist/tools/memory/update.js +1 -1
  160. package/dist/tools/memory/update.js.map +1 -1
  161. package/dist/tools/schedules/loop-tool.d.ts.map +1 -1
  162. package/dist/tools/schedules/loop-tool.js +4 -2
  163. package/dist/tools/schedules/loop-tool.js.map +1 -1
  164. package/dist/tools/schedules/schedule-tool.js +2 -2
  165. package/dist/tools/schedules/schedule-tool.js.map +1 -1
  166. package/dist/tools/task/create.js +1 -1
  167. package/dist/tools/task/create.js.map +1 -1
  168. package/dist/tools/untrusted-envelope.js +1 -1
  169. package/dist/tools/untrusted-envelope.js.map +1 -1
  170. package/dist/toolsets/manager.d.ts.map +1 -1
  171. package/dist/toolsets/manager.js +6 -1
  172. package/dist/toolsets/manager.js.map +1 -1
  173. package/dist/turn/evidence-query.d.ts.map +1 -1
  174. package/dist/turn/evidence-query.js +16 -1
  175. package/dist/turn/evidence-query.js.map +1 -1
  176. package/dist/turn/evidence-recall.js +1 -1
  177. package/dist/turn/evidence-recall.js.map +1 -1
  178. package/dist/types/agent/base.d.ts +7 -0
  179. package/dist/types/agent/base.d.ts.map +1 -1
  180. package/dist/types/common/index.d.ts +19 -0
  181. package/dist/types/common/index.d.ts.map +1 -1
  182. package/dist/types/common/index.js +9 -0
  183. package/dist/types/common/index.js.map +1 -1
  184. package/dist/types/hitl/index.d.ts +66 -0
  185. package/dist/types/hitl/index.d.ts.map +1 -1
  186. package/dist/types/hitl/index.js.map +1 -1
  187. package/dist/types/message/index.d.ts +8 -0
  188. package/dist/types/message/index.d.ts.map +1 -1
  189. package/dist/types/message/index.js +12 -2
  190. package/dist/types/message/index.js.map +1 -1
  191. package/dist/types/message/notice-frame.d.ts +41 -0
  192. package/dist/types/message/notice-frame.d.ts.map +1 -0
  193. package/dist/types/message/notice-frame.js +65 -0
  194. package/dist/types/message/notice-frame.js.map +1 -0
  195. package/dist/types/provider/chat.d.ts +8 -0
  196. package/dist/types/provider/chat.d.ts.map +1 -1
  197. package/dist/types/provider/config.d.ts +6 -0
  198. package/dist/types/provider/config.d.ts.map +1 -1
  199. package/dist/types/session/checkpoint.d.ts +52 -0
  200. package/dist/types/session/checkpoint.d.ts.map +1 -1
  201. package/dist/types/session/checkpoint.js +5 -0
  202. package/dist/types/session/checkpoint.js.map +1 -1
  203. package/dist/types/session/events.d.ts +9 -0
  204. package/dist/types/session/events.d.ts.map +1 -1
  205. package/dist/types/session/events.js.map +1 -1
  206. package/dist/types/session/records.d.ts +181 -6
  207. package/dist/types/session/records.d.ts.map +1 -1
  208. package/dist/types/session/records.js +1 -1
  209. package/dist/types/session/records.js.map +1 -1
  210. package/dist/types/tool/presentation.d.ts +17 -1
  211. package/dist/types/tool/presentation.d.ts.map +1 -1
  212. package/package.json +1 -1
  213. package/src/agents/QueryAgent.ts +1 -0
  214. package/src/compaction/context-breakdown.ts +228 -0
  215. package/src/compaction/extractor.ts +8 -1
  216. package/src/compaction/managers/structured.ts +3 -0
  217. package/src/compaction/manual.ts +5 -0
  218. package/src/compaction/serializer.ts +28 -3
  219. package/src/compaction/token-estimate.ts +5 -0
  220. package/src/compaction/verifier.ts +32 -6
  221. package/src/constants/compaction/index.ts +1 -0
  222. package/src/prompt/coding-agent-doctrine.ts +18 -20
  223. package/src/public-runtime.ts +24 -2
  224. package/src/runtime/cache-clock.ts +67 -0
  225. package/src/runtime/query/checkpoint.ts +49 -8
  226. package/src/runtime/query/compact-session.ts +101 -3
  227. package/src/runtime/query/executor/tool-call-admission.ts +3 -0
  228. package/src/runtime/query/executor.ts +165 -15
  229. package/src/runtime/query/index.ts +45 -1
  230. package/src/runtime/query/iteration/index.ts +27 -6
  231. package/src/runtime/query/iteration/phases/context.ts +37 -11
  232. package/src/runtime/query/iteration/phases/per-call-review.ts +598 -0
  233. package/src/runtime/query/iteration/phases/tool-review.ts +168 -83
  234. package/src/runtime/query/iteration/step-context.ts +29 -0
  235. package/src/runtime/query/iteration/step-shaping.ts +6 -2
  236. package/src/runtime/query/prepare-turn.ts +18 -1
  237. package/src/runtime/query/project-instructions.ts +119 -38
  238. package/src/runtime/query/prompt.ts +11 -54
  239. package/src/runtime/query/resume-pending.ts +131 -0
  240. package/src/runtime/query/review-policy.ts +28 -0
  241. package/src/runtime/query/steering.ts +100 -96
  242. package/src/store/budget/disk.ts +4 -1
  243. package/src/tools/admit-facts.ts +6 -0
  244. package/src/tools/builtins/bash.ts +38 -28
  245. package/src/tools/builtins/browser.ts +38 -12
  246. package/src/tools/builtins/edit-apply.ts +12 -2
  247. package/src/tools/builtins/edit.ts +38 -12
  248. package/src/tools/builtins/exit-semantics.ts +198 -0
  249. package/src/tools/builtins/job.ts +1 -1
  250. package/src/tools/builtins/skill.ts +1 -1
  251. package/src/tools/builtins/structuredOutput.ts +1 -1
  252. package/src/tools/builtins/verify-outputs.ts +1 -1
  253. package/src/tools/builtins/write-file.ts +11 -6
  254. package/src/tools/coordinator/ask-user-question.ts +12 -1
  255. package/src/tools/coordinator/index.ts +10 -3
  256. package/src/tools/memory/delete.ts +1 -1
  257. package/src/tools/memory/read.ts +1 -1
  258. package/src/tools/memory/save.ts +4 -3
  259. package/src/tools/memory/search.ts +1 -1
  260. package/src/tools/memory/update.ts +1 -1
  261. package/src/tools/schedules/loop-tool.ts +4 -2
  262. package/src/tools/schedules/schedule-tool.ts +2 -2
  263. package/src/tools/task/create.ts +1 -1
  264. package/src/tools/untrusted-envelope.ts +1 -1
  265. package/src/toolsets/manager.ts +6 -1
  266. package/src/turn/evidence-query.ts +19 -1
  267. package/src/turn/evidence-recall.ts +1 -1
  268. package/src/types/agent/base.ts +8 -0
  269. package/src/types/common/index.ts +27 -0
  270. package/src/types/hitl/index.ts +67 -0
  271. package/src/types/message/index.ts +20 -2
  272. package/src/types/message/notice-frame.ts +88 -0
  273. package/src/types/provider/chat.ts +8 -0
  274. package/src/types/provider/config.ts +6 -0
  275. package/src/types/session/checkpoint.ts +5 -0
  276. package/src/types/session/events.ts +6 -0
  277. package/src/types/session/records.ts +1 -1
  278. package/src/types/tool/presentation.ts +16 -0
@@ -1 +1 @@
1
- {"version":3,"file":"steering.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/steering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAKxE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAsB,MAAM,qBAAqB,CAAA;AAG/F,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,WAAW,CAQ9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAEzB,yDAAyD;IACzD,KAAK,IAAI,MAAM,GAAG,SAAS,CAAA;IAE3B,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CACzB;AAED,qBAAa,eAAgB,YAAW,eAAe;IACtD,OAAO,CAAC,MAAM,CAAe;IAE7B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB,KAAK,IAAI,MAAM,GAAG,SAAS;IAO3B,IAAI,OAAO,IAAI,OAAO,CAErB;CACD;AAED;;;;;;;;;;;;GAYG;AACH,+EAA+E;AAC/E,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,EAAE,eAAe,GAAG,SAAS,EACpC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM;AAChC;;;;;;;;GAQG;AACH,WAAW,CAAC,EAAE,MAAM,IAAI,GACtB,SAAS,OAAO,EAAE,CAqBpB;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAKD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC,GACnE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EACzC,OAAO,EAAE,MAAM,GACb,MAAM,CAiBR;AAqBD,sGAAsG;AACtG,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,IAAI,CACR,aAAa,EACX,IAAI,GACJ,SAAS,GACT,aAAa,GACb,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,OAAO,GACP,WAAW,GACX,WAAW,GACX,aAAa,CACf,EACD,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACrC,MAAM,CAUR;AAMD;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAuC,GAC1C,MAAM,CAmCR;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAwC,GAC3C,MAAM,CAER;AAeD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC7B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,EAAE,eAAe,GAAG,SAAS;AACpC,4EAA4E;AAC5E,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAClC,SAAS,OAAO,EAAE,CAkCpB"}
1
+ {"version":3,"file":"steering.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/steering.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { createRuntimeContextMessage } from '../../types/message/index.js';
2
+ import { NOTICE_TAG, frameNotice, readOperatorNotice } from '../../types/message/notice-frame.js';
1
3
  import { MONITOR_EVENT_CONTENT_MAX_CHARS, MONITOR_NOTIFICATION_MAX_CHARS, } from '../jobs/monitor-stream.js';
2
4
  import { describeMonitorEnd } from '../jobs/registry.js';
3
5
  import { formatSystemEvent, oneMetadataLine } from '../system-events.js';
@@ -29,58 +31,9 @@ export class SteeringBinding {
29
31
  return this.queued.length > 0;
30
32
  }
31
33
  }
32
- /**
33
- * The frame the guidance arrives in.
34
- *
35
- * Labelled because the model is being handed text from a party other than the
36
- * tool whose result it is reading, in that tool's slot. Unlabelled, it reads
37
- * as something the tool said — so a steer saying "stop and ask me first" would
38
- * look like output from `bash`.
39
- *
40
- * This is NOT the untrusted-content envelope. The host operating the turn is
41
- * the one party whose words the agent SHOULD act on; framing them as material
42
- * to be worked with rather than followed would inverting the very thing the
43
- * host is trying to do. Different party, different frame, on purpose.
44
- */
45
- /** The same slot as steering, for notices the kernel itself has to deliver. */
46
- export function attachNotice(messages, channel, format,
47
- /**
48
- * Told only when the text actually landed on a result the model will read.
49
- *
50
- * Not on the two paths above it: a batch with no tool result leaves the
51
- * notice queued, and a result whose content is not a string puts it back.
52
- * Draining is therefore not delivery, which matters to the caller that
53
- * keeps its own record of what the text accounts for — `AwaitedJobs`
54
- * drops an exit's entry here, and a premature drop would strand the exit.
55
- */
56
- onDelivered) {
57
- if (!channel?.pending)
58
- return messages;
59
- let lastToolIndex = -1;
60
- for (let index = messages.length - 1; index >= 0; index--) {
61
- if (messages[index]?.role === 'tool') {
62
- lastToolIndex = index;
63
- break;
64
- }
65
- }
66
- if (lastToolIndex === -1)
67
- return messages;
68
- const text = channel.drain();
69
- if (text === undefined)
70
- return messages;
71
- const target = messages[lastToolIndex];
72
- if (typeof target.content !== 'string') {
73
- channel.steer(text);
74
- return messages;
75
- }
76
- const next = [...messages];
77
- next[lastToolIndex] = { ...target, content: target.content + format(text) };
78
- onDelivered?.();
79
- return next;
80
- }
81
34
  /** What the model reads when a background job it started has ended. */
82
35
  export function formatJobNote(text) {
83
- return `\n\n[Background job update]\n${text}`;
36
+ return frameNotice('job', '[Background job update]', text);
84
37
  }
85
38
  /**
86
39
  * What the model reads when a monitor it started has something to say.
@@ -95,7 +48,7 @@ export function formatJobNote(text) {
95
48
  * piled up while the model was busy.
96
49
  */
97
50
  export function formatMonitorNote(text) {
98
- return `\n\n[Monitor update]\n${capMonitorNotifications(text)}`;
51
+ return frameNotice('monitor', '[Monitor update]', capMonitorNotifications(text));
99
52
  }
100
53
  /** One `formatSystemEvent` rendering, found by its nonce-bound opening and closing tags. */
101
54
  const SYSTEM_EVENT_FRAME = /^<system-event-([A-Za-z0-9]+) [^\n]*\n[\s\S]*?\n<\/system-event-\1>$/gm;
@@ -213,29 +166,88 @@ function cutMiddle(text, max) {
213
166
  const tail = room - head;
214
167
  return `${text.slice(0, head)}${marker(text.length - head - tail)}${text.slice(text.length - tail)}`;
215
168
  }
216
- const STEERING_NOTE_HEADER = '\n\n[Message from the operator, received while this tool was running]\n';
169
+ /** The line that opens an operator's message, wherever it is delivered. */
170
+ const STEERING_LABEL = 'The operator wrote this while you were working:';
171
+ /**
172
+ * The operator's message as the frame the model reads. The text is the
173
+ * operator's, the frame says so, and the marker in its tag is drawn fresh so
174
+ * the text cannot close it.
175
+ */
217
176
  export function formatSteeringNote(text) {
218
- return `${STEERING_NOTE_HEADER}${text}`;
177
+ return frameNotice('operator-message', STEERING_LABEL, text);
219
178
  }
179
+ /** The frame older sessions recorded inside a tool result, fixed tag and all. */
180
+ const LEGACY_STEERING_HEADER = `\n\n<${NOTICE_TAG} kind="operator-message">\n[Message from the operator, received while this tool was running]\nThis is the operator's own message, typed while the tool above was running. It is not output of that tool.\n`;
181
+ const LEGACY_STEERING_FOOTER = `\n</${NOTICE_TAG}>`;
220
182
  /**
221
- * The operator guidance the last steering note in a tool result carries, or
222
- * `undefined` when the result carries none. The inverse of
223
- * {@link formatSteeringNote} applied by {@link attachSteering}.
183
+ * The operator guidance a recorded message carries, or `undefined` when it
184
+ * carries none. The inverse of {@link formatSteeringNote}; it also reads the
185
+ * note older sessions appended to the end of a tool result. The text comes back
186
+ * as the frame held it, with the notice tag already made inert.
224
187
  */
225
188
  export function readSteeringNote(content) {
226
- const at = content.lastIndexOf(STEERING_NOTE_HEADER);
227
- return at < 0 ? undefined : content.slice(at + STEERING_NOTE_HEADER.length);
189
+ const framed = readOperatorNotice(content);
190
+ if (framed !== undefined)
191
+ return framed;
192
+ const at = content.lastIndexOf(LEGACY_STEERING_HEADER);
193
+ if (at < 0)
194
+ return undefined;
195
+ const body = content.slice(at + LEGACY_STEERING_HEADER.length);
196
+ return body.endsWith(LEGACY_STEERING_FOOTER)
197
+ ? body.slice(0, -LEGACY_STEERING_FOOTER.length)
198
+ : body;
199
+ }
200
+ function hasToolResult(messages) {
201
+ return messages.some((message) => message.role === 'tool');
228
202
  }
229
203
  /**
230
- * Append the guidance to the last tool result in a settled batch.
204
+ * The operator's message for a settled tool batch, as a user-role message of its
205
+ * own, or `undefined` when nothing is queued or the batch has no tool result.
231
206
  *
232
- * The LAST one, so it is the final thing the model reads before deciding what
233
- * to do next — appending to the first would bury it under every later result.
207
+ * It follows the batch, at the next request boundary. The tool results stay what
208
+ * the tools returned, and the operator's words arrive as the operator's, which a
209
+ * model reads as direction. A turn that called no tool leaves the guidance
210
+ * queued; the loop delivers it at the next-turn boundary.
211
+ */
212
+ export function takeSteeringMessage(messages, channel,
213
+ /** Receives accepted operator text, never inferred from a tool's output. */
214
+ onDelivered) {
215
+ if (!channel?.pending || !hasToolResult(messages))
216
+ return undefined;
217
+ const guidance = channel.drain();
218
+ if (guidance === undefined)
219
+ return undefined;
220
+ onDelivered?.(guidance);
221
+ return createRuntimeContextMessage(formatSteeringNote(guidance), 'steering');
222
+ }
223
+ /**
224
+ * A kernel notice (a job's exit, a monitor's events) for a settled tool batch,
225
+ * as a user-role message of its own, under the same rules as
226
+ * {@link takeSteeringMessage}.
227
+ */
228
+ export function takeNoticeMessage(messages, channel, format,
229
+ /**
230
+ * Told only when the text actually became a message the model will read.
231
+ * Draining is not delivery, which matters to the caller that keeps its own
232
+ * record of what the text accounts for: `AwaitedJobs` drops an exit's entry
233
+ * here, and a premature drop would strand the exit.
234
+ */
235
+ onDelivered) {
236
+ if (!channel?.pending || !hasToolResult(messages))
237
+ return undefined;
238
+ const text = channel.drain();
239
+ if (text === undefined)
240
+ return undefined;
241
+ onDelivered?.();
242
+ return createRuntimeContextMessage(format(text), 'job-exit');
243
+ }
244
+ /**
245
+ * Append the guidance to the last tool result in a settled batch.
234
246
  *
235
- * Returns the messages unchanged when there is nothing queued, and when the
236
- * batch carries no tool result to attach to. The second case is not a failure
237
- * to handle: a turn that called no tools has nothing in flight, so guidance
238
- * belongs to the next turn and stays queued for it.
247
+ * @deprecated The kernel no longer delivers guidance this way: a tool result
248
+ * carries only what the tool returned, and {@link takeSteeringMessage} sends the
249
+ * operator's words as a message of their own. Kept so a host that calls it keeps
250
+ * working.
239
251
  */
240
252
  export function attachSteering(messages, channel,
241
253
  /** Receives accepted operator text, never inferred from a tool's output. */
@@ -255,12 +267,6 @@ onDelivered) {
255
267
  if (guidance === undefined)
256
268
  return messages;
257
269
  const target = messages[lastToolIndex];
258
- // Only text is extended. A tool that answered with structured content —
259
- // an image block, say — has a shape the model reads positionally, and
260
- // appending a string to it would either be dropped or corrupt the block.
261
- // Such a result keeps its content and the note follows it as its own text
262
- // part where the shape allows, and otherwise the guidance stays queued
263
- // for the next turn rather than being forced into a slot it does not fit.
264
270
  if (typeof target.content !== 'string') {
265
271
  channel.steer(guidance);
266
272
  return messages;
@@ -268,7 +274,7 @@ onDelivered) {
268
274
  const next = [...messages];
269
275
  next[lastToolIndex] = {
270
276
  ...target,
271
- content: target.content + formatSteeringNote(guidance),
277
+ content: `${target.content}\n\n${formatSteeringNote(guidance)}`,
272
278
  };
273
279
  onDelivered?.(guidance);
274
280
  return next;
@@ -1 +1 @@
1
- {"version":3,"file":"steering.js","sourceRoot":"","sources":["../../../src/runtime/query/steering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"steering.js","sourceRoot":"","sources":["../../../src/runtime/query/steering.ts"],"names":[],"mappings":"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"}
@@ -174,6 +174,9 @@ function usageAtLeast(current, previous) {
174
174
  return true;
175
175
  if (current === undefined)
176
176
  return false;
177
- return Object.entries(previous).every(([field, amount]) => typeof amount !== 'number' || (current[field] ?? 0) >= amount);
177
+ return Object.entries(previous).every(([field, amount]) => typeof amount !== 'number' ||
178
+ field === 'cacheTtlMs' ||
179
+ // `cacheTtlMs` is a per-call lifetime, not a running count: it has no order.
180
+ (current[field] ?? 0) >= amount);
178
181
  }
179
182
  //# sourceMappingURL=disk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"disk.js","sourceRoot":"","sources":["../../../src/store/budget/disk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"disk.js","sourceRoot":"","sources":["../../../src/store/budget/disk.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admit-facts.d.ts","sourceRoot":"","sources":["../../src/tools/admit-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAqB,MAAM,+BAA+B,CAAA;AAsF/F;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CA6FpE"}
1
+ {"version":3,"file":"admit-facts.d.ts","sourceRoot":"","sources":["../../src/tools/admit-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAqB,MAAM,+BAA+B,CAAA;AA2F/F;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CA8FpE"}
@@ -8,6 +8,11 @@ const FAILURE_REASONS = [
8
8
  'unknown_tool',
9
9
  'timed_out',
10
10
  'invalid_input',
11
+ 'not_read',
12
+ 'changed_on_disk',
13
+ 'text_not_found',
14
+ 'not_unique',
15
+ 'invalid_arguments',
11
16
  ];
12
17
  const WRITE_OPERATIONS = ['created', 'updated', 'unchanged', 'wrote'];
13
18
  /** Bounds on what a saved record is allowed to hold. */
@@ -94,6 +99,7 @@ export function admitToolFacts(value) {
94
99
  exitCode: typeof value.exitCode === 'number' && Number.isSafeInteger(value.exitCode)
95
100
  ? value.exitCode
96
101
  : undefined,
102
+ exitNote: text(value.exitNote),
97
103
  timedOut: flag(value.timedOut),
98
104
  signal: text(value.signal),
99
105
  binary: isRecord(value.binary) && count(value.binary.bytes) !== undefined
@@ -1 +1 @@
1
- {"version":3,"file":"admit-facts.js","sourceRoot":"","sources":["../../src/tools/admit-facts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admit-facts.js","sourceRoot":"","sources":["../../src/tools/admit-facts.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,14 @@ declare const BashToolBase: import("../../public-types.js").ToolDefinition<{
75
75
  run_in_background?: boolean | undefined;
76
76
  dangerously_disable_sandbox?: boolean | undefined;
77
77
  }>;
78
+ /**
79
+ * Say that credential-shaped variables were left out of this command's
80
+ * environment. The count is enough: the model needs to know a missing
81
+ * credential is deliberate and who to ask, and the names are the user's data.
82
+ * A command that failed because it wanted one otherwise reports an
83
+ * authentication error pointing nowhere.
84
+ */
85
+ export declare function describeWithheldEnv(dropped: readonly string[]): string;
78
86
  /**
79
87
  * The same tool, whose description gains the Windows guidance when the host
80
88
  * shell is Git Bash. Resolved on first read, not at import: finding Git Bash
@@ -1 +1 @@
1
- {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/bash.ts"],"names":[],"mappings":"AASA,OAAO,EACN,KAAK,YAAY,EAQjB,cAAc,EAEd,MAAM,qBAAqB,CAAA;AAwC5B;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,mCAAmC,CAAA;AAE5E,wBAAgB,uBAAuB,IAAI,OAAO,CAGjD;AAcD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGjF;AA8GD,sFAAsF;AACtF,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE;IAC5C,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;CACZ,KAAK,IAAI,CAAA;AAEV;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACR,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,yEAAyE;IACzE,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE;QACrB,KAAK,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;QACxC,aAAa,EAAE,SAAS;YAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KACvE,KAAK,MAAM,GAAG,SAAS,CAAA;CACxB,GACC,OAAO,CAAC;IACV,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAC,CA+LD;AAED,uGAAuG;AACvG,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,6GAA6G;AAC7G,eAAO,MAAM,qBAAqB,4NACwL,CAAA;AAE1N;;;GAGG;AACH,eAAO,MAAM,2BAA2B,sSAC4P,CAAA;AAKpS,QAAA,MAAM,YAAY;;;;;EA4XhB,CAAA;AAkEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,YAW7B,CAAA"}
1
+ {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/bash.ts"],"names":[],"mappings":"AASA,OAAO,EACN,KAAK,YAAY,EAQjB,cAAc,EAEd,MAAM,qBAAqB,CAAA;AAyC5B;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,mCAAmC,CAAA;AAE5E,wBAAgB,uBAAuB,IAAI,OAAO,CAGjD;AAcD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGjF;AA8GD,sFAAsF;AACtF,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE;IAC5C,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;CACZ,KAAK,IAAI,CAAA;AAEV;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACR,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,yEAAyE;IACzE,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE;QACrB,KAAK,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;QACxC,aAAa,EAAE,SAAS;YAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KACvE,KAAK,MAAM,GAAG,SAAS,CAAA;CACxB,GACC,OAAO,CAAC;IACV,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAC,CA+LD;AAED,uGAAuG;AACvG,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,6GAA6G;AAC7G,eAAO,MAAM,qBAAqB,4NACwL,CAAA;AAE1N;;;GAGG;AACH,eAAO,MAAM,2BAA2B,sSAC4P,CAAA;AAKpS,QAAA,MAAM,YAAY;;;;;EAyYhB,CAAA;AAiDF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAItE;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,YAW7B,CAAA"}
@@ -11,6 +11,7 @@ import { defineTool } from '../defineTool.js';
11
11
  import { scrubInheritedEnv } from '../env-scrub.js';
12
12
  import { createHostOutputDecoder } from '../host-output.js';
13
13
  import { looksBinary, windowText } from '../text-window.js';
14
+ import { judgeExit } from './exit-semantics.js';
14
15
  import { jsonStringEscapes } from './json-string-hint.js';
15
16
  // Namzu owns its own bash timeout knob — `NAMZU_BASH_TIMEOUT_MS` — and
16
17
  // reads no consumer's env name. A consumer that wants one knob aliases
@@ -68,7 +69,7 @@ function startsWithSleep(command) {
68
69
  */
69
70
  export function movedToBackgroundMessage(jobId, timeoutMs) {
70
71
  const seconds = Math.max(1, Math.round(timeoutMs / 1000));
71
- return `Command did not complete within its ${seconds}s timeout and was moved to the background as job ${jobId}; it was not stopped. You will be told when it ends. Await it with wait_for_job: {"id":"${jobId}"}, read its output with job action "read" (id "${jobId}"), or stop it with job action "kill". Its output so far is above.`;
72
+ return `Command did not complete within its ${seconds}s timeout and was moved to the background as job ${jobId}; it was not stopped. You will be told when it ends. Its output so far is above.`;
72
73
  }
73
74
  const inputSchema = z.object({
74
75
  command: z
@@ -78,7 +79,7 @@ const inputSchema = z.object({
78
79
  // Rewritten here, before the permission rules read the line and before
79
80
  // it runs, so the two see the same text.
80
81
  .transform((command) => isWindowsBash(hostCommandShell()) ? rewriteWindowsNullRedirect(command) : command)
81
- .describe('The bash command to execute. Required, non-empty. Single command per call (use `&&` / `;` chaining for compound commands). Avoid heredocs that span more than a few hundred bytes — large content should be created with `write`, then extended with `edit` insertLine: "end", not piped into bash.'),
82
+ .describe('The bash command to execute. Required, non-empty. Single command per call (use `&&` / `;` chaining for compound commands). Large file content belongs in `write` (see its description), not in a heredoc.'),
82
83
  timeout: z
83
84
  .preprocess((v) => (typeof v === 'string' ? Number(v) : v), z
84
85
  .number()
@@ -89,7 +90,7 @@ const inputSchema = z.object({
89
90
  run_in_background: z
90
91
  .boolean()
91
92
  .optional()
92
- .describe('Start the command as a background job and return its id immediately. For a finite build, await completion with `wait_for_job`. For a persistent server, use `wait_for_job` with output_contains and optional output_stream to observe its literal readiness marker without waiting for exit; verify health separately. Use `job` action "read" for incremental output or after a wait times out. Do NOT use `cmd &` as a substitute for a registered job: strict execution ownership can retire the allocation when the launcher exits with live descendants. An interactive application may belong to a dedicated computer only when that computer explicitly supports application lifetime; its launch result is not a registered job or proof the application has finished.'),
93
+ .describe('Start the command as a background job and return its id immediately. For a finite build, await completion with `wait_for_job`. For a persistent server, use `wait_for_job` with output_contains and optional output_stream to observe its literal readiness marker without waiting for exit; verify health separately. Use `job` action "read" for incremental output or after a wait times out. Background a command with this parameter, since `cmd &` is not a registered job: strict execution ownership can retire the allocation when the launcher exits with live descendants. An interactive application may belong to a dedicated computer only when that computer explicitly supports application lifetime; its launch result is not a registered job or proof the application has finished.'),
93
94
  dangerously_disable_sandbox: z
94
95
  .boolean()
95
96
  .optional()
@@ -372,7 +373,7 @@ export const SANDBOX_CANNOT_DETACH = 'run_in_background is unavailable: this san
372
373
  * approval; exported so the test states the same words.
373
374
  */
374
375
  export const SANDBOX_ESCAPE_NOT_APPROVED = 'dangerously_disable_sandbox was not approved for this call, so the command did not run. Leaving the sandbox needs the user to confirm it each time, and this turn either cannot ask or does not allow it. Run the command inside the sandbox, or tell the user what it needs and let them run it.';
375
- const BASH_DESCRIPTION = 'Executes a command line using the execution shell disclosed in the system context and returns stdout/stderr output. Command timeout is configurable. The `command` parameter is required — never call this tool with empty arguments. For very long content (e.g. building a large file), prefer `write` for the opening and `edit` with insertLine: "end" for follow-up chunks over a heredoc to avoid hitting the output token limit mid-stream.';
376
+ const BASH_DESCRIPTION = 'Executes a command line using the execution shell disclosed in the system context and returns stdout/stderr output. Command timeout is configurable. The `command` parameter is required, so every call carries one. Long file content goes through `write`, not a heredoc, so it cannot hit the output token limit mid-stream.';
376
377
  const BashToolBase = defineTool({
377
378
  name: 'bash',
378
379
  description: BASH_DESCRIPTION,
@@ -502,7 +503,7 @@ const BashToolBase = defineTool({
502
503
  }
503
504
  return {
504
505
  success: true,
505
- output: `Started background job ${job.id}. For finite work, await completion with wait_for_job: {"id":"${job.id}"}. For a persistent server, observe its literal readiness marker with wait_for_job: {"id":"${job.id}","output_contains":"<expected marker>","output_stream":"stdout"}; this leaves it running and does not prove health. Use job with action "read" for incremental output.`,
506
+ output: `Started background job ${job.id}; state: running.`,
506
507
  data: { jobId: job.id, background: true },
507
508
  facts: { kind: 'command', command: input.command, background: true },
508
509
  };
@@ -571,11 +572,14 @@ const BashToolBase = defineTool({
571
572
  ]
572
573
  .filter(Boolean)
573
574
  .join('\n\n');
575
+ const judged = result.timedOut ? undefined : judgeExit(input.command, result.exitCode);
576
+ const answered = judged !== undefined && !judged.isError;
574
577
  return {
575
- success: !result.timedOut && result.exitCode === 0,
578
+ success: answered,
576
579
  output: output || '(no output)',
577
580
  data: {
578
581
  exitCode: result.exitCode,
582
+ ...(judged?.note ? { exitNote: judged.note } : {}),
579
583
  sandboxed: true,
580
584
  timedOut: result.timedOut,
581
585
  stdoutTruncated: result.stdoutTruncated ?? false,
@@ -583,12 +587,13 @@ const BashToolBase = defineTool({
583
587
  },
584
588
  error: result.timedOut
585
589
  ? `Command timed out after ${input.timeout}ms. Any captured output before the deadline is above.`
586
- : result.exitCode !== 0
590
+ : !answered
587
591
  ? `Command exited with code ${result.exitCode}`
588
592
  : undefined,
589
593
  facts: commandFacts({
590
594
  command: input.command,
591
595
  exitCode: result.exitCode,
596
+ ...(judged?.note ? { exitNote: judged.note } : {}),
592
597
  timedOut: result.timedOut,
593
598
  stdout: result.stdout,
594
599
  stderr: result.stderr,
@@ -684,34 +689,42 @@ const BashToolBase = defineTool({
684
689
  // and appending this to every result would make the common case noisy
685
690
  // to buy nothing. A failing one is exactly where "authentication
686
691
  // failed" has to be distinguishable from "the variable was withheld".
692
+ // A status the command uses to answer (no match, files differ) is a
693
+ // result, not a failure; the model sees it as an ordinary call.
694
+ const judged = !timedOut && exitCode !== undefined ? judgeExit(input.command, exitCode) : undefined;
695
+ const answered = judged !== undefined && !judged.isError;
687
696
  const output = [
688
697
  formatShellOutput(failure.stdout, failure.stderr),
689
698
  clipped.length > 0
690
699
  ? `[${clipped.join(' and ')} ${clipped.length === 1 ? 'was' : 'were'} truncated by the host output cap. The omitted output is unavailable in this result.]`
691
700
  : '',
692
- describeWithheldEnv(inherited.dropped),
701
+ answered ? '' : describeWithheldEnv(inherited.dropped),
693
702
  ]
694
703
  .filter(Boolean)
695
704
  .join('\n\n');
696
705
  return {
697
- success: false,
706
+ success: answered,
698
707
  output: output || '(no output)',
699
708
  data: {
700
709
  ...(exitCode !== undefined ? { exitCode } : {}),
710
+ ...(judged?.note ? { exitNote: judged.note } : {}),
701
711
  ...(leaveSandbox ? { sandboxed: false, sandboxEscape: true } : {}),
702
712
  timedOut,
703
713
  stdoutTruncated: failure.stdoutTruncated ?? false,
704
714
  stderrTruncated: failure.stderrTruncated ?? false,
705
715
  ...(failure.signal ? { signal: failure.signal } : {}),
706
716
  },
707
- error: timedOut
708
- ? `Command timed out after ${input.timeout}ms. Any output it produced before the deadline is above.`
709
- : exitCode !== undefined
710
- ? `Command exited with code ${exitCode}`
711
- : `Command failed: ${failure.message}`,
717
+ error: answered
718
+ ? undefined
719
+ : timedOut
720
+ ? `Command timed out after ${input.timeout}ms. Any output it produced before the deadline is above.`
721
+ : exitCode !== undefined
722
+ ? `Command exited with code ${exitCode}`
723
+ : `Command failed: ${failure.message}`,
712
724
  facts: commandFacts({
713
725
  command: input.command,
714
726
  ...(exitCode !== undefined ? { exitCode } : {}),
727
+ ...(judged?.note ? { exitNote: judged.note } : {}),
715
728
  timedOut,
716
729
  ...(failure.signal ? { signal: failure.signal } : {}),
717
730
  stdout: failure.stdout ?? '',
@@ -739,6 +752,7 @@ function commandFacts(input) {
739
752
  kind: 'command',
740
753
  command: input.command,
741
754
  ...(input.exitCode !== undefined ? { exitCode: input.exitCode } : {}),
755
+ ...(input.exitNote ? { exitNote: input.exitNote } : {}),
742
756
  ...(input.timedOut ? { timedOut: true } : {}),
743
757
  ...(input.signal ? { signal: input.signal } : {}),
744
758
  ...(input.stdout && !outBinary ? { stdout: windowText(input.stdout, outBytes) } : {}),
@@ -757,23 +771,18 @@ function formatShellOutput(stdout, stderr) {
757
771
  .filter(Boolean)
758
772
  .join('\n\n');
759
773
  }
760
- /** How many withheld names to print before summarising the rest. */
761
- const WITHHELD_ENV_PREVIEW = 10;
762
774
  /**
763
- * Name the credential-shaped variables this command did not inherit.
764
- *
765
- * Names only, never values. A command that failed because it wanted
766
- * `FOO_TOKEN` otherwise reports an authentication error pointing nowhere; the
767
- * next move — have the host pass it explicitly through `context.env` — is only
768
- * available to a reader who knows it was withheld rather than unset.
775
+ * Say that credential-shaped variables were left out of this command's
776
+ * environment. The count is enough: the model needs to know a missing
777
+ * credential is deliberate and who to ask, and the names are the user's data.
778
+ * A command that failed because it wanted one otherwise reports an
779
+ * authentication error pointing nowhere.
769
780
  */
770
- function describeWithheldEnv(dropped) {
781
+ export function describeWithheldEnv(dropped) {
771
782
  if (dropped.length === 0)
772
783
  return '';
773
- const shown = dropped.slice(0, WITHHELD_ENV_PREVIEW).join(', ');
774
- const rest = dropped.length - WITHHELD_ENV_PREVIEW;
775
- const names = rest > 0 ? `${shown}, and ${rest} more` : shown;
776
- return `NOTE: ${dropped.length} credential-shaped environment variable(s) were withheld from this command and are unset rather than empty: ${names}. A host that means this command to have one passes it explicitly.`;
784
+ const one = dropped.length === 1;
785
+ return `NOTE: ${dropped.length} credential-shaped environment ${one ? 'variable was' : 'variables were'} removed from this command's environment, so ${one ? 'it reads' : 'they read'} as unset. Ask the user if the command needs ${one ? 'it' : 'one'}.`;
777
786
  }
778
787
  /**
779
788
  * The same tool, whose description gains the Windows guidance when the host