@symerian/symi 2.6.41 → 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 (292) 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-B4RNdKQ3.js → agents-Cu2bthAX.js} +4 -4
  7. package/dist/{agents.config-CA31c0kN.js → agents.config-5PTwsijs.js} +1 -1
  8. package/dist/{agents.config-CG2klYOg.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-K-s65jbB.js → audio-preflight-COaFw917.js} +4 -4
  11. package/dist/{audio-preflight-CIiS5cfP.js → audio-preflight-mj-z_vQ6.js} +28 -28
  12. package/dist/{audit-DB9YkTVX.js → audit-Djfdh06o.js} +23 -23
  13. package/dist/{auth-choice-CCGIgXvF.js → auth-choice-5gul6jy2.js} +1 -1
  14. package/dist/{auth-choice-CiMf3Pjp.js → auth-choice-CmSUU3t8.js} +8 -8
  15. package/dist/{auth-token-Cay2jwzn.js → auth-token-83A2btbE.js} +1 -1
  16. package/dist/{banner-BNsB_A87.js → banner-B4vQpMIJ.js} +1 -1
  17. package/dist/{bindings-DFaVVCsf.js → bindings-ChzePa8q.js} +1 -1
  18. package/dist/{browser-cli-Ctn9do4z.js → browser-cli-BTD0NlrA.js} +9 -9
  19. package/dist/build-info.json +3 -3
  20. package/dist/bundled/boot-md/handler.js +6 -6
  21. package/dist/bundled/session-memory/handler.js +6 -6
  22. package/dist/{call-DwpGquzW.js → call-tmHtVCkn.js} +9 -9
  23. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  24. package/dist/{channel-options-BMQlkUDX.js → channel-options-DVf4CJIu.js} +1 -1
  25. package/dist/{channel-options-pAH4A-xX.js → channel-options-DsWGc55A.js} +2 -2
  26. package/dist/{channel-selection-V2xDgw16.js → channel-selection-DaJDux-Q.js} +1 -1
  27. package/dist/{channel-web-Dwuj48T5.js → channel-web-vGC-WJXi.js} +17 -17
  28. package/dist/{channels-cli-rmDzxb0W.js → channels-cli-COayA28A.js} +76 -76
  29. package/dist/{channels-cli-CuExxB0U.js → channels-cli-CSv05N3q.js} +4 -4
  30. package/dist/{channels-status-issues-CJ0Vb_9z.js → channels-status-issues-B_PI3nEE.js} +1 -1
  31. package/dist/{chrome-DU2ZysN3.js → chrome-CSJzpT9Z.js} +2 -2
  32. package/dist/{chrome-BYOhnxTr.js → chrome-CbA-qnhp.js} +7 -7
  33. package/dist/cli/daemon-cli.js +1 -1
  34. package/dist/{cli-Mcq2pPI0.js → cli-B-g79xPe.js} +1 -1
  35. package/dist/{cli-BPGZalMg.js → cli-DJjOxip6.js} +63 -63
  36. package/dist/{client-jI1oE0_k.js → client-Bj_vTpri.js} +1 -1
  37. package/dist/{command-registry-BoEw2RzH.js → command-registry-BvpLfzl7.js} +9 -9
  38. package/dist/{commands-BNLCWX6e.js → commands-CtocZ4Lg.js} +1 -1
  39. package/dist/{commands-registry-BT0-zzs3.js → commands-registry-BZ0ZSQpM.js} +3 -3
  40. package/dist/{completion-cli-CQVZGJPg.js → completion-cli-CfRZ-7QF.js} +2 -2
  41. package/dist/{completion-cli-CE9Xqlyx.js → completion-cli-DtQcXg1N.js} +12 -12
  42. package/dist/{config-cli-mU_ckD4l.js → config-cli-D9Z78raJ.js} +4 -4
  43. package/dist/{config-cli-BucNvr-c.js → config-cli-DL2RdfLM.js} +1 -1
  44. package/dist/{config-guard-CEkSg4hl.js → config-guard-4oRmpR0a.js} +12 -12
  45. package/dist/{config-Dz95lSBW.js → config-tNauHpdq.js} +2 -2
  46. package/dist/{config-validation-HDVDlMSV.js → config-validation-BoDWiwe3.js} +1 -1
  47. package/dist/{configure-CxnBcN95.js → configure-Dq4f8WPa.js} +3 -3
  48. package/dist/{configure-CDOF87Fk.js → configure-jDpF8lmx.js} +15 -15
  49. package/dist/{control-service-BYKXzY4f.js → control-service-BBnhN7aZ.js} +4 -4
  50. package/dist/control-ui/css/style.css +51 -0
  51. package/dist/control-ui/js/app.js +39 -0
  52. package/dist/control-ui/js/gateway.js +2 -0
  53. package/dist/control-ui/js/settings.js +71 -8
  54. package/dist/{control-ui-assets-B7moDVHX.js → control-ui-assets-6n-YayeS.js} +1 -1
  55. package/dist/{cron-cli-DCpsXkrw.js → cron-cli-D165ecaj.js} +10 -10
  56. package/dist/{daemon-cli-DSDcmWOi.js → daemon-cli-BccZzUb0.js} +11 -11
  57. package/dist/{daemon-runtime-mE1b-Q48.js → daemon-runtime-u01h46bE.js} +10 -10
  58. package/dist/{deliver-B4KZ6-oZ.js → deliver-BYdNAEqj.js} +7 -7
  59. package/dist/{deliver-C1HRkzPJ.js → deliver-C7NePF9Z.js} +1 -1
  60. package/dist/{devices-cli-x3jIP4Ih.js → devices-cli-D0N71nqX.js} +6 -6
  61. package/dist/{diagnostics-BRwihzJG.js → diagnostics-BrUo0gqs.js} +5 -5
  62. package/dist/{directory-cli-KgsAVTA0.js → directory-cli-aj7aXIBM.js} +7 -7
  63. package/dist/{dm-policy-shared-DlDAGtZL.js → dm-policy-shared-epgkayyq.js} +2 -2
  64. package/dist/{dns-cli-Cwr92Aiq.js → dns-cli-Dit09wbu.js} +3 -3
  65. package/dist/{dock-BhS32F6E.js → dock-BYiRZSgZ.js} +4 -4
  66. package/dist/{docs-cli-qE-blOLC.js → docs-cli-CyWGMA-e.js} +1 -1
  67. package/dist/{doctor-completion-CoftKlUX.js → doctor-completion-Ccb83Wl5.js} +2 -2
  68. package/dist/{doctor-completion-CHF_TwGQ.js → doctor-completion-oQemZItC.js} +1 -1
  69. package/dist/{doctor-config-flow-iIzSEQxb.js → doctor-config-flow-BXmHd2bb.js} +10 -10
  70. package/dist/entry.js +1 -1
  71. package/dist/{exec-approvals-cli-BSgxsdMt.js → exec-approvals-cli-CZ-iTtNO.js} +13 -13
  72. package/dist/extensionAPI.js +1 -1
  73. package/dist/{fs-safe-CUjO1ca2.js → fs-safe-CTDvb1DF.js} +6 -6
  74. package/dist/{gateway-cli-SNaqDM7f.js → gateway-cli-C1zPKZ7B.js} +137 -121
  75. package/dist/{gateway-cli-G7fiXsQ6.js → gateway-cli-zbVm1MBQ.js} +32 -16
  76. package/dist/{gateway-rpc-5fREQe9Q.js → gateway-rpc-B1Wzoj99.js} +1 -1
  77. package/dist/{glass-ui-ws-CF0__vuO.js → glass-ui-ws-CvUFd4C6.js} +28 -9
  78. package/dist/{glass-ui-ws-he25wGFt.js → glass-ui-ws-D3tAmqKX.js} +104 -85
  79. package/dist/{health-q7706M36.js → health-DQEqLYg1.js} +1 -1
  80. package/dist/{health-en2N_Kqc.js → health-o847FIt1.js} +13 -13
  81. package/dist/{hooks-cli-ChQbBpyb.js → hooks-cli-D_UW9fc8.js} +2 -2
  82. package/dist/{hooks-cli-C4rVaLzZ.js → hooks-cli-sYjbF4I6.js} +77 -77
  83. package/dist/{image-CbyTdMd5.js → image-C3ugMkb5.js} +1 -1
  84. package/dist/{image-BWmcNF8N.js → image-lCS3o9xj.js} +3 -3
  85. package/dist/{image-ops-1OJMSAUX.js → image-ops-DYbDWaIA.js} +10 -10
  86. package/dist/index.js +73 -73
  87. package/dist/{inspect-CvbbCuoa.js → inspect-CNYyHVfH.js} +4 -4
  88. package/dist/{install-safe-path-D3Uz77u7.js → install-safe-path-D3mg1DMG.js} +11 -11
  89. package/dist/{installs-DQcRVF1U.js → installs-CYTVYWH_.js} +10 -10
  90. package/dist/{ir-DZam9q5M.js → ir-Dt4hOzxG.js} +6 -6
  91. package/dist/{lifecycle-core-C4HzGXA1.js → lifecycle-core-DxmxQdhS.js} +5 -5
  92. package/dist/llm-slug-generator.js +6 -6
  93. package/dist/{local-roots-aAFLQGkY.js → local-roots-BBeKX7PX.js} +2 -2
  94. package/dist/{login-DODfJ3Dn.js → login-CnjdNmGD.js} +3 -3
  95. package/dist/{login-qr-CBRxijIg.js → login-qr-DUf6CM0M.js} +5 -5
  96. package/dist/{logs-cli-CfGj-dOg.js → logs-cli-BVd6h2-Q.js} +7 -7
  97. package/dist/{manager-D4LJSRyZ.js → manager-C1CfGzZ2.js} +13 -13
  98. package/dist/{markdown-tables-CEbN0fEm.js → markdown-tables-ZwP14ydw.js} +1 -1
  99. package/dist/{memory-cli-DDumUksr.js → memory-cli-DhkRAIdT.js} +14 -14
  100. package/dist/{model-tWhwnFf8.js → model-CeeOcylL.js} +1 -1
  101. package/dist/{model-catalog-8Son0J4O.js → model-catalog-CvbwxWuC.js} +4 -4
  102. package/dist/{model-picker-CAm2Bftd.js → model-picker-C2MqloOs.js} +3 -3
  103. package/dist/{model-selection-CyFvYcRt.js → model-selection-X1oLh3CE.js} +9 -9
  104. package/dist/{models-DOTpfa7b.js → models-Zol34e73.js} +2 -2
  105. package/dist/{models-cli-MJAY_Wg4.js → models-cli-BzcEA9oa.js} +3 -3
  106. package/dist/{models-cli-CBl45f7R.js → models-cli-DnMUzr15.js} +72 -72
  107. package/dist/{models-config-CFFjJPe7.js → models-config-CEMioDUi.js} +7 -7
  108. package/dist/{node-cli-DnfDOh1d.js → node-cli-BVJid4L_.js} +28 -28
  109. package/dist/{node-service-CD47Qpf1.js → node-service-CXzMs782.js} +1 -1
  110. package/dist/{nodes-cli-Ci3oxw8k.js → nodes-cli-BN2Nslim.js} +10 -10
  111. package/dist/{nodes-screen-8Bq7DiSa.js → nodes-screen-Cd49cSPb.js} +4 -4
  112. package/dist/{npm-registry-spec-C0CPT3vr.js → npm-registry-spec-DchndI6P.js} +9 -9
  113. package/dist/{onboard-DQdGJ1lE.js → onboard-CSseK0Co.js} +13 -13
  114. package/dist/{onboard-Bx02XPb1.js → onboard-CxOT_xD4.js} +2 -2
  115. package/dist/{onboard-channels-Bp89ZT6Q.js → onboard-channels-CUlITipG.js} +5 -5
  116. package/dist/{onboard-channels-Ct2eNYUC.js → onboard-channels-D-lh_Vh1.js} +1 -1
  117. package/dist/{onboard-custom-XiomtQr7.js → onboard-custom-DTcLdtA9.js} +3 -3
  118. package/dist/{onboard-helpers-DFvWPFhU.js → onboard-helpers-CdPNw25E.js} +8 -8
  119. package/dist/{onboard-hooks-C3ok8kqB.js → onboard-hooks-C_2_jpWg.js} +1 -1
  120. package/dist/{onboard-remote-BURDxwoE.js → onboard-remote-v6QMnyJD.js} +1 -1
  121. package/dist/{onboard-skills-CbzgBT1W.js → onboard-skills-CQtkRP20.js} +4 -4
  122. package/dist/{onboarding-Dnn_0VTy.js → onboarding-DktESmTv.js} +3 -3
  123. package/dist/{onboarding-DxUcsrKV.js → onboarding-Dn5agNG_.js} +13 -13
  124. package/dist/{onboarding.finalize-1kzzMLFM.js → onboarding.finalize-Bm-1Kdnh.js} +6 -6
  125. package/dist/{onboarding.finalize-Dwr-jEtL.js → onboarding.finalize-CTIZ1zvV.js} +75 -75
  126. package/dist/{onboarding.gateway-config-DKwJ5bWd.js → onboarding.gateway-config-CwnQkyO0.js} +14 -14
  127. package/dist/{openai-model-default-WqcGxyFM.js → openai-model-default-4kBA1_78.js} +2 -2
  128. package/dist/{outbound-wnv03tb3.js → outbound-_Ir3M05f.js} +4 -4
  129. package/dist/{outbound-attachment-Bw-c5Cdp.js → outbound-attachment-Qfh5dlsg.js} +2 -2
  130. package/dist/{pairing-cli-DSM82gJG.js → pairing-cli-C8UXBJ_A.js} +8 -8
  131. package/dist/{pairing-labels-DyXoD1DS.js → pairing-labels-Dxb898X5.js} +1 -1
  132. package/dist/{pairing-store-CK726Dzq.js → pairing-store-B8ktu-6j.js} +2 -2
  133. package/dist/{pairing-token-CX3NN_qj.js → pairing-token-AV-MMfVE.js} +7 -7
  134. package/dist/{paths-BBm9fwuG.js → paths-CT6jsi4E.js} +1 -1
  135. package/dist/{pi-auth-json-zHckislA.js → pi-auth-json-FpfHyEcu.js} +5 -5
  136. package/dist/{pi-embedded-BfEg6Wwb.js → pi-embedded-CYDMb5q0.js} +79 -3
  137. package/dist/{pi-embedded-helpers-GaCyI2oH.js → pi-embedded-helpers-BgRcgoC9.js} +4 -4
  138. package/dist/{pi-embedded-helpers-BgdB5kvy.js → pi-embedded-helpers-Bs4eMaNo.js} +6 -6
  139. package/dist/{pi-tools.policy-DRWb_Cax.js → pi-tools.policy-BBxnqCay.js} +4 -4
  140. package/dist/{plugin-auto-enable-CP0nONRL.js → plugin-auto-enable-DwIrzVOA.js} +2 -2
  141. package/dist/{plugin-registry-BMFEJ4FA.js → plugin-registry-CJGPW1-k.js} +1 -1
  142. package/dist/{plugin-registry-wAQeBSeD.js → plugin-registry-d0oZLl6y.js} +3 -3
  143. package/dist/plugin-sdk/agents/pi-embedded-runner/long-task-prompt.d.ts +5 -0
  144. package/dist/plugin-sdk/{channel-web-Ba27v-Om.js → channel-web-Dm-CzA1O.js} +1 -1
  145. package/dist/plugin-sdk/index.js +2 -2
  146. package/dist/plugin-sdk/{reply-Bok_WQGW.js → reply-4HEU7aDS.js} +79 -3
  147. package/dist/plugin-sdk/{web-BoOAa0Xn.js → web-Cclb7FTq.js} +2 -2
  148. package/dist/{plugins-DKDeQZF0.js → plugins-BAyxWQSz.js} +2 -2
  149. package/dist/{plugins-cli-B36YKKla.js → plugins-cli-BWgjIJQL.js} +72 -72
  150. package/dist/{plugins-cli-DoJbbST7.js → plugins-cli-CL0tzkMo.js} +2 -2
  151. package/dist/{ports-BOmtxoTv.js → ports-OZQlocB7.js} +2 -2
  152. package/dist/{ports-DtW62rqS.js → ports-u9lWy2Jt.js} +1 -1
  153. package/dist/{program-4f7W2RMs.js → program-BHjH97Q_.js} +7 -7
  154. package/dist/{program-context-Y4KnAKNT.js → program-context-CXZHSZ4D.js} +39 -39
  155. package/dist/{prompt-select-styled-D0sLJ4TD.js → prompt-select-styled-BUFEoSlM.js} +38 -38
  156. package/dist/{prompt-select-styled-Dql_0SI0.js → prompt-select-styled-D8LXSUR7.js} +4 -4
  157. package/dist/{provider-auth-helpers-GSv3namf.js → provider-auth-helpers-BFHctF2f.js} +1 -1
  158. package/dist/{provider-auth-helpers-CJbHC_mv.js → provider-auth-helpers-CeAbh3lv.js} +5 -5
  159. package/dist/{push-apns-giplY7u-.js → push-apns-BylbQyP9.js} +1 -1
  160. package/dist/{push-apns-sxB8QxSj.js → push-apns-DqFdzIkc.js} +4 -4
  161. package/dist/{pw-ai-pQoxTh-a.js → pw-ai--LDjnyuN.js} +1 -1
  162. package/dist/{pw-ai-DQohWnzT.js → pw-ai-CfrnAHwA.js} +7 -7
  163. package/dist/{qmd-manager-CCUK1xoc.js → qmd-manager-DUNbG4Qr.js} +18 -18
  164. package/dist/{qr-cli-CejYwqsj.js → qr-cli-BZYa2gvF.js} +3 -3
  165. package/dist/{register.agent-_2tVQLMK.js → register.agent-DxAqRAt3.js} +6 -6
  166. package/dist/{register.agent-vd2BSsyE.js → register.agent-bzSGKS-l.js} +82 -82
  167. package/dist/register.configure-Boyfir72.js +148 -0
  168. package/dist/{register.configure-BVKwTrz8.js → register.configure-WS1nlSp8.js} +6 -6
  169. package/dist/{register.maintenance-XySU31jf.js → register.maintenance-B1QcUr38.js} +85 -85
  170. package/dist/{register.maintenance-BqYR2fop.js → register.maintenance-D_qMTrgD.js} +8 -8
  171. package/dist/{register.message-CCfWNWs3.js → register.message-CJF8gLAN.js} +64 -64
  172. package/dist/{register.message-DOyREWdG.js → register.message-zu3HGGff.js} +2 -2
  173. package/dist/{register.onboard-Dy_D_uMj.js → register.onboard-9dwNqCe6.js} +4 -4
  174. package/dist/{register.onboard-zmF-euog.js → register.onboard-CswoaT7q.js} +75 -75
  175. package/dist/{register.setup-DiGPa1Fw.js → register.setup-CvomtGGu.js} +78 -78
  176. package/dist/{register.setup-cE7gPp2m.js → register.setup-TcjUu6HC.js} +4 -4
  177. package/dist/{register.status-health-sessions-ksv1WnIs.js → register.status-health-sessions-CM1SX81r.js} +3 -3
  178. package/dist/{register.status-health-sessions-DWKL1rkz.js → register.status-health-sessions-CQMvbwr6.js} +76 -76
  179. package/dist/{register.subclis-Crt_IYK0.js → register.subclis-CVQASXaL.js} +9 -9
  180. package/dist/{replies-BMqtgBhh.js → replies-Dy92jzrz.js} +1 -1
  181. package/dist/{reply-CjYJHt_H.js → reply-CpNWtuU4.js} +216 -140
  182. package/dist/{reply-prefix-CE2YmmsD.js → reply-prefix-BLOOs1aW.js} +1 -1
  183. package/dist/{resolve-route-BMoTaVAH.js → resolve-route-BcnaXYvh.js} +2 -2
  184. package/dist/{routes-BAZTZNuQ.js → routes-CVwRcA9D.js} +8 -8
  185. package/dist/{rpc-Co5PQ3IJ.js → rpc-CZFfee1J.js} +1 -1
  186. package/dist/{run-main-bOlPbL7t.js → run-main-Dq6tfDry.js} +14 -14
  187. package/dist/{runner-DRv0uCK_.js → runner-BAVs-p6Z.js} +20 -20
  188. package/dist/{runner-B0AbN8wV.js → runner-cJ3m-bxK.js} +1 -1
  189. package/dist/{sandbox-B6N8cV4d.js → sandbox-HZ_uilsn.js} +18 -18
  190. package/dist/{sandbox-cli-DwzaNjIJ.js → sandbox-cli-wZtiyo8g.js} +20 -20
  191. package/dist/{security-cli-D5BWzqEJ.js → security-cli-BESmRIrl.js} +36 -36
  192. package/dist/{send-CQVnyJyF.js → send-BVBCh27_.js} +13 -13
  193. package/dist/{send-DVm0du0_.js → send-CXFTeD_J.js} +4 -4
  194. package/dist/{send-B3RdXvjC.js → send-DT-5buW5.js} +6 -6
  195. package/dist/{send-9SapUCg7.js → send-DsSI8z3F.js} +6 -6
  196. package/dist/{send-Bm4ULEzh.js → send-JWV62VbW.js} +6 -6
  197. package/dist/{server-context-CCBZN8a0.js → server-context-VlF1_hYj.js} +5 -5
  198. package/dist/{server-methods-VimYvcpY.js → server-methods-B0pdetGJ.js} +130 -64
  199. package/dist/{server-methods-CiwWwj6K.js → server-methods-IBEaQXPX.js} +177 -111
  200. package/dist/{server-node-events-DYC45lKC.js → server-node-events-BACmfyjo.js} +64 -64
  201. package/dist/{server-node-events-CHmLiFNV.js → server-node-events-CyDj7Txd.js} +2 -2
  202. package/dist/{service-osK70kTZ.js → service-D80PyJxB.js} +15 -15
  203. package/dist/{session-DsJGtM7g.js → session-6Qyc4cBQ.js} +2 -2
  204. package/dist/{session-dirs-Dgz7kkUM.js → session-dirs-DPzjjra2.js} +2 -2
  205. package/dist/{sessions-Cpgnq0pA.js → sessions-jTAGYjWl.js} +13 -13
  206. package/dist/{shared-DnmJ0ABB.js → shared-BV7WhIkY.js} +1 -1
  207. package/dist/{shared-73T9fyuK.js → shared-BfhtOZAz.js} +3 -3
  208. package/dist/{skill-commands-Cxw-jNxU.js → skill-commands-ZXbEITKi.js} +5 -5
  209. package/dist/{skill-scanner-hMtQbWPV.js → skill-scanner-w3DJvw1Q.js} +5 -5
  210. package/dist/{skills-6jdJQ5ZL.js → skills-DqQUtOph.js} +4 -4
  211. package/dist/{skills-cli-DXkx4vNV.js → skills-cli-D3lePXkf.js} +7 -7
  212. package/dist/{skills-install-CWVdJkLn.js → skills-install-HGYidhrv.js} +3 -3
  213. package/dist/{skills-status-C3ptXwnh.js → skills-status-Cjsh8we0.js} +1 -1
  214. package/dist/{sqlite-Dx3J_aSE.js → sqlite-BV5ILFtC.js} +12 -12
  215. package/dist/{status-DxhtJtzE.js → status-BJtbD-cG.js} +2 -2
  216. package/dist/{status-Dt_MXoNa.js → status-DUeTrQSz.js} +1 -1
  217. package/dist/{status-CA5wJHMj.js → status-DzHL-eVu.js} +3 -3
  218. package/dist/{status-DEpM69Pd.js → status-nzJEZmNT.js} +25 -25
  219. package/dist/{status.update-CG0ciGaf.js → status.update-TlYwuzTa.js} +3 -3
  220. package/dist/{store-r1DJSDq-.js → store-DvtcmOKj.js} +5 -5
  221. package/dist/{subagent-registry-BPwn3Qm7.js → subagent-registry-CzS4CfnV.js} +79 -3
  222. package/dist/{symi-root-CrGJbkzf.js → symi-root-MF6_6SCS.js} +2 -2
  223. package/dist/{system-cli-DFZNGx0i.js → system-cli-C2yhGP4C.js} +7 -7
  224. package/dist/{systemd-DT6SbCim.js → systemd-CevHlgD4.js} +5 -5
  225. package/dist/{systemd-hints-xYZbFny_.js → systemd-hints-DmgRnw1L.js} +6 -6
  226. package/dist/{systemd-linger-DCskIKcx.js → systemd-linger-ScxQ1_H4.js} +1 -1
  227. package/dist/{tables-BEzT0Da4.js → tables-C38rzF6E.js} +1 -1
  228. package/dist/{target-errors-7AvoVa10.js → target-errors-CCz79CmV.js} +4 -4
  229. package/dist/{tool-images-DvUBlqjX.js → tool-images-B-pqX3nX.js} +1 -1
  230. package/dist/{tui-DjPsMdL6.js → tui-D2MOx3Kx.js} +7 -7
  231. package/dist/{tui-cli-pWD_NrUR.js → tui-cli-B2ii7u23.js} +28 -28
  232. package/dist/{unified-runner-CVkyzT1I.js → unified-runner-BtO3UQSd.js} +93 -17
  233. package/dist/{update-Ya0e-JnM.js → update-Don6XTH9.js} +3 -3
  234. package/dist/{update-check-7EzEjSzb.js → update-check-DCo5RtKp.js} +5 -5
  235. package/dist/{update-cli-Dh_dfprI.js → update-cli-DRODEMSI.js} +8 -8
  236. package/dist/{update-cli-Dv4c5Gup.js → update-cli-gKtjyXlD.js} +95 -95
  237. package/dist/{update-runner-MMFI1UZ0.js → update-runner-AsKAxe31.js} +15 -15
  238. package/dist/{update-runner-CG_kbbGR.js → update-runner-JcdOHr71.js} +1 -1
  239. package/dist/{web-DCBOD-Vj.js → web-BIzWZFiN.js} +1 -1
  240. package/dist/{web-BUc-ts5b.js → web-DGo16lWn.js} +6 -6
  241. package/dist/{web-CJk-lv93.js → web-DKwOxo8E.js} +1 -1
  242. package/dist/web-sefqR11J.js +110 -0
  243. package/dist/{webhooks-cli-BRxe4uCg.js → webhooks-cli-DbnQ2BVE.js} +4 -4
  244. package/dist/{whatsapp-actions-ChO_shrk.js → whatsapp-actions-CqXxtCoj.js} +15 -15
  245. package/dist/{with-timeout-CtVdu_1U.js → with-timeout-Cm5EhxG_.js} +1 -1
  246. package/dist/{workspace-dirs-GpkFi6Kw.js → workspace-dirs-DKu48umx.js} +1 -1
  247. package/dist/{wsl-q8spwrME.js → wsl-xNOi_Ch8.js} +2 -2
  248. package/extensions/bluebubbles/package.json +1 -1
  249. package/extensions/copilot-proxy/package.json +1 -1
  250. package/extensions/diagnostics-otel/package.json +1 -1
  251. package/extensions/discord/package.json +1 -1
  252. package/extensions/feishu/package.json +1 -1
  253. package/extensions/google-antigravity-auth/package.json +1 -1
  254. package/extensions/google-gemini-cli-auth/package.json +1 -1
  255. package/extensions/googlechat/package.json +1 -1
  256. package/extensions/imessage/package.json +1 -1
  257. package/extensions/irc/package.json +1 -1
  258. package/extensions/learning-loop/package.json +1 -1
  259. package/extensions/line/package.json +1 -1
  260. package/extensions/llm-task/package.json +1 -1
  261. package/extensions/matrix/CHANGELOG.md +12 -0
  262. package/extensions/matrix/package.json +1 -1
  263. package/extensions/mattermost/package.json +1 -1
  264. package/extensions/memory-core/package.json +1 -1
  265. package/extensions/memory-lancedb/package.json +1 -1
  266. package/extensions/minimax-portal-auth/package.json +1 -1
  267. package/extensions/msteams/CHANGELOG.md +12 -0
  268. package/extensions/msteams/package.json +1 -1
  269. package/extensions/nextcloud-talk/package.json +1 -1
  270. package/extensions/nostr/CHANGELOG.md +12 -0
  271. package/extensions/nostr/package.json +1 -1
  272. package/extensions/open-prose/package.json +1 -1
  273. package/extensions/outlook/package.json +1 -1
  274. package/extensions/pipeline/package.json +1 -1
  275. package/extensions/signal/package.json +1 -1
  276. package/extensions/slack/package.json +1 -1
  277. package/extensions/telegram/package.json +1 -1
  278. package/extensions/tlon/package.json +1 -1
  279. package/extensions/twitch/CHANGELOG.md +12 -0
  280. package/extensions/twitch/package.json +1 -1
  281. package/extensions/voice-call/CHANGELOG.md +12 -0
  282. package/extensions/voice-call/package.json +1 -1
  283. package/extensions/whatsapp/package.json +1 -1
  284. package/extensions/zalo/CHANGELOG.md +12 -0
  285. package/extensions/zalo/package.json +1 -1
  286. package/extensions/zalouser/CHANGELOG.md +12 -0
  287. package/extensions/zalouser/package.json +1 -1
  288. package/package.json +1 -1
  289. package/skills/long-task/SKILL.md +57 -0
  290. package/skills/long-task/scripts/detach-task.sh +135 -0
  291. package/dist/register.configure-D-XV6_Nb.js +0 -148
  292. package/dist/web-CfVd3Mhp.js +0 -110
