opensip-cli 0.1.6 → 0.1.7

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 (213) hide show
  1. package/dist/bootstrap/admit-tool-package.d.ts.map +1 -1
  2. package/dist/bootstrap/admit-tool-package.js +8 -3
  3. package/dist/bootstrap/admit-tool-package.js.map +1 -1
  4. package/dist/bootstrap/bind-tool-context.d.ts.map +1 -1
  5. package/dist/bootstrap/bind-tool-context.js +5 -3
  6. package/dist/bootstrap/bind-tool-context.js.map +1 -1
  7. package/dist/bootstrap/build-command-registration-input.d.ts +7 -0
  8. package/dist/bootstrap/build-command-registration-input.d.ts.map +1 -1
  9. package/dist/bootstrap/build-command-registration-input.js +11 -4
  10. package/dist/bootstrap/build-command-registration-input.js.map +1 -1
  11. package/dist/bootstrap/build-per-run-scope.d.ts +12 -0
  12. package/dist/bootstrap/build-per-run-scope.d.ts.map +1 -1
  13. package/dist/bootstrap/build-per-run-scope.js +84 -9
  14. package/dist/bootstrap/build-per-run-scope.js.map +1 -1
  15. package/dist/bootstrap/bundled-manifest.d.ts +5 -0
  16. package/dist/bootstrap/bundled-manifest.d.ts.map +1 -0
  17. package/dist/bootstrap/bundled-manifest.js +13 -0
  18. package/dist/bootstrap/bundled-manifest.js.map +1 -0
  19. package/dist/bootstrap/bundled-tools.manifest.json +19 -1
  20. package/dist/bootstrap/config-and-capabilities.d.ts.map +1 -1
  21. package/dist/bootstrap/config-and-capabilities.js +5 -4
  22. package/dist/bootstrap/config-and-capabilities.js.map +1 -1
  23. package/dist/bootstrap/constants.d.ts +3 -0
  24. package/dist/bootstrap/constants.d.ts.map +1 -0
  25. package/dist/bootstrap/constants.js +3 -0
  26. package/dist/bootstrap/constants.js.map +1 -0
  27. package/dist/bootstrap/decorate-tool-primary.d.ts +50 -0
  28. package/dist/bootstrap/decorate-tool-primary.d.ts.map +1 -0
  29. package/dist/bootstrap/decorate-tool-primary.js +111 -0
  30. package/dist/bootstrap/decorate-tool-primary.js.map +1 -0
  31. package/dist/bootstrap/execute-post-bailout-bootstrap.d.ts.map +1 -1
  32. package/dist/bootstrap/execute-post-bailout-bootstrap.js +10 -0
  33. package/dist/bootstrap/execute-post-bailout-bootstrap.js.map +1 -1
  34. package/dist/bootstrap/index.d.ts +1 -1
  35. package/dist/bootstrap/index.d.ts.map +1 -1
  36. package/dist/bootstrap/index.js +1 -4
  37. package/dist/bootstrap/index.js.map +1 -1
  38. package/dist/bootstrap/io-plane.d.ts +47 -0
  39. package/dist/bootstrap/io-plane.d.ts.map +1 -0
  40. package/dist/bootstrap/io-plane.js +73 -0
  41. package/dist/bootstrap/io-plane.js.map +1 -0
  42. package/dist/bootstrap/load-tool-capabilities.d.ts.map +1 -1
  43. package/dist/bootstrap/load-tool-capabilities.js +18 -2
  44. package/dist/bootstrap/load-tool-capabilities.js.map +1 -1
  45. package/dist/bootstrap/owning-tool-init.d.ts.map +1 -1
  46. package/dist/bootstrap/owning-tool-init.js +7 -4
  47. package/dist/bootstrap/owning-tool-init.js.map +1 -1
  48. package/dist/bootstrap/phase-map.d.ts +20 -0
  49. package/dist/bootstrap/phase-map.d.ts.map +1 -0
  50. package/dist/bootstrap/phase-map.js +108 -0
  51. package/dist/bootstrap/phase-map.js.map +1 -0
  52. package/dist/bootstrap/pre-action-hook.d.ts.map +1 -1
  53. package/dist/bootstrap/pre-action-hook.js +19 -2
  54. package/dist/bootstrap/pre-action-hook.js.map +1 -1
  55. package/dist/bootstrap/register-tools-discovery.d.ts +38 -39
  56. package/dist/bootstrap/register-tools-discovery.d.ts.map +1 -1
  57. package/dist/bootstrap/register-tools-discovery.js +132 -83
  58. package/dist/bootstrap/register-tools-discovery.js.map +1 -1
  59. package/dist/bootstrap/register-tools-mount.d.ts +18 -1
  60. package/dist/bootstrap/register-tools-mount.d.ts.map +1 -1
  61. package/dist/bootstrap/register-tools-mount.js +118 -18
  62. package/dist/bootstrap/register-tools-mount.js.map +1 -1
  63. package/dist/bootstrap/register-tools.d.ts +58 -14
  64. package/dist/bootstrap/register-tools.d.ts.map +1 -1
  65. package/dist/bootstrap/register-tools.js +185 -14
  66. package/dist/bootstrap/register-tools.js.map +1 -1
  67. package/dist/bootstrap/root-version.d.ts +26 -0
  68. package/dist/bootstrap/root-version.d.ts.map +1 -0
  69. package/dist/bootstrap/root-version.js +36 -0
  70. package/dist/bootstrap/root-version.js.map +1 -0
  71. package/dist/bootstrap/scope-access.d.ts +11 -0
  72. package/dist/bootstrap/scope-access.d.ts.map +1 -1
  73. package/dist/bootstrap/scope-access.js +26 -0
  74. package/dist/bootstrap/scope-access.js.map +1 -1
  75. package/dist/bootstrap/tool-lifecycle.d.ts +0 -22
  76. package/dist/bootstrap/tool-lifecycle.d.ts.map +1 -1
  77. package/dist/bootstrap/tool-lifecycle.js +0 -23
  78. package/dist/bootstrap/tool-lifecycle.js.map +1 -1
  79. package/dist/bootstrap/validate-tool.d.ts +10 -4
  80. package/dist/bootstrap/validate-tool.d.ts.map +1 -1
  81. package/dist/bootstrap/validate-tool.js +76 -22
  82. package/dist/bootstrap/validate-tool.js.map +1 -1
  83. package/dist/cli-context.d.ts +2 -2
  84. package/dist/cli-context.d.ts.map +1 -1
  85. package/dist/cli-context.js +20 -35
  86. package/dist/cli-context.js.map +1 -1
  87. package/dist/commands/agent-catalog.d.ts +29 -0
  88. package/dist/commands/agent-catalog.d.ts.map +1 -1
  89. package/dist/commands/agent-catalog.js +77 -36
  90. package/dist/commands/agent-catalog.js.map +1 -1
  91. package/dist/commands/clear.d.ts.map +1 -1
  92. package/dist/commands/clear.js +0 -1
  93. package/dist/commands/clear.js.map +1 -1
  94. package/dist/commands/command-scope-index.d.ts +15 -1
  95. package/dist/commands/command-scope-index.d.ts.map +1 -1
  96. package/dist/commands/command-scope-index.js +10 -1
  97. package/dist/commands/command-scope-index.js.map +1 -1
  98. package/dist/commands/completion.d.ts +67 -6
  99. package/dist/commands/completion.d.ts.map +1 -1
  100. package/dist/commands/completion.js +84 -12
  101. package/dist/commands/completion.js.map +1 -1
  102. package/dist/commands/configure.d.ts.map +1 -1
  103. package/dist/commands/configure.js +0 -1
  104. package/dist/commands/configure.js.map +1 -1
  105. package/dist/commands/host-command-specs.d.ts +16 -9
  106. package/dist/commands/host-command-specs.d.ts.map +1 -1
  107. package/dist/commands/host-command-specs.js +45 -19
  108. package/dist/commands/host-command-specs.js.map +1 -1
  109. package/dist/commands/host-config-flag.d.ts +21 -0
  110. package/dist/commands/host-config-flag.d.ts.map +1 -0
  111. package/dist/commands/host-config-flag.js +21 -0
  112. package/dist/commands/host-config-flag.js.map +1 -0
  113. package/dist/commands/host-subcommand-groups.d.ts +46 -5
  114. package/dist/commands/host-subcommand-groups.d.ts.map +1 -1
  115. package/dist/commands/host-subcommand-groups.js +97 -65
  116. package/dist/commands/host-subcommand-groups.js.map +1 -1
  117. package/dist/commands/index.d.ts +1 -1
  118. package/dist/commands/index.js +1 -1
  119. package/dist/commands/internal-command-visibility.d.ts +42 -0
  120. package/dist/commands/internal-command-visibility.d.ts.map +1 -0
  121. package/dist/commands/internal-command-visibility.js +54 -0
  122. package/dist/commands/internal-command-visibility.js.map +1 -0
  123. package/dist/commands/mount-command-action.d.ts +5 -0
  124. package/dist/commands/mount-command-action.d.ts.map +1 -1
  125. package/dist/commands/mount-command-action.js +26 -2
  126. package/dist/commands/mount-command-action.js.map +1 -1
  127. package/dist/commands/mount-command-spec.d.ts +9 -2
  128. package/dist/commands/mount-command-spec.d.ts.map +1 -1
  129. package/dist/commands/mount-command-spec.js +9 -1
  130. package/dist/commands/mount-command-spec.js.map +1 -1
  131. package/dist/commands/plugin/domain-resolution.d.ts +12 -13
  132. package/dist/commands/plugin/domain-resolution.d.ts.map +1 -1
  133. package/dist/commands/plugin/domain-resolution.js +12 -58
  134. package/dist/commands/plugin/domain-resolution.js.map +1 -1
  135. package/dist/commands/plugin/host-dir.d.ts +0 -1
  136. package/dist/commands/plugin/host-dir.d.ts.map +1 -1
  137. package/dist/commands/plugin/host-dir.js +1 -1
  138. package/dist/commands/plugin/host-dir.js.map +1 -1
  139. package/dist/commands/plugin.d.ts +20 -14
  140. package/dist/commands/plugin.d.ts.map +1 -1
  141. package/dist/commands/plugin.js +39 -47
  142. package/dist/commands/plugin.js.map +1 -1
  143. package/dist/commands/render-outcome.d.ts.map +1 -1
  144. package/dist/commands/render-outcome.js.map +1 -1
  145. package/dist/commands/shared.d.ts +9 -0
  146. package/dist/commands/shared.d.ts.map +1 -1
  147. package/dist/commands/tools/create.d.ts +11 -0
  148. package/dist/commands/tools/create.d.ts.map +1 -0
  149. package/dist/commands/tools/create.js +84 -0
  150. package/dist/commands/tools/create.js.map +1 -0
  151. package/dist/commands/tools/index.d.ts.map +1 -1
  152. package/dist/commands/tools/index.js +31 -0
  153. package/dist/commands/tools/index.js.map +1 -1
  154. package/dist/commands/tools/runtime-probe-entry.d.ts.map +1 -1
  155. package/dist/commands/tools/runtime-probe-entry.js +4 -2
  156. package/dist/commands/tools/runtime-probe-entry.js.map +1 -1
  157. package/dist/commands/tools/validate.d.ts.map +1 -1
  158. package/dist/commands/tools/validate.js +12 -5
  159. package/dist/commands/tools/validate.js.map +1 -1
  160. package/dist/commands/uninstall.d.ts.map +1 -1
  161. package/dist/commands/uninstall.js +0 -1
  162. package/dist/commands/uninstall.js.map +1 -1
  163. package/dist/env/host-env-specs.d.ts +18 -0
  164. package/dist/env/host-env-specs.d.ts.map +1 -1
  165. package/dist/env/host-env-specs.js +36 -2
  166. package/dist/env/host-env-specs.js.map +1 -1
  167. package/dist/index.d.ts +1 -1
  168. package/dist/index.d.ts.map +1 -1
  169. package/dist/index.js +24 -6
  170. package/dist/index.js.map +1 -1
  171. package/dist/report-compose.d.ts.map +1 -1
  172. package/dist/report-compose.js +2 -2
  173. package/dist/report-compose.js.map +1 -1
  174. package/dist/session-replay-registry.d.ts +1 -1
  175. package/dist/session-replay-registry.d.ts.map +1 -1
  176. package/dist/session-replay-registry.js +3 -1
  177. package/dist/session-replay-registry.js.map +1 -1
  178. package/dist/ui/result-to-view.d.ts +27 -7
  179. package/dist/ui/result-to-view.d.ts.map +1 -1
  180. package/dist/ui/result-to-view.js +68 -75
  181. package/dist/ui/result-to-view.js.map +1 -1
  182. package/dist/ui/views/misc-views.d.ts.map +1 -1
  183. package/dist/ui/views/misc-views.js +3 -1
  184. package/dist/ui/views/misc-views.js.map +1 -1
  185. package/dist/ui/views/tools-views.d.ts +2 -1
  186. package/dist/ui/views/tools-views.d.ts.map +1 -1
  187. package/dist/ui/views/tools-views.js +21 -0
  188. package/dist/ui/views/tools-views.js.map +1 -1
  189. package/package.json +32 -32
  190. package/dist/bootstrap/authored-tool-admission.d.ts +0 -23
  191. package/dist/bootstrap/authored-tool-admission.d.ts.map +0 -1
  192. package/dist/bootstrap/authored-tool-admission.js +0 -54
  193. package/dist/bootstrap/authored-tool-admission.js.map +0 -1
  194. package/dist/bootstrap/egress-plane.d.ts +0 -22
  195. package/dist/bootstrap/egress-plane.d.ts.map +0 -1
  196. package/dist/bootstrap/egress-plane.js +0 -37
  197. package/dist/bootstrap/egress-plane.js.map +0 -1
  198. package/dist/bootstrap/installed-tool-admission.d.ts +0 -20
  199. package/dist/bootstrap/installed-tool-admission.d.ts.map +0 -1
  200. package/dist/bootstrap/installed-tool-admission.js +0 -60
  201. package/dist/bootstrap/installed-tool-admission.js.map +0 -1
  202. package/dist/bootstrap/live-plane.d.ts +0 -51
  203. package/dist/bootstrap/live-plane.d.ts.map +0 -1
  204. package/dist/bootstrap/live-plane.js +0 -72
  205. package/dist/bootstrap/live-plane.js.map +0 -1
  206. package/dist/bootstrap/register-tools-bundled.d.ts +0 -28
  207. package/dist/bootstrap/register-tools-bundled.d.ts.map +0 -1
  208. package/dist/bootstrap/register-tools-bundled.js +0 -107
  209. package/dist/bootstrap/register-tools-bundled.js.map +0 -1
  210. package/dist/bootstrap/register-tools-shared.d.ts +0 -40
  211. package/dist/bootstrap/register-tools-shared.d.ts.map +0 -1
  212. package/dist/bootstrap/register-tools-shared.js +0 -98
  213. package/dist/bootstrap/register-tools-shared.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,sVAAsV;AACtV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GAGrB,MAAM,wBAAwB,CAAC;AAsChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;AAE1D,KAAK,UAAU,OAAO,CACpB,MAA6C,EAC7C,OAAe;IAEf,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,CAAC;AAC5C,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,4DAA4D;AAC5D,SAAS,iBAAiB,CAAC,IAAsB;IAC/C,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnE,qEAAqE;IACrE,kEAAkE;IAClE,oEAAoE;IACpE,OAAO,IAAI,CAAC,cAAc,EAAE,WAAW,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AACvE,CAAC;AAED,mEAAmE;AACnE,SAAS,gBAAgB,CACvB,OAA0B;IAE1B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,IAKpB;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACxE,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;QACvC,SAAS;QACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,SAAS,sBAAsB,CAC7B,IAAmB,EACnB,KAAc,EACd,UAA6B;IAE7B,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK,EAAE,CAAC;QAC7B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;QAC1D,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;KACzD,CAAC;AACJ,CAAC;AAWD,sEAAsE;AACtE,SAAS,mBAAmB,CAAC,KAA0B,EAAE,KAAoB;IAC3E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC1D,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAyB,EAAE;IAChE,MAAM,IAAI,GAAkB,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,iBAAiB,CAAC;IACnD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IAElC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;QACtD,MAAM,IAAI,GACR,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,uDAAuD,KAAK,OAAO;YACrE,CAAC,CAAC,yBAAyB,KAAK,sBAAsB,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,OAAO,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAE7E,qEAAqE;IACrE,sEAAsE;IACtE,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjD,OAAO,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,mBAAmB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAExE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;QAC5C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAElD,OAAO,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,QAA2B,EAC3B,IAAmB,EACnB,KAAc,EACd,UAAkB;IAElB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK;QAAE,OAAO;IACzC,uEAAuE;IACvE,iEAAiE;IACjE,MAAM,KAAK,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -21,6 +21,24 @@
