@symerian/symi 2.6.42 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/dist/{accounts-DDuIpcln.js → accounts-Cd816n6l.js} +7 -7
  2. package/dist/{accounts-bK-Yqdwx.js → accounts-CokRskCl.js} +1 -1
  3. package/dist/{accounts-DyJN4_vR.js → accounts-mN_EcgxC.js} +1 -1
  4. package/dist/{acp-cli-CrEIx-c7.js → acp-cli-COzlJi3B.js} +6 -6
  5. package/dist/{agent-scope-CgUHAtCo.js → agent-scope-BRwEc2pG.js} +18 -18
  6. package/dist/{agents-DDRDszOI.js → agents-Cu2bthAX.js} +4 -4
  7. package/dist/{agents.config-BKCY6F2A.js → agents.config-5PTwsijs.js} +1 -1
  8. package/dist/{agents.config-BEVb1Pyx.js → agents.config-Dib8Uo2P.js} +2 -2
  9. package/dist/{api-key-rotation-CzuPlV2t.js → api-key-rotation-CEr3lKih.js} +1 -1
  10. package/dist/{audio-preflight-CIiS5cfP.js → audio-preflight-mj-z_vQ6.js} +28 -28
  11. package/dist/{audit-DB9YkTVX.js → audit-Djfdh06o.js} +23 -23
  12. package/dist/{auth-choice-BbzReh6k.js → auth-choice-5gul6jy2.js} +1 -1
  13. package/dist/{auth-choice-D2xXwBeN.js → auth-choice-CmSUU3t8.js} +8 -8
  14. package/dist/{auth-token-Cay2jwzn.js → auth-token-83A2btbE.js} +1 -1
  15. package/dist/{banner-DqqRwplt.js → banner-B4vQpMIJ.js} +1 -1
  16. package/dist/{bindings-DFaVVCsf.js → bindings-ChzePa8q.js} +1 -1
  17. package/dist/{browser-cli-Ctn9do4z.js → browser-cli-BTD0NlrA.js} +9 -9
  18. package/dist/build-info.json +3 -3
  19. package/dist/bundled/boot-md/handler.js +1 -1
  20. package/dist/bundled/session-memory/handler.js +1 -1
  21. package/dist/{call-DwpGquzW.js → call-tmHtVCkn.js} +9 -9
  22. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  23. package/dist/{channel-options-DQcpDVCx.js → channel-options-DVf4CJIu.js} +1 -1
  24. package/dist/{channel-options-DcazVJQf.js → channel-options-DsWGc55A.js} +2 -2
  25. package/dist/{channel-selection-V2xDgw16.js → channel-selection-DaJDux-Q.js} +1 -1
  26. package/dist/{channel-web-u5yMYO4j.js → channel-web-vGC-WJXi.js} +17 -17
  27. package/dist/{channels-cli-Bog4Kn3X.js → channels-cli-COayA28A.js} +76 -76
  28. package/dist/{channels-cli-C3iJE8eg.js → channels-cli-CSv05N3q.js} +4 -4
  29. package/dist/{channels-status-issues-CJ0Vb_9z.js → channels-status-issues-B_PI3nEE.js} +1 -1
  30. package/dist/{chrome-DU2ZysN3.js → chrome-CSJzpT9Z.js} +2 -2
  31. package/dist/cli/daemon-cli.js +1 -1
  32. package/dist/{cli-eBtEEHLK.js → cli-B-g79xPe.js} +1 -1
  33. package/dist/{cli-QybdZdE7.js → cli-DJjOxip6.js} +63 -63
  34. package/dist/{client-jI1oE0_k.js → client-Bj_vTpri.js} +1 -1
  35. package/dist/{command-registry-BWnZSpbL.js → command-registry-BvpLfzl7.js} +9 -9
  36. package/dist/{commands-BNLCWX6e.js → commands-CtocZ4Lg.js} +1 -1
  37. package/dist/{commands-registry-BT0-zzs3.js → commands-registry-BZ0ZSQpM.js} +3 -3
  38. package/dist/{completion-cli-CUKm7Hb6.js → completion-cli-CfRZ-7QF.js} +2 -2
  39. package/dist/{completion-cli-BhJFXaVU.js → completion-cli-DtQcXg1N.js} +12 -12
  40. package/dist/{config-cli-CjnQyv45.js → config-cli-D9Z78raJ.js} +4 -4
  41. package/dist/{config-cli-B796xZBe.js → config-cli-DL2RdfLM.js} +1 -1
  42. package/dist/{config-guard-CEkSg4hl.js → config-guard-4oRmpR0a.js} +12 -12
  43. package/dist/{config-Dz95lSBW.js → config-tNauHpdq.js} +2 -2
  44. package/dist/{config-validation-HDVDlMSV.js → config-validation-BoDWiwe3.js} +1 -1
  45. package/dist/{configure-DUqT7Dyn.js → configure-Dq4f8WPa.js} +3 -3
  46. package/dist/{configure-D3wIQ0yI.js → configure-jDpF8lmx.js} +15 -15
  47. package/dist/{control-service-BYKXzY4f.js → control-service-BBnhN7aZ.js} +4 -4
  48. package/dist/control-ui/css/style.css +51 -0
  49. package/dist/control-ui/js/app.js +39 -0
  50. package/dist/control-ui/js/gateway.js +2 -0
  51. package/dist/control-ui/js/settings.js +71 -8
  52. package/dist/{control-ui-assets-B7moDVHX.js → control-ui-assets-6n-YayeS.js} +1 -1
  53. package/dist/{cron-cli-DCpsXkrw.js → cron-cli-D165ecaj.js} +10 -10
  54. package/dist/{daemon-cli-DSDcmWOi.js → daemon-cli-BccZzUb0.js} +11 -11
  55. package/dist/{daemon-runtime-mE1b-Q48.js → daemon-runtime-u01h46bE.js} +10 -10
  56. package/dist/{deliver-B4KZ6-oZ.js → deliver-BYdNAEqj.js} +7 -7
  57. package/dist/{devices-cli-x3jIP4Ih.js → devices-cli-D0N71nqX.js} +6 -6
  58. package/dist/{diagnostics-BRwihzJG.js → diagnostics-BrUo0gqs.js} +5 -5
  59. package/dist/{directory-cli-KgsAVTA0.js → directory-cli-aj7aXIBM.js} +7 -7
  60. package/dist/{dm-policy-shared-DlDAGtZL.js → dm-policy-shared-epgkayyq.js} +2 -2
  61. package/dist/{dns-cli-Cwr92Aiq.js → dns-cli-Dit09wbu.js} +3 -3
  62. package/dist/{dock-BhS32F6E.js → dock-BYiRZSgZ.js} +4 -4
  63. package/dist/{docs-cli-qE-blOLC.js → docs-cli-CyWGMA-e.js} +1 -1
  64. package/dist/{doctor-completion-D3oUNFQM.js → doctor-completion-Ccb83Wl5.js} +2 -2
  65. package/dist/{doctor-completion-DBE1IVKj.js → doctor-completion-oQemZItC.js} +1 -1
  66. package/dist/{doctor-config-flow-iIzSEQxb.js → doctor-config-flow-BXmHd2bb.js} +10 -10
  67. package/dist/entry.js +1 -1
  68. package/dist/{exec-approvals-cli-BSgxsdMt.js → exec-approvals-cli-CZ-iTtNO.js} +13 -13
  69. package/dist/extensionAPI.js +1 -1
  70. package/dist/{fs-safe-CUjO1ca2.js → fs-safe-CTDvb1DF.js} +6 -6
  71. package/dist/{gateway-cli-BguO9yV4.js → gateway-cli-C1zPKZ7B.js} +135 -120
  72. package/dist/{gateway-cli-Dc1RT_b9.js → gateway-cli-zbVm1MBQ.js} +30 -15
  73. package/dist/{gateway-rpc-5fREQe9Q.js → gateway-rpc-B1Wzoj99.js} +1 -1
  74. package/dist/{glass-ui-ws-D0UYleBF.js → glass-ui-ws-CvUFd4C6.js} +28 -9
  75. package/dist/{glass-ui-ws-DoIZyE9O.js → glass-ui-ws-D3tAmqKX.js} +104 -85
  76. package/dist/{health-cVvZdeDu.js → health-DQEqLYg1.js} +1 -1
  77. package/dist/{health-D3w4YMlC.js → health-o847FIt1.js} +13 -13
  78. package/dist/{hooks-cli-DZIbjfOA.js → hooks-cli-D_UW9fc8.js} +2 -2
  79. package/dist/{hooks-cli-te5hzOAB.js → hooks-cli-sYjbF4I6.js} +77 -77
  80. package/dist/{image-BWmcNF8N.js → image-lCS3o9xj.js} +3 -3
  81. package/dist/{image-ops-1OJMSAUX.js → image-ops-DYbDWaIA.js} +10 -10
  82. package/dist/index.js +73 -73
  83. package/dist/{inspect-CvbbCuoa.js → inspect-CNYyHVfH.js} +4 -4
  84. package/dist/{install-safe-path-D3Uz77u7.js → install-safe-path-D3mg1DMG.js} +11 -11
  85. package/dist/{installs-DQcRVF1U.js → installs-CYTVYWH_.js} +10 -10
  86. package/dist/{ir-DZam9q5M.js → ir-Dt4hOzxG.js} +6 -6
  87. package/dist/{lifecycle-core-C4HzGXA1.js → lifecycle-core-DxmxQdhS.js} +5 -5
  88. package/dist/llm-slug-generator.js +1 -1
  89. package/dist/{local-roots-aAFLQGkY.js → local-roots-BBeKX7PX.js} +2 -2
  90. package/dist/{login-DODfJ3Dn.js → login-CnjdNmGD.js} +3 -3
  91. package/dist/{login-qr-CBRxijIg.js → login-qr-DUf6CM0M.js} +5 -5
  92. package/dist/{logs-cli-CfGj-dOg.js → logs-cli-BVd6h2-Q.js} +7 -7
  93. package/dist/{manager-D4LJSRyZ.js → manager-C1CfGzZ2.js} +13 -13
  94. package/dist/{markdown-tables-CEbN0fEm.js → markdown-tables-ZwP14ydw.js} +1 -1
  95. package/dist/{memory-cli-DDumUksr.js → memory-cli-DhkRAIdT.js} +14 -14
  96. package/dist/{model-tWhwnFf8.js → model-CeeOcylL.js} +1 -1
  97. package/dist/{model-catalog-8Son0J4O.js → model-catalog-CvbwxWuC.js} +4 -4
  98. package/dist/{model-picker-CAm2Bftd.js → model-picker-C2MqloOs.js} +3 -3
  99. package/dist/{model-selection-CyFvYcRt.js → model-selection-X1oLh3CE.js} +9 -9
  100. package/dist/{models-BCfPhQ4m.js → models-Zol34e73.js} +2 -2
  101. package/dist/{models-cli-Cj2CwbPw.js → models-cli-BzcEA9oa.js} +3 -3
  102. package/dist/{models-cli-BFAtjNIF.js → models-cli-DnMUzr15.js} +72 -72
  103. package/dist/{models-config-CFFjJPe7.js → models-config-CEMioDUi.js} +7 -7
  104. package/dist/{node-cli-DnfDOh1d.js → node-cli-BVJid4L_.js} +28 -28
  105. package/dist/{node-service-CD47Qpf1.js → node-service-CXzMs782.js} +1 -1
  106. package/dist/{nodes-cli-Ci3oxw8k.js → nodes-cli-BN2Nslim.js} +10 -10
  107. package/dist/{nodes-screen-8Bq7DiSa.js → nodes-screen-Cd49cSPb.js} +4 -4
  108. package/dist/{npm-registry-spec-C0CPT3vr.js → npm-registry-spec-DchndI6P.js} +9 -9
  109. package/dist/{onboard-VcdBF5TB.js → onboard-CSseK0Co.js} +13 -13
  110. package/dist/{onboard-BMq8qc1m.js → onboard-CxOT_xD4.js} +2 -2
  111. package/dist/{onboard-channels-CiOun4k1.js → onboard-channels-CUlITipG.js} +5 -5
  112. package/dist/{onboard-channels-B5wgcffj.js → onboard-channels-D-lh_Vh1.js} +1 -1
  113. package/dist/{onboard-custom-XiomtQr7.js → onboard-custom-DTcLdtA9.js} +3 -3
  114. package/dist/{onboard-helpers-DFvWPFhU.js → onboard-helpers-CdPNw25E.js} +8 -8
  115. package/dist/{onboard-hooks-C3ok8kqB.js → onboard-hooks-C_2_jpWg.js} +1 -1
  116. package/dist/{onboard-remote-BURDxwoE.js → onboard-remote-v6QMnyJD.js} +1 -1
  117. package/dist/{onboard-skills-CbzgBT1W.js → onboard-skills-CQtkRP20.js} +4 -4
  118. package/dist/{onboarding-Dp7p6zKa.js → onboarding-DktESmTv.js} +3 -3
  119. package/dist/{onboarding-CGNpTyg2.js → onboarding-Dn5agNG_.js} +13 -13
  120. package/dist/{onboarding.finalize-CrsE5P43.js → onboarding.finalize-Bm-1Kdnh.js} +6 -6
  121. package/dist/{onboarding.finalize-B6DOu8vp.js → onboarding.finalize-CTIZ1zvV.js} +75 -75
  122. package/dist/{onboarding.gateway-config-DKwJ5bWd.js → onboarding.gateway-config-CwnQkyO0.js} +14 -14
  123. package/dist/{openai-model-default-WqcGxyFM.js → openai-model-default-4kBA1_78.js} +2 -2
  124. package/dist/{outbound-wnv03tb3.js → outbound-_Ir3M05f.js} +4 -4
  125. package/dist/{outbound-attachment-Bw-c5Cdp.js → outbound-attachment-Qfh5dlsg.js} +2 -2
  126. package/dist/{pairing-cli-DSM82gJG.js → pairing-cli-C8UXBJ_A.js} +8 -8
  127. package/dist/{pairing-labels-DyXoD1DS.js → pairing-labels-Dxb898X5.js} +1 -1
  128. package/dist/{pairing-store-CK726Dzq.js → pairing-store-B8ktu-6j.js} +2 -2
  129. package/dist/{pairing-token-CX3NN_qj.js → pairing-token-AV-MMfVE.js} +7 -7
  130. package/dist/{paths-BBm9fwuG.js → paths-CT6jsi4E.js} +1 -1
  131. package/dist/{pi-auth-json-zHckislA.js → pi-auth-json-FpfHyEcu.js} +5 -5
  132. package/dist/{pi-embedded-DQe8vBwU.js → pi-embedded-CYDMb5q0.js} +46 -7
  133. package/dist/{pi-embedded-helpers-BgdB5kvy.js → pi-embedded-helpers-Bs4eMaNo.js} +6 -6
  134. package/dist/{pi-tools.policy-DRWb_Cax.js → pi-tools.policy-BBxnqCay.js} +4 -4
  135. package/dist/{plugin-auto-enable-CP0nONRL.js → plugin-auto-enable-DwIrzVOA.js} +2 -2
  136. package/dist/{plugin-registry-BzIbwU3K.js → plugin-registry-CJGPW1-k.js} +1 -1
  137. package/dist/{plugin-registry-D3TUplW8.js → plugin-registry-d0oZLl6y.js} +3 -3
  138. package/dist/plugin-sdk/{channel-web-B6m8UOCl.js → channel-web-Dm-CzA1O.js} +1 -1
  139. package/dist/plugin-sdk/index.js +2 -2
  140. package/dist/plugin-sdk/{reply-CGoJQT_s.js → reply-4HEU7aDS.js} +46 -7
  141. package/dist/plugin-sdk/{web-CJjSOTnI.js → web-Cclb7FTq.js} +2 -2
  142. package/dist/{plugins-DKDeQZF0.js → plugins-BAyxWQSz.js} +2 -2
  143. package/dist/{plugins-cli-DFyRjAtJ.js → plugins-cli-BWgjIJQL.js} +72 -72
  144. package/dist/{plugins-cli-BD1Jb2Ml.js → plugins-cli-CL0tzkMo.js} +2 -2
  145. package/dist/{ports-BOmtxoTv.js → ports-OZQlocB7.js} +2 -2
  146. package/dist/{ports-DtW62rqS.js → ports-u9lWy2Jt.js} +1 -1
  147. package/dist/{program-qGm2M9PG.js → program-BHjH97Q_.js} +7 -7
  148. package/dist/{program-context-45vPEw2G.js → program-context-CXZHSZ4D.js} +39 -39
  149. package/dist/{prompt-select-styled-DRIS9jSv.js → prompt-select-styled-BUFEoSlM.js} +38 -38
  150. package/dist/{prompt-select-styled-DRraJGwA.js → prompt-select-styled-D8LXSUR7.js} +4 -4
  151. package/dist/{provider-auth-helpers-BNOWsjW5.js → provider-auth-helpers-BFHctF2f.js} +1 -1
  152. package/dist/{provider-auth-helpers-BREVjR7R.js → provider-auth-helpers-CeAbh3lv.js} +5 -5
  153. package/dist/{push-apns-CYC70eKy.js → push-apns-BylbQyP9.js} +1 -1
  154. package/dist/{push-apns-CObVeJLC.js → push-apns-DqFdzIkc.js} +4 -4
  155. package/dist/{pw-ai-DQohWnzT.js → pw-ai-CfrnAHwA.js} +7 -7
  156. package/dist/{qmd-manager-CCUK1xoc.js → qmd-manager-DUNbG4Qr.js} +18 -18
  157. package/dist/{qr-cli-CejYwqsj.js → qr-cli-BZYa2gvF.js} +3 -3
  158. package/dist/{register.agent-DzzY8jON.js → register.agent-DxAqRAt3.js} +6 -6
  159. package/dist/{register.agent-DRrHvYcz.js → register.agent-bzSGKS-l.js} +82 -82
  160. package/dist/register.configure-Boyfir72.js +148 -0
  161. package/dist/{register.configure-DlXkwkNR.js → register.configure-WS1nlSp8.js} +6 -6
  162. package/dist/{register.maintenance-CXLXouZV.js → register.maintenance-B1QcUr38.js} +85 -85
  163. package/dist/{register.maintenance-LEf8Q_5p.js → register.maintenance-D_qMTrgD.js} +8 -8
  164. package/dist/{register.message-C4ifV9vG.js → register.message-CJF8gLAN.js} +64 -64
  165. package/dist/{register.message-DsPa-xHV.js → register.message-zu3HGGff.js} +2 -2
  166. package/dist/{register.onboard-DLRPa_4B.js → register.onboard-9dwNqCe6.js} +4 -4
  167. package/dist/{register.onboard-CrY4PxLP.js → register.onboard-CswoaT7q.js} +75 -75
  168. package/dist/{register.setup-fBG_dJfi.js → register.setup-CvomtGGu.js} +78 -78
  169. package/dist/{register.setup-By37g1vN.js → register.setup-TcjUu6HC.js} +4 -4
  170. package/dist/{register.status-health-sessions-DG7KGnD0.js → register.status-health-sessions-CM1SX81r.js} +3 -3
  171. package/dist/{register.status-health-sessions-Ckw86-gn.js → register.status-health-sessions-CQMvbwr6.js} +76 -76
  172. package/dist/{register.subclis-C_xKLugM.js → register.subclis-CVQASXaL.js} +9 -9
  173. package/dist/{replies-BMqtgBhh.js → replies-Dy92jzrz.js} +1 -1
  174. package/dist/{reply-DyjXROKp.js → reply-CpNWtuU4.js} +183 -144
  175. package/dist/{reply-prefix-CE2YmmsD.js → reply-prefix-BLOOs1aW.js} +1 -1
  176. package/dist/{resolve-route-BMoTaVAH.js → resolve-route-BcnaXYvh.js} +2 -2
  177. package/dist/{routes-BAZTZNuQ.js → routes-CVwRcA9D.js} +8 -8
  178. package/dist/{rpc-Co5PQ3IJ.js → rpc-CZFfee1J.js} +1 -1
  179. package/dist/{run-main-Cg3ecTbO.js → run-main-Dq6tfDry.js} +14 -14
  180. package/dist/{runner-DRv0uCK_.js → runner-BAVs-p6Z.js} +20 -20
  181. package/dist/{sandbox-B6N8cV4d.js → sandbox-HZ_uilsn.js} +18 -18
  182. package/dist/{sandbox-cli-DwzaNjIJ.js → sandbox-cli-wZtiyo8g.js} +20 -20
  183. package/dist/{security-cli-D5BWzqEJ.js → security-cli-BESmRIrl.js} +36 -36
  184. package/dist/{send-CQVnyJyF.js → send-BVBCh27_.js} +13 -13
  185. package/dist/{send-DVm0du0_.js → send-CXFTeD_J.js} +4 -4
  186. package/dist/{send-B3RdXvjC.js → send-DT-5buW5.js} +6 -6
  187. package/dist/{send-9SapUCg7.js → send-DsSI8z3F.js} +6 -6
  188. package/dist/{send-Bm4ULEzh.js → send-JWV62VbW.js} +6 -6
  189. package/dist/{server-context-CCBZN8a0.js → server-context-VlF1_hYj.js} +5 -5
  190. package/dist/{server-methods-CWcLut3F.js → server-methods-B0pdetGJ.js} +130 -64
  191. package/dist/{server-methods-CW8eFTGD.js → server-methods-IBEaQXPX.js} +177 -111
  192. package/dist/{server-node-events-CDB0u8PP.js → server-node-events-BACmfyjo.js} +64 -64
  193. package/dist/{server-node-events-C2h9OPo7.js → server-node-events-CyDj7Txd.js} +2 -2
  194. package/dist/{service-osK70kTZ.js → service-D80PyJxB.js} +15 -15
  195. package/dist/{session-DsJGtM7g.js → session-6Qyc4cBQ.js} +2 -2
  196. package/dist/{session-dirs-Dgz7kkUM.js → session-dirs-DPzjjra2.js} +2 -2
  197. package/dist/{sessions-Cpgnq0pA.js → sessions-jTAGYjWl.js} +13 -13
  198. package/dist/{shared-DnmJ0ABB.js → shared-BV7WhIkY.js} +1 -1
  199. package/dist/{shared-73T9fyuK.js → shared-BfhtOZAz.js} +3 -3
  200. package/dist/{skill-commands-Cxw-jNxU.js → skill-commands-ZXbEITKi.js} +5 -5
  201. package/dist/{skill-scanner-hMtQbWPV.js → skill-scanner-w3DJvw1Q.js} +5 -5
  202. package/dist/{skills-6jdJQ5ZL.js → skills-DqQUtOph.js} +4 -4
  203. package/dist/{skills-cli-DXkx4vNV.js → skills-cli-D3lePXkf.js} +7 -7
  204. package/dist/{skills-install-CWVdJkLn.js → skills-install-HGYidhrv.js} +3 -3
  205. package/dist/{skills-status-C3ptXwnh.js → skills-status-Cjsh8we0.js} +1 -1
  206. package/dist/{sqlite-Dx3J_aSE.js → sqlite-BV5ILFtC.js} +12 -12
  207. package/dist/{status-DfPfMVNZ.js → status-BJtbD-cG.js} +2 -2
  208. package/dist/{status-CMx3GAax.js → status-DUeTrQSz.js} +1 -1
  209. package/dist/{status-B2Qt-5kL.js → status-DzHL-eVu.js} +3 -3
  210. package/dist/{status-ZPW5EACm.js → status-nzJEZmNT.js} +25 -25
  211. package/dist/{status.update-CG0ciGaf.js → status.update-TlYwuzTa.js} +3 -3
  212. package/dist/{store-r1DJSDq-.js → store-DvtcmOKj.js} +5 -5
  213. package/dist/{subagent-registry-DQHg3jUV.js → subagent-registry-CzS4CfnV.js} +46 -7
  214. package/dist/{symi-root-CrGJbkzf.js → symi-root-MF6_6SCS.js} +2 -2
  215. package/dist/{system-cli-DFZNGx0i.js → system-cli-C2yhGP4C.js} +7 -7
  216. package/dist/{systemd-DT6SbCim.js → systemd-CevHlgD4.js} +5 -5
  217. package/dist/{systemd-hints-xYZbFny_.js → systemd-hints-DmgRnw1L.js} +6 -6
  218. package/dist/{systemd-linger-DCskIKcx.js → systemd-linger-ScxQ1_H4.js} +1 -1
  219. package/dist/{tables-BEzT0Da4.js → tables-C38rzF6E.js} +1 -1
  220. package/dist/{target-errors-7AvoVa10.js → target-errors-CCz79CmV.js} +4 -4
  221. package/dist/{tool-images-DvUBlqjX.js → tool-images-B-pqX3nX.js} +1 -1
  222. package/dist/{tui-DjPsMdL6.js → tui-D2MOx3Kx.js} +7 -7
  223. package/dist/{tui-cli-pWD_NrUR.js → tui-cli-B2ii7u23.js} +28 -28
  224. package/dist/{unified-runner-DvOFqcrw.js → unified-runner-BtO3UQSd.js} +46 -7
  225. package/dist/{update-Ya0e-JnM.js → update-Don6XTH9.js} +3 -3
  226. package/dist/{update-check-7EzEjSzb.js → update-check-DCo5RtKp.js} +5 -5
  227. package/dist/{update-cli-DBasZeVl.js → update-cli-DRODEMSI.js} +8 -8
  228. package/dist/{update-cli-Df9rh_aN.js → update-cli-gKtjyXlD.js} +95 -95
  229. package/dist/{update-runner-BRKFzAwV.js → update-runner-AsKAxe31.js} +15 -15
  230. package/dist/{update-runner-DVa6cMqp.js → update-runner-JcdOHr71.js} +1 -1
  231. package/dist/{web-Dd05xbUr.js → web-BIzWZFiN.js} +1 -1
  232. package/dist/{web-Cw3bFAiP.js → web-DGo16lWn.js} +1 -1
  233. package/dist/{web-CGh5tw__.js → web-DKwOxo8E.js} +1 -1
  234. package/dist/web-sefqR11J.js +110 -0
  235. package/dist/{webhooks-cli-BRxe4uCg.js → webhooks-cli-DbnQ2BVE.js} +4 -4
  236. package/dist/{whatsapp-actions-ChO_shrk.js → whatsapp-actions-CqXxtCoj.js} +15 -15
  237. package/dist/{with-timeout-CtVdu_1U.js → with-timeout-Cm5EhxG_.js} +1 -1
  238. package/dist/{workspace-dirs-GpkFi6Kw.js → workspace-dirs-DKu48umx.js} +1 -1
  239. package/dist/{wsl-q8spwrME.js → wsl-xNOi_Ch8.js} +2 -2
  240. package/extensions/bluebubbles/package.json +1 -1
  241. package/extensions/copilot-proxy/package.json +1 -1
  242. package/extensions/diagnostics-otel/package.json +1 -1
  243. package/extensions/discord/package.json +1 -1
  244. package/extensions/feishu/package.json +1 -1
  245. package/extensions/google-antigravity-auth/package.json +1 -1
  246. package/extensions/google-gemini-cli-auth/package.json +1 -1
  247. package/extensions/googlechat/package.json +1 -1
  248. package/extensions/imessage/package.json +1 -1
  249. package/extensions/irc/package.json +1 -1
  250. package/extensions/learning-loop/package.json +1 -1
  251. package/extensions/line/package.json +1 -1
  252. package/extensions/llm-task/package.json +1 -1
  253. package/extensions/matrix/CHANGELOG.md +6 -0
  254. package/extensions/matrix/package.json +1 -1
  255. package/extensions/mattermost/package.json +1 -1
  256. package/extensions/memory-core/package.json +1 -1
  257. package/extensions/memory-lancedb/package.json +1 -1
  258. package/extensions/minimax-portal-auth/package.json +1 -1
  259. package/extensions/msteams/CHANGELOG.md +6 -0
  260. package/extensions/msteams/package.json +1 -1
  261. package/extensions/nextcloud-talk/package.json +1 -1
  262. package/extensions/nostr/CHANGELOG.md +6 -0
  263. package/extensions/nostr/package.json +1 -1
  264. package/extensions/open-prose/package.json +1 -1
  265. package/extensions/outlook/package.json +1 -1
  266. package/extensions/pipeline/package.json +1 -1
  267. package/extensions/signal/package.json +1 -1
  268. package/extensions/slack/package.json +1 -1
  269. package/extensions/telegram/package.json +1 -1
  270. package/extensions/tlon/package.json +1 -1
  271. package/extensions/twitch/CHANGELOG.md +6 -0
  272. package/extensions/twitch/package.json +1 -1
  273. package/extensions/voice-call/CHANGELOG.md +6 -0
  274. package/extensions/voice-call/package.json +1 -1
  275. package/extensions/whatsapp/package.json +1 -1
  276. package/extensions/zalo/CHANGELOG.md +6 -0
  277. package/extensions/zalo/package.json +1 -1
  278. package/extensions/zalouser/CHANGELOG.md +6 -0
  279. package/extensions/zalouser/package.json +1 -1
  280. package/package.json +1 -1
  281. package/skills/long-task/scripts/detach-task.sh +91 -14
  282. package/dist/register.configure-BxtTIFTa.js +0 -148
  283. package/dist/web-KiuDkd0x.js +0 -110
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { an as getPrimaryCommand, cn as hasHelpOrVersion } from "./entry.js";
3
- import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-C_xKLugM.js";
3
+ import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-CVQASXaL.js";
4
4
 