@@ -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";
@@ -4,27 +4,27 @@ import { d as sanitizeAgentId } from "./session-key-DCt45XZa.js";
4
4
  import "./registry-Cja8eT7G.js";
5
5
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
6
6
  import "./exec-CWkblSrI.js";
7
- import "./agent-scope-CgUHAtCo.js";
8
- import "./model-selection-CyFvYcRt.js";
7
+ import "./agent-scope-BRwEc2pG.js";
8
+ import "./model-selection-X1oLh3CE.js";
9
9
  import "./github-copilot-token-DAu1a6BX.js";
10
10
  import "./boolean-BsqeuxE6.js";
11
11
  import "./env-DPCHYPeH.js";
12
12
  import "./message-channel-aT-I_DTX.js";
13
- import "./config-Dz95lSBW.js";
13
+ import "./config-tNauHpdq.js";
14
14
  import "./manifest-registry-C4BxOMWX.js";
15
- import { n as listChannelPlugins } from "./plugins-DKDeQZF0.js";
16
- import "./accounts-DDuIpcln.js";
17
- import "./bindings-DFaVVCsf.js";
15
+ import { n as listChannelPlugins } from "./plugins-BAyxWQSz.js";
16
+ import "./accounts-Cd816n6l.js";
17
+ import "./bindings-ChzePa8q.js";
18
18
  import "./logging-w5jq5901.js";