21
21
  */
22
22
  import { EnvRegistry, type EnvVarSpec } from '@opensip-cli/core';
23
23
  /** CLI-layer infra variables: OpenTelemetry + the update-notifier opt-outs. */
24
+ export declare const CLI_INFRA_ENV_SPECS: readonly EnvVarSpec<unknown>[];
25
+ /**
26
+ * The full CLI env surface = infra vars + the ten subprocess-correlation vars.
27
+ *
28
+ * The canonical names + docs for the ten `OPENSIP_*` correlation vars
29
+ * (`OPENSIP_RUN_ID`, `OPENSIP_TOOL`, `OPENSIP_PARENT_COMMAND`, `OPENSIP_TRACE_ID`,
30
+ * `OPENSIP_SHARD_ID`, `OPENSIP_WORKER_KIND`, `OPENSIP_REPO`, `OPENSIP_REPO_ID`,
31
+ * `OPENSIP_TENANT_ID`, `OPENSIP_CHILD_INVOCATION_ID`) are OWNED by
32
+ * `@opensip-cli/core`'s `run-correlation.ts` (`CORRELATION_ENV_SPECS`) — the single
33
+ * source of truth that `correlationFromEnv()` also reads through. The host SURFACES
34
+ * them here (for the env-surface reference doc + governance) by SPREADING the core
35
+ * table; it never re-declares them. The `...CORRELATION_ENV_SPECS` spread — not this
36
+ * comment — is what keeps the codec and the governed env surface in lockstep.
37
+ *
38
+ * `OPENSIP_API_KEY` is deliberately NOT part of this set — it lives in
39
+ * `CONFIG_ENV_SPECS` (`global-config.ts`) and must never be conflated with
40
+ * correlation.
41
+ */
24
42
  export declare const CLI_ENV_SPECS: readonly EnvVarSpec<unknown>[];
