@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
@@ -0,0 +1,65 @@
1
+ import type { AgentTool } from "@caupulican/pi-agent-core";
2
+ import type { TSchema } from "typebox";
3
+ import type { ArtifactStore } from "../context/context-artifacts.ts";
4
+ import { type CredentialExposureBoundary } from "../secrets/credential-exposure-guard.ts";
5
+ import { type RunToolkitScriptDependencies } from "../tools/run-toolkit-script.ts";
6
+ import { type ReadOnlySkillBroker } from "../tools/skill.ts";
7
+ import { type SkillAuditToolOptions } from "../tools/skill-audit.ts";
8
+ /**
9
+ * Host-owned inputs available while constructing one fresh worker tool.
10
+ *
11
+ * An adapter is deliberately a factory, not a live AgentTool. This keeps worker retries and
12
+ * concurrent lanes from sharing mutable foreground/session state. The host owns the broker
13
+ * callbacks and is responsible for preserving its cancellation and credential boundaries.
14
+ */
15
+ export interface WorkerToolAdapterContext {
16
+ cwd: string;
17
+ signal?: AbortSignal;
18
+ credentialBoundary?: CredentialExposureBoundary;
19
+ }
20
+ export type WorkerToolAdapterFactory = (context: WorkerToolAdapterContext) => AgentTool<TSchema, unknown>;
21
+ export interface WorkerToolAdapter {
22
+ readonly name: string;
23
+ readonly description: string;
24
+ readonly create: WorkerToolAdapterFactory;
25
+ }
26
+ /** Root/session controls are never brokered into a leaf, even when a host registers factories. */
27
+ export declare const WORKER_TOOL_ADAPTER_FORBIDDEN_NAMES: ReadonlySet<string>;
28
+ /** Adapter names with host-owned factories; explicit profiles must have these active in foreground. */
29
+ export declare const WORKER_TOOL_ADAPTER_NAMES: ReadonlySet<string>;
30
+ export type WorkerToolAdapterMaterialization = {
31
+ ok: true;
32
+ tool: AgentTool<TSchema, unknown>;
33
+ } | {
34
+ ok: false;
35
+ reason: string;
36
+ };
37
+ export interface WorkerToolAdapterSources {
38
+ /** Session-owned packed output store; retrieval is bounded and identifier-only. */
39
+ artifactStore?: ArtifactStore;
40
+ /** Host-owned script registry and bounded executor. */
41
+ runToolkitScript?: RunToolkitScriptDependencies;
42
+ /** Optional brokered read-only skill surface. */
43
+ skill?: ReadOnlySkillBroker;
44
+ /** Optional read-only skill audit broker with host-path redaction. */
45
+ skillAudit?: Pick<SkillAuditToolOptions, "getSkills" | "maxSkills" | "maxComparisonPairs" | "maxDraftFieldChars"> & Required<Pick<SkillAuditToolOptions, "redactPath">>;
46
+ }
47
+ /**
48
+ * Registry for the small set of foreground capabilities that can be brokered safely to a leaf
49
+ * worker. It owns no session state and never clones or returns the foreground tool instance.
50
+ *
51
+ * Extension/MCP tools must be registered explicitly by a host broker. A missing registration is
52
+ * a deterministic unsupported result so an omitted inherited tool cannot silently disappear.
53
+ */
54
+ export declare class WorkerToolAdapterRegistry {
55
+ private readonly adapters;
56
+ register(adapter: WorkerToolAdapter): this;
57
+ has(name: string): boolean;
58
+ names(): readonly string[];
59
+ description(name: string): string | undefined;
60
+ materialize(name: string, context: WorkerToolAdapterContext): WorkerToolAdapterMaterialization;
61
+ }
62
+ /** Build the default safe adapters from host-owned brokers. Omitted sources stay unsupported. */
63
+ export declare function createWorkerToolAdapterRegistry(sources?: WorkerToolAdapterSources): WorkerToolAdapterRegistry;
64
+ export declare function unsupportedWorkerToolReason(name: string): string;
65
+ //# sourceMappingURL=worker-tool-adapter-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-tool-adapter-registry.d.ts","sourceRoot":"","sources":["../../../src/core/autonomy/worker-tool-adapter-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,KAAK,0BAA0B,EAA6B,MAAM,yCAAyC,CAAC;AAErH,OAAO,EAEN,KAAK,4BAA4B,EACjC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAqC,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAKN,KAAK,qBAAqB,EAC1B,MAAM,yBAAyB,CAAC;AAGjC;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;CAChD;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAE1G,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;CAC1C;AAED,kGAAkG;AAClG,eAAO,MAAM,mCAAmC,EAAE,WAAW,CAAC,MAAM,CAuBlE,CAAC;AAEH,uGAAuG;AACvG,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAKxD,CAAC;AAEH,MAAM,MAAM,gCAAgC,GACzC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,MAAM,WAAW,wBAAwB;IACxC,mFAAmF;IACnF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;IAChD,iDAAiD;IACjD,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,sEAAsE;IACtE,UAAU,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,GAAG,WAAW,GAAG,oBAAoB,GAAG,oBAAoB,CAAC,GAChH,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC,CAAC;CACrD;AAED;;;;;;GAMG;AACH,qBAAa,yBAAyB;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IAEjE,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CASzC;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzB;IAED,KAAK,IAAI,SAAS,MAAM,EAAE,CAEzB;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5C;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,gCAAgC,CAkB7F;CACD;AAED,iGAAiG;AACjG,wBAAgB,+BAA+B,CAAC,OAAO,GAAE,wBAA6B,GAAG,yBAAyB,CAgEjH;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhE"}
@@ -0,0 +1,145 @@
1
+ import { ROOT_MEMORY_TOOL_NAME, WORKER_MEMORY_READ_TOOL_NAME } from "../memory/worker-memory-tools.js";
2
+ import { isProtectedCredentialPath } from "../secrets/credential-exposure-guard.js";
3
+ import { createArtifactRetrieveTool } from "../tools/artifact-retrieve.js";
4
+ import { createRunToolkitScriptToolDefinition, } from "../tools/run-toolkit-script.js";
5
+ import { createReadOnlySkillToolDefinition } from "../tools/skill.js";
6
+ import { createSkillAuditToolDefinition, DEFAULT_WORKER_SKILL_AUDIT_MAX_COMPARISON_PAIRS, DEFAULT_WORKER_SKILL_AUDIT_MAX_DRAFT_FIELD_CHARS, DEFAULT_WORKER_SKILL_AUDIT_MAX_SKILLS, } from "../tools/skill-audit.js";
7
+ import { wrapToolDefinition } from "../tools/tool-definition-wrapper.js";
8
+ /** Root/session controls are never brokered into a leaf, even when a host registers factories. */
9
+ export const WORKER_TOOL_ADAPTER_FORBIDDEN_NAMES = new Set([
10
+ "delegate",
11
+ "tmux_dispatch",
12
+ "tmux_agent_manager",
13
+ "context_scout",
14
+ ROOT_MEMORY_TOOL_NAME,
15
+ WORKER_MEMORY_READ_TOOL_NAME,
16
+ "goal",
17
+ "get_goal",
18
+ "update_goal",
19
+ "task_steps",
20
+ "pipeline",
21
+ "tool_task",
22
+ "ask_question",
23
+ "secret_store",
24
+ "settings",
25
+ "session",
26
+ "credential",
27
+ "model_fitness",
28
+ "improvement_loop",
29
+ "skillify",
30
+ "extensionify",
31
+ "worktree_sync",
32
+ ]);
33
+ /** Adapter names with host-owned factories; explicit profiles must have these active in foreground. */
34
+ export const WORKER_TOOL_ADAPTER_NAMES = new Set([
35
+ "artifact_retrieve",
36
+ "run_toolkit_script",
37
+ "skill",
38
+ "skill_audit",
39
+ ]);
40
+ /**
41
+ * Registry for the small set of foreground capabilities that can be brokered safely to a leaf
42
+ * worker. It owns no session state and never clones or returns the foreground tool instance.
43
+ *
44
+ * Extension/MCP tools must be registered explicitly by a host broker. A missing registration is
45
+ * a deterministic unsupported result so an omitted inherited tool cannot silently disappear.
46
+ */
47
+ export class WorkerToolAdapterRegistry {
48
+ constructor() {
49
+ this.adapters = new Map();
50
+ }
51
+ register(adapter) {
52
+ const name = adapter.name.trim();
53
+ if (!name)
54
+ throw new TypeError("Worker tool adapter name must not be empty.");
55
+ if (WORKER_TOOL_ADAPTER_FORBIDDEN_NAMES.has(name.toLowerCase())) {
56
+ throw new Error(`worker_tool_adapter_forbidden:${name}`);
57
+ }
58
+ if (this.adapters.has(name))
59
+ throw new Error(`Duplicate worker tool adapter: ${name}`);
60
+ this.adapters.set(name, Object.freeze({ ...adapter, name }));
61
+ return this;
62
+ }
63
+ has(name) {
64
+ return this.adapters.has(name);
65
+ }
66
+ names() {
67
+ return [...this.adapters.keys()];
68
+ }
69
+ description(name) {
70
+ return this.adapters.get(name)?.description;
71
+ }
72
+ materialize(name, context) {
73
+ const adapter = this.adapters.get(name);
74
+ if (!adapter)
75
+ return { ok: false, reason: unsupportedWorkerToolReason(name) };
76
+ try {
77
+ const tool = adapter.create({ ...context });
78
+ if (tool.name !== name) {
79
+ return {
80
+ ok: false,
81
+ reason: `worker_tool_adapter_contract_violation:${name}:created=${tool.name}`,
82
+ };
83
+ }
84
+ return { ok: true, tool };
85
+ }
86
+ catch (error) {
87
+ return {
88
+ ok: false,
89
+ reason: `worker_tool_adapter_failed:${name}:${error instanceof Error ? error.message : String(error)}`,
90
+ };
91
+ }
92
+ }
93
+ }
94
+ /** Build the default safe adapters from host-owned brokers. Omitted sources stay unsupported. */
95
+ export function createWorkerToolAdapterRegistry(sources = {}) {
96
+ const registry = new WorkerToolAdapterRegistry();
97
+ if (sources.artifactStore) {
98
+ registry.register({
99
+ name: "artifact_retrieve",
100
+ description: "Retrieve a bounded slice from a host-owned packed tool-output artifact.",
101
+ create: (context) => createArtifactRetrieveTool(context.cwd, { artifactStore: sources.artifactStore }),
102
+ });
103
+ }
104
+ if (sources.runToolkitScript) {
105
+ registry.register({
106
+ name: "run_toolkit_script",
107
+ description: "Run a registered toolkit script through the host-owned bounded executor.",
108
+ create: (context) => {
109
+ const dependencies = sources.runToolkitScript;
110
+ return wrapToolDefinition(createRunToolkitScriptToolDefinition({
111
+ ...dependencies,
112
+ getScripts: () => dependencies
113
+ .getScripts()
114
+ .filter((script) => !context.credentialBoundary ||
115
+ !isProtectedCredentialPath(script.path, context.cwd, context.credentialBoundary)),
116
+ }));
117
+ },
118
+ });
119
+ }
120
+ if (sources.skill) {
121
+ registry.register({
122
+ name: "skill",
123
+ description: "Use the host-owned read-only skill broker.",
124
+ create: () => wrapToolDefinition(createReadOnlySkillToolDefinition(sources.skill)),
125
+ });
126
+ }
127
+ if (sources.skillAudit) {
128
+ const skillAudit = sources.skillAudit;
129
+ registry.register({
130
+ name: "skill_audit",
131
+ description: "Audit skills through the host-owned read-only broker.",
132
+ create: (context) => wrapToolDefinition(createSkillAuditToolDefinition(context.cwd, {
133
+ ...skillAudit,
134
+ maxSkills: Math.min(skillAudit.maxSkills ?? DEFAULT_WORKER_SKILL_AUDIT_MAX_SKILLS, DEFAULT_WORKER_SKILL_AUDIT_MAX_SKILLS),
135
+ maxComparisonPairs: Math.min(skillAudit.maxComparisonPairs ?? DEFAULT_WORKER_SKILL_AUDIT_MAX_COMPARISON_PAIRS, DEFAULT_WORKER_SKILL_AUDIT_MAX_COMPARISON_PAIRS),
136
+ maxDraftFieldChars: Math.min(skillAudit.maxDraftFieldChars ?? DEFAULT_WORKER_SKILL_AUDIT_MAX_DRAFT_FIELD_CHARS, DEFAULT_WORKER_SKILL_AUDIT_MAX_DRAFT_FIELD_CHARS),
137
+ })),
138
+ });
139
+ }
140
+ return registry;
141
+ }
142
+ export function unsupportedWorkerToolReason(name) {
143
+ return `worker_tool_adapter_unavailable:${name}`;
144
+ }
145
+ //# sourceMappingURL=worker-tool-adapter-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-tool-adapter-registry.js","sourceRoot":"","sources":["../../../src/core/autonomy/worker-tool-adapter-registry.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AgentTool } from \"@caupulican/pi-agent-core\";\nimport type { TSchema } from \"typebox\";\nimport type { ArtifactStore } from \"../context/context-artifacts.ts\";\nimport { ROOT_MEMORY_TOOL_NAME, WORKER_MEMORY_READ_TOOL_NAME } from \"../memory/worker-memory-tools.ts\";\nimport { type CredentialExposureBoundary, isProtectedCredentialPath } from \"../secrets/credential-exposure-guard.ts\";\nimport { createArtifactRetrieveTool } from \"../tools/artifact-retrieve.ts\";\nimport {\n\tcreateRunToolkitScriptToolDefinition,\n\ttype RunToolkitScriptDependencies,\n} from \"../tools/run-toolkit-script.ts\";\nimport { createReadOnlySkillToolDefinition, type ReadOnlySkillBroker } from \"../tools/skill.ts\";\nimport {\n\tcreateSkillAuditToolDefinition,\n\tDEFAULT_WORKER_SKILL_AUDIT_MAX_COMPARISON_PAIRS,\n\tDEFAULT_WORKER_SKILL_AUDIT_MAX_DRAFT_FIELD_CHARS,\n\tDEFAULT_WORKER_SKILL_AUDIT_MAX_SKILLS,\n\ttype SkillAuditToolOptions,\n} from \"../tools/skill-audit.ts\";\nimport { wrapToolDefinition } from \"../tools/tool-definition-wrapper.ts\";\n\n/**\n * Host-owned inputs available while constructing one fresh worker tool.\n *\n * An adapter is deliberately a factory, not a live AgentTool. This keeps worker retries and\n * concurrent lanes from sharing mutable foreground/session state. The host owns the broker\n * callbacks and is responsible for preserving its cancellation and credential boundaries.\n */\nexport interface WorkerToolAdapterContext {\n\tcwd: string;\n\tsignal?: AbortSignal;\n\tcredentialBoundary?: CredentialExposureBoundary;\n}\n\nexport type WorkerToolAdapterFactory = (context: WorkerToolAdapterContext) => AgentTool<TSchema, unknown>;\n\nexport interface WorkerToolAdapter {\n\treadonly name: string;\n\treadonly description: string;\n\treadonly create: WorkerToolAdapterFactory;\n}\n\n/** Root/session controls are never brokered into a leaf, even when a host registers factories. */\nexport const WORKER_TOOL_ADAPTER_FORBIDDEN_NAMES: ReadonlySet<string> = new Set([\n\t\"delegate\",\n\t\"tmux_dispatch\",\n\t\"tmux_agent_manager\",\n\t\"context_scout\",\n\tROOT_MEMORY_TOOL_NAME,\n\tWORKER_MEMORY_READ_TOOL_NAME,\n\t\"goal\",\n\t\"get_goal\",\n\t\"update_goal\",\n\t\"task_steps\",\n\t\"pipeline\",\n\t\"tool_task\",\n\t\"ask_question\",\n\t\"secret_store\",\n\t\"settings\",\n\t\"session\",\n\t\"credential\",\n\t\"model_fitness\",\n\t\"improvement_loop\",\n\t\"skillify\",\n\t\"extensionify\",\n\t\"worktree_sync\",\n]);\n\n/** Adapter names with host-owned factories; explicit profiles must have these active in foreground. */\nexport const WORKER_TOOL_ADAPTER_NAMES: ReadonlySet<string> = new Set([\n\t\"artifact_retrieve\",\n\t\"run_toolkit_script\",\n\t\"skill\",\n\t\"skill_audit\",\n]);\n\nexport type WorkerToolAdapterMaterialization =\n\t| { ok: true; tool: AgentTool<TSchema, unknown> }\n\t| { ok: false; reason: string };\n\nexport interface WorkerToolAdapterSources {\n\t/** Session-owned packed output store; retrieval is bounded and identifier-only. */\n\tartifactStore?: ArtifactStore;\n\t/** Host-owned script registry and bounded executor. */\n\trunToolkitScript?: RunToolkitScriptDependencies;\n\t/** Optional brokered read-only skill surface. */\n\tskill?: ReadOnlySkillBroker;\n\t/** Optional read-only skill audit broker with host-path redaction. */\n\tskillAudit?: Pick<SkillAuditToolOptions, \"getSkills\" | \"maxSkills\" | \"maxComparisonPairs\" | \"maxDraftFieldChars\"> &\n\t\tRequired<Pick<SkillAuditToolOptions, \"redactPath\">>;\n}\n\n/**\n * Registry for the small set of foreground capabilities that can be brokered safely to a leaf\n * worker. It owns no session state and never clones or returns the foreground tool instance.\n *\n * Extension/MCP tools must be registered explicitly by a host broker. A missing registration is\n * a deterministic unsupported result so an omitted inherited tool cannot silently disappear.\n */\nexport class WorkerToolAdapterRegistry {\n\tprivate readonly adapters = new Map<string, WorkerToolAdapter>();\n\n\tregister(adapter: WorkerToolAdapter): this {\n\t\tconst name = adapter.name.trim();\n\t\tif (!name) throw new TypeError(\"Worker tool adapter name must not be empty.\");\n\t\tif (WORKER_TOOL_ADAPTER_FORBIDDEN_NAMES.has(name.toLowerCase())) {\n\t\t\tthrow new Error(`worker_tool_adapter_forbidden:${name}`);\n\t\t}\n\t\tif (this.adapters.has(name)) throw new Error(`Duplicate worker tool adapter: ${name}`);\n\t\tthis.adapters.set(name, Object.freeze({ ...adapter, name }));\n\t\treturn this;\n\t}\n\n\thas(name: string): boolean {\n\t\treturn this.adapters.has(name);\n\t}\n\n\tnames(): readonly string[] {\n\t\treturn [...this.adapters.keys()];\n\t}\n\n\tdescription(name: string): string | undefined {\n\t\treturn this.adapters.get(name)?.description;\n\t}\n\n\tmaterialize(name: string, context: WorkerToolAdapterContext): WorkerToolAdapterMaterialization {\n\t\tconst adapter = this.adapters.get(name);\n\t\tif (!adapter) return { ok: false, reason: unsupportedWorkerToolReason(name) };\n\t\ttry {\n\t\t\tconst tool = adapter.create({ ...context });\n\t\t\tif (tool.name !== name) {\n\t\t\t\treturn {\n\t\t\t\t\tok: false,\n\t\t\t\t\treason: `worker_tool_adapter_contract_violation:${name}:created=${tool.name}`,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn { ok: true, tool };\n\t\t} catch (error) {\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\treason: `worker_tool_adapter_failed:${name}:${error instanceof Error ? error.message : String(error)}`,\n\t\t\t};\n\t\t}\n\t}\n}\n\n/** Build the default safe adapters from host-owned brokers. Omitted sources stay unsupported. */\nexport function createWorkerToolAdapterRegistry(sources: WorkerToolAdapterSources = {}): WorkerToolAdapterRegistry {\n\tconst registry = new WorkerToolAdapterRegistry();\n\tif (sources.artifactStore) {\n\t\tregistry.register({\n\t\t\tname: \"artifact_retrieve\",\n\t\t\tdescription: \"Retrieve a bounded slice from a host-owned packed tool-output artifact.\",\n\t\t\tcreate: (context) => createArtifactRetrieveTool(context.cwd, { artifactStore: sources.artifactStore }),\n\t\t});\n\t}\n\tif (sources.runToolkitScript) {\n\t\tregistry.register({\n\t\t\tname: \"run_toolkit_script\",\n\t\t\tdescription: \"Run a registered toolkit script through the host-owned bounded executor.\",\n\t\t\tcreate: (context) => {\n\t\t\t\tconst dependencies = sources.runToolkitScript!;\n\t\t\t\treturn wrapToolDefinition(\n\t\t\t\t\tcreateRunToolkitScriptToolDefinition({\n\t\t\t\t\t\t...dependencies,\n\t\t\t\t\t\tgetScripts: () =>\n\t\t\t\t\t\t\tdependencies\n\t\t\t\t\t\t\t\t.getScripts()\n\t\t\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t\t\t(script) =>\n\t\t\t\t\t\t\t\t\t\t!context.credentialBoundary ||\n\t\t\t\t\t\t\t\t\t\t!isProtectedCredentialPath(script.path, context.cwd, context.credentialBoundary),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t},\n\t\t});\n\t}\n\tif (sources.skill) {\n\t\tregistry.register({\n\t\t\tname: \"skill\",\n\t\t\tdescription: \"Use the host-owned read-only skill broker.\",\n\t\t\tcreate: () => wrapToolDefinition(createReadOnlySkillToolDefinition(sources.skill!)),\n\t\t});\n\t}\n\tif (sources.skillAudit) {\n\t\tconst skillAudit = sources.skillAudit;\n\t\tregistry.register({\n\t\t\tname: \"skill_audit\",\n\t\t\tdescription: \"Audit skills through the host-owned read-only broker.\",\n\t\t\tcreate: (context) =>\n\t\t\t\twrapToolDefinition(\n\t\t\t\t\tcreateSkillAuditToolDefinition(context.cwd, {\n\t\t\t\t\t\t...skillAudit,\n\t\t\t\t\t\tmaxSkills: Math.min(\n\t\t\t\t\t\t\tskillAudit.maxSkills ?? DEFAULT_WORKER_SKILL_AUDIT_MAX_SKILLS,\n\t\t\t\t\t\t\tDEFAULT_WORKER_SKILL_AUDIT_MAX_SKILLS,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmaxComparisonPairs: Math.min(\n\t\t\t\t\t\t\tskillAudit.maxComparisonPairs ?? DEFAULT_WORKER_SKILL_AUDIT_MAX_COMPARISON_PAIRS,\n\t\t\t\t\t\t\tDEFAULT_WORKER_SKILL_AUDIT_MAX_COMPARISON_PAIRS,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmaxDraftFieldChars: Math.min(\n\t\t\t\t\t\t\tskillAudit.maxDraftFieldChars ?? DEFAULT_WORKER_SKILL_AUDIT_MAX_DRAFT_FIELD_CHARS,\n\t\t\t\t\t\t\tDEFAULT_WORKER_SKILL_AUDIT_MAX_DRAFT_FIELD_CHARS,\n\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t});\n\t}\n\treturn registry;\n}\n\nexport function unsupportedWorkerToolReason(name: string): string {\n\treturn `worker_tool_adapter_unavailable:${name}`;\n}\n"]}
@@ -66,6 +66,8 @@ export declare class BackgroundLaneController implements WorkerAgentControlPort
66
66
  private _workerLifecycle;
67
67
  /** Shared terminal outbox for managed and in-process workers; lazy under UAC omission. */
68
68
  private _workerNotifications;
69
+ /** Active event waits consume matching terminal edges before a redundant parent wake is admitted. */
70
+ private readonly _workerWaitConsumers;
69
71
  private readonly deps;
70
72
  /** Emit a warning without ever throwing — used from disposal-adjacent persistence where a
71
73
  * listener failure (or a bare test double missing `emit`) must never block or crash cleanup. */
@@ -75,6 +77,12 @@ export declare class BackgroundLaneController implements WorkerAgentControlPort
75
77
  private _getWorkerController;
76
78
  private _getWorkerLifecycle;
77
79
  private _getWorkerNotificationCoordinator;
80
+ private _workerAgentIdForRecord;
81
+ private _isWorkerTerminalAwaited;
82
+ private _retainWorkerWaitConsumers;
83
+ /** Observe only logical-agent terminals explicitly exposed by a bounded model result. */
84
+ observeWorkerAgentTerminals(agentIds: readonly string[]): void;
85
+ observeWorkerTerminalRecords(records: readonly LaneRecord[]): void;
78
86
  /**
79
87
  * Backfills a durable notification for every record about to be flushed, through the SAME
80
88
  * durable notification store `_getWorkerLifecycle()` already replays from on construction
@@ -156,7 +164,7 @@ export declare class BackgroundLaneController implements WorkerAgentControlPort
156
164
  context?: string;
157
165
  goalId?: string;
158
166
  }): Promise<ResearchLaneRunOutcome>;
159
- /** Start a durable recursive agent with inherited, preset, or model-selected authority. */
167
+ /** Start a durable leaf worker with inherited, preset, or model-selected authority. */
160
168
  startWorkerDelegation(request: WorkerDelegationRequest): {
161
169
  started: false;
162
170
  skipReason: string;
@@ -1 +1 @@
1
- {"version":3,"file":"background-lane-controller.d.ts","sourceRoot":"","sources":["../../src/core/background-lane-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"background-lane-controller.d.ts","sourceRoot":"","sources":["../../src/core/background-lane-controller.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  * delegations; goal auto-continue itself only ever asks the session to `continueGoalLoop`, so this
14
14
  * controller never touches `prompt()`, the last-assistant-message, retry, or streaming state.
15
15
  */
16
- import { LaneTracker } from "./autonomy/lane-tracker.js";
16
+ import { isLaneTerminalStatus, LaneTracker } from "./autonomy/lane-tracker.js";
17
17
  import { appendLaneRecordSnapshot, getLatestLaneRecordSnapshots } from "./autonomy/session-lane-record.js";
18
18
  import { ManagedLaneController } from "./delegation/managed-lane-controller.js";
19
19
  import { WorkerDelegationController, } from "./delegation/worker-delegation-controller.js";
@@ -43,6 +43,8 @@ export class BackgroundLaneController {
43
43
  constructor(deps) {
44
44
  /** Live lane registry — the real source for AutonomyStatusSnapshot.activeLaneCount. */
45
45
  this._laneTracker = new LaneTracker();
46
+ /** Active event waits consume matching terminal edges before a redundant parent wake is admitted. */
47
+ this._workerWaitConsumers = new Map();
46
48
  this.deps = deps;
47
49
  this._laneModels = new LaneModelResolver(deps);
48
50
  this._research = new ResearchLaneController(deps, this._laneTracker, this._laneModels);
@@ -102,9 +104,45 @@ export class BackgroundLaneController {
102
104
  notify: (records) => this.deps.notifyWorkerTerminalHandoff(records),
103
105
  warn: (message) => this._safeWarn(message),
104
106
  markDurableDelivered: (notificationIds) => this._workerLifecycle?.markNotificationsDelivered(notificationIds),
107
+ isObserved: (record) => this._isWorkerTerminalAwaited(record),
105
108
  });
106
109
  return this._workerNotifications;
107
110
  }
111
+ _workerAgentIdForRecord(record) {
112
+ const attempt = this._workerLifecycle?.getActiveAttempt(record.laneId) ??
113
+ this._workerLifecycle?.getManagedAttempt(record.laneId);
114
+ return attempt?.agentId ?? attempt?.dispatch.logicalLaneId ?? record.laneId;
115
+ }
116
+ _isWorkerTerminalAwaited(record) {
117
+ return (this._workerWaitConsumers.get(this._workerAgentIdForRecord(record)) ?? 0) > 0;
118
+ }
119
+ _retainWorkerWaitConsumers(agentIds) {
120
+ const unique = [...new Set(agentIds)];
121
+ for (const agentId of unique) {
122
+ this._workerWaitConsumers.set(agentId, (this._workerWaitConsumers.get(agentId) ?? 0) + 1);
123
+ }
124
+ return () => {
125
+ for (const agentId of unique) {
126
+ const remaining = (this._workerWaitConsumers.get(agentId) ?? 1) - 1;
127
+ if (remaining > 0)
128
+ this._workerWaitConsumers.set(agentId, remaining);
129
+ else
130
+ this._workerWaitConsumers.delete(agentId);
131
+ }
132
+ };
133
+ }
134
+ /** Observe only logical-agent terminals explicitly exposed by a bounded model result. */
135
+ observeWorkerAgentTerminals(agentIds) {
136
+ if (!this._workerLifecycle)
137
+ return;
138
+ const targets = new Set(agentIds);
139
+ this.observeWorkerTerminalRecords(this.getLaneRecords().filter((record) => isLaneTerminalStatus(record.status) && targets.has(this._workerAgentIdForRecord(record))));
140
+ }
141
+ observeWorkerTerminalRecords(records) {
142
+ const terminal = records.filter((record) => isLaneTerminalStatus(record.status));
143
+ if (terminal.length > 0)
144
+ this._getWorkerNotificationCoordinator().observeTerminals(terminal);
145
+ }
108
146
  /**
109
147
  * Backfills a durable notification for every record about to be flushed, through the SAME
110
148
  * durable notification store `_getWorkerLifecycle()` already replays from on construction
@@ -270,7 +308,7 @@ export class BackgroundLaneController {
270
308
  async runResearchLaneOnce(request) {
271
309
  return this._research.runOnce(request);
272
310
  }
273
- /** Start a durable recursive agent with inherited, preset, or model-selected authority. */
311
+ /** Start a durable leaf worker with inherited, preset, or model-selected authority. */
274
312
  startWorkerDelegation(request) {
275
313
  return this._getWorkerController().start(request);
276
314
  }
@@ -288,12 +326,16 @@ export class BackgroundLaneController {
288
326
  getWorkerAgentActivity(agentId, scope) {
289
327
  if (!this.deps.isDelegateToolActive())
290
328
  throw new Error("Worker delegation control is unavailable in this UAC surface.");
291
- return this._getWorkerController().getAgentControl().getWorkerAgentActivity(agentId, scope);
329
+ const activity = this._getWorkerController().getAgentControl().getWorkerAgentActivity(agentId, scope);
330
+ this.observeWorkerAgentTerminals([agentId]);
331
+ return activity;
292
332
  }
293
333
  readWorkerAgentTranscript(agentId, options) {
294
334
  if (!this.deps.isDelegateToolActive())
295
335
  throw new Error("Worker delegation control is unavailable in this UAC surface.");
296
- return this._getWorkerController().getAgentControl().readWorkerAgentTranscript(agentId, options);
336
+ const page = this._getWorkerController().getAgentControl().readWorkerAgentTranscript(agentId, options);
337
+ this.observeWorkerAgentTerminals([agentId]);
338
+ return page;
297
339
  }
298
340
  sendWorkerAgentMessage(agentId, message, options) {
299
341
  if (!this.deps.isDelegateToolActive())
@@ -370,12 +412,40 @@ export class BackgroundLaneController {
370
412
  waitForWorkerAgent(agentId, timeoutMs, scope) {
371
413
  if (!this.deps.isDelegateToolActive())
372
414
  throw new Error("Worker delegation control is unavailable in this UAC surface.");
373
- return this._getWorkerController().getAgentControl().waitForWorkerAgent(agentId, timeoutMs, scope);
415
+ const release = this._retainWorkerWaitConsumers([agentId]);
416
+ let wait;
417
+ try {
418
+ wait = this._getWorkerController().getAgentControl().waitForWorkerAgent(agentId, timeoutMs, scope);
419
+ }
420
+ catch (error) {
421
+ release();
422
+ throw error;
423
+ }
424
+ return wait
425
+ .then((result) => {
426
+ this.observeWorkerAgentTerminals([agentId]);
427
+ return result;
428
+ })
429
+ .finally(release);
374
430
  }
375
431
  waitForWorkerAgents(agentIds, mode, timeoutMs, scope) {
376
432
  if (!this.deps.isDelegateToolActive())
377
433
  throw new Error("Worker delegation control is unavailable in this UAC surface.");
378
- return this._getWorkerController().getAgentControl().waitForWorkerAgents(agentIds, mode, timeoutMs, scope);
434
+ const release = this._retainWorkerWaitConsumers(agentIds);
435
+ let wait;
436
+ try {
437
+ wait = this._getWorkerController().getAgentControl().waitForWorkerAgents(agentIds, mode, timeoutMs, scope);
438
+ }
439
+ catch (error) {
440
+ release();
441
+ throw error;
442
+ }
443
+ return wait
444
+ .then((result) => {
445
+ this.observeWorkerAgentTerminals(agentIds);
446
+ return result;
447
+ })
448
+ .finally(release);
379
449
  }
380
450
  broadcastWorkerAgentMessage(agentIds, message, options) {
381
451
  if (!this.deps.isDelegateToolActive())