@caupulican/pi-adaptative 0.94.0 → 0.95.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 (371) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/dist/bundled-resources/extensions/tmux-agent-manager/README.md +32 -13
  3. package/dist/bundled-resources/extensions/tmux-agent-manager/index.d.ts +7 -4
  4. package/dist/bundled-resources/extensions/tmux-agent-manager/index.d.ts.map +1 -1
  5. package/dist/bundled-resources/extensions/tmux-agent-manager/index.js +173 -293
  6. package/dist/bundled-resources/extensions/tmux-agent-manager/index.js.map +1 -1
  7. package/dist/bundled-resources/extensions/tmux-agent-manager/index.ts +247 -392
  8. package/dist/bundled-resources/extensions/tmux-agent-manager/launch-profile.d.ts +52 -0
  9. package/dist/bundled-resources/extensions/tmux-agent-manager/launch-profile.d.ts.map +1 -0
  10. package/dist/bundled-resources/extensions/tmux-agent-manager/launch-profile.js +118 -0
  11. package/dist/bundled-resources/extensions/tmux-agent-manager/launch-profile.js.map +1 -0
  12. package/dist/bundled-resources/extensions/tmux-agent-manager/launch-profile.ts +169 -0
  13. package/dist/bundled-resources/extensions/tmux-agent-manager/templates/builder-validator.json +1 -1
  14. package/dist/bundled-resources/extensions/tmux-agent-manager/templates/provider-prompt-smoke.json +1 -1
  15. package/dist/bundled-resources/skills/pi-harness-learning/SKILL.md +13 -7
  16. package/dist/bundled-resources/skills/worker-profile-writer/SKILL.md +11 -11
  17. package/dist/core/agent-paths.d.ts +2 -0
  18. package/dist/core/agent-paths.d.ts.map +1 -1
  19. package/dist/core/agent-paths.js +7 -0
  20. package/dist/core/agent-paths.js.map +1 -1
  21. package/dist/core/agent-session.d.ts +11 -41
  22. package/dist/core/agent-session.d.ts.map +1 -1
  23. package/dist/core/agent-session.js +98 -161
  24. package/dist/core/agent-session.js.map +1 -1
  25. package/dist/core/autonomy/envelope-enforcement.d.ts +6 -1
  26. package/dist/core/autonomy/envelope-enforcement.d.ts.map +1 -1
  27. package/dist/core/autonomy/envelope-enforcement.js +26 -25
  28. package/dist/core/autonomy/envelope-enforcement.js.map +1 -1
  29. package/dist/core/autonomy/lane-private-paths.d.ts.map +1 -1
  30. package/dist/core/autonomy/lane-private-paths.js +2 -1
  31. package/dist/core/autonomy/lane-private-paths.js.map +1 -1
  32. package/dist/core/autonomy/lane-tool-surface.d.ts +8 -8
  33. package/dist/core/autonomy/lane-tool-surface.d.ts.map +1 -1
  34. package/dist/core/autonomy/lane-tool-surface.js +45 -30
  35. package/dist/core/autonomy/lane-tool-surface.js.map +1 -1
  36. package/dist/core/autonomy/worker-session-private-scope.d.ts +12 -0
  37. package/dist/core/autonomy/worker-session-private-scope.d.ts.map +1 -0
  38. package/dist/core/autonomy/worker-session-private-scope.js +42 -0
  39. package/dist/core/autonomy/worker-session-private-scope.js.map +1 -0
  40. package/dist/core/autonomy/worker-tool-adapter-registry.d.ts +65 -0
  41. package/dist/core/autonomy/worker-tool-adapter-registry.d.ts.map +1 -0
  42. package/dist/core/autonomy/worker-tool-adapter-registry.js +145 -0
  43. package/dist/core/autonomy/worker-tool-adapter-registry.js.map +1 -0
  44. package/dist/core/background-lane-controller.d.ts +9 -1
  45. package/dist/core/background-lane-controller.d.ts.map +1 -1
  46. package/dist/core/background-lane-controller.js +76 -6
  47. package/dist/core/background-lane-controller.js.map +1 -1
  48. package/dist/core/background-tool-task-controller.d.ts +23 -2
  49. package/dist/core/background-tool-task-controller.d.ts.map +1 -1
  50. package/dist/core/background-tool-task-controller.js +132 -17
  51. package/dist/core/background-tool-task-controller.js.map +1 -1
  52. package/dist/core/context/long-term-memory-trigger.d.ts +3 -1
  53. package/dist/core/context/long-term-memory-trigger.d.ts.map +1 -1
  54. package/dist/core/context/long-term-memory-trigger.js +1 -1
  55. package/dist/core/context/long-term-memory-trigger.js.map +1 -1
  56. package/dist/core/context/okf-memory-provider.d.ts +3 -0
  57. package/dist/core/context/okf-memory-provider.d.ts.map +1 -1
  58. package/dist/core/context/okf-memory-provider.js +66 -31
  59. package/dist/core/context/okf-memory-provider.js.map +1 -1
  60. package/dist/core/context/okf-memory.d.ts +18 -1
  61. package/dist/core/context/okf-memory.d.ts.map +1 -1
  62. package/dist/core/context/okf-memory.js +48 -0
  63. package/dist/core/context/okf-memory.js.map +1 -1
  64. package/dist/core/cost-guard-controller.d.ts +37 -0
  65. package/dist/core/cost-guard-controller.d.ts.map +1 -0
  66. package/dist/core/cost-guard-controller.js +71 -0
  67. package/dist/core/cost-guard-controller.js.map +1 -0
  68. package/dist/core/cost-guard.d.ts +9 -4
  69. package/dist/core/cost-guard.d.ts.map +1 -1
  70. package/dist/core/cost-guard.js +7 -3
  71. package/dist/core/cost-guard.js.map +1 -1
  72. package/dist/core/delegation/worker-agent-control.d.ts +4 -0
  73. package/dist/core/delegation/worker-agent-control.d.ts.map +1 -1
  74. package/dist/core/delegation/worker-agent-control.js.map +1 -1
  75. package/dist/core/delegation/worker-attempt-executor.d.ts +1 -1
  76. package/dist/core/delegation/worker-attempt-executor.d.ts.map +1 -1
  77. package/dist/core/delegation/worker-attempt-executor.js +0 -1
  78. package/dist/core/delegation/worker-attempt-executor.js.map +1 -1
  79. package/dist/core/delegation/worker-authority-resolver.d.ts +16 -3
  80. package/dist/core/delegation/worker-authority-resolver.d.ts.map +1 -1
  81. package/dist/core/delegation/worker-authority-resolver.js +114 -55
  82. package/dist/core/delegation/worker-authority-resolver.js.map +1 -1
  83. package/dist/core/delegation/worker-claim.d.ts +1 -2
  84. package/dist/core/delegation/worker-claim.d.ts.map +1 -1
  85. package/dist/core/delegation/worker-claim.js.map +1 -1
  86. package/dist/core/delegation/worker-delegation-controller.d.ts +19 -6
  87. package/dist/core/delegation/worker-delegation-controller.d.ts.map +1 -1
  88. package/dist/core/delegation/worker-delegation-controller.js +125 -40
  89. package/dist/core/delegation/worker-delegation-controller.js.map +1 -1
  90. package/dist/core/delegation/worker-delegation-request.d.ts +3 -3
  91. package/dist/core/delegation/worker-delegation-request.d.ts.map +1 -1
  92. package/dist/core/delegation/worker-delegation-request.js +13 -19
  93. package/dist/core/delegation/worker-delegation-request.js.map +1 -1
  94. package/dist/core/delegation/worker-execution-policy.d.ts +3 -2
  95. package/dist/core/delegation/worker-execution-policy.d.ts.map +1 -1
  96. package/dist/core/delegation/worker-execution-policy.js +54 -39
  97. package/dist/core/delegation/worker-execution-policy.js.map +1 -1
  98. package/dist/core/delegation/worker-fleet-limits.d.ts +3 -3
  99. package/dist/core/delegation/worker-fleet-limits.d.ts.map +1 -1
  100. package/dist/core/delegation/worker-fleet-limits.js +7 -7
  101. package/dist/core/delegation/worker-fleet-limits.js.map +1 -1
  102. package/dist/core/delegation/worker-machine-scope.d.ts +12 -0
  103. package/dist/core/delegation/worker-machine-scope.d.ts.map +1 -0
  104. package/dist/core/delegation/worker-machine-scope.js +38 -0
  105. package/dist/core/delegation/worker-machine-scope.js.map +1 -0
  106. package/dist/core/delegation/worker-notification-coordinator.d.ts +10 -0
  107. package/dist/core/delegation/worker-notification-coordinator.d.ts.map +1 -1
  108. package/dist/core/delegation/worker-notification-coordinator.js +69 -3
  109. package/dist/core/delegation/worker-notification-coordinator.js.map +1 -1
  110. package/dist/core/delegation/worker-recovery-coordinator.d.ts.map +1 -1
  111. package/dist/core/delegation/worker-recovery-coordinator.js +6 -1
  112. package/dist/core/delegation/worker-recovery-coordinator.js.map +1 -1
  113. package/dist/core/delegation/worker-runner.d.ts +5 -7
  114. package/dist/core/delegation/worker-runner.d.ts.map +1 -1
  115. package/dist/core/delegation/worker-runner.js +1 -4
  116. package/dist/core/delegation/worker-runner.js.map +1 -1
  117. package/dist/core/delegation/worker-write-reservation-coordinator.d.ts +3 -2
  118. package/dist/core/delegation/worker-write-reservation-coordinator.d.ts.map +1 -1
  119. package/dist/core/delegation/worker-write-reservation-coordinator.js +50 -25
  120. package/dist/core/delegation/worker-write-reservation-coordinator.js.map +1 -1
  121. package/dist/core/durable-custom-message-turn-controller.d.ts +6 -0
  122. package/dist/core/durable-custom-message-turn-controller.d.ts.map +1 -1
  123. package/dist/core/durable-custom-message-turn-controller.js +38 -15
  124. package/dist/core/durable-custom-message-turn-controller.js.map +1 -1
  125. package/dist/core/extension-binding-controller.d.ts +5 -1
  126. package/dist/core/extension-binding-controller.d.ts.map +1 -1
  127. package/dist/core/extension-binding-controller.js +15 -0
  128. package/dist/core/extension-binding-controller.js.map +1 -1
  129. package/dist/core/extensions/factory-runtime.d.ts.map +1 -1
  130. package/dist/core/extensions/factory-runtime.js +5 -0
  131. package/dist/core/extensions/factory-runtime.js.map +1 -1
  132. package/dist/core/extensions/runner.d.ts.map +1 -1
  133. package/dist/core/extensions/runner.js +1 -0
  134. package/dist/core/extensions/runner.js.map +1 -1
  135. package/dist/core/extensions/types.d.ts +8 -4
  136. package/dist/core/extensions/types.d.ts.map +1 -1
  137. package/dist/core/extensions/types.js.map +1 -1
  138. package/dist/core/foreground-terminal-handoff-controller.d.ts +31 -0
  139. package/dist/core/foreground-terminal-handoff-controller.d.ts.map +1 -1
  140. package/dist/core/foreground-terminal-handoff-controller.js +239 -55
  141. package/dist/core/foreground-terminal-handoff-controller.js.map +1 -1
  142. package/dist/core/goals/goal-session-controller.d.ts +2 -0
  143. package/dist/core/goals/goal-session-controller.d.ts.map +1 -1
  144. package/dist/core/goals/goal-session-controller.js +8 -0
  145. package/dist/core/goals/goal-session-controller.js.map +1 -1
  146. package/dist/core/goals/goal-tool-core.d.ts +5 -4
  147. package/dist/core/goals/goal-tool-core.d.ts.map +1 -1
  148. package/dist/core/goals/goal-tool-core.js +23 -19
  149. package/dist/core/goals/goal-tool-core.js.map +1 -1
  150. package/dist/core/learning/auto-learn-settings.d.ts +84 -0
  151. package/dist/core/learning/auto-learn-settings.d.ts.map +1 -0
  152. package/dist/core/learning/auto-learn-settings.js +66 -0
  153. package/dist/core/learning/auto-learn-settings.js.map +1 -0
  154. package/dist/core/learning/learning-audit.d.ts +5 -1
  155. package/dist/core/learning/learning-audit.d.ts.map +1 -1
  156. package/dist/core/learning/learning-audit.js +32 -1
  157. package/dist/core/learning/learning-audit.js.map +1 -1
  158. package/dist/core/learning/reflection-engine.d.ts +24 -0
  159. package/dist/core/learning/reflection-engine.d.ts.map +1 -1
  160. package/dist/core/learning/reflection-engine.js +104 -8
  161. package/dist/core/learning/reflection-engine.js.map +1 -1
  162. package/dist/core/local-prefix-warm-controller.d.ts +24 -0
  163. package/dist/core/local-prefix-warm-controller.d.ts.map +1 -0
  164. package/dist/core/local-prefix-warm-controller.js +79 -0
  165. package/dist/core/local-prefix-warm-controller.js.map +1 -0
  166. package/dist/core/memory/okf-project-memory-store.d.ts +28 -0
  167. package/dist/core/memory/okf-project-memory-store.d.ts.map +1 -0
  168. package/dist/core/memory/okf-project-memory-store.js +111 -0
  169. package/dist/core/memory/okf-project-memory-store.js.map +1 -0
  170. package/dist/core/memory/providers/file-store.d.ts +44 -1
  171. package/dist/core/memory/providers/file-store.d.ts.map +1 -1
  172. package/dist/core/memory/providers/file-store.js +341 -24
  173. package/dist/core/memory/providers/file-store.js.map +1 -1
  174. package/dist/core/memory/worker-memory-tools.d.ts +5 -0
  175. package/dist/core/memory/worker-memory-tools.d.ts.map +1 -0
  176. package/dist/core/memory/worker-memory-tools.js +5 -0
  177. package/dist/core/memory/worker-memory-tools.js.map +1 -0
  178. package/dist/core/memory-controller.d.ts +10 -1
  179. package/dist/core/memory-controller.d.ts.map +1 -1
  180. package/dist/core/memory-controller.js +72 -8
  181. package/dist/core/memory-controller.js.map +1 -1
  182. package/dist/core/model-capability.d.ts +7 -0
  183. package/dist/core/model-capability.d.ts.map +1 -1
  184. package/dist/core/model-capability.js +12 -0
  185. package/dist/core/model-capability.js.map +1 -1
  186. package/dist/core/model-registry.d.ts.map +1 -1
  187. package/dist/core/model-registry.js +2 -10
  188. package/dist/core/model-registry.js.map +1 -1
  189. package/dist/core/model-router-controller.d.ts +3 -2
  190. package/dist/core/model-router-controller.d.ts.map +1 -1
  191. package/dist/core/model-router-controller.js +3 -2
  192. package/dist/core/model-router-controller.js.map +1 -1
  193. package/dist/core/orchestration/contracts.d.ts +16 -12
  194. package/dist/core/orchestration/contracts.d.ts.map +1 -1
  195. package/dist/core/orchestration/contracts.js +2 -2
  196. package/dist/core/orchestration/contracts.js.map +1 -1
  197. package/dist/core/orchestration/lane-tool-manifests.d.ts +2 -2
  198. package/dist/core/orchestration/lane-tool-manifests.d.ts.map +1 -1
  199. package/dist/core/orchestration/lane-tool-manifests.js +6 -1
  200. package/dist/core/orchestration/lane-tool-manifests.js.map +1 -1
  201. package/dist/core/orchestration/profile-registry.d.ts.map +1 -1
  202. package/dist/core/orchestration/profile-registry.js +14 -0
  203. package/dist/core/orchestration/profile-registry.js.map +1 -1
  204. package/dist/core/orchestration/task-profile-writer.d.ts +7 -4
  205. package/dist/core/orchestration/task-profile-writer.d.ts.map +1 -1
  206. package/dist/core/orchestration/task-profile-writer.js +71 -59
  207. package/dist/core/orchestration/task-profile-writer.js.map +1 -1
  208. package/dist/core/orchestration/thinking-level-schema.d.ts +7 -0
  209. package/dist/core/orchestration/thinking-level-schema.d.ts.map +1 -0
  210. package/dist/core/orchestration/thinking-level-schema.js +19 -0
  211. package/dist/core/orchestration/thinking-level-schema.js.map +1 -0
  212. package/dist/core/orchestration/worker-execution-contract.d.ts.map +1 -1
  213. package/dist/core/orchestration/worker-execution-contract.js +12 -5
  214. package/dist/core/orchestration/worker-execution-contract.js.map +1 -1
  215. package/dist/core/provider-prompt-contracts.d.ts +1 -4
  216. package/dist/core/provider-prompt-contracts.d.ts.map +1 -1
  217. package/dist/core/provider-prompt-contracts.js +13 -29
  218. package/dist/core/provider-prompt-contracts.js.map +1 -1
  219. package/dist/core/provider-request-context-controller.d.ts +2 -0
  220. package/dist/core/provider-request-context-controller.d.ts.map +1 -1
  221. package/dist/core/provider-request-context-controller.js +10 -3
  222. package/dist/core/provider-request-context-controller.js.map +1 -1
  223. package/dist/core/reflection-controller.d.ts +63 -27
  224. package/dist/core/reflection-controller.d.ts.map +1 -1
  225. package/dist/core/reflection-controller.js +300 -132
  226. package/dist/core/reflection-controller.js.map +1 -1
  227. package/dist/core/runtime-builder.d.ts +1 -0
  228. package/dist/core/runtime-builder.d.ts.map +1 -1
  229. package/dist/core/runtime-builder.js +25 -14
  230. package/dist/core/runtime-builder.js.map +1 -1
  231. package/dist/core/secrets/credential-exposure-guard.d.ts.map +1 -1
  232. package/dist/core/secrets/credential-exposure-guard.js +55 -10
  233. package/dist/core/secrets/credential-exposure-guard.js.map +1 -1
  234. package/dist/core/session-role.d.ts +6 -8
  235. package/dist/core/session-role.d.ts.map +1 -1
  236. package/dist/core/session-role.js +8 -18
  237. package/dist/core/session-role.js.map +1 -1
  238. package/dist/core/settings-manager.d.ts +13 -16
  239. package/dist/core/settings-manager.d.ts.map +1 -1
  240. package/dist/core/settings-manager.js +53 -50
  241. package/dist/core/settings-manager.js.map +1 -1
  242. package/dist/core/skill-vault.d.ts +15 -0
  243. package/dist/core/skill-vault.d.ts.map +1 -1
  244. package/dist/core/skill-vault.js +79 -45
  245. package/dist/core/skill-vault.js.map +1 -1
  246. package/dist/core/skills.d.ts +3 -0
  247. package/dist/core/skills.d.ts.map +1 -1
  248. package/dist/core/skills.js +6 -6
  249. package/dist/core/skills.js.map +1 -1
  250. package/dist/core/system-prompt-builder.d.ts +2 -0
  251. package/dist/core/system-prompt-builder.d.ts.map +1 -1
  252. package/dist/core/system-prompt-builder.js +52 -12
  253. package/dist/core/system-prompt-builder.js.map +1 -1
  254. package/dist/core/system-prompt.js +1 -1
  255. package/dist/core/system-prompt.js.map +1 -1
  256. package/dist/core/tool-capability-policy.d.ts +3 -0
  257. package/dist/core/tool-capability-policy.d.ts.map +1 -1
  258. package/dist/core/tool-capability-policy.js +13 -2
  259. package/dist/core/tool-capability-policy.js.map +1 -1
  260. package/dist/core/toolkit/script-runner.d.ts +2 -1
  261. package/dist/core/toolkit/script-runner.d.ts.map +1 -1
  262. package/dist/core/toolkit/script-runner.js +10 -2
  263. package/dist/core/toolkit/script-runner.js.map +1 -1
  264. package/dist/core/tools/delegate-status.d.ts +3 -1
  265. package/dist/core/tools/delegate-status.d.ts.map +1 -1
  266. package/dist/core/tools/delegate-status.js +5 -1
  267. package/dist/core/tools/delegate-status.js.map +1 -1
  268. package/dist/core/tools/delegate.d.ts +4 -13
  269. package/dist/core/tools/delegate.d.ts.map +1 -1
  270. package/dist/core/tools/delegate.js +173 -73
  271. package/dist/core/tools/delegate.js.map +1 -1
  272. package/dist/core/tools/goal.d.ts +3 -4
  273. package/dist/core/tools/goal.d.ts.map +1 -1
  274. package/dist/core/tools/goal.js +24 -7
  275. package/dist/core/tools/goal.js.map +1 -1
  276. package/dist/core/tools/profile-writer.d.ts +2 -8
  277. package/dist/core/tools/profile-writer.d.ts.map +1 -1
  278. package/dist/core/tools/profile-writer.js +6 -18
  279. package/dist/core/tools/profile-writer.js.map +1 -1
  280. package/dist/core/tools/run-toolkit-script.d.ts +1 -1
  281. package/dist/core/tools/run-toolkit-script.d.ts.map +1 -1
  282. package/dist/core/tools/run-toolkit-script.js +2 -2
  283. package/dist/core/tools/run-toolkit-script.js.map +1 -1
  284. package/dist/core/tools/skill-audit.d.ts +28 -1
  285. package/dist/core/tools/skill-audit.d.ts.map +1 -1
  286. package/dist/core/tools/skill-audit.js +56 -12
  287. package/dist/core/tools/skill-audit.js.map +1 -1
  288. package/dist/core/tools/skill.d.ts +12 -1
  289. package/dist/core/tools/skill.d.ts.map +1 -1
  290. package/dist/core/tools/skill.js +52 -0
  291. package/dist/core/tools/skill.js.map +1 -1
  292. package/dist/core/tools/skillify.d.ts.map +1 -1
  293. package/dist/core/tools/skillify.js +16 -7
  294. package/dist/core/tools/skillify.js.map +1 -1
  295. package/dist/core/tools/task-steps.js +1 -1
  296. package/dist/core/tools/task-steps.js.map +1 -1
  297. package/dist/core/tools/tmux-dispatch.d.ts +4 -16
  298. package/dist/core/tools/tmux-dispatch.d.ts.map +1 -1
  299. package/dist/core/tools/tmux-dispatch.js +5 -20
  300. package/dist/core/tools/tmux-dispatch.js.map +1 -1
  301. package/dist/core/tools/tool-task.d.ts +1 -0
  302. package/dist/core/tools/tool-task.d.ts.map +1 -1
  303. package/dist/core/tools/tool-task.js +13 -8
  304. package/dist/core/tools/tool-task.js.map +1 -1
  305. package/dist/core/util/atomic-file.d.ts +2 -0
  306. package/dist/core/util/atomic-file.d.ts.map +1 -1
  307. package/dist/core/util/atomic-file.js +4 -0
  308. package/dist/core/util/atomic-file.js.map +1 -1
  309. package/dist/core/worktree-sync/codes.d.ts +1 -2
  310. package/dist/core/worktree-sync/codes.d.ts.map +1 -1
  311. package/dist/core/worktree-sync/codes.js +1 -2
  312. package/dist/core/worktree-sync/codes.js.map +1 -1
  313. package/dist/core/worktree-sync/lane-gate.d.ts +4 -8
  314. package/dist/core/worktree-sync/lane-gate.d.ts.map +1 -1
  315. package/dist/core/worktree-sync/lane-gate.js +5 -51
  316. package/dist/core/worktree-sync/lane-gate.js.map +1 -1
  317. package/dist/index.d.ts +5 -0
  318. package/dist/index.d.ts.map +1 -1
  319. package/dist/index.js +7 -0
  320. package/dist/index.js.map +1 -1
  321. package/dist/modes/interactive/auto-learn-controller.d.ts +6 -7
  322. package/dist/modes/interactive/auto-learn-controller.d.ts.map +1 -1
  323. package/dist/modes/interactive/auto-learn-controller.js +32 -207
  324. package/dist/modes/interactive/auto-learn-controller.js.map +1 -1
  325. package/dist/modes/interactive/autonomy-commands.js +2 -2
  326. package/dist/modes/interactive/autonomy-commands.js.map +1 -1
  327. package/dist/modes/interactive/components/activity-lane.d.ts.map +1 -1
  328. package/dist/modes/interactive/components/activity-lane.js +12 -23
  329. package/dist/modes/interactive/components/activity-lane.js.map +1 -1
  330. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  331. package/dist/modes/interactive/components/custom-message.js +142 -1
  332. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  333. package/dist/modes/interactive/components/fitness-role-selector.d.ts.map +1 -1
  334. package/dist/modes/interactive/components/fitness-role-selector.js +2 -2
  335. package/dist/modes/interactive/components/fitness-role-selector.js.map +1 -1
  336. package/dist/modes/interactive/components/footer.js +1 -1
  337. package/dist/modes/interactive/components/footer.js.map +1 -1
  338. package/dist/modes/interactive/components/settings-selector.d.ts +4 -0
  339. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  340. package/dist/modes/interactive/components/settings-selector.js +150 -73
  341. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  342. package/dist/modes/interactive/report-commands.d.ts.map +1 -1
  343. package/dist/modes/interactive/report-commands.js +8 -4
  344. package/dist/modes/interactive/report-commands.js.map +1 -1
  345. package/dist/modes/interactive/settings-selector-flow.d.ts.map +1 -1
  346. package/dist/modes/interactive/settings-selector-flow.js +10 -0
  347. package/dist/modes/interactive/settings-selector-flow.js.map +1 -1
  348. package/docs/extensions.md +8 -0
  349. package/docs/harness-architecture.md +28 -32
  350. package/docs/index.md +1 -1
  351. package/docs/process-matrix.md +8 -6
  352. package/docs/resources.md +1 -1
  353. package/docs/settings.md +61 -51
  354. package/docs/tmux-agent-manager.md +47 -40
  355. package/docs/usage.md +1 -1
  356. package/docs/worker-profiles.md +8 -6
  357. package/docs/worktree-sync.md +26 -20
  358. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  359. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  360. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  361. package/examples/extensions/sandbox/package-lock.json +2 -2
  362. package/examples/extensions/sandbox/package.json +1 -1
  363. package/examples/extensions/with-deps/package-lock.json +2 -2
  364. package/examples/extensions/with-deps/package.json +1 -1
  365. package/npm-shrinkwrap.json +12 -12
  366. package/package.json +4 -4
  367. package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.d.ts +0 -133
  368. package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.d.ts.map +0 -1
  369. package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.js +0 -199
  370. package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.js.map +0 -1
  371. package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.ts +0 -312
@@ -6,7 +6,8 @@ import { createLaneToolSurface } from "../autonomy/lane-tool-surface.js";
6
6
  import { isLaneTerminalStatus } from "../autonomy/lane-tracker.js";
7
7
  import { appendLaneRecordSnapshot } from "../autonomy/session-lane-record.js";
8
8
  import { AUTONOMY_TELEMETRY_EVENT_TYPES } from "../autonomy/telemetry-events.js";
9
- import { STABLE_SHELL_TOOL_NAME } from "../default-tool-surface.js";
9
+ import { createWorkerToolAdapterRegistry, WORKER_TOOL_ADAPTER_NAMES, } from "../autonomy/worker-tool-adapter-registry.js";
10
+ import { mapToolNamesForPlatform, STABLE_SHELL_TOOL_NAME } from "../default-tool-surface.js";
10
11
  import { isGoalExecutionActive } from "../goals/goal-state.js";
11
12
  import { deriveModelCapabilityProfile } from "../model-capability.js";
12
13
  import { isLoopbackModelEndpoint } from "../models/model-endpoint.js";
@@ -18,15 +19,14 @@ import { createWorkerExecutionContract, verifierWorkerExecutionContract, } from
18
19
  import { resolveWorkerModelPin } from "../orchestration/worker-model-pins.js";
19
20
  import { registerInFlightWork } from "../reload-blockers.js";
20
21
  import { getActiveSessionBranchEntries } from "../session-snapshot.js";
21
- import { createDelegateToolDefinition } from "../tools/delegate.js";
22
+ import { executeToolkitScript } from "../toolkit/script-runner.js";
22
23
  import { disposePersistentShellSession } from "../tools/shell-session.js";
23
- import { wrapToolDefinition } from "../tools/tool-definition-wrapper.js";
24
24
  import { selectSanitizedContextFork } from "./sanitized-context-fork.js";
25
25
  import { getLatestWorkerClaimSnapshot } from "./session-worker-claim.js";
26
26
  import { applyWorkerActions } from "./worker-actions.js";
27
27
  import { WorkerAgentControlCoordinator } from "./worker-agent-control-coordinator.js";
28
28
  import { createWorkerAttemptExecutor } from "./worker-attempt-executor.js";
29
- import { resolveWorkerAuthority } from "./worker-authority-resolver.js";
29
+ import { bindCompiledToolSurface, bindCompiledVerifierIdentity, resolveWorkerAuthority, } from "./worker-authority-resolver.js";
30
30
  import { WorkerContextForkStore, WorkerContextForkStoreError } from "./worker-context-fork-store.js";
31
31
  import { resolveWorkerContextInheritanceMode } from "./worker-context-inheritance-policy.js";
32
32
  import { WorkerConversationStore, } from "./worker-conversation-store.js";
@@ -312,7 +312,7 @@ export class WorkerDelegationController {
312
312
  claim,
313
313
  accepted: false,
314
314
  costUsd: usage.costUsd,
315
- cwd: this.deps.getCwd(),
315
+ cwd: ledger.cwd,
316
316
  inputTokens: usage.inputTokens,
317
317
  outputTokens: usage.outputTokens,
318
318
  totalTokens: reportedUsage.totalTokens,
@@ -384,9 +384,32 @@ export class WorkerDelegationController {
384
384
  return !model || this.deps.isModelExhausted(model);
385
385
  },
386
386
  getActiveOrchestrationProfile: () => this.deps.getActiveOrchestrationProfile?.(),
387
+ getInheritedBaseProfile: () => {
388
+ const foregroundModel = this.deps.getModel();
389
+ if (!foregroundModel)
390
+ return undefined;
391
+ const inherited = this.resolveWorkerAuthority({ foregroundModel });
392
+ if (!inherited.ok)
393
+ return undefined;
394
+ const plan = this.buildWorkerExecutionPlan(inherited.shipment.profile, this.deps.getSettingsManager().getWorkerDelegationSettings());
395
+ return bindCompiledToolSurface(inherited.shipment, plan.toolManifests.map((manifest) => manifest.toolName)).profile;
396
+ },
387
397
  });
388
398
  return this.taskProfileWriter;
389
399
  }
400
+ resolveWorkerAuthority(input) {
401
+ const foregroundModel = input.foregroundModel ?? this.deps.getModel();
402
+ return resolveWorkerAuthority({
403
+ ...input,
404
+ ...(foregroundModel ? { foregroundModel } : {}),
405
+ foregroundThinkingLevel: this.deps.getForegroundThinkingLevel?.(),
406
+ ...(this.deps.getForegroundToolNames ? { foregroundToolNames: this.deps.getForegroundToolNames() } : {}),
407
+ ...(this.deps.getCapabilityEnvelope() ? { foregroundEnvelope: this.deps.getCapabilityEnvelope() } : {}),
408
+ cwd: this.deps.getCwd(),
409
+ modelRegistry: this.deps.getModelRegistry(),
410
+ isModelExhausted: (model) => this.deps.isModelExhausted(model),
411
+ });
412
+ }
390
413
  /** Read-only durable worker projection. Undefined means the delegate capability never loaded. */
391
414
  getTaskRuntimeSnapshot() {
392
415
  return this.lifecycle.getTaskRuntimeSnapshot();
@@ -460,6 +483,7 @@ export class WorkerDelegationController {
460
483
  const admitted = resolveWorkerAuthority({
461
484
  base: resolved.resolved,
462
485
  ...(modelPin ? { modelPin: modelPin.binding } : {}),
486
+ cwd: this.deps.getCwd(),
463
487
  modelRegistry: this.deps.getModelRegistry(),
464
488
  isModelExhausted: (model) => this.deps.isModelExhausted(model),
465
489
  });
@@ -468,10 +492,10 @@ export class WorkerDelegationController {
468
492
  : { ok: false, skipReason: `independent_verifier_unavailable:${admitted.reason}` };
469
493
  }
470
494
  /**
471
- * A descendant may select a different routing profile, but that preset cannot introduce context or
472
- * recursive authority its ancestor never admitted. Pointer ids alone are insufficient authority:
473
- * retain only pointers whose complete immutable metadata matches the ancestral contract, require
474
- * exact soul text, and intersect durable delegation limits.
495
+ * A recovered legacy nested dispatch may retain a different routing profile, but it cannot widen
496
+ * the immutable ancestor contract. Pointer ids alone are insufficient authority: retain only
497
+ * pointers whose complete metadata matches, require exact soul text, and intersect the persisted
498
+ * lineage limits. Fresh native workers never enter this compatibility path.
475
499
  */
476
500
  narrowWorkerShipmentContext(shipment, boundary) {
477
501
  const boundaryPointers = new Map(boundary.resourcePointers.map((pointer) => [pointer.id, pointer]));
@@ -500,7 +524,7 @@ export class WorkerDelegationController {
500
524
  },
501
525
  };
502
526
  }
503
- hasExactRecursiveCycle(parentAgentId, instructions, profileId) {
527
+ hasExactRecoveredLineageCycle(parentAgentId, instructions, profileId) {
504
528
  const normalizedInstructions = instructions.trim();
505
529
  const visited = new Set();
506
530
  let current = this.lifecycle.getAgent(parentAgentId);
@@ -594,7 +618,7 @@ export class WorkerDelegationController {
594
618
  return configured;
595
619
  basePreset = configured.preset;
596
620
  }
597
- const effectiveRole = authority?.role ?? baseShipment?.profile.role ?? basePreset?.profile.role ?? "orchestrator";
621
+ const effectiveRole = authority?.role ?? baseShipment?.profile.role ?? basePreset?.profile.role ?? "implementer";
598
622
  const modelPin = resolveWorkerModelPin(modelPinPolicy, effectiveRole);
599
623
  // The model itself is authority?.model, not `role` — role selects which pin applies, but a
600
624
  // roles-only policy (no `default`) leaves an unlisted role with no pin at all, so a caller
@@ -613,13 +637,10 @@ export class WorkerDelegationController {
613
637
  }
614
638
  const adaptive = pinnedContract
615
639
  ? { ok: true, shipment: baseShipment }
616
- : resolveWorkerAuthority({
640
+ : this.resolveWorkerAuthority({
617
641
  authority,
618
642
  ...(baseShipment ? { base: baseShipment } : {}),
619
643
  ...(modelPin ? { modelPin: modelPin.binding } : {}),
620
- ...(this.deps.getModel() ? { foregroundModel: this.deps.getModel() } : {}),
621
- modelRegistry: this.deps.getModelRegistry(),
622
- isModelExhausted: (model) => this.deps.isModelExhausted(model),
623
644
  });
624
645
  if (!adaptive.ok) {
625
646
  return {
@@ -636,7 +657,8 @@ export class WorkerDelegationController {
636
657
  return narrowed;
637
658
  shipment = narrowed.shipment;
638
659
  }
639
- if (parentAgent && this.hasExactRecursiveCycle(parentAgent.agentId, instructions, shipment.profile.profileId)) {
660
+ if (parentAgent &&
661
+ this.hasExactRecoveredLineageCycle(parentAgent.agentId, instructions, shipment.profile.profileId)) {
640
662
  return { ok: false, skipReason: "recursive_delegation_cycle" };
641
663
  }
642
664
  if (request.verificationOfTaskId && shipment.profile.role !== "verifier") {
@@ -679,7 +701,29 @@ export class WorkerDelegationController {
679
701
  : shipment.resourcePointers.map((pointer) => pointer.id));
680
702
  if (!selectedResources.ok)
681
703
  return { ok: false, skipReason: selectedResources.reason };
682
- const currentExecutionPlan = this.buildWorkerExecutionPlan(shipment.profile, settings, adaptive.requestedReadPaths, adaptive.requestedWritePaths);
704
+ const currentExecutionPlan = this.buildWorkerExecutionPlan(shipment.profile, settings);
705
+ const explicitlySelectedProfile = !pinnedContract &&
706
+ (request.profileId !== undefined || (!parentContract && settings.orchestrationProfile !== undefined));
707
+ if (explicitlySelectedProfile) {
708
+ const activeAdapterNames = new Set(this.workerToolAdapterNames());
709
+ const unavailableAdapters = mapToolNamesForPlatform(shipment.profile.toolNames).filter((toolName) => WORKER_TOOL_ADAPTER_NAMES.has(toolName) && !activeAdapterNames.has(toolName));
710
+ if (unavailableAdapters.length > 0) {
711
+ return {
712
+ ok: false,
713
+ skipReason: `orchestration_tool_unavailable:${[...new Set(unavailableAdapters)].join(",")}`,
714
+ };
715
+ }
716
+ }
717
+ if (!pinnedContract && authority?.toolNames) {
718
+ const materializedTools = new Set(currentExecutionPlan.toolManifests.map((manifest) => manifest.toolName));
719
+ const missingTools = mapToolNamesForPlatform(authority.toolNames).filter((toolName) => !materializedTools.has(toolName));
720
+ if (missingTools.length > 0) {
721
+ return { ok: false, skipReason: `orchestration_tool_unavailable:${[...new Set(missingTools)].join(",")}` };
722
+ }
723
+ }
724
+ if (!pinnedContract) {
725
+ shipment = bindCompiledToolSurface(shipment, currentExecutionPlan.toolManifests.map((manifest) => manifest.toolName));
726
+ }
683
727
  const inheritedAuthority = pinnedContract?.worker.authority ?? parentContract?.worker.authority;
684
728
  const executionPlan = inheritedAuthority
685
729
  ? narrowWorkerExecutionPlan(inheritedAuthority, currentExecutionPlan)
@@ -687,6 +731,12 @@ export class WorkerDelegationController {
687
731
  const verifierExecutionPlan = verifierShipment
688
732
  ? this.buildWorkerExecutionPlan(verifierShipment.profile, settings)
689
733
  : undefined;
734
+ if (!pinnedContract && verifierShipment && verifierExecutionPlan) {
735
+ verifierShipment = bindCompiledToolSurface(verifierShipment, verifierExecutionPlan.toolManifests.map((manifest) => manifest.toolName));
736
+ }
737
+ if (verifierShipment) {
738
+ shipment = bindCompiledVerifierIdentity(shipment, verifierShipment.profile.profileId);
739
+ }
690
740
  const inheritedVerifierAuthority = parentContract?.verifier?.authority ?? parentContract?.worker.authority;
691
741
  const boundedVerifierExecutionPlan = verifierExecutionPlan && inheritedVerifierAuthority
692
742
  ? narrowWorkerExecutionPlan(inheritedVerifierAuthority, verifierExecutionPlan)
@@ -1151,6 +1201,9 @@ export class WorkerDelegationController {
1151
1201
  }
1152
1202
  /** One admission owner for every newly generated logical worker identity. */
1153
1203
  admitNewWorkerRequest(request, pinnedContract) {
1204
+ if (request.parentAgentId && !pinnedContract) {
1205
+ return { ok: false, skipReason: "worker_leaf_delegation_forbidden" };
1206
+ }
1154
1207
  const goalDependencySkipReason = this.workerGoalDependencySkipReason(request);
1155
1208
  if (goalDependencySkipReason)
1156
1209
  return { ok: false, skipReason: goalDependencySkipReason };
@@ -1186,7 +1239,7 @@ export class WorkerDelegationController {
1186
1239
  }
1187
1240
  return references;
1188
1241
  }
1189
- buildWorkerExecutionPlan(profile, settings, requestedReadPaths, requestedWritePaths) {
1242
+ buildWorkerExecutionPlan(profile, settings) {
1190
1243
  return buildWorkerExecutionPlan({
1191
1244
  profile,
1192
1245
  settings,
@@ -1194,10 +1247,22 @@ export class WorkerDelegationController {
1194
1247
  deniedPaths: getPrivateLaneDeniedPaths(this.deps.getCwd(), this.deps.getAgentDir()),
1195
1248
  foregroundMaxCostUsd: this.deps.getCapabilityEnvelope()?.maxEstimatedUsd,
1196
1249
  memoryEnabled: this.deps.getSettingsManager().getMemoryRetrievalSettings().enabled,
1197
- ...(requestedReadPaths ? { requestedReadPaths } : {}),
1198
- ...(requestedWritePaths ? { requestedWritePaths } : {}),
1250
+ workerToolAdapterNames: this.workerToolAdapterNames(),
1199
1251
  });
1200
1252
  }
1253
+ workerToolAdapterNames() {
1254
+ const active = new Set(this.deps.getForegroundToolNames?.() ?? this.deps.getCapabilityEnvelope()?.allowedTools ?? []);
1255
+ const names = [];
1256
+ if (active.has("artifact_retrieve") && this.deps.getArtifactStore)
1257
+ names.push("artifact_retrieve");
1258
+ if (active.has("skill") && this.deps.getSkillReadBroker)
1259
+ names.push("skill");
1260
+ if (active.has("skill_audit") && this.deps.getSkillAuditSource)
1261
+ names.push("skill_audit");
1262
+ if (active.has("run_toolkit_script"))
1263
+ names.push("run_toolkit_script");
1264
+ return names;
1265
+ }
1201
1266
  /** One durable preparation path for queued, immediate, and recovered execution. */
1202
1267
  prepareWorkerAttempt(request, admission, existingRecord) {
1203
1268
  const lifecycle = this.getWorkerLifecycle();
@@ -1348,7 +1413,7 @@ export class WorkerDelegationController {
1348
1413
  agentDir: this.deps.getAgentDir(),
1349
1414
  parentSessionId: this.deps.getSessionId(),
1350
1415
  logicalAgentId: agentId,
1351
- cwd: this.deps.getCwd(),
1416
+ cwd: prepared.executionPlan.cwd,
1352
1417
  orchestrationProfileId: immutableWorker.profile.profileId,
1353
1418
  modelRef: `${immutableWorker.modelBinding.provider}/${immutableWorker.modelBinding.modelId}`,
1354
1419
  resourceProfileNames: immutableWorker.profile.resourceProfileNames,
@@ -1561,19 +1626,6 @@ export class WorkerDelegationController {
1561
1626
  onStarted?.(startedRecord);
1562
1627
  const maxUsd = grant.budget.maxCostUsd;
1563
1628
  const executionPolicy = orchestrationProfile.executionPolicy;
1564
- const recursiveDelegateTool = wrapToolDefinition(createDelegateToolDefinition({
1565
- startWorkerDelegation: (childRequest) => this.start({ ...childRequest, parentAgentId: agentId }),
1566
- runWorkerDelegation: (childRequest) => this.runOnce({ ...childRequest, parentAgentId: agentId }),
1567
- orchestrationProfiles: this.getProfileCatalog(),
1568
- workerModelPinPolicy: this.deps.getSettingsManager().getWorkerModelPinPolicy(),
1569
- workerAgentControl: this.agentControl,
1570
- caller: { kind: "worker", agentId },
1571
- warn: (message) => this.safeWarn(message),
1572
- resolveMessageReplayScope: () => ({
1573
- sessionId: this.deps.getSessionId(),
1574
- branchId: durableHandle.attemptId,
1575
- }),
1576
- }));
1577
1629
  const agentBinding = lifecycle.getAgent(agentId);
1578
1630
  if (!agentBinding) {
1579
1631
  this.cancelAndPublish(lifecycle, prepared.record.laneId, "orchestration_agent_missing");
@@ -1593,10 +1645,42 @@ export class WorkerDelegationController {
1593
1645
  const shellOutputDirectory = shellGranted
1594
1646
  ? getProcessWorkRun(this.deps.getAgentDir(), "outputs", "tool-streams").path
1595
1647
  : undefined;
1648
+ const adapterSources = {};
1649
+ if (executionPlan.toolManifests.some((manifest) => manifest.toolName === "artifact_retrieve")) {
1650
+ const artifactStore = this.deps.getArtifactStore?.();
1651
+ if (artifactStore)
1652
+ adapterSources.artifactStore = artifactStore;
1653
+ }
1654
+ if (executionPlan.toolManifests.some((manifest) => manifest.toolName === "skill")) {
1655
+ const broker = this.deps.getSkillReadBroker?.();
1656
+ if (broker)
1657
+ adapterSources.skill = broker;
1658
+ }
1659
+ if (executionPlan.toolManifests.some((manifest) => manifest.toolName === "skill_audit")) {
1660
+ const source = this.deps.getSkillAuditSource?.();
1661
+ if (source)
1662
+ adapterSources.skillAudit = source;
1663
+ }
1664
+ if (executionPlan.toolManifests.some((manifest) => manifest.toolName === "run_toolkit_script")) {
1665
+ adapterSources.runToolkitScript = {
1666
+ getScripts: () => this.deps.getSettingsManager().getToolkitScripts(),
1667
+ execute: (script, scriptArgs, signal) => executeToolkitScript({
1668
+ script,
1669
+ scriptArgs,
1670
+ cwd: executionPlan.cwd,
1671
+ ...(grant.budget.maxWallClockMs && grant.budget.maxWallClockMs > 0
1672
+ ? { timeoutMs: grant.budget.maxWallClockMs }
1673
+ : {}),
1674
+ signal,
1675
+ }),
1676
+ };
1677
+ }
1678
+ const workerToolAdapters = Object.keys(adapterSources).length > 0 ? createWorkerToolAdapterRegistry(adapterSources) : undefined;
1596
1679
  if (shellSessionKey)
1597
1680
  this.shellSessionKeys.add(shellSessionKey);
1598
1681
  const toolSurface = createLaneToolSurface({
1599
- cwd: this.deps.getCwd(),
1682
+ cwd: executionPlan.cwd,
1683
+ deniedPaths: executionPlan.deniedPaths,
1600
1684
  readMemory: executionPlan.readMemory ? (query) => this.deps.readMemoryForLane(query) : undefined,
1601
1685
  writeEnabled: executionPlan.writeEnabled,
1602
1686
  writePaths: executionPlan.writePaths,
@@ -1606,7 +1690,7 @@ export class WorkerDelegationController {
1606
1690
  ...(shellOutputDirectory ? { shellOutputDirectory } : {}),
1607
1691
  grant,
1608
1692
  toolManifests: executionPlan.toolManifests,
1609
- additionalTools: [recursiveDelegateTool],
1693
+ ...(workerToolAdapters ? { workerToolAdapters } : {}),
1610
1694
  initialUsage,
1611
1695
  sharedBudget,
1612
1696
  });
@@ -1690,7 +1774,7 @@ export class WorkerDelegationController {
1690
1774
  durableHandle,
1691
1775
  parentSessionId: this.deps.getSessionId(),
1692
1776
  agentDir: this.deps.getAgentDir(),
1693
- cwd: this.deps.getCwd(),
1777
+ cwd: executionPlan.cwd,
1694
1778
  model,
1695
1779
  thinkingLevel: modelBinding.thinkingLevel,
1696
1780
  laneCapability,
@@ -1711,7 +1795,7 @@ export class WorkerDelegationController {
1711
1795
  actions,
1712
1796
  gateway: toolSurface.gateway,
1713
1797
  toolManifests: executionPlan.toolManifests,
1714
- cwd: this.deps.getCwd(),
1798
+ cwd: executionPlan.cwd,
1715
1799
  ...(actionJournal ? { actionJournal } : {}),
1716
1800
  })
1717
1801
  : undefined,
@@ -1724,6 +1808,7 @@ export class WorkerDelegationController {
1724
1808
  getUsage: executor.ledger.getUsage,
1725
1809
  request: workerRequest,
1726
1810
  handle: durableHandle,
1811
+ cwd: executionPlan.cwd,
1727
1812
  });
1728
1813
  leaseHeartbeat.start();
1729
1814
  const executionResult = await executor.run();
@@ -1799,7 +1884,7 @@ export class WorkerDelegationController {
1799
1884
  accepted: outcome.accepted,
1800
1885
  costUsd: finalUsage.costUsd,
1801
1886
  reasonCode: outcome.reasonCode,
1802
- cwd: this.deps.getCwd(),
1887
+ cwd: executionPlan.cwd,
1803
1888
  inputTokens: finalUsage.inputTokens,
1804
1889
  outputTokens: finalUsage.outputTokens,
1805
1890
  totalTokens: reportedUsage.totalTokens,
@@ -1889,7 +1974,7 @@ export class WorkerDelegationController {
1889
1974
  claim: failureClaim,
1890
1975
  accepted: false,
1891
1976
  costUsd: failureUsage.costUsd,
1892
- cwd: this.deps.getCwd(),
1977
+ cwd: executionPlan.cwd,
1893
1978
  inputTokens: failureUsage.inputTokens,
1894
1979
  outputTokens: failureUsage.outputTokens,
1895
1980
  totalTokens: reportedUsage.totalTokens,