@symerian/symi 3.5.16 → 3.5.18

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 (365) hide show
  1. package/dist/{agent-RWZSPbLw.js → agent-C5i1IOSH.js} +4 -4
  2. package/dist/{agent-Za31LZ2H.js → agent-DAgNFk7s.js} +6 -6
  3. package/dist/{agents-CulBOE6L.js → agents-D6vcHu1f.js} +10 -10
  4. package/dist/{audit-B1fVD2bA.js → audit-BkXjUIB4.js} +7 -7
  5. package/dist/{audit-BQnxE5w6.js → audit-KLVrIL2o.js} +7 -7
  6. package/dist/{auth-choice-B8n3tJtT.js → auth-choice-BAWjJhdA.js} +6 -6
  7. package/dist/{auth-choice-C8ElO44A.js → auth-choice-CYIdNu5I.js} +6 -6
  8. package/dist/{auth-choice-options-DmXqtnP9.js → auth-choice-options-2Kq8GdIR.js} +1 -1
  9. package/dist/{auth-choice-options-od_KpHe8.js → auth-choice-options-DpwzCJa5.js} +1 -1
  10. package/dist/{auth-choice-prompt-BnvC700A.js → auth-choice-prompt-BAFfYZeR.js} +1 -1
  11. package/dist/{auth-choice-prompt-kt2FcieM.js → auth-choice-prompt-D6A5uuj3.js} +1 -1
  12. package/dist/{banner-B91SPus6.js → banner-fe7EgXbN.js} +1 -1
  13. package/dist/{bonjour-discovery-CyLfNUkJ.js → bonjour-discovery-CWTnBKX8.js} +1 -1
  14. package/dist/{bonjour-discovery-DuObXMh2.js → bonjour-discovery-XbH0AYJ4.js} +1 -1
  15. package/dist/{browser-cli-BvOz7txM.js → browser-cli-T0M4dRjm.js} +7 -7
  16. package/dist/{browser-cli-CXDzGAN7.js → browser-cli-djgni0MZ.js} +7 -7
  17. package/dist/build-info.json +3 -3
  18. package/dist/bundled/boot-md/handler.js +2 -2
  19. package/dist/bundled/session-memory/handler.js +2 -2
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-options-CsyyC4uc.js → channel-options-D6G_F3eF.js} +2 -2
  22. package/dist/{channel-options-1G5HGFpn.js → channel-options-EXtSsJf6.js} +2 -2
  23. package/dist/{channels-cli-R3TK9Jwf.js → channels-cli-Cqq_mzfB.js} +40 -40
  24. package/dist/{channels-cli-aF7d6Af9.js → channels-cli-JOUMlq_F.js} +41 -41
  25. package/dist/{chrome-3jl2ulOE.js → chrome-DNssqQJs.js} +7 -7
  26. package/dist/{clack-prompter-_kEnSVz4.js → clack-prompter-BMQT37oC.js} +4 -4
  27. package/dist/{clack-prompter-v9MYo-5u.js → clack-prompter-BpcKjPIh.js} +4 -4
  28. package/dist/{cli-Bguq-s8o.js → cli-B8UZj63C.js} +22 -22
  29. package/dist/{cli-CFaH6TRI.js → cli-mps-KWqp.js} +23 -23
  30. package/dist/{command-registry-2hfSOaGL.js → command-registry-BamL-8ni.js} +11 -11
  31. package/dist/{completion-cli-BEO2AB41.js → completion-cli-BE3hVsai.js} +1 -1
  32. package/dist/{completion-cli-TYU7Y_XZ.js → completion-cli-CcPYX9ML.js} +3 -3
  33. package/dist/{config-cli-Cvylxp-R.js → config-cli-BQtaSYis.js} +2 -2
  34. package/dist/{config-cli-D6vpEtzB.js → config-cli-thmRhEXK.js} +2 -2
  35. package/dist/{config-guard-D58THqAB.js → config-guard-BRm3RiOi.js} +6 -6
  36. package/dist/{config-guard-CLfXzB_z.js → config-guard-CCLLHbZ3.js} +1 -1
  37. package/dist/{configure-BMRfSJ5h.js → configure-BYjDOt22.js} +21 -21
  38. package/dist/{configure-DRDyxmMR.js → configure-CldmyPrd.js} +21 -21
  39. package/dist/{control-service-DPzhv357.js → control-service-CG6l_Yap.js} +2 -2
  40. package/dist/{control-service-DOGU9T2P.js → control-service-D8kKOts5.js} +2 -2
  41. package/dist/control-ui/css/style.css +166 -0
  42. package/dist/control-ui/js/symframe.js +246 -20
  43. package/dist/{cron-cli-DlxcZT7g.js → cron-cli-CULf3dmR.js} +4 -4
  44. package/dist/{cron-cli-DVEdIAaa.js → cron-cli-DKsbgF-x.js} +4 -4
  45. package/dist/{daemon-cli-DqJhEk3T.js → daemon-cli-BNjzVjLA.js} +12 -12
  46. package/dist/{daemon-cli-6ZV3jmTp.js → daemon-cli-C5WZasB0.js} +12 -12
  47. package/dist/{daemon-runtime-DaJ4Tf2a.js → daemon-runtime-AkgOtHR6.js} +1 -1
  48. package/dist/{daemon-runtime-7YBz5otm.js → daemon-runtime-DlQla_dA.js} +1 -1
  49. package/dist/{deliver-0nDhDdKd.js → deliver-DIK2emIV.js} +1 -1
  50. package/dist/{deliver-C81eqdrP.js → deliver-lTZLIQqf.js} +1 -1
  51. package/dist/{deliver-f3cIWxXT.js → deliver-q23ar_Pm.js} +4 -4
  52. package/dist/{devices-cli-C4rLpzkl.js → devices-cli-CZKVVOJl.js} +2 -2
  53. package/dist/{devices-cli-C6EdHL_5.js → devices-cli-rR11xT7v.js} +2 -2
  54. package/dist/{diagnostics-BZH08r5U.js → diagnostics-D2oNwzue.js} +1 -1
  55. package/dist/{diagnostics-CdawaB0U.js → diagnostics-DlZODdRf.js} +1 -1
  56. package/dist/{directory-cli-BQrGwwjf.js → directory-cli-Bm5QYEo-.js} +5 -5
  57. package/dist/{directory-cli-FR_KoYon.js → directory-cli-DAGG_z_L.js} +5 -5
  58. package/dist/{dns-cli-CH2QMf70.js → dns-cli-CubLq4j9.js} +3 -3
  59. package/dist/{dns-cli-Cua_RGWw.js → dns-cli-yj_xgcmZ.js} +3 -3
  60. package/dist/{docs-cli-DwrSCuWF.js → docs-cli-ABJdcZAr.js} +2 -2
  61. package/dist/{docs-cli-9yu6OeWj.js → docs-cli-PS8m1er7.js} +2 -2
  62. package/dist/{doctor-completion-CvaSyxyp.js → doctor-completion-BNg17v6i.js} +2 -2
  63. package/dist/{doctor-completion-DgNgQFQQ.js → doctor-completion-XdRobzWG.js} +2 -2
  64. package/dist/{doctor-config-flow-CKJlpwtv.js → doctor-config-flow-BIBJeoRl.js} +3 -3
  65. package/dist/{doctor-config-flow-CcwEh3WQ.js → doctor-config-flow-C52W1uUK.js} +3 -3
  66. package/dist/{enable-BI6rQ1Fb.js → enable-B8TbkmWU.js} +1 -1
  67. package/dist/{enable-xfczksnk.js → enable-BIMBTSRy.js} +1 -1
  68. package/dist/entry.js +1 -1
  69. package/dist/{exec-approvals-cli-Ca54uWdL.js → exec-approvals-cli-C4HEY0eG.js} +8 -8
  70. package/dist/{exec-approvals-cli-bu1S7v6i.js → exec-approvals-cli-DS6ZEPKH.js} +8 -8
  71. package/dist/extensionAPI.js +4 -4
  72. package/dist/{gateway-cli-DCTPCoQx.js → gateway-cli-CAc-uivv.js} +77 -69
  73. package/dist/{gateway-cli-BNhURE6O.js → gateway-cli-CGXvamVN.js} +80 -72
  74. package/dist/{gateway-rpc-vivTzTCq.js → gateway-rpc-BmYtSmmM.js} +1 -1
  75. package/dist/{gateway-rpc-DMSsr0Xn.js → gateway-rpc-DJ2ZjQmX.js} +1 -1
  76. package/dist/{glass-ui-ws-Bzs3ALoN.js → glass-ui-ws-Bha2cLkY.js} +50 -50
  77. package/dist/{glass-ui-ws-C88aJslb.js → glass-ui-ws-DCCEkdBr.js} +48 -48
  78. package/dist/{health-D0jGdk53.js → health-Ba5X7a38.js} +3 -3
  79. package/dist/{health--v-C6lSf.js → health-Ct-lDCmK.js} +3 -3
  80. package/dist/{hooks-cli-CZ_pSdXS.js → hooks-cli-D2iAnwfW.js} +28 -28
  81. package/dist/{hooks-cli-CrZvzan1.js → hooks-cli-DUL_PDOH.js} +29 -29
  82. package/dist/{hooks-status-CQ33gaVT.js → hooks-status-CvKe3Bfk.js} +2 -2
  83. package/dist/{hooks-status-B5vDwm19.js → hooks-status-DoeoPJbZ.js} +1 -1
  84. package/dist/index.js +34 -34
  85. package/dist/{inspect-D_lN8pwg.js → inspect-CGKsaVZ4.js} +1 -1
  86. package/dist/{inspect-C3_zr-N9.js → inspect-CRa8Af7f.js} +1 -1
  87. package/dist/{install-safe-path-BBe6qFNr.js → install-safe-path-B2JrFspY.js} +1 -1
  88. package/dist/{install-safe-path-79R0iPyC.js → install-safe-path-BdxXJux8.js} +1 -1
  89. package/dist/{installs-Bb1phV9x.js → installs-D890uIIW.js} +3 -3
  90. package/dist/{installs-BVJQl3Tj.js → installs-Dunp9UFl.js} +3 -3
  91. package/dist/{lifecycle-core-O50xtu5c.js → lifecycle-core-YmWzkN43.js} +5 -5
  92. package/dist/{lifecycle-core-DdbL6ELJ.js → lifecycle-core-wFwnK_mD.js} +5 -5
  93. package/dist/llm-slug-generator.js +2 -2
  94. package/dist/{logs-cli-Dde2Dp2w.js → logs-cli-CgMlVSvI.js} +4 -4
  95. package/dist/{logs-cli-vIxaNVmF.js → logs-cli-N1bMTcij.js} +4 -4
  96. package/dist/{manager--GmDbwza.js → manager-B8q57Pg2.js} +1 -1
  97. package/dist/{manager-DjhE8yLr.js → manager-BAcrpGcR.js} +1 -1
  98. package/dist/{manager-BMA3iRMq.js → manager-BUyQ1gFU.js} +1 -1
  99. package/dist/{manager-S5d36_EM.js → manager-BcWElKHq.js} +1 -1
  100. package/dist/{memory-BcdI7NSs.js → memory-By9GyX8z.js} +3 -3
  101. package/dist/{memory-DBx1wEvf.js → memory-CHSa0jVf.js} +3 -3
  102. package/dist/{memory-cli-jNf_SaXU.js → memory-cli-JTWldzg5.js} +6 -6
  103. package/dist/{memory-cli-CQSVrNAK.js → memory-cli-e5KEX6Ql.js} +6 -6
  104. package/dist/{model-picker-DN-co6Oy.js → model-picker-Cf6UgQEh.js} +1 -1
  105. package/dist/{model-picker-CS_h9RHv.js → model-picker-DvP8ViSf.js} +1 -1
  106. package/dist/{models-cli-CiL6wDtk.js → models-cli-B-u1KOUo.js} +35 -35
  107. package/dist/{models-cli-6tdy2DaI.js → models-cli-DJnRAEsb.js} +32 -32
  108. package/dist/{models-BgZWEpSL.js → models-dVS6tcNK.js} +12 -12
  109. package/dist/{node-cli-BTXwMEJE.js → node-cli-BqvgYrlJ.js} +17 -17
  110. package/dist/{node-cli-ClniLggz.js → node-cli-CKuOdw5j.js} +17 -17
  111. package/dist/{node-service-CfHbECCi.js → node-service-BH08wY5j.js} +1 -1
  112. package/dist/{node-service-D44noKnR.js → node-service-CZlyWmxa.js} +1 -1
  113. package/dist/{nodes-cli-DrhMUDXx.js → nodes-cli-BrV7Xpf_.js} +7 -7
  114. package/dist/{nodes-cli-DLaX4pgX.js → nodes-cli-C6kDpXS_.js} +7 -7
  115. package/dist/{note-Cltpxj6i.js → note-BIAQpZxi.js} +1 -1
  116. package/dist/{note-ytwb4wwn.js → note-D9FXI2qW.js} +1 -1
  117. package/dist/{npm-registry-spec-CONWlhd6.js → npm-registry-spec-BPgK9EL7.js} +1 -1
  118. package/dist/{npm-registry-spec-DPqOMFd9.js → npm-registry-spec-DTqn-NXZ.js} +1 -1
  119. package/dist/{onboard-fBxK2Bky.js → onboard-BoKwKol7.js} +17 -17
  120. package/dist/{onboard-DRn6pFfO.js → onboard-CHOoD7jN.js} +17 -17
  121. package/dist/{onboard-channels-DeRg97iI.js → onboard-channels-C4_2V9uU.js} +7 -7
  122. package/dist/{onboard-channels-BN00--TD.js → onboard-channels-CfzUCh7p.js} +7 -7
  123. package/dist/{onboard-custom-BCcuL4Uq.js → onboard-custom-BcRYreNG.js} +2 -2
  124. package/dist/{onboard-custom-C-wfNtOM.js → onboard-custom-CfKvdcJ5.js} +2 -2
  125. package/dist/{onboard-helpers-Cv6fL8Vq.js → onboard-helpers-DI-HmD7F.js} +2 -2
  126. package/dist/{onboard-helpers-CAAZ0RDq.js → onboard-helpers-Dpb3-BZm.js} +2 -2
  127. package/dist/{onboard-hooks-D5-mtFUY.js → onboard-hooks-2SCajRKc.js} +2 -2
  128. package/dist/{onboard-hooks-CxJRzS5z.js → onboard-hooks-BpyxMXOj.js} +2 -2
  129. package/dist/{onboard-remote-pucDu-pH.js → onboard-remote-B8wiom2Y.js} +3 -3
  130. package/dist/{onboard-remote-CXRFa8AU.js → onboard-remote-Bs5NP5sK.js} +3 -3
  131. package/dist/{onboard-skills-BVTCfqlg.js → onboard-skills-B6CZay_w.js} +3 -3
  132. package/dist/{onboard-skills-C_93kjju.js → onboard-skills-BaprraLV.js} +2 -2
  133. package/dist/{onboarding-CLOZkMhc.js → onboarding-B2BOb2RZ.js} +15 -15
  134. package/dist/{onboarding-i1rA1XGe.js → onboarding-DsxU2nSf.js} +15 -15
  135. package/dist/{onboarding.finalize-gk9ot6lb.js → onboarding.finalize-BE7BU0jr.js} +21 -21
  136. package/dist/{onboarding.finalize-BV76YUaD.js → onboarding.finalize-C-kW49Ut.js} +23 -23
  137. package/dist/{onboarding.gateway-config-eFJnSC-S.js → onboarding.gateway-config-Bs46b6Gz.js} +3 -3
  138. package/dist/{onboarding.gateway-config-wB3ShGU4.js → onboarding.gateway-config-DqFBlQ06.js} +3 -3
  139. package/dist/{openai-model-default-CKfNKTZD.js → openai-model-default-BkuuK-Di.js} +1 -1
  140. package/dist/{openai-model-default-ChdgeMqX.js → openai-model-default-Cx6qbnBw.js} +1 -1
  141. package/dist/{pairing-cli-D7_UlTsI.js → pairing-cli-CC0YyYGs.js} +2 -2
  142. package/dist/{pairing-cli-UgiAsygW.js → pairing-cli-Rsae0KnN.js} +2 -2
  143. package/dist/{path-env-BAyW1s3c.js → path-env-BY88zbPR.js} +1 -1
  144. package/dist/{path-env-C1hgM8gP.js → path-env-SUrcTSJ-.js} +1 -1
  145. package/dist/{pi-embedded-BAgVs8XC.js → pi-embedded-DEoacZlB.js} +145 -14
  146. package/dist/{pi-embedded-helpers-BBiyNXkS.js → pi-embedded-helpers-BQjRftRI.js} +1 -1
  147. package/dist/{pi-embedded-helpers-CDzBxa-P.js → pi-embedded-helpers-D-OFjhdI.js} +1 -1
  148. package/dist/{pi-tools.policy-CU8U7--z.js → pi-tools.policy-BeD_scvO.js} +1 -1
  149. package/dist/{pi-tools.policy-WaLKhqJQ.js → pi-tools.policy-CIw6PZ9e.js} +1 -1
  150. package/dist/{plugin-auto-enable-Bt2sVz8w.js → plugin-auto-enable-DJBhDIMq.js} +2 -2
  151. package/dist/{plugin-auto-enable-PBDcVF_-.js → plugin-auto-enable-DaR6Z6BC.js} +2 -2
  152. package/dist/{plugin-registry-2DU3g0AT.js → plugin-registry-D1BIaht5.js} +1 -1
  153. package/dist/{plugin-registry-CubHLj0v.js → plugin-registry-DeslTmEa.js} +1 -1
  154. package/dist/plugin-sdk/agents/tools/display-artifact-tool.d.ts +2 -0
  155. package/dist/plugin-sdk/infra/symframe-broadcast.d.ts +8 -0
  156. package/dist/{plugins-cli-CIYGRkKI.js → plugins-cli-DJIjgG5p.js} +29 -29
  157. package/dist/{plugins-cli-Dpj76E3-.js → plugins-cli-tWL29ean.js} +30 -30
  158. package/dist/{program-Qug3oi2C.js → program-C_ecACg4.js} +32 -32
  159. package/dist/{program-context-CCIGjsQL.js → program-context-DhXsfGWA.js} +41 -41
  160. package/dist/{prompt-select-styled-BdNTADj2.js → prompt-select-styled-5mNa_JDe.js} +27 -27
  161. package/dist/{prompt-select-styled-ARnCLf3Q.js → prompt-select-styled-B0UbChI2.js} +26 -26
  162. package/dist/{provider-auth-helpers-B_gA1eP9.js → provider-auth-helpers-BikwPxIZ.js} +6 -6
  163. package/dist/{provider-auth-helpers-LpT83BSS.js → provider-auth-helpers-c3gQEsiU.js} +6 -6
  164. package/dist/{push-apns-CLngpXwL.js → push-apns-COFa30nz.js} +1 -1
  165. package/dist/{push-apns-BWeNJb15.js → push-apns-DAYwWXpM.js} +1 -1
  166. package/dist/{pw-ai-DOAsQ5NX.js → pw-ai-v__CyAlM.js} +1 -1
  167. package/dist/{register.agent-pWEv9TC7.js → register.agent-B6pZEY8i.js} +47 -47
  168. package/dist/{register.agent-Dz24Zz7t.js → register.agent-D_zWbLp4.js} +50 -50
  169. package/dist/{register.configure-DQWtFNGt.js → register.configure-qpAPaUf1.js} +57 -57
  170. package/dist/{register.configure-BMLA-3Mt.js → register.configure-z9G70eYJ.js} +55 -55
  171. package/dist/{register.maintenance-CTF70v5h.js → register.maintenance-DLaTTsm9.js} +50 -50
  172. package/dist/{register.maintenance-BncnnneX.js → register.maintenance-Ds0ujl3V.js} +50 -50
  173. package/dist/{register.message-vUwGF3E9.js → register.message-0N5-oUQ2.js} +28 -28
  174. package/dist/{register.message-C-p-GZ8z.js → register.message-ChR97uym.js} +26 -26
  175. package/dist/{register.onboard-DhcpKFgU.js → register.onboard-B7mbI-9F.js} +23 -23
  176. package/dist/{register.onboard-O0P6rCuX.js → register.onboard-D5S1tP0K.js} +23 -23
  177. package/dist/{register.setup-CZfWa9-Z.js → register.setup-CJ9hldNi.js} +23 -23
  178. package/dist/{register.setup-D3XQyELS.js → register.setup-CaA-JN2n.js} +23 -23
  179. package/dist/{register.status-health-sessions-Dn2gy0gi.js → register.status-health-sessions-BUgIBm_S.js} +29 -29
  180. package/dist/{register.status-health-sessions-C9Zdn1ai.js → register.status-health-sessions-CkZTuaL-.js} +29 -29
  181. package/dist/{register.subclis-Dv8bf2ox.js → register.subclis-Ca8FmJFy.js} +30 -30
  182. package/dist/{resolve-route-D0NrCHnr.js → resolve-route-BVJ4-d9c.js} +1 -1
  183. package/dist/{resolve-route-CnTdHVgw.js → resolve-route-C1IIA6kH.js} +1 -1
  184. package/dist/{routes-DIyAmLYR.js → routes-ivqbutvM.js} +1 -1
  185. package/dist/{routes-CPMVuvoz.js → routes-wLkmjLj9.js} +1 -1
  186. package/dist/{rpc-KjYXUeLD.js → rpc-BWgqz86j.js} +1 -1
  187. package/dist/{rpc-DP3AhcZq.js → rpc-D4d4nLSU.js} +1 -1
  188. package/dist/{run-main-BsVhPYM4.js → run-main-DMrkCeK2.js} +46 -46
  189. package/dist/{sandbox-61-kshSF.js → sandbox-BkznAPKO.js} +2 -2
  190. package/dist/{sandbox-J92UBQK8.js → sandbox-DjKcZavm.js} +2 -2
  191. package/dist/{sandbox-cli-D9v0jhBb.js → sandbox-cli-Bb9cBtBH.js} +5 -5
  192. package/dist/{sandbox-cli-DJgF-r8G.js → sandbox-cli-DmgpJLlJ.js} +5 -5
  193. package/dist/{security-cli-hTCYStCU.js → security-cli-C_KMIhS2.js} +9 -9
  194. package/dist/{security-cli-CGLnA_ni.js → security-cli-McZcuPWz.js} +9 -9
  195. package/dist/{server-context-SbbjNkPL.js → server-context-ChcbJgNo.js} +3 -3
  196. package/dist/{server-context-D-82OTsT.js → server-context-DrAh6Cgw.js} +3 -3
  197. package/dist/{server-methods-D_zGEWNK.js → server-methods-BygKI0kw.js} +32 -29
  198. package/dist/{server-methods-C3_JU-DI.js → server-methods-szCGOyyf.js} +31 -28
  199. package/dist/{server-node-events-CRYzL3TY.js → server-node-events-CbR5rq2-.js} +25 -25
  200. package/dist/{server-node-events-CW5ilXPN.js → server-node-events-y9KRPn6N.js} +27 -27
  201. package/dist/{service-Ccv3Zi5_.js → service-DYpU1ajf.js} +1 -1
  202. package/dist/{service-BF50XyKr.js → service-e6MzlLCd.js} +1 -1
  203. package/dist/{shared-BmjlTHYU.js → shared-1xPo9ygd.js} +1 -1
  204. package/dist/{shared-BJRsBGGr.js → shared-Dl4ZrOve.js} +1 -1
  205. package/dist/{skills-cli-BZF5mcG5.js → skills-cli-B-7TY-vS.js} +6 -6
  206. package/dist/{skills-cli-C9F-zLWe.js → skills-cli-jQ-M3ToK.js} +2 -2
  207. package/dist/{skills-install-QOHQrX6P.js → skills-install-CZE8W7lV.js} +4 -4
  208. package/dist/{skills-install-X12kifP1.js → skills-install-Dwzsjoc8.js} +4 -4
  209. package/dist/{skills-status-6LVKpabC.js → skills-status-BKX1PjCc.js} +1 -1
  210. package/dist/{status-C_K3wapX.js → status-BZ9FL5l4.js} +1 -1
  211. package/dist/{status-DbIBRkrV.js → status-Cthysi1v.js} +16 -16
  212. package/dist/{status-NK8EUhIy.js → status-lqzeb_Td.js} +1 -1
  213. package/dist/{status-1ACP62Xm.js → status-uRIajsvi.js} +15 -15
  214. package/dist/{status.update-CdTtmVpp.js → status.update-DGJi0OLl.js} +1 -1
  215. package/dist/{status.update-_3qHPt0O.js → status.update-DW6VHYmK.js} +1 -1
  216. package/dist/{subagent-registry-SZbZfkbr.js → subagent-registry-DwvGle7T.js} +144 -21
  217. package/dist/symframe-broadcast-BVxModY5.js +22 -0
  218. package/dist/symframe-broadcast-CXo2qoxy.js +22 -0
  219. package/dist/{symframe-cli-CsA_x7U9.js → symframe-cli-0tRARGnc.js} +19 -5
  220. package/dist/{symframe-cli-BKrtoG8H.js → symframe-cli-D00zI8yK.js} +19 -5
  221. package/dist/{synthesis-BLRsy_PZ.js → synthesis-BKLx13A_.js} +22 -22
  222. package/dist/{synthesis-Dv6bJWYX.js → synthesis-CzKaWpzb.js} +2 -2
  223. package/dist/{synthesis-CA2zGGNE.js → synthesis-DwAlX75N.js} +23 -23
  224. package/dist/{synthesis-CUbz4CaL.js → synthesis-P09ozKOL.js} +4 -4
  225. package/dist/{system-cli-CYgTroZA.js → system-cli-D18NNk54.js} +3 -3
  226. package/dist/{system-cli-BoxTfo1R.js → system-cli-OzNqTgb2.js} +3 -3
  227. package/dist/{systemd-hints-DmDUq9JT.js → systemd-hints-BoFy3-m1.js} +4 -4
  228. package/dist/{systemd-hints-bP8dBJ78.js → systemd-hints-CsrzMCTD.js} +4 -4
  229. package/dist/{systemd-linger-DjoQVcOq.js → systemd-linger-BzYk7A6M.js} +2 -2
  230. package/dist/{systemd-linger-BBxRNFXz.js → systemd-linger-CctFkWNE.js} +2 -2
  231. package/dist/{tui-BdtfeKft.js → tui-CDovUd2Z.js} +1 -1
  232. package/dist/{tui-cli-CcSS08na.js → tui-cli--wAWyd-U.js} +7 -7
  233. package/dist/{tui-cli-_WzJLbOA.js → tui-cli-COLpBx2w.js} +7 -7
  234. package/dist/{tui-CO7OA9ZO.js → tui-mmN0hLk6.js} +1 -1
  235. package/dist/{unified-runner-B0cMr4If.js → unified-runner-CSqDmSWt.js} +145 -22
  236. package/dist/{unified-runner-ByJSAveb.js → unified-runner-CuhQvmLZ.js} +138 -7
  237. package/dist/{update-BDo7wxMf.js → update-B7qKOIqP.js} +1 -1
  238. package/dist/{update-check-oEbS0voJ.js → update-check-BCL_K7kx.js} +1 -1
  239. package/dist/{update-check-A86nJKtZ.js → update-check-DLOnLuop.js} +1 -1
  240. package/dist/{update-cli-y4Q__h4E.js → update-cli-BsfG48ZS.js} +59 -59
  241. package/dist/{update-cli-CrP5Kvo4.js → update-cli-Df_HQi-p.js} +59 -59
  242. package/dist/{update-runner-DHi359Tb.js → update-runner-BLV8SI96.js} +2 -2
  243. package/dist/{update-runner-CQMv-ibM.js → update-runner-Cext3X8r.js} +2 -2
  244. package/dist/{update-CcacbR32.js → update-yYduAjKd.js} +1 -1
  245. package/dist/{webhooks-cli-BUWSS_ve.js → webhooks-cli-CkSbVFZl.js} +2 -2
  246. package/dist/{webhooks-cli-BrDeMswO.js → webhooks-cli-D5k-Y2A8.js} +2 -2
  247. package/dist/{with-timeout-B0ZJa7f2.js → with-timeout-B9GM8DPj.js} +1 -1
  248. package/dist/{with-timeout-GbJ1Yzsh.js → with-timeout-DPR4A2dx.js} +1 -1
  249. package/package.json +1 -1
  250. /package/dist/{agents.config-DK6nN-Qh.js → agents.config-B7sNDvhz.js} +0 -0
  251. /package/dist/{agents.config-Cyc_RegL.js → agents.config-CqfMQEiy.js} +0 -0
  252. /package/dist/{argv-Bl0th4dq.js → argv-D6PT4jl6.js} +0 -0
  253. /package/dist/{auth-choice-legacy-BZWIpO92.js → auth-choice-legacy-CsL_9IlL.js} +0 -0
  254. /package/dist/{auth-choice-legacy-iEyARXI2.js → auth-choice-legacy-D9d98wkI.js} +0 -0
  255. /package/dist/{auth-token-DyhvQgv4.js → auth-token-Cr28IDKY.js} +0 -0
  256. /package/dist/{auth-token-lPWiklDD.js → auth-token-YTHu2ftn.js} +0 -0
  257. /package/dist/{bindings-c7qLJdIA.js → bindings-BRZBH7eX.js} +0 -0
  258. /package/dist/{bindings-BAOPW5eK.js → bindings-DIhsYGa_.js} +0 -0
  259. /package/dist/{brew-B4FH-mEH.js → brew-Clk21D21.js} +0 -0
  260. /package/dist/{brew-CI00FKf8.js → brew-DD55iLUe.js} +0 -0
  261. /package/dist/{catalog-BaM8d1-T.js → catalog-BQgWCFTH.js} +0 -0
  262. /package/dist/{catalog-BnLcGVie.js → catalog-BptA-dUv.js} +0 -0
  263. /package/dist/{channel-selection-BrFl0vVK.js → channel-selection-CmU8iVio.js} +0 -0
  264. /package/dist/{channel-selection-DjrS6oiz.js → channel-selection-H1qOf0q-.js} +0 -0
  265. /package/dist/{channels-status-issues-BwbA2OBt.js → channels-status-issues-BTvrA4nx.js} +0 -0
  266. /package/dist/{channels-status-issues-iWQDGUQe.js → channels-status-issues-DLIzUsjR.js} +0 -0
  267. /package/dist/{cli-utils-Ca0KE-dW.js → cli-utils-CuyGL3rq.js} +0 -0
  268. /package/dist/{cli-utils-CbnnSB38.js → cli-utils-DXfA5936.js} +0 -0
  269. /package/dist/{clipboard-BSTxQ2tO.js → clipboard-BGveOWXP.js} +0 -0
  270. /package/dist/{clipboard-CHn5r7Kj.js → clipboard-v8OffNHk.js} +0 -0
  271. /package/dist/{command-options-DgcCGXMQ.js → command-options-BFvvecvU.js} +0 -0
  272. /package/dist/{command-options-Vxb4M7Aj.js → command-options-DDDwkB9t.js} +0 -0
  273. /package/dist/{config-validation-DQ-lm2Qx.js → config-validation-Cdyg1BZB.js} +0 -0
  274. /package/dist/{config-validation-DhsYEtLL.js → config-validation-CeEJcuMJ.js} +0 -0
  275. /package/dist/{consolidate-BoM9cz9L.js → consolidate-BNTNdxdL.js} +0 -0
  276. /package/dist/{consolidate-nNhnUpNj.js → consolidate-DymnvvYm.js} +0 -0
  277. /package/dist/{control-ui-assets-CnX0W3vy.js → control-ui-assets-CJQ97d4u.js} +0 -0
  278. /package/dist/{control-ui-assets-DfBRXG5y.js → control-ui-assets-Dnz69KRU.js} +0 -0
  279. /package/dist/{cost-cli-CmfkZsmZ.js → cost-cli-BfcKmCc4.js} +0 -0
  280. /package/dist/{cost-cli-C9LvOtGz.js → cost-cli-DWiVCOCx.js} +0 -0
  281. /package/dist/{delivery-queue-CIwn40ej.js → delivery-queue-B2oigbh4.js} +0 -0
  282. /package/dist/{delivery-queue-duM0RT18.js → delivery-queue-OAc7hsIs.js} +0 -0
  283. /package/dist/{deps-D5me2CAW.js → deps-Bf9dt2UO.js} +0 -0
  284. /package/dist/{dm-policy-shared-EuuPwRNE.js → dm-policy-shared-BtrdvOIT.js} +0 -0
  285. /package/dist/{dm-policy-shared-BUwZ6Ajx.js → dm-policy-shared-CeFt0nch.js} +0 -0
  286. /package/dist/{entry-status-D0BSpWt_.js → entry-status-DnvpZhUd.js} +0 -0
  287. /package/dist/{format-BFJAwjeA.js → format-CZeGyu83.js} +0 -0
  288. /package/dist/{gmail-setup-utils-_TEJA4pL.js → gmail-setup-utils-BYBwPfuu.js} +0 -0
  289. /package/dist/{gmail-setup-utils-DJgxyDTX.js → gmail-setup-utils-CGaQ7-Vb.js} +0 -0
  290. /package/dist/{health-format-Li703vy6.js → health-format-6tfMqkNX.js} +0 -0
  291. /package/dist/{health-format-Dp4xmTKn.js → health-format-Bxg84_f4.js} +0 -0
  292. /package/dist/{help-format-8IYCRvx1.js → help-format-7hFcsqss.js} +0 -0
  293. /package/dist/{help-format-BTNd5kFC.js → help-format-Dbp8yEhl.js} +0 -0
  294. /package/dist/{helpers-DGBa5iKd.js → helpers-B_p8ul9t.js} +0 -0
  295. /package/dist/{helpers-CoScWBmD.js → helpers-CBCZwlBW.js} +0 -0
  296. /package/dist/{helpers-lLtg0Hgi.js → helpers-CKQ7JYPP.js} +0 -0
  297. /package/dist/{helpers-BnXDQL2q.js → helpers-G6zuddmF.js} +0 -0
  298. /package/dist/{ipv4-CCdAVmwu.js → ipv4-C_NtZ3JP.js} +0 -0
  299. /package/dist/{ipv4-DFUXU3PT.js → ipv4-qGjACkoi.js} +0 -0
  300. /package/dist/{links-CQZxjjCO.js → links-Bqr0FxXx.js} +0 -0
  301. /package/dist/{links-B9CbwY46.js → links-Dnmd-RS-.js} +0 -0
  302. /package/dist/{logging-CLWZ3KQI.js → logging-BWknayJl.js} +0 -0
  303. /package/dist/{logging-BmJ5ky59.js → logging-DDnP1BTp.js} +0 -0
  304. /package/dist/{logging-BRejMykf.js → logging-Ev3fNJEG.js} +0 -0
  305. /package/dist/{logging-uD67RPtO.js → logging-UO6tk8Em.js} +0 -0
  306. /package/dist/{model-BMFj7NXy.js → model-MUMSB_7d.js} +0 -0
  307. /package/dist/{model-param-b-DieX_ZxM.js → model-param-b-BQFczpbd.js} +0 -0
  308. /package/dist/{onboard-config-B9Iy9-4f.js → onboard-config-DrMJycgG.js} +0 -0
  309. /package/dist/{onboard-config-DwsP5yz1.js → onboard-config-yFJq4mEu.js} +0 -0
  310. /package/dist/{outbound-send-deps-DpyxnI3f.js → outbound-send-deps--SpwgFhS.js} +0 -0
  311. /package/dist/{outbound-send-deps-JQjmNLPx.js → outbound-send-deps-BCyarBRf.js} +0 -0
  312. /package/dist/{parse-log-line-BQPvB6cZ.js → parse-log-line-DfH8ycNl.js} +0 -0
  313. /package/dist/{parse-log-line-Cg7e_EO6.js → parse-log-line-Vp8N7lak.js} +0 -0
  314. /package/dist/{parse-port-CLBKavYE.js → parse-port-Bi7Gqqv0.js} +0 -0
  315. /package/dist/{parse-port-dzRz6QnZ.js → parse-port-CMRD6fhd.js} +0 -0
  316. /package/dist/{parse-timeout-CuYdP9TL.js → parse-timeout-DmEcHIsV.js} +0 -0
  317. /package/dist/{parse-timeout-DUdeaMqF.js → parse-timeout-widuTpq9.js} +0 -0
  318. /package/dist/{path-safety-ZDtSDPro.js → path-safety-CV-2z0JS.js} +0 -0
  319. /package/dist/{path-safety-cWA8NpOb.js → path-safety-CkXjT453.js} +0 -0
  320. /package/dist/{plugins-allowlist-C5r7biDp.js → plugins-allowlist-CAXiY1du.js} +0 -0
  321. /package/dist/{plugins-allowlist-CD4oIJNk.js → plugins-allowlist-DV-EyqWq.js} +0 -0
  322. /package/dist/{ports-C2swmreL.js → ports-gFlaMWtN.js} +0 -0
  323. /package/dist/{ports-BE4iY9ho.js → ports-r7LBic2V.js} +0 -0
  324. /package/dist/{program-context-CGKRxOBU.js → program-context-B_0V80zV.js} +0 -0
  325. /package/dist/{progress-BOQ0hkeM.js → progress-CI19Xh3z.js} +0 -0
  326. /package/dist/{progress-DQTvTiEg.js → progress-swt2y17x.js} +0 -0
  327. /package/dist/{prompt-style-CzRuIYtp.js → prompt-style-CZGg35Py.js} +0 -0
  328. /package/dist/{prompt-style-pphr4yLK.js → prompt-style-olk5zI5k.js} +0 -0
  329. /package/dist/{prompts-B98rp78m.js → prompts-CNzp9M83.js} +0 -0
  330. /package/dist/{prompts-CqJkfsHC.js → prompts-D4yOwSll.js} +0 -0
  331. /package/dist/{pw-ai-DQZa9DUQ.js → pw-ai-BiBvIJzd.js} +0 -0
  332. /package/dist/{pw-ai-DBAtSFTB.js → pw-ai-C0Jie9u9.js} +0 -0
  333. /package/dist/{qmd-manager-C1levE0a.js → qmd-manager-4tXuJfLY.js} +0 -0
  334. /package/dist/{qmd-manager-CR71XjjR.js → qmd-manager-C8-M4Pru.js} +0 -0
  335. /package/dist/{qr-cli-DHpiebkG.js → qr-cli-1sCVaPcF.js} +0 -0
  336. /package/dist/{qr-cli-D2A-IU0Y.js → qr-cli-BnNm-DMY.js} +0 -0
  337. /package/dist/{replies-_DV8VSSj.js → replies-CLREUzzB.js} +0 -0
  338. /package/dist/{replies-C5CBlnFS.js → replies-CbXXjn9X.js} +0 -0
  339. /package/dist/{runtime-guard-Bgv3O9s4.js → runtime-guard-CWA00ZXa.js} +0 -0
  340. /package/dist/{runtime-guard-ofQGcCUc.js → runtime-guard-LRRZ73eX.js} +0 -0
  341. /package/dist/{runtime-status-B-PXkhrX.js → runtime-status-BgZqic8M.js} +0 -0
  342. /package/dist/{runtime-status-Zb9OQ0VK.js → runtime-status-DV2uMNRb.js} +0 -0
  343. /package/dist/{session-dirs-BsQ-g02q.js → session-dirs-C9E2G0yZ.js} +0 -0
  344. /package/dist/{session-dirs-DpiMgw4q.js → session-dirs-pNE-WE2a.js} +0 -0
  345. /package/dist/{sessions-BSmT7vGX.js → sessions-C2vCAjTZ.js} +0 -0
  346. /package/dist/{shared-Ck6cf10x.js → shared-COtpr3Ad.js} +0 -0
  347. /package/dist/{shared-Crfo8y70.js → shared-DHJR5_SP.js} +0 -0
  348. /package/dist/{skill-scanner-EhsZUzzk.js → skill-scanner-BC3PyNso.js} +0 -0
  349. /package/dist/{skill-scanner-D5p8L-xO.js → skill-scanner-BCgVcIwi.js} +0 -0
  350. /package/dist/{status-DtyqId3v.js → status-Bah7VY4i.js} +0 -0
  351. /package/dist/{status-dOhj12u0.js → status-BzmfZaEV.js} +0 -0
  352. /package/dist/{system-run-command-2oJPKfVr.js → system-run-command-CYEDiFm7.js} +0 -0
  353. /package/dist/{system-run-command-D_OmCQOL.js → system-run-command-olPQqEUJ.js} +0 -0
  354. /package/dist/{systemd-Dtydk5-z.js → systemd-CNnW7Chw.js} +0 -0
  355. /package/dist/{systemd-Dic80Qni.js → systemd-CUIM0n5P.js} +0 -0
  356. /package/dist/{table-Ds5CZCyv.js → table-0A3xKJVC.js} +0 -0
  357. /package/dist/{table-Dm8jYqmW.js → table-D0JXlEhQ.js} +0 -0
  358. /package/dist/{tool-loop-detection-2Mxxm8YE.js → tool-loop-detection-BFFEnLXH.js} +0 -0
  359. /package/dist/{tool-loop-detection-Bk07vuCX.js → tool-loop-detection-CyaMgdb1.js} +0 -0
  360. /package/dist/{widearea-dns-BwIBBqZo.js → widearea-dns-CKKGWxWC.js} +0 -0
  361. /package/dist/{widearea-dns-DA_m7oeT.js → widearea-dns-DHO-Mc6G.js} +0 -0
  362. /package/dist/{workspace-DD9pYbiv.js → workspace-BEOJvHML.js} +0 -0
  363. /package/dist/{workspace-Wkr6wXcS.js → workspace-dN7eNg6n.js} +0 -0
  364. /package/dist/{wsl-Ci3VOaSK.js → wsl-CglTdtlb.js} +0 -0
  365. /package/dist/{wsl-S50RbgL8.js → wsl-DMA0sTvh.js} +0 -0
