@qduc/term2 0.20.0 → 0.21.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 (424) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +146 -94
  3. package/dist/agent.js.map +1 -1
  4. package/dist/app.d.ts +1 -1
  5. package/dist/app.d.ts.map +1 -1
  6. package/dist/app.js +62 -36
  7. package/dist/app.js.map +1 -1
  8. package/dist/cli.js +113 -36
  9. package/dist/cli.js.map +1 -1
  10. package/dist/commands/guarded-settings-command.d.ts.map +1 -1
  11. package/dist/commands/guarded-settings-command.js +33 -5
  12. package/dist/commands/guarded-settings-command.js.map +1 -1
  13. package/dist/commands/mode-commands.d.ts +17 -12
  14. package/dist/commands/mode-commands.d.ts.map +1 -1
  15. package/dist/commands/mode-commands.js +68 -44
  16. package/dist/commands/mode-commands.js.map +1 -1
  17. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  18. package/dist/components/input/ApplicationInputSurface.js +4 -0
  19. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  20. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  21. package/dist/components/input/MenuSurface.js +1 -0
  22. package/dist/components/input/MenuSurface.js.map +1 -1
  23. package/dist/components/input/ProfileMenuSession.d.ts +16 -0
  24. package/dist/components/input/ProfileMenuSession.d.ts.map +1 -0
  25. package/dist/components/input/ProfileMenuSession.js +64 -0
  26. package/dist/components/input/ProfileMenuSession.js.map +1 -0
  27. package/dist/components/input/determine-active-menu.d.ts +3 -0
  28. package/dist/components/input/determine-active-menu.d.ts.map +1 -1
  29. package/dist/components/input/determine-active-menu.js +6 -1
  30. package/dist/components/input/determine-active-menu.js.map +1 -1
  31. package/dist/components/input/menu-registry.d.ts.map +1 -1
  32. package/dist/components/input/menu-registry.js +2 -0
  33. package/dist/components/input/menu-registry.js.map +1 -1
  34. package/dist/components/input/menu-types.d.ts +4 -0
  35. package/dist/components/input/menu-types.d.ts.map +1 -1
  36. package/dist/components/input/triggers.d.ts +1 -0
  37. package/dist/components/input/triggers.d.ts.map +1 -1
  38. package/dist/components/input/triggers.js +26 -0
  39. package/dist/components/input/triggers.js.map +1 -1
  40. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  41. package/dist/components/layout/BackgroundTaskManager.js +6 -2
  42. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  43. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  44. package/dist/components/layout/BackgroundTasksPanel.js +16 -8
  45. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  46. package/dist/components/layout/Banner.d.ts.map +1 -1
  47. package/dist/components/layout/Banner.js +10 -5
  48. package/dist/components/layout/Banner.js.map +1 -1
  49. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  50. package/dist/components/layout/StatusBar.js +25 -12
  51. package/dist/components/layout/StatusBar.js.map +1 -1
  52. package/dist/components/menu/ProfileSelectionMenu.d.ts +12 -0
  53. package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -0
  54. package/dist/components/menu/ProfileSelectionMenu.js +48 -0
  55. package/dist/components/menu/ProfileSelectionMenu.js.map +1 -0
  56. package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
  57. package/dist/components/menu/ResumeSelectionMenu.js +6 -14
  58. package/dist/components/menu/ResumeSelectionMenu.js.map +1 -1
  59. package/dist/components/message/ChatMessage.js +1 -1
  60. package/dist/components/message/ChatMessage.js.map +1 -1
  61. package/dist/components/message/MessageList.d.ts.map +1 -1
  62. package/dist/components/message/MessageList.js +15 -9
  63. package/dist/components/message/MessageList.js.map +1 -1
  64. package/dist/components/message/command-message-helpers.d.ts +5 -5
  65. package/dist/context/InputContext.d.ts +1 -1
  66. package/dist/context/InputContext.d.ts.map +1 -1
  67. package/dist/context/InputContext.js +8 -0
  68. package/dist/context/InputContext.js.map +1 -1
  69. package/dist/contracts/session-rollover.d.ts +9 -1
  70. package/dist/contracts/session-rollover.d.ts.map +1 -1
  71. package/dist/contracts/streamed-model-turn.d.ts +20 -2
  72. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  73. package/dist/gateway/gateway.d.ts.map +1 -1
  74. package/dist/gateway/gateway.js +19 -23
  75. package/dist/gateway/gateway.js.map +1 -1
  76. package/dist/gateway/launcher-seam.d.ts.map +1 -1
  77. package/dist/gateway/launcher-seam.js +2 -19
  78. package/dist/gateway/launcher-seam.js.map +1 -1
  79. package/dist/gateway/settings-rpc.d.ts +1 -1
  80. package/dist/gateway/settings-rpc.d.ts.map +1 -1
  81. package/dist/gateway/settings-rpc.js +2 -0
  82. package/dist/gateway/settings-rpc.js.map +1 -1
  83. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  84. package/dist/hooks/settings-completion-config.js +25 -1
  85. package/dist/hooks/settings-completion-config.js.map +1 -1
  86. package/dist/hooks/use-app-commands.d.ts +3 -1
  87. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  88. package/dist/hooks/use-app-commands.js +21 -14
  89. package/dist/hooks/use-app-commands.js.map +1 -1
  90. package/dist/hooks/use-conversation.d.ts +2 -2
  91. package/dist/hooks/use-conversation.d.ts.map +1 -1
  92. package/dist/hooks/use-conversation.js +1 -1
  93. package/dist/hooks/use-conversation.js.map +1 -1
  94. package/dist/hooks/use-handoff-flow.d.ts +1 -0
  95. package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
  96. package/dist/hooks/use-handoff-flow.js +19 -12
  97. package/dist/hooks/use-handoff-flow.js.map +1 -1
  98. package/dist/hooks/use-profile-selection.d.ts +34 -0
  99. package/dist/hooks/use-profile-selection.d.ts.map +1 -0
  100. package/dist/hooks/use-profile-selection.js +103 -0
  101. package/dist/hooks/use-profile-selection.js.map +1 -0
  102. package/dist/hooks/use-resume-selection.d.ts +2 -0
  103. package/dist/hooks/use-resume-selection.d.ts.map +1 -1
  104. package/dist/hooks/use-resume-selection.js +11 -9
  105. package/dist/hooks/use-resume-selection.js.map +1 -1
  106. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  107. package/dist/hooks/use-settings-value-completion.js +16 -0
  108. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  109. package/dist/hooks/use-skill-selection.d.ts +5 -3
  110. package/dist/hooks/use-skill-selection.d.ts.map +1 -1
  111. package/dist/hooks/use-skill-selection.js +8 -6
  112. package/dist/hooks/use-skill-selection.js.map +1 -1
  113. package/dist/lib/agent-client.d.ts.map +1 -1
  114. package/dist/lib/agent-client.js +50 -14
  115. package/dist/lib/agent-client.js.map +1 -1
  116. package/dist/lib/agent-configuration.d.ts.map +1 -1
  117. package/dist/lib/agent-configuration.js +1 -4
  118. package/dist/lib/agent-configuration.js.map +1 -1
  119. package/dist/lib/agent-factory.d.ts.map +1 -1
  120. package/dist/lib/agent-factory.js +63 -41
  121. package/dist/lib/agent-factory.js.map +1 -1
  122. package/dist/lib/harness-input-idle.d.ts +10 -0
  123. package/dist/lib/harness-input-idle.d.ts.map +1 -1
  124. package/dist/lib/harness-input-idle.js +47 -5
  125. package/dist/lib/harness-input-idle.js.map +1 -1
  126. package/dist/non-interactive.d.ts.map +1 -1
  127. package/dist/non-interactive.js +6 -6
  128. package/dist/non-interactive.js.map +1 -1
  129. package/dist/prompts/memory.md +1 -1
  130. package/dist/prompts/prefix-quality.test.ts +8 -5
  131. package/dist/prompts/prompt-constructor.d.ts +5 -6
  132. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  133. package/dist/prompts/prompt-constructor.js +15 -7
  134. package/dist/prompts/prompt-constructor.js.map +1 -1
  135. package/dist/prompts/prompt-constructor.test.ts +73 -48
  136. package/dist/prompts/prompt-constructor.ts +21 -13
  137. package/dist/prompts/session-browser.md +2 -0
  138. package/dist/prompts/shell-auto-approval.d.ts +2 -2
  139. package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
  140. package/dist/prompts/shell-auto-approval.js +19 -16
  141. package/dist/prompts/shell-auto-approval.js.map +1 -1
  142. package/dist/prompts/shell-auto-approval.ts +19 -16
  143. package/dist/providers/aborted-stream-recorder.js +2 -1
  144. package/dist/providers/aborted-stream-recorder.js.map +1 -1
  145. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  146. package/dist/providers/ai-sdk-streamed-model.js +7 -0
  147. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  148. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  149. package/dist/providers/codex-responses-model.js +75 -14
  150. package/dist/providers/codex-responses-model.js.map +1 -1
  151. package/dist/providers/codex-turn-converter.d.ts.map +1 -1
  152. package/dist/providers/codex-turn-converter.js +21 -4
  153. package/dist/providers/codex-turn-converter.js.map +1 -1
  154. package/dist/providers/codex.provider.d.ts.map +1 -1
  155. package/dist/providers/codex.provider.js +1 -0
  156. package/dist/providers/codex.provider.js.map +1 -1
  157. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
  158. package/dist/providers/fetch/logging-middleware.js +22 -2
  159. package/dist/providers/fetch/logging-middleware.js.map +1 -1
  160. package/dist/providers/openai-chat-completions-model.js +119 -50
  161. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  162. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  163. package/dist/providers/openai-responses-model.js +131 -15
  164. package/dist/providers/openai-responses-model.js.map +1 -1
  165. package/dist/providers/registry.d.ts +1 -1
  166. package/dist/providers/registry.d.ts.map +1 -1
  167. package/dist/providers/retrying-model.d.ts.map +1 -1
  168. package/dist/providers/retrying-model.js +11 -2
  169. package/dist/providers/retrying-model.js.map +1 -1
  170. package/dist/services/agent-runtime/application-run-loop.d.ts +3 -1
  171. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  172. package/dist/services/agent-runtime/application-run-loop.js +99 -19
  173. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  174. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts +2 -3
  175. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts.map +1 -1
  176. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js +18 -9
  177. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js.map +1 -1
  178. package/dist/services/agent-runtime/generation-guard.d.ts +25 -1
  179. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
  180. package/dist/services/agent-runtime/generation-guard.js +105 -1
  181. package/dist/services/agent-runtime/generation-guard.js.map +1 -1
  182. package/dist/services/agent-stream.d.ts +2 -0
  183. package/dist/services/agent-stream.d.ts.map +1 -1
  184. package/dist/services/agent-stream.js.map +1 -1
  185. package/dist/services/approval/approval-decision-policy.js +2 -2
  186. package/dist/services/approval/approval-decision-policy.js.map +1 -1
  187. package/dist/services/approval/shell-auto-approval-evaluator.d.ts +5 -1
  188. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  189. package/dist/services/approval/shell-auto-approval-evaluator.js +42 -18
  190. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  191. package/dist/services/approval/shell-auto-approval-resolver.d.ts +5 -0
  192. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  193. package/dist/services/approval/shell-auto-approval-resolver.js +117 -20
  194. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  195. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  196. package/dist/services/approval/tool-approval-batch-coordinator.js +20 -3
  197. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  198. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  199. package/dist/services/conversation/conversation-adapter.js +2 -9
  200. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  201. package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
  202. package/dist/services/conversation/conversation-decoder.js +6 -2
  203. package/dist/services/conversation/conversation-decoder.js.map +1 -1
  204. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  205. package/dist/services/conversation/conversation-orchestrator.js +14 -1
  206. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  207. package/dist/services/conversation/conversation-persistence.d.ts +30 -0
  208. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  209. package/dist/services/conversation/conversation-persistence.js +101 -7
  210. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  211. package/dist/services/conversation/conversation-replay.d.ts +2 -0
  212. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  213. package/dist/services/conversation/conversation-replay.js +71 -57
  214. package/dist/services/conversation/conversation-replay.js.map +1 -1
  215. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  216. package/dist/services/conversation/conversation-result-builder.js +21 -4
  217. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  218. package/dist/services/conversation/conversation-service.d.ts +3 -2
  219. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  220. package/dist/services/conversation/conversation-service.js +36 -15
  221. package/dist/services/conversation/conversation-service.js.map +1 -1
  222. package/dist/services/conversation/session-browser.d.ts +6 -1
  223. package/dist/services/conversation/session-browser.d.ts.map +1 -1
  224. package/dist/services/conversation/session-browser.js +128 -18
  225. package/dist/services/conversation/session-browser.js.map +1 -1
  226. package/dist/services/handoff/handoff-session.d.ts +2 -0
  227. package/dist/services/handoff/handoff-session.d.ts.map +1 -1
  228. package/dist/services/handoff/handoff-session.js +19 -3
  229. package/dist/services/handoff/handoff-session.js.map +1 -1
  230. package/dist/services/logging/conversation-log-events.d.ts +30 -3
  231. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  232. package/dist/services/logging/conversation-log-events.js +1 -4
  233. package/dist/services/logging/conversation-log-events.js.map +1 -1
  234. package/dist/services/logging/logging-service.d.ts +1 -0
  235. package/dist/services/logging/logging-service.d.ts.map +1 -1
  236. package/dist/services/logging/logging-service.js +5 -2
  237. package/dist/services/logging/logging-service.js.map +1 -1
  238. package/dist/services/logging/provider-traffic.d.ts +8 -1
  239. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  240. package/dist/services/logging/provider-traffic.js +105 -10
  241. package/dist/services/logging/provider-traffic.js.map +1 -1
  242. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  243. package/dist/services/memory/memory-capabilities.js +17 -5
  244. package/dist/services/memory/memory-capabilities.js.map +1 -1
  245. package/dist/services/memory/memory-store.d.ts +17 -0
  246. package/dist/services/memory/memory-store.d.ts.map +1 -1
  247. package/dist/services/memory/memory-store.js +71 -26
  248. package/dist/services/memory/memory-store.js.map +1 -1
  249. package/dist/services/mode-notices.d.ts +12 -9
  250. package/dist/services/mode-notices.d.ts.map +1 -1
  251. package/dist/services/mode-notices.js +83 -54
  252. package/dist/services/mode-notices.js.map +1 -1
  253. package/dist/services/model-service.d.ts +22 -4
  254. package/dist/services/model-service.d.ts.map +1 -1
  255. package/dist/services/model-service.js +148 -1
  256. package/dist/services/model-service.js.map +1 -1
  257. package/dist/services/models/model-catalog-session.d.ts +6 -0
  258. package/dist/services/models/model-catalog-session.d.ts.map +1 -1
  259. package/dist/services/models/model-catalog-session.js +7 -3
  260. package/dist/services/models/model-catalog-session.js.map +1 -1
  261. package/dist/services/models/model-listing.d.ts +57 -0
  262. package/dist/services/models/model-listing.d.ts.map +1 -0
  263. package/dist/services/models/model-listing.js +96 -0
  264. package/dist/services/models/model-listing.js.map +1 -0
  265. package/dist/services/models/model-resolution.d.ts +88 -0
  266. package/dist/services/models/model-resolution.d.ts.map +1 -0
  267. package/dist/services/models/model-resolution.js +292 -0
  268. package/dist/services/models/model-resolution.js.map +1 -0
  269. package/dist/services/plan-mode-interceptor.d.ts.map +1 -1
  270. package/dist/services/plan-mode-interceptor.js +5 -6
  271. package/dist/services/plan-mode-interceptor.js.map +1 -1
  272. package/dist/services/profiles/active-profile.d.ts +5 -0
  273. package/dist/services/profiles/active-profile.d.ts.map +1 -0
  274. package/dist/services/profiles/active-profile.js +33 -0
  275. package/dist/services/profiles/active-profile.js.map +1 -0
  276. package/dist/services/profiles/index.d.ts +9 -0
  277. package/dist/services/profiles/index.d.ts.map +1 -0
  278. package/dist/services/profiles/index.js +9 -0
  279. package/dist/services/profiles/index.js.map +1 -0
  280. package/dist/services/profiles/labels.d.ts +7 -0
  281. package/dist/services/profiles/labels.d.ts.map +1 -0
  282. package/dist/services/profiles/labels.js +22 -0
  283. package/dist/services/profiles/labels.js.map +1 -0
  284. package/dist/services/profiles/legacy-adapter.d.ts +28 -0
  285. package/dist/services/profiles/legacy-adapter.d.ts.map +1 -0
  286. package/dist/services/profiles/legacy-adapter.js +69 -0
  287. package/dist/services/profiles/legacy-adapter.js.map +1 -0
  288. package/dist/services/profiles/profile-transition.d.ts +48 -0
  289. package/dist/services/profiles/profile-transition.d.ts.map +1 -0
  290. package/dist/services/profiles/profile-transition.js +109 -0
  291. package/dist/services/profiles/profile-transition.js.map +1 -0
  292. package/dist/services/profiles/registry.d.ts +17 -0
  293. package/dist/services/profiles/registry.d.ts.map +1 -0
  294. package/dist/services/profiles/registry.js +147 -0
  295. package/dist/services/profiles/registry.js.map +1 -0
  296. package/dist/services/profiles/resolver.d.ts +10 -0
  297. package/dist/services/profiles/resolver.d.ts.map +1 -0
  298. package/dist/services/profiles/resolver.js +573 -0
  299. package/dist/services/profiles/resolver.js.map +1 -0
  300. package/dist/services/profiles/schema.d.ts +960 -0
  301. package/dist/services/profiles/schema.d.ts.map +1 -0
  302. package/dist/services/profiles/schema.js +196 -0
  303. package/dist/services/profiles/schema.js.map +1 -0
  304. package/dist/services/profiles/types.d.ts +224 -0
  305. package/dist/services/profiles/types.d.ts.map +1 -0
  306. package/dist/services/profiles/types.js +9 -0
  307. package/dist/services/profiles/types.js.map +1 -0
  308. package/dist/services/retry/committed-tool-continuation.d.ts +5 -0
  309. package/dist/services/retry/committed-tool-continuation.d.ts.map +1 -1
  310. package/dist/services/retry/committed-tool-continuation.js +6 -3
  311. package/dist/services/retry/committed-tool-continuation.js.map +1 -1
  312. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  313. package/dist/services/retry/retry-classifier.js +13 -10
  314. package/dist/services/retry/retry-classifier.js.map +1 -1
  315. package/dist/services/retry/retry-error-classification.d.ts +7 -0
  316. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  317. package/dist/services/retry/retry-error-classification.js +32 -9
  318. package/dist/services/retry/retry-error-classification.js.map +1 -1
  319. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  320. package/dist/services/runtime-setting-router.js +76 -23
  321. package/dist/services/runtime-setting-router.js.map +1 -1
  322. package/dist/services/session/initial-turn-recovery-handler.js +4 -4
  323. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  324. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  325. package/dist/services/session/session-input-planner.js +2 -9
  326. package/dist/services/session/session-input-planner.js.map +1 -1
  327. package/dist/services/session/session-manager.d.ts.map +1 -1
  328. package/dist/services/session/session-manager.js +4 -1
  329. package/dist/services/session/session-manager.js.map +1 -1
  330. package/dist/services/session-rollover/session-rollover-brief.d.ts +2 -1
  331. package/dist/services/session-rollover/session-rollover-brief.d.ts.map +1 -1
  332. package/dist/services/session-rollover/session-rollover-brief.js +5 -3
  333. package/dist/services/session-rollover/session-rollover-brief.js.map +1 -1
  334. package/dist/services/settings/settings-persistence.js +1 -1
  335. package/dist/services/settings/settings-persistence.js.map +1 -1
  336. package/dist/services/settings/settings-schema.d.ts +124 -15
  337. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  338. package/dist/services/settings/settings-schema.js +110 -26
  339. package/dist/services/settings/settings-schema.js.map +1 -1
  340. package/dist/services/settings/settings-service.d.ts +3 -1
  341. package/dist/services/settings/settings-service.d.ts.map +1 -1
  342. package/dist/services/settings/settings-service.js +88 -91
  343. package/dist/services/settings/settings-service.js.map +1 -1
  344. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  345. package/dist/services/settings/settings-sources.js +13 -0
  346. package/dist/services/settings/settings-sources.js.map +1 -1
  347. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +2 -2
  348. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  349. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +15 -0
  350. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  351. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  352. package/dist/services/subagents/mentor-runner.js +5 -2
  353. package/dist/services/subagents/mentor-runner.js.map +1 -1
  354. package/dist/services/subagents/subagent-notification-store.d.ts +10 -2
  355. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  356. package/dist/services/subagents/subagent-notification-store.js +10 -5
  357. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  358. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  359. package/dist/services/subagents/tool-policy.js +10 -15
  360. package/dist/services/subagents/tool-policy.js.map +1 -1
  361. package/dist/services/tool-toggles.d.ts +20 -0
  362. package/dist/services/tool-toggles.d.ts.map +1 -0
  363. package/dist/services/tool-toggles.js +115 -0
  364. package/dist/services/tool-toggles.js.map +1 -0
  365. package/dist/slash-commands.d.ts +3 -0
  366. package/dist/slash-commands.d.ts.map +1 -1
  367. package/dist/slash-commands.js.map +1 -1
  368. package/dist/tools/agent/configure-task-check-in.d.ts +2 -0
  369. package/dist/tools/agent/configure-task-check-in.d.ts.map +1 -1
  370. package/dist/tools/agent/configure-task-check-in.js +14 -6
  371. package/dist/tools/agent/configure-task-check-in.js.map +1 -1
  372. package/dist/tools/file/apply-patch.d.ts +2 -15
  373. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  374. package/dist/tools/file/apply-patch.js +163 -98
  375. package/dist/tools/file/apply-patch.js.map +1 -1
  376. package/dist/tools/file/upstream-apply-patch.d.ts +31 -0
  377. package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -0
  378. package/dist/tools/file/upstream-apply-patch.js +123 -0
  379. package/dist/tools/file/upstream-apply-patch.js.map +1 -0
  380. package/dist/tools/format-helpers.d.ts +2 -0
  381. package/dist/tools/format-helpers.d.ts.map +1 -1
  382. package/dist/tools/format-helpers.js.map +1 -1
  383. package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -1
  384. package/dist/tools/session-browser/session-browser-tools.js +11 -1
  385. package/dist/tools/session-browser/session-browser-tools.js.map +1 -1
  386. package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
  387. package/dist/tools/session-rollover/session-rollover-tool.js +10 -1
  388. package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
  389. package/dist/tools/system/shell.d.ts.map +1 -1
  390. package/dist/tools/system/shell.js +8 -2
  391. package/dist/tools/system/shell.js.map +1 -1
  392. package/dist/tools/types.d.ts +15 -2
  393. package/dist/tools/types.d.ts.map +1 -1
  394. package/dist/tools/types.js.map +1 -1
  395. package/dist/utils/ai/token-usage.d.ts +7 -0
  396. package/dist/utils/ai/token-usage.d.ts.map +1 -1
  397. package/dist/utils/ai/token-usage.js +6 -2
  398. package/dist/utils/ai/token-usage.js.map +1 -1
  399. package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
  400. package/dist/utils/conversation/conversation-utils.js +40 -1
  401. package/dist/utils/conversation/conversation-utils.js.map +1 -1
  402. package/dist/utils/conversation/message-buffer.d.ts +16 -0
  403. package/dist/utils/conversation/message-buffer.d.ts.map +1 -1
  404. package/dist/utils/conversation/message-buffer.js +33 -0
  405. package/dist/utils/conversation/message-buffer.js.map +1 -1
  406. package/dist/utils/output/trim-tool-output.d.ts +1 -1
  407. package/dist/utils/output/trim-tool-output.d.ts.map +1 -1
  408. package/dist/utils/output/trim-tool-output.js +20 -0
  409. package/dist/utils/output/trim-tool-output.js.map +1 -1
  410. package/dist/utils/resume-list.d.ts +2 -0
  411. package/dist/utils/resume-list.d.ts.map +1 -1
  412. package/dist/utils/resume-list.js +7 -14
  413. package/dist/utils/resume-list.js.map +1 -1
  414. package/dist/utils/settings-command.d.ts.map +1 -1
  415. package/dist/utils/settings-command.js +95 -9
  416. package/dist/utils/settings-command.js.map +1 -1
  417. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  418. package/dist/utils/streaming/streaming-session-factory.js +12 -0
  419. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  420. package/dist/utils/streaming/streaming-speed-tracker.d.ts +15 -0
  421. package/dist/utils/streaming/streaming-speed-tracker.d.ts.map +1 -1
  422. package/dist/utils/streaming/streaming-speed-tracker.js +18 -1
  423. package/dist/utils/streaming/streaming-speed-tracker.js.map +1 -1
  424. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { readFile, writeFile, mkdir } from 'fs/promises';