19
- import "./client-jI1oE0_k.js";
20
- import "./call-DwpGquzW.js";
21
- import "./pairing-token-CX3NN_qj.js";
19
+ import "./client-Bj_vTpri.js";
20
+ import "./call-tmHtVCkn.js";
21
+ import "./pairing-token-AV-MMfVE.js";
22
22
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
23
23
  import "./progress-jIePzvGA.js";
24
24
  import { n as formatDurationHuman } from "./format-duration-D0B0Uo-I.js";
25
25
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs } from "./stagger-CvFURHzt.js";
26
26
  import { n as parsePositiveIntOrUndefined } from "./helpers-BtH6pa6c.js";
27
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-5fREQe9Q.js";
27
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-B1Wzoj99.js";
28
28
 
29
29
  //#region src/cli/cron-cli/shared.ts
30
30
  const getCronChannelOptions = () => ["last", ...listChannelPlugins().map((plugin) => plugin.id)].join("|");
@@ -4,25 +4,25 @@ import { B as theme, R as colorize, S as shortenHomePath, U as getResolvedLogger
4
4
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
5
5
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
6
6
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-aT-I_DTX.js";
7
- import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, r as createConfigIO } from "./config-Dz95lSBW.js";
7
+ import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, r as createConfigIO } from "./config-tNauHpdq.js";
8
8
  import { n as pickPrimaryTailnetIPv4 } from "./tailnet-B2SPYrh4.js";
