@ashlr/hub 3.11.0 → 3.11.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 (403) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/dist/authority-surface.json +12 -7
  3. package/dist/build-identity.json +2 -2
  4. package/dist/core/universe/builtins/preparation/manifest.json +1 -1
  5. package/dist/core/universe/builtins/preparation/preparation-bridge.mjs +5 -4
  6. package/dist/core/universe/builtins/preparation/preparation-verification-fixtures.mjs +4 -3
  7. package/dist/core/universe/campaign.js +9 -1
  8. package/dist/core/universe/campaign.js.map +1 -1
  9. package/dist/core/universe/runner.d.ts +3 -0
  10. package/dist/core/universe/runner.js +7 -3
  11. package/dist/core/universe/runner.js.map +1 -1
  12. package/dist/core/verse/compaction-point.d.ts +55 -0
  13. package/dist/core/verse/compaction-point.js +75 -0
  14. package/dist/core/verse/compaction-point.js.map +1 -0
  15. package/dist/core/verse/context-math.d.ts +1 -38
  16. package/dist/core/verse/context-math.js +5 -59
  17. package/dist/core/verse/context-math.js.map +1 -1
  18. package/dist/core/web/public/next/assets/{ActionMenu-CQvNJvHY.js → ActionMenu-_DhtX2gO.js} +2 -2
  19. package/dist/core/web/public/next/assets/{ActionMenu-CQvNJvHY.js.map → ActionMenu-_DhtX2gO.js.map} +1 -1
  20. package/dist/core/web/public/next/assets/Advanced-CAAfaBke.js +2 -0
  21. package/dist/core/web/public/next/assets/{Advanced-DEM93sKI.js.map → Advanced-CAAfaBke.js.map} +1 -1
  22. package/dist/core/web/public/next/assets/App-BAywyjE8.js +7 -0
  23. package/dist/core/web/public/next/assets/{App-CimXmK0L.js.map → App-BAywyjE8.js.map} +1 -1
  24. package/dist/core/web/public/next/assets/AppsSection-CUypKeog.js +2 -0
  25. package/dist/core/web/public/next/assets/{AppsSection-D6U-dSj6.js.map → AppsSection-CUypKeog.js.map} +1 -1
  26. package/dist/core/web/public/next/assets/{AreaTrend-LD9lCPkT.js → AreaTrend-CblDqC8Q.js} +2 -2
  27. package/dist/core/web/public/next/assets/{AreaTrend-LD9lCPkT.js.map → AreaTrend-CblDqC8Q.js.map} +1 -1
  28. package/dist/core/web/public/next/assets/AutonomySection-D3d8lYO3.js +2 -0
  29. package/dist/core/web/public/next/assets/{AutonomySection-3V9pUyxm.js.map → AutonomySection-D3d8lYO3.js.map} +1 -1
  30. package/dist/core/web/public/next/assets/BranchBar-DU0jAV1E.js +2 -0
  31. package/dist/core/web/public/next/assets/{BranchBar-U8UdpfEB.js.map → BranchBar-DU0jAV1E.js.map} +1 -1
  32. package/dist/core/web/public/next/assets/{BudgetControl-DOTlMSmW.js → BudgetControl-Mm1ZL4u6.js} +2 -2
  33. package/dist/core/web/public/next/assets/{BudgetControl-DOTlMSmW.js.map → BudgetControl-Mm1ZL4u6.js.map} +1 -1
  34. package/dist/core/web/public/next/assets/{BurnDown-x4PWH9JF.js → BurnDown-C1fgcFqo.js} +2 -2
  35. package/dist/core/web/public/next/assets/{BurnDown-x4PWH9JF.js.map → BurnDown-C1fgcFqo.js.map} +1 -1
  36. package/dist/core/web/public/next/assets/{Button-DYv_KKxr.js → Button-DqgLUZvd.js} +2 -2
  37. package/dist/core/web/public/next/assets/{Button-DYv_KKxr.js.map → Button-DqgLUZvd.js.map} +1 -1
  38. package/dist/core/web/public/next/assets/CapacityStrip-nWFHvqFB.js +2 -0
  39. package/dist/core/web/public/next/assets/CapacityStrip-nWFHvqFB.js.map +1 -0
  40. package/dist/core/web/public/next/assets/ChatSection-DUZNpiVr.js +3 -0
  41. package/dist/core/web/public/next/assets/ChatSection-DUZNpiVr.js.map +1 -0
  42. package/dist/core/web/public/next/assets/{CloudBudgetForm-DJeJvBEu.js → CloudBudgetForm-2OW38o_C.js} +2 -2
  43. package/dist/core/web/public/next/assets/{CloudBudgetForm-DJeJvBEu.js.map → CloudBudgetForm-2OW38o_C.js.map} +1 -1
  44. package/dist/core/web/public/next/assets/CommandPalette-C5w2o1-r.js +2 -0
  45. package/dist/core/web/public/next/assets/{CommandPalette-FiD4N8XD.js.map → CommandPalette-C5w2o1-r.js.map} +1 -1
  46. package/dist/core/web/public/next/assets/CommandSection-Bx2knNqY.js +2 -0
  47. package/dist/core/web/public/next/assets/{CommandSection-DN8KwH-X.js.map → CommandSection-Bx2knNqY.js.map} +1 -1
  48. package/dist/core/web/public/next/assets/ConfirmDialog-B7ZwCQOX.js +2 -0
  49. package/dist/core/web/public/next/assets/ConfirmDialog-B7ZwCQOX.js.map +1 -0
  50. package/dist/core/web/public/next/assets/ConfirmDialog-Dx15x0Ho.css +1 -0
  51. package/dist/core/web/public/next/assets/Dialog-BpgcEW6b.js +2 -0
  52. package/dist/core/web/public/next/assets/Dialog-BpgcEW6b.js.map +1 -0
  53. package/dist/core/web/public/next/assets/Dialog-tQ8kFulD.css +1 -0
  54. package/dist/core/web/public/next/assets/{DiffPane-DLJ3gGGK.js → DiffPane-DpqRUtCx.js} +2 -2
  55. package/dist/core/web/public/next/assets/{DiffPane-DLJ3gGGK.js.map → DiffPane-DpqRUtCx.js.map} +1 -1
  56. package/dist/core/web/public/next/assets/{DiffViewer-B7NWPjIO.js → DiffViewer-CoV5-nUf.js} +2 -2
  57. package/dist/core/web/public/next/assets/{DiffViewer-B7NWPjIO.js.map → DiffViewer-CoV5-nUf.js.map} +1 -1
  58. package/dist/core/web/public/next/assets/DockHost-C0Pq7Jak.js +2 -0
  59. package/dist/core/web/public/next/assets/{DockHost-DvR-hPhZ.js.map → DockHost-C0Pq7Jak.js.map} +1 -1
  60. package/dist/core/web/public/next/assets/{EmptyState-DhNgDDrF.js → EmptyState-DYW29ncw.js} +2 -2
  61. package/dist/core/web/public/next/assets/{EmptyState-DhNgDDrF.js.map → EmptyState-DYW29ncw.js.map} +1 -1
  62. package/dist/core/web/public/next/assets/{Epistemic-uARPnx9x.js → Epistemic-DVx6oHzp.js} +2 -2
  63. package/dist/core/web/public/next/assets/{Epistemic-uARPnx9x.js.map → Epistemic-DVx6oHzp.js.map} +1 -1
  64. package/dist/core/web/public/next/assets/FleetSection-DSETviPK.js +3 -0
  65. package/dist/core/web/public/next/assets/{FleetSection-D_zRBCub.js.map → FleetSection-DSETviPK.js.map} +1 -1
  66. package/dist/core/web/public/next/assets/{Funnel-CL8uHONq.js → Funnel-DxiGqJrt.js} +2 -2
  67. package/dist/core/web/public/next/assets/{Funnel-CL8uHONq.js.map → Funnel-DxiGqJrt.js.map} +1 -1
  68. package/dist/core/web/public/next/assets/GearTray-C3I89sIt.js +2 -0
  69. package/dist/core/web/public/next/assets/{GearTray-C7k4l_BW.js.map → GearTray-C3I89sIt.js.map} +1 -1
  70. package/dist/core/web/public/next/assets/{GrowthSection-DwdNSGj8.js → GrowthSection-C3m2bPEz.js} +2 -2
  71. package/dist/core/web/public/next/assets/{GrowthSection-DwdNSGj8.js.map → GrowthSection-C3m2bPEz.js.map} +1 -1
  72. package/dist/core/web/public/next/assets/HandoffDialog-Bjb96a0N.js +2 -0
  73. package/dist/core/web/public/next/assets/{HandoffDialog-FPVOqOMN.js.map → HandoffDialog-Bjb96a0N.js.map} +1 -1
  74. package/dist/core/web/public/next/assets/{Input-B9-VLcHS.js → Input-ekTehVaH.js} +2 -2
  75. package/dist/core/web/public/next/assets/{Input-B9-VLcHS.js.map → Input-ekTehVaH.js.map} +1 -1
  76. package/dist/core/web/public/next/assets/LeaderCard-85VBbbaZ.js +2 -0
  77. package/dist/core/web/public/next/assets/{LeaderCard-4R0BhDzT.js.map → LeaderCard-85VBbbaZ.js.map} +1 -1
  78. package/dist/core/web/public/next/assets/{MatrixHeatmap-DiuushcS.js → MatrixHeatmap-Bo8j0QPC.js} +2 -2
  79. package/dist/core/web/public/next/assets/{MatrixHeatmap-DiuushcS.js.map → MatrixHeatmap-Bo8j0QPC.js.map} +1 -1
  80. package/dist/core/web/public/next/assets/McpSection-DvHFaVyp.js +2 -0
  81. package/dist/core/web/public/next/assets/{McpSection-CJ__OJKl.js.map → McpSection-DvHFaVyp.js.map} +1 -1
  82. package/dist/core/web/public/next/assets/{MessageMarkdown-qWKyJvAQ.js → MessageMarkdown-fsY_ltVa.js} +3 -3
  83. package/dist/core/web/public/next/assets/{MessageMarkdown-qWKyJvAQ.js.map → MessageMarkdown-fsY_ltVa.js.map} +1 -1
  84. package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-x05TrsrW.js → MessageMarkdownRenderer-DDdtu82l.js} +2 -2
  85. package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-x05TrsrW.js.map → MessageMarkdownRenderer-DDdtu82l.js.map} +1 -1
  86. package/dist/core/web/public/next/assets/{Meter-D-hncpkO.js → Meter-CeGDXdDM.js} +2 -2
  87. package/dist/core/web/public/next/assets/{Meter-D-hncpkO.js.map → Meter-CeGDXdDM.js.map} +1 -1
  88. package/dist/core/web/public/next/assets/MindSection-CDVhHvXl.js +2 -0
  89. package/dist/core/web/public/next/assets/{MindSection-BjXHkQPS.js.map → MindSection-CDVhHvXl.js.map} +1 -1
  90. package/dist/core/web/public/next/assets/MutationTokenDialog-CrfJ0PdD.css +1 -0
  91. package/dist/core/web/public/next/assets/MutationTokenDialog-DTQzEOHR.js +2 -0
  92. package/dist/core/web/public/next/assets/MutationTokenDialog-DTQzEOHR.js.map +1 -0
  93. package/dist/core/web/public/next/assets/NeedsYouDrawer-6AuN0BF3.js +2 -0
  94. package/dist/core/web/public/next/assets/{NeedsYouDrawer-rSd1ZHAR.js.map → NeedsYouDrawer-6AuN0BF3.js.map} +1 -1
  95. package/dist/core/web/public/next/assets/{NeedsYouList-CG-nB1tr.js → NeedsYouList-ChnRmbSk.js} +2 -2
  96. package/dist/core/web/public/next/assets/{NeedsYouList-CG-nB1tr.js.map → NeedsYouList-ChnRmbSk.js.map} +1 -1
  97. package/dist/core/web/public/next/assets/NewChatDialog-B06E7sqg.js +3 -0
  98. package/dist/core/web/public/next/assets/{NewChatDialog-BeDQ1eW3.js.map → NewChatDialog-B06E7sqg.js.map} +1 -1
  99. package/dist/core/web/public/next/assets/OnboardingFlow-C2M3zov9.js +2 -0
  100. package/dist/core/web/public/next/assets/{OnboardingFlow-CkTZtt-m.js.map → OnboardingFlow-C2M3zov9.js.map} +1 -1
  101. package/dist/core/web/public/next/assets/PreviewPane-Bd6HsX1k.js +2 -0
  102. package/dist/core/web/public/next/assets/{PreviewPane-kzbbSK4u.js.map → PreviewPane-Bd6HsX1k.js.map} +1 -1
  103. package/dist/core/web/public/next/assets/ProviderLogo-Bz7KR5j3.js +2 -0
  104. package/dist/core/web/public/next/assets/ProviderLogo-Bz7KR5j3.js.map +1 -0
  105. package/dist/core/web/public/next/assets/{RailStatus-D-t2gPae.js → RailStatus-CctCuuLy.js} +2 -2
  106. package/dist/core/web/public/next/assets/{RailStatus-D-t2gPae.js.map → RailStatus-CctCuuLy.js.map} +1 -1
  107. package/dist/core/web/public/next/assets/{RefreshIndicator-BLnr9IOM.js → RefreshIndicator-CKY5BGdD.js} +2 -2
  108. package/dist/core/web/public/next/assets/{RefreshIndicator-BLnr9IOM.js.map → RefreshIndicator-CKY5BGdD.js.map} +1 -1
  109. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-CM_8pJs6.css → ResourcePoolConsoleApp-BX9JLkT4.css} +1 -1
  110. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-BeG0gBif.js → ResourcePoolConsoleApp-CspIsW_G.js} +5 -5
  111. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-BeG0gBif.js.map → ResourcePoolConsoleApp-CspIsW_G.js.map} +1 -1
  112. package/dist/core/web/public/next/assets/ResourcesChrome-B7fHZ6zX.js +3 -0
  113. package/dist/core/web/public/next/assets/ResourcesChrome-B7fHZ6zX.js.map +1 -0
  114. package/dist/core/web/public/next/assets/ResourcesChrome-uZEqC2EM.css +1 -0
  115. package/dist/core/web/public/next/assets/ResourcesDrawer-B7-N9n7-.js +2 -0
  116. package/dist/core/web/public/next/assets/ResourcesDrawer-B7-N9n7-.js.map +1 -0
  117. package/dist/core/web/public/next/assets/RouteErrorBoundary-C_B11J0s.js +2 -0
  118. package/dist/core/web/public/next/assets/RouteErrorBoundary-C_B11J0s.js.map +1 -0
  119. package/dist/core/web/public/next/assets/RouteErrorBoundary-DdxhTdZ6.css +1 -0
  120. package/dist/core/web/public/next/assets/{RunInCloudAction-C3LBp7C4.js → RunInCloudAction-_juw4EXd.js} +2 -2
  121. package/dist/core/web/public/next/assets/{RunInCloudAction-C3LBp7C4.js.map → RunInCloudAction-_juw4EXd.js.map} +1 -1
  122. package/dist/core/web/public/next/assets/SeatSelector-D_YXvkPy.js +3 -0
  123. package/dist/core/web/public/next/assets/{SeatSelector-DpvvbjNm.js.map → SeatSelector-D_YXvkPy.js.map} +1 -1
  124. package/dist/core/web/public/next/assets/{Segmented-BL40udoO.js → Segmented-DnKP6rr7.js} +2 -2
  125. package/dist/core/web/public/next/assets/{Segmented-BL40udoO.js.map → Segmented-DnKP6rr7.js.map} +1 -1
  126. package/dist/core/web/public/next/assets/{Select-FWLnAw_j.js → Select-DlbUupTX.js} +2 -2
  127. package/dist/core/web/public/next/assets/{Select-FWLnAw_j.js.map → Select-DlbUupTX.js.map} +1 -1
  128. package/dist/core/web/public/next/assets/SessionGate-DnuTZACL.js +2 -0
  129. package/dist/core/web/public/next/assets/SessionGate-DnuTZACL.js.map +1 -0
  130. package/dist/core/web/public/next/assets/SessionGate-DvMpXNpJ.css +1 -0
  131. package/dist/core/web/public/next/assets/SessionInsightChip-C33-k-Q5.js +2 -0
  132. package/dist/core/web/public/next/assets/{SessionInsightChip-CWye87Ju.js.map → SessionInsightChip-C33-k-Q5.js.map} +1 -1
  133. package/dist/core/web/public/next/assets/{SessionSearch-YvCHFUuN.js → SessionSearch-DhhR9Csg.js} +2 -2
  134. package/dist/core/web/public/next/assets/{SessionSearch-YvCHFUuN.js.map → SessionSearch-DhhR9Csg.js.map} +1 -1
  135. package/dist/core/web/public/next/assets/SettingsSection-C0xQvCz3.js +2 -0
  136. package/dist/core/web/public/next/assets/SettingsSection-C0xQvCz3.js.map +1 -0
  137. package/dist/core/web/public/next/assets/Sheet-BvNYOYv5.js +2 -0
  138. package/dist/core/web/public/next/assets/{Sheet-DZKcQXQg.js.map → Sheet-BvNYOYv5.js.map} +1 -1
  139. package/dist/core/web/public/next/assets/ShortcutsOverlay-1nUBVO-Z.js +2 -0
  140. package/dist/core/web/public/next/assets/{ShortcutsOverlay-BpDimdPq.js.map → ShortcutsOverlay-1nUBVO-Z.js.map} +1 -1
  141. package/dist/core/web/public/next/assets/Sidebar-YrVvvBNM.js +3 -0
  142. package/dist/core/web/public/next/assets/{Sidebar-BoBzBEFX.js.map → Sidebar-YrVvvBNM.js.map} +1 -1
  143. package/dist/core/web/public/next/assets/{Slider-DUMo9HDD.js → Slider-B2c-dbQb.js} +2 -2
  144. package/dist/core/web/public/next/assets/{Slider-DUMo9HDD.js.map → Slider-B2c-dbQb.js.map} +1 -1
  145. package/dist/core/web/public/next/assets/{StatusBadge-BwnBNFQr.js → StatusBadge-Q9YYkijx.js} +2 -2
  146. package/dist/core/web/public/next/assets/{StatusBadge-BwnBNFQr.js.map → StatusBadge-Q9YYkijx.js.map} +1 -1
  147. package/dist/core/web/public/next/assets/{StepBand-PDXMIlRk.js → StepBand-Ci-C0GUG.js} +2 -2
  148. package/dist/core/web/public/next/assets/{StepBand-PDXMIlRk.js.map → StepBand-Ci-C0GUG.js.map} +1 -1
  149. package/dist/core/web/public/next/assets/{Surface-B3TZVoER.js → Surface-DBovMq4P.js} +2 -2
  150. package/dist/core/web/public/next/assets/{Surface-B3TZVoER.js.map → Surface-DBovMq4P.js.map} +1 -1
  151. package/dist/core/web/public/next/assets/{Swimlane-DR4OgON_.js → Swimlane-Cdc4TqDe.js} +2 -2
  152. package/dist/core/web/public/next/assets/{Swimlane-DR4OgON_.js.map → Swimlane-Cdc4TqDe.js.map} +1 -1
  153. package/dist/core/web/public/next/assets/{Switch-CcR5Llk5.js → Switch-CUrvzO2k.js} +2 -2
  154. package/dist/core/web/public/next/assets/{Switch-CcR5Llk5.js.map → Switch-CUrvzO2k.js.map} +1 -1
  155. package/dist/core/web/public/next/assets/{Tag-_-K1h7Hk.js → Tag-Bv8u6APt.js} +2 -2
  156. package/dist/core/web/public/next/assets/{Tag-_-K1h7Hk.js.map → Tag-Bv8u6APt.js.map} +1 -1
  157. package/dist/core/web/public/next/assets/TerminalPane-BE4Xlqi5.js +7 -0
  158. package/dist/core/web/public/next/assets/{TerminalPane-_1aH4ndN.js.map → TerminalPane-BE4Xlqi5.js.map} +1 -1
  159. package/dist/core/web/public/next/assets/UniverseConsoleApp-BGwejf0m.js +2 -0
  160. package/dist/core/web/public/next/assets/{UniverseConsoleApp-BUsq-inZ.js.map → UniverseConsoleApp-BGwejf0m.js.map} +1 -1
  161. package/dist/core/web/public/next/assets/{UniverseConsoleApp-Dh7A-hLD.css → UniverseConsoleApp-DfuT-wFw.css} +1 -1
  162. package/dist/core/web/public/next/assets/{UniverseView-Dogy_dsB.js → UniverseView-CgKa-WXC.js} +4 -4
  163. package/dist/core/web/public/next/assets/{UniverseView-Dogy_dsB.js.map → UniverseView-CgKa-WXC.js.map} +1 -1
  164. package/dist/core/web/public/next/assets/UsageSection-CazsHm1f.js +2 -0
  165. package/dist/core/web/public/next/assets/{UsageSection-DiX_dTyo.js.map → UsageSection-CazsHm1f.js.map} +1 -1
  166. package/dist/core/web/public/next/assets/VerseConsoleApp-CTF3Shs0.js +3 -0
  167. package/dist/core/web/public/next/assets/VerseConsoleApp-CTF3Shs0.js.map +1 -0
  168. package/dist/core/web/public/next/assets/Workspace-CgdyXiEV.js +10 -0
  169. package/dist/core/web/public/next/assets/Workspace-CgdyXiEV.js.map +1 -0
  170. package/dist/core/web/public/next/assets/Workspace-Dwri2jFJ.css +1 -0
  171. package/dist/core/web/public/next/assets/actions-MtxBGS5B.js +2 -0
  172. package/dist/core/web/public/next/assets/{actions-s2lfm_5k.js.map → actions-MtxBGS5B.js.map} +1 -1
  173. package/dist/core/web/public/next/assets/budget-queries-CP7hgR-p.js +2 -0
  174. package/dist/core/web/public/next/assets/{budget-queries-wUshcovN.js.map → budget-queries-CP7hgR-p.js.map} +1 -1
  175. package/dist/core/web/public/next/assets/{capacity-strip-model-Bj_9ztzs.js → capacity-strip-model-fHfu5cph.js} +2 -2
  176. package/dist/core/web/public/next/assets/{capacity-strip-model-Bj_9ztzs.js.map → capacity-strip-model-fHfu5cph.js.map} +1 -1
  177. package/dist/core/web/public/next/assets/{charts-CMSgAUKn.js → charts-Bis9WSiS.js} +2 -2
  178. package/dist/core/web/public/next/assets/{charts-CMSgAUKn.js.map → charts-Bis9WSiS.js.map} +1 -1
  179. package/dist/core/web/public/next/assets/cloud-queries-BsOepFz6.js +2 -0
  180. package/dist/core/web/public/next/assets/{cloud-queries-CnV1yaNG.js.map → cloud-queries-BsOepFz6.js.map} +1 -1
  181. package/dist/core/web/public/next/assets/{cloud.module-CiwatLj3.js → cloud.module-DoFnr8ZH.js} +2 -2
  182. package/dist/core/web/public/next/assets/{cloud.module-CiwatLj3.js.map → cloud.module-DoFnr8ZH.js.map} +1 -1
  183. package/dist/core/web/public/next/assets/{command-bus-DqimKCUY.js → command-bus-CMvbYP5K.js} +2 -2
  184. package/dist/core/web/public/next/assets/{command-bus-DqimKCUY.js.map → command-bus-CMvbYP5K.js.map} +1 -1
  185. package/dist/core/web/public/next/assets/command-catalog-Bb_PxC5w.js +2 -0
  186. package/dist/core/web/public/next/assets/command-catalog-Bb_PxC5w.js.map +1 -0
  187. package/dist/core/web/public/next/assets/compaction-point-VL9oegWS.js +2 -0
  188. package/dist/core/web/public/next/assets/compaction-point-VL9oegWS.js.map +1 -0
  189. package/dist/core/web/public/next/assets/{composer-keys-DBRymxQn.js → composer-keys-su0g1h9o.js} +2 -2
  190. package/dist/core/web/public/next/assets/{composer-keys-DBRymxQn.js.map → composer-keys-su0g1h9o.js.map} +1 -1
  191. package/dist/core/web/public/next/assets/context-model-Ci3Ch9t5.js +2 -0
  192. package/dist/core/web/public/next/assets/{context-model-Dwd49-dp.js.map → context-model-Ci3Ch9t5.js.map} +1 -1
  193. package/dist/core/web/public/next/assets/context-model-CjiJTnf1.js +2 -0
  194. package/dist/core/web/public/next/assets/{context-model-MT17V86_.js.map → context-model-CjiJTnf1.js.map} +1 -1
  195. package/dist/core/web/public/next/assets/context-queries-BDXT6LQ3.js +2 -0
  196. package/dist/core/web/public/next/assets/{context-queries-xVKIeynP.js.map → context-queries-BDXT6LQ3.js.map} +1 -1
  197. package/dist/core/web/public/next/assets/control-queries-Dv-h1Clu.js +2 -0
  198. package/dist/core/web/public/next/assets/{control-queries-DOZR-D8G.js.map → control-queries-Dv-h1Clu.js.map} +1 -1
  199. package/dist/core/web/public/next/assets/{dock-icons-8EtARwUm.js → dock-icons-t--Eugrd.js} +2 -2
  200. package/dist/core/web/public/next/assets/{dock-icons-8EtARwUm.js.map → dock-icons-t--Eugrd.js.map} +1 -1
  201. package/dist/core/web/public/next/assets/{dock-store-BA1cHOYA.js → dock-store-qIu7kSQE.js} +2 -2
  202. package/dist/core/web/public/next/assets/{dock-store-BA1cHOYA.js.map → dock-store-qIu7kSQE.js.map} +1 -1
  203. package/dist/core/web/public/next/assets/{fleet-model-CNe8Wh-s.js → fleet-model-IRbwfhkR.js} +2 -2
  204. package/dist/core/web/public/next/assets/{fleet-model-CNe8Wh-s.js.map → fleet-model-IRbwfhkR.js.map} +1 -1
  205. package/dist/core/web/public/next/assets/fleet-queries-7FVNByX1.js +2 -0
  206. package/dist/core/web/public/next/assets/{fleet-queries-BSdRlUwJ.js.map → fleet-queries-7FVNByX1.js.map} +1 -1
  207. package/dist/core/web/public/next/assets/focus-trap-QqQxQdvH.js +2 -0
  208. package/dist/core/web/public/next/assets/focus-trap-QqQxQdvH.js.map +1 -0
  209. package/dist/core/web/public/next/assets/{format-B8DAVcn2.js → format-CaMmVQCn.js} +2 -2
  210. package/dist/core/web/public/next/assets/{format-B8DAVcn2.js.map → format-CaMmVQCn.js.map} +1 -1
  211. package/dist/core/web/public/next/assets/git-model-B4S_GUNA.js +5 -0
  212. package/dist/core/web/public/next/assets/{git-model-CivuBY_D.js.map → git-model-B4S_GUNA.js.map} +1 -1
  213. package/dist/core/web/public/next/assets/global-BkNl4e6E.js +2 -0
  214. package/dist/core/web/public/next/assets/global-BkNl4e6E.js.map +1 -0
  215. package/dist/core/web/public/next/assets/global-BlI2BYa1.css +1 -0
  216. package/dist/core/web/public/next/assets/guarded-action-DHiL8tY5.js +3 -0
  217. package/dist/core/web/public/next/assets/guarded-action-DHiL8tY5.js.map +1 -0
  218. package/dist/core/web/public/next/assets/guarded-runners-DmGEkM2P.js +2 -0
  219. package/dist/core/web/public/next/assets/guarded-runners-DmGEkM2P.js.map +1 -0
  220. package/dist/core/web/public/next/assets/icon-base-NtFmP2yB.js +2 -0
  221. package/dist/core/web/public/next/assets/icon-base-NtFmP2yB.js.map +1 -0
  222. package/dist/core/web/public/next/assets/icons-C5EFt_Ts.js +2 -0
  223. package/dist/core/web/public/next/assets/icons-C5EFt_Ts.js.map +1 -0
  224. package/dist/core/web/public/next/assets/{index-oAAq8XJa.js → index-DbDw9UAs.js} +3 -3
  225. package/dist/core/web/public/next/assets/{index-oAAq8XJa.js.map → index-DbDw9UAs.js.map} +1 -1
  226. package/dist/core/web/public/next/assets/{live-model-DCw_IFRI.js → live-model-DEwrl7_A.js} +2 -2
  227. package/dist/core/web/public/next/assets/{live-model-DCw_IFRI.js.map → live-model-DEwrl7_A.js.map} +1 -1
  228. package/dist/core/web/public/next/assets/{mind.module-vnuJcwvD.js → mind.module-CLhqMQak.js} +2 -2
  229. package/dist/core/web/public/next/assets/{mind.module-vnuJcwvD.js.map → mind.module-CLhqMQak.js.map} +1 -1
  230. package/dist/core/web/public/next/assets/mutations-Kvzsg-iK.js +2 -0
  231. package/dist/core/web/public/next/assets/{mutations-Dpsql5t7.js.map → mutations-Kvzsg-iK.js.map} +1 -1
  232. package/dist/core/web/public/next/assets/nav-C0IunEYF.js +2 -0
  233. package/dist/core/web/public/next/assets/nav-C0IunEYF.js.map +1 -0
  234. package/dist/core/web/public/next/assets/overnight-queries-C_AfcL7q.js +2 -0
  235. package/dist/core/web/public/next/assets/{overnight-queries-X-44Gsw5.js.map → overnight-queries-C_AfcL7q.js.map} +1 -1
  236. package/dist/core/web/public/next/assets/preloaded-CctOitLu.js +2 -0
  237. package/dist/core/web/public/next/assets/preloaded-CctOitLu.js.map +1 -0
  238. package/dist/core/web/public/next/assets/primitives-CbAGCNKt.js +1 -0
  239. package/dist/core/web/public/next/assets/{queries-BA4rNGD-.js → queries-THD05gHP.js} +2 -2
  240. package/dist/core/web/public/next/assets/{queries-BA4rNGD-.js.map → queries-THD05gHP.js.map} +1 -1
  241. package/dist/core/web/public/next/assets/reasoning-pref-BVPu0SME.js +2 -0
  242. package/dist/core/web/public/next/assets/{reasoning-pref-B9-DJUXP.js.map → reasoning-pref-BVPu0SME.js.map} +1 -1
  243. package/dist/core/web/public/next/assets/reveal-anchor-wCT5b4m3.js +2 -0
  244. package/dist/core/web/public/next/assets/reveal-anchor-wCT5b4m3.js.map +1 -0
  245. package/dist/core/web/public/next/assets/seat-subscription-CR_VylsK.js +2 -0
  246. package/dist/core/web/public/next/assets/{seat-subscription-CH6fW4fJ.js.map → seat-subscription-CR_VylsK.js.map} +1 -1
  247. package/dist/core/web/public/next/assets/{section-visibility-qFqc_d4Z.js → section-visibility-B0xXUQJ0.js} +2 -2
  248. package/dist/core/web/public/next/assets/{section-visibility-qFqc_d4Z.js.map → section-visibility-B0xXUQJ0.js.map} +1 -1
  249. package/dist/core/web/public/next/assets/{sidebar-model-M1GaQU5l.js → sidebar-model-C5wVXGpb.js} +2 -2
  250. package/dist/core/web/public/next/assets/{sidebar-model-M1GaQU5l.js.map → sidebar-model-C5wVXGpb.js.map} +1 -1
  251. package/dist/core/web/public/next/assets/slots-DDd8cEoh.js +3 -0
  252. package/dist/core/web/public/next/assets/{slots-Ds9ZIqUL.js.map → slots-DDd8cEoh.js.map} +1 -1
  253. package/dist/core/web/public/next/assets/surface-data-BFxAlefI.js +2 -0
  254. package/dist/core/web/public/next/assets/{surface-data-J52iIGMD.js.map → surface-data-BFxAlefI.js.map} +1 -1
  255. package/dist/core/web/public/next/assets/surface-prefetch-CHusyO9q.js +2 -0
  256. package/dist/core/web/public/next/assets/{surface-prefetch-CgZ-LEJK.js.map → surface-prefetch-CHusyO9q.js.map} +1 -1
  257. package/dist/core/web/public/next/assets/{tasks-model-ent8f0jZ.js → tasks-model-DvkWveXs.js} +2 -2
  258. package/dist/core/web/public/next/assets/{tasks-model-ent8f0jZ.js.map → tasks-model-DvkWveXs.js.map} +1 -1
  259. package/dist/core/web/public/next/assets/{terminal-icons-DJTK7QpR.js → terminal-icons-Dp6pJgV2.js} +2 -2
  260. package/dist/core/web/public/next/assets/{terminal-icons-DJTK7QpR.js.map → terminal-icons-Dp6pJgV2.js.map} +1 -1
  261. package/dist/core/web/public/next/assets/{usage-queries-Bn8ccqyN.js → usage-queries-CUTmnegA.js} +2 -2
  262. package/dist/core/web/public/next/assets/{usage-queries-Bn8ccqyN.js.map → usage-queries-CUTmnegA.js.map} +1 -1
  263. package/dist/core/web/public/next/assets/use-guarded-action-UCX2u1t1.js +2 -0
  264. package/dist/core/web/public/next/assets/{use-guarded-action-C2HlSzkz.js.map → use-guarded-action-UCX2u1t1.js.map} +1 -1
  265. package/dist/core/web/public/next/assets/{use-ticker-BNc1H4ZC.js → use-ticker-OXAjob3y.js} +2 -2
  266. package/dist/core/web/public/next/assets/{use-ticker-BNc1H4ZC.js.map → use-ticker-OXAjob3y.js.map} +1 -1
  267. package/dist/core/web/public/next/assets/use-token-gate-CDDRAoKH.js +2 -0
  268. package/dist/core/web/public/next/assets/{use-token-gate-B3IJL6bf.js.map → use-token-gate-CDDRAoKH.js.map} +1 -1
  269. package/dist/core/web/public/next/assets/useChartWidth-BW6SwYIK.css +1 -0
  270. package/dist/core/web/public/next/assets/useChartWidth-D9M7kUw7.js +2 -0
  271. package/dist/core/web/public/next/assets/{useChartWidth-lZ9PrQn0.js.map → useChartWidth-D9M7kUw7.js.map} +1 -1
  272. package/dist/core/web/public/next/assets/{useSeatsRefresh-CG4jczeL.js → useSeatsRefresh-B2dCVcj9.js} +2 -2
  273. package/dist/core/web/public/next/assets/{useSeatsRefresh-CG4jczeL.js.map → useSeatsRefresh-B2dCVcj9.js.map} +1 -1
  274. package/dist/core/web/public/next/assets/useVerseTranscript-BL3CljSI.js +2 -0
  275. package/dist/core/web/public/next/assets/useVerseTranscript-BL3CljSI.js.map +1 -0
  276. package/dist/core/web/public/next/assets/verse-icons-DASWdYuE.js +2 -0
  277. package/dist/core/web/public/next/assets/verse-icons-DASWdYuE.js.map +1 -0
  278. package/dist/core/web/public/next/assets/verse-model-BQ0Y2CSr.js +2 -0
  279. package/dist/core/web/public/next/assets/verse-model-BQ0Y2CSr.js.map +1 -0
  280. package/dist/core/web/public/next/assets/verse-store-b_Lek_c5.js +3 -0
  281. package/dist/core/web/public/next/assets/verse-store-b_Lek_c5.js.map +1 -0
  282. package/dist/core/web/public/next/assets/verse-ui-store-D7YXi63q.js +3 -0
  283. package/dist/core/web/public/next/assets/{verse-ui-store-zafyzXKD.js.map → verse-ui-store-D7YXi63q.js.map} +1 -1
  284. package/dist/core/web/public/next/assets/{viewport-BEqGUoTA.js → viewport-BYGH5EgA.js} +2 -2
  285. package/dist/core/web/public/next/assets/{viewport-BEqGUoTA.js.map → viewport-BYGH5EgA.js.map} +1 -1
  286. package/dist/core/web/public/next/assets/warmup-AsqwWCUi.js +3 -0
  287. package/dist/core/web/public/next/assets/{warmup-BR6pxAKs.js.map → warmup-AsqwWCUi.js.map} +1 -1
  288. package/dist/core/web/public/next/assets/{workspace-model-D_tWD5Wt.js → workspace-model-CXorJr0G.js} +2 -2
  289. package/dist/core/web/public/next/assets/{workspace-model-D_tWD5Wt.js.map → workspace-model-CXorJr0G.js.map} +1 -1
  290. package/dist/core/web/public/next/index.html +1 -1
  291. package/dist/release-dependency-inventory.json +1 -1
  292. package/package.json +5 -2
  293. package/dist/cli/activation.d.ts +0 -41
  294. package/dist/cli/activation.js +0 -485
  295. package/dist/cli/activation.js.map +0 -1
  296. package/dist/core/fleet/generated-repair-resolution.d.ts +0 -36
  297. package/dist/core/fleet/generated-repair-resolution.js +0 -245
  298. package/dist/core/fleet/generated-repair-resolution.js.map +0 -1
  299. package/dist/core/local-runtime/llama/port.d.ts +0 -17
  300. package/dist/core/local-runtime/llama/port.js +0 -47
  301. package/dist/core/local-runtime/llama/port.js.map +0 -1
  302. package/dist/core/local-runtime/llama/proxy-host.d.ts +0 -54
  303. package/dist/core/local-runtime/llama/proxy-host.js +0 -159
  304. package/dist/core/local-runtime/llama/proxy-host.js.map +0 -1
  305. package/dist/core/local-runtime/llama/proxy-process.d.ts +0 -148
  306. package/dist/core/local-runtime/llama/proxy-process.js +0 -250
  307. package/dist/core/local-runtime/llama/proxy-process.js.map +0 -1
  308. package/dist/core/local-runtime/llama/proxy-record.d.ts +0 -40
  309. package/dist/core/local-runtime/llama/proxy-record.js +0 -133
  310. package/dist/core/local-runtime/llama/proxy-record.js.map +0 -1
  311. package/dist/core/local-runtime/llama/proxy-supervisor.d.ts +0 -118
  312. package/dist/core/local-runtime/llama/proxy-supervisor.js +0 -511
  313. package/dist/core/local-runtime/llama/proxy-supervisor.js.map +0 -1
  314. package/dist/core/web/public/next/assets/Advanced-DEM93sKI.js +0 -2
  315. package/dist/core/web/public/next/assets/App-CimXmK0L.js +0 -7
  316. package/dist/core/web/public/next/assets/AppsSection-D6U-dSj6.js +0 -2
  317. package/dist/core/web/public/next/assets/AutonomySection-3V9pUyxm.js +0 -2
  318. package/dist/core/web/public/next/assets/BranchBar-U8UdpfEB.js +0 -2
  319. package/dist/core/web/public/next/assets/CapacityStrip-C667yQe8.js +0 -2
  320. package/dist/core/web/public/next/assets/CapacityStrip-C667yQe8.js.map +0 -1
  321. package/dist/core/web/public/next/assets/ChatSection-CCcIPpOq.js +0 -3
  322. package/dist/core/web/public/next/assets/ChatSection-CCcIPpOq.js.map +0 -1
  323. package/dist/core/web/public/next/assets/CommandPalette-FiD4N8XD.js +0 -2
  324. package/dist/core/web/public/next/assets/CommandSection-DN8KwH-X.js +0 -2
  325. package/dist/core/web/public/next/assets/DockHost-DvR-hPhZ.js +0 -2
  326. package/dist/core/web/public/next/assets/FleetSection-D_zRBCub.js +0 -3
  327. package/dist/core/web/public/next/assets/GearTray-C7k4l_BW.js +0 -2
  328. package/dist/core/web/public/next/assets/HandoffDialog-FPVOqOMN.js +0 -2
  329. package/dist/core/web/public/next/assets/LeaderCard-4R0BhDzT.js +0 -2
  330. package/dist/core/web/public/next/assets/McpSection-CJ__OJKl.js +0 -2
  331. package/dist/core/web/public/next/assets/MindSection-BjXHkQPS.js +0 -2
  332. package/dist/core/web/public/next/assets/MutationTokenDialog-Cum_DqQZ.css +0 -1
  333. package/dist/core/web/public/next/assets/MutationTokenDialog-SkRxqV_I.js +0 -2
  334. package/dist/core/web/public/next/assets/MutationTokenDialog-SkRxqV_I.js.map +0 -1
  335. package/dist/core/web/public/next/assets/NeedsYouDrawer-rSd1ZHAR.js +0 -2
  336. package/dist/core/web/public/next/assets/NewChatDialog-BeDQ1eW3.js +0 -3
  337. package/dist/core/web/public/next/assets/OnboardingFlow-CkTZtt-m.js +0 -2
  338. package/dist/core/web/public/next/assets/PreviewPane-kzbbSK4u.js +0 -2
  339. package/dist/core/web/public/next/assets/ResourcesChrome-B3Z3O98t.css +0 -1
  340. package/dist/core/web/public/next/assets/ResourcesChrome-BzV6bkIa.js +0 -3
  341. package/dist/core/web/public/next/assets/ResourcesChrome-BzV6bkIa.js.map +0 -1
  342. package/dist/core/web/public/next/assets/ResourcesDrawer-o4ILHdep.js +0 -2
  343. package/dist/core/web/public/next/assets/ResourcesDrawer-o4ILHdep.js.map +0 -1
  344. package/dist/core/web/public/next/assets/RouteErrorBoundary-6RMd_aZg.css +0 -1
  345. package/dist/core/web/public/next/assets/RouteErrorBoundary-C5SxA2Dg.js +0 -2
  346. package/dist/core/web/public/next/assets/RouteErrorBoundary-C5SxA2Dg.js.map +0 -1
  347. package/dist/core/web/public/next/assets/SeatSelector-DpvvbjNm.js +0 -3
  348. package/dist/core/web/public/next/assets/SessionInsightChip-CWye87Ju.js +0 -2
  349. package/dist/core/web/public/next/assets/SettingsSection-Dr18upeE.js +0 -2
  350. package/dist/core/web/public/next/assets/SettingsSection-Dr18upeE.js.map +0 -1
  351. package/dist/core/web/public/next/assets/Sheet-DZKcQXQg.js +0 -2
  352. package/dist/core/web/public/next/assets/ShortcutsOverlay-BpDimdPq.js +0 -2
  353. package/dist/core/web/public/next/assets/Sidebar-BoBzBEFX.js +0 -3
  354. package/dist/core/web/public/next/assets/TerminalPane-_1aH4ndN.js +0 -7
  355. package/dist/core/web/public/next/assets/UniverseConsoleApp-BUsq-inZ.js +0 -2
  356. package/dist/core/web/public/next/assets/UsageSection-DiX_dTyo.js +0 -2
  357. package/dist/core/web/public/next/assets/VerseConsoleApp-WVeyJnW7.js +0 -3
  358. package/dist/core/web/public/next/assets/VerseConsoleApp-WVeyJnW7.js.map +0 -1
  359. package/dist/core/web/public/next/assets/Workspace-BYW9dm90.css +0 -1
  360. package/dist/core/web/public/next/assets/Workspace-BbxZHwQd.js +0 -10
  361. package/dist/core/web/public/next/assets/Workspace-BbxZHwQd.js.map +0 -1
  362. package/dist/core/web/public/next/assets/actions-s2lfm_5k.js +0 -2
  363. package/dist/core/web/public/next/assets/budget-queries-wUshcovN.js +0 -2
  364. package/dist/core/web/public/next/assets/cloud-queries-CnV1yaNG.js +0 -2
  365. package/dist/core/web/public/next/assets/command-catalog-BdtDH93o.js +0 -2
  366. package/dist/core/web/public/next/assets/command-catalog-BdtDH93o.js.map +0 -1
  367. package/dist/core/web/public/next/assets/context-model-Dwd49-dp.js +0 -2
  368. package/dist/core/web/public/next/assets/context-model-MT17V86_.js +0 -2
  369. package/dist/core/web/public/next/assets/context-queries-xVKIeynP.js +0 -2
  370. package/dist/core/web/public/next/assets/control-queries-DOZR-D8G.js +0 -2
  371. package/dist/core/web/public/next/assets/dock-panes-UKS-mXhr.js +0 -2
  372. package/dist/core/web/public/next/assets/dock-panes-UKS-mXhr.js.map +0 -1
  373. package/dist/core/web/public/next/assets/fleet-queries-BSdRlUwJ.js +0 -2
  374. package/dist/core/web/public/next/assets/git-model-CivuBY_D.js +0 -5
  375. package/dist/core/web/public/next/assets/global-Di2PUgj4.js +0 -2
  376. package/dist/core/web/public/next/assets/global-Di2PUgj4.js.map +0 -1
  377. package/dist/core/web/public/next/assets/global-_tOCFt9y.css +0 -1
  378. package/dist/core/web/public/next/assets/guarded-action-CvOHcqyH.js +0 -2
  379. package/dist/core/web/public/next/assets/guarded-action-CvOHcqyH.js.map +0 -1
  380. package/dist/core/web/public/next/assets/icons-B_yuAgdN.js +0 -2
  381. package/dist/core/web/public/next/assets/icons-B_yuAgdN.js.map +0 -1
  382. package/dist/core/web/public/next/assets/mutations-Dpsql5t7.js +0 -2
  383. package/dist/core/web/public/next/assets/overnight-queries-X-44Gsw5.js +0 -2
  384. package/dist/core/web/public/next/assets/primitives-BDIcUvob.js +0 -1
  385. package/dist/core/web/public/next/assets/reasoning-pref-B9-DJUXP.js +0 -2
  386. package/dist/core/web/public/next/assets/seat-subscription-CH6fW4fJ.js +0 -2
  387. package/dist/core/web/public/next/assets/slots-Ds9ZIqUL.js +0 -3
  388. package/dist/core/web/public/next/assets/surface-data-J52iIGMD.js +0 -2
  389. package/dist/core/web/public/next/assets/surface-prefetch-CgZ-LEJK.js +0 -2
  390. package/dist/core/web/public/next/assets/use-guarded-action-C2HlSzkz.js +0 -2
  391. package/dist/core/web/public/next/assets/use-token-gate-B3IJL6bf.js +0 -2
  392. package/dist/core/web/public/next/assets/useActivity-Bk3XgXjL.js +0 -2
  393. package/dist/core/web/public/next/assets/useActivity-Bk3XgXjL.js.map +0 -1
  394. package/dist/core/web/public/next/assets/useChartWidth-BAtVgn2n.css +0 -1
  395. package/dist/core/web/public/next/assets/useChartWidth-lZ9PrQn0.js +0 -2
  396. package/dist/core/web/public/next/assets/verse-model-D7NZQFAR.js +0 -2
  397. package/dist/core/web/public/next/assets/verse-model-D7NZQFAR.js.map +0 -1
  398. package/dist/core/web/public/next/assets/verse-queries-DvIJcn6Z.js +0 -2
  399. package/dist/core/web/public/next/assets/verse-queries-DvIJcn6Z.js.map +0 -1
  400. package/dist/core/web/public/next/assets/verse-store-DjBWj04q.js +0 -3
  401. package/dist/core/web/public/next/assets/verse-store-DjBWj04q.js.map +0 -1
  402. package/dist/core/web/public/next/assets/verse-ui-store-zafyzXKD.js +0 -3
  403. package/dist/core/web/public/next/assets/warmup-BR6pxAKs.js +0 -3