@@ -5,27 +5,27 @@ import { t as formatCliCommand } from "./command-format-B3nkKRhC.js";
5
5
  import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-D7TcU4qN.js";
6
6
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BsEhWvLn.js";
7
7
  import { a as findTailscaleBinary } from "./tailscale-FeJ1M0mP.js";
8
- import { n as withProgress } from "./progress-BOQ0hkeM.js";
9
- import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-CzRuIYtp.js";
10
- import { t as note$1 } from "./note-Cltpxj6i.js";
11
- import { t as WizardCancelledError } from "./prompts-CqJkfsHC.js";
12
- import { t as createClackPrompter } from "./clack-prompter-_kEnSVz4.js";
13
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-DeRg97iI.js";
14
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DaJ4Tf2a.js";
15
- import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-CAAZ0RDq.js";
16
- import { t as resolveGatewayService } from "./service-Ccv3Zi5_.js";
17
- import { r as healthCommand } from "./health-D0jGdk53.js";
18
- import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DfBRXG5y.js";
19
- import { n as logConfigUpdated } from "./logging-BRejMykf.js";
20
- import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-kt2FcieM.js";
21
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-C8ElO44A.js";
22
- import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-CS_h9RHv.js";
23
- import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DjoQVcOq.js";
24
- import { a as promptCustomApiConfig } from "./onboard-custom-C-wfNtOM.js";
25
- import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-DFUXU3PT.js";
26
- import { t as formatHealthCheckFailure } from "./health-format-Li703vy6.js";
27
- import { n as promptRemoteGatewayConfig } from "./onboard-remote-CXRFa8AU.js";
28
- import { n as setupSkills } from "./onboard-skills-C_93kjju.js";
8
+ import { n as withProgress } from "./progress-CI19Xh3z.js";
9
+ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-CZGg35Py.js";
10
+ import { t as note$1 } from "./note-BIAQpZxi.js";
11
+ import { t as WizardCancelledError } from "./prompts-D4yOwSll.js";
12
+ import { t as createClackPrompter } from "./clack-prompter-BMQT37oC.js";
13
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-C4_2V9uU.js";
14
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-AkgOtHR6.js";
15
+ import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-Dpb3-BZm.js";
16
+ import { t as resolveGatewayService } from "./service-DYpU1ajf.js";
17
+ import { r as healthCommand } from "./health-Ba5X7a38.js";
18
+ import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Dnz69KRU.js";
19
+ import { n as logConfigUpdated } from "./logging-Ev3fNJEG.js";
20
+ import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-D6A5uuj3.js";
21
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-CYIdNu5I.js";
22
+ import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-DvP8ViSf.js";
23
+ import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-CctFkWNE.js";
24
+ import { a as promptCustomApiConfig } from "./onboard-custom-CfKvdcJ5.js";
25
+ import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-qGjACkoi.js";
26
+ import { t as formatHealthCheckFailure } from "./health-format-6tfMqkNX.js";
27
+ import { n as promptRemoteGatewayConfig } from "./onboard-remote-B8wiom2Y.js";
28
+ import { n as setupSkills } from "./onboard-skills-BaprraLV.js";
29
29
  import { confirm, intro, outro, select, text } from "@clack/prompts";