25
43
  /** The composed CLI-layer registry. Telemetry + update-notifier read through it. */
26
44
  export declare const hostEnv: EnvRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"host-env-specs.d.ts","sourceRoot":"","sources":["../../src/env/host-env-specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEjE,+EAA+E;AAC/E,eAAO,MAAM,aAAa,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAwDvD,CAAC;AAEF,oFAAoF;AAEpF,eAAO,MAAM,OAAO,aAAiC,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAKhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAoB7D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,IAAI,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,CAEhE"}
1
+ {"version":3,"file":"host-env-specs.d.ts","sourceRoot":"","sources":["../../src/env/host-env-specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAyB,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAExF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAsE7D,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAGvD,CAAC;AAEF,oFAAoF;AAEpF,eAAO,MAAM,OAAO,aAAiC,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAKhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAoB7D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,IAAI,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,CAEhE"}
@@ -20,9 +20,9 @@
20
20
  * `env-via-registry` guardrail.
21
21
  */
22
22
  import { CONFIG_ENV_SPECS } from '@opensip-cli/config';
23
- import { EnvRegistry } from '@opensip-cli/core';
23
+ import { CORRELATION_ENV_SPECS, EnvRegistry } from '@opensip-cli/core';
24
24
  /** CLI-layer infra variables: OpenTelemetry + the update-notifier opt-outs. */
25
- export const CLI_ENV_SPECS = [
25
+ export const CLI_INFRA_ENV_SPECS = [
26
26
  {
27
27
  canonical: 'OTEL_EXPORTER_OTLP_ENDPOINT',
28
28
  docs: 'OTLP/HTTP endpoint. When set, the CLI enables OpenTelemetry tracing; unset is a hard no-op.',
@@ -47,6 +47,19 @@ export const CLI_ENV_SPECS = [
47
47
  default: false,
48
48
  docs: 'npm-convention update-notifier opt-out; honoured as an equivalent of OPENSIP_NO_UPDATE.',
49
49
  },
50
+ {
51
+ canonical: 'OPENSIP_CLI_SHOW_INTERNAL',
52
+ // Strict `=1` gate (tool-command-surface-taxonomy Tier-3 reveal): only the
53
+ // exact value `'1'` reveals internal commands. The coerce returns a boolean
54
+ // so `hostEnv.get<boolean>('OPENSIP_CLI_SHOW_INTERNAL')` is the single
55
+ // predicate help + completion share (see showInternalCommands).
56
+ coerce: (raw) => raw === '1',
57
+ default: false,
58
+ docs: 'Set to 1 to reveal Tier-3 internal commands (*-run-worker, *-shard-worker, ' +
59
+ 'graph-equivalence-check) in `--help` and shell completion. They stay directly ' +
60
+ 'invocable regardless of this flag; it only un-hides them from the public surface. ' +
61
+ 'The agent-catalog (a curated machine surface) is intentionally NOT affected.',
62
+ },
50
63
  {
51
64
  canonical: 'OPENSIP_CLI_SKIP_BUNDLED',
52
65
  coerce: (raw) => raw
@@ -75,6 +88,27 @@ export const CLI_ENV_SPECS = [
75
88
  '(~/.opensip-cli/tools/) are trusted-by-default and ignore this list.',
76
89
  },
77
90
  ];
91
+ /**
92
+ * The full CLI env surface = infra vars + the ten subprocess-correlation vars.
93
+ *
94
+ * The canonical names + docs for the ten `OPENSIP_*` correlation vars
95
+ * (`OPENSIP_RUN_ID`, `OPENSIP_TOOL`, `OPENSIP_PARENT_COMMAND`, `OPENSIP_TRACE_ID`,
96
+ * `OPENSIP_SHARD_ID`, `OPENSIP_WORKER_KIND`, `OPENSIP_REPO`, `OPENSIP_REPO_ID`,
97
+ * `OPENSIP_TENANT_ID`, `OPENSIP_CHILD_INVOCATION_ID`) are OWNED by
98
+ * `@opensip-cli/core`'s `run-correlation.ts` (`CORRELATION_ENV_SPECS`) — the single
99
+ * source of truth that `correlationFromEnv()` also reads through. The host SURFACES
100
+ * them here (for the env-surface reference doc + governance) by SPREADING the core
101
+ * table; it never re-declares them. The `...CORRELATION_ENV_SPECS` spread — not this
102
+ * comment — is what keeps the codec and the governed env surface in lockstep.
103
+ *
104
+ * `OPENSIP_API_KEY` is deliberately NOT part of this set — it lives in
105
+ * `CONFIG_ENV_SPECS` (`global-config.ts`) and must never be conflated with
106
+ * correlation.
107
+ */
108
+ export const CLI_ENV_SPECS = [
109
+ ...CLI_INFRA_ENV_SPECS,
110
+ ...CORRELATION_ENV_SPECS,
111
+ ];
78
112
  /** The composed CLI-layer registry. Telemetry + update-notifier read through it. */
79
113
  // @allow-module-singleton EnvRegistry is IMMUTABLE — a constant spec table + on-demand process.env reads; it holds no per-run mutable state, so it is not the scope-isolation hazard no-module-singleton targets (spec §5.12 resolved decision: the env definition table is a permitted module constant).
80
114
  export const hostEnv = new EnvRegistry(CLI_ENV_SPECS);
@@ -1 +1 @@
1
- {"version":3,"file":"host-env-specs.js","sourceRoot":"","sources":["../../src/env/host-env-specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-env-specs.js","sourceRoot":"","sources":["../../src/env/host-env-specs.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * The canonical ordered description of the full tool + host lifecycle lives in
6
6
  * `bootstrap/tool-lifecycle.ts` (the 10 named steps, two phases: STARTUP in
7
- * bootstrapCli + mountToolCommands, PER-RUN in the preAction hook + builders).
7
+ * bootstrapCli + mountAllToolCommands, PER-RUN in the preAction hook + builders).
8
8
  * This file wires the major seams (fresh registries per invocation, bootstrap,
9
9
  * pre-action hook install, ToolCliContext construction, command mounting,
10
10
  * host command registration, telemetry, top-level error paths) and then
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA;;;;;;;;;;;;;;;;;GAiBG;AA+BH,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA;;;;;;;;;;;;;;;;;GAiBG;AAmCH,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * The canonical ordered description of the full tool + host lifecycle lives in
7
7
  * `bootstrap/tool-lifecycle.ts` (the 10 named steps, two phases: STARTUP in
8
- * bootstrapCli + mountToolCommands, PER-RUN in the preAction hook + builders).
8
+ * bootstrapCli + mountAllToolCommands, PER-RUN in the preAction hook + builders).
9
9
  * This file wires the major seams (fresh registries per invocation, bootstrap,
10
10
  * pre-action hook install, ToolCliContext construction, command mounting,
11
11
  * host command registration, telemetry, top-level error paths) and then
@@ -22,11 +22,11 @@ import { dirname } from 'node:path';
22
22
  import { fileURLToPath } from 'node:url';
23
23
  import { LanguageRegistry, ToolRegistry, logger, readPackageVersion, getMeter, } from '@opensip-cli/core';
24
24
  import { Command } from 'commander';
25
- import { bootstrapCli, installPreActionHook, maybeOpenReport, mountToolCommands, renderResult, buildCommandRegistrationInput, } from './bootstrap/index.js';
25
+ import { bootstrapCli, installPreActionHook, isRootVersionRequest, maybeOpenReport, mountAllToolCommands, renderResult, buildCommandRegistrationInput, } from './bootstrap/index.js';
26
26
  import { buildToolCliContext, createLiveViewRegistry, getOrOpenDatastore } from './cli-context.js';
27
27
  import { buildCommandScopeIndex } from './commands/command-scope-index.js';
28
28
  import { buildTopLevelHostSpecs } from './commands/host-command-specs.js';
29
- import { buildHostSubcommandGroups } from './commands/host-subcommand-groups.js';
29
+ import { buildHostSubcommandGroups, buildToolPluginGroups, } from './commands/host-subcommand-groups.js';
30
30
  import { registerCliCommands } from './commands/index.js';
31
31
  import { handleFatalBootstrapError, handleParseError } from './error-handler.js';
32
32
  import { runWithTelemetryContext, shutdownTelemetry } from './telemetry/sdk-init.js';
@@ -38,7 +38,14 @@ const program = new Command('opensip')
38
38
  // ADR-0008: per-run opt-out of OpenSIP Cloud signal sync. `--no-cloud` sets
39
39
  // `cloud` to false; the pre-action hook reads it via optsWithGlobals().
40
40
  .option('--no-cloud', 'Disable OpenSIP Cloud signal sync for this run')
41
- .version(cliVersion)
41
+ // NOTE: the root program does NOT register a Commander `.version()` option.
42
+ // A Commander version option on the root is a GLOBAL option that intercepts
43
+ // `--version` even after a known subcommand, so `opensip fit --version` would
44
+ // print the CLI version instead of the tool's. The per-tool `--version`
45
+ // (decorateToolPrimary) is a subcommand-local Commander version option, and
46
+ // the bare `opensip --version` (CLI version) is handled by the host argv
47
+ // pre-scan (`isRootVersionRequest`) below — before Commander parses — so the
48
+ // two never collide. See decorate-tool-primary.ts and the version phase spec.
42
49
  // Route Commander's own parse failures through `parseAsync().catch` →
43
50
  // `handleParseError` instead of letting Commander call `process.exit(N)`
44
51
  // directly. This restores the project's typed-error → exit-code contract for
@@ -52,6 +59,13 @@ const program = new Command('opensip')
52
59
  // handler renders nothing extra for a CommanderError (no duplicate output).
53
60
  .exitOverride();
54
61
  async function main() {
62
+ // Bare `opensip --version` / `-V` → the CLI version (host-owned), printed
63
+ // before any bootstrap. A `--version` AFTER a subcommand is that tool's own
64
+ // (handled by decorateToolPrimary's subcommand-local version option).
65
+ if (isRootVersionRequest(process.argv.slice(2))) {
66
+ process.stdout.write(`${cliVersion}\n`);
67
+ return;
68
+ }
55
69
  // Fresh registries per CLI invocation. Tools read these via
56
70
  // `cli.scope.languages` / `cli.scope.tools`; bootstrap populates them here.
57
71
  const langRegistry = new LanguageRegistry();
@@ -89,6 +103,7 @@ async function main() {
89
103
  toolSpecs: registrationInput.toolCommandSpecs,
90
104
  hostSpecs: buildTopLevelHostSpecs(commandCtx),
91
105
  hostGroups: buildHostSubcommandGroups(commandCtx),
106
+ toolPluginGroups: buildToolPluginGroups(commandCtx),
92
107
  });
93
108
  // Install the pre-action hook AFTER bootstrap + command-scope indexing so the
94
109
  // populated registries, admitted-tool manifests/provenance, and live
@@ -103,7 +118,7 @@ async function main() {
103
118
  // through the named sequencer seam. The host owns `program` and passes it in
104
119
  // (launch — the tool context no longer carries a raw-Commander handle, §8); the
105
120
  // one command surface is each tool's declarative commandSpecs.
106
- mountToolCommands(toolRegistry, program, ctx);
121
+ mountAllToolCommands(toolRegistry, program, ctx);
107
122
  registerCliCommands(program, commandCtx);
108
123
  // Bare `opensip` → welcome screen. The update check is owned by the
109
124
  // pre-action hook (which only runs for actual subcommands), so it naturally
@@ -112,7 +127,10 @@ async function main() {
112
127
  // telemetry shutdown flush — consistent with this file's exitCode-over-
113
128
  // exit() principle below. Exit code defaults to 0.
114
129
  if (process.argv.length <= 2) {
115
- printWelcome({ version: program.version() ?? 'dev' });
130
+ // The root program no longer carries a Commander version option, so read the
131
+ // CLI version directly from the package (the same value the root `--version`
132
+ // pre-scan prints) rather than `program.version()`.
133
+ printWelcome({ version: cliVersion });
116
134
  return;
117
135
  }
118
136
  // Dispatch inside the telemetry parent context so spans emitted during the
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,qNAAqN;AACrN;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,kBAAkB,EAClB,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,cAAc,UAAU,CAAC;AAEzB,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEvD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACnC,WAAW,CACV,8FAA8F,CAC/F;IACD,4EAA4E;IAC5E,wEAAwE;KACvE,MAAM,CAAC,YAAY,EAAE,gDAAgD,CAAC;KACtE,OAAO,CAAC,UAAU,CAAC;IACpB,sEAAsE;IACtE,yEAAyE;IACzE,6EAA6E;IAC7E,yEAAyE;IACzE,6EAA6E;IAC7E,yEAAyE;IACzE,wEAAwE;IACxE,0EAA0E;IAC1E,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;KAC3E,YAAY,EAAE,CAAC;AAElB,KAAK,UAAU,IAAI;IACjB,4DAA4D;IAC5D,4EAA4E;IAC5E,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IAExC,+DAA+D;IAC/D,mEAAmE;IACnE,sDAAsD;IACtD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,YAAY,CAAC;QACnD,YAAY;QACZ,YAAY;QACZ,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;KAC7B,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,GAAG,mBAAmB,CAAC;QAClC,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACzC,eAAe;QACf,MAAM;KACP,CAAC,CAAC;IAEH,uEAAuE;IACvE,4EAA4E;IAC5E,iDAAiD;IACjD,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG;QACjB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAC3C,GAAG,iBAAiB;KACrB,CAAC;IAEF,MAAM,aAAa,GAAG,sBAAsB,CAAC;QAC3C,SAAS,EAAE,iBAAiB,CAAC,gBAAgB;QAC7C,SAAS,EAAE,sBAAsB,CAAC,UAAU,CAAC;QAC7C,UAAU,EAAE,yBAAyB,CAAC,UAAU,CAAC;KAClD,CAAC,CAAC;IAEH,8EAA8E;IAC9E,qEAAqE;IACrE,4EAA4E;IAC5E,oBAAoB,CAClB,OAAO,EACP,UAAU,EACV;QACE,SAAS,EAAE,YAAY;QACvB,KAAK,EAAE,YAAY;QACnB,SAAS;QACT,UAAU;KACX,EACD,aAAa,CACd,CAAC;IAEF,6EAA6E;IAC7E,6EAA6E;IAC7E,gFAAgF;IAChF,+DAA+D;IAC/D,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAE9C,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEzC,oEAAoE;IACpE,4EAA4E;IAC5E,4CAA4C;IAC5C,sEAAsE;IACtE,wEAAwE;IACxE,mDAAmD;IACnD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7B,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,mEAAmE;IACnE,gFAAgF;IAChF,6EAA6E;IAC7E,wCAAwC;IACxC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,uBAAuB,CAAC,GAAG,EAAE,CACjC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAC5C,gBAAgB,CAAC,KAAK,EAAE;QACtB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,MAAM,EAAE,YAAY;QACpB,aAAa;KACd,CAAC,CACH,CACF,CAAC;IACF,+DAA+D;IAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;IAC7C,QAAQ,CAAC,aAAa,CAAC;SACpB,eAAe,CAAC,iCAAiC,CAAC;SAClD,MAAM,CAAC,UAAU,EAAE;QAClB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,6CAA6C;KACrF,CAAC,CAAC;AACP,CAAC;AAED,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AACzE,wEAAwE;AACxE,uEAAuE;AACvE,qEAAqE;AACrE,kDAAkD;AAClD,IAAI,CAAC;IACH,MAAM,IAAI,EAAE,CAAC;AACf,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;QAAS,CAAC;IACT,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,kDAAkD;IAClD,MAAM,iBAAiB,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"report-compose.d.ts","sourceRoot":"","sources":["../src/report-compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAoBH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAkE3D;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAY1F"}
1
+ {"version":3,"file":"report-compose.d.ts","sourceRoot":"","sources":["../src/report-compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAqBH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAkE3D;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAY1F"}
@@ -22,7 +22,7 @@
22
22
  */
23
23
  import { mkdirSync, writeFileSync } from 'node:fs';
24
24
  import { join } from 'node:path';
25
- import { currentScope, resolveProjectPaths, SystemError, logger as defaultLogger, } from '@opensip-cli/core';
25
+ import { currentScope, resolveProjectPaths, resolveToolHooks, SystemError, logger as defaultLogger, } from '@opensip-cli/core';
26
26
  import { generateDashboardHtml, } from '@opensip-cli/dashboard';
27
27
  import { SessionRepo } from '@opensip-cli/session-store';
28
28
  import { getCurrentProjectRoot } from './cli-context.js';
@@ -60,7 +60,7 @@ async function composeReportInput() {
60
60
  const sessions = repo ? [...repo.list({ limit: 20 })] : [];
61
61
  const input = { sessions };
62
62
  for (const tool of scope.tools.list()) {
63
- const contribution = await tool.collectReportData?.(scope);
63
+ const contribution = await resolveToolHooks(tool).collectReportData?.(scope);
64
64
  if (contribution) {
65
65
  // Guardrail (spec §8): tools must never clobber the host-owned `sessions`
66
66
  // run history. Ignore with a warning (best-effort, like other contribution
@@ -1 +1 @@
1
- {"version":3,"file":"report-compose.js","sourceRoot":"","sources":["../src/report-compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report-compose.js","sourceRoot":"","sources":["../src/report-compose.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
+ import { type ToolRegistry, type ToolSessionRecord, type ToolShortId } from '@opensip-cli/core';
1
2
  import type { CommandResult, ToolSessionReplay } from '@opensip-cli/contracts';
2
- import type { ToolRegistry, ToolSessionRecord, ToolShortId } from '@opensip-cli/core';
3
3
  export interface CliSessionReplayContribution {
4
4
  readonly tool: ToolShortId;
5
5
  readonly replaySession: (stored: ToolSessionRecord) => ToolSessionReplay<CommandResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"session-replay-registry.d.ts","sourceRoot":"","sources":["../src/session-replay-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAEjB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,iBAAiB,CAAC,aAAa,CAAC,CAAC;CACzF;AAED,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IADzB,OAAO;IAIP,MAAM,CAAC,KAAK,IAAI,qBAAqB;IAIrC;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,qBAAqB;IAa/D,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,4BAA4B,GAAG,SAAS;CAGjE"}
1
+ {"version":3,"file":"session-replay-registry.d.ts","sourceRoot":"","sources":["../src/session-replay-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE/E,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,iBAAiB,CAAC,aAAa,CAAC,CAAC;CACzF;AAED,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IADzB,OAAO;IAIP,MAAM,CAAC,KAAK,IAAI,qBAAqB;IAIrC;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,qBAAqB;IAa/D,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,4BAA4B,GAAG,SAAS;CAGjE"}
@@ -1,3 +1,5 @@
1
+ // @fitness-ignore-file batch-operation-limits -- fromTools iterates the bounded, in-process tool registry (a handful of first-party + plugin tools registered for the run), not an unbounded external collection.
2
+ import { resolveToolHooks, } from '@opensip-cli/core';
1
3
  export class SessionReplayRegistry {
2
4
  byTool;
3
5
  constructor(byTool) {
@@ -15,7 +17,7 @@ export class SessionReplayRegistry {
15
17
  static fromTools(registry) {
16
18
  const byTool = new Map();
17
19
  for (const tool of registry.list()) {
18
- const contribution = tool.sessionReplay;
20
+ const contribution = resolveToolHooks(tool).sessionReplay;
19
21
  if (contribution === undefined)
20
22
  continue;
21
23
  if (byTool.has(contribution.tool)) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-replay-registry.js","sourceRoot":"","sources":["../src/session-replay-registry.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,qBAAqB;IAEb;IADnB,YACmB,MAA8D;QAA9D,WAAM,GAAN,MAAM,CAAwD;IAC9E,CAAC;IAEJ,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,qBAAqB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,QAAsB;QACrC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6C,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,IAAI,YAAY,KAAK,SAAS;gBAAE,SAAS;YACzC,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,mDAAmD,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;YAC3F,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,IAAiB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,SAAS,qBAAqB,CAC5B,YAA2C;IAE3C,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CACxB,YAAY,CAAC,aAAa,CAAC,MAAM,CAAqC;KACzE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"session-replay-registry.js","sourceRoot":"","sources":["../src/session-replay-registry.ts"],"names":[],"mappings":"AAAA,kNAAkN;AAClN,OAAO,EACL,gBAAgB,GAKjB,MAAM,mBAAmB,CAAC;AAS3B,MAAM,OAAO,qBAAqB;IAEb;IADnB,YACmB,MAA8D;QAA9D,WAAM,GAAN,MAAM,CAAwD;IAC9E,CAAC;IAEJ,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,qBAAqB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,QAAsB;QACrC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6C,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;YAC1D,IAAI,YAAY,KAAK,SAAS;gBAAE,SAAS;YACzC,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,mDAAmD,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;YAC3F,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,IAAiB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,SAAS,qBAAqB,CAC5B,YAA2C;IAE3C,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CACxB,YAAY,CAAC,aAAa,CAAC,MAAM,CAAqC;KACzE,CAAC;AACJ,CAAC"}
@@ -16,7 +16,7 @@
16
16
  * only forbids the reverse — cli-ui must never import contracts.
17
17
  */
18
18
  import { type ViewNode } from '@opensip-cli/cli-ui';
19
- import type { CommandResult, SignalEnvelope, VerboseDetail } from '@opensip-cli/contracts';
19
+ import type { CommandResult, RunPresentation, SignalEnvelope, VerboseDetail } from '@opensip-cli/contracts';
20
20
  /**
21
21
  * Render a tool's verbose detail body (ADR-0021) as a `ViewNode`, switching on
22
22
  * the union `kind`. `lines` → verbatim text (graph's catalog/findings dump);
@@ -26,15 +26,35 @@ import type { CommandResult, SignalEnvelope, VerboseDetail } from '@opensip-cli/
26
26
  */
27
27
  export declare function renderVerboseDetail(detail: VerboseDetail): ViewNode;
28
28
  /**
29
- * The shared envelope → terminal-table view. Used by every migrated tool's
30
- * result (fit/sim always; graph when it carries an envelope). The per-tool
31
- * `rows`/`reportLines` legacy derivations it once fell back to were retired in
32
- * Phase 7 (ADR-0011).
29
+ * The shared envelope → terminal view. Used by every migrated tool's
30
+ * RunPresentation. The per-tool `rows`/`reportLines` legacy derivations it once
31
+ * fell back to were retired in Phase 7 (ADR-0011).
33
32
  *
34
33
  * When `verboseDetail` is present (a `--verbose` run), its rendered body is
35
- * prepended above the per-unit table (ADR-0021).
34
+ * prepended above the per-unit table (ADR-0021). Without verbose detail, callers
35
+ * can suppress the table for the compact default run surface.
36
+ *
37
+ * `durationOverride` is the host-owned display duration (ADR-0051), threaded by
38
+ * `presentationToView` from `RunPresentation.durationMs`. It WINS over the
39
+ * envelope unit-sum: tools whose units carry no per-unit duration (graph stamps
40
+ * `durationMs: 0`) would otherwise render a `0ms` summary. fit/sim units carry
41
+ * real durations, so they are unaffected when no override is supplied (the
42
+ * unit-sum fallback stays exact).
43
+ */
44
+ export declare function envelopeToTableView(envelope: SignalEnvelope, verboseDetail?: VerboseDetail, durationOverride?: number, showTable?: boolean): ViewNode;
45
+ /**
46
+ * The single render path for a {@link RunPresentation} (envelope-first-presentation
47
+ * plan). Renders `p.banners` as muted lines above the run body (graph's
48
+ * resolution caveat), delegates the verbose table+summary or default summary to
49
+ * `envelopeToTableView` (threading `p.durationMs` as the host-owned duration
50
+ * override), and applies the shared default footer when platform policy says the
51
+ * run is compact — preserving the live default surface: summary only, no
52
+ * per-unit table.
53
+ *
54
+ * This is the sole `resultToView` `case 'run-presentation'` target; it superseded
55
+ * the three per-tool `*DoneResult` render cases (hard-removed in RP-3).
36
56
  */
37
- export declare function envelopeToTableView(envelope: SignalEnvelope, verboseDetail?: VerboseDetail): ViewNode;
57
+ export declare function presentationToView(p: RunPresentation): ViewNode;
38
58
  /** Map any CommandResult to its view-model node (total — every variant covered). */
39
59
  export declare function resultToView(result: CommandResult): ViewNode;
40
60
  //# sourceMappingURL=result-to-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"result-to-view.d.ts","sourceRoot":"","sources":["../../src/ui/result-to-view.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAaL,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AA4B7B,OAAO,KAAK,EACV,aAAa,EAIb,cAAc,EACd,aAAa,EACd,MAAM,wBAAwB,CAAC;AAkOhC;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAInE;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,cAAc,EACxB,aAAa,CAAC,EAAE,aAAa,GAC5B,QAAQ,CAoBV;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAwF5D"}
1
+ {"version":3,"file":"result-to-view.d.ts","sourceRoot":"","sources":["../../src/ui/result-to-view.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAeL,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AA6B7B,OAAO,KAAK,EACV,aAAa,EAEb,eAAe,EAEf,cAAc,EACd,aAAa,EACd,MAAM,wBAAwB,CAAC;AA6LhC;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAInE;AAYD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,cAAc,EACxB,aAAa,CAAC,EAAE,aAAa,EAC7B,gBAAgB,CAAC,EAAE,MAAM,EACzB,SAAS,UAAO,GACf,QAAQ,CAsBV;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,QAAQ,CAmB/D;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAoF5D"}
@@ -16,12 +16,12 @@
16
16
  * and `@opensip-cli/cli-ui` (for the view-model). The keystone boundary
17
17
  * only forbids the reverse — cli-ui must never import contracts.
18
18
  */
19
- import { line, group, viewRunSummary, viewFooterHints, viewVerboseLines, viewFindingsGroups, VERBOSE_DETAIL_HINT, formatValidatedColumn, parseValidatedCount, sortFitRowPriority, } from '@opensip-cli/cli-ui';
19
+ import { line, group, viewRunSummary, viewFooterHints, viewVerboseLines, viewFindingsGroups, DEFAULT_RUN_FOOTER_HINTS, formatValidatedColumn, parseValidatedCount, shouldRenderRunFooterHints, shouldRenderRunUnitTable, sortFitRowPriority, } from '@opensip-cli/cli-ui';
20
20
  import { formatSignalTableRows, formatSignalTableSummary, } from '@opensip-cli/output';
21
21
  import { viewInit } from './views/init-view.js';
22
22
  import { viewListChecks, viewListRecipes, viewHistory, viewSimNotice, viewReport, viewClearDone, viewConfigureDone, viewUninstallDone, viewHelp, } from './views/misc-views.js';
23
23
  import { viewPlugin } from './views/plugin-view.js';
24
- import { viewToolsDataPurge, viewToolsInstall, viewToolsList, viewToolsUninstall, viewToolsValidate, } from './views/tools-views.js';
24
+ import { viewToolsCreate, viewToolsDataPurge, viewToolsInstall, viewToolsList, viewToolsUninstall, viewToolsValidate, } from './views/tools-views.js';
25
25
  const SPACER = { kind: 'spacer' };
26
26
  /**
27
27
  * Resolve the top-level run duration for a summary line.
@@ -47,40 +47,6 @@ function errorView(result) {
47
47
  }
48
48
  return group(children, 2);
49
49
  }
50
- /**
51
- * The graph report: an optional verbose body, an optional fast-tier
52
- * caveat, the shared summary line, and the shared footer hints. The
53
- * summary/hints reuse the cli-ui producers, so graph's piped and TTY
54
- * output match each other and the live view — no hand-maintained
55
- * plain-text copies (which previously lived in graph-report.ts).
56
- */
57
- function graphDoneView(result) {
58
- const children = [];
59
- if (result.verboseDetail !== undefined) {
60
- children.push(renderVerboseDetail(result.verboseDetail), SPACER);
61
- }
62
- if (result.resolutionBanner !== undefined) {
63
- children.push(line([{ text: result.resolutionBanner, tone: 'muted' }]));
64
- }
65
- // ADR-0035: the headline verdict is PASS/FAIL. graph-done carries count-based
66
- // summary (no envelope verdict on this report path), so derive the verdict from
67
- // graph's default policy — fail on any error-rung finding ({failOnErrors:1}).
68
- children.push(viewRunSummary({
69
- passed: result.summary.errors === 0,
70
- errors: result.summary.errors,
71
- warnings: result.summary.warnings,
72
- durationMs: resolveSummaryDuration(result.durationMs),
73
- }));
74
- // Non-verbose run: show the shared "Use --verbose…" hint plus graph's
75
- // report hint (ADR-0021 — one source for the verbose-hint string).
76
- if (result.verboseDetail === undefined) {
77
- children.push(viewFooterHints([
78
- VERBOSE_DETAIL_HINT,
79
- { text: 'opensip report for HTML report', bold: ['opensip report'] },
80
- ]));
81
- }
82
- return group(children);
83
- }
84
50
  /**
85
51
  * A replayed session (`sessions show` / `--show`). Uniform across tools: a
86
52
  * compact session header + the SAME shared envelope→table view a live run uses
@@ -136,8 +102,8 @@ function assertNever(result) {
136
102
  // carries a `SignalEnvelope`, and the terminal table is derived FROM its
137
103
  // `units` + `signals` via the shared `formatSignalTableRows` / `Summary`
138
104
  // formatters (`@opensip-cli/output`). One row per unit (check / rule /
139
- // scenario). Replaces the three per-tool, pre-computed `rows`/`reportLines`
140
- // shapes (the fit/sim/graph `*DoneResult` legacy branches, retired in Phase 7).
105
+ // scenario). Replaced the three per-tool, pre-computed `rows`/`reportLines`
106
+ // shapes (the fit/sim/graph per-tool render branches, retired in Phase 7).
141
107
  const ENV_COL = {
142
108
  status: 7,
143
109
  errors: 6,
@@ -175,9 +141,11 @@ function envIgnoredTone(ignored, validatedCell) {
175
141
  const ENV_SEP = { text: ' | ' };
176
142
  /**
177
143
  * Fixed-width per-unit table from the envelope's signal-table rows, or null
178
- * when empty. Renders fitness's `Validated`/`Ignores` columns when ANY row
179
- * carries `validated` (a per-unit fact on {@link UnitResult}); graph/sim rows
180
- * omit them, so those tools' tables stay the lean 5-column form.
144
+ * when empty. Fresh non-verbose runs intentionally do not call this helper; the
145
+ * table is a detailed surface (`--verbose`, replay, and direct table tests).
146
+ * Renders fitness's `Validated`/`Ignores` columns when ANY row carries
147
+ * `validated` (a per-unit fact on {@link UnitResult}); graph/sim rows omit them,
148
+ * so those tools' tables stay the lean 5-column form.
181
149
  */
182
150
  function envelopeTableNode(rows) {
183
151
  if (rows.length === 0)
@@ -246,70 +214,92 @@ export function renderVerboseDetail(detail) {
246
214
  : viewFindingsGroups(detail.groups);
247
215
  }
248
216
  /**
249
- * Append the shared non-verbose footer (the "Use --verbose…" hint + the
250
- * report hint) to a view when `show` is true (ADR-0021). Used by the
251
- * envelope-backed tools (fit/sim) so a non-verbose run nudges toward the detail
252
- * body and the HTML report — parity with graph's footer.
217
+ * Append the platform-owned compact-run footer to a view when `show` is true
218
+ * (ADR-0021). The decision to show it lives in `cli-ui`'s run render policy so
219
+ * static rendering and live runners cannot drift.
253
220
  */
254
- function withVerboseHint(node, show) {
221
+ function withDefaultRunFooter(node, show) {
255
222
  if (!show)
256
223
  return node;
257
- return group([
258
- node,
259
- viewFooterHints([
260
- VERBOSE_DETAIL_HINT,
261
- { text: 'opensip report for HTML report', bold: ['opensip report'] },
262
- ]),
263
- ]);
224
+ return group([node, viewFooterHints(DEFAULT_RUN_FOOTER_HINTS)]);
264
225
  }
265
226
  /**
266
- * The shared envelope → terminal-table view. Used by every migrated tool's
267
- * result (fit/sim always; graph when it carries an envelope). The per-tool
268
- * `rows`/`reportLines` legacy derivations it once fell back to were retired in
269
- * Phase 7 (ADR-0011).
227
+ * The shared envelope → terminal view. Used by every migrated tool's
228
+ * RunPresentation. The per-tool `rows`/`reportLines` legacy derivations it once
229
+ * fell back to were retired in Phase 7 (ADR-0011).
270
230
  *
271
231
  * When `verboseDetail` is present (a `--verbose` run), its rendered body is
272
- * prepended above the per-unit table (ADR-0021).
232
+ * prepended above the per-unit table (ADR-0021). Without verbose detail, callers
233
+ * can suppress the table for the compact default run surface.
234
+ *
235
+ * `durationOverride` is the host-owned display duration (ADR-0051), threaded by
236
+ * `presentationToView` from `RunPresentation.durationMs`. It WINS over the
237
+ * envelope unit-sum: tools whose units carry no per-unit duration (graph stamps
238
+ * `durationMs: 0`) would otherwise render a `0ms` summary. fit/sim units carry
239
+ * real durations, so they are unaffected when no override is supplied (the
240
+ * unit-sum fallback stays exact).
273
241
  */
274
- export function envelopeToTableView(envelope, verboseDetail) {
242
+ export function envelopeToTableView(envelope, verboseDetail, durationOverride, showTable = true) {
275
243
  const rows = formatSignalTableRows(envelope);
276
244
  const summary = formatSignalTableSummary(envelope);
277
245
  const children = [];
278
246
  if (verboseDetail !== undefined) {
279
247
  children.push(renderVerboseDetail(verboseDetail), SPACER);
280
248
  }
281
- const table = envelopeTableNode(rows);
282
- if (table !== null)
283
- children.push(table);
249
+ if (showTable) {
250
+ const table = envelopeTableNode(rows);
251
+ if (table !== null)
252
+ children.push(table);
253
+ }
284
254
  children.push(viewRunSummary({
285
255
  // ADR-0035: the headline is the run's single verdict; the per-unit
286
256
  // passed/failed counts live in the table rows above.
287
257
  passed: envelope.verdict.passed,
288
258
  errors: summary.totalErrors,
289
259
  warnings: summary.totalWarnings,
290
- durationMs: resolveSummaryDuration(summary.durationMs),
260
+ durationMs: resolveSummaryDuration(durationOverride ?? summary.durationMs),
291
261
  }));
292
262
  return group(children);
293
263
  }
264
+ /**
265
+ * The single render path for a {@link RunPresentation} (envelope-first-presentation
266
+ * plan). Renders `p.banners` as muted lines above the run body (graph's
267
+ * resolution caveat), delegates the verbose table+summary or default summary to
268
+ * `envelopeToTableView` (threading `p.durationMs` as the host-owned duration
269
+ * override), and applies the shared default footer when platform policy says the
270
+ * run is compact — preserving the live default surface: summary only, no
271
+ * per-unit table.
272
+ *
273
+ * This is the sole `resultToView` `case 'run-presentation'` target; it superseded
274
+ * the three per-tool `*DoneResult` render cases (hard-removed in RP-3).
275
+ */
276
+ export function presentationToView(p) {
277
+ const children = [];
278
+ if (p.banners !== undefined) {
279
+ for (const banner of p.banners) {
280
+ children.push(line([{ text: banner, tone: 'muted' }]));
281
+ }
282
+ }
283
+ const verbose = p.verboseDetail !== undefined;
284
+ const body = withDefaultRunFooter(envelopeToTableView(p.envelope, p.verboseDetail, p.durationMs, shouldRenderRunUnitTable({ verbose })), shouldRenderRunFooterHints({ verbose }));
285
+ children.push(body);
286
+ return group(children);
287
+ }
294
288
  /** Map any CommandResult to its view-model node (total — every variant covered). */
295
289
  export function resultToView(result) {
296
290
  switch (result.type) {
297
- // fit (Phase 6) and sim (Phase 4) are both envelope-backed: the terminal
298
- // table is derived from the envelope (one row per check/scenario unit) and
299
- // the optional verbose body + non-verbose "Use --verbose…" hint render
300
- // through the one shared seam (ADR-0011/ADR-0021), identically in TTY/pipe.
301
- case 'fit-done':
302
- case 'sim-done': {
303
- return withVerboseHint(envelopeToTableView(result.envelope, result.verboseDetail), result.verboseDetail === undefined);
291
+ // The render-only run-presentation adjunct (envelope-first-presentation plan):
292
+ // the SINGLE run variant. fit/sim/graph all construct this; summary and
293
+ // optional verbose/detail table are derived from the envelope, banners
294
+ // (graph's resolution caveat) render above, and the shared non-verbose footer
295
+ // below — identically in TTY/pipe.
296
+ // It replaced the three per-tool `*DoneResult` cases (hard-removed in RP-3).
297
+ case 'run-presentation': {
298
+ return presentationToView(result);
304
299
  }
305
300
  case 'error': {
306
301
  return errorView(result);
307
302
  }
308
- case 'graph-done': {
309
- // graph keeps its own rich report view (it delivers signals via an
310
- // explicit `cli.deliverSignals(...)` call, not via a result envelope).
311
- return graphDoneView(result);
312
- }
313
303
  case 'gate-done': {
314
304
  return linesView(result.lines);
315
305
  }
@@ -343,6 +333,9 @@ export function resultToView(result) {
343
333
  case 'tools-list': {
344
334
  return viewToolsList(result);
345
335
  }
336
+ case 'tools-create': {
337
+ return viewToolsCreate(result);
338
+ }
346
339
  case 'tools-validate': {
347
340
  return viewToolsValidate(result);
348
341
  }