9
9
  import { u as resolveGatewayBindHost } from "./ws-C7EXRv8z.js";
10
10
  import { a as resolveGatewayAuth } from "./auth-B741uFtk.js";
11
- import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-BOmtxoTv.js";
12
- import { n as callGateway } from "./call-DwpGquzW.js";
11
+ import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-OZQlocB7.js";
12
+ import { n as callGateway } from "./call-tmHtVCkn.js";
13
13
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
14
14
  import { n as withProgress } from "./progress-jIePzvGA.js";
15
- import { g as resolveControlUiLinks, h as randomToken } from "./onboard-helpers-DFvWPFhU.js";
16
- import { n as isWSLEnv } from "./wsl-q8spwrME.js";
15
+ import { g as resolveControlUiLinks, h as randomToken } from "./onboard-helpers-CdPNw25E.js";
16
+ import { n as isWSLEnv } from "./wsl-xNOi_Ch8.js";
17
17
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-CafH8-8D.js";
18
18
  import { n as inheritOptionFromParent } from "./command-options-BkTXKWlb.js";
19
- import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-mE1b-Q48.js";
20
- import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-osK70kTZ.js";
21
- import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-C4HzGXA1.js";
22
- import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-xYZbFny_.js";
19
+ import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-u01h46bE.js";
20
+ import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-D80PyJxB.js";
21
+ import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-DxmxQdhS.js";
22
+ import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-DmgRnw1L.js";
23
23
  import { t as parsePort } from "./parse-port-DnJYkByg.js";