30
30
 
31
31
  //#region src/commands/configure.shared.ts
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { o as createSubsystemLogger } from "./entry.js";
3
3
  import { i as loadConfig } from "./config-D7TcU4qN.js";
4
4
  import { x as ensureChromeExtensionRelayServer } from "./chrome-D1eO2jfe.js";
5
- import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-D-82OTsT.js";
5
+ import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-DrAh6Cgw.js";
6
6
 
7
7
  //#region src/browser/server-lifecycle.ts
8
8
  async function ensureExtensionRelayForProfiles(params) {
@@ -80,7 +80,7 @@ async function stopBrowserControlService() {
80
80
  });
81
81
  state = null;
82
82
  try {
83
- await (await import("./pw-ai-DBAtSFTB.js")).closePlaywrightBrowserConnection();
83
+ await (await import("./pw-ai-C0Jie9u9.js")).closePlaywrightBrowserConnection();
84
84
  } catch {}
85
85
  }
86
86
 
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
3
3
  import { i as loadConfig } from "./config-B4jkreCN.js";
4
4
  import { x as ensureChromeExtensionRelayServer } from "./chrome-DJChpTwP.js";
5
- import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-SbbjNkPL.js";
5
+ import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-ChcbJgNo.js";
6
6
 
7
7
  //#region src/browser/server-lifecycle.ts