2
+ import { readFile, writeFile, mkdir, unlink } from 'fs/promises';
3
3
  import path from 'path';
4
4
  import { applyDiff } from '../../utils/apply-diff.js';
5
5
  import { isProtectedHookPath, isWorkspacePathPhysicallyInside, resolveWorkspacePath } from '../utils.js';
@@ -10,6 +10,7 @@ import { TOOL_NAME_APPLY_PATCH } from '../tool-names.js';
10
10
  import { boundToolResultText, truncateToUtf8Bytes } from '../../utils/output/bound-tool-result.js';
11
11
  import { healPatchOperation } from './patch-healing.js';
12
12
  import { resolveAncillaryModelTier } from '../../services/agent-runtime/model-resolver.js';
13
+ import { parseUpstreamApplyPatch } from './upstream-apply-patch.js';
13
14
  /**
14
15
  * Error thrown when patch validation fails (malformed diff)
15
16
  */
@@ -21,52 +22,27 @@ export class PatchValidationError extends Error {
21
22
  this.name = 'PatchValidationError';
22
23
  }
23
24
  }
24
- const applyPatchOperationSchema = z.object({
25
- type: z.enum(['create_file', 'update_file']).describe('Operation type: create_file or update_file.'),
26
- path: z.string().min(1, 'File path cannot be empty').describe('The absolute or relative path to the file.'),
27
- diff: z.string().describe('Headerless unified diff content for create/update operations.'),
28
- });
25
+ // Canonical-only schema: the patch envelope IS the argument. The legacy
26
+ // {type,path,diff} / operations[] JSON shape is deleted, not deprecated —
27
+ // keeping two accepted formats lets the model drift back into the shape
28
+ // suspected of causing whitespace degeneration.
29
29
  const applyPatchParametersSchema = z