5
5
  //#region src/cli/program/command-registry.ts
6
6
  var command_registry_exports = /* @__PURE__ */ __exportAll({
@@ -22,7 +22,7 @@ const coreEntries = [
22
22
  hasSubcommands: false
23
23
  }],
24
24
  register: async ({ program }) => {
25
- (await import("./register.setup-By37g1vN.js")).registerSetupCommand(program);
25
+ (await import("./register.setup-TcjUu6HC.js")).registerSetupCommand(program);
26
26
  }
27
27
  },
28
28
  {
@@ -32,7 +32,7 @@ const coreEntries = [
32
32
  hasSubcommands: false
33
33
  }],
34
34
  register: async ({ program }) => {
35
- (await import("./register.onboard-DLRPa_4B.js")).registerOnboardCommand(program);
35
+ (await import("./register.onboard-9dwNqCe6.js")).registerOnboardCommand(program);
36
36
  }
37
37
  },
38
38
  {
@@ -42,7 +42,7 @@ const coreEntries = [
42
42
  hasSubcommands: false
43
43
  }],
44
44
  register: async ({ program }) => {
45
- (await import("./register.configure-DlXkwkNR.js")).registerConfigureCommand(program);
45
+ (await import("./register.configure-WS1nlSp8.js")).registerConfigureCommand(program);
46
46
  }
47
47
  },
48
48
  {
@@ -52,7 +52,7 @@ const coreEntries = [
52
52
  hasSubcommands: true
53
53
  }],
54
54
  register: async ({ program }) => {
55
- (await import("./config-cli-B796xZBe.js")).registerConfigCli(program);
55
+ (await import("./config-cli-DL2RdfLM.js")).registerConfigCli(program);
56
56
  }
57
57
  },
58
58
  {
@@ -79,7 +79,7 @@ const coreEntries = [
79
79
  }
80
80
  ],
81
81
  register: async ({ program }) => {
82
- (await import("./register.maintenance-LEf8Q_5p.js")).registerMaintenanceCommands(program);
82
+ (await import("./register.maintenance-D_qMTrgD.js")).registerMaintenanceCommands(program);
83
83
  }
84
84
  },
85
85
  {
@@ -89,7 +89,7 @@ const coreEntries = [
89
89
  hasSubcommands: true
90
90
  }],
91
91
  register: async ({ program, ctx }) => {
92
- (await import("./register.message-DsPa-xHV.js")).registerMessageCommands(program, ctx);
92
+ (await import("./register.message-zu3HGGff.js")).registerMessageCommands(program, ctx);
93
93
  }
94
94
  },
95
95
  {
@@ -113,7 +113,7 @@ const coreEntries = [
113
113
  hasSubcommands: true
114
114
  }],
115
115
  register: async ({ program, ctx }) => {
116
- (await import("./register.agent-DzzY8jON.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
116
+ (await import("./register.agent-DxAqRAt3.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
117
117
  }
118
118
  },
119
119
  {
@@ -135,7 +135,7 @@ const coreEntries = [
135
135
  }
136
136
  ],
137
137
  register: async ({ program }) => {
138
- (await import("./register.status-health-sessions-DG7KGnD0.js")).registerStatusHealthSessionsCommands(program);
138
+ (await import("./register.status-health-sessions-CM1SX81r.js")).registerStatusHealthSessionsCommands(program);
139
139
  }
140
140
  },
141
141
  {
@@ -1,5 +1,5 @@
1
1
  import { D as isPlainObject } from "./utils-B-0b9bGM.js";
2
- import { r as normalizeChannelId } from "./plugins-DKDeQZF0.js";
2
+ import { r as normalizeChannelId } from "./plugins-BAyxWQSz.js";
3
3
 
4
4
  //#region src/config/commands.ts
5
5
  function resolveAutoDefault(providerId) {
@@ -2,9 +2,9 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { l as escapeRegExp } from "./utils-B-0b9bGM.js";
3
3
  import { i as listThinkingLevels } from "./thinking-EAliFiVK.js";
4
4
  import { d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
5
- import { Gt as DEFAULT_MODEL, Kt as DEFAULT_PROVIDER, p as resolveConfiguredModelRef } from "./model-selection-CyFvYcRt.js";
6
- import { n as listChannelDocks } from "./dock-BhS32F6E.js";
7
- import { t as isCommandFlagEnabled } from "./commands-BNLCWX6e.js";
5
+ import { Gt as DEFAULT_MODEL, Kt as DEFAULT_PROVIDER, p as resolveConfiguredModelRef } from "./model-selection-X1oLh3CE.js";
6
+ import { n as listChannelDocks } from "./dock-BYiRZSgZ.js";
7
+ import { t as isCommandFlagEnabled } from "./commands-CtocZ4Lg.js";
8
8
 
9
9
  //#region src/auto-reply/commands-args.ts
10
10
  function normalizeArgValue(value) {
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Yt as resolveStateDir, l as routeLogsToStderr, nt as pathExists } from "./entry.js";
3
- import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-C_xKLugM.js";
4
- import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-BWnZSpbL.js";
3
+ import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-CVQASXaL.js";
4
+ import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-BvpLfzl7.js";
5
5
  import { t as getProgramContext } from "./program-context-CqzR_m-7.js";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
@@ -2,10 +2,10 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
3
3
  import { h as pathExists } from "./utils-B-0b9bGM.js";
4
4
  import { i as routeLogsToStderr } from "./subsystem-D9vIQve0.js";
5
- import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-45vPEw2G.js";
5
+ import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-CXZHSZ4D.js";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
8
- import fs from "node:fs/promises";
8
+ import fsPromises from "node:fs/promises";
9
9
  import { Option } from "commander";
10
10
 
11
11
  //#region src/cli/completion-cli.ts
@@ -62,11 +62,11 @@ function getCompletionScript(shell, program) {
62
62
  }
63
63
  async function writeCompletionCache(params) {
64
64
  const cacheDir = resolveCompletionCacheDir();
65
- await fs.mkdir(cacheDir, { recursive: true });
65
+ await fsPromises.mkdir(cacheDir, { recursive: true });
66
66
  for (const shell of params.shells) {
67
67
  const script = getCompletionScript(shell, params.program);
68
68
  const targetPath = resolveCompletionCachePath(shell, params.binName);
69
- await fs.writeFile(targetPath, script, "utf-8");
69
+ await fsPromises.writeFile(targetPath, script, "utf-8");
70
70
  }
71
71
  }
72
72
  function formatCompletionSourceLine(shell, binName, cachePath) {
@@ -124,7 +124,7 @@ async function isCompletionInstalled(shell, binName = "symi") {
124
124
  if (!await pathExists(profilePath)) return false;
125
125
  const cachePathCandidate = resolveCompletionCachePath(shell, binName);
126
126
  const cachedPath = await pathExists(cachePathCandidate) ? cachePathCandidate : null;
127
- return (await fs.readFile(profilePath, "utf-8")).split("\n").some((line) => isCompletionProfileHeader(line) || isCompletionProfileLine(line, binName, cachedPath));
127
+ return (await fsPromises.readFile(profilePath, "utf-8")).split("\n").some((line) => isCompletionProfileHeader(line) || isCompletionProfileLine(line, binName, cachedPath));
128
128
  }
129
129
  /**
130
130
  * Check if the profile uses the slow dynamic completion pattern.
@@ -134,7 +134,7 @@ async function usesSlowDynamicCompletion(shell, binName = "symi") {
134
134
  const profilePath = getShellProfilePath(shell);
135
135
  if (!await pathExists(profilePath)) return false;
136
136
  const cachePath = resolveCompletionCachePath(shell, binName);
137
- const lines = (await fs.readFile(profilePath, "utf-8")).split("\n");
137
+ const lines = (await fsPromises.readFile(profilePath, "utf-8")).split("\n");
138
138
  for (const line of lines) if (isSlowDynamicCompletionLine(line, binName) && !line.includes(cachePath)) return true;
139
139
  return false;
140
140
  }
@@ -183,7 +183,7 @@ async function installCompletion(shell, yes, binName = "symi") {
183
183
  } else if (shell === "bash") {
184
184
  profilePath = path.join(home, ".bashrc");
185
185
  try {
186
- await fs.access(profilePath);
186
+ await fsPromises.access(profilePath);
187
187
  } catch {
188
188
  profilePath = path.join(home, ".bash_profile");
189
189
  }
@@ -197,13 +197,13 @@ async function installCompletion(shell, yes, binName = "symi") {
197
197
  }
198
198
  try {
199
199
  try {
200
- await fs.access(profilePath);
200
+ await fsPromises.access(profilePath);
201
201
  } catch {
202
202
  if (!yes) console.warn(`Profile not found at ${profilePath}. Created a new one.`);
203
- await fs.mkdir(path.dirname(profilePath), { recursive: true });
204
- await fs.writeFile(profilePath, "", "utf-8");
203
+ await fsPromises.mkdir(path.dirname(profilePath), { recursive: true });
204
+ await fsPromises.writeFile(profilePath, "", "utf-8");
205
205
  }
206
- const update = updateCompletionProfile(await fs.readFile(profilePath, "utf-8"), binName, cachePath, sourceLine);
206
+ const update = updateCompletionProfile(await fsPromises.readFile(profilePath, "utf-8"), binName, cachePath, sourceLine);
207
207
  if (!update.changed) {
208
208
  if (!yes) console.log(`Completion already installed in ${profilePath}`);
209
209
  return;
@@ -212,7 +212,7 @@ async function installCompletion(shell, yes, binName = "symi") {
212
212
  const action = update.hadExisting ? "Updating" : "Installing";
213
213
  console.log(`${action} completion in ${profilePath}...`);
214
214
  }
215
- await fs.writeFile(profilePath, update.next, "utf-8");
215
+ await fsPromises.writeFile(profilePath, update.next, "utf-8");
216
216
  if (!yes) console.log(`Completion installed. Restart your shell or run: source ${profilePath}`);
217
217
  } catch (err) {
218
218
  console.error(`Failed to install completion: ${err}`);
@@ -3,13 +3,13 @@ import { B as theme, O as danger, S as shortenHomePath, k as info } from "./util
3
3
  import "./registry-Cja8eT7G.js";
4
4
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
5
5
  import "./exec-CWkblSrI.js";
6
- import "./agent-scope-CgUHAtCo.js";
7
- import "./model-selection-CyFvYcRt.js";
6
+ import "./agent-scope-BRwEc2pG.js";
7
+ import "./model-selection-X1oLh3CE.js";
8
8
  import "./github-copilot-token-DAu1a6BX.js";
9
9
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
10
10
  import "./boolean-BsqeuxE6.js";
11
11
  import "./env-DPCHYPeH.js";
12
- import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-Dz95lSBW.js";
12
+ import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-tNauHpdq.js";
13
13
  import "./manifest-registry-C4BxOMWX.js";
14
14
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
15
15
  import JSON5 from "json5";
@@ -206,7 +206,7 @@ async function runConfigUnset(opts) {
206
206
  }
207
207
  function registerConfigCli(program) {
208
208
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
209
- const { configureCommandFromSectionsArg } = await import("./configure-D3wIQ0yI.js").then((n) => n.t);
209
+ const { configureCommandFromSectionsArg } = await import("./configure-jDpF8lmx.js").then((n) => n.t);
210
210
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
211
211
  });
212
212
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -201,7 +201,7 @@ async function runConfigUnset(opts) {
201
201
  }
202
202
  function registerConfigCli(program) {
203
203
  const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
204
- const { configureCommandFromSectionsArg } = await import("./configure-DUqT7Dyn.js").then((n) => n.t);
204
+ const { configureCommandFromSectionsArg } = await import("./configure-Dq4f8WPa.js").then((n) => n.t);
205
205
  await configureCommandFromSectionsArg(opts.section, defaultRuntime);
206
206
  });
207
207
  cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
@@ -3,30 +3,30 @@ import { B as theme, R as colorize, S as shortenHomePath, z as isRich } from "./
3
3
  import "./registry-Cja8eT7G.js";
4
4
  import "./subsystem-D9vIQve0.js";
5
5
  import "./exec-CWkblSrI.js";
6
- import "./agent-scope-CgUHAtCo.js";
7
- import "./model-selection-CyFvYcRt.js";
6
+ import "./agent-scope-BRwEc2pG.js";
7
+ import "./model-selection-X1oLh3CE.js";
8
8
  import "./github-copilot-token-DAu1a6BX.js";
9
9
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
10
10
  import "./boolean-BsqeuxE6.js";
11
11
  import "./env-DPCHYPeH.js";
12
12
  import "./message-channel-aT-I_DTX.js";
13
- import { o as readConfigFileSnapshot } from "./config-Dz95lSBW.js";
13
+ import { o as readConfigFileSnapshot } from "./config-tNauHpdq.js";
14
14
  import "./manifest-registry-C4BxOMWX.js";
15
- import "./sessions-Cpgnq0pA.js";
16
- import "./dock-BhS32F6E.js";
17
- import "./plugins-DKDeQZF0.js";
18
- import "./accounts-DDuIpcln.js";
19
- import "./accounts-bK-Yqdwx.js";
20
- import "./accounts-DyJN4_vR.js";
21
- import "./bindings-DFaVVCsf.js";
15
+ import "./sessions-jTAGYjWl.js";
16
+ import "./dock-BYiRZSgZ.js";
17
+ import "./plugins-BAyxWQSz.js";
18
+ import "./accounts-Cd816n6l.js";
19
+ import "./accounts-CokRskCl.js";
20
+ import "./accounts-mN_EcgxC.js";
21
+ import "./bindings-ChzePa8q.js";
22
22
  import "./logging-w5jq5901.js";
23
23
  import "./paths-CyhzMxFA.js";
24
24
  import "./prompt-style-CnkMpSXt.js";
25
25
  import { c as shouldMigrateStateFromPath } from "./argv-B20UI_hB.js";
26
26
  import "./catalog-NQ4pj9RI.js";
27
27
  import "./note-DQ9BvHF2.js";
28
- import "./plugin-auto-enable-CP0nONRL.js";
29
- import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-iIzSEQxb.js";
28
+ import "./plugin-auto-enable-DwIrzVOA.js";
29
+ import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-BXmHd2bb.js";
30
30
 
31
31
  //#region src/cli/program/config-guard.ts
32
32
  const ALLOWED_INVALID_COMMANDS = new Set([
@@ -3,8 +3,8 @@ import { a as resolveCanonicalConfigPath, c as resolveDefaultConfigCandidates, d
3
3
  import { D as isPlainObject$1, d as isRecord, g as resolveConfigDir, y as resolveUserPath } from "./utils-B-0b9bGM.js";
4
4
  import { s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-DCt45XZa.js";
5
5
  import { t as CHANNEL_IDS, u as normalizeChatChannelId } from "./registry-Cja8eT7G.js";
6
- import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
7
- import { $ as loadShellEnvFallback, Wt as DEFAULT_CONTEXT_TOKENS, et as resolveShellEnvFallbackTimeoutMs, nt as shouldEnableShellEnvFallback, tt as shouldDeferShellEnvFallback, u as parseModelRef } from "./model-selection-CyFvYcRt.js";
6
+ import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-BRwEc2pG.js";
7
+ import { $ as loadShellEnvFallback, Wt as DEFAULT_CONTEXT_TOKENS, et as resolveShellEnvFallbackTimeoutMs, nt as shouldEnableShellEnvFallback, tt as shouldDeferShellEnvFallback, u as parseModelRef } from "./model-selection-X1oLh3CE.js";
8
8
  import { d as resolveEnableState, f as resolveMemorySlotDecision, g as normalizeEnvVarKey, h as isDangerousHostEnvVarName, n as loadPluginManifestRegistry, u as normalizePluginsConfig } from "./manifest-registry-C4BxOMWX.js";
9
9
  import { i as isPathInside } from "./legacy-names-Be3msDZo.js";
10
10
  import { createRequire } from "node:module";
@@ -1,5 +1,5 @@
1
1
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
2
- import { o as readConfigFileSnapshot } from "./config-Dz95lSBW.js";
2
+ import { o as readConfigFileSnapshot } from "./config-tNauHpdq.js";
3
3
 
4
4
  //#region src/commands/config-validation.ts
5
5
  async function requireValidConfigSnapshot(runtime) {
@@ -11,14 +11,14 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
11
11
  import { t as note$1 } from "./note-DDecZomM.js";
12
12
  import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
13
13
  import { t as createClackPrompter } from "./clack-prompter-B1aVoXd5.js";
14
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-B5wgcffj.js";
14
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-D-lh_Vh1.js";
15
15
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-CVFg-ZmT.js";
16
16
  import { t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
17
- import { r as healthCommand } from "./health-cVvZdeDu.js";
17
+ import { r as healthCommand } from "./health-DQEqLYg1.js";
18
18
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
19
19
  import { n as logConfigUpdated } from "./logging-BGewRZy0.js";
20
20
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-DVcYPG2v.js";
21
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-BbzReh6k.js";
21
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-5gul6jy2.js";
22
22
  import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-Casgrpw3.js";
23
23
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DA_LW52P.js";
24
24
  import { a as promptCustomApiConfig } from "./onboard-custom-CQOMQkfS.js";
@@ -2,32 +2,32 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
3
3
  import { S as shortenHomePath, y as resolveUserPath } from "./utils-B-0b9bGM.js";
4
4
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
5
- import { At as ensureAuthProfileStore } from "./model-selection-CyFvYcRt.js";
5
+ import { At as ensureAuthProfileStore } from "./model-selection-X1oLh3CE.js";
6
6
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
7
- import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-Dz95lSBW.js";
7
+ import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-tNauHpdq.js";
8
8
  import { a as findTailscaleBinary } from "./tailscale-D5dKabOc.js";
9
- import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-DKDeQZF0.js";
9
+ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BAyxWQSz.js";
10
10
  import { n as withProgress } from "./progress-jIePzvGA.js";
11
- 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-DFvWPFhU.js";
11
+ 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-CdPNw25E.js";
12
12
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-CnkMpSXt.js";
13
13
  import { t as note$1 } from "./note-DQ9BvHF2.js";
14
14
  import { t as WizardCancelledError } from "./prompts-CfOu9uZi.js";
15
15
  import { t as createClackPrompter } from "./clack-prompter-DMuVyYP2.js";
16
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-CiOun4k1.js";
17
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-mE1b-Q48.js";
18
- import { t as resolveGatewayService } from "./service-osK70kTZ.js";
19
- import { r as healthCommand } from "./health-D3w4YMlC.js";
20
- import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B7moDVHX.js";
16
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-CUlITipG.js";
17
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-u01h46bE.js";
18
+ import { t as resolveGatewayService } from "./service-D80PyJxB.js";
19
+ import { r as healthCommand } from "./health-o847FIt1.js";
20
+ import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-6n-YayeS.js";
21
21
  import { n as logConfigUpdated } from "./logging-KpicI3yD.js";
22
22
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-Cn6U3t8O.js";
23
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-D2xXwBeN.js";
24
- import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-CAm2Bftd.js";
25
- import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DCskIKcx.js";
26
- import { a as promptCustomApiConfig } from "./onboard-custom-XiomtQr7.js";
23
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-CmSUU3t8.js";
24
+ import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-C2MqloOs.js";
25
+ import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-ScxQ1_H4.js";
26
+ import { a as promptCustomApiConfig } from "./onboard-custom-DTcLdtA9.js";
27
27
  import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-CjlyK5jc.js";
28
28
  import { t as formatHealthCheckFailure } from "./health-format-DRCaak6L.js";
29
- import { n as promptRemoteGatewayConfig } from "./onboard-remote-BURDxwoE.js";
30
- import { n as setupSkills } from "./onboard-skills-CbzgBT1W.js";
29
+ import { n as promptRemoteGatewayConfig } from "./onboard-remote-v6QMnyJD.js";
30
+ import { n as setupSkills } from "./onboard-skills-CQtkRP20.js";
31
31
  import { confirm, intro, outro, select, text } from "@clack/prompts";
32
32
 
33
33
  //#region src/commands/configure.shared.ts
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
3
- import { i as loadConfig } from "./config-Dz95lSBW.js";
4
- import { x as ensureChromeExtensionRelayServer } from "./chrome-DU2ZysN3.js";
5
- import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-CCBZN8a0.js";
3
+ import { i as loadConfig } from "./config-tNauHpdq.js";
4
+ import { x as ensureChromeExtensionRelayServer } from "./chrome-CSJzpT9Z.js";
5
+ import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-VlF1_hYj.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-DQohWnzT.js")).closePlaywrightBrowserConnection();
83
+ await (await import("./pw-ai-CfrnAHwA.js")).closePlaywrightBrowserConnection();
84
84
  } catch {}
85
85
  }
86
86
 
@@ -5323,3 +5323,54 @@ body {
5323
5323
  overflow: hidden;
5324
5324
  text-overflow: ellipsis;
5325
5325
  }
5326
+
5327
+ /* History-unavailable banner — shown when server retries fail and we fall
5328
+ back to the localStorage feed cache. Kept terse so it doesn't dominate
5329
+ the chat area. Dismissable via the × button on the right. */
5330
+ .history-unavailable-banner {
5331
+ display: flex;
5332
+ justify-content: space-between;
5333
+ align-items: center;
5334
+ margin: 8px 12px;
5335
+ padding: 8px 12px;
5336
+ background: rgba(255, 180, 60, 0.12);
5337
+ border: 1px solid rgba(255, 180, 60, 0.35);
5338
+ color: rgba(255, 220, 160, 0.95);
5339
+ font-size: 12px;
5340
+ border-radius: 6px;
5341
+ font-family: inherit;
5342
+ }
5343
+
5344
+ .history-unavailable-dismiss {
5345
+ background: transparent;
5346
+ border: none;
5347
+ color: inherit;
5348
+ font-size: 16px;
5349
+ cursor: pointer;
5350
+ padding: 0 4px;
5351
+ line-height: 1;
5352
+ opacity: 0.7;
5353
+ }
5354
+
5355
+ .history-unavailable-dismiss:hover {
5356
+ opacity: 1;
5357
+ }
5358
+
5359
+ /* Generic data-panel pagination footer — "Showing N of M + [Show more]" row
5360
+ appears after a paginated list in Sessions / Agents / Cron / etc. */
5361
+ .settings-pagination {
5362
+ display: flex;
5363
+ justify-content: space-between;
5364
+ align-items: center;
5365
+ padding: 10px 12px;
5366
+ margin-top: 8px;
5367
+ border-top: 1px solid rgba(255, 255, 255, 0.06);
5368
+ background: rgba(255, 255, 255, 0.02);
5369
+ border-radius: 6px;
5370
+ font-size: 12px;
5371
+ }
5372
+
5373
+ .settings-pagination-info {
5374
+ opacity: 0.7;
5375
+ font-family: inherit;
5376
+ }
@@ -1294,8 +1294,47 @@ gateway.addEventListener("history", (e) => {
1294
1294
  historyStartIndex = e.detail?.startIndex ?? 0;
1295
1295
  historyHasMore = e.detail?.hasMore ?? false;
1296
1296
  renderHistory(msgs);
1297
+ // Server-side retries were exhausted — keep the cached feed visible but
1298
+ // show a small banner so the user knows they're on stale data and can
1299
+ // take action (reload, check gateway logs, /new, etc.).
1300
+ if (e.detail?.error === "history.unavailable") {
1301
+ showHistoryUnavailableBanner();
1302
+ } else {
1303
+ clearHistoryUnavailableBanner();
1304
+ }
1297
1305
  });
1298
1306
 
1307
+ function showHistoryUnavailableBanner() {
1308
+ let banner = document.getElementById("history-unavailable-banner");
1309
+ if (!banner) {
1310
+ banner = document.createElement("div");
1311
+ banner.id = "history-unavailable-banner";
1312
+ banner.className = "history-unavailable-banner";
1313
+ banner.textContent =
1314
+ "History unavailable — showing cached view. Gateway retry failed; try reloading.";
1315
+ const dismiss = document.createElement("button");
1316
+ dismiss.type = "button";
1317
+ dismiss.className = "history-unavailable-dismiss";
1318
+ dismiss.textContent = "×";
1319
+ dismiss.addEventListener("click", clearHistoryUnavailableBanner);
1320
+ banner.appendChild(dismiss);
1321
+ // Insert at the top of the response area so it's the first thing seen.
1322
+ if (responseArea?.parentElement) {
1323
+ responseArea.parentElement.insertBefore(banner, responseArea);
1324
+ } else {
1325
+ document.body.prepend(banner);
1326
+ }
1327
+ }
1328
+ banner.style.display = "";
1329
+ }
1330
+
1331
+ function clearHistoryUnavailableBanner() {
1332
+ const banner = document.getElementById("history-unavailable-banner");
1333
+ if (banner) {
1334
+ banner.remove();
1335
+ }
1336
+ }
1337
+
1299
1338
  gateway.addEventListener("disconnect", () => {
1300
1339
  setStatus("offline");
1301
1340
  // If the gateway drops while a run is in progress, surface the failure
@@ -123,6 +123,8 @@ class SymiGateway extends EventTarget {
123
123
  total: msg.total ?? 0,
124
124
  hasMore: msg.hasMore ?? false,
125
125
  startIndex: msg.startIndex ?? 0,
126
+ error: msg.error ?? null,
127
+ recoverable: msg.recoverable === true,
126
128
  },
127
129
  }),
128
130
  );
@@ -335,8 +335,21 @@ function openDebugPanel() {
335
335
  a.click();
336
336
  });
337
337
 
338
- // Start capturing events
339
- window.__debugPanelCapture = function (type, payload) {
338
+ // Start capturing events. If a previous capture closure is still attached
339
+ // (rapid re-open race), mark it cancelled so its body no-ops before we
340
+ // swap in the new one. Without this, the previous closure keeps reading
341
+ // the old panel's DOM even after it's gone and throws silently.
342
+ if (window.__debugPanelCapture && typeof window.__debugPanelCapture === "function") {
343
+ try {
344
+ window.__debugPanelCapture.__cancelled = true;
345
+ } catch {
346
+ /* non-extensible function — ignore */
347
+ }
348
+ }
349
+ const capture = function (type, payload) {
350
+ if (capture.__cancelled) {
351
+ return;
352
+ }
340
353
  if (debugPaused) {
341
354
  return;
342
355
  }
@@ -356,6 +369,8 @@ function openDebugPanel() {
356
369
  }
357
370
  renderDebugEntries();
358
371
  };
372
+ capture.__cancelled = false;
373
+ window.__debugPanelCapture = capture;
359
374
  }
360
375
 
361
376
  function renderDebugEntries() {
@@ -395,6 +410,16 @@ function renderDebugEntries() {
395
410
  }
396
411
 
397
412
  function closeDebugPanel() {
413
+ // Cancel any pending capture closure before dropping the reference so
414
+ // in-flight capture() calls short-circuit if they were already scheduled.
415
+ const existing = window.__debugPanelCapture;
416
+ if (existing && typeof existing === "function") {
417
+ try {
418
+ existing.__cancelled = true;
419
+ } catch {
420
+ /* non-extensible — ignore */
421
+ }
422
+ }
398
423
  window.__debugPanelCapture = null;
399
424
  }
400
425
 
@@ -680,16 +705,42 @@ function renderDataCard(key, value) {
680
705
  </div>`;
681
706
  }
682
707
 
683
- function renderListData(items) {
708
+ // Pagination state per generic panel — keyed by the page identifier.
709
+ // Resets when the panel is opened; survives across refresh within one session.
710
+ const GENERIC_PAGE_SIZE = 50;
711
+ const genericShownCount = new Map();
712
+
713
+ function resetGenericPagination(page) {
714
+ genericShownCount.set(page, GENERIC_PAGE_SIZE);
715
+ }
716
+
717
+ function bumpGenericPagination(page) {
718
+ const cur = genericShownCount.get(page) ?? GENERIC_PAGE_SIZE;
719
+ genericShownCount.set(page, cur + GENERIC_PAGE_SIZE);
720
+ }
721
+
722
+ function renderListData(items, page) {
684
723
  if (!items || items.length === 0) {
685
724
  return '<div class="settings-empty">No items found.</div>';
686
725
  }
687
- return items
726
+ const shown = page ? (genericShownCount.get(page) ?? GENERIC_PAGE_SIZE) : items.length;
727
+ const slice = items.slice(0, shown);
728
+ const html = slice
688
729
  .map((item, i) => {
689
730
  const title = item.name || item.id || item.sessionKey || item.label || `Item ${i + 1}`;
690
731
  return renderDataCard(title, item);
691
732
  })
692
733
  .join("");
734
+ if (!page || items.length <= shown) {
735
+ return html;
736
+ }
737
+ const remaining = items.length - shown;
738
+ const nextBatch = Math.min(GENERIC_PAGE_SIZE, remaining);
739
+ return `${html}
740
+ <div class="settings-pagination">
741
+ <span class="settings-pagination-info">Showing ${shown} of ${items.length}</span>
742
+ <button class="settings-btn" id="generic-show-more-btn" data-page="${escapeSettingsHtml(page)}">Show ${nextBatch} more</button>
743
+ </div>`;
693
744
  }
694
745
 
695
746
  function renderObjectData(data) {
@@ -760,9 +811,21 @@ async function openGenericPanel(page) {
760
811
  </div>
761
812
  `;
762
813
 
763
- document
764
- .getElementById("generic-refresh-btn")
765
- .addEventListener("click", () => void loadGenericData(page));
814
+ document.getElementById("generic-refresh-btn").addEventListener("click", () => {
815
+ resetGenericPagination(page);
816
+ void loadGenericData(page);
817
+ });
818
+ // Delegated click handler for the "Show more" button rendered inside
819
+ // generic-content. We attach on the container so it survives innerHTML
820
+ // re-renders driven by loadGenericData.
821
+ container.addEventListener("click", (e) => {
822
+ const target = e.target;
823
+ if (target && target.id === "generic-show-more-btn") {
824
+ bumpGenericPagination(page);
825
+ void loadGenericData(page);
826
+ }
827
+ });
828
+ resetGenericPagination(page);
766
829
  await loadGenericData(page);
767
830
  }
768
831
 
@@ -788,7 +851,7 @@ async function loadGenericData(page) {
788
851
  }
789
852
  if (spec.type === "list") {
790
853
  const items = spec.key ? result[spec.key] : Array.isArray(result) ? result : [];
791
- content.innerHTML = renderListData(items);
854
+ content.innerHTML = renderListData(items, page);
792
855
  } else {
793
856
  content.innerHTML = renderObjectData(result);
794
857
  }
@@ -1,4 +1,4 @@
1
- import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
1
+ import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-MF6_6SCS.js";
2
2
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
4
4
  import { fileURLToPath } from "node:url";