@symerian/symi 2.6.36 → 2.6.38

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 (437) hide show
  1. package/dist/{acp-cli-Cu4icbJT.js → acp-cli-ByYHYK_E.js} +6 -6
  2. package/dist/{acp-cli-NJzARaHq.js → acp-cli-EqE2uipx.js} +2 -2
  3. package/dist/{agents-BIAaMNSb.js → agents-BaNrmXzu.js} +5 -5
  4. package/dist/{agents.config-BDtgUDFp.js → agents.config-BOxmN33d.js} +1 -1
  5. package/dist/{agents.config-BKjYekzK.js → agents.config-C78DHdxT.js} +1 -1
  6. package/dist/{audio-preflight-xSDULLAj.js → audio-preflight-BuT_gIRW.js} +2 -2
  7. package/dist/{audio-preflight-DHTaS5U1.js → audio-preflight-Cz1htqcz.js} +9 -9
  8. package/dist/{audio-preflight-CWnxkaac.js → audio-preflight-CzQUZSUK.js} +7 -7
  9. package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-DBMz5TQp.js} +7 -7
  10. package/dist/{audit-CrITRV6w.js → audit-BxqTVyZo.js} +11 -11
  11. package/dist/{audit-Byo5jCLN.js → audit-Cgd5-Y7W.js} +2 -2
  12. package/dist/{auth-choice-Cw2rldnf.js → auth-choice-BnJzLsv5.js} +7 -7
  13. package/dist/{auth-choice-C7BrC95t.js → auth-choice-CnpKK0cS.js} +4 -4
  14. package/dist/{auth-choice-options-DOqFUoBo.js → auth-choice-options-DmQgUlhC.js} +1 -1
  15. package/dist/{auth-choice-prompt-BLzEBA1v.js → auth-choice-prompt-Cn6U3t8O.js} +1 -1
  16. package/dist/{auth-profiles-DdK1Hxaa.js → auth-profiles-q3HjbboY.js} +1 -1
  17. package/dist/{banner-DCF8IifK.js → banner-DdpNhjX6.js} +1 -1
  18. package/dist/{bonjour-discovery-BHTF5p0X.js → bonjour-discovery-DUQ6tE92.js} +1 -1
  19. package/dist/{browser-cli-BG4qPxpM.js → browser-cli-BrzYV9w9.js} +5 -5
  20. package/dist/{browser-cli-CPcnnsJJ.js → browser-cli-Dun4KSp2.js} +3 -3
  21. package/dist/build-info.json +3 -3
  22. package/dist/bundled/boot-md/handler.js +37 -36
  23. package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
  24. package/dist/bundled/session-memory/handler.js +38 -37
  25. package/dist/{call-CJaS1iRF.js → call-CFhGTNtt.js} +1 -1
  26. package/dist/{call-BcE47FtD.js → call-DIDhYlsx.js} +1 -1
  27. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  28. package/dist/{channel-activity-B6G1jnQT.js → channel-activity-D-kw83R0.js} +1 -1
  29. package/dist/{channel-options-BaC3G5sc.js → channel-options-47wHx-rM.js} +2 -2
  30. package/dist/{channel-options-DHSRuD2s.js → channel-options-CJE7N_QV.js} +1 -1
  31. package/dist/{channel-web-YXrZZHRE.js → channel-web-CVf8YV4M.js} +5 -5
  32. package/dist/{channels-cli-CfMJGgBp.js → channels-cli-CMLy_xVT.js} +10 -9
  33. package/dist/{channels-cli-DODlfOu4.js → channels-cli-Iya7tcnY.js} +46 -45
  34. package/dist/{chrome-DYZwl5Gv.js → chrome-34eOyt_6.js} +8 -8
  35. package/dist/{chrome-D2SKJnR7.js → chrome-CovpMGdO.js} +1 -1
  36. package/dist/{clack-prompter-B7pN13HV.js → clack-prompter-DMuVyYP2.js} +3 -3
  37. package/dist/cli/daemon-cli.js +1 -1
  38. package/dist/{cli-CVqXnzze.js → cli-DmGUr8aj.js} +7 -6
  39. package/dist/{cli-CSlDsUKl.js → cli-dC-CEeDc.js} +29 -28
  40. package/dist/{client-DMBZpU6X.js → client-T3qcxXru.js} +6 -1
  41. package/dist/{client-CQSyCS4M.js → client-jI1oE0_k.js} +6 -1
  42. package/dist/{command-registry-CrYpGtIt.js → command-registry-Dk55OGO6.js} +10 -10
  43. package/dist/{commands-registry-Bfc7Uz0o.js → commands-registry-BSvi46KZ.js} +1 -1
  44. package/dist/{commands-registry-C_aYUwpl.js → commands-registry-DYoNKo_h.js} +1 -1
  45. package/dist/{completion-cli-GqPGf3Kq.js → completion-cli-1HmgP7tY.js} +2 -2
  46. package/dist/{completion-cli-BmYBAxqM.js → completion-cli-DrDwlbAX.js} +1 -1
  47. package/dist/{config-5SdHIcHU.js → config-4Iu6iHCA.js} +1 -1
  48. package/dist/{config-BmV60pPT.js → config-DBqxAhpU.js} +1 -1
  49. package/dist/{config-cli-BjXnB1c7.js → config-cli-Cm4KwczC.js} +1 -1
  50. package/dist/{config-cli-BxSBpwuL.js → config-cli-DLFKoU1U.js} +1 -1
  51. package/dist/{config-guard-BflmO0t7.js → config-guard--WfHrCVe.js} +6 -6
  52. package/dist/{configure-De-0b4bB.js → configure-BbFd3c68.js} +8 -8
  53. package/dist/{configure-CIFt3G-c.js → configure-DNRNOqKI.js} +20 -20
  54. package/dist/{control-service-Bz7rxLWq.js → control-service-Dtn-qw2s.js} +2 -2
  55. package/dist/control-ui/css/style.css +23 -0
  56. package/dist/control-ui/js/app.js +45 -0
  57. package/dist/control-ui/js/history.js +38 -0
  58. package/dist/{cron-cli-DBIlCvp3.js → cron-cli-Bml4UNHa.js} +5 -5
  59. package/dist/{cron-cli-BP24xl6n.js → cron-cli-C-gg6wfO.js} +3 -3
  60. package/dist/{daemon-cli-wWnBIQtk.js → daemon-cli-0RLS-CwL.js} +2 -2
  61. package/dist/{daemon-cli-DscwlsKW.js → daemon-cli-BPHe9wOW.js} +12 -12
  62. package/dist/daemon-cli.js +5 -0
  63. package/dist/{daemon-runtime-2mwX-jqj.js → daemon-runtime-COZ4usfy.js} +2 -2
  64. package/dist/{deliver-C-37cZUe.js → deliver-BCYGr-CD.js} +2 -2
  65. package/dist/{deliver-CWR_98sK.js → deliver-DrFtaFZt.js} +3 -3
  66. package/dist/{deliver-dODxSv3b.js → deliver-DtM4u1u_.js} +6 -6
  67. package/dist/{devices-cli-BHiPx2c2.js → devices-cli-CI2TOoP1.js} +2 -2
  68. package/dist/{devices-cli-Dds-25Ve.js → devices-cli-texa_iUV.js} +3 -3
  69. package/dist/{diagnostic-DjBRPfu9.js → diagnostic-CH0skkp6.js} +1 -1
  70. package/dist/{diagnostic-rPhsBoZz.js → diagnostic-CQiU0O8b.js} +1 -1
  71. package/dist/{diagnostics-BAMlsVVX.js → diagnostics-BRwihzJG.js} +1 -1
  72. package/dist/{directory-cli-CpUByQew.js → directory-cli-BRMi7Alb.js} +3 -3
  73. package/dist/{dns-cli-Beyzdh3S.js → dns-cli-BsRMpavf.js} +2 -2
  74. package/dist/{doctor-completion-4SDl6ZEA.js → doctor-completion-B8IZFxo9.js} +2 -2
  75. package/dist/{doctor-completion-CL0NHlCA.js → doctor-completion-D6tzA47C.js} +1 -1
  76. package/dist/{doctor-config-flow-QnaBd8kL.js → doctor-config-flow-BTQvpBys.js} +4 -4
  77. package/dist/{enable-HSYin9n7.js → enable-vgRSCfxI.js} +1 -1
  78. package/dist/entry.js +1 -1
  79. package/dist/{exec-approvals-cli-BliRl8VB.js → exec-approvals-cli-DxKAWA8Y.js} +9 -9
  80. package/dist/{exec-approvals-cli--zyXYrNY.js → exec-approvals-cli-wesKZNXl.js} +4 -4
  81. package/dist/extensionAPI.js +20 -19
  82. package/dist/{fetch-Bso4i15F.js → fetch-Dnti0cFs.js} +1 -1
  83. package/dist/{gateway-cli-D98LL9Yi.js → gateway-cli-DCTt5acx.js} +77 -75
  84. package/dist/{gateway-cli-CqHk7Nfm.js → gateway-cli-DdjXGMTo.js} +18 -16
  85. package/dist/{gateway-rpc-DfZSz5JF.js → gateway-rpc-BkB6xEaM.js} +1 -1
  86. package/dist/{gateway-rpc-BxkKeCZ0.js → gateway-rpc-DiTk_nOl.js} +1 -1
  87. package/dist/{gemini-auth-Dy12ZAH3.js → gemini-auth-BkLFtndu.js} +1 -1
  88. package/dist/{gemini-auth-CSlZZ1Pw.js → gemini-auth-ClVyOv9p.js} +1 -1
  89. package/dist/{glass-ui-ws-z-ryIbt7.js → glass-ui-ws-C_DzMNsd.js} +53 -52
  90. package/dist/{glass-ui-ws-vx0iMfPn.js → glass-ui-ws-DBlQ-hk7.js} +14 -13
  91. package/dist/{health-pFcca1cU.js → health-9z0Hpkuc.js} +5 -5
  92. package/dist/{health-BNxdveY8.js → health-NTpZ8ssG.js} +2 -2
  93. package/dist/{hooks-cli-DefzmbZl.js → hooks-cli-C86OGnVu.js} +35 -34
  94. package/dist/{hooks-cli-Dqe7WVzD.js → hooks-cli-wq_uFJly.js} +8 -7
  95. package/dist/{hooks-status-BqLZtMLa.js → hooks-status-oUebZVnL.js} +2 -2
  96. package/dist/{image-D9uvDTrc.js → image-BwXkayiM.js} +1 -1
  97. package/dist/{image-DcpMiprB.js → image-DKudhySz.js} +3 -3
  98. package/dist/{image-CXu8W39c.js → image-mx18hbyY.js} +4 -4
  99. package/dist/index.js +44 -43
  100. package/dist/{inspect-CllGjsWo.js → inspect-CvbbCuoa.js} +2 -2
  101. package/dist/{install-safe-path-tCLiMpmO.js → install-safe-path-D3Uz77u7.js} +1 -1
  102. package/dist/{installs-C1Cebk97.js → installs-DQcRVF1U.js} +3 -3
  103. package/dist/{ir-CTiz95Vb.js → ir-JAy_3A3B.js} +2 -2
  104. package/dist/{lifecycle-core-D6LYXpFj.js → lifecycle-core-D0n_6gjJ.js} +6 -6
  105. package/dist/llm-slug-generator.js +37 -36
  106. package/dist/{local-roots-DhZz0Ybs.js → local-roots-Se92wAN5.js} +1 -1
  107. package/dist/{login-XprgoYoQ.js → login-CeXFO0OG.js} +2 -2
  108. package/dist/{login-ul8zaw_S.js → login-IpOTJtyn.js} +2 -2
  109. package/dist/{login-qr-CUErSLXH.js → login-qr-BMIn_eOf.js} +3 -3
  110. package/dist/{login-qr-pbXdFORv.js → login-qr-CC0TE3ax.js} +1 -1
  111. package/dist/{login-qr-AP9agO-i.js → login-qr-DRepVMvu.js} +3 -3
  112. package/dist/{login-dIlDkG4X.js → login-y9uojrfG.js} +1 -1
  113. package/dist/{logs-cli-xOzIPrHm.js → logs-cli-Dld6m2xN.js} +4 -4
  114. package/dist/{logs-cli-Du8FCgKK.js → logs-cli-Dvs8e7u9.js} +3 -3
  115. package/dist/{manager-PprhCvO_.js → manager-CJ3M1Uxq.js} +4 -4
  116. package/dist/{manager-jpn5vRTY.js → manager-CgLdpXXM.js} +2 -2
  117. package/dist/{memory-cli-Ca5r9AUb.js → memory-cli-CPONmMrJ.js} +1 -1
  118. package/dist/{model-catalog-CqCsARJX.js → model-catalog-Bn0ffe1O.js} +3 -2
  119. package/dist/{model-catalog-DvBJ8pMD.js → model-catalog-r6v4orfa.js} +3 -2
  120. package/dist/{model-picker-D5nCutGW.js → model-picker-D1J9kB3d.js} +1 -1
  121. package/dist/{model-picker-Ddo3jHe-.js → model-picker-TnkH7DsN.js} +2 -2
  122. package/dist/{model-selection-BQCG9ah0.js → model-selection-B8QKPmTL.js} +1 -1
  123. package/dist/{models-c9cOxxrP.js → models-DfuMRKvu.js} +6 -6
  124. package/dist/{models-cli-Cosjljgg.js → models-cli-BJv-aMkH.js} +39 -39
  125. package/dist/{models-cli-BhOA86hd.js → models-cli-FnD3ZD7s.js} +9 -9
  126. package/dist/{node-cli-DSEhcjUV.js → node-cli-C4b1vFcY.js} +1 -1
  127. package/dist/{node-cli-C_G-Q3h-.js → node-cli-C8xs7jkn.js} +17 -17
  128. package/dist/{node-service-Cxz4e-Qd.js → node-service-CD47Qpf1.js} +2 -2
  129. package/dist/{nodes-cli-BcnuJajV.js → nodes-cli-_wKGGKvG.js} +8 -8
  130. package/dist/{nodes-cli-BIPA9B8G.js → nodes-cli-alQ9Bv_-.js} +3 -3
  131. package/dist/{note-DeHoW7xO.js → note-DQ9BvHF2.js} +1 -1
  132. package/dist/{npm-registry-spec-C2JDdSZS.js → npm-registry-spec-C0CPT3vr.js} +1 -1
  133. package/dist/{onboard-DzfTelta.js → onboard-CEE38rOh.js} +17 -17
  134. package/dist/{onboard-Cy_CK0Ng.js → onboard-Dxf43Kz5.js} +5 -5
  135. package/dist/{onboard-channels-BAEFSSqU.js → onboard-channels-CEZpwlsw.js} +6 -6
  136. package/dist/{onboard-channels-BjUx6cZ7.js → onboard-channels-DjqHX51z.js} +1 -1
  137. package/dist/{onboard-custom-C7O-zfQ1.js → onboard-custom-BNyCb71p.js} +2 -2
  138. package/dist/{onboard-custom-DdWPfzJO.js → onboard-custom-yNOjvlgR.js} +1 -1
  139. package/dist/{onboard-helpers-ZmZYzlq3.js → onboard-helpers-CAjcAisT.js} +3 -3
  140. package/dist/{onboard-helpers-_pit1NZW.js → onboard-helpers-DASpwgat.js} +1 -1
  141. package/dist/{onboard-hooks-BAA8CoVv.js → onboard-hooks-C3ok8kqB.js} +2 -2
  142. package/dist/{onboard-remote-zUjD7UtM.js → onboard-remote-D-8pd-tx.js} +3 -3
  143. package/dist/{onboard-remote-R1g6st9i.js → onboard-remote-xXi061GI.js} +1 -1
  144. package/dist/{onboard-skills-ByO_wSN5.js → onboard-skills-Bn2T6lze.js} +1 -1
  145. package/dist/{onboard-skills-BB0YhUmF.js → onboard-skills-c4Rw-CGf.js} +3 -3
  146. package/dist/{onboarding-B9RTmYiC.js → onboarding-B1VwuUX5.js} +15 -15
  147. package/dist/{onboarding-CerjrLp1.js → onboarding-BxHFNg2y.js} +9 -9
  148. package/dist/{onboarding.finalize-CLQL7PKW.js → onboarding.finalize-DQm4Tey0.js} +42 -41
  149. package/dist/{onboarding.finalize-CGGB37q-.js → onboarding.finalize-dP5Igu4h.js} +13 -12
  150. package/dist/{onboarding.gateway-config-BQFO9a_h.js → onboarding.gateway-config-D6SN3HBb.js} +3 -3
  151. package/dist/{onboarding.gateway-config-CJUgDC6Y.js → onboarding.gateway-config-DOna9Sr4.js} +5 -5
  152. package/dist/{openai-model-default-DMjQRsb1.js → openai-model-default-WqcGxyFM.js} +1 -1
  153. package/dist/{outbound-3MZ12YrQ.js → outbound-BihTVvMr.js} +2 -2
  154. package/dist/{outbound-DB5Zus0-.js → outbound-DyBiNY4z.js} +1 -1
  155. package/dist/{outbound-CtMCmwxR.js → outbound-UwQEXYXv.js} +6 -6
  156. package/dist/{outbound-attachment-DJldbweZ.js → outbound-attachment-BzwVH4Pn.js} +1 -1
  157. package/dist/{pairing-cli-CBLfGvqW.js → pairing-cli-CpKm3M-X.js} +2 -2
  158. package/dist/{path-env-MnzRq6nD.js → path-env-BaQ2E7uD.js} +1 -1
  159. package/dist/{pi-auth-json-D6YbgrAe.js → pi-auth-json-BloyLEwh.js} +24 -9
  160. package/dist/{pi-auth-json-CaX_1WHk.js → pi-auth-json-CCaxCywz.js} +21 -2
  161. package/dist/{pi-auth-json-Bk8ERadJ.js → pi-auth-json-LXkL5WS_.js} +24 -11
  162. package/dist/pi-auth-json-zHckislA.js +133 -0
  163. package/dist/{pi-embedded-liyRigX2.js → pi-embedded-DKaDXfFG.js} +52 -45
  164. package/dist/{pi-embedded-helpers-CNPyv_ax.js → pi-embedded-helpers-BuVSLhG_.js} +1 -1
  165. package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-CepVOR4e.js} +6 -6
  166. package/dist/{pi-embedded-helpers-pubKo8HQ.js → pi-embedded-helpers-DASLSiel.js} +6 -6
  167. package/dist/{pi-tools.policy-CIDBbw6x.js → pi-tools.policy-C6MWZ59E.js} +1 -1
  168. package/dist/{plugin-auto-enable-BzX1uAKy.js → plugin-auto-enable-CP0nONRL.js} +2 -2
  169. package/dist/{plugin-registry-Ls_YGsWz.js → plugin-registry-DMUt9X9t.js} +1 -1
  170. package/dist/{plugin-registry-BkFixq63.js → plugin-registry-DeT0nOee.js} +1 -1
  171. package/dist/plugin-sdk/agents/pi-auth-json.d.ts +12 -1
  172. package/dist/plugin-sdk/{api-key-rotation-CVBMpnPc.js → api-key-rotation-LTEeykrm.js} +1 -1
  173. package/dist/plugin-sdk/{audio-preflight-DoQQKlxa.js → audio-preflight-JLsqSVmS.js} +7 -7
  174. package/dist/plugin-sdk/{channel-web-CP1OgJFj.js → channel-web-BtuQPMkd.js} +8 -8
  175. package/dist/plugin-sdk/{chrome-C7c_0I5M.js → chrome-cPabhZZ4.js} +1 -1
  176. package/dist/plugin-sdk/{commands-registry-CQFbmUMs.js → commands-registry-C9W8UWBh.js} +1 -1
  177. package/dist/plugin-sdk/{config-DDkdiUOR.js → config-XjK1L039.js} +1 -1
  178. package/dist/plugin-sdk/{deliver-BZ6iNLl7.js → deliver-Clj5uUID.js} +2 -2
  179. package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-EyuCSUXO.js} +1 -1
  180. package/dist/plugin-sdk/gateway/protocol/index.d.ts +6 -2
  181. package/dist/plugin-sdk/gateway/protocol/schema/sessions.d.ts +4 -0
  182. package/dist/plugin-sdk/gateway/protocol/schema/types.d.ts +2 -1
  183. package/dist/plugin-sdk/{image-BOYy0Ump.js → image-CAA-0T17.js} +3 -3
  184. package/dist/plugin-sdk/index.js +25 -24
  185. package/dist/plugin-sdk/{login-Bh3DZPam.js → login-Btqnuww9.js} +2 -2
  186. package/dist/plugin-sdk/{login-qr-DbR7odSr.js → login-qr-Bxhch9R1.js} +3 -3
  187. package/dist/plugin-sdk/{manager-DckktAQ3.js → manager-CJXUXj6F.js} +2 -2
  188. package/dist/plugin-sdk/{model-selection-OpU8HN50.js → model-selection-DduIg_Yt.js} +1 -1
  189. package/dist/plugin-sdk/{outbound-rF6G8Xpr.js → outbound-D_7ktHfW.js} +2 -2
  190. package/dist/plugin-sdk/{pi-auth-json-CJk8t14T.js → pi-auth-json-CcR0OJ6f.js} +24 -9
  191. package/dist/plugin-sdk/{pi-embedded-helpers-BveUP4hk.js → pi-embedded-helpers-CDrcAlGW.js} +6 -6
  192. package/dist/plugin-sdk/{pw-ai-DjGUsee-.js → pw-ai-CJjlxWj7.js} +3 -3
  193. package/dist/plugin-sdk/{replies-fI39rPGa.js → replies-DC9NI2KS.js} +1 -1
  194. package/dist/plugin-sdk/{reply-CBkEQFTX.js → reply-CnTdwks6.js} +53 -46
  195. package/dist/plugin-sdk/{runner-BVqnEfNe.js → runner-CBq0_f-j.js} +7 -6
  196. package/dist/plugin-sdk/{send-BMfJIhCk.js → send-BditKDxK.js} +2 -2
  197. package/dist/plugin-sdk/{send-BHbXh8Ly.js → send-BeO7M3pz.js} +2 -2
  198. package/dist/plugin-sdk/{send-Bxdu6ZZy.js → send-CdJoYllr.js} +1 -1
  199. package/dist/plugin-sdk/{send-D6LMZJ_h.js → send-u7SJPkmf.js} +2 -2
  200. package/dist/plugin-sdk/{send-BtANzsAo.js → send-vTA7ntTD.js} +1 -1
  201. package/dist/plugin-sdk/{session-kI0tzViQ.js → session-t6hhaLPe.js} +1 -1
  202. package/dist/plugin-sdk/{skill-commands-DCNXVERE.js → skill-commands-D-rpF3bM.js} +1 -1
  203. package/dist/plugin-sdk/{web-CId35Am_.js → web-BkK8fGjJ.js} +25 -24
  204. package/dist/plugin-sdk/{whatsapp-actions-CcBzDuL-.js → whatsapp-actions-DifisvHY.js} +3 -3
  205. package/dist/{plugins-cli-CJLJsr_L.js → plugins-cli-BCYM8B89.js} +8 -7
  206. package/dist/{plugins-cli-DXiakDnC.js → plugins-cli-D85G3qZp.js} +36 -35
  207. package/dist/{program-B6KpKryX.js → program-DGLuU2_H.js} +13 -12
  208. package/dist/{program-context-Dm-BSkOd.js → program-context-B2BcluHm.js} +40 -40
  209. package/dist/{prompt-select-styled-DszNP9MV.js → prompt-select-styled-C9RTEKcx.js} +7 -7
  210. package/dist/{prompt-select-styled-Dk8_YofB.js → prompt-select-styled-CAKiYm_X.js} +29 -29
  211. package/dist/{provider-auth-helpers-Bi5oeREh.js → provider-auth-helpers-B8RGFZit.js} +1 -1
  212. package/dist/{provider-auth-helpers-B_Rtgt-w.js → provider-auth-helpers-CfkQBpo7.js} +6 -6
  213. package/dist/{push-apns-Bmd6SdxC.js → push-apns-DM6nj062.js} +1 -1
  214. package/dist/{push-apns-BzIW-JHE.js → push-apns-DmpUv3y4.js} +1 -1
  215. package/dist/{pw-ai-B5asscAD.js → pw-ai-CPelTpWz.js} +3 -3
  216. package/dist/{pw-ai-1htA-NnS.js → pw-ai-Cfeeyp0u.js} +3 -3
  217. package/dist/{qmd-manager-iDLSiI4Z.js → qmd-manager-lBS9mT9w.js} +1 -1
  218. package/dist/{register.agent-kKtKgmcO.js → register.agent-DX-OyYzL.js} +13 -12
  219. package/dist/{register.agent-Vc2Bu3J4.js → register.agent-DcvwdQXs.js} +52 -51
  220. package/dist/{register.configure-BnNPTLBI.js → register.configure-Bldjj3LP.js} +61 -60
  221. package/dist/{register.configure-D-o-geWg.js → register.configure-DBaELzEM.js} +16 -15
  222. package/dist/{register.maintenance-jMmXJ1NK.js → register.maintenance-BKB_D_Py.js} +14 -13
  223. package/dist/{register.maintenance-0L5VAVCA.js → register.maintenance-BgWyvLo5.js} +54 -53
  224. package/dist/{register.message-C9zVQOWl.js → register.message-ClKGIfK4.js} +32 -31
  225. package/dist/{register.message-CdCHhVND.js → register.message-DUeR-Dz2.js} +8 -7
  226. package/dist/{register.onboard-pKq2v5Fh.js → register.onboard-CSmfgDU5.js} +46 -45
  227. package/dist/{register.onboard-BN7J8vyx.js → register.onboard-DT1We9u2.js} +12 -11
  228. package/dist/{register.setup-BKYxHrcB.js → register.setup-CEW5ApHJ.js} +12 -11
  229. package/dist/{register.setup-J_GQSh-T.js → register.setup-mJzihfMO.js} +46 -45
  230. package/dist/{register.status-health-sessions-BLA4yUC4.js → register.status-health-sessions-BJYemCHi.js} +10 -9
  231. package/dist/{register.status-health-sessions-BtGRpngz.js → register.status-health-sessions-CMQS8zwA.js} +46 -45
  232. package/dist/{register.subclis-DcBHO9E8.js → register.subclis-Bi4jmYW6.js} +20 -20
  233. package/dist/{replies-ZYtI9jr0.js → replies-CM5QgPHM.js} +1 -1
  234. package/dist/{replies-LSmuwOhA.js → replies-DA4YTv9G.js} +3 -3
  235. package/dist/{reply-C68F3IMq.js → reply-YphHjxHp.js} +48 -46
  236. package/dist/{routes-Ba9CUQ8M.js → routes-B1-BfEDm.js} +1 -1
  237. package/dist/{rpc-BjLadgzu.js → rpc--E7i90bk.js} +1 -1
  238. package/dist/{rpc-BfhojW8g.js → rpc-gJOYujMj.js} +2 -2
  239. package/dist/{run-main-DkcjdsAo.js → run-main-Ugk40lFF.js} +20 -19
  240. package/dist/{runner-BORIO-D3.js → runner-CW9KEL7W.js} +1 -1
  241. package/dist/{runner-WAG0M5s9.js → runner-DKq2NJqT.js} +10 -9
  242. package/dist/{runner-CUglpiFP.js → runner-DmM2HhB-.js} +2 -2
  243. package/dist/{runner-BcQ0sF9T.js → runner-qeYibveF.js} +7 -6
  244. package/dist/{sandbox-C-T6hOMv.js → sandbox-DAOxwUQm.js} +2 -2
  245. package/dist/{sandbox-cli-BllVdQzR.js → sandbox-cli-BV6FS0bK.js} +3 -3
  246. package/dist/{security-cli-BFLtWWHy.js → security-cli-BA4AGkeh.js} +10 -10
  247. package/dist/{security-cli-Dmb1k47A.js → security-cli-KxA9AZ3q.js} +3 -3
  248. package/dist/{send-C1IYd3g7.js → send-BJTX03Bn.js} +1 -1
  249. package/dist/{send-DAN9hA5h.js → send-C4Bqsa_r.js} +6 -6
  250. package/dist/{send-DXW6mdgR.js → send-CB3dCCmE.js} +1 -1
  251. package/dist/{send-D-hWrHoH.js → send-CFzf_ab4.js} +1 -1
  252. package/dist/{send-DkfYiRx5.js → send-Cgcbuw8U.js} +1 -1
  253. package/dist/{send-CvhXrdgS.js → send-Cq1L-2Ik.js} +9 -9
  254. package/dist/{send-C4Ucr8ep.js → send-DHWMRnPk.js} +3 -3
  255. package/dist/{send-DYj_o4_F.js → send-DVt9RLDh.js} +9 -9
  256. package/dist/{send-CVMyYPQw.js → send-DX0p0ym_.js} +5 -5
  257. package/dist/{send-DWYkPSUs.js → send-ZI2bG_Jc.js} +1 -1
  258. package/dist/{send-BArQpbtx.js → send-iVPD3yf2.js} +1 -1
  259. package/dist/{send-CQAKg_12.js → send-vtz9ZwUj.js} +4 -4
  260. package/dist/{server-context-CEpFjqSk.js → server-context-CHYWo_TC.js} +3 -3
  261. package/dist/{server-methods-B4IR7jcD.js → server-methods-C3xXynlm.js} +102 -11
  262. package/dist/{server-methods-n5oCz2e0.js → server-methods-DJ3Bi-Xg.js} +118 -27
  263. package/dist/{server-node-events-C3hHerD3.js → server-node-events-Cgdwex4k.js} +8 -7
  264. package/dist/{server-node-events---jWWBKN.js → server-node-events-DS50d7AK.js} +30 -29
  265. package/dist/{service-Cl74hx8J.js → service-osK70kTZ.js} +2 -2
  266. package/dist/{session-DtMfLMdP.js → session-BF9s_N2s.js} +1 -1
  267. package/dist/{session-DSU1vxxi.js → session-BQWef058.js} +1 -1
  268. package/dist/{session-cost-usage-UxUgrslM.js → session-cost-usage-BXAI7CNH.js} +1 -1
  269. package/dist/session-dirs-Dgz7kkUM.js +18 -0
  270. package/dist/{shared-BJvwnR5z.js → shared-DnmJ0ABB.js} +2 -2
  271. package/dist/{skill-commands-DcVwOafC.js → skill-commands-BiPrghRt.js} +1 -1
  272. package/dist/{skill-commands-DklY7Cj7.js → skill-commands-D8RiKDh0.js} +1 -1
  273. package/dist/{skills-cli-BZTBLQTt.js → skills-cli-C-URp1av.js} +5 -5
  274. package/dist/{skills-install-D67isO1L.js → skills-install-CWVdJkLn.js} +4 -4
  275. package/dist/{skills-status-CURJKnyY.js → skills-status-C3ptXwnh.js} +1 -1
  276. package/dist/{status-ITRlj7e_.js → status-0aNBSe72.js} +17 -17
  277. package/dist/{status-ClvXAaHZ.js → status-2KD2q2sn.js} +1 -1
  278. package/dist/{status-8CbQSAEF.js → status-BBnhTX-n.js} +1 -1
  279. package/dist/{status-CwhHbhUv.js → status-D9uWA9pU.js} +5 -5
  280. package/dist/{status.update-DtwCUTf-.js → status.update-DP0OFqyb.js} +1 -1
  281. package/dist/{subagent-registry-BXI3DyAX.js → subagent-registry-aZczbtLM.js} +11 -9
  282. package/dist/{system-cli-UMsMEurS.js → system-cli-BXewgTZR.js} +5 -114
  283. package/dist/{system-cli-D_EIZpBm.js → system-cli-CECNjZdB.js} +3 -3
  284. package/dist/system-run-command-B_qw8CXP.js +93 -0
  285. package/dist/{systemd-riq8uNJQ.js → systemd-DT6SbCim.js} +1 -1
  286. package/dist/{systemd-hints-BR6gChwm.js → systemd-hints-DZH9qY5W.js} +4 -4
  287. package/dist/{systemd-linger-aQ75ZlXY.js → systemd-linger-DCskIKcx.js} +2 -2
  288. package/dist/{tables-qMwbq29u.js → tables-BuM4FKR3.js} +2 -2
  289. package/dist/{tui-BJB80muc.js → tui-2nWOvxxE.js} +2 -2
  290. package/dist/{tui-CriznorL.js → tui-DLaU7tTx.js} +4 -4
  291. package/dist/{tui-cli-C7Q9lK8Q.js → tui-cli-B-Nl_8uj.js} +3 -3
  292. package/dist/{tui-cli-CSIdfCTR.js → tui-cli-D-PVUsS5.js} +8 -8
  293. package/dist/{unified-runner-Dy2eq7ZO.js → unified-runner-CMgTwCmG.js} +83 -76
  294. package/dist/{update-rw7wJwHd.js → update-Ya0e-JnM.js} +1 -1
  295. package/dist/{update-check-CtckACbb.js → update-check-7EzEjSzb.js} +1 -1
  296. package/dist/{update-cli-JS-KTMc8.js → update-cli-DiH9ccFa.js} +15 -14
  297. package/dist/{update-cli-B0H4ITiR.js → update-cli-Dup4Xi6b.js} +64 -63
  298. package/dist/{update-runner-e_ChofHM.js → update-runner-BkdQhkKR.js} +1 -1
  299. package/dist/{update-runner-C17bqGvO.js → update-runner-dT5l0kuK.js} +3 -3
  300. package/dist/{web-CP9nUIj0.js → web-BIo1QcLd.js} +42 -41
  301. package/dist/{web-8YLJpHFc.js → web-BrGvZQ21.js} +24 -23
  302. package/dist/{web-Cih6rPbV.js → web-CJSRBiDm.js} +33 -32
  303. package/dist/{web-Dr9gUjHz.js → web-DPki9fDa.js} +7 -6
  304. package/dist/{webhooks-cli-cD58DWAE.js → webhooks-cli-iOLEyFdx.js} +1 -1
  305. package/dist/{whatsapp-actions-DvhI5-DC.js → whatsapp-actions-BW8P8Izy.js} +3 -3
  306. package/dist/{whatsapp-actions-DbcsdOH3.js → whatsapp-actions-BmcMtU_J.js} +1 -1
  307. package/dist/{whatsapp-actions-BIeSWsCF.js → whatsapp-actions-DZfLLQ0Y.js} +10 -10
  308. package/dist/{with-timeout-gmK6RciS.js → with-timeout-D2z7OkiK.js} +1 -1
  309. package/extensions/bluebubbles/package.json +1 -1
  310. package/extensions/copilot-proxy/package.json +1 -1
  311. package/extensions/diagnostics-otel/package.json +1 -1
  312. package/extensions/discord/package.json +1 -1
  313. package/extensions/feishu/package.json +1 -1
  314. package/extensions/google-antigravity-auth/package.json +1 -1
  315. package/extensions/google-gemini-cli-auth/package.json +1 -1
  316. package/extensions/googlechat/package.json +1 -1
  317. package/extensions/imessage/package.json +1 -1
  318. package/extensions/irc/package.json +1 -1
  319. package/extensions/learning-loop/package.json +1 -1
  320. package/extensions/line/package.json +1 -1
  321. package/extensions/llm-task/package.json +1 -1
  322. package/extensions/matrix/CHANGELOG.md +12 -0
  323. package/extensions/matrix/package.json +1 -1
  324. package/extensions/mattermost/package.json +1 -1
  325. package/extensions/memory-core/package.json +1 -1
  326. package/extensions/memory-lancedb/package.json +1 -1
  327. package/extensions/minimax-portal-auth/package.json +1 -1
  328. package/extensions/msteams/CHANGELOG.md +12 -0
  329. package/extensions/msteams/package.json +1 -1
  330. package/extensions/nextcloud-talk/package.json +1 -1
  331. package/extensions/nostr/CHANGELOG.md +12 -0
  332. package/extensions/nostr/package.json +1 -1
  333. package/extensions/open-prose/package.json +1 -1
  334. package/extensions/outlook/package.json +1 -1
  335. package/extensions/pipeline/package.json +1 -1
  336. package/extensions/signal/package.json +1 -1
  337. package/extensions/slack/package.json +1 -1
  338. package/extensions/telegram/package.json +1 -1
  339. package/extensions/tlon/package.json +1 -1
  340. package/extensions/twitch/CHANGELOG.md +12 -0
  341. package/extensions/twitch/package.json +1 -1
  342. package/extensions/voice-call/CHANGELOG.md +12 -0
  343. package/extensions/voice-call/package.json +1 -1
  344. package/extensions/whatsapp/package.json +1 -1
  345. package/extensions/zalo/CHANGELOG.md +12 -0
  346. package/extensions/zalo/package.json +1 -1
  347. package/extensions/zalouser/CHANGELOG.md +12 -0
  348. package/extensions/zalouser/package.json +1 -1
  349. package/package.json +1 -1
  350. package/dist/pi-auth-json-DayrlDg_.js +0 -13
  351. /package/dist/{active-listener-CfHHV2SU.js → active-listener-Br2FcRv7.js} +0 -0
  352. /package/dist/{active-listener-1krIj9TM.js → active-listener-Dx_Y1ouV.js} +0 -0
  353. /package/dist/{active-listener-kvXhlgwu.js → active-listener-SKkHHqlN.js} +0 -0
  354. /package/dist/{allow-from-BZCKLkjL.js → allow-from-BIJVrwCW.js} +0 -0
  355. /package/dist/{argv-C6ovOie2.js → argv-B20UI_hB.js} +0 -0
  356. /package/dist/{auth-choice-legacy-Ch38-Kbr.js → auth-choice-legacy-aJ8D6F_s.js} +0 -0
  357. /package/dist/{auth-token-BnOynwk4.js → auth-token-Cay2jwzn.js} +0 -0
  358. /package/dist/{brew-DjNEjKAo.js → brew-DZPKCJr0.js} +0 -0
  359. /package/dist/{catalog-RiADx7MA.js → catalog-NQ4pj9RI.js} +0 -0
  360. /package/dist/{channel-selection-DuWs0Aak.js → channel-selection-V2xDgw16.js} +0 -0
  361. /package/dist/{channels-status-issues-B_kBkl_u.js → channels-status-issues-CJ0Vb_9z.js} +0 -0
  362. /package/dist/{chunk-09egQapi.js → chunk-BHW8Yu5A.js} +0 -0
  363. /package/dist/{clipboard-Cg3cin13.js → clipboard-BIyDbnnI.js} +0 -0
  364. /package/dist/{command-options-BtDai3oC.js → command-options-BkTXKWlb.js} +0 -0
  365. /package/dist/{command-poll-backoff-BiwOFDEK.js → command-poll-backoff-BGS2SHjF.js} +0 -0
  366. /package/dist/{command-poll-backoff-Bup9wS1y.js → command-poll-backoff-CaTOIqVn.js} +0 -0
  367. /package/dist/{config-ClSsetRi.js → config-DmMe1tf9.js} +0 -0
  368. /package/dist/{config-validation-CmimHAES.js → config-validation-BckiR0w9.js} +0 -0
  369. /package/dist/{constants-C8_BLnaW.js → constants-CafH8-8D.js} +0 -0
  370. /package/dist/{control-ui-assets-Z947tKLt.js → control-ui-assets-B7moDVHX.js} +0 -0
  371. /package/dist/{dangerous-tools-BL-M3lPt.js → dangerous-tools-BvU3-DRl.js} +0 -0
  372. /package/dist/{delivery-queue-CxuV9EeG.js → delivery-queue-CAxX6nGq.js} +0 -0
  373. /package/dist/{dm-policy-shared-Bh3TbexU.js → dm-policy-shared-DlDAGtZL.js} +0 -0
  374. /package/dist/{docs-cli-BpnEOtJi.js → docs-cli-qE-blOLC.js} +0 -0
  375. /package/dist/{entry-status-CAs6m3_l.js → entry-status-BOOmFr_b.js} +0 -0
  376. /package/dist/{exec-approvals-Kn31mBcW.js → exec-approvals-DXM2pQYL.js} +0 -0
  377. /package/dist/{fetch-timeout-DL3f_O53.js → fetch-timeout-Cj6kcyGt.js} +0 -0
  378. /package/dist/{format-yQZNwAF2.js → format-B0yJsjEo.js} +0 -0
  379. /package/dist/{gmail-setup-utils-Bv0M7ka7.js → gmail-setup-utils-Dq6vwkWW.js} +0 -0
  380. /package/dist/{health-format-DSwnXZPU.js → health-format-DRCaak6L.js} +0 -0
  381. /package/dist/{heartbeat-visibility-U4BL57eQ.js → heartbeat-visibility-ChEo5Zvk.js} +0 -0
  382. /package/dist/{helpers-By2rxBQ5.js → helpers-BtH6pa6c.js} +0 -0
  383. /package/dist/{helpers-BcGbMZD1.js → helpers-DnjQ73f_.js} +0 -0
  384. /package/dist/{inbound-context-DSDTl6Kj.js → inbound-context-Dvqh1Tgb.js} +0 -0
  385. /package/dist/{ipv4-CxY-xbsH.js → ipv4-CjlyK5jc.js} +0 -0
  386. /package/dist/{is-main-DrpmTCqv.js → is-main-CmNWsNFB.js} +0 -0
  387. /package/dist/{logging-BzzwiKjv.js → logging-KpicI3yD.js} +0 -0
  388. /package/dist/{markdown-tables-C-BmIap8.js → markdown-tables-Dnj2LQUc.js} +0 -0
  389. /package/dist/{model-param-b-BCRDjJEJ.js → model-param-b-Cp9d4e-0.js} +0 -0
  390. /package/dist/{node-match-CN8o4Vi3.js → node-match-CdUiymRU.js} +0 -0
  391. /package/dist/{nodes-screen-VBGXKdLk.js → nodes-screen-8Bq7DiSa.js} +0 -0
  392. /package/dist/{onboard-config-DPPsiC8t.js → onboard-config-B9jTl83d.js} +0 -0
  393. /package/dist/{outbound-attachment-mQQiYZ3C.js → outbound-attachment-Bw-c5Cdp.js} +0 -0
  394. /package/dist/{pairing-labels-2S6x2UoV.js → pairing-labels-DyXoD1DS.js} +0 -0
  395. /package/dist/{parse-log-line-BHCUQaF3.js → parse-log-line-DvYyTYq4.js} +0 -0
  396. /package/dist/{parse-port-Vm8F7Kus.js → parse-port-DnJYkByg.js} +0 -0
  397. /package/dist/{parse-timeout-C385GCpE.js → parse-timeout-2S5vp0-9.js} +0 -0
  398. /package/dist/{path-safety-BqPJ8DDQ.js → path-safety-D55Cxg8r.js} +0 -0
  399. /package/dist/{pi-model-discovery-Bv5YDJc8.js → pi-model-discovery-CuZX_Q4t.js} +0 -0
  400. /package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BRYwA2Ic.js} +0 -0
  401. /package/dist/plugin-sdk/{command-poll-backoff-CBq0jVRw.js → command-poll-backoff-Bug27PHS.js} +0 -0
  402. /package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-DJ3CI92h.js} +0 -0
  403. /package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-C6GM0Qik.js} +0 -0
  404. /package/dist/plugin-sdk/{tool-loop-detection-DU5sTIKg.js → tool-loop-detection-BAUvBvAO.js} +0 -0
  405. /package/dist/{plugins-allowlist-sArtGE-d.js → plugins-allowlist-BjKJrQ0e.js} +0 -0
  406. /package/dist/{polls-CCuCaqgv.js → polls-BKbIUHj7.js} +0 -0
  407. /package/dist/{ports-BX0kKI0g.js → ports-DtW62rqS.js} +0 -0
  408. /package/dist/{prompt-style-8JqOYj0q.js → prompt-style-CnkMpSXt.js} +0 -0
  409. /package/dist/{prompts-Xu2Sveka.js → prompts-CfOu9uZi.js} +0 -0
  410. /package/dist/{proxy-BaSHbVlA.js → proxy-CLEew2L6.js} +0 -0
  411. /package/dist/{proxy-CBJ1upuz.js → proxy-DVy9foH0.js} +0 -0
  412. /package/dist/{pw-ai-DqL87js3.js → pw-ai-C_1hRlOM.js} +0 -0
  413. /package/dist/{qmd-manager-D85GJrir.js → qmd-manager-CCUK1xoc.js} +0 -0
  414. /package/dist/{qmd-manager-Bx06p6nk.js → qmd-manager-qpFs_a6u.js} +0 -0
  415. /package/dist/{qr-cli-jd9LdZpq.js → qr-cli-9L-HExyH.js} +0 -0
  416. /package/dist/{render-CDCvpfhh.js → render-DwEu-aCr.js} +0 -0
  417. /package/dist/{reply-prefix-DpqZu44Z.js → reply-prefix-CvEIl6_d.js} +0 -0
  418. /package/dist/{resolve-route-C4_I4GFI.js → resolve-route-DX7xcMsD.js} +0 -0
  419. /package/dist/{retry-BBVXkKBV.js → retry-B-y5suGA.js} +0 -0
  420. /package/dist/{runtime-guard-B37eizu-.js → runtime-guard-Dik20CVM.js} +0 -0
  421. /package/dist/{runtime-status-CR9445g5.js → runtime-status-D6c3G7my.js} +0 -0
  422. /package/dist/{session-DIBTkyvE.js → session-CINKYYDi.js} +0 -0
  423. /package/dist/{shared-Knv1hy6h.js → shared-CvNixzwn.js} +0 -0
  424. /package/dist/{skill-scanner-CLs8u6vQ.js → skill-scanner-hMtQbWPV.js} +0 -0
  425. /package/dist/{sqlite-D_mz1_-y.js → sqlite-BHWvOATS.js} +0 -0
  426. /package/dist/{stagger-BUClb97_.js → stagger-CvFURHzt.js} +0 -0
  427. /package/dist/{status-BrV-afZE.js → status-klsFDD3M.js} +0 -0
  428. /package/dist/{table-BTgkRafz.js → table-BKlH0YlA.js} +0 -0
  429. /package/dist/{target-errors-Bbr9rlzN.js → target-errors-BEugWC4F.js} +0 -0
  430. /package/dist/{tokens-Bux9Y_xD.js → tokens-W0JzCJJM.js} +0 -0
  431. /package/dist/{tool-loop-detection-DR_rrIA1.js → tool-loop-detection-D5mBY7AC.js} +0 -0
  432. /package/dist/{tool-loop-detection-DPVtQOfM.js → tool-loop-detection-DZQMPDma.js} +0 -0
  433. /package/dist/{tool-loop-detection-C7TCF2V2.js → tool-loop-detection-Dd4SFWb1.js} +0 -0
  434. /package/dist/{usage-format-BzKEDn0q.js → usage-format-BgUx3Bm4.js} +0 -0
  435. /package/dist/{widearea-dns-DzLerlJb.js → widearea-dns-CyVOLgNE.js} +0 -0
  436. /package/dist/{workspace-CYxdoAlY.js → workspace-B4H-2N8y.js} +0 -0
  437. /package/dist/{wsl-C4424szg.js → wsl-q8spwrME.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { ft as loadSymiPlugins } from "./reply-C68F3IMq.js";
4
+ import { ft as loadSymiPlugins } from "./reply-YphHjxHp.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -14,19 +14,19 @@ import "./message-channel-aT-I_DTX.js";
14
14
  import "./send-CZr1hVHY.js";
15
15
  import { i as loadConfig } from "./config-CHwyw6l5.js";
16
16
  import "./manifest-registry-C4BxOMWX.js";
17
- import "./runner-CUglpiFP.js";
18
- import "./image-D9uvDTrc.js";
17
+ import "./runner-DmM2HhB-.js";
18
+ import "./image-BwXkayiM.js";
19
19
  import "./models-config-qyOXrOli.js";
20
20
  import "./pi-model-discovery-4uUnLc3n.js";
21
- import "./pi-embedded-helpers-CNPyv_ax.js";
22
- import "./sandbox-C-T6hOMv.js";
21
+ import "./pi-embedded-helpers-BuVSLhG_.js";
22
+ import "./sandbox-DAOxwUQm.js";
23
23
  import "./chrome-DtPkPq9T.js";
24
24
  import "./tailscale-D5dKabOc.js";
25
25
  import "./auth-B741uFtk.js";
26
- import "./server-context-CEpFjqSk.js";
26
+ import "./server-context-CHYWo_TC.js";
27
27
  import "./frontmatter-DWQhtOo7.js";
28
28
  import "./skills-6jdJQ5ZL.js";
29
- import "./routes-Ba9CUQ8M.js";
29
+ import "./routes-B1-BfEDm.js";
30
30
  import "./redact-f-Q-hFt_.js";
31
31
  import "./errors-BF3TeRH2.js";
32
32
  import "./fs-safe-CUjO1ca2.js";
@@ -52,16 +52,16 @@ import "./fetch-guard-DOPkVbh3.js";
52
52
  import "./api-key-rotation-CzuPlV2t.js";
53
53
  import "./local-roots-aAFLQGkY.js";
54
54
  import "./sqlite-Dx3J_aSE.js";
55
- import "./model-catalog-DvBJ8pMD.js";
55
+ import "./model-catalog-r6v4orfa.js";
56
56
  import "./tokens-BuceUQDl.js";
57
- import "./with-timeout-gmK6RciS.js";
58
- import "./deliver-CWR_98sK.js";
59
- import "./diagnostic-DjBRPfu9.js";
57
+ import "./with-timeout-D2z7OkiK.js";
58
+ import "./deliver-DrFtaFZt.js";
59
+ import "./diagnostic-CH0skkp6.js";
60
60
  import "./diagnostic-session-state-CUslJyKP.js";
61
61
  import "./send-Cutb0ZDY.js";
62
62
  import "./model-tWhwnFf8.js";
63
63
  import "./reply-prefix-CE2YmmsD.js";
64
- import "./memory-cli-Ca5r9AUb.js";
64
+ import "./memory-cli-CPONmMrJ.js";
65
65
  import "./manager-D4LJSRyZ.js";
66
66
  import "./retry-BoS4e4X_.js";
67
67
  import "./target-errors-7AvoVa10.js";
@@ -71,13 +71,13 @@ import "./ir-DZam9q5M.js";
71
71
  import "./render-CXDO_kgw.js";
72
72
  import "./commands-BNLCWX6e.js";
73
73
  import "./commands-registry-BT0-zzs3.js";
74
- import "./client-CQSyCS4M.js";
75
- import "./call-CJaS1iRF.js";
74
+ import "./client-jI1oE0_k.js";
75
+ import "./call-CFhGTNtt.js";
76
76
  import "./pairing-token-CX3NN_qj.js";
77
77
  import "./channel-activity-BOiuJS3t.js";
78
78
  import "./fetch-DTNGXEzX.js";
79
79
  import "./tables-BEzT0Da4.js";
80
- import "./send-DkfYiRx5.js";
80
+ import "./send-Cgcbuw8U.js";
81
81
  import "./pairing-store-CK726Dzq.js";
82
82
  import "./proxy-DU7W9XSc.js";
83
83
  import "./links-3i1eUga4.js";
@@ -88,19 +88,20 @@ import "./resolve-route-BMoTaVAH.js";
88
88
  import "./replies-vgss3_QA.js";
89
89
  import "./skill-commands-Cxw-jNxU.js";
90
90
  import "./workspace-dirs-GpkFi6Kw.js";
91
- import "./session-cost-usage-UxUgrslM.js";
92
- import "./outbound-attachment-mQQiYZ3C.js";
93
- import "./delivery-queue-CxuV9EeG.js";
94
- import "./send-DWYkPSUs.js";
95
- import "./onboard-helpers-ZmZYzlq3.js";
96
- import "./prompt-style-8JqOYj0q.js";
97
- import "./pairing-labels-2S6x2UoV.js";
98
- import "./exec-approvals-Kn31mBcW.js";
99
- import "./nodes-screen-VBGXKdLk.js";
100
- import "./pi-tools.policy-CIDBbw6x.js";
101
- import "./control-service-Bz7rxLWq.js";
102
- import "./stagger-BUClb97_.js";
103
- import "./channel-selection-DuWs0Aak.js";
91
+ import "./pi-auth-json-zHckislA.js";
92
+ import "./session-cost-usage-BXAI7CNH.js";
93
+ import "./outbound-attachment-Bw-c5Cdp.js";
94
+ import "./delivery-queue-CAxX6nGq.js";
95
+ import "./send-ZI2bG_Jc.js";
96
+ import "./onboard-helpers-CAjcAisT.js";
97
+ import "./prompt-style-CnkMpSXt.js";
98
+ import "./pairing-labels-DyXoD1DS.js";
99
+ import "./exec-approvals-DXM2pQYL.js";
100
+ import "./nodes-screen-8Bq7DiSa.js";
101
+ import "./pi-tools.policy-C6MWZ59E.js";
102
+ import "./control-service-Dtn-qw2s.js";
103
+ import "./stagger-CvFURHzt.js";
104
+ import "./channel-selection-V2xDgw16.js";
104
105
 
105
106
  //#region src/plugins/cli.ts
106
107
  const log = createSubsystemLogger("plugins");
@@ -1717,6 +1717,10 @@ const SessionsResetParamsSchema = Type.Object({
1717
1717
  key: NonEmptyString,
1718
1718
  reason: Type.Optional(Type.Union([Type.Literal("new"), Type.Literal("reset")]))
1719
1719
  }, { additionalProperties: false });
1720
+ const SessionsRestoreParamsSchema = Type.Object({
1721
+ key: NonEmptyString,
1722
+ targetFile: NonEmptyString
1723
+ }, { additionalProperties: false });
1720
1724
  const SessionsDeleteParamsSchema = Type.Object({
1721
1725
  key: NonEmptyString,
1722
1726
  deleteTranscript: Type.Optional(Type.Boolean()),
@@ -1848,6 +1852,7 @@ const validateSessionsPreviewParams = ajv.compile(SessionsPreviewParamsSchema);
1848
1852
  const validateSessionsResolveParams = ajv.compile(SessionsResolveParamsSchema);
1849
1853
  const validateSessionsPatchParams = ajv.compile(SessionsPatchParamsSchema);
1850
1854
  const validateSessionsResetParams = ajv.compile(SessionsResetParamsSchema);
1855
+ const validateSessionsRestoreParams = ajv.compile(SessionsRestoreParamsSchema);
1851
1856
  const validateSessionsDeleteParams = ajv.compile(SessionsDeleteParamsSchema);
1852
1857
  const validateSessionsCompactParams = ajv.compile(SessionsCompactParamsSchema);
1853
1858
  const validateSessionsUsageParams = ajv.compile(SessionsUsageParamsSchema);
@@ -2210,4 +2215,4 @@ var GatewayClient = class {
2210
2215
  };
2211
2216
 
2212
2217
  //#endregion
2213
- export { validateNodePairRejectParams as $, validateCronStatusParams as A, ErrorCodes as At, validateExecApprovalsGetParams as B, removePairedDevice as Bt, validateConfigSetParams as C, validateWebLoginStartParams as Ct, validateCronRemoveParams as D, validateWizardStartParams as Dt, validateCronListParams as E, validateWizardNextParams as Et, validateDevicePairRemoveParams as F, approveDevicePairing as Ft, validateModelsListParams as G, updatePairedDeviceMetadata as Gt, validateExecApprovalsNodeSetParams as H, revokeDeviceToken as Ht, validateDeviceTokenRevokeParams as I, ensureDeviceToken as It, validateNodeInvokeParams as J, normalizeFingerprint as Jt, validateNodeDescribeParams as K, verifyDeviceToken as Kt, validateDeviceTokenRotateParams as L, getPairedDevice as Lt, validateDevicePairApproveParams as M, SESSION_LABEL_MAX_LENGTH as Mt, validateDevicePairListParams as N, parseSessionLabel as Nt, validateCronRunParams as O, validateWizardStatusParams as Ot, validateDevicePairRejectParams as P, buildDeviceAuthPayload as Pt, validateNodePairListParams as Q, verifyDeviceSignature as Qt, validateExecApprovalRequestParams as R, listDevicePairing as Rt, validateConfigSchemaParams as S, validateWakeParams as St, validateCronAddParams as T, validateWizardCancelParams as Tt, validateExecApprovalsSetParams as U, rotateDeviceToken as Ut, validateExecApprovalsNodeGetParams as V, requestDevicePairing as Vt, validateLogsTailParams as W, summarizeDeviceTokens as Wt, validateNodeListParams as X, loadOrCreateDeviceIdentity as Xt, validateNodeInvokeResultParams as Y, deriveDeviceIdFromPublicKey as Yt, validateNodePairApproveParams as Z, normalizeDevicePublicKeyBase64Url as Zt, validateChatInjectParams as _, validateSkillsStatusParams as _t, validateAgentWaitParams as a, validateRequestFrame as at, validateConfigGetParams as b, validateTalkModeParams as bt, validateAgentsFilesGetParams as c, validateSessionsDeleteParams as ct, validateAgentsListParams as d, validateSessionsPreviewParams as dt, validateNodePairRequestParams as et, validateAgentsUpdateParams as f, validateSessionsResetParams as ft, validateChatHistoryParams as g, validateSkillsInstallParams as gt, validateChatAbortParams as h, validateSkillsBinsParams as ht, validateAgentParams as i, validatePushTestParams as it, validateCronUpdateParams as j, errorShape as jt, validateCronRunsParams as k, PROTOCOL_VERSION as kt, validateAgentsFilesListParams as l, validateSessionsListParams as lt, validateChannelsStatusParams as m, validateSessionsUsageParams as mt, formatValidationErrors as n, validateNodeRenameParams as nt, validateAgentsCreateParams as o, validateSendParams as ot, validateChannelsLogoutParams as p, validateSessionsResolveParams as pt, validateNodeEventParams as q, roleScopesAllow as qt, validateAgentIdentityParams as r, validatePollParams as rt, validateAgentsDeleteParams as s, validateSessionsCompactParams as st, GatewayClient as t, validateNodePairVerifyParams as tt, validateAgentsFilesSetParams as u, validateSessionsPatchParams as ut, validateChatSendParams as v, validateSkillsUpdateParams as vt, validateConnectParams as w, validateWebLoginWaitParams as wt, validateConfigPatchParams as x, validateUpdateRunParams as xt, validateConfigApplyParams as y, validateTalkConfigParams as yt, validateExecApprovalResolveParams as z, rejectDevicePairing as zt };
2218
+ export { validateNodePairRejectParams as $, verifyDeviceSignature as $t, validateCronStatusParams as A, PROTOCOL_VERSION as At, validateExecApprovalsGetParams as B, rejectDevicePairing as Bt, validateConfigSetParams as C, validateWakeParams as Ct, validateCronRemoveParams as D, validateWizardNextParams as Dt, validateCronListParams as E, validateWizardCancelParams as Et, validateDevicePairRemoveParams as F, buildDeviceAuthPayload as Ft, validateModelsListParams as G, summarizeDeviceTokens as Gt, validateExecApprovalsNodeSetParams as H, requestDevicePairing as Ht, validateDeviceTokenRevokeParams as I, approveDevicePairing as It, validateNodeInvokeParams as J, roleScopesAllow as Jt, validateNodeDescribeParams as K, updatePairedDeviceMetadata as Kt, validateDeviceTokenRotateParams as L, ensureDeviceToken as Lt, validateDevicePairApproveParams as M, errorShape as Mt, validateDevicePairListParams as N, SESSION_LABEL_MAX_LENGTH as Nt, validateCronRunParams as O, validateWizardStartParams as Ot, validateDevicePairRejectParams as P, parseSessionLabel as Pt, validateNodePairListParams as Q, normalizeDevicePublicKeyBase64Url as Qt, validateExecApprovalRequestParams as R, getPairedDevice as Rt, validateConfigSchemaParams as S, validateUpdateRunParams as St, validateCronAddParams as T, validateWebLoginWaitParams as Tt, validateExecApprovalsSetParams as U, revokeDeviceToken as Ut, validateExecApprovalsNodeGetParams as V, removePairedDevice as Vt, validateLogsTailParams as W, rotateDeviceToken as Wt, validateNodeListParams as X, deriveDeviceIdFromPublicKey as Xt, validateNodeInvokeResultParams as Y, normalizeFingerprint as Yt, validateNodePairApproveParams as Z, loadOrCreateDeviceIdentity as Zt, validateChatInjectParams as _, validateSkillsInstallParams as _t, validateAgentWaitParams as a, validateRequestFrame as at, validateConfigGetParams as b, validateTalkConfigParams as bt, validateAgentsFilesGetParams as c, validateSessionsDeleteParams as ct, validateAgentsListParams as d, validateSessionsPreviewParams as dt, validateNodePairRequestParams as et, validateAgentsUpdateParams as f, validateSessionsResetParams as ft, validateChatHistoryParams as g, validateSkillsBinsParams as gt, validateChatAbortParams as h, validateSessionsUsageParams as ht, validateAgentParams as i, validatePushTestParams as it, validateCronUpdateParams as j, ErrorCodes as jt, validateCronRunsParams as k, validateWizardStatusParams as kt, validateAgentsFilesListParams as l, validateSessionsListParams as lt, validateChannelsStatusParams as m, validateSessionsRestoreParams as mt, formatValidationErrors as n, validateNodeRenameParams as nt, validateAgentsCreateParams as o, validateSendParams as ot, validateChannelsLogoutParams as p, validateSessionsResolveParams as pt, validateNodeEventParams as q, verifyDeviceToken as qt, validateAgentIdentityParams as r, validatePollParams as rt, validateAgentsDeleteParams as s, validateSessionsCompactParams as st, GatewayClient as t, validateNodePairVerifyParams as tt, validateAgentsFilesSetParams as u, validateSessionsPatchParams as ut, validateChatSendParams as v, validateSkillsStatusParams as vt, validateConnectParams as w, validateWebLoginStartParams as wt, validateConfigPatchParams as x, validateTalkModeParams as xt, validateConfigApplyParams as y, validateSkillsUpdateParams as yt, validateExecApprovalResolveParams as z, listDevicePairing as zt };
@@ -1717,6 +1717,10 @@ const SessionsResetParamsSchema = Type.Object({
1717
1717
  key: NonEmptyString,
1718
1718
  reason: Type.Optional(Type.Union([Type.Literal("new"), Type.Literal("reset")]))
1719
1719
  }, { additionalProperties: false });
1720
+ const SessionsRestoreParamsSchema = Type.Object({
1721
+ key: NonEmptyString,
1722
+ targetFile: NonEmptyString
1723
+ }, { additionalProperties: false });
1720
1724
  const SessionsDeleteParamsSchema = Type.Object({
1721
1725
  key: NonEmptyString,
1722
1726
  deleteTranscript: Type.Optional(Type.Boolean()),
@@ -1848,6 +1852,7 @@ const validateSessionsPreviewParams = ajv.compile(SessionsPreviewParamsSchema);
1848
1852
  const validateSessionsResolveParams = ajv.compile(SessionsResolveParamsSchema);
1849
1853
  const validateSessionsPatchParams = ajv.compile(SessionsPatchParamsSchema);
1850
1854
  const validateSessionsResetParams = ajv.compile(SessionsResetParamsSchema);
1855
+ const validateSessionsRestoreParams = ajv.compile(SessionsRestoreParamsSchema);
1851
1856
  const validateSessionsDeleteParams = ajv.compile(SessionsDeleteParamsSchema);
1852
1857
  const validateSessionsCompactParams = ajv.compile(SessionsCompactParamsSchema);
1853
1858
  const validateSessionsUsageParams = ajv.compile(SessionsUsageParamsSchema);
@@ -2210,4 +2215,4 @@ var GatewayClient = class {
2210
2215
  };
2211
2216
 
2212
2217
  //#endregion
2213
- export { validateNodePairRejectParams as $, validateCronStatusParams as A, ErrorCodes as At, validateExecApprovalsGetParams as B, removePairedDevice as Bt, validateConfigSetParams as C, validateWebLoginStartParams as Ct, validateCronRemoveParams as D, validateWizardStartParams as Dt, validateCronListParams as E, validateWizardNextParams as Et, validateDevicePairRemoveParams as F, approveDevicePairing as Ft, validateModelsListParams as G, updatePairedDeviceMetadata as Gt, validateExecApprovalsNodeSetParams as H, revokeDeviceToken as Ht, validateDeviceTokenRevokeParams as I, ensureDeviceToken as It, validateNodeInvokeParams as J, normalizeFingerprint as Jt, validateNodeDescribeParams as K, verifyDeviceToken as Kt, validateDeviceTokenRotateParams as L, getPairedDevice as Lt, validateDevicePairApproveParams as M, SESSION_LABEL_MAX_LENGTH as Mt, validateDevicePairListParams as N, parseSessionLabel as Nt, validateCronRunParams as O, validateWizardStatusParams as Ot, validateDevicePairRejectParams as P, buildDeviceAuthPayload as Pt, validateNodePairListParams as Q, verifyDeviceSignature as Qt, validateExecApprovalRequestParams as R, listDevicePairing as Rt, validateConfigSchemaParams as S, validateWakeParams as St, validateCronAddParams as T, validateWizardCancelParams as Tt, validateExecApprovalsSetParams as U, rotateDeviceToken as Ut, validateExecApprovalsNodeGetParams as V, requestDevicePairing as Vt, validateLogsTailParams as W, summarizeDeviceTokens as Wt, validateNodeListParams as X, loadOrCreateDeviceIdentity as Xt, validateNodeInvokeResultParams as Y, deriveDeviceIdFromPublicKey as Yt, validateNodePairApproveParams as Z, normalizeDevicePublicKeyBase64Url as Zt, validateChatInjectParams as _, validateSkillsStatusParams as _t, validateAgentWaitParams as a, validateRequestFrame as at, validateConfigGetParams as b, validateTalkModeParams as bt, validateAgentsFilesGetParams as c, validateSessionsDeleteParams as ct, validateAgentsListParams as d, validateSessionsPreviewParams as dt, validateNodePairRequestParams as et, validateAgentsUpdateParams as f, validateSessionsResetParams as ft, validateChatHistoryParams as g, validateSkillsInstallParams as gt, validateChatAbortParams as h, validateSkillsBinsParams as ht, validateAgentParams as i, validatePushTestParams as it, validateCronUpdateParams as j, errorShape as jt, validateCronRunsParams as k, PROTOCOL_VERSION as kt, validateAgentsFilesListParams as l, validateSessionsListParams as lt, validateChannelsStatusParams as m, validateSessionsUsageParams as mt, formatValidationErrors as n, validateNodeRenameParams as nt, validateAgentsCreateParams as o, validateSendParams as ot, validateChannelsLogoutParams as p, validateSessionsResolveParams as pt, validateNodeEventParams as q, roleScopesAllow as qt, validateAgentIdentityParams as r, validatePollParams as rt, validateAgentsDeleteParams as s, validateSessionsCompactParams as st, GatewayClient as t, validateNodePairVerifyParams as tt, validateAgentsFilesSetParams as u, validateSessionsPatchParams as ut, validateChatSendParams as v, validateSkillsUpdateParams as vt, validateConnectParams as w, validateWebLoginWaitParams as wt, validateConfigPatchParams as x, validateUpdateRunParams as xt, validateConfigApplyParams as y, validateTalkConfigParams as yt, validateExecApprovalResolveParams as z, rejectDevicePairing as zt };
2218
+ export { validateNodePairRejectParams as $, verifyDeviceSignature as $t, validateCronStatusParams as A, PROTOCOL_VERSION as At, validateExecApprovalsGetParams as B, rejectDevicePairing as Bt, validateConfigSetParams as C, validateWakeParams as Ct, validateCronRemoveParams as D, validateWizardNextParams as Dt, validateCronListParams as E, validateWizardCancelParams as Et, validateDevicePairRemoveParams as F, buildDeviceAuthPayload as Ft, validateModelsListParams as G, summarizeDeviceTokens as Gt, validateExecApprovalsNodeSetParams as H, requestDevicePairing as Ht, validateDeviceTokenRevokeParams as I, approveDevicePairing as It, validateNodeInvokeParams as J, roleScopesAllow as Jt, validateNodeDescribeParams as K, updatePairedDeviceMetadata as Kt, validateDeviceTokenRotateParams as L, ensureDeviceToken as Lt, validateDevicePairApproveParams as M, errorShape as Mt, validateDevicePairListParams as N, SESSION_LABEL_MAX_LENGTH as Nt, validateCronRunParams as O, validateWizardStartParams as Ot, validateDevicePairRejectParams as P, parseSessionLabel as Pt, validateNodePairListParams as Q, normalizeDevicePublicKeyBase64Url as Qt, validateExecApprovalRequestParams as R, getPairedDevice as Rt, validateConfigSchemaParams as S, validateUpdateRunParams as St, validateCronAddParams as T, validateWebLoginWaitParams as Tt, validateExecApprovalsSetParams as U, revokeDeviceToken as Ut, validateExecApprovalsNodeGetParams as V, removePairedDevice as Vt, validateLogsTailParams as W, rotateDeviceToken as Wt, validateNodeListParams as X, deriveDeviceIdFromPublicKey as Xt, validateNodeInvokeResultParams as Y, normalizeFingerprint as Yt, validateNodePairApproveParams as Z, loadOrCreateDeviceIdentity as Zt, validateChatInjectParams as _, validateSkillsInstallParams as _t, validateAgentWaitParams as a, validateRequestFrame as at, validateConfigGetParams as b, validateTalkConfigParams as bt, validateAgentsFilesGetParams as c, validateSessionsDeleteParams as ct, validateAgentsListParams as d, validateSessionsPreviewParams as dt, validateNodePairRequestParams as et, validateAgentsUpdateParams as f, validateSessionsResetParams as ft, validateChatHistoryParams as g, validateSkillsBinsParams as gt, validateChatAbortParams as h, validateSessionsUsageParams as ht, validateAgentParams as i, validatePushTestParams as it, validateCronUpdateParams as j, ErrorCodes as jt, validateCronRunsParams as k, validateWizardStatusParams as kt, validateAgentsFilesListParams as l, validateSessionsListParams as lt, validateChannelsStatusParams as m, validateSessionsRestoreParams as mt, formatValidationErrors as n, validateNodeRenameParams as nt, validateAgentsCreateParams as o, validateSendParams as ot, validateChannelsLogoutParams as p, validateSessionsResolveParams as pt, validateNodeEventParams as q, verifyDeviceToken as qt, validateAgentIdentityParams as r, validatePollParams as rt, validateAgentsDeleteParams as s, validateSessionsCompactParams as st, GatewayClient as t, validateNodePairVerifyParams as tt, validateAgentsFilesSetParams as u, validateSessionsPatchParams as ut, validateChatSendParams as v, validateSkillsStatusParams as vt, validateConnectParams as w, validateWebLoginStartParams as wt, validateConfigPatchParams as x, validateTalkModeParams as xt, validateConfigApplyParams as y, validateSkillsUpdateParams as yt, validateExecApprovalResolveParams as z, listDevicePairing as zt };
@@ -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-DcBHO9E8.js";
3
+ import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-Bi4jmYW6.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-BKYxHrcB.js")).registerSetupCommand(program);
25
+ (await import("./register.setup-CEW5ApHJ.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-BN7J8vyx.js")).registerOnboardCommand(program);
35
+ (await import("./register.onboard-DT1We9u2.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-D-o-geWg.js")).registerConfigureCommand(program);
45
+ (await import("./register.configure-DBaELzEM.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-BjXnB1c7.js")).registerConfigCli(program);
55
+ (await import("./config-cli-Cm4KwczC.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-jMmXJ1NK.js")).registerMaintenanceCommands(program);
82
+ (await import("./register.maintenance-BKB_D_Py.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-CdCHhVND.js")).registerMessageCommands(program, ctx);
92
+ (await import("./register.message-DUeR-Dz2.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-kKtKgmcO.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
116
+ (await import("./register.agent-DX-OyYzL.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-BLA4yUC4.js")).registerStatusHealthSessionsCommands(program);
138
+ (await import("./register.status-health-sessions-BJYemCHi.js")).registerStatusHealthSessionsCommands(program);
139
139
  }
140
140
  },
141
141
  {
@@ -145,7 +145,7 @@ const coreEntries = [
145
145
  hasSubcommands: true
146
146
  }],
147
147
  register: async ({ program }) => {
148
- (await import("./browser-cli-CPcnnsJJ.js")).registerBrowserCli(program);
148
+ (await import("./browser-cli-Dun4KSp2.js")).registerBrowserCli(program);
149
149
  }
150
150
  }
151
151
  ];
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { D as escapeRegExp, W as isPlainObject, c as getActivePluginRegistry } from "./registry-DYq1AYOv.js";
3
- import { T as resolveConfiguredModelRef, X as DEFAULT_MODEL, Z as DEFAULT_PROVIDER } from "./auth-profiles-DdK1Hxaa.js";
3
+ import { Q as DEFAULT_PROVIDER, T as resolveConfiguredModelRef, Z as DEFAULT_MODEL } from "./auth-profiles-q3HjbboY.js";
4
4
  import { f as listChannelDocks, r as listThinkingLevels } from "./thinking-BprCy23Z.js";
5
5
  import { r as normalizeChannelId } from "./plugins-BzmbgY7s.js";
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { H as isPlainObject, T as escapeRegExp, c as getActivePluginRegistry } from "./registry-BhoUuugi.js";
3
- import { $ as DEFAULT_PROVIDER, Q as DEFAULT_MODEL, u as resolveConfiguredModelRef } from "./model-selection-BQCG9ah0.js";
3
+ import { $ as DEFAULT_MODEL, et as DEFAULT_PROVIDER, u as resolveConfiguredModelRef } from "./model-selection-B8QKPmTL.js";
4
4
  import { r as normalizeChannelId } from "./plugins-71oIavrF.js";
5
5
  import { f as listChannelDocks, r as listThinkingLevels } from "./thinking-W85Rb32m.js";
6
6
 
@@ -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-DcBHO9E8.js";
4
- import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-CrYpGtIt.js";
3
+ import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-Bi4jmYW6.js";
4
+ import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-Dk55OGO6.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,7 +2,7 @@ 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-Dm-BSkOd.js";
5
+ import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-B2BcluHm.js";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
8
8
  import fs from "node:fs/promises";
@@ -2,7 +2,7 @@ import { n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resol
2
2
  import { s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
3
3
  import { I as resolveUserPath, P as resolveConfigDir, W as isPlainObject$1, k as isRecord, s as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-DYq1AYOv.js";
4
4
  import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-CpEJ0B88.js";
5
- import { G as loadShellEnvFallback, J as shouldEnableShellEnvFallback, K as resolveShellEnvFallbackTimeoutMs, Y as DEFAULT_CONTEXT_TOKENS, q as shouldDeferShellEnvFallback, w as parseModelRef } from "./auth-profiles-DdK1Hxaa.js";
5
+ import { J as shouldDeferShellEnvFallback, K as loadShellEnvFallback, X as DEFAULT_CONTEXT_TOKENS, Y as shouldEnableShellEnvFallback, q as resolveShellEnvFallbackTimeoutMs, w as parseModelRef } from "./auth-profiles-q3HjbboY.js";
6
6
  import { c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, f as normalizeEnvVarKey, l as isPathInside, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-yb7sAlu4.js";
7
7
  import { createRequire } from "node:module";
8
8
  import path from "node:path";
@@ -2,7 +2,7 @@ import { n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resol
2
2
  import { s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
3
3
  import { D as isRecord, H as isPlainObject$1, M as resolveConfigDir, P as resolveUserPath, s as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-BhoUuugi.js";
4
4
  import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-Cbl5pNe1.js";
5
- import { A as resolveShellEnvFallbackTimeoutMs, M as shouldEnableShellEnvFallback, Z as DEFAULT_CONTEXT_TOKENS, j as shouldDeferShellEnvFallback, k as loadShellEnvFallback, l as parseModelRef } from "./model-selection-BQCG9ah0.js";
5
+ import { A as resolveShellEnvFallbackTimeoutMs, M as shouldEnableShellEnvFallback, Q as DEFAULT_CONTEXT_TOKENS, j as shouldDeferShellEnvFallback, k as loadShellEnvFallback, l as parseModelRef } from "./model-selection-B8QKPmTL.js";
6
6
  import { c as normalizePluginsConfig, d as isPathInside, l as resolveEnableState, m as normalizeEnvVarKey, p as isDangerousHostEnvVarName, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-D-mTF1cj.js";
7
7
  import { createRequire } from "node:module";
8
8
  import path from "node:path";
@@ -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-De-0b4bB.js").then((n) => n.t);
204
+ const { configureCommandFromSectionsArg } = await import("./configure-BbFd3c68.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) => {
@@ -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-CIFt3G-c.js").then((n) => n.t);
209
+ const { configureCommandFromSectionsArg } = await import("./configure-DNRNOqKI.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) => {
@@ -21,12 +21,12 @@ import "./accounts-DyJN4_vR.js";
21
21
  import "./bindings-DFaVVCsf.js";
22
22
  import "./logging-w5jq5901.js";
23
23
  import "./paths-CyhzMxFA.js";
24
- import "./prompt-style-8JqOYj0q.js";
25
- import { c as shouldMigrateStateFromPath } from "./argv-C6ovOie2.js";
26
- import "./catalog-RiADx7MA.js";
27
- import "./note-DeHoW7xO.js";
28
- import "./plugin-auto-enable-BzX1uAKy.js";
29
- import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-QnaBd8kL.js";
24
+ import "./prompt-style-CnkMpSXt.js";
25
+ import { c as shouldMigrateStateFromPath } from "./argv-B20UI_hB.js";
26
+ import "./catalog-NQ4pj9RI.js";
27
+ import "./note-DQ9BvHF2.js";
28
+ import "./plugin-auto-enable-CP0nONRL.js";
29
+ import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-BTQvpBys.js";
30
30
 
31
31
  //#region src/cli/program/config-guard.ts
32
32
  const ALLOWED_INVALID_COMMANDS = new Set([
@@ -6,26 +6,26 @@ import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } fr
6
6
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
7
7
  import { a as findTailscaleBinary } from "./tailscale-CbbvYNVw.js";
8
8
  import { n as withProgress } from "./progress-BAHiAaDW.js";
9
- 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-_pit1NZW.js";
9
+ 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-DASpwgat.js";
10
10
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-DwCXob2h.js";
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-BjUx6cZ7.js";
14
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-DjqHX51z.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-CfRwa6qh.js";
16
16
  import { t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
17
- import { r as healthCommand } from "./health-BNxdveY8.js";
17
+ import { r as healthCommand } from "./health-NTpZ8ssG.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-C7BrC95t.js";
22
- import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-D5nCutGW.js";
21
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-CnpKK0cS.js";
22
+ import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-D1J9kB3d.js";
23
23
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DA_LW52P.js";
24
- import { a as promptCustomApiConfig } from "./onboard-custom-DdWPfzJO.js";
24
+ import { a as promptCustomApiConfig } from "./onboard-custom-yNOjvlgR.js";
25
25
  import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-B-xy96ST.js";
26
26
  import { t as formatHealthCheckFailure } from "./health-format-CzgUHmmX.js";
27
- import { n as promptRemoteGatewayConfig } from "./onboard-remote-R1g6st9i.js";
28
- import { n as setupSkills } from "./onboard-skills-ByO_wSN5.js";
27
+ import { n as promptRemoteGatewayConfig } from "./onboard-remote-xXi061GI.js";
28
+ import { n as setupSkills } from "./onboard-skills-Bn2T6lze.js";
29
29
  import { confirm, intro, outro, select, text } from "@clack/prompts";
30
30
 
31
31
  //#region src/commands/configure.shared.ts
@@ -8,26 +8,26 @@ import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } fr
8
8
  import { a as findTailscaleBinary } from "./tailscale-D5dKabOc.js";
9
9
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-DKDeQZF0.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-ZmZYzlq3.js";
12
- import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-8JqOYj0q.js";
13
- import { t as note$1 } from "./note-DeHoW7xO.js";
14
- import { t as WizardCancelledError } from "./prompts-Xu2Sveka.js";
15
- import { t as createClackPrompter } from "./clack-prompter-B7pN13HV.js";
16
- import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-BAEFSSqU.js";
17
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-2mwX-jqj.js";
18
- import { t as resolveGatewayService } from "./service-Cl74hx8J.js";
19
- import { r as healthCommand } from "./health-pFcca1cU.js";
20
- import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Z947tKLt.js";
21
- import { n as logConfigUpdated } from "./logging-BzzwiKjv.js";
22
- import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-BLzEBA1v.js";
23
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-Cw2rldnf.js";
24
- import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-Ddo3jHe-.js";
25
- import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-aQ75ZlXY.js";
26
- import { a as promptCustomApiConfig } from "./onboard-custom-C7O-zfQ1.js";
27
- import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-CxY-xbsH.js";
28
- import { t as formatHealthCheckFailure } from "./health-format-DSwnXZPU.js";
29
- import { n as promptRemoteGatewayConfig } from "./onboard-remote-zUjD7UtM.js";
30
- import { n as setupSkills } from "./onboard-skills-BB0YhUmF.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-CAjcAisT.js";
12
+ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-CnkMpSXt.js";
13
+ import { t as note$1 } from "./note-DQ9BvHF2.js";
14
+ import { t as WizardCancelledError } from "./prompts-CfOu9uZi.js";
15
+ import { t as createClackPrompter } from "./clack-prompter-DMuVyYP2.js";
16
+ import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-CEZpwlsw.js";
17
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-COZ4usfy.js";
18
+ import { t as resolveGatewayService } from "./service-osK70kTZ.js";
19
+ import { r as healthCommand } from "./health-9z0Hpkuc.js";
20
+ import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B7moDVHX.js";
21
+ import { n as logConfigUpdated } from "./logging-KpicI3yD.js";
22
+ import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-Cn6U3t8O.js";
23
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-BnJzLsv5.js";
24
+ import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-TnkH7DsN.js";
25
+ import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DCskIKcx.js";
26
+ import { a as promptCustomApiConfig } from "./onboard-custom-BNyCb71p.js";
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
+ import { t as formatHealthCheckFailure } from "./health-format-DRCaak6L.js";
29
+ import { n as promptRemoteGatewayConfig } from "./onboard-remote-D-8pd-tx.js";
30
+ import { n as setupSkills } from "./onboard-skills-c4Rw-CGf.js";
31
31
  import { confirm, intro, outro, select, text } from "@clack/prompts";
32
32
 
33
33
  //#region src/commands/configure.shared.ts
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
3
3
  import { i as loadConfig } from "./config-CHwyw6l5.js";
4
4
  import { x as ensureChromeExtensionRelayServer } from "./chrome-DtPkPq9T.js";
5
- import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-CEpFjqSk.js";
5
+ import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-CHYWo_TC.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-DqL87js3.js")).closePlaywrightBrowserConnection();
83
+ await (await import("./pw-ai-C_1hRlOM.js")).closePlaywrightBrowserConnection();
84
84
  } catch {}
85
85
  }
86
86
 
@@ -2816,6 +2816,29 @@ body {
2816
2816
  border: 1px solid rgba(139, 92, 246, 0.2);
2817
2817
  }
2818
2818
 
2819
+ /* ── Load session button ──────────────────────────────────────────────── */
2820
+ .history-load-btn {
2821
+ margin-top: 8px;
2822
+ padding: 5px 14px;
2823
+ height: 28px;
2824
+ width: 100%;
2825
+ background: rgba(0, 212, 255, 0.08);
2826
+ border: 1px solid rgba(0, 212, 255, 0.2);
2827
+ border-radius: 6px;
2828
+ color: rgba(0, 212, 255, 0.8);
2829
+ font-family: var(--font-mono);
2830
+ font-size: 10px;
2831
+ font-weight: 600;
2832
+ letter-spacing: 0.08em;
2833
+ cursor: pointer;
2834
+ transition: all 0.15s;
2835
+ }
2836
+ .history-load-btn:hover {
2837
+ background: rgba(0, 212, 255, 0.15);
2838
+ border-color: rgba(0, 212, 255, 0.4);
2839
+ color: rgba(0, 212, 255, 1);
2840
+ }
2841
+
2819
2842
  /* ── Archive viewer banner ──────────────────────────────────────────── */
2820
2843
  .archive-banner {
2821
2844
  display: flex;
@@ -1181,6 +1181,51 @@ window.addEventListener("symi:profile-changed", (e) => {
1181
1181
  });
1182
1182
 
1183
1183
  // ── Gateway setup ──────────────────────────────────────────────────
1184
+ // ── Session reload (called after session restore from history drawer) ──
1185
+ window.reloadSession = async function () {
1186
+ feedCache.clear();
1187
+ responseArea.innerHTML = "";
1188
+ responseArea.prepend(loadMoreSentinel);
1189
+ historyStartIndex = 0;
1190
+ historyHasMore = false;
1191
+ updateLoadMoreSentinel();
1192
+ if (typeof window.clearReasoningPanel === "function") {
1193
+ window.clearReasoningPanel();
1194
+ }
1195
+ if (typeof window.clearSymipulsePanel === "function") {
1196
+ window.clearSymipulsePanel();
1197
+ }
1198
+ setAgentStatus("idle");
1199
+ activeSubagentCount = 0;
1200
+ hideWorkingIndicator();
1201
+
1202
+ // Show restored indicator
1203
+ const restored = document.createElement("div");
1204
+ restored.className = "session-cleared";
1205
+ restored.innerHTML = `
1206
+ <div class="session-cleared-icon">◈</div>
1207
+ <div class="session-cleared-text">SESSION RESTORED</div>
1208
+ `;
1209
+ responseArea.appendChild(restored);
1210
+
1211
+ // Load history from the restored session
1212
+ try {
1213
+ const result = await gateway.rpc("chat.history", { sessionKey: window.SESSION_KEY });
1214
+ if (result?.messages) {
1215
+ renderHistory(result.messages);
1216
+ }
1217
+ } catch (err) {
1218
+ console.error("[app] Failed to load restored session history:", err);
1219
+ }
1220
+
1221
+ // Remove indicator after a pause
1222
+ setTimeout(() => {
1223
+ restored.style.transition = "opacity 0.4s ease";
1224
+ restored.style.opacity = "0";
1225
+ setTimeout(() => restored.remove(), 420);
1226
+ }, 1500);
1227
+ };
1228
+
1184
1229
  const gateway = new SymiGateway();
1185
1230
  window.gateway = gateway;
1186
1231
 
@@ -91,6 +91,19 @@
91
91
  `;
92
92
 
93
93
  item.addEventListener("click", () => loadTranscript(s.file, when));
94
+
95
+ // "Load Session" button for archived sessions
96
+ if (s.isArchived) {
97
+ const loadBtn = document.createElement("button");
98
+ loadBtn.className = "history-load-btn";
99
+ loadBtn.textContent = "Load Session";
100
+ loadBtn.addEventListener("click", (e) => {
101
+ e.stopPropagation(); // don't open the transcript viewer
102
+ void restoreSession(s.file);
103
+ });
104
+ item.appendChild(loadBtn);
105
+ }
106
+
94
107
  drawerBody.appendChild(item);
95
108
  }
96
109
  }
@@ -165,6 +178,31 @@
165
178
  openDrawer();
166
179
  });
167
180
 
181
+ // ── Session restore ────────────────────────────────────────────────────
182
+ async function restoreSession(file) {
183
+ if (!window.gateway?.connected) {
184
+ alert("Gateway not connected.");
185
+ return;
186
+ }
187
+
188
+ drawerBody.innerHTML = '<div class="history-loading">Restoring session…</div>';
189
+
190
+ try {
191
+ await window.gateway.rpc("sessions.restore", {
192
+ key: window.SESSION_KEY,
193
+ targetFile: file,
194
+ });
195
+
196
+ // Close drawer and reload the chat with the restored session
197
+ closeDrawer();
198
+ if (typeof window.reloadSession === "function") {
199
+ window.reloadSession();
200
+ }
201
+ } catch (err) {
202
+ drawerBody.innerHTML = `<div class="history-empty">Restore failed: ${escHtml(err.message)}</div>`;
203
+ }
204
+ }
205
+
168
206
  // ── Helpers ───────────────────────────────────────────────────────────
169
207
  function extractMsgText(msg) {
170
208
  if (typeof msg.content === "string") {