@@ -1,485 +0,0 @@
1
- /**
2
- * `ashlr activation` — operator authority for the autonomous fleet (M470).
3
- *
4
- * The daemon, goal/simple conductors, and resident-service install are all
5
- * held shut by hard-coded denials until an operator EXPLICITLY grants
6
- * authority here. Doing nothing keeps today's exact behavior: everything
7
- * denied. This command group is how an operator opts in, on their own
8
- * terms, with a real signed/expiring/revocable authorization trail.
9
- *
10
- * Subcommands:
11
- * activation init [--label <text>] [--force] [--yes] [--json]
12
- * Generate an Ed25519 keypair on this machine (private key never
13
- * leaves it) and register the public half as a trust root. Grants
14
- * NOTHING by itself — run `activation grant` next.
15
- * activation status [--json]
16
- * Trust roots, pending one-shot permit, standing grants, and what is
17
- * currently authorized, right now, and why.
18
- * activation grant <scope...> [--ttl <duration>] [--yes] [--json]
19
- * Mint a scoped, signed, expiring authorization. `once`/`resident`
20
- * mint a single-use permit for `ashlr daemon start`, good for a fixed
21
- * 2-minute window; any of `residentStanding`/`conductor`/`automerge`/
22
- * `repair`/`deploy`/`install`/`proposalOnly` mint a standing grant
23
- * checked on every use until it expires (30d cap) or is revoked.
24
- * `residentStanding` is what lets a resident daemon started by
25
- * launchd/systemd/Task Scheduler after a reboot authorize itself with
26
- * no operator present — grant it once, ahead of time, alongside
27
- * whichever of `automerge`/`repair`/`deploy` the resident loop should
28
- * also carry for its whole run.
29
- * activation revoke --root <keyId> | --grant <grantId> [--yes] [--json]
30
- * Immediately invalidate a trust root or a standing grant.
31
- *
32
- * Every subcommand supports --help. Mutating subcommands (init/grant/revoke)
33
- * refuse to run unattended in a non-TTY session without --yes — the same
34
- * confirm-gate convention as `ashlr inbox approve`.
35
- */
36
- import { makeColors } from './ui.js';
37
- import { DAEMON_ACTIVATION_SCOPE_KEYS, DEFAULT_STANDING_GRANT_VALIDITY_MS, EMPTY_DAEMON_ACTIVATION_SCOPE, MAX_STANDING_GRANT_VALIDITY_MS, daemonActivationDiagnosePendingPermitBindings, daemonActivationDirPath, daemonActivationGrantStatus, daemonActivationInit, daemonActivationMintOneShotPermit, daemonActivationMintStandingGrant, daemonActivationPermitPath, daemonActivationRevokeGrant, daemonActivationRevokeTrustRoot, daemonActivationScopeGranted, daemonActivationTrustRootStatus, inspectDaemonActivationPermit, } from '../core/daemon/activation-permit.js';
38
- const ACTIVATION_SUBCOMMANDS = new Set(['init', 'status', 'grant', 'revoke']);
39
- const ONE_SHOT_SCOPE_KEYS = new Set(['once', 'resident']);
40
- const ACTIVATION_USAGE = {
41
- init: 'Usage: ashlr activation init [--label <text>] [--force] [--yes] [--json]',
42
- status: 'Usage: ashlr activation status [--json]',
43
- grant: `Usage: ashlr activation grant <scope...> [--ttl <duration>] [--yes] [--json]\n` +
44
- ` scopes: ${DAEMON_ACTIVATION_SCOPE_KEYS.join(', ')}\n` +
45
- ` duration: <n>s | <n>m | <n>h | <n>d (default: 24h; hard cap: 30d; standing grants only)`,
46
- revoke: 'Usage: ashlr activation revoke (--root <keyId> | --grant <grantId>) [--yes] [--json]',
47
- };
48
- const ACTIVATION_TOP_LEVEL_USAGE = `Usage: ashlr activation [subcommand] [flags]
49
-
50
- Everything here is denied by default. Run \`activation init\` then
51
- \`activation grant <scope...>\` to explicitly opt this machine's fleet into
52
- real authority — nothing else changes anything on its own.
53
-
54
- Subcommands:
55
- init Generate an operator keypair and register the trust root
56
- status Show what is granted, by whom, when, and current eligibility
57
- grant Mint a scoped, signed, expiring permit or standing grant
58
- revoke Immediately invalidate a trust root or a standing grant
59
-
60
- Run \`ashlr activation <subcommand> --help\` for subcommand usage.`;
61
- function isHelpFlag(arg) {
62
- return arg === '--help' || arg === '-h';
63
- }
64
- function isActivationSubcommand(value) {
65
- return ACTIVATION_SUBCOMMANDS.has(value);
66
- }
67
- function printActivationUsage(subcommand) {
68
- console.log(subcommand ? ACTIVATION_USAGE[subcommand] : ACTIVATION_TOP_LEVEL_USAGE);
69
- }
70
- function printActivationUsageError(message, subcommand) {
71
- const col = makeColors(process.stdout.isTTY === true);
72
- console.error(col.red('error: ') + message);
73
- console.error(col.dim(subcommand ? ACTIVATION_USAGE[subcommand] : ACTIVATION_TOP_LEVEL_USAGE));
74
- return 2;
75
- }
76
- function parseDurationMs(text) {
77
- const match = /^(\d+)(s|m|h|d)?$/u.exec(text.trim());
78
- if (!match)
79
- return null;
80
- const value = Number(match[1]);
81
- if (!Number.isFinite(value) || value <= 0)
82
- return null;
83
- const unit = match[2] ?? 'h';
84
- const multiplier = unit === 's' ? 1_000 : unit === 'm' ? 60_000 : unit === 'h' ? 3_600_000 : 86_400_000;
85
- return value * multiplier;
86
- }
87
- async function importConfig() {
88
- try {
89
- const mod = (await import('../core/config.js'));
90
- return mod.loadConfigReadOnlyStrict;
91
- }
92
- catch {
93
- return null;
94
- }
95
- }
96
- /** Non-TTY without --yes refuses — no silently-automated grants, matching `inbox approve`. */
97
- function refuseUnattended(yes, jsonMode, action) {
98
- const tty = process.stdout.isTTY === true;
99
- if (tty || yes)
100
- return false;
101
- const col = makeColors(false);
102
- const msg = `non-TTY: activation ${action} requires --yes to prevent silent, unattended authorization`;
103
- if (jsonMode) {
104
- console.log(JSON.stringify({ ok: false, error: msg }));
105
- }
106
- else {
107
- console.error(col.red('error: ') + msg);
108
- console.error(col.dim(` Use \`ashlr activation ${action} ... --yes\` in non-interactive environments.`));
109
- }
110
- return true;
111
- }
112
- // ---------------------------------------------------------------------------
113
- // Subcommand: init
114
- // ---------------------------------------------------------------------------
115
- async function cmdActivationInit(args) {
116
- const jsonMode = args.includes('--json');
117
- const force = args.includes('--force');
118
- const yes = args.includes('--yes');
119
- const labelIndex = args.indexOf('--label');
120
- const label = labelIndex !== -1 ? args[labelIndex + 1] : undefined;
121
- const known = new Set(['--json', '--force', '--yes', '--label', label].filter((v) => v !== undefined));
122
- const unknown = args.find((a, i) => !known.has(a) && !(args[i - 1] === '--label'));
123
- if (unknown)
124
- return printActivationUsageError(`Unknown flag: ${unknown}`, 'init');
125
- if (labelIndex !== -1 && label === undefined) {
126
- return printActivationUsageError('--label requires a value', 'init');
127
- }
128
- const col = makeColors(process.stdout.isTTY === true);
129
- if (!jsonMode) {
130
- console.log('');
131
- console.log(col.bold(' ashlr activation init'));
132
- console.log(col.dim(' Generates an Ed25519 keypair on THIS machine and registers the public\n'
133
- + ' half as a trust root. The private key never leaves this machine, is\n'
134
- + ' written 0600 under an 0700 directory, and is the ONLY thing that can\n'
135
- + ' sign a future `activation grant`. This step grants no capability by\n'
136
- + ' itself — the fleet stays exactly as denied as it is today until you\n'
137
- + ' run `ashlr activation grant <scope...>`.'));
138
- console.log('');
139
- }
140
- if (refuseUnattended(yes, jsonMode, 'init'))
141
- return 2;
142
- const result = daemonActivationInit({ label, force });
143
- if (!result.ok) {
144
- const msg = `activation init refused: ${result.reason}`;
145
- if (jsonMode)
146
- console.log(JSON.stringify({ ok: false, error: result.reason }));
147
- else
148
- console.error(col.red('error: ') + msg);
149
- return 1;
150
- }
151
- if (jsonMode) {
152
- console.log(JSON.stringify({
153
- ok: true,
154
- keyId: result.keyId,
155
- publicKeyPem: result.publicKeyPem,
156
- rotated: result.rotated,
157
- trustRootsPath: daemonActivationDirPath(),
158
- }));
159
- }
160
- else {
161
- console.log(col.green('ok: ') + `trust root registered (keyId=${result.keyId}${result.rotated ? ', rotated' : ''}).`);
162
- console.log(col.dim(` store: ${daemonActivationDirPath()}`));
163
- console.log(col.dim(' Next: `ashlr activation grant <scope...>` to actually authorize something.'));
164
- }
165
- return 0;
166
- }
167
- // ---------------------------------------------------------------------------
168
- // Subcommand: status
169
- // ---------------------------------------------------------------------------
170
- async function cmdActivationStatus(args) {
171
- const jsonMode = args.includes('--json');
172
- const unknown = args.find((a) => a !== '--json');
173
- if (unknown)
174
- return printActivationUsageError(`Unknown flag: ${unknown}`, 'status');
175
- const col = makeColors(process.stdout.isTTY === true);
176
- const trustRoots = daemonActivationTrustRootStatus();
177
- const grants = daemonActivationGrantStatus();
178
- const loadConfig = await importConfig();
179
- let cfg = null;
180
- try {
181
- cfg = loadConfig ? loadConfig() : null;
182
- }
183
- catch {
184
- cfg = null;
185
- }
186
- const onceReadiness = cfg ? inspectDaemonActivationPermit(cfg, { once: true, dryRun: false }) : null;
187
- const residentReadiness = cfg ? inspectDaemonActivationPermit(cfg, { once: false, dryRun: false }) : null;
188
- const bindingMismatch = onceReadiness?.reason === 'permit-runtime-binding-mismatch'
189
- || residentReadiness?.reason === 'permit-runtime-binding-mismatch';
190
- const bindingDiagnosis = cfg && bindingMismatch
191
- ? daemonActivationDiagnosePendingPermitBindings(cfg)
192
- : null;
193
- const nowMs = Date.now();
194
- const grantSummaries = grants.ok
195
- ? grants.records.map((record) => ({
196
- grantId: record.grantId,
197
- keyId: record.keyId,
198
- scope: DAEMON_ACTIVATION_SCOPE_KEYS.filter((key) => record.scope[key]),
199
- issuedAt: record.issuedAt,
200
- expiresAt: record.expiresAt,
201
- revoked: record.revokedAt !== null,
202
- expired: Date.parse(record.expiresAt) <= nowMs,
203
- }))
204
- : [];
205
- if (jsonMode) {
206
- console.log(JSON.stringify({
207
- ok: true,
208
- store: daemonActivationDirPath(),
209
- trustRoots: trustRoots.ok
210
- ? trustRoots.records.map((r) => ({
211
- keyId: r.keyId, label: r.label, createdAt: r.createdAt, revoked: r.revokedAt !== null,
212
- }))
213
- : null,
214
- trustRootStoreError: trustRoots.ok ? null : trustRoots.reason,
215
- grants: grants.ok ? grantSummaries : null,
216
- grantStoreError: grants.ok ? null : grants.reason,
217
- pendingOneShotPermitPath: daemonActivationPermitPath(),
218
- onceEligibility: onceReadiness,
219
- residentEligibility: residentReadiness,
220
- bindingMismatchDiagnosis: bindingDiagnosis,
221
- }, null, 2));
222
- return 0;
223
- }
224
- console.log('');
225
- console.log(col.bold(' ashlr activation status'));
226
- console.log(col.dim(` store: ${daemonActivationDirPath()}`));
227
- console.log('');
228
- console.log(col.bold(' Trust roots'));
229
- if (!trustRoots.ok) {
230
- console.log(col.yellow(` unreadable/unsafe (${trustRoots.reason}) — treated as NO authority.`));
231
- }
232
- else if (trustRoots.records.length === 0) {
233
- console.log(col.dim(' none — run `ashlr activation init`.'));
234
- }
235
- else {
236
- for (const root of trustRoots.records) {
237
- const state = root.revokedAt !== null ? col.red(`revoked ${root.revokedAt}`) : col.green('active');
238
- console.log(` ${root.keyId} ${state} ${root.label ? `"${root.label}"` : ''} (created ${root.createdAt})`);
239
- }
240
- }
241
- console.log('');
242
- console.log(col.bold(' Standing grants'));
243
- if (!grants.ok) {
244
- console.log(col.yellow(` unreadable/unsafe (${grants.reason}) — treated as NO authority.`));
245
- }
246
- else if (grantSummaries.length === 0) {
247
- console.log(col.dim(' none.'));
248
- }
249
- else {
250
- for (const g of grantSummaries) {
251
- const state = g.revoked ? col.red('revoked') : g.expired ? col.yellow('expired') : col.green('active');
252
- console.log(` ${g.grantId} ${state} scope=[${g.scope.join(', ')}] keyId=${g.keyId} expires ${g.expiresAt}`);
253
- }
254
- }
255
- console.log('');
256
- console.log(col.bold(' Currently granted, right now'));
257
- for (const scopeKey of DAEMON_ACTIVATION_SCOPE_KEYS) {
258
- if (ONE_SHOT_SCOPE_KEYS.has(scopeKey))
259
- continue;
260
- const check = daemonActivationScopeGranted(scopeKey);
261
- console.log(` ${scopeKey.padEnd(12)} ${check.granted ? col.green('granted') : col.dim('denied')} (${check.reason})`);
262
- }
263
- console.log('');
264
- console.log(col.bold(' One-shot permit (ashlr daemon start)'));
265
- console.log(` pending file: ${daemonActivationPermitPath()}`);
266
- if (onceReadiness) {
267
- console.log(` --once: ${onceReadiness.state === 'ready' ? col.green('ready') : col.dim(onceReadiness.state)} (${onceReadiness.reason})`);
268
- }
269
- if (residentReadiness) {
270
- console.log(` resident: ${residentReadiness.state === 'ready' ? col.green('ready') : col.dim(residentReadiness.state)} (${residentReadiness.reason})`);
271
- }
272
- if (bindingDiagnosis) {
273
- console.log('');
274
- if (bindingDiagnosis.ok || !bindingDiagnosis.mismatches) {
275
- console.log(col.dim(` binding diagnosis: ${bindingDiagnosis.reason}`));
276
- }
277
- else {
278
- console.log(col.yellow(' binding mismatch — field(s) that differ between the signed permit and right now:'));
279
- for (const [field, { signed, current }] of Object.entries(bindingDiagnosis.mismatches)) {
280
- console.log(` ${col.bold(field)}:`);
281
- console.log(` signed: ${formatBindingValue(signed)}`);
282
- console.log(` current: ${formatBindingValue(current)}`);
283
- }
284
- }
285
- }
286
- console.log('');
287
- return 0;
288
- }
289
- function formatBindingValue(value) {
290
- if (value === null || typeof value !== 'object')
291
- return JSON.stringify(value);
292
- if ('sha256' in value) {
293
- const binding = value;
294
- return `${binding.path} sha256:${binding.sha256}`;
295
- }
296
- return JSON.stringify(value);
297
- }
298
- // ---------------------------------------------------------------------------
299
- // Subcommand: grant
300
- // ---------------------------------------------------------------------------
301
- async function cmdActivationGrant(args) {
302
- const jsonMode = args.includes('--json');
303
- const yes = args.includes('--yes');
304
- const ttlIndex = args.indexOf('--ttl');
305
- const ttlText = ttlIndex !== -1 ? args[ttlIndex + 1] : undefined;
306
- const flagsConsumed = new Set(['--json', '--yes', '--ttl', ttlText].filter((v) => v !== undefined));
307
- const scopeArgs = args.filter((a, i) => !flagsConsumed.has(a) && args[i - 1] !== '--ttl');
308
- const unknownFlag = args.find((a) => a.startsWith('--') && !['--json', '--yes', '--ttl'].includes(a));
309
- if (unknownFlag)
310
- return printActivationUsageError(`Unknown flag: ${unknownFlag}`, 'grant');
311
- if (ttlIndex !== -1 && ttlText === undefined)
312
- return printActivationUsageError('--ttl requires a value', 'grant');
313
- if (scopeArgs.length === 0) {
314
- return printActivationUsageError('At least one scope is required.', 'grant');
315
- }
316
- const invalidScope = scopeArgs.find((s) => !DAEMON_ACTIVATION_SCOPE_KEYS.includes(s));
317
- if (invalidScope) {
318
- return printActivationUsageError(`Unknown scope: ${invalidScope} (expected one of: ${DAEMON_ACTIVATION_SCOPE_KEYS.join(', ')})`, 'grant');
319
- }
320
- const scopeKeys = [...new Set(scopeArgs)];
321
- const scope = { ...EMPTY_DAEMON_ACTIVATION_SCOPE };
322
- for (const key of scopeKeys)
323
- scope[key] = true;
324
- const isOneShot = scopeKeys.some((key) => ONE_SHOT_SCOPE_KEYS.has(key));
325
- let ttlMs = DEFAULT_STANDING_GRANT_VALIDITY_MS;
326
- if (ttlText !== undefined) {
327
- if (isOneShot) {
328
- return printActivationUsageError('--ttl only applies to standing grants (not once/resident, which use a fixed 2-minute window).', 'grant');
329
- }
330
- const parsed = parseDurationMs(ttlText);
331
- if (parsed === null || parsed > MAX_STANDING_GRANT_VALIDITY_MS) {
332
- return printActivationUsageError(`Invalid --ttl (expected <n>s|m|h|d, max ${MAX_STANDING_GRANT_VALIDITY_MS / 86_400_000}d): ${ttlText}`, 'grant');
333
- }
334
- ttlMs = parsed;
335
- }
336
- const col = makeColors(process.stdout.isTTY === true);
337
- if (!jsonMode) {
338
- console.log('');
339
- console.log(col.bold(' ashlr activation grant') + col.dim(` — scope=[${scopeKeys.join(', ')}]`));
340
- console.log(col.dim(isOneShot
341
- ? ' Mints a SINGLE-USE, signed permit for `ashlr daemon start`. Consumed and\n'
342
- + ' deleted the moment the daemon starts; expires in 2 minutes if unused.'
343
- : ` Mints a standing, signed grant valid for ${Math.round(ttlMs / 3_600_000)}h, checked on every\n`
344
- + ' use until it expires or you run `ashlr activation revoke`.'));
345
- console.log('');
346
- }
347
- if (refuseUnattended(yes, jsonMode, 'grant'))
348
- return 2;
349
- if (isOneShot) {
350
- const loadConfig = await importConfig();
351
- if (!loadConfig) {
352
- console.error(col.red('error: ') + 'activation grant requires src/core/config.ts.');
353
- return 1;
354
- }
355
- let cfg;
356
- try {
357
- cfg = loadConfig();
358
- }
359
- catch (e) {
360
- console.error(col.red('error: ') + 'Failed to load config: ' + (e instanceof Error ? e.message : String(e)));
361
- return 1;
362
- }
363
- const result = daemonActivationMintOneShotPermit({ cfg, scope });
364
- if (!result.ok) {
365
- if (jsonMode)
366
- console.log(JSON.stringify({ ok: false, error: result.reason }));
367
- else
368
- console.error(col.red('error: ') + `activation grant refused: ${result.reason}`);
369
- return 1;
370
- }
371
- if (jsonMode) {
372
- console.log(JSON.stringify({ kind: 'one-shot-permit', ...result }));
373
- }
374
- else {
375
- console.log(col.green('ok: ') + `one-shot permit minted (permitId=${result.permitId}, expires ${result.expiresAt}).`);
376
- console.log(col.dim(` ${result.permitPath}`));
377
- console.log(col.dim(' Run `ashlr daemon start' + (scope.once ? ' --once' : '') + '` now — the permit is single-use.'));
378
- }
379
- return 0;
380
- }
381
- const result = daemonActivationMintStandingGrant({ scope, ttlMs });
382
- if (!result.ok) {
383
- if (jsonMode)
384
- console.log(JSON.stringify({ ok: false, error: result.reason }));
385
- else
386
- console.error(col.red('error: ') + `activation grant refused: ${result.reason}`);
387
- return 1;
388
- }
389
- if (jsonMode) {
390
- console.log(JSON.stringify({ ok: true, kind: 'standing-grant', record: result.record }));
391
- }
392
- else {
393
- console.log(col.green('ok: ') + `standing grant minted (grantId=${result.record.grantId}, expires ${result.record.expiresAt}).`);
394
- console.log(col.dim(` scope=[${scopeKeys.join(', ')}]`));
395
- }
396
- return 0;
397
- }
398
- // ---------------------------------------------------------------------------
399
- // Subcommand: revoke
400
- // ---------------------------------------------------------------------------
401
- async function cmdActivationRevoke(args) {
402
- const jsonMode = args.includes('--json');
403
- const yes = args.includes('--yes');
404
- const rootIndex = args.indexOf('--root');
405
- const grantIndex = args.indexOf('--grant');
406
- const rootId = rootIndex !== -1 ? args[rootIndex + 1] : undefined;
407
- const grantId = grantIndex !== -1 ? args[grantIndex + 1] : undefined;
408
- const known = new Set(['--json', '--yes', '--root', '--grant', rootId, grantId].filter((v) => v !== undefined));
409
- const unknown = args.find((a, i) => !known.has(a) && args[i - 1] !== '--root' && args[i - 1] !== '--grant');
410
- if (unknown)
411
- return printActivationUsageError(`Unknown flag: ${unknown}`, 'revoke');
412
- if ((rootIndex === -1) === (grantIndex === -1)) {
413
- return printActivationUsageError('Specify exactly one of --root <keyId> or --grant <grantId>.', 'revoke');
414
- }
415
- if (rootIndex !== -1 && rootId === undefined)
416
- return printActivationUsageError('--root requires a value', 'revoke');
417
- if (grantIndex !== -1 && grantId === undefined)
418
- return printActivationUsageError('--grant requires a value', 'revoke');
419
- const col = makeColors(process.stdout.isTTY === true);
420
- if (!jsonMode) {
421
- console.log('');
422
- console.log(col.bold(' ashlr activation revoke'));
423
- console.log(col.dim(rootId
424
- ? ` Immediately invalidates trust root ${rootId}. Every permit and standing\n`
425
- + ' grant signed by it stops verifying from this instant on.'
426
- : ` Immediately invalidates standing grant ${grantId}. Every guard that\n`
427
- + ' consults it denies from this instant on.'));
428
- console.log('');
429
- }
430
- if (refuseUnattended(yes, jsonMode, 'revoke'))
431
- return 2;
432
- const result = rootId !== undefined
433
- ? daemonActivationRevokeTrustRoot(rootId)
434
- : daemonActivationRevokeGrant(grantId);
435
- if (!result.ok) {
436
- if (jsonMode)
437
- console.log(JSON.stringify({ ok: false, error: result.reason }));
438
- else
439
- console.error(col.red('error: ') + `activation revoke refused: ${result.reason}`);
440
- return 1;
441
- }
442
- if (jsonMode)
443
- console.log(JSON.stringify({ ok: true }));
444
- else
445
- console.log(col.green('ok: ') + 'revoked.');
446
- return 0;
447
- }
448
- // ---------------------------------------------------------------------------
449
- // Entry point
450
- // ---------------------------------------------------------------------------
451
- /**
452
- * `ashlr activation [init|status|grant|revoke] [flags]`
453
- *
454
- * Returns a process exit code (0 = success, non-zero = error/usage).
455
- */
456
- export async function cmdActivation(args) {
457
- const requestedSub = args[0];
458
- if (requestedSub !== undefined && isHelpFlag(requestedSub)) {
459
- printActivationUsage();
460
- return 0;
461
- }
462
- if (requestedSub !== undefined && !isActivationSubcommand(requestedSub)) {
463
- const message = requestedSub.startsWith('-')
464
- ? `Unknown flag: ${requestedSub}`
465
- : `Unknown activation subcommand: ${requestedSub}`;
466
- return printActivationUsageError(message);
467
- }
468
- const sub = requestedSub ?? 'status';
469
- const rest = args.slice(1);
470
- if (rest.some(isHelpFlag)) {
471
- printActivationUsage(sub);
472
- return 0;
473
- }
474
- switch (sub) {
475
- case 'init':
476
- return cmdActivationInit(rest);
477
- case 'status':
478
- return cmdActivationStatus(rest);
479
- case 'grant':
480
- return cmdActivationGrant(rest);
481
- case 'revoke':
482
- return cmdActivationRevoke(rest);
483
- }
484
- }
485
- //# sourceMappingURL=activation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"activation.js","sourceRoot":"","sources":["../../src/cli/activation.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import type { AshlrConfig, Backlog, Sandbox, SandboxCleanupResult, WorkItem } from '../types.js';
2
- import { type RepoExecutionProfile } from '../run/repo-profile.js';
3
- import { type VerifyCommand, type VerifyCommandResult } from '../run/verify-commands.js';
4
- import { type RepairHandoffReadResult } from './repair-handoff-journal.js';
5
- export type GeneratedRepairResolutionStatus = 'ineligible' | 'unavailable' | 'parent-present' | 'verification-failed' | 'candidate-no-change';
6
- export type GeneratedRepairResolutionReason = 'invalid-lineage' | 'parent-source-mismatch' | 'parent-objective-mismatch' | 'journal-unavailable' | 'backlog-unavailable' | 'verification-contract-missing' | 'verification-contract-invalid' | 'required-merge-commands-missing' | 'invalid-command-timeout' | 'sandbox-unavailable' | 'verification-tool-unavailable' | 'verification-infra-unavailable' | 'cleanup-incomplete' | 'parent-still-actionable' | 'required-command-failed' | 'all-required-commands-passed';
7
- /** Fixed, text-free observation returned by the shadow evaluator. */
8
- export interface GeneratedRepairResolutionResult {
9
- status: GeneratedRepairResolutionStatus;
10
- reason: GeneratedRepairResolutionReason;
11
- requiredCommandCount: number;
12
- completedCommandCount: number;
13
- passedCommandCount: number;
14
- parentObjectiveHash?: string;
15
- verifierContractHash?: string;
16
- baseHead?: string;
17
- }
18
- export interface GeneratedRepairResolutionDependencies {
19
- readRepairHandoffs: () => RepairHandoffReadResult;
20
- buildBacklog: (opts: {
21
- repos: string[];
22
- persist: false;
23
- cfg: Pick<AshlrConfig, 'foundry'>;
24
- }) => Promise<Backlog>;
25
- detectRepoExecutionProfile: (repo: string) => RepoExecutionProfile;
26
- createSandbox: (repo: string) => Sandbox;
27
- runVerifyCommand: (command: VerifyCommand, workspaceRoot: string, cfg: AshlrConfig, opts: {
28
- timeoutMs: number;
29
- }) => Promise<VerifyCommandResult>;
30
- removeSandbox: (sandbox: Sandbox) => SandboxCleanupResult;
31
- }
32
- /**
33
- * Observes whether a journal-authorized diagnostic reslice still has work to do.
34
- * It never records lifecycle state or mutates queues, proposals, routing, or merge state.
35
- */
36
- export declare function evaluateGeneratedRepairResolution(item: WorkItem, cfg: AshlrConfig, injected?: Partial<GeneratedRepairResolutionDependencies>): Promise<GeneratedRepairResolutionResult>;