8
8
  async function ensureExtensionRelayForProfiles(params) {
@@ -80,7 +80,7 @@ async function stopBrowserControlService() {
80
80
  });
81
81
  state = null;
82
82
  try {
83
- await (await import("./pw-ai-DQZa9DUQ.js")).closePlaywrightBrowserConnection();
83
+ await (await import("./pw-ai-BiBvIJzd.js")).closePlaywrightBrowserConnection();
84
84
  } catch {}
85
85
  }
86
86
 
@@ -987,6 +987,172 @@ body {
987
987
  box-shadow: 0 0 8px rgba(0, 212, 255, 0.18);
988
988
  }
989
989
 
990
+ /* ── Phase 4: type-specific body renderers ───────────────────────── */
991
+
992
+ /* Text + markdown: inherit from .symframe-card-body. Add minimal
993
+ markdown rules — most users will want headings and code blocks
994
+ readable but compact. */
995
+ .symframe-body-markdown h1,
996
+ .symframe-body-markdown h2,
997
+ .symframe-body-markdown h3,
998
+ .symframe-body-markdown h4 {
999
+ font-size: 12px;
1000
+ font-weight: 600;
1001
+ margin: 8px 0 4px;
1002
+ color: var(--text);
1003
+ }
1004
+ .symframe-body-markdown p {
1005
+ margin: 4px 0;
1006
+ }
1007
+ .symframe-body-markdown ul,
1008
+ .symframe-body-markdown ol {
1009
+ padding-left: 18px;
1010
+ margin: 4px 0;
1011
+ }
1012
+ .symframe-body-markdown code {
1013
+ font-family: var(--font-mono);
1014
+ font-size: 10px;
1015
+ padding: 1px 4px;
1016
+ background: rgba(255, 255, 255, 0.04);
1017
+ border-radius: 3px;
1018
+ }
1019
+ .symframe-body-markdown pre {
1020
+ background: rgba(0, 0, 0, 0.25);
1021
+ border: 1px solid rgba(255, 255, 255, 0.05);
1022
+ border-radius: 5px;
1023
+ padding: 8px;
1024
+ overflow-x: auto;
1025
+ margin: 6px 0;
1026
+ }
1027
+ .symframe-body-markdown pre code {
1028
+ background: transparent;
1029
+ padding: 0;
1030
+ font-size: 10px;
1031
+ }
1032
+
1033
+ /* Code body — pre/code wrapper with hljs theme-friendly chrome. */
1034
+ .symframe-body-code {
1035
+ background: rgba(0, 0, 0, 0.3);
1036
+ border: 1px solid rgba(255, 255, 255, 0.06);
1037
+ border-radius: 5px;
1038
+ padding: 8px 10px;
1039
+ margin: 0;
1040
+ overflow-x: auto;
1041
+ max-height: 320px;
1042
+ overflow-y: auto;
1043
+ }
1044
+ .symframe-body-code code {
1045
+ font-family: var(--font-mono);
1046
+ font-size: 10px;
1047
+ line-height: 1.45;
1048
+ color: var(--text);
1049
+ background: transparent;
1050
+ }
1051
+
1052
+ /* Email-draft — From/To/Subject header rows + body. */
1053
+ .symframe-body-email {
1054
+ display: flex;
1055
+ flex-direction: column;
1056
+ gap: 4px;
1057
+ }
1058
+ .symframe-email-row {
1059
+ display: flex;
1060
+ gap: 6px;
1061
+ font-family: var(--font-mono);
1062
+ font-size: 10px;
1063
+ letter-spacing: 0.02em;
1064
+ padding: 2px 0;
1065
+ border-bottom: 1px dashed rgba(255, 255, 255, 0.05);
1066
+ }
1067
+ .symframe-email-row:last-of-type {
1068
+ border-bottom: 1px solid rgba(255, 255, 255, 0.08);
1069
+ margin-bottom: 4px;
1070
+ padding-bottom: 4px;
1071
+ }
1072
+ .symframe-email-label {
1073
+ flex: 0 0 auto;
1074
+ color: var(--text-dim);
1075
+ text-transform: uppercase;
1076
+ letter-spacing: 0.06em;
1077
+ font-size: 9px;
1078
+ min-width: 48px;
1079
+ opacity: 0.7;
1080
+ }
1081
+ .symframe-email-value {
1082
+ color: var(--text);
1083
+ word-break: break-word;
1084
+ }
1085
+ .symframe-email-body {
1086
+ font-family: var(--font-mono);
1087
+ font-size: 11px;
1088
+ line-height: 1.5;
1089
+ color: var(--text);
1090
+ white-space: pre-wrap;
1091
+ word-break: break-word;
1092
+ margin-top: 4px;
1093
+ }
1094
+
1095
+ /* PDF embed */
1096
+ .symframe-body-pdf {
1097
+ display: flex;
1098
+ flex-direction: column;
1099
+ gap: 6px;
1100
+ }
1101
+ .symframe-pdf-iframe {
1102
+ width: 100%;
1103
+ height: 280px;
1104
+ border: 1px solid rgba(255, 255, 255, 0.08);
1105
+ border-radius: 5px;
1106
+ background: rgba(0, 0, 0, 0.2);
1107
+ }
1108
+
1109
+ /* Audio + video shared chrome */
1110
+ .symframe-body-audio,
1111
+ .symframe-body-video {
1112
+ display: flex;
1113
+ flex-direction: column;
1114
+ gap: 6px;
1115
+ }
1116
+ .symframe-audio,
1117
+ .symframe-video {
1118
+ width: 100%;
1119
+ border-radius: 5px;
1120
+ background: rgba(0, 0, 0, 0.2);
1121
+ }
1122
+ .symframe-video {
1123
+ max-height: 280px;
1124
+ object-fit: contain;
1125
+ }
1126
+
1127
+ /* Empty-media placeholder when url is missing */
1128
+ .symframe-body-empty {
1129
+ font-family: var(--font-mono);
1130
+ font-size: 10px;
1131
+ color: var(--text-dim);
1132
+ opacity: 0.6;
1133
+ font-style: italic;
1134
+ }
1135
+
1136
+ /* Download link — used by pdf/audio/video renderers */
1137
+ .symframe-download {
1138
+ display: inline-block;
1139
+ padding: 4px 8px;
1140
+ border: 1px solid var(--glass-border);
1141
+ border-radius: 4px;
1142
+ font-family: var(--font-mono);
1143
+ font-size: 10px;
1144
+ letter-spacing: 0.04em;
1145
+ color: var(--text-dim);
1146
+ text-decoration: none;
1147
+ transition: all 0.15s ease;
1148
+ align-self: flex-start;
1149
+ }
1150
+ .symframe-download:hover {
1151
+ border-color: var(--accent-cyan);
1152
+ color: var(--accent-cyan);
1153
+ background: rgba(0, 212, 255, 0.06);
1154
+ }
1155
+
990
1156
  /* ── Response Area ────────────────────────────────────────────────── */
991
1157
  .response-area {
992
1158
  position: fixed;
@@ -57,33 +57,261 @@
57
57
  countEl.textContent = total === 1 ? "1 card" : `${total} cards`;
58
58
  }
59
59
 
60
- // Per-type renderers transform a raw card into HTML the body slot
61
- // accepts. Phase 3 ships `text` (plain) and `markdown` (via the bundled
62
- // marked.min.js). Future types (`code`, `email-draft`, `pdf`, etc.) plug
63
- // in here without touching the rest of the registry.
60
+ // ── Per-type body renderers ──
61
+ // Each renderer takes a card and returns an HTMLElement (or
62
+ // DocumentFragment) that gets appended to the body slot. New types
63
+ // plug in by adding to the renderers map below — no other code path
64
+ // changes required.
65
+
66
+ function renderTextBody(card) {
67
+ const div = document.createElement("div");
68
+ div.className = "symframe-body-text";
69
+ if (card.bodyHtml) {
70
+ div.innerHTML = card.bodyHtml;
71
+ } else {
72
+ div.textContent = card.body || "";
73
+ }
74
+ return div;
75
+ }
76
+
77
+ function renderMarkdownBody(card) {
78
+ const div = document.createElement("div");
79
+ div.className = "symframe-body-markdown";
80
+ if (typeof window.marked?.parse === "function") {
81
+ div.innerHTML = window.marked.parse(card.body || "");
82
+ } else {
83
+ div.textContent = card.body || "";
84
+ }
85
+ return div;
86
+ }
87
+
88
+ function renderCodeBody(card) {
89
+ const pre = document.createElement("pre");
90
+ pre.className = "symframe-body-code";
91
+ const code = document.createElement("code");
92
+ if (card.language) {
93
+ code.classList.add(`language-${card.language}`);
94
+ }
95
+ code.textContent = card.body || "";
96
+ pre.appendChild(code);
97
+ // hljs is bundled as window.hljs via vendor/highlight.min.js. Best-effort
98
+ // highlight; if hljs throws (unknown language, etc.) the plain pre/code
99
+ // already renders fine.
100
+ if (typeof window.hljs?.highlightElement === "function") {
101
+ try {
102
+ window.hljs.highlightElement(code);
103
+ } catch (err) {
104
+ console.warn("[symframe] hljs.highlightElement failed:", err);
105
+ }
106
+ }
107
+ return pre;
108
+ }
109
+
110
+ function renderEmailDraftBody(card) {
111
+ const wrap = document.createElement("div");
112
+ wrap.className = "symframe-body-email";
113
+ const email = card.email || {};
114
+ const headerRows = [
115
+ ["From", email.from],
116
+ ["To", email.to],
117
+ ["Cc", email.cc],
118
+ ["Bcc", email.bcc],
119
+ ["Subject", email.subject],
120
+ ];
121
+ for (const [label, value] of headerRows) {
122
+ if (!value) {
123
+ continue;
124
+ }
125
+ const row = document.createElement("div");
126
+ row.className = "symframe-email-row";
127
+ const lbl = document.createElement("span");
128
+ lbl.className = "symframe-email-label";
129
+ lbl.textContent = `${label}:`;
130
+ const val = document.createElement("span");
131
+ val.className = "symframe-email-value";
132
+ val.textContent = String(value);
133
+ row.appendChild(lbl);
134
+ row.appendChild(val);
135
+ wrap.appendChild(row);
136
+ }
137
+ if (email.body) {
138
+ const body = document.createElement("div");
139
+ body.className = "symframe-email-body";
140
+ body.textContent = email.body;
141
+ wrap.appendChild(body);
142
+ }
143
+ return wrap;
144
+ }
145
+
146
+ function renderEmptyMedia(reason) {
147
+ const div = document.createElement("div");
148
+ div.className = "symframe-body-empty";
149
+ div.textContent = reason;
150
+ return div;
151
+ }
152
+
153
+ function renderPdfBody(card) {
154
+ if (!card.url) {
155
+ return renderEmptyMedia("(no url provided)");
156
+ }
157
+ const wrap = document.createElement("div");
158
+ wrap.className = "symframe-body-pdf";
159
+ const frame = document.createElement("iframe");
160
+ frame.src = card.url;
161
+ frame.className = "symframe-pdf-iframe";
162
+ frame.setAttribute("title", card.title || "PDF document");
163
+ wrap.appendChild(frame);
164
+ wrap.appendChild(buildDownloadLink(card.url, card.downloadName, "Download PDF"));
165
+ return wrap;
166
+ }
167
+
168
+ function renderAudioBody(card) {
169
+ if (!card.url) {
170
+ return renderEmptyMedia("(no url provided)");
171
+ }
172
+ const wrap = document.createElement("div");
173
+ wrap.className = "symframe-body-audio";
174
+ const audio = document.createElement("audio");
175
+ audio.controls = true;
176
+ audio.preload = "metadata";
177
+ audio.className = "symframe-audio";
178
+ if (card.mimeType) {
179
+ const source = document.createElement("source");
180
+ source.src = card.url;
181
+ source.type = card.mimeType;
182
+ audio.appendChild(source);
183
+ } else {
184
+ audio.src = card.url;
185
+ }
186
+ wrap.appendChild(audio);
187
+ wrap.appendChild(buildDownloadLink(card.url, card.downloadName, "Download"));
188
+ return wrap;
189
+ }
190
+
191
+ function renderVideoBody(card) {
192
+ if (!card.url) {
193
+ return renderEmptyMedia("(no url provided)");
194
+ }
195
+ const wrap = document.createElement("div");
196
+ wrap.className = "symframe-body-video";
197
+ const video = document.createElement("video");
198
+ video.controls = true;
199
+ video.preload = "metadata";
200
+ video.className = "symframe-video";
201
+ video.playsInline = true;
202
+ if (card.poster) {
203
+ video.poster = card.poster;
204
+ }
205
+ if (card.mimeType) {
206
+ const source = document.createElement("source");
207
+ source.src = card.url;
208
+ source.type = card.mimeType;
209
+ video.appendChild(source);
210
+ } else {
211
+ video.src = card.url;
212
+ }
213
+ wrap.appendChild(video);
214
+ wrap.appendChild(buildDownloadLink(card.url, card.downloadName, "Download"));
215
+ return wrap;
216
+ }
217
+
218
+ function buildDownloadLink(url, downloadName, label) {
219
+ const a = document.createElement("a");
220
+ a.href = url;
221
+ if (downloadName) {
222
+ a.download = downloadName;
223
+ } else {
224
+ a.setAttribute("download", "");
225
+ }
226
+ a.target = "_blank";
227
+ a.rel = "noopener noreferrer";
228
+ a.className = "symframe-download";
229
+ a.textContent = `⬇ ${label}`;
230
+ return a;
231
+ }
232
+
233
+ const renderers = {
234
+ text: renderTextBody,
235
+ markdown: renderMarkdownBody,
236
+ code: renderCodeBody,
237
+ "email-draft": renderEmailDraftBody,
238
+ pdf: renderPdfBody,
239
+ audio: renderAudioBody,
240
+ video: renderVideoBody,
241
+ };
242
+
64
243
  function renderBodyForType(card) {
65
244
  const type = card.type || "text";
66
- if (type === "markdown" && typeof window.marked?.parse === "function") {
67
- return { html: window.marked.parse(card.body || "") };
245
+ const renderer = renderers[type] || renderers.text;
246
+ return renderer(card);
247
+ }
248
+
249
+ // True iff the card has any body-shaped data — body, bodyHtml, or
250
+ // type-specific structured fields. Used to decide whether to render
251
+ // the body slot at all.
252
+ function hasBodyContent(card) {
253
+ if (card.body || card.bodyHtml) {
254
+ return true;
255
+ }
256
+ if (card.url) {
257
+ return true;
258
+ }
259
+ if (card.email && typeof card.email === "object") {
260
+ return true;
261
+ }
262
+ return false;
263
+ }
264
+
265
+ // Choose what `Copy` would copy for this card. Honors body/bodyHtml first,
266
+ // then type-specific shapes (email-draft renders a plain-text email;
267
+ // url-based media types copy the URL).
268
+ function resolveCopyTarget(card) {
269
+ if (card.body) {
270
+ return card.body;
68
271
  }
69
- // Fallback: text body (escaped via textContent in caller) or trusted HTML.
70
272
  if (card.bodyHtml) {
71
- return { html: card.bodyHtml };
273
+ return card.bodyHtml;
274
+ }
275
+ if (card.email && typeof card.email === "object") {
276
+ const lines = [];
277
+ if (card.email.from) {
278
+ lines.push(`From: ${card.email.from}`);
279
+ }
280
+ if (card.email.to) {
281
+ lines.push(`To: ${card.email.to}`);
282
+ }
283
+ if (card.email.cc) {
284
+ lines.push(`Cc: ${card.email.cc}`);
285
+ }
286
+ if (card.email.bcc) {
287
+ lines.push(`Bcc: ${card.email.bcc}`);
288
+ }
289
+ if (card.email.subject) {
290
+ lines.push(`Subject: ${card.email.subject}`);
291
+ }
292
+ if (card.email.body) {
293
+ lines.push("");
294
+ lines.push(card.email.body);
295
+ }
296
+ return lines.join("\n");
297
+ }
298
+ if (card.url) {
299
+ return card.url;
72
300
  }
73
- return { text: card.body || "" };
301
+ return "";
74
302
  }
75
303
 
76
- // Default Copy action when the card has a body and no explicit actions.
77
- // Wraps card.body (the original text the producer pushed, not the
78
- // rendered HTML) into a clipboard.writeText call.
304
+ // Default Copy action when the card has copyable content and no explicit
305
+ // actions. Custom actions take precedence server-pushed cards or
306
+ // tool-pushed cards with their own buttons get those instead.
79
307
  function buildDefaultActions(card) {
80
308
  if (Array.isArray(card.actions) && card.actions.length > 0) {
81
309
  return card.actions;
82
310
  }
83
- if (!card.body && !card.bodyHtml) {
311
+ const copyTarget = resolveCopyTarget(card);
312
+ if (!copyTarget) {
84
313
  return [];
85
314
  }
86
- const copyTarget = card.body ?? card.bodyHtml ?? "";
87
315
  return [
88
316
  {
89
317
  label: "Copy",
@@ -133,15 +361,13 @@
133
361
  }
134
362
  el.appendChild(header);
135
363
 
136
- // Body via type-specific renderer
137
- if (card.bodyHtml || card.body) {
364
+ // Body via type-specific renderer (returns an Element)
365
+ if (hasBodyContent(card)) {
138
366
  const body = document.createElement("div");
139
367
  body.className = "symframe-card-body";
140
368
  const rendered = renderBodyForType(card);
141
- if (rendered.html !== undefined) {
142
- body.innerHTML = rendered.html;
143
- } else {
144
- body.textContent = rendered.text;
369
+ if (rendered) {
370
+ body.appendChild(rendered);
145
371
  }
146
372
  el.appendChild(body);
147
373
  }
@@ -13,10 +13,10 @@ import "./pairing-token-B-OTYROz.js";
13
13
  import { n as listChannelPlugins } from "./plugins-BsEhWvLn.js";
14
14
  import { n as formatDurationHuman } from "./format-duration-CIjmjQST.js";
15
15
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs } from "./stagger-DUVGiPYV.js";
16
- import { t as formatDocsLink } from "./links-B9CbwY46.js";
17
- import "./progress-BOQ0hkeM.js";
18
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-vivTzTCq.js";
19
- import { n as parsePositiveIntOrUndefined } from "./helpers-lLtg0Hgi.js";
16
+ import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
17
+ import "./progress-CI19Xh3z.js";
18
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BmYtSmmM.js";
19
+ import { n as parsePositiveIntOrUndefined } from "./helpers-CKQ7JYPP.js";
20
20
 
21
21
  //#region src/cli/cron-cli/shared.ts
22
22
  const getCronChannelOptions = () => ["last", ...listChannelPlugins().map((plugin) => plugin.id)].join("|");
@@ -18,10 +18,10 @@ import "./call-PpGwcPn-.js";
18
18
  import "./pairing-token-Dcy37-4s.js";
19
19
  import { n as formatDurationHuman } from "./format-duration-CIjmjQST.js";
20
20
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs } from "./stagger-DQs772BN.js";
21
- import { t as formatDocsLink } from "./links-CQZxjjCO.js";
22
- import "./progress-DQTvTiEg.js";
23
- import { n as parsePositiveIntOrUndefined } from "./helpers-DGBa5iKd.js";
24
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DMSsr0Xn.js";
21
+ import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
22
+ import "./progress-swt2y17x.js";
23
+ import { n as parsePositiveIntOrUndefined } from "./helpers-B_p8ul9t.js";
24
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DJ2ZjQmX.js";
25
25
 
26
26
  //#region src/cli/cron-cli/shared.ts
27
27
  const getCronChannelOptions = () => ["last", ...listChannelPlugins().map((plugin) => plugin.id)].join("|");
@@ -9,18 +9,18 @@ import { n as pickPrimaryTailnetIPv4 } from "./tailnet-B2SPYrh4.js";
9
9
  import { a as resolveGatewayAuth } from "./auth-pHRwjgkx.js";
10
10
  import { i as formatPortDiagnostics, n as inspectPortUsage } from "./ports-uA7P2qIK.js";
11
11
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-BP_JoSwO.js";
12
- import { t as formatDocsLink } from "./links-B9CbwY46.js";
13
- import { n as withProgress } from "./progress-BOQ0hkeM.js";
14
- import { n as inheritOptionFromParent } from "./command-options-Vxb4M7Aj.js";
15
- import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DaJ4Tf2a.js";
16
- import { g as resolveControlUiLinks, h as randomToken } from "./onboard-helpers-CAAZ0RDq.js";
17
- import { n as isWSLEnv } from "./wsl-S50RbgL8.js";
18
- import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-Ccv3Zi5_.js";
19
- import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-O50xtu5c.js";
20
- import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-DmDUq9JT.js";
21
- import { t as parsePort } from "./parse-port-CLBKavYE.js";
22
- import { t as readLastGatewayErrorLine } from "./diagnostics-BZH08r5U.js";
23
- import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-C3_zr-N9.js";
12
+ import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
13
+ import { n as withProgress } from "./progress-CI19Xh3z.js";
14
+ import { n as inheritOptionFromParent } from "./command-options-BFvvecvU.js";
15
+ import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-AkgOtHR6.js";
16
+ import { g as resolveControlUiLinks, h as randomToken } from "./onboard-helpers-Dpb3-BZm.js";
17
+ import { n as isWSLEnv } from "./wsl-DMA0sTvh.js";
18
+ import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-DYpU1ajf.js";
19
+ import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-YmWzkN43.js";
20
+ import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-BoFy3-m1.js";
21
+ import { t as parsePort } from "./parse-port-Bi7Gqqv0.js";
22
+ import { t as readLastGatewayErrorLine } from "./diagnostics-D2oNwzue.js";
23
+ import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-CRa8Af7f.js";
24
24
 
25
25
  //#region src/cli/daemon-cli/install.ts
26
26
  async function runDaemonInstall(opts) {
@@ -12,18 +12,18 @@ import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-gxLM5
12
12
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DgjXWzf-.js";
13
13
  import { n as callGateway } from "./call-PpGwcPn-.js";
14
14
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-BLIhifCJ.js";
15
- import { t as formatDocsLink } from "./links-CQZxjjCO.js";
16
- import { n as withProgress } from "./progress-DQTvTiEg.js";
17
- import { n as inheritOptionFromParent } from "./command-options-DgcCGXMQ.js";
18
- import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-7YBz5otm.js";
19
- import { g as resolveControlUiLinks, h as randomToken } from "./onboard-helpers-Cv6fL8Vq.js";
20
- import { n as isWSLEnv } from "./wsl-Ci3VOaSK.js";
21
- import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-BF50XyKr.js";
22
- import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-DdbL6ELJ.js";
23
- import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-bP8dBJ78.js";
24
- import { t as parsePort } from "./parse-port-dzRz6QnZ.js";
25
- import { t as readLastGatewayErrorLine } from "./diagnostics-CdawaB0U.js";
26
- import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-D_lN8pwg.js";
15
+ import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
16
+ import { n as withProgress } from "./progress-swt2y17x.js";
17
+ import { n as inheritOptionFromParent } from "./command-options-DDDwkB9t.js";
18
+ import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DlQla_dA.js";
19
+ import { g as resolveControlUiLinks, h as randomToken } from "./onboard-helpers-DI-HmD7F.js";
20
+ import { n as isWSLEnv } from "./wsl-CglTdtlb.js";
21
+ import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-e6MzlLCd.js";
22
+ import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-wFwnK_mD.js";
23
+ import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-CsrzMCTD.js";
24
+ import { t as parsePort } from "./parse-port-CMRD6fhd.js";
25
+ import { t as readLastGatewayErrorLine } from "./diagnostics-DlZODdRf.js";
26
+ import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-CGKsaVZ4.js";
27
27
 
28
28
  //#region src/cli/daemon-cli/install.ts
29
29
  async function runDaemonInstall(opts) {