24
- import { t as readLastGatewayErrorLine } from "./diagnostics-BRwihzJG.js";
25
- import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-CvbbCuoa.js";
24
+ import { t as readLastGatewayErrorLine } from "./diagnostics-BrUo0gqs.js";
25
+ import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-CNYyHVfH.js";
26
26
 
27
27
  //#region src/cli/daemon-cli/install.ts
28
28
  async function runDaemonInstall(opts) {
@@ -1,10 +1,10 @@
1
1
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
2
- import { H as VERSION, R as collectConfigServiceEnvVars } from "./config-Dz95lSBW.js";
2
+ import { H as VERSION, R as collectConfigServiceEnvVars } from "./config-tNauHpdq.js";
3
3
  import { a as NODE_SERVICE_MARKER, c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, g as resolveNodeWindowsTaskName, h as resolveNodeSystemdServiceName, i as NODE_SERVICE_KIND, m as resolveNodeLaunchAgentLabel, n as GATEWAY_SERVICE_KIND, o as NODE_WINDOWS_TASK_SCRIPT_NAME, r as GATEWAY_SERVICE_MARKER } from "./constants-CafH8-8D.js";
4
4
  import { n as isSupportedNodeVersion } from "./runtime-guard-Dik20CVM.js";
5
5
  import os from "node:os";
6
6
  import path from "node:path";
7
- import fs from "node:fs/promises";
7
+ import fsPromises from "node:fs/promises";
8
8
  import { execFile } from "node:child_process";
9
9
  import { promisify } from "node:util";
10
10
 
@@ -23,23 +23,23 @@ async function resolveCliEntrypointPathForService() {
23
23
  const normalized = path.resolve(argv1);
24
24
  const resolvedPath = await resolveRealpathSafe(normalized);
25
25
  if (/[/\\]dist[/\\].+\.(cjs|js|mjs)$/.test(resolvedPath)) {
26
- await fs.access(resolvedPath);
26
+ await fsPromises.access(resolvedPath);
27
27
  if (/[/\\]dist[/\\].+\.(cjs|js|mjs)$/.test(normalized) && normalized !== resolvedPath) try {
28
- await fs.access(normalized);
28
+ await fsPromises.access(normalized);
29
29
  return normalized;
30
30
  } catch {}
31
31
  return resolvedPath;
32
32
  }
33
33
  const distCandidates = buildDistCandidates(resolvedPath, normalized);
34
34
  for (const candidate of distCandidates) try {
35
- await fs.access(candidate);
35
+ await fsPromises.access(candidate);
36
36
  return candidate;
37
37
  } catch {}
38
38
  throw new Error(`Cannot find built CLI at ${distCandidates.join(" or ")}. Run "pnpm build" first, or use dev mode.`);
39
39
  }
40
40
  async function resolveRealpathSafe(inputPath) {
41
41
  try {
42
- return await fs.realpath(inputPath);
42
+ return await fsPromises.realpath(inputPath);
43
43
  } catch {
44
44
  return inputPath;
45
45
  }
@@ -99,7 +99,7 @@ async function resolveBinaryPath(binary) {
99
99
  try {
100
100
  const resolved = execFileSync(cmd, [binary], { encoding: "utf8" }).trim().split(/\r?\n/)[0]?.trim();
101
101
  if (!resolved) throw new Error("empty");
102
- await fs.access(resolved);
102
+ await fsPromises.access(resolved);
103
103
  return resolved;
104
104
  } catch {
105
105
  if (binary === "bun") throw new Error("Bun not found in PATH. Install bun: https://bun.sh");
@@ -118,7 +118,7 @@ async function resolveCliProgramArguments(params) {
118
118
  if (params.dev) {
119
119
  const repoRoot = resolveRepoRootForDev();
120
120
  const devCliPath = path.join(repoRoot, "src", "index.ts");
121
- await fs.access(devCliPath);
121
+ await fsPromises.access(devCliPath);
122
122
  return {
123
123
  programArguments: [
124
124
  isBunRuntime(execPath) ? execPath : await resolveBunPath(),
@@ -146,7 +146,7 @@ async function resolveCliProgramArguments(params) {
146
146
  }
147
147
  const repoRoot = resolveRepoRootForDev();
148
148
  const devCliPath = path.join(repoRoot, "src", "index.ts");
149
- await fs.access(devCliPath);
149
+ await fsPromises.access(devCliPath);
150
150
  if (isBunRuntime(execPath)) return {
151
151
  programArguments: [
152
152
  execPath,
@@ -259,7 +259,7 @@ function isSystemNodePath(nodePath, env = process.env, platform = process.platfo
259
259
  async function resolveSystemNodePath(env = process.env, platform = process.platform) {
260
260
  const candidates = buildSystemNodeCandidates(env, platform);
261
261
  for (const candidate of candidates) try {
262
- await fs.access(candidate);
262
+ await fsPromises.access(candidate);
263
263
  return candidate;
264
264
  } catch {}
265
265
  return null;
@@ -2,15 +2,15 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { g as normalizeOptionalAccountId, h as normalizeAccountId } from "./session-key-DCt45XZa.js";
3
3
  import { C as createInternalHookEvent, T as triggerInternalHook, d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
- import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-BgdB5kvy.js";
6
- import { i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-Cpgnq0pA.js";
7
- import { t as getChannelDock } from "./dock-BhS32F6E.js";
8
- import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DKDeQZF0.js";
9
- import { t as getAgentScopedMediaLocalRoots } from "./local-roots-aAFLQGkY.js";
5
+ import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-Bs4eMaNo.js";
6
+ import { i as resolveMirroredTranscriptText, r as appendAssistantMessageToSessionTranscript } from "./sessions-jTAGYjWl.js";
7
+ import { t as getChannelDock } from "./dock-BYiRZSgZ.js";
8
+ import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BAyxWQSz.js";
9
+ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-BBeKX7PX.js";
10
10
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-BuceUQDl.js";
11
11
  import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-1dhPX1NK.js";
12
- import { n as resolveMarkdownTableMode } from "./markdown-tables-CEbN0fEm.js";
13
- import { a as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-Bm4ULEzh.js";
12
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-ZwP14ydw.js";
13
+ import { a as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-JWV62VbW.js";
14
14
  import { i as failDelivery, r as enqueueDelivery, t as ackDelivery } from "./delivery-queue-CAxX6nGq.js";
15
15
 
16
16
  //#region src/plugins/hooks.ts
@@ -3,7 +3,7 @@ import { s as resolveStateDir } from "./paths-CE7eVGHg.js";
3
3
  import { m as normalizeOptionalAccountId, p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
4
4
  import { c as getActivePluginRegistry, v as createInternalHookEvent, x as triggerInternalHook } from "./registry-DYq1AYOv.js";
5
5
  import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
6
- import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-GaCyI2oH.js";
6
+ import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-BgRcgoC9.js";
7
7
  import { d as getChannelDock } from "./thinking-BprCy23Z.js";
8
8
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BzmbgY7s.js";
9
9
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-W0JzCJJM.js";
@@ -3,18 +3,18 @@ import { B as theme } from "./utils-B-0b9bGM.js";
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 "./boolean-BsqeuxE6.js";
10
10
  import "./env-DPCHYPeH.js";
11
11
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-aT-I_DTX.js";
12
- import "./config-Dz95lSBW.js";
12
+ import "./config-tNauHpdq.js";
13
13
  import "./manifest-registry-C4BxOMWX.js";
14
14
  import { r as isLoopbackHost } from "./ws-C7EXRv8z.js";
15
- import { Gt as summarizeDeviceTokens, It as approveDevicePairing, zt as listDevicePairing } from "./client-jI1oE0_k.js";
16
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DwpGquzW.js";
17
- import "./pairing-token-CX3NN_qj.js";
15
+ import { Gt as summarizeDeviceTokens, It as approveDevicePairing, zt as listDevicePairing } from "./client-Bj_vTpri.js";
16
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-tmHtVCkn.js";
17
+ import "./pairing-token-AV-MMfVE.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
19
19
  import { n as withProgress } from "./progress-jIePzvGA.js";
20
20
  import { t as renderTable } from "./table-BKlH0YlA.js";
@@ -1,5 +1,5 @@
1
- import { s as resolveGatewayLogPaths } from "./service-osK70kTZ.js";
2
- import fs from "node:fs/promises";
1
+ import { s as resolveGatewayLogPaths } from "./service-D80PyJxB.js";
2
+ import fsPromises from "node:fs/promises";
3
3
 
4
4
  //#region src/daemon/diagnostics.ts
5
5
  const GATEWAY_LOG_ERROR_PATTERNS = [
@@ -11,7 +11,7 @@ const GATEWAY_LOG_ERROR_PATTERNS = [
11
11
  ];
12
12
  async function readLastLogLine(filePath) {
13
13
  try {
14
- const lines = (await fs.readFile(filePath, "utf8")).split(/\r?\n/).map((line) => line.trim());
14
+ const lines = (await fsPromises.readFile(filePath, "utf8")).split(/\r?\n/).map((line) => line.trim());
15
15
  for (let i = lines.length - 1; i >= 0; i -= 1) if (lines[i]) return lines[i];
16
16
  return null;
17
17
  } catch {
@@ -20,8 +20,8 @@ async function readLastLogLine(filePath) {
20
20
  }
21
21
  async function readLastGatewayErrorLine(env) {
22
22
  const { stdoutPath, stderrPath } = resolveGatewayLogPaths(env);
23
- const stderrRaw = await fs.readFile(stderrPath, "utf8").catch(() => "");
24
- const stdoutRaw = await fs.readFile(stdoutPath, "utf8").catch(() => "");
23
+ const stderrRaw = await fsPromises.readFile(stderrPath, "utf8").catch(() => "");
24
+ const stdoutRaw = await fsPromises.readFile(stdoutPath, "utf8").catch(() => "");
25
25
  const lines = [...stderrRaw.split(/\r?\n/), ...stdoutRaw.split(/\r?\n/)].map((line) => line.trim());
26
26
  for (let i = lines.length - 1; i >= 0; i -= 1) {
27
27
  const line = lines[i];
@@ -3,21 +3,21 @@ import { B as theme, O as danger } from "./utils-B-0b9bGM.js";
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 "./boolean-BsqeuxE6.js";
10
10
  import "./env-DPCHYPeH.js";
11
11
  import "./message-channel-aT-I_DTX.js";
12
- import { i as loadConfig } from "./config-Dz95lSBW.js";
12
+ import { i as loadConfig } from "./config-tNauHpdq.js";
13
13
  import "./manifest-registry-C4BxOMWX.js";
14
- import { t as getChannelPlugin } from "./plugins-DKDeQZF0.js";
15
- import "./accounts-DDuIpcln.js";
16
- import "./bindings-DFaVVCsf.js";
14
+ import { t as getChannelPlugin } from "./plugins-BAyxWQSz.js";
15
+ import "./accounts-Cd816n6l.js";
16
+ import "./bindings-ChzePa8q.js";
17
17
  import "./logging-w5jq5901.js";
18
18
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
19
19
  import { t as formatHelpExamples } from "./help-format-B_-M23wP.js";
20
- import { n as resolveMessageChannelSelection } from "./channel-selection-V2xDgw16.js";
20
+ import { n as resolveMessageChannelSelection } from "./channel-selection-DaJDux-Q.js";
21
21
  import { t as resolveChannelDefaultAccountId } from "./helpers-DnjQ73f_.js";
22
22
  import { t as renderTable } from "./table-BKlH0YlA.js";
23
23
 
@@ -1,5 +1,5 @@
1
- import { l as normalizeStringEntries } from "./dock-BhS32F6E.js";
2
- import { i as readChannelAllowFromStore } from "./pairing-store-CK726Dzq.js";
1
+ import { l as normalizeStringEntries } from "./dock-BYiRZSgZ.js";
2
+ import { i as readChannelAllowFromStore } from "./pairing-store-B8ktu-6j.js";
3
3
 
4
4
  //#region src/security/dm-policy-shared.ts
5
5
  async function resolveDmAllowState(params) {
@@ -3,12 +3,12 @@ import { B as theme } from "./utils-B-0b9bGM.js";
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 "./boolean-BsqeuxE6.js";
10
10
  import "./env-DPCHYPeH.js";
11
- import { i as loadConfig } from "./config-Dz95lSBW.js";
11
+ import { i as loadConfig } from "./config-tNauHpdq.js";
12
12
  import "./manifest-registry-C4BxOMWX.js";
13
13
  import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-B2SPYrh4.js";
14
14
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
@@ -1,10 +1,10 @@
1
1
  import { l as escapeRegExp, m as normalizeE164 } from "./utils-B-0b9bGM.js";
2
2
  import { h as normalizeAccountId } from "./session-key-DCt45XZa.js";
3
3
  import { f as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER, o as getChatChannelMeta } from "./registry-Cja8eT7G.js";
4
- import { f as resolveSlackAccount, o as normalizeWhatsAppTarget, p as resolveSlackReplyToMode, u as resolveTelegramAccount, v as resolveDiscordAccount } from "./plugins-DKDeQZF0.js";
5
- import { n as resolveWhatsAppAccount } from "./accounts-DDuIpcln.js";
6
- import { t as resolveIMessageAccount } from "./accounts-bK-Yqdwx.js";
7
- import { n as resolveSignalAccount } from "./accounts-DyJN4_vR.js";
4
+ import { f as resolveSlackAccount, o as normalizeWhatsAppTarget, p as resolveSlackReplyToMode, u as resolveTelegramAccount, v as resolveDiscordAccount } from "./plugins-BAyxWQSz.js";
5
+ import { n as resolveWhatsAppAccount } from "./accounts-Cd816n6l.js";
6
+ import { t as resolveIMessageAccount } from "./accounts-CokRskCl.js";
7
+ import { n as resolveSignalAccount } from "./accounts-mN_EcgxC.js";
8
8
 
9
9
  //#region src/shared/string-normalization.ts
10
10
  function normalizeStringEntries(list) {
@@ -7,7 +7,7 @@ import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
7
7
  import "./boolean-BsqeuxE6.js";
8
8
  import "./manifest-registry-C4BxOMWX.js";
9
9
  import { d as hasBinary } from "./frontmatter-DWQhtOo7.js";
10
- import "./skills-6jdJQ5ZL.js";
10
+ import "./skills-DqQUtOph.js";
11
11
  import "./redact-f-Q-hFt_.js";
12
12
  import "./errors-BF3TeRH2.js";
13
13
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
@@ -1,7 +1,7 @@
1
- import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
1
+ import { t as resolveSymiPackageRoot } from "./symi-root-MF6_6SCS.js";
2
2
  import { r as resolveCliName } from "./command-format-COaS-S7B.js";
3
3
  import { t as note } from "./note-DQ9BvHF2.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CE9Xqlyx.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DtQcXg1N.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { r as resolveCliName } from "./command-format-BtYOfWxC.js";
2
2
  import { t as resolveSymiPackageRoot } from "./symi-root-BNuQ4lAT.js";
3
3
  import { t as note } from "./note-DDecZomM.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CQVZGJPg.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-CfRZ-7QF.js";
5
5
  import { spawnSync } from "node:child_process";
6
6
  import path from "node:path";
7
7
 
@@ -1,20 +1,20 @@
1
1
  import { f as resolveLegacyStateDirs, g as resolveStateDir, m as resolveOAuthDir, p as resolveNewStateDir, t as CONFIG_PATH } from "./paths-Cqn-zk3M.js";
2
2
  import { _ as resolveHomeDir, d as isRecord } from "./utils-B-0b9bGM.js";
3
3
  import { m as DEFAULT_ACCOUNT_ID, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-DCt45XZa.js";
4
- import { l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
4
+ import { l as resolveDefaultAgentId } from "./agent-scope-BRwEc2pG.js";
5
5
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
6
- import { d as SymiSchema, n as migrateLegacyConfig, o as readConfigFileSnapshot } from "./config-Dz95lSBW.js";
7
- import { l as saveSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-Cpgnq0pA.js";
8
- import { l as listTelegramAccountIds, u as resolveTelegramAccount } from "./plugins-DKDeQZF0.js";
6
+ import { d as SymiSchema, n as migrateLegacyConfig, o as readConfigFileSnapshot } from "./config-tNauHpdq.js";
7
+ import { l as saveSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-jTAGYjWl.js";
8
+ import { l as listTelegramAccountIds, u as resolveTelegramAccount } from "./plugins-BAyxWQSz.js";
9
9
  import { t as note } from "./note-DQ9BvHF2.js";
10
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-CP0nONRL.js";
10
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-DwIrzVOA.js";
11
11
  import { t as isWithinDir } from "./path-safety-D55Cxg8r.js";
12
12
  import { n as normalizeTelegramAllowFromEntry, t as isNumericTelegramUserId } from "./allow-from-BIJVrwCW.js";
13
13
  import fs from "node:fs";
14
14
  import os from "node:os";
15
15
  import path from "node:path";
16
16
  import JSON5 from "json5";
17
- import fs$1 from "node:fs/promises";
17
+ import fsPromises from "node:fs/promises";
18
18
 
19
19
  //#region src/channels/telegram/api.ts
20
20
  async function fetchTelegramChatId(params) {
@@ -1374,7 +1374,7 @@ async function maybeMigrateLegacyConfig() {
1374
1374
  const targetDir = path.join(home, ".symi");
1375
1375
  const targetPath = path.join(targetDir, "symi.json");
1376
1376
  try {
1377
- await fs$1.access(targetPath);
1377
+ await fsPromises.access(targetPath);
1378
1378
  return changes;
1379
1379
  } catch {}
1380
1380
  const legacyCandidates = [
@@ -1384,14 +1384,14 @@ async function maybeMigrateLegacyConfig() {
1384
1384
  ];
1385
1385
  let legacyPath = null;
1386
1386
  for (const candidate of legacyCandidates) try {
1387
- await fs$1.access(candidate);
1387
+ await fsPromises.access(candidate);
1388
1388
  legacyPath = candidate;
1389
1389
  break;
1390
1390
  } catch {}
1391
1391
  if (!legacyPath) return changes;
1392
- await fs$1.mkdir(targetDir, { recursive: true });
1392
+ await fsPromises.mkdir(targetDir, { recursive: true });
1393
1393
  try {
1394
- await fs$1.copyFile(legacyPath, targetPath, fs$1.constants.COPYFILE_EXCL);
1394
+ await fsPromises.copyFile(legacyPath, targetPath, fsPromises.constants.COPYFILE_EXCL);
1395
1395
  changes.push(`Migrated legacy config: ${legacyPath} -> ${targetPath}`);
1396
1396
  } catch {}
1397
1397
  return changes;
package/dist/entry.js CHANGED
@@ -2500,7 +2500,7 @@ if (!ensureExperimentalWarningSuppressed()) {
2500
2500
  applyCliProfileEnv({ profile: parsed.profile });
2501
2501
  process$1.argv = parsed.argv;
2502
2502
  }
2503
- import("./run-main-bOlPbL7t.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2503
+ import("./run-main-Dq6tfDry.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2504
2504
  console.error("[symi] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
2505
2505
  process$1.exitCode = 1;
2506
2506
  });