30
30
  .object({
31
- type: z.enum(['create_file', 'update_file']).optional(),
32
- path: z.string().min(1, 'File path cannot be empty').optional(),
33
- diff: z.string().describe('Unified diff content for create/update operations').optional(),
34
- operations: z.array(applyPatchOperationSchema).min(1).optional(),
31
+ patch: z
32
+ .string()
33
+ .min(1, 'Patch cannot be empty')
34
+ .describe('Complete patch script starting with *** Begin Patch and ending with *** End Patch.'),
35
35
  })
36
- .superRefine((params, ctx) => {
37
- const hasBatch = Array.isArray(params.operations);
38
- const hasSingle = params.type !== undefined || params.path !== undefined || params.diff !== undefined;
39
- if (hasBatch && hasSingle) {
40
- ctx.addIssue({
41
- code: z.ZodIssueCode.custom,
42
- message: 'Provide either operations or a single type/path/diff operation, not both.',
43
- });
44
- return;
45
- }
46
- if (!hasBatch && (params.type === undefined || params.path === undefined || params.diff === undefined)) {
47
- ctx.addIssue({
48
- code: z.ZodIssueCode.custom,
49
- message: 'Provide operations or all single operation fields: type, path, and diff.',
50
- });
51
- }
52
- });
53
- // Strict tool-schema providers cannot represent the legacy single-operation
54
- // form's mutual exclusion with `operations`. Advertise one unambiguous shape
55
- // while retaining the legacy parser for existing runtime callers.
36
+ .strict();
37
+ // Strict-schema providers receive the identical single-string shape.
56
38
  const applyPatchStrictParametersSchema = z.object({
57
- operations: z.array(applyPatchOperationSchema).min(1),
39
+ patch: z
40
+ .string()
41
+ .min(1, 'Patch cannot be empty')
42
+ .describe('Complete patch script starting with *** Begin Patch and ending with *** End Patch.'),
58
43
  });
59
44
  function getApplyPatchOperations(params) {
60
- if (params.operations) {
61
- return params.operations;
62
- }
63
- return [
64
- {
65
- type: params.type,
66
- path: params.path,
67
- diff: params.diff,
68
- },
69
- ];
45
+ return parseUpstreamApplyPatch(params.patch).operations;
70
46
  }
71
47
  export const formatApplyPatchCommandMessage = (item, index, toolCallArgumentsById) => {
72
48
  const rawItem = item?.providerItem ?? item?.rawItem ?? item;
@@ -81,7 +57,19 @@ export const formatApplyPatchCommandMessage = (item, index, toolCallArgumentsByI
81
57
  item?.toolCallId ??
82
58
  item?.id;
83
59
  const argsFromMap = callId ? toolCallArgumentsById.get(callId) : undefined;
84
- const normalizedArgs = normalizeToolArguments(item?.arguments ?? argsFromMap ?? rawItem?.arguments ?? rawItem?.operation) ?? {};
60
+ const rawArguments = item?.arguments ?? item?.input ?? argsFromMap ?? rawItem?.arguments ?? rawItem?.input ?? rawItem?.operation;
61
+ let normalizedArgs = normalizeToolArguments(rawArguments) ?? {};
62
+ // Canonical-only arguments: a raw envelope string parses to parsed
63
+ // operations; the legacy {type,path,diff} / operations[] object shape is
64
+ // no longer accepted, only displayed from inert history records.
65
+ if (typeof rawArguments === 'string' && rawArguments.trimStart().startsWith('*** Begin Patch')) {
66
+ try {
67
+ normalizedArgs = parseUpstreamApplyPatch(rawArguments);
68
+ }
69
+ catch {
70
+ normalizedArgs = {};
71
+ }
72
+ }
85
73
  const isNativePatchResult = rawItem?.type === 'apply_patch_call_output' || item?.type === 'apply_patch_call_output';
86
74
  const rawStatus = rawItem?.status ?? item?.status;
87
75
  const operations = Array.isArray(normalizedArgs?.operations)
@@ -132,49 +120,69 @@ export const formatApplyPatchCommandMessage = (item, index, toolCallArgumentsByI
132
120
  }),
133
121
  ];
134
122
  };
135
- const APPLY_PATCH_DESCRIPTION = 'Apply file changes using headerless V4A diff format. Supports creating, updating files.\n\n' +
136
- '## CRITICAL RULES:\n' +
137
- '1. Each line MUST start with exactly one character: space, +, or - (followed by the line content)\n' +
138
- '2. Use @@ markers to provide context anchors when needed\n' +
139
- '3. Context lines (unchanged) start with a SPACE character\n' +
140
- '4. Added lines start with + character\n' +
141
- '5. Removed lines start with - character\n' +
142
- '6. DO NOT include line numbers or @@ -n,m +n,m @@ headers (headerless format)\n\n' +
143
- '## CREATE_FILE:\n' +
144
- 'Every line must start with + (no context or - lines):\n' +
123
+ const APPLY_PATCH_DESCRIPTION = 'Apply file changes with a patch script. Write the patch directly — no JSON escaping of the body.\n\n' +
124
+ '```\n' +
125
+ '*** Begin Patch\n' +
126
+ '*** Add File: <path> — create a file; every following line is a + line\n' +
127
+ '*** Update File: <path> — edit a file (add *** Move to: <new-path> directly after to move)\n' +
128
+ '*** Delete File: <path> — delete a file\n' +
129
+ '*** End Patch\n' +
130
+ '```\n\n' +
131
+ '## Rules:\n' +
132
+ '1. Every line starts with exactly one of: space (unchanged context), + (added), - (removed)\n' +
133
+ '2. Prefix every new line with + — including when creating a new file, where EVERY line is a + line\n' +
134
+ '3. Use paths relative to the workspace root, never absolute paths\n' +
135
+ '4. Context lines start with a SPACE character; match the file indentation exactly\n' +
136
+ '5. Use @@ markers (e.g. @@ function calculate) to anchor where the change applies\n' +
137
+ '6. Include 2-3 context lines before and after each change\n\n' +
138
+ '## Grammar:\n' +
145
139
  '```\n' +
140
+ 'Patch := Begin { FileOp } End\n' +
141
+ 'Begin := "*** Begin Patch" NEWLINE\n' +
142
+ 'End := "*** End Patch" NEWLINE\n' +
143
+ 'FileOp := AddFile | DeleteFile | UpdateFile\n' +
144
+ 'AddFile := "*** Add File: " path NEWLINE { "+" line NEWLINE }\n' +
145
+ 'DeleteFile := "*** Delete File: " path NEWLINE\n' +
146
+ 'UpdateFile := "*** Update File: " path NEWLINE [ MoveTo ] { Hunk }\n' +
147
+ 'MoveTo := "*** Move to: " newPath NEWLINE\n' +
148
+ 'Hunk := "@@" [ header ] NEWLINE { HunkLine }\n' +
149
+ 'HunkLine := (" " | "-" | "+") text NEWLINE\n' +
150
+ '```\n\n' +
151
+ '## Examples:\n' +
152
+ 'Create:\n' +
153
+ '```\n' +
154
+ '*** Begin Patch\n' +
155
+ '*** Add File: notes.txt\n' +
146
156
  '+line 1\n' +
147
157
  '+line 2\n' +
148
- '+line 3\n' +
149
- '```\n\n' +
150
- '## UPDATE_FILE:\n' +
151
- 'Provide context (space-prefixed lines) around changes. Include 2-3 lines of context before and after:\n' +
158
+ '*** End Patch\n' +
152
159
  '```\n' +
160
+ 'Update:\n' +
161
+ '```\n' +
162
+ '*** Begin Patch\n' +
163
+ '*** Update File: calc.js\n' +
153
164
  '@@ function calculate\n' +
154
165
  ' function calculate(x) {\n' +
155
166
  '- return x * 2;\n' +
156
167
  '+ return x * 3;\n' +
157
168
  ' }\n' +
169
+ '*** End Patch\n' +
158
170
  '```\n\n' +
159
- '## Context Anchors:\n' +
160
- 'Use @@ markers to help locate code in the file:\n' +
161
- '- For classes: @@ class ClassName\n' +
162
- '- For functions: @@ function functionName\n' +
163
- '- For unique lines: @@ distinctive text from the line\n' +
164
- 'Stack multiple @@ for nested structures:\n' +
171
+ 'Combined (add + update-with-move + delete between one Begin/End pair):\n' +
165
172
  '```\n' +
166
- '@@ class MyClass\n' +
167
- '@@ method doSomething\n' +
168
- ' def doSomething(self):\n' +
169
- '- old code\n' +
170
- '+ new code\n' +
173
+ '*** Begin Patch\n' +
174
+ '*** Add File: hello.txt\n' +
175
+ '+Hello world\n' +
176
+ '*** Update File: src/app.py\n' +
177
+ '*** Move to: src/main.py\n' +
178
+ '@@ def greet():\n' +
179
+ '-print("Hi")\n' +
180
+ '+print("Hello, world!")\n' +
181
+ '*** Delete File: obsolete.txt\n' +
182
+ '*** End Patch\n' +
171
183
  '```\n\n' +
172
- '## Common Mistakes to Avoid:\n' +
173
- '- Missing space/+/- prefix on lines\n' +
174
- '- Including line numbers like "@@ -1,3 +1,4 @@"\n' +
175
- '- Not providing enough context (need 2-3 lines before/after)\n' +
176
- '- Context lines not starting with space character\n' +
177
- '- Using tabs instead of spaces for indentation matching\n\n' +
184
+ 'On failure, earlier operations in the same patch may already be applied — check the per-operation result lines and re-read files before retrying.\n' +
185
+ 'Put the whole script in the single patch argument.\n' +
178
186
  'Returns a plain-text summary with one line per operation: Created <path>, Updated <path>, or Error: <reason>.';
179
187
  export function createApplyPatchToolDefinition(deps) {
180
188
  const { loggingService, settingsService, executionContext, sessionAccess, patchHealing = healPatchOperation } = deps;
@@ -191,11 +199,19 @@ export function createApplyPatchToolDefinition(deps) {
191
199
  });
192
200
  return false;
193
201
  }
202
+ let operations;
203
+ try {
204
+ operations = getApplyPatchOperations(params);
205
+ }
206
+ catch {
207
+ // Envelope parse failures cannot be path-scoped, so require
208
+ // approval and let execute report the syntax error.
209
+ return true;
210
+ }
194
211
  try {
195
212
  const workspaceRoot = executionContext?.getCwd() || process.cwd();
196
213
  const sshService = executionContext?.getSSHService();
197
214
  const isRemote = executionContext?.isRemote() && !!sshService;
198
- const operations = getApplyPatchOperations(params);
199
215
  const resolvedOperations = [];
200
216
  // Resolve and check every target before validation. In particular, do
201
217
  // not read an update target until all batch paths have passed the
@@ -233,11 +249,32 @@ export function createApplyPatchToolDefinition(deps) {
233
249
  return true;
234
250
  }
235
251
  }
236
- resolvedOperations.push({ ...operation, targetPath, insideCwd });
252
+ let moveTargetPath;
253
+ if (operation.moveTo) {
254
+ try {
255
+ moveTargetPath = resolveWorkspacePath(operation.moveTo, workspaceRoot);
256
+ }
257
+ catch {
258
+ return true;
259
+ }
260
+ if (!sessionAccess?.allowsEdit(moveTargetPath, workspaceRoot)) {
261
+ const moveTargetInside = moveTargetPath.startsWith(workspaceRoot + path.sep) ||
262
+ moveTargetPath === SANDBOX_TEMP_DIR ||
263
+ moveTargetPath.startsWith(SANDBOX_TEMP_DIR + path.sep);
264
+ if (!moveTargetInside || isProtectedHookPath(moveTargetPath, workspaceRoot))
265
+ return true;
266
+ }
267
+ }
268
+ resolvedOperations.push({
269
+ ...operation,
270
+ targetPath,
271
+ insideCwd,
272
+ ...(moveTargetPath ? { moveTargetPath } : {}),
273
+ });
237
274
  }
238
- for (const { type, path: filePath, diff, targetPath, insideCwd } of resolvedOperations) {
275
+ for (const { type, path: filePath, diff, targetPath, insideCwd, moveTo } of resolvedOperations) {
239
276
  // Validate diff syntax by attempting a dry-run (before approval)
240
- if (type === 'create_file' || type === 'update_file') {
277
+ if ((type === 'create_file' || type === 'update_file') && !(type === 'update_file' && moveTo && !diff)) {
241
278
  try {
242
279
  if (type === 'create_file') {
243
280
  // Dry-run: apply diff to empty content for new file
@@ -281,16 +318,7 @@ export function createApplyPatchToolDefinition(deps) {
281
318
  return false;
282
319
  }
283
320
  }
284
- // Deletions ALWAYS require approval per policy
285
- // if (type === 'delete_file') {
286
- // loggingService.security('apply_patch needsApproval: delete requires approval', {
287
- // mode,
288
- // type,
289
- // path: filePath,
290
- // });
291
- // return true;
292
- // }
293
- if (!insideCwd || (type !== 'create_file' && type !== 'update_file')) {
321
+ if (!insideCwd || type === 'delete_file' || Boolean(moveTo)) {
294
322
  loggingService.security('apply_patch needsApproval: approval required', {
295
323
  type,
296
324
  path: filePath,
@@ -318,6 +346,14 @@ export function createApplyPatchToolDefinition(deps) {
318
346
  const cwd = executionContext?.getCwd() || process.cwd();
319
347
  const sshService = executionContext?.getSSHService();
320
348
  const isRemote = executionContext?.isRemote() && !!sshService;
349
+ let operations;
350
+ try {
351
+ operations = getApplyPatchOperations(params);
352
+ }
353
+ catch (error) {
354
+ const message = `Error: Invalid patch: ${error?.message || String(error)}`;
355
+ return (await boundToolResultText({ fullText: message })).text;
356
+ }
321
357
  const readFileFn = async (p) => {
322
358
  if (isRemote && sshService)
323
359
  return sshService.readFile(p);
@@ -333,7 +369,7 @@ export function createApplyPatchToolDefinition(deps) {
333
369
  return sshService.mkdir(p);
334
370
  return mkdir(p, { recursive: true });
335
371
  };
336
- const runOperation = async ({ type, path: filePath, diff }) => {
372
+ const runOperation = async ({ type, path: filePath, diff, moveTo }) => {
337
373
  // Standard modes enforce the workspace boundary in `needsApproval`;
338
374
  // YOLO deliberately reaches execute without a permission prompt.
339
375
  const targetPath = resolveWorkspacePath(filePath, cwd, { allowOutsideWorkspace: true });
@@ -410,7 +446,7 @@ export function createApplyPatchToolDefinition(deps) {
410
446
  let patched;
411
447
  let usedHealing = false;
412
448
  try {
413
- patched = applyDiff(original, diff);
449
+ patched = diff ? applyDiff(original, diff) : original;
414
450
  }
415
451
  catch (err) {
416
452
  const errMessage = err?.message || String(err);
@@ -454,7 +490,17 @@ export function createApplyPatchToolDefinition(deps) {
454
490
  };
455
491
  }
456
492
  }
457
- await writeFileFn(targetPath, patched);
493
+ if (moveTo) {
494
+ if (isRemote)
495
+ throw new Error('Move operations are not supported for remote workspaces.');
496
+ const destinationPath = resolveWorkspacePath(moveTo, cwd, { allowOutsideWorkspace: true });
497
+ await mkdirFn(path.dirname(destinationPath));
498
+ await writeFileFn(destinationPath, patched);
499
+ await unlink(targetPath);
500
+ }
501
+ else {
502
+ await writeFileFn(targetPath, patched);
503
+ }
458
504
  if (enableFileLogging) {
459
505
  try {
460
506
  loggingService.debug('File updated', {
@@ -462,6 +508,7 @@ export function createApplyPatchToolDefinition(deps) {
462
508
  originalLength: original.length,
463
509
  patchedLength: patched.length,
464
510
  healed: usedHealing,
511
+ ...(moveTo ? { moveTo } : {}),
465
512
  });
466
513
  }
467
514
  catch (_error) {
@@ -472,7 +519,24 @@ export function createApplyPatchToolDefinition(deps) {
472
519
  success: true,
473
520
  operation: 'update_file',
474
521
  path: filePath,
475
- message: usedHealing ? `Updated ${filePath} (healed)` : `Updated ${filePath}`,
522
+ message: moveTo
523
+ ? `Updated ${filePath} and moved to ${moveTo}`
524
+ : usedHealing
525
+ ? `Updated ${filePath} (healed)`
526
+ : `Updated ${filePath}`,
527
+ };
528
+ });
529
+ }
530
+ case 'delete_file': {
531
+ return withFileLock(targetPath, async () => {
532
+ if (isRemote)
533
+ throw new Error('Delete operations are not supported for remote workspaces.');
534
+ await unlink(targetPath);
535
+ return {
536
+ success: true,
537
+ operation: 'delete_file',
538
+ path: filePath,
539
+ message: `Deleted ${filePath}`,
476
540
  };
477
541
  });
478
542
  }
@@ -486,7 +550,7 @@ export function createApplyPatchToolDefinition(deps) {
486
550
  };
487
551
  try {
488
552
  const output = [];
489
- for (const operation of getApplyPatchOperations(params)) {
553
+ for (const operation of operations) {
490
554
  try {
491
555
  output.push(await runOperation(operation));
492
556
  }
@@ -504,7 +568,7 @@ export function createApplyPatchToolDefinition(deps) {
504
568
  }
505
569
  const joined = output
506
570
  .map((item) => item.success
507
- ? item.message || `Updated ${item.path ?? params.path}`
571
+ ? item.message || `Updated ${item.path ?? 'unknown'}`
508
572
  : `Error: ${(item.error || 'unknown error').replace(/\n/g, ' ')}`)
509
573
  .join('\n');
510
574
  return (await boundToolResultText({ fullText: joined })).text;
@@ -512,8 +576,8 @@ export function createApplyPatchToolDefinition(deps) {
512
576
  catch (error) {
513
577
  if (enableFileLogging) {
514
578
  loggingService.error('File operation failed', {
515
- type: params.type ?? 'batch',
516
- path: params.path ?? 'multiple',
579
+ type: 'apply_patch',
580
+ path: 'multiple',
517
581
  error: error instanceof Error ? error.message : String(error),
518
582
  });
519
583
  }
@@ -555,7 +619,7 @@ export function diagnoseContextMismatch(contextText, original) {
555
619
  const contextLines = contextText.split(/\r?\n/);
556
620
  const originalLines = original.split(/\r?\n/);
557
621
  if (originalLines.length === 0 || (originalLines.length === 1 && originalLines[0] === '')) {
558
- return 'The target file is empty. If you want to create a new file, use type: "create_file" or provide a diff that starts from an empty file.';
622
+ return 'The target file is empty. To create a new file, use a *** Add File: <path> *** section with + lines.';
559
623
  }
560
624
  const reports = [];
561
625
  for (let i = 0; i < contextLines.length; i++) {
@@ -627,11 +691,12 @@ export function formatPatchError(error, diff, original) {
627
691
  let formatted = '';
628
692
  // 1. Check for standard unified diff headers: "--- a/file" or "+++ b/file"
629
693
  if (diff.includes('--- ') || diff.includes('+++ ')) {
630
- formatted = 'Remove standard file headers. Use headerless anchors with context, + lines, and - lines only.';
694
+ formatted =
695
+ 'Remove standard file headers. Use *** Update File: <path> with @@ anchors, context, + lines, and - lines.';
631
696
  }
632
697
  // 2. Check for unified diff chunk headers with line numbers: "@@ -1,5 +1,6 @@"
633
698
  else if (/@@\s+-\d+(?:,\d+)?\s+\+\d+(?:,\d+)?\s+@@/.test(diff)) {
634
- formatted = 'Remove line numbers from "@@" headers. Use headerless anchors like "@@ functionName" or a bare "@@".';
699
+ formatted = 'Remove line numbers from "@@" headers. Use plain anchors like "@@ functionName" or a bare "@@".';
635
700
  }
636
701
  // 3. Check for leading line numbers like "10: const x = 1;" or "10 const x = 1;"
637
702
  else if (diff.split(/\r?\n/).some((line) => /^\s*\d+[:\s]/.test(line) && !line.startsWith('@@') && !line.startsWith('***'))) {
@@ -1 +1 @@
1
- {"version":3,"file":"apply-patch.js","sourceRoot":"","sources":["../../../source/tools/file/apply-patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-patch.js","sourceRoot":"","sources":["../../../source/tools/file/apply-patch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The model-facing apply_patch contract used by upstream Codex.
3
+ *
4
+ * The executor still consumes the application's operation shape. Keeping this
5
+ * adapter separate means providers that only support JSON function tools can
6
+ * continue using the legacy schema while Responses custom tools receive the
7
+ * exact freeform payload they were trained to emit.
8
+ */
9
+ export type UpstreamApplyPatchOperation = {
10
+ type: 'create_file';
11
+ path: string;
12
+ diff: string;
13
+ } | {
14
+ type: 'update_file';
15
+ path: string;
16
+ diff: string;
17
+ moveTo?: string;
18
+ } | {
19
+ type: 'delete_file';
20
+ path: string;
21
+ diff: string;
22
+ };
23
+ export type UpstreamApplyPatchParams = {
24
+ operations: UpstreamApplyPatchOperation[];
25
+ };
26
+ export declare const UPSTREAM_APPLY_PATCH_GRAMMAR = "start: begin_patch hunk+ end_patch\nbegin_patch: \"*** Begin Patch\" LF\nend_patch: \"*** End Patch\" LF?\n\nhunk: add_hunk | delete_hunk | update_hunk\nadd_hunk: \"*** Add File: \" filename LF add_line+\ndelete_hunk: \"*** Delete File: \" filename LF\nupdate_hunk: \"*** Update File: \" filename LF change_move? change?\n\nfilename: /(.+)/\nadd_line: \"+\" /(.*)/ LF -> line\nchange_move: \"*** Move to: \" filename LF\nchange: (change_context | change_line)+ eof_line?\nchange_context: (\"@@\" | \"@@ \" /(.+)/) LF\nchange_line: (\"+\" | \"-\" | \" \") /(.*)/ LF\neof_line: \"*** End of File\" LF\n\n%import common.LF";
27
+ /** Parse the complete freeform payload into the application's executable shape. */
28
+ export declare function parseUpstreamApplyPatch(input: string): UpstreamApplyPatchParams;
29
+ /** Best-effort path list for approval/scope previews: never throws, yields []. */
30
+ export declare function extractPatchPaths(patch: unknown): string[];
31
+ //# sourceMappingURL=upstream-apply-patch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upstream-apply-patch.d.ts","sourceRoot":"","sources":["../../../source/tools/file/upstream-apply-patch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,2BAA2B,GACnC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,MAAM,MAAM,wBAAwB,GAAG;IAAE,UAAU,EAAE,2BAA2B,EAAE,CAAA;CAAE,CAAC;AAErF,eAAO,MAAM,4BAA4B,gnBAiBvB,CAAC;AAUnB,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,CAoD/E;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAO1D"}