@amsterdamdatalabs/enact-operator 0.1.2

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 (377) hide show
  1. package/README.md +33 -0
  2. package/dist/index.d.ts +24 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +24 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lanes/autopilot/index.d.ts +95 -0
  7. package/dist/lanes/autopilot/index.d.ts.map +1 -0
  8. package/dist/lanes/autopilot/index.js +499 -0
  9. package/dist/lanes/autopilot/index.js.map +1 -0
  10. package/dist/lanes/ralph/index.d.ts +118 -0
  11. package/dist/lanes/ralph/index.d.ts.map +1 -0
  12. package/dist/lanes/ralph/index.js +680 -0
  13. package/dist/lanes/ralph/index.js.map +1 -0
  14. package/dist/lanes/team/index.d.ts +110 -0
  15. package/dist/lanes/team/index.d.ts.map +1 -0
  16. package/dist/lanes/team/index.js +748 -0
  17. package/dist/lanes/team/index.js.map +1 -0
  18. package/dist/lanes/team/roles.d.ts +15 -0
  19. package/dist/lanes/team/roles.d.ts.map +1 -0
  20. package/dist/lanes/team/roles.js +89 -0
  21. package/dist/lanes/team/roles.js.map +1 -0
  22. package/dist/lanes/ultrawork/burst.d.ts +69 -0
  23. package/dist/lanes/ultrawork/burst.d.ts.map +1 -0
  24. package/dist/lanes/ultrawork/burst.js +254 -0
  25. package/dist/lanes/ultrawork/burst.js.map +1 -0
  26. package/dist/lanes/ultrawork/index.d.ts +159 -0
  27. package/dist/lanes/ultrawork/index.d.ts.map +1 -0
  28. package/dist/lanes/ultrawork/index.js +919 -0
  29. package/dist/lanes/ultrawork/index.js.map +1 -0
  30. package/dist/lanes/ultrawork/phases.d.ts +57 -0
  31. package/dist/lanes/ultrawork/phases.d.ts.map +1 -0
  32. package/dist/lanes/ultrawork/phases.js +116 -0
  33. package/dist/lanes/ultrawork/phases.js.map +1 -0
  34. package/dist/mcp/activation.d.ts +5 -0
  35. package/dist/mcp/activation.d.ts.map +1 -0
  36. package/dist/mcp/activation.js +234 -0
  37. package/dist/mcp/activation.js.map +1 -0
  38. package/dist/mcp/cli.d.ts +11 -0
  39. package/dist/mcp/cli.d.ts.map +1 -0
  40. package/dist/mcp/cli.js +140 -0
  41. package/dist/mcp/cli.js.map +1 -0
  42. package/dist/mcp/continuation.d.ts +5 -0
  43. package/dist/mcp/continuation.d.ts.map +1 -0
  44. package/dist/mcp/continuation.js +360 -0
  45. package/dist/mcp/continuation.js.map +1 -0
  46. package/dist/mcp/jobs.d.ts +5 -0
  47. package/dist/mcp/jobs.d.ts.map +1 -0
  48. package/dist/mcp/jobs.js +212 -0
  49. package/dist/mcp/jobs.js.map +1 -0
  50. package/dist/mcp/laneSupport.d.ts +19 -0
  51. package/dist/mcp/laneSupport.d.ts.map +1 -0
  52. package/dist/mcp/laneSupport.js +21 -0
  53. package/dist/mcp/laneSupport.js.map +1 -0
  54. package/dist/mcp/lanes/autopilot.d.ts +5 -0
  55. package/dist/mcp/lanes/autopilot.d.ts.map +1 -0
  56. package/dist/mcp/lanes/autopilot.js +227 -0
  57. package/dist/mcp/lanes/autopilot.js.map +1 -0
  58. package/dist/mcp/lanes/ralph.d.ts +5 -0
  59. package/dist/mcp/lanes/ralph.d.ts.map +1 -0
  60. package/dist/mcp/lanes/ralph.js +392 -0
  61. package/dist/mcp/lanes/ralph.js.map +1 -0
  62. package/dist/mcp/lanes/team.d.ts +5 -0
  63. package/dist/mcp/lanes/team.d.ts.map +1 -0
  64. package/dist/mcp/lanes/team.js +413 -0
  65. package/dist/mcp/lanes/team.js.map +1 -0
  66. package/dist/mcp/lanes/ultrawork.d.ts +5 -0
  67. package/dist/mcp/lanes/ultrawork.d.ts.map +1 -0
  68. package/dist/mcp/lanes/ultrawork.js +497 -0
  69. package/dist/mcp/lanes/ultrawork.js.map +1 -0
  70. package/dist/mcp/linkage.d.ts +5 -0
  71. package/dist/mcp/linkage.d.ts.map +1 -0
  72. package/dist/mcp/linkage.js +126 -0
  73. package/dist/mcp/linkage.js.map +1 -0
  74. package/dist/mcp/planning.d.ts +5 -0
  75. package/dist/mcp/planning.d.ts.map +1 -0
  76. package/dist/mcp/planning.js +584 -0
  77. package/dist/mcp/planning.js.map +1 -0
  78. package/dist/mcp/rpcTransport.d.ts +17 -0
  79. package/dist/mcp/rpcTransport.d.ts.map +1 -0
  80. package/dist/mcp/rpcTransport.js +90 -0
  81. package/dist/mcp/rpcTransport.js.map +1 -0
  82. package/dist/mcp/schemas/ralphVerify.d.ts +32 -0
  83. package/dist/mcp/schemas/ralphVerify.d.ts.map +1 -0
  84. package/dist/mcp/schemas/ralphVerify.js +20 -0
  85. package/dist/mcp/schemas/ralphVerify.js.map +1 -0
  86. package/dist/mcp/server.d.ts +5 -0
  87. package/dist/mcp/server.d.ts.map +1 -0
  88. package/dist/mcp/server.js +176 -0
  89. package/dist/mcp/server.js.map +1 -0
  90. package/dist/mcp/system.d.ts +5 -0
  91. package/dist/mcp/system.d.ts.map +1 -0
  92. package/dist/mcp/system.js +445 -0
  93. package/dist/mcp/system.js.map +1 -0
  94. package/dist/mcp/toolFilter.d.ts +2 -0
  95. package/dist/mcp/toolFilter.d.ts.map +1 -0
  96. package/dist/mcp/toolFilter.js +2 -0
  97. package/dist/mcp/toolFilter.js.map +1 -0
  98. package/dist/mcp/toolPartitions.d.ts +20 -0
  99. package/dist/mcp/toolPartitions.d.ts.map +1 -0
  100. package/dist/mcp/toolPartitions.js +280 -0
  101. package/dist/mcp/toolPartitions.js.map +1 -0
  102. package/dist/mcp/toolRuntime.d.ts +9 -0
  103. package/dist/mcp/toolRuntime.d.ts.map +1 -0
  104. package/dist/mcp/toolRuntime.js +179 -0
  105. package/dist/mcp/toolRuntime.js.map +1 -0
  106. package/dist/mcp/workflow.d.ts +12 -0
  107. package/dist/mcp/workflow.d.ts.map +1 -0
  108. package/dist/mcp/workflow.js +723 -0
  109. package/dist/mcp/workflow.js.map +1 -0
  110. package/dist/operator/hooks/hookDispatcher.d.ts +39 -0
  111. package/dist/operator/hooks/hookDispatcher.d.ts.map +1 -0
  112. package/dist/operator/hooks/hookDispatcher.js +58 -0
  113. package/dist/operator/hooks/hookDispatcher.js.map +1 -0
  114. package/dist/operator/hooks/hookGating.d.ts +28 -0
  115. package/dist/operator/hooks/hookGating.d.ts.map +1 -0
  116. package/dist/operator/hooks/hookGating.js +61 -0
  117. package/dist/operator/hooks/hookGating.js.map +1 -0
  118. package/dist/operator/hooks/hooks.d.ts +20 -0
  119. package/dist/operator/hooks/hooks.d.ts.map +1 -0
  120. package/dist/operator/hooks/hooks.js +124 -0
  121. package/dist/operator/hooks/hooks.js.map +1 -0
  122. package/dist/operator/hooks/toolGuardHooks.d.ts +86 -0
  123. package/dist/operator/hooks/toolGuardHooks.d.ts.map +1 -0
  124. package/dist/operator/hooks/toolGuardHooks.js +163 -0
  125. package/dist/operator/hooks/toolGuardHooks.js.map +1 -0
  126. package/dist/operator/hud.d.ts +115 -0
  127. package/dist/operator/hud.d.ts.map +1 -0
  128. package/dist/operator/hud.js +229 -0
  129. package/dist/operator/hud.js.map +1 -0
  130. package/dist/operator/missions.d.ts +125 -0
  131. package/dist/operator/missions.d.ts.map +1 -0
  132. package/dist/operator/missions.js +304 -0
  133. package/dist/operator/missions.js.map +1 -0
  134. package/dist/operator/operatorCore.d.ts +11 -0
  135. package/dist/operator/operatorCore.d.ts.map +1 -0
  136. package/dist/operator/operatorCore.js +9 -0
  137. package/dist/operator/operatorCore.js.map +1 -0
  138. package/dist/operator/operatorRuntimeCore.d.ts +17 -0
  139. package/dist/operator/operatorRuntimeCore.d.ts.map +1 -0
  140. package/dist/operator/operatorRuntimeCore.js +17 -0
  141. package/dist/operator/operatorRuntimeCore.js.map +1 -0
  142. package/dist/operator/runtime.d.ts +74 -0
  143. package/dist/operator/runtime.d.ts.map +1 -0
  144. package/dist/operator/runtime.js +357 -0
  145. package/dist/operator/runtime.js.map +1 -0
  146. package/dist/shared/core/bootstrap.d.ts +16 -0
  147. package/dist/shared/core/bootstrap.d.ts.map +1 -0
  148. package/dist/shared/core/bootstrap.js +77 -0
  149. package/dist/shared/core/bootstrap.js.map +1 -0
  150. package/dist/shared/core/contract.d.ts +71 -0
  151. package/dist/shared/core/contract.d.ts.map +1 -0
  152. package/dist/shared/core/contract.js +452 -0
  153. package/dist/shared/core/contract.js.map +1 -0
  154. package/dist/shared/core/events.d.ts +57 -0
  155. package/dist/shared/core/events.d.ts.map +1 -0
  156. package/dist/shared/core/events.js +36 -0
  157. package/dist/shared/core/events.js.map +1 -0
  158. package/dist/shared/core/jobs.d.ts +46 -0
  159. package/dist/shared/core/jobs.d.ts.map +1 -0
  160. package/dist/shared/core/jobs.js +137 -0
  161. package/dist/shared/core/jobs.js.map +1 -0
  162. package/dist/shared/core/json.d.ts +12 -0
  163. package/dist/shared/core/json.d.ts.map +1 -0
  164. package/dist/shared/core/json.js +52 -0
  165. package/dist/shared/core/json.js.map +1 -0
  166. package/dist/shared/core/layoutMigration.d.ts +11 -0
  167. package/dist/shared/core/layoutMigration.d.ts.map +1 -0
  168. package/dist/shared/core/layoutMigration.js +56 -0
  169. package/dist/shared/core/layoutMigration.js.map +1 -0
  170. package/dist/shared/core/lifecycle.d.ts +61 -0
  171. package/dist/shared/core/lifecycle.d.ts.map +1 -0
  172. package/dist/shared/core/lifecycle.js +123 -0
  173. package/dist/shared/core/lifecycle.js.map +1 -0
  174. package/dist/shared/core/packagePaths.d.ts +2 -0
  175. package/dist/shared/core/packagePaths.d.ts.map +1 -0
  176. package/dist/shared/core/packagePaths.js +9 -0
  177. package/dist/shared/core/packagePaths.js.map +1 -0
  178. package/dist/shared/core/terminology.d.ts +38 -0
  179. package/dist/shared/core/terminology.d.ts.map +1 -0
  180. package/dist/shared/core/terminology.js +54 -0
  181. package/dist/shared/core/terminology.js.map +1 -0
  182. package/dist/shared/core/types.d.ts +30 -0
  183. package/dist/shared/core/types.d.ts.map +1 -0
  184. package/dist/shared/core/types.js +2 -0
  185. package/dist/shared/core/types.js.map +1 -0
  186. package/dist/shared/diagnostics/doctor.d.ts +19 -0
  187. package/dist/shared/diagnostics/doctor.d.ts.map +1 -0
  188. package/dist/shared/diagnostics/doctor.js +82 -0
  189. package/dist/shared/diagnostics/doctor.js.map +1 -0
  190. package/dist/shared/diagnostics/hostRollout.d.ts +16 -0
  191. package/dist/shared/diagnostics/hostRollout.d.ts.map +1 -0
  192. package/dist/shared/diagnostics/hostRollout.js +78 -0
  193. package/dist/shared/diagnostics/hostRollout.js.map +1 -0
  194. package/dist/shared/observability/emit.d.ts +3 -0
  195. package/dist/shared/observability/emit.d.ts.map +1 -0
  196. package/dist/shared/observability/emit.js +17 -0
  197. package/dist/shared/observability/emit.js.map +1 -0
  198. package/dist/shared/observability/testWorkspace.d.ts +4 -0
  199. package/dist/shared/observability/testWorkspace.d.ts.map +1 -0
  200. package/dist/shared/observability/testWorkspace.js +35 -0
  201. package/dist/shared/observability/testWorkspace.js.map +1 -0
  202. package/dist/shared/state/installRegistry.d.ts +22 -0
  203. package/dist/shared/state/installRegistry.d.ts.map +1 -0
  204. package/dist/shared/state/installRegistry.js +51 -0
  205. package/dist/shared/state/installRegistry.js.map +1 -0
  206. package/dist/shared/state/session.d.ts +18 -0
  207. package/dist/shared/state/session.d.ts.map +1 -0
  208. package/dist/shared/state/session.js +127 -0
  209. package/dist/shared/state/session.js.map +1 -0
  210. package/dist/shared/state/state.d.ts +16 -0
  211. package/dist/shared/state/state.d.ts.map +1 -0
  212. package/dist/shared/state/state.js +91 -0
  213. package/dist/shared/state/state.js.map +1 -0
  214. package/dist/shared/state/tasks.d.ts +113 -0
  215. package/dist/shared/state/tasks.d.ts.map +1 -0
  216. package/dist/shared/state/tasks.js +274 -0
  217. package/dist/shared/state/tasks.js.map +1 -0
  218. package/dist/shared/workflow/activation/activeSkill.d.ts +46 -0
  219. package/dist/shared/workflow/activation/activeSkill.d.ts.map +1 -0
  220. package/dist/shared/workflow/activation/activeSkill.js +158 -0
  221. package/dist/shared/workflow/activation/activeSkill.js.map +1 -0
  222. package/dist/shared/workflow/activation/gateProfiles.d.ts +26 -0
  223. package/dist/shared/workflow/activation/gateProfiles.d.ts.map +1 -0
  224. package/dist/shared/workflow/activation/gateProfiles.js +102 -0
  225. package/dist/shared/workflow/activation/gateProfiles.js.map +1 -0
  226. package/dist/shared/workflow/activation/modeMatrix.d.ts +28 -0
  227. package/dist/shared/workflow/activation/modeMatrix.d.ts.map +1 -0
  228. package/dist/shared/workflow/activation/modeMatrix.js +91 -0
  229. package/dist/shared/workflow/activation/modeMatrix.js.map +1 -0
  230. package/dist/shared/workflow/activation/skillActivation.d.ts +74 -0
  231. package/dist/shared/workflow/activation/skillActivation.d.ts.map +1 -0
  232. package/dist/shared/workflow/activation/skillActivation.js +485 -0
  233. package/dist/shared/workflow/activation/skillActivation.js.map +1 -0
  234. package/dist/shared/workflow/activation/skillVariant.d.ts +18 -0
  235. package/dist/shared/workflow/activation/skillVariant.d.ts.map +1 -0
  236. package/dist/shared/workflow/activation/skillVariant.js +44 -0
  237. package/dist/shared/workflow/activation/skillVariant.js.map +1 -0
  238. package/dist/shared/workflow/authority/authority.d.ts +34 -0
  239. package/dist/shared/workflow/authority/authority.d.ts.map +1 -0
  240. package/dist/shared/workflow/authority/authority.js +64 -0
  241. package/dist/shared/workflow/authority/authority.js.map +1 -0
  242. package/dist/shared/workflow/closure/closureManifest.d.ts +39 -0
  243. package/dist/shared/workflow/closure/closureManifest.d.ts.map +1 -0
  244. package/dist/shared/workflow/closure/closureManifest.js +62 -0
  245. package/dist/shared/workflow/closure/closureManifest.js.map +1 -0
  246. package/dist/shared/workflow/closure/closureRequirements.d.ts +12 -0
  247. package/dist/shared/workflow/closure/closureRequirements.d.ts.map +1 -0
  248. package/dist/shared/workflow/closure/closureRequirements.js +30 -0
  249. package/dist/shared/workflow/closure/closureRequirements.js.map +1 -0
  250. package/dist/shared/workflow/closure/contractParity.d.ts +24 -0
  251. package/dist/shared/workflow/closure/contractParity.d.ts.map +1 -0
  252. package/dist/shared/workflow/closure/contractParity.js +238 -0
  253. package/dist/shared/workflow/closure/contractParity.js.map +1 -0
  254. package/dist/shared/workflow/closure/contractParityContext.d.ts +8 -0
  255. package/dist/shared/workflow/closure/contractParityContext.d.ts.map +1 -0
  256. package/dist/shared/workflow/closure/contractParityContext.js +50 -0
  257. package/dist/shared/workflow/closure/contractParityContext.js.map +1 -0
  258. package/dist/shared/workflow/closure/scopeGuard.d.ts +11 -0
  259. package/dist/shared/workflow/closure/scopeGuard.d.ts.map +1 -0
  260. package/dist/shared/workflow/closure/scopeGuard.js +69 -0
  261. package/dist/shared/workflow/closure/scopeGuard.js.map +1 -0
  262. package/dist/shared/workflow/closure/ultragoalArtifact.d.ts +13 -0
  263. package/dist/shared/workflow/closure/ultragoalArtifact.d.ts.map +1 -0
  264. package/dist/shared/workflow/closure/ultragoalArtifact.js +31 -0
  265. package/dist/shared/workflow/closure/ultragoalArtifact.js.map +1 -0
  266. package/dist/shared/workflow/closure/workflowReconcile.d.ts +70 -0
  267. package/dist/shared/workflow/closure/workflowReconcile.d.ts.map +1 -0
  268. package/dist/shared/workflow/closure/workflowReconcile.js +267 -0
  269. package/dist/shared/workflow/closure/workflowReconcile.js.map +1 -0
  270. package/dist/shared/workflow/continuation/continuation.d.ts +109 -0
  271. package/dist/shared/workflow/continuation/continuation.d.ts.map +1 -0
  272. package/dist/shared/workflow/continuation/continuation.js +550 -0
  273. package/dist/shared/workflow/continuation/continuation.js.map +1 -0
  274. package/dist/shared/workflow/continuation/continuationEventReservations.d.ts +17 -0
  275. package/dist/shared/workflow/continuation/continuationEventReservations.d.ts.map +1 -0
  276. package/dist/shared/workflow/continuation/continuationEventReservations.js +88 -0
  277. package/dist/shared/workflow/continuation/continuationEventReservations.js.map +1 -0
  278. package/dist/shared/workflow/continuation/continuationFollowUp.d.ts +114 -0
  279. package/dist/shared/workflow/continuation/continuationFollowUp.d.ts.map +1 -0
  280. package/dist/shared/workflow/continuation/continuationFollowUp.js +330 -0
  281. package/dist/shared/workflow/continuation/continuationFollowUp.js.map +1 -0
  282. package/dist/shared/workflow/continuation/continuationOrchestrator.d.ts +66 -0
  283. package/dist/shared/workflow/continuation/continuationOrchestrator.d.ts.map +1 -0
  284. package/dist/shared/workflow/continuation/continuationOrchestrator.js +144 -0
  285. package/dist/shared/workflow/continuation/continuationOrchestrator.js.map +1 -0
  286. package/dist/shared/workflow/continuation/hookContinuation.d.ts +44 -0
  287. package/dist/shared/workflow/continuation/hookContinuation.d.ts.map +1 -0
  288. package/dist/shared/workflow/continuation/hookContinuation.js +85 -0
  289. package/dist/shared/workflow/continuation/hookContinuation.js.map +1 -0
  290. package/dist/shared/workflow/continuation/stopPolicy.d.ts +38 -0
  291. package/dist/shared/workflow/continuation/stopPolicy.d.ts.map +1 -0
  292. package/dist/shared/workflow/continuation/stopPolicy.js +435 -0
  293. package/dist/shared/workflow/continuation/stopPolicy.js.map +1 -0
  294. package/dist/shared/workflow/continuation/stopVerdict.d.ts +31 -0
  295. package/dist/shared/workflow/continuation/stopVerdict.d.ts.map +1 -0
  296. package/dist/shared/workflow/continuation/stopVerdict.js +98 -0
  297. package/dist/shared/workflow/continuation/stopVerdict.js.map +1 -0
  298. package/dist/shared/workflow/delegation/delegatedSession.d.ts +118 -0
  299. package/dist/shared/workflow/delegation/delegatedSession.d.ts.map +1 -0
  300. package/dist/shared/workflow/delegation/delegatedSession.js +496 -0
  301. package/dist/shared/workflow/delegation/delegatedSession.js.map +1 -0
  302. package/dist/shared/workflow/delegation/delegationPrompt.d.ts +3 -0
  303. package/dist/shared/workflow/delegation/delegationPrompt.d.ts.map +1 -0
  304. package/dist/shared/workflow/delegation/delegationPrompt.js +15 -0
  305. package/dist/shared/workflow/delegation/delegationPrompt.js.map +1 -0
  306. package/dist/shared/workflow/delegation/sessionTasks.d.ts +40 -0
  307. package/dist/shared/workflow/delegation/sessionTasks.d.ts.map +1 -0
  308. package/dist/shared/workflow/delegation/sessionTasks.js +73 -0
  309. package/dist/shared/workflow/delegation/sessionTasks.js.map +1 -0
  310. package/dist/shared/workflow/delegation/subagentRuntime.d.ts +26 -0
  311. package/dist/shared/workflow/delegation/subagentRuntime.d.ts.map +1 -0
  312. package/dist/shared/workflow/delegation/subagentRuntime.js +231 -0
  313. package/dist/shared/workflow/delegation/subagentRuntime.js.map +1 -0
  314. package/dist/shared/workflow/delivery/adoAuxiliaryRuntime.d.ts +79 -0
  315. package/dist/shared/workflow/delivery/adoAuxiliaryRuntime.d.ts.map +1 -0
  316. package/dist/shared/workflow/delivery/adoAuxiliaryRuntime.js +166 -0
  317. package/dist/shared/workflow/delivery/adoAuxiliaryRuntime.js.map +1 -0
  318. package/dist/shared/workflow/delivery/finalWave.d.ts +57 -0
  319. package/dist/shared/workflow/delivery/finalWave.d.ts.map +1 -0
  320. package/dist/shared/workflow/delivery/finalWave.js +123 -0
  321. package/dist/shared/workflow/delivery/finalWave.js.map +1 -0
  322. package/dist/shared/workflow/delivery/lifecyclePushMap.d.ts +68 -0
  323. package/dist/shared/workflow/delivery/lifecyclePushMap.d.ts.map +1 -0
  324. package/dist/shared/workflow/delivery/lifecyclePushMap.js +82 -0
  325. package/dist/shared/workflow/delivery/lifecyclePushMap.js.map +1 -0
  326. package/dist/shared/workflow/delivery/prSidecar.d.ts +7 -0
  327. package/dist/shared/workflow/delivery/prSidecar.d.ts.map +1 -0
  328. package/dist/shared/workflow/delivery/prSidecar.js +4 -0
  329. package/dist/shared/workflow/delivery/prSidecar.js.map +1 -0
  330. package/dist/shared/workflow/delivery/reviewStaleness.d.ts +37 -0
  331. package/dist/shared/workflow/delivery/reviewStaleness.d.ts.map +1 -0
  332. package/dist/shared/workflow/delivery/reviewStaleness.js +94 -0
  333. package/dist/shared/workflow/delivery/reviewStaleness.js.map +1 -0
  334. package/dist/shared/workflow/planning/hyperplan.d.ts +40 -0
  335. package/dist/shared/workflow/planning/hyperplan.d.ts.map +1 -0
  336. package/dist/shared/workflow/planning/hyperplan.js +133 -0
  337. package/dist/shared/workflow/planning/hyperplan.js.map +1 -0
  338. package/dist/shared/workflow/planning/notepad.d.ts +17 -0
  339. package/dist/shared/workflow/planning/notepad.d.ts.map +1 -0
  340. package/dist/shared/workflow/planning/notepad.js +84 -0
  341. package/dist/shared/workflow/planning/notepad.js.map +1 -0
  342. package/dist/shared/workflow/planning/planFormat.d.ts +3 -0
  343. package/dist/shared/workflow/planning/planFormat.d.ts.map +1 -0
  344. package/dist/shared/workflow/planning/planFormat.js +14 -0
  345. package/dist/shared/workflow/planning/planFormat.js.map +1 -0
  346. package/package.json +155 -0
  347. package/runtime/hooks/_continuation.mjs +2 -0
  348. package/runtime/hooks/_lib.mjs +2 -0
  349. package/runtime/hooks/_toolGuards.mjs +2 -0
  350. package/runtime/hooks/lanes/resolveSkillActivation.mjs +241 -0
  351. package/runtime/hooks/lanes/user-prompt-submit.mjs +326 -0
  352. package/runtime/hooks/layout-dir.mjs +2 -0
  353. package/runtime/hooks/lifecycle/pre-compact.mjs +121 -0
  354. package/runtime/hooks/lifecycle/session-start.mjs +356 -0
  355. package/runtime/hooks/lifecycle/stop.mjs +223 -0
  356. package/runtime/hooks/observability.mjs +2 -0
  357. package/runtime/hooks/post-tool-use-failure.mjs +5 -0
  358. package/runtime/hooks/post-tool-use.mjs +4 -0
  359. package/runtime/hooks/pre-compact.mjs +4 -0
  360. package/runtime/hooks/pre-tool-use.mjs +4 -0
  361. package/runtime/hooks/resolveSkillActivation.mjs +4 -0
  362. package/runtime/hooks/root-dir.mjs +2 -0
  363. package/runtime/hooks/session-start.mjs +4 -0
  364. package/runtime/hooks/shared/_continuation.mjs +341 -0
  365. package/runtime/hooks/shared/_lib.mjs +60 -0
  366. package/runtime/hooks/shared/_toolGuards.mjs +237 -0
  367. package/runtime/hooks/shared/config.mjs +143 -0
  368. package/runtime/hooks/shared/layout-dir.mjs +12 -0
  369. package/runtime/hooks/shared/observability.mjs +257 -0
  370. package/runtime/hooks/shared/root-dir.mjs +9 -0
  371. package/runtime/hooks/stop.mjs +4 -0
  372. package/runtime/hooks/subagent-tracker.mjs +4 -0
  373. package/runtime/hooks/subagents/subagent-tracker.mjs +106 -0
  374. package/runtime/hooks/tools/post-tool-use-failure.mjs +251 -0
  375. package/runtime/hooks/tools/post-tool-use.mjs +205 -0
  376. package/runtime/hooks/tools/pre-tool-use.mjs +268 -0
  377. package/runtime/hooks/user-prompt-submit.mjs +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkage.js","sourceRoot":"","sources":["../../src/mcp/linkage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type LaneToolContext, type LaneToolResult } from '../mcp/laneSupport.js';
2
+ import type { ToolDefinition } from '../mcp/toolPartitions.js';
3
+ export declare const planningToolDefinitions: ToolDefinition[];
4
+ export declare function handlePlanningTool(name: string, context: LaneToolContext): Promise<LaneToolResult>;
5
+ //# sourceMappingURL=planning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning.d.ts","sourceRoot":"","sources":["../../src/mcp/planning.ts"],"names":[],"mappings":"AASA,OAAO,EAAW,KAAK,eAAe,EAAE,KAAK,cAAc,EAAa,MAAM,sBAAsB,CAAC;AACrG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAI9D,eAAO,MAAM,uBAAuB,EAAE,cAAc,EAuNnD,CAAC;AA2CF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA4UxG"}
@@ -0,0 +1,584 @@
1
+ import { completeHyperplanRound, prepareHyperplan, startHyperplan } from '../shared/workflow/planning/hyperplan.js';
2
+ import { NOTEPAD_FILES } from '../shared/workflow/planning/notepad.js';
3
+ import { validatePlanFormat } from '../shared/workflow/planning/planFormat.js';
4
+ import { dispatchFinalWaveReviewers, runFinalWave } from '../shared/workflow/delivery/finalWave.js';
5
+ import { layoutPath } from '../shared/core/contract.js';
6
+ import { readJson, writeJson } from '../shared/core/json.js';
7
+ import { parseUltragoalArtifact, parseUltragoalId, ULTRAGOAL_SCHEMA_VERSION } from '../shared/workflow/closure/ultragoalArtifact.js';
8
+ import { completeUltragoalBurstDispatch, dispatchUltragoalBurst, prepareUltragoalBurst, recordUltragoalBurstAssignment } from '../lanes/ultrawork/burst.js';
9
+ import { readOperatorAuthority } from '../shared/workflow/authority/authority.js';
10
+ import { handled, UNHANDLED } from '../mcp/laneSupport.js';
11
+ import { existsSync, mkdirSync, readdirSync, writeFileSync } from 'node:fs';
12
+ import { dirname, join } from 'node:path';
13
+ export const planningToolDefinitions = [
14
+ {
15
+ name: 'operator_hyperplan_start',
16
+ description: 'Start a Hyperplan session by instantiating the 4-agent debate team and seeding the three round files.',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {
20
+ root: { type: 'string' },
21
+ sessionId: { type: 'string' },
22
+ },
23
+ required: ['sessionId'],
24
+ },
25
+ },
26
+ {
27
+ name: 'operator_hyperplan_complete_round',
28
+ description: 'Record one completed Hyperplan debate round, advance currentRound, and mark ready-for-plan after round 3.',
29
+ inputSchema: {
30
+ type: 'object',
31
+ properties: {
32
+ root: { type: 'string' },
33
+ sessionId: { type: 'string' },
34
+ round: { type: 'integer', enum: [1, 2, 3] },
35
+ content: { type: 'string' },
36
+ },
37
+ required: ['sessionId', 'round', 'content'],
38
+ },
39
+ },
40
+ {
41
+ name: 'operator_hyperplan_prepare',
42
+ description: 'Persist Hyperplan round outputs and the distilled handoff bundle before handing off to $plan.',
43
+ inputSchema: {
44
+ type: 'object',
45
+ properties: {
46
+ root: { type: 'string' },
47
+ sessionId: { type: 'string' },
48
+ rounds: {
49
+ type: 'array',
50
+ items: {
51
+ type: 'object',
52
+ properties: {
53
+ round: { type: 'integer', enum: [1, 2, 3] },
54
+ content: { type: 'string' },
55
+ },
56
+ required: ['round', 'content'],
57
+ },
58
+ },
59
+ distilledBundle: { type: 'string' },
60
+ },
61
+ required: ['sessionId', 'rounds', 'distilledBundle'],
62
+ },
63
+ },
64
+ {
65
+ name: 'operator_ultragoal_create',
66
+ description: 'Create a canonical ultragoal artifact with the required planning fields.',
67
+ inputSchema: {
68
+ type: 'object',
69
+ properties: {
70
+ root: { type: 'string' },
71
+ id: { type: 'string' },
72
+ title: { type: 'string' },
73
+ goal: { type: 'string' },
74
+ status: { type: 'string' },
75
+ workItemId: { type: 'string' },
76
+ planPath: { type: 'string' },
77
+ remainingPbis: { type: 'array', items: { type: 'string' } },
78
+ completedPbis: { type: 'array', items: { type: 'string' } },
79
+ },
80
+ required: ['id', 'title', 'goal', 'status', 'planPath'],
81
+ },
82
+ },
83
+ {
84
+ name: 'operator_ultragoal_prepare_burst',
85
+ description: 'Prepare and persist an ultragoal execution burst with validated delegation prompts and inherited wisdom injection.',
86
+ inputSchema: {
87
+ type: 'object',
88
+ properties: {
89
+ root: { type: 'string' },
90
+ id: { type: 'string' },
91
+ dispatches: {
92
+ type: 'array',
93
+ items: {
94
+ type: 'object',
95
+ properties: {
96
+ taskId: { type: 'string' },
97
+ task: { type: 'string' },
98
+ expectedOutcome: { type: 'string' },
99
+ requiredTools: { type: 'array', items: { type: 'string' } },
100
+ mustDo: { type: 'array', items: { type: 'string' } },
101
+ mustNotDo: { type: 'array', items: { type: 'string' } },
102
+ context: { type: 'string' },
103
+ dependsOn: { type: 'array', items: { type: 'string' } },
104
+ },
105
+ required: ['taskId', 'task', 'expectedOutcome'],
106
+ },
107
+ },
108
+ },
109
+ required: ['id', 'dispatches'],
110
+ },
111
+ },
112
+ {
113
+ name: 'operator_ultragoal_dispatch_burst',
114
+ description: 'Start all runnable dispatches in a prepared ultragoal burst, respecting dependsOn sequencing.',
115
+ inputSchema: {
116
+ type: 'object',
117
+ properties: {
118
+ root: { type: 'string' },
119
+ id: { type: 'string' },
120
+ burstId: { type: 'string' },
121
+ },
122
+ required: ['id', 'burstId'],
123
+ },
124
+ },
125
+ {
126
+ name: 'operator_ultragoal_complete_dispatch',
127
+ description: 'Mark one active ultragoal burst dispatch completed or failed and unlock newly-runnable dependents.',
128
+ inputSchema: {
129
+ type: 'object',
130
+ properties: {
131
+ root: { type: 'string' },
132
+ id: { type: 'string' },
133
+ burstId: { type: 'string' },
134
+ taskId: { type: 'string' },
135
+ outcome: { type: 'string', enum: ['completed', 'failed'] },
136
+ },
137
+ required: ['id', 'burstId', 'taskId', 'outcome'],
138
+ },
139
+ },
140
+ {
141
+ name: 'operator_assignment_record',
142
+ description: 'Persist an operator-side burst assignment record and return the computed dispatchCount.',
143
+ inputSchema: {
144
+ type: 'object',
145
+ properties: {
146
+ root: { type: 'string' },
147
+ goalId: { type: 'string' },
148
+ burstId: { type: 'string' },
149
+ dispatches: {
150
+ type: 'array',
151
+ items: {
152
+ type: 'object',
153
+ properties: {
154
+ taskId: { type: 'string' },
155
+ prompt: { type: 'string' },
156
+ dependsOn: { type: 'array', items: { type: 'string' } },
157
+ executionMode: { type: 'string', enum: ['parallel', 'sequential'] },
158
+ },
159
+ required: ['taskId', 'prompt', 'executionMode'],
160
+ },
161
+ },
162
+ },
163
+ required: ['goalId', 'burstId', 'dispatches'],
164
+ },
165
+ },
166
+ {
167
+ name: 'operator_ultragoal_list',
168
+ description: 'List all ultragoal JSON files under .enact/operator/ultragoal/. Returns an array of { id, path, data } entries.',
169
+ inputSchema: {
170
+ type: 'object',
171
+ properties: {
172
+ root: { type: 'string' },
173
+ },
174
+ },
175
+ },
176
+ {
177
+ name: 'operator_ultragoal_status',
178
+ description: 'Read a single ultragoal file by id (filename without .json extension). Returns null if not found.',
179
+ inputSchema: {
180
+ type: 'object',
181
+ properties: {
182
+ root: { type: 'string' },
183
+ id: { type: 'string' },
184
+ },
185
+ required: ['id'],
186
+ },
187
+ },
188
+ {
189
+ name: 'operator_ultragoal_update',
190
+ description: 'Write or shallow-merge top-level keys into an ultragoal file identified by id. Creates the file if it does not exist. Arrays and nested objects are replaced, not deep-merged.',
191
+ inputSchema: {
192
+ type: 'object',
193
+ properties: {
194
+ root: { type: 'string' },
195
+ id: { type: 'string' },
196
+ data: { type: 'object' },
197
+ },
198
+ required: ['id', 'data'],
199
+ },
200
+ },
201
+ {
202
+ name: 'operator_ultragoal_complete',
203
+ description: 'Run the final wave for an ultragoal artifact from reviewer results, persist the WaveResult into verdicts, and mark the goal completed only when the wave passes.',
204
+ inputSchema: {
205
+ type: 'object',
206
+ properties: {
207
+ root: { type: 'string' },
208
+ id: { type: 'string' },
209
+ dispatchFinalWave: { type: 'boolean' },
210
+ waveResults: {
211
+ type: 'array',
212
+ items: {
213
+ type: 'object',
214
+ properties: {
215
+ reviewerId: { type: 'string', enum: ['f1', 'f2', 'f3', 'f4'] },
216
+ verdict: { type: 'string', enum: ['GO', 'NO-GO'] },
217
+ summary: { type: 'string' },
218
+ evidencePointers: { type: 'array', items: { type: 'string' } },
219
+ scopeViolations: { type: 'array', items: { type: 'string' } },
220
+ },
221
+ required: ['reviewerId', 'verdict', 'summary'],
222
+ },
223
+ },
224
+ },
225
+ required: ['id'],
226
+ },
227
+ },
228
+ ];
229
+ function operatorAssignmentStateDir(root) {
230
+ return layoutPath(root, 'state');
231
+ }
232
+ function findLatestAssignmentForWorkItem(root, workItemId) {
233
+ const dir = operatorAssignmentStateDir(root);
234
+ if (!existsSync(dir))
235
+ return null;
236
+ const matches = readdirSync(dir)
237
+ .filter((name) => name.startsWith('assignment-') && name.endsWith('.json'))
238
+ .map((name) => ({ name, path: join(dir, name), data: readJson(join(dir, name), null) }))
239
+ .filter((entry) => entry.data && entry.data.workItemId === workItemId)
240
+ .sort((a, b) => {
241
+ const aStarted = typeof a.data?.startedAt === 'string' ? a.data.startedAt : '';
242
+ const bStarted = typeof b.data?.startedAt === 'string' ? b.data.startedAt : '';
243
+ return bStarted.localeCompare(aStarted);
244
+ });
245
+ if (matches.length === 0)
246
+ return null;
247
+ const latest = matches[0];
248
+ return {
249
+ id: latest.name.replace(/^assignment-/, '').replace(/\.json$/, ''),
250
+ path: latest.path,
251
+ data: latest.data,
252
+ };
253
+ }
254
+ function appendFactoryLifecycleAdvance(root, workItemId, lifecycle) {
255
+ const pushQueuePath = join(root, '.enact', 'factory', 'state', 'workitem-push-queue.json');
256
+ const items = readJson(pushQueuePath, []);
257
+ const entry = {
258
+ id: `push_${Math.random().toString(36).slice(2, 14)}`,
259
+ createdAt: new Date().toISOString(),
260
+ workItemId,
261
+ change: `lifecycle advance: ${Object.entries(lifecycle).map(([k, v]) => `${k}=${String(v)}`).join(', ')}`,
262
+ payload: { lifecycle },
263
+ };
264
+ mkdirSync(join(root, '.enact', 'factory', 'state'), { recursive: true });
265
+ items.push(entry);
266
+ writeJson(pushQueuePath, items);
267
+ return { path: pushQueuePath, entry };
268
+ }
269
+ export async function handlePlanningTool(name, context) {
270
+ const { root, args } = context;
271
+ switch (name) {
272
+ case 'operator_hyperplan_start':
273
+ return handled(startHyperplan(String(args.sessionId), root));
274
+ case 'operator_hyperplan_complete_round':
275
+ return handled(completeHyperplanRound({
276
+ sessionId: String(args.sessionId),
277
+ round: Number(args.round),
278
+ content: String(args.content),
279
+ }, root));
280
+ case 'operator_hyperplan_prepare': {
281
+ if (!Array.isArray(args.rounds)) {
282
+ throw new Error('operator_hyperplan_prepare: rounds must be an array');
283
+ }
284
+ return handled(prepareHyperplan({
285
+ sessionId: String(args.sessionId),
286
+ rounds: args.rounds.map((round) => ({
287
+ round: Number(round.round),
288
+ content: String(round.content),
289
+ })),
290
+ distilledBundle: String(args.distilledBundle),
291
+ }, root));
292
+ }
293
+ case 'operator_ultragoal_create': {
294
+ const goalId = parseUltragoalId(args.id);
295
+ const title = String(args.title ?? '').trim();
296
+ const goal = String(args.goal ?? '').trim();
297
+ const status = String(args.status ?? '').trim();
298
+ const planPath = String(args.planPath ?? '').trim();
299
+ if (!title || !goal || !status || !planPath) {
300
+ throw new Error('operator_ultragoal_create: id, title, goal, status, and planPath are required.');
301
+ }
302
+ const goalPath = layoutPath(root, 'ultragoal', `${goalId}.json`);
303
+ mkdirSync(dirname(planPath), { recursive: true });
304
+ if (!existsSync(planPath)) {
305
+ writeFileSync(planPath, [
306
+ `# Ultragoal ${goalId}`,
307
+ '',
308
+ '## TL;DR',
309
+ '- Define the goal and closure path.',
310
+ '',
311
+ '## Waves',
312
+ '- Wave 1',
313
+ '',
314
+ '## Must Have',
315
+ '- Concrete execution slices and verification.',
316
+ '',
317
+ '## Must NOT Have',
318
+ '- Untracked scope expansion.',
319
+ '',
320
+ '## TODOs',
321
+ '- [ ] Define concrete execution slices',
322
+ '',
323
+ '## Final Verification Wave',
324
+ '- [ ] F1',
325
+ '- [ ] F2',
326
+ '- [ ] F3',
327
+ '- [ ] F4',
328
+ '',
329
+ ].join('\n'), 'utf8');
330
+ }
331
+ const notepadDir = layoutPath(root, 'ultragoal', goalId, 'notepad');
332
+ mkdirSync(notepadDir, { recursive: true });
333
+ for (const file of NOTEPAD_FILES) {
334
+ const filePath = join(notepadDir, `${file}.md`);
335
+ if (!existsSync(filePath)) {
336
+ writeFileSync(filePath, '', 'utf8');
337
+ }
338
+ }
339
+ const now = new Date().toISOString();
340
+ const data = parseUltragoalArtifact({
341
+ schemaVersion: ULTRAGOAL_SCHEMA_VERSION,
342
+ id: goalId,
343
+ createdAt: now,
344
+ updatedAt: now,
345
+ payload: {
346
+ goalId,
347
+ title,
348
+ goal,
349
+ status,
350
+ ...(typeof args.workItemId === 'string' ? { workItemId: args.workItemId } : {}),
351
+ planPath,
352
+ notepadDir,
353
+ verdicts: [],
354
+ remainingPbis: Array.isArray(args.remainingPbis) ? args.remainingPbis : [],
355
+ completedPbis: Array.isArray(args.completedPbis) ? args.completedPbis : [],
356
+ },
357
+ }, goalId);
358
+ writeJson(goalPath, data);
359
+ return handled({ id: goalId, path: goalPath, data });
360
+ }
361
+ case 'operator_ultragoal_prepare_burst': {
362
+ const goalId = parseUltragoalId(args.id);
363
+ if (!Array.isArray(args.dispatches)) {
364
+ throw new Error('operator_ultragoal_prepare_burst: dispatches must be an array');
365
+ }
366
+ return handled(prepareUltragoalBurst(goalId, args.dispatches.map((dispatch) => ({
367
+ taskId: String(dispatch.taskId),
368
+ task: String(dispatch.task),
369
+ expectedOutcome: String(dispatch.expectedOutcome),
370
+ requiredTools: Array.isArray(dispatch.requiredTools) ? dispatch.requiredTools.map((tool) => String(tool)) : [],
371
+ mustDo: Array.isArray(dispatch.mustDo) ? dispatch.mustDo.map((item) => String(item)) : [],
372
+ mustNotDo: Array.isArray(dispatch.mustNotDo) ? dispatch.mustNotDo.map((item) => String(item)) : [],
373
+ context: typeof dispatch.context === 'string' ? dispatch.context : undefined,
374
+ dependsOn: Array.isArray(dispatch.dependsOn) ? dispatch.dependsOn.map((item) => String(item)) : undefined,
375
+ })), root));
376
+ }
377
+ case 'operator_ultragoal_dispatch_burst':
378
+ return handled(dispatchUltragoalBurst(parseUltragoalId(args.id), String(args.burstId), root));
379
+ case 'operator_ultragoal_complete_dispatch':
380
+ return handled(completeUltragoalBurstDispatch(parseUltragoalId(args.id), String(args.burstId), String(args.taskId), String(args.outcome) === 'failed' ? 'failed' : 'completed', root));
381
+ case 'operator_assignment_record': {
382
+ const goalId = parseUltragoalId(args.goalId);
383
+ const burstId = String(args.burstId ?? '').trim();
384
+ if (!burstId) {
385
+ throw new Error('operator_assignment_record: burstId is required');
386
+ }
387
+ if (!Array.isArray(args.dispatches)) {
388
+ throw new Error('operator_assignment_record: dispatches must be an array');
389
+ }
390
+ const dispatches = args.dispatches.map((dispatch) => {
391
+ const status = dispatch.status === 'active'
392
+ || dispatch.status === 'completed'
393
+ || dispatch.status === 'failed'
394
+ ? dispatch.status
395
+ : 'pending';
396
+ return {
397
+ taskId: String(dispatch.taskId),
398
+ prompt: String(dispatch.prompt),
399
+ dependsOn: Array.isArray(dispatch.dependsOn) ? dispatch.dependsOn.map((item) => String(item)) : [],
400
+ executionMode: dispatch.executionMode === 'sequential' ? 'sequential' : 'parallel',
401
+ status,
402
+ continuationId: typeof dispatch.continuationId === 'string' && dispatch.continuationId.trim()
403
+ ? dispatch.continuationId
404
+ : undefined,
405
+ };
406
+ });
407
+ const recorded = recordUltragoalBurstAssignment(root, {
408
+ burstId,
409
+ goalId,
410
+ createdAt: new Date().toISOString(),
411
+ dispatchCount: dispatches.length,
412
+ dispatches,
413
+ });
414
+ return handled({
415
+ goalId,
416
+ burstId,
417
+ dispatchCount: recorded.dispatchCount,
418
+ burstPath: recorded.burstPath,
419
+ assignmentPath: recorded.assignmentPath,
420
+ });
421
+ }
422
+ case 'operator_ultragoal_list': {
423
+ const authority = readOperatorAuthority(root);
424
+ return handled(authority.ultragoalFiles.map((filePath) => {
425
+ const id = filePath.replace(/\.json$/, '').split('/').pop() ?? filePath;
426
+ const raw = readJson(filePath, null);
427
+ if (raw === null)
428
+ throw new Error(`Ultragoal file missing or unreadable: ${filePath}`);
429
+ const data = parseUltragoalArtifact(raw, id);
430
+ return { id, path: filePath, data };
431
+ }));
432
+ }
433
+ case 'operator_ultragoal_status': {
434
+ const goalId = parseUltragoalId(args.id);
435
+ const goalPath = layoutPath(root, 'ultragoal', `${goalId}.json`);
436
+ const raw = readJson(goalPath, null);
437
+ if (raw === null)
438
+ return handled(null);
439
+ const data = parseUltragoalArtifact(raw, goalId);
440
+ return handled({ id: goalId, path: goalPath, data });
441
+ }
442
+ case 'operator_ultragoal_update': {
443
+ const goalId = parseUltragoalId(args.id);
444
+ const goalPath = layoutPath(root, 'ultragoal', `${goalId}.json`);
445
+ const patch = args.data;
446
+ if (typeof patch !== 'object' || patch === null || Array.isArray(patch)) {
447
+ throw new Error('operator_ultragoal_update: data must be an object');
448
+ }
449
+ const now = new Date().toISOString();
450
+ const existingRaw = readJson(goalPath, null);
451
+ const existing = existingRaw === null
452
+ ? null
453
+ : parseUltragoalArtifact(existingRaw, goalId);
454
+ const merged = {
455
+ schemaVersion: ULTRAGOAL_SCHEMA_VERSION,
456
+ id: goalId,
457
+ createdAt: existing?.createdAt ?? now,
458
+ updatedAt: now,
459
+ payload: { ...(existing?.payload ?? {}), ...patch },
460
+ };
461
+ const data = parseUltragoalArtifact(merged, goalId);
462
+ writeJson(goalPath, data);
463
+ return handled({ id: goalId, path: goalPath, data });
464
+ }
465
+ case 'operator_ultragoal_complete': {
466
+ const goalId = parseUltragoalId(args.id);
467
+ const goalPath = layoutPath(root, 'ultragoal', `${goalId}.json`);
468
+ const raw = readJson(goalPath, null);
469
+ if (raw === null) {
470
+ throw new Error(`Ultragoal "${goalId}" not found.`);
471
+ }
472
+ const existing = parseUltragoalArtifact(raw, goalId);
473
+ const payload = existing.payload;
474
+ const planPath = String(payload.planPath ?? '').trim();
475
+ if (!planPath) {
476
+ throw new Error(`Ultragoal "${goalId}" is missing payload.planPath.`);
477
+ }
478
+ validatePlanFormat(planPath, 'ultragoal');
479
+ let reviewerResults;
480
+ let pendingFinalWaveDispatches;
481
+ if (args.waveResults !== undefined) {
482
+ if (!Array.isArray(args.waveResults)) {
483
+ throw new Error('operator_ultragoal_complete: waveResults must be an array');
484
+ }
485
+ reviewerResults = args.waveResults.map((item) => {
486
+ const reviewerId = item.reviewerId;
487
+ const verdict = item.verdict;
488
+ const summary = item.summary;
489
+ const evidencePointers = item.evidencePointers;
490
+ const scopeViolations = item.scopeViolations;
491
+ if (!['f1', 'f2', 'f3', 'f4'].includes(String(reviewerId))) {
492
+ throw new Error('operator_ultragoal_complete: waveResults.reviewerId must be one of f1, f2, f3, f4.');
493
+ }
494
+ if (verdict !== 'GO' && verdict !== 'NO-GO') {
495
+ throw new Error('operator_ultragoal_complete: waveResults.verdict must be GO or NO-GO.');
496
+ }
497
+ if (typeof summary !== 'string' || summary.trim() === '') {
498
+ throw new Error('operator_ultragoal_complete: waveResults.summary must be a non-empty string.');
499
+ }
500
+ if (evidencePointers !== undefined && (!Array.isArray(evidencePointers) || evidencePointers.some((entry) => typeof entry !== 'string'))) {
501
+ throw new Error('operator_ultragoal_complete: waveResults.evidencePointers must be an array of strings when provided.');
502
+ }
503
+ if (scopeViolations !== undefined && (!Array.isArray(scopeViolations) || scopeViolations.some((entry) => typeof entry !== 'string'))) {
504
+ throw new Error('operator_ultragoal_complete: waveResults.scopeViolations must be an array of strings when provided.');
505
+ }
506
+ return {
507
+ reviewerId: reviewerId,
508
+ verdict: verdict,
509
+ summary,
510
+ evidencePointers: evidencePointers,
511
+ scopeViolations: scopeViolations,
512
+ };
513
+ });
514
+ }
515
+ else if (args.dispatchFinalWave === true) {
516
+ const dispatched = dispatchFinalWaveReviewers(goalId, planPath, {
517
+ root,
518
+ parentLane: 'ultragoal',
519
+ parentLaneId: goalId,
520
+ });
521
+ reviewerResults = dispatched.pendingResults;
522
+ pendingFinalWaveDispatches = dispatched.dispatches;
523
+ }
524
+ else {
525
+ throw new Error('operator_ultragoal_complete: provide waveResults or set dispatchFinalWave=true');
526
+ }
527
+ const waveResult = await runFinalWave(goalId, planPath, reviewerResults);
528
+ if (!waveResult.passed) {
529
+ if (pendingFinalWaveDispatches) {
530
+ return handled({ id: goalId, path: goalPath, data: existing, waveResult, pendingFinalWaveDispatches });
531
+ }
532
+ throw new Error(`operator_ultragoal_complete: final wave failed: ${waveResult.blockers[0] ?? 'unknown blocker'}`);
533
+ }
534
+ const updated = parseUltragoalArtifact({
535
+ ...existing,
536
+ updatedAt: new Date().toISOString(),
537
+ payload: {
538
+ ...payload,
539
+ status: 'completed',
540
+ verdicts: [...(Array.isArray(payload.verdicts) ? payload.verdicts : []), waveResult],
541
+ },
542
+ }, goalId);
543
+ writeJson(goalPath, updated);
544
+ let factoryFollowOn = null;
545
+ const workItemId = typeof payload.workItemId === 'string' ? payload.workItemId : null;
546
+ if (workItemId) {
547
+ const latestAssignment = findLatestAssignmentForWorkItem(root, workItemId);
548
+ if (latestAssignment) {
549
+ const nextAssignment = {
550
+ ...latestAssignment.data,
551
+ ultragoalGoalId: goalId,
552
+ ultragoalWaveResult: waveResult,
553
+ ultragoalVerdicts: waveResult.steps,
554
+ updatedAt: new Date().toISOString(),
555
+ };
556
+ writeJson(latestAssignment.path, nextAssignment);
557
+ const push = appendFactoryLifecycleAdvance(root, workItemId, {
558
+ reviewPassed: true,
559
+ testsPassing: true,
560
+ });
561
+ factoryFollowOn = {
562
+ assignmentId: latestAssignment.id,
563
+ assignmentPath: latestAssignment.path,
564
+ pushQueuePath: push.path,
565
+ };
566
+ }
567
+ else {
568
+ const push = appendFactoryLifecycleAdvance(root, workItemId, {
569
+ reviewPassed: true,
570
+ testsPassing: true,
571
+ });
572
+ factoryFollowOn = {
573
+ assignmentId: null,
574
+ pushQueuePath: push.path,
575
+ };
576
+ }
577
+ }
578
+ return handled({ id: goalId, path: goalPath, data: updated, waveResult, factoryFollowOn });
579
+ }
580
+ default:
581
+ return UNHANDLED;
582
+ }
583
+ }
584
+ //# sourceMappingURL=planning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning.js","sourceRoot":"","sources":["../../src/mcp/planning.ts"],"names":[],"mappings":"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"}