@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
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { r as resolveAgentConfig } from "./agent-scope-CgUHAtCo.js";
2
+ import { r as resolveAgentConfig } from "./agent-scope-BRwEc2pG.js";
3
3
 
4
4
  //#region src/agents/identity.ts
5
5
  const DEFAULT_ACK_REACTION = "👀";
@@ -2,9 +2,9 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { F as shouldLogVerbose } from "./utils-B-0b9bGM.js";
3
3
  import { d as sanitizeAgentId, h as normalizeAccountId, i as buildAgentPeerSessionKey, m as DEFAULT_ACCOUNT_ID, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-DCt45XZa.js";
4
4
  import { i as logDebug } from "./exec-CWkblSrI.js";
5
- import { l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
5
+ import { l as resolveDefaultAgentId } from "./agent-scope-BRwEc2pG.js";
6
6
  import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
7
- import { n as listBindings } from "./bindings-DFaVVCsf.js";
7
+ import { n as listBindings } from "./bindings-ChzePa8q.js";
8
8
 
9
9
  //#region src/routing/resolve-route.ts
10
10
  var resolve_route_exports = /* @__PURE__ */ __exportAll({
@@ -1,14 +1,14 @@
1
1
  import { t as parseBooleanValue } from "./boolean-BsqeuxE6.js";
2
- import { i as loadConfig, l as writeConfigFile } from "./config-Dz95lSBW.js";
3
- import { C as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, E as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, a as resolveSymiUserDataDir, c as captureScreenshot, f as snapshotAria, h as withBrowserNavigationPolicy, s as resolveBrowserExecutableForPlatform, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS } from "./chrome-DU2ZysN3.js";
4
- import { a as resolveProfile, c as getUsedColors, d as deriveDefaultBrowserCdpPortRange, f as getPwAiModule$1, l as getUsedPorts, o as allocateCdpPort, r as parseHttpUrl, s as allocateColor, u as isValidProfileName } from "./server-context-CCBZN8a0.js";
5
- import { a as resolvePathWithinRoot, i as resolveExistingPathsWithinRoot, n as DEFAULT_TRACE_DIR, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR } from "./paths-BBm9fwuG.js";
6
- import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-1OJMSAUX.js";
7
- import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-r1DJSDq-.js";
2
+ import { i as loadConfig, l as writeConfigFile } from "./config-tNauHpdq.js";
3
+ import { C as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, E as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, a as resolveSymiUserDataDir, c as captureScreenshot, f as snapshotAria, h as withBrowserNavigationPolicy, s as resolveBrowserExecutableForPlatform, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS } from "./chrome-CSJzpT9Z.js";
4
+ import { a as resolveProfile, c as getUsedColors, d as deriveDefaultBrowserCdpPortRange, f as getPwAiModule$1, l as getUsedPorts, o as allocateCdpPort, r as parseHttpUrl, s as allocateColor, u as isValidProfileName } from "./server-context-VlF1_hYj.js";
5
+ import { a as resolvePathWithinRoot, i as resolveExistingPathsWithinRoot, n as DEFAULT_TRACE_DIR, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR } from "./paths-CT6jsi4E.js";
6
+ import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-DYbDWaIA.js";
7
+ import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-DvtcmOKj.js";
8
8
  import { t as movePathToTrash } from "./trash-DcMh1i4B.js";
9
9
  import fs from "node:fs";
10
10
  import path from "node:path";
11
- import fs$1 from "node:fs/promises";
11
+ import fsPromises from "node:fs/promises";
12
12
  import crypto from "node:crypto";
13
13
 
14
14
  //#region src/browser/routes/agent.act.shared.ts
@@ -770,7 +770,7 @@ function registerBrowserAgentDebugRoutes(app, ctx) {
770
770
  run: async ({ cdpUrl, tab, pw }) => {
771
771
  const id = crypto.randomUUID();
772
772
  const dir = DEFAULT_TRACE_DIR;
773
- await fs$1.mkdir(dir, { recursive: true });
773
+ await fsPromises.mkdir(dir, { recursive: true });
774
774
  const tracePathResult = resolvePathWithinRoot({
775
775
  rootDir: dir,
776
776
  requestedPath: out,
@@ -1,5 +1,5 @@
1
1
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-aT-I_DTX.js";
2
- import { a as randomIdempotencyKey, n as callGateway } from "./call-DwpGquzW.js";
2
+ import { a as randomIdempotencyKey, n as callGateway } from "./call-tmHtVCkn.js";
3
3
  import { n as withProgress } from "./progress-jIePzvGA.js";
4
4
  import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-CdUiymRU.js";
5
5
 
@@ -14,7 +14,7 @@ import "./client-T3qcxXru.js";
14
14
  import "./call-DKi-hnaF.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import "./subagent-registry-BPwn3Qm7.js";
17
+ import "./subagent-registry-CzS4CfnV.js";
18
18
  import "./sessions-Cfa6JEB3.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import "./plugins-CwSlLxM8.js";
@@ -102,9 +102,9 @@ import { t as ensureSymiCliOnPath } from "./path-env-Bic_wXs9.js";
102
102
  import "./catalog-DLQFKucJ.js";
103
103
  import "./note-DDecZomM.js";
104
104
  import "./plugin-auto-enable-D6ENR3Xg.js";
105
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BMFEJ4FA.js";
105
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-CJGPW1-k.js";
106
106
  import { t as assertSupportedRuntime } from "./runtime-guard-D7waq_Ho.js";
107
- import { t as emitCliBanner } from "./banner-BNsB_A87.js";
107
+ import { t as emitCliBanner } from "./banner-B4vQpMIJ.js";
108
108
  import "./doctor-config-flow-DhAYwhNB.js";
109
109
  import { n as ensureConfigReady } from "./config-guard-B1skCv1C.js";
110
110
  import process$1 from "node:process";
@@ -119,7 +119,7 @@ const routeHealth = {
119
119
  const verbose = getVerboseFlag(argv, { includeDebug: true });
120
120
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
121
121
  if (timeoutMs === null) return false;
122
- const { healthCommand } = await import("./health-q7706M36.js").then((n) => n.i);
122
+ const { healthCommand } = await import("./health-DQEqLYg1.js").then((n) => n.i);
123
123
  await healthCommand({
124
124
  json,
125
125
  timeoutMs,
@@ -139,7 +139,7 @@ const routeStatus = {
139
139
  const verbose = getVerboseFlag(argv, { includeDebug: true });
140
140
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
141
141
  if (timeoutMs === null) return false;
142
- const { statusCommand } = await import("./status-DxhtJtzE.js").then((n) => n.t);
142
+ const { statusCommand } = await import("./status-BJtbD-cG.js").then((n) => n.t);
143
143
  await statusCommand({
144
144
  json,
145
145
  deep,
@@ -173,7 +173,7 @@ const routeAgentsList = {
173
173
  run: async (argv) => {
174
174
  const json = hasFlag(argv, "--json");
175
175
  const bindings = hasFlag(argv, "--bindings");
176
- const { agentsListCommand } = await import("./agents-B4RNdKQ3.js").then((n) => n.t);
176
+ const { agentsListCommand } = await import("./agents-Cu2bthAX.js").then((n) => n.t);
177
177
  await agentsListCommand({
178
178
  json,
179
179
  bindings
@@ -244,7 +244,7 @@ const routes = [
244
244
  const pathArg = getCommandPositionals(argv)[2];
245
245
  if (!pathArg) return false;
246
246
  const json = hasFlag(argv, "--json");
247
- const { runConfigGet } = await import("./config-cli-BucNvr-c.js");
247
+ const { runConfigGet } = await import("./config-cli-DL2RdfLM.js");
248
248
  await runConfigGet({
249
249
  path: pathArg,
250
250
  json
@@ -257,7 +257,7 @@ const routes = [
257
257
  run: async (argv) => {
258
258
  const pathArg = getCommandPositionals(argv)[2];
259
259
  if (!pathArg) return false;
260
- const { runConfigUnset } = await import("./config-cli-BucNvr-c.js");
260
+ const { runConfigUnset } = await import("./config-cli-DL2RdfLM.js");
261
261
  await runConfigUnset({ path: pathArg });
262
262
  return true;
263
263
  }
@@ -271,7 +271,7 @@ const routes = [
271
271
  const local = hasFlag(argv, "--local");
272
272
  const json = hasFlag(argv, "--json");
273
273
  const plain = hasFlag(argv, "--plain");
274
- const { modelsListCommand } = await import("./models-DOTpfa7b.js").then((n) => n.t);
274
+ const { modelsListCommand } = await import("./models-Zol34e73.js").then((n) => n.t);
275
275
  await modelsListCommand({
276
276
  all,
277
277
  local,
@@ -302,7 +302,7 @@ const routes = [
302
302
  const plain = hasFlag(argv, "--plain");
303
303
  const check = hasFlag(argv, "--check");
304
304
  const probe = hasFlag(argv, "--probe");
305
- const { modelsStatusCommand } = await import("./models-DOTpfa7b.js").then((n) => n.t);
305
+ const { modelsStatusCommand } = await import("./models-Zol34e73.js").then((n) => n.t);
306
306
  await modelsStatusCommand({
307
307
  json,
308
308
  plain,
@@ -380,7 +380,7 @@ async function runCli(argv = process$1.argv) {
380
380
  assertSupportedRuntime();
381
381
  if (await tryRouteCli(normalizedArgv)) return;
382
382
  enableConsoleCapture();
383
- const { buildProgram } = await import("./program-4f7W2RMs.js");
383
+ const { buildProgram } = await import("./program-BHjH97Q_.js");
384
384
  const program = buildProgram();
385
385
  installUnhandledRejectionHandler();
386
386
  process$1.on("uncaughtException", (error) => {
@@ -412,10 +412,10 @@ async function runCli(argv = process$1.argv) {
412
412
  const { getProgramContext } = await import("./program-context-CqzR_m-7.js").then((n) => n.n);
413
413
  const ctx = getProgramContext(program);
414
414
  if (ctx) {
415
- const { registerCoreCliByName } = await import("./command-registry-BoEw2RzH.js").then((n) => n.t);
415
+ const { registerCoreCliByName } = await import("./command-registry-BvpLfzl7.js").then((n) => n.t);
416
416
  await registerCoreCliByName(program, ctx, primary, parseArgv);
417
417
  }
418
- const { registerSubCliByName } = await import("./register.subclis-Crt_IYK0.js").then((n) => n.a);
418
+ const { registerSubCliByName } = await import("./register.subclis-CVQASXaL.js").then((n) => n.a);
419
419
  await registerSubCliByName(program, primary);
420
420
  }
421
421
  const hasBuiltinPrimary = primary !== null && program.commands.some((command) => command.name() === primary);
@@ -424,7 +424,7 @@ async function runCli(argv = process$1.argv) {
424
424
  primary,
425
425
  hasBuiltinPrimary
426
426
  })) {
427
- const { registerPluginCliCommands } = await import("./cli-Mcq2pPI0.js");
427
+ const { registerPluginCliCommands } = await import("./cli-B-g79xPe.js");
428
428
  const { loadConfig } = await import("./config-BNTB6qj8.js").then((n) => n.t);
429
429
  registerPluginCliCommands(program, loadConfig());
430
430
  }
@@ -1,22 +1,22 @@
1
1
  import { F as shouldLogVerbose, M as logVerbose } from "./utils-B-0b9bGM.js";
2
2
  import { n as runExec } from "./exec-CWkblSrI.js";
3
- import { E as normalizeGoogleModelId, K as requireApiKey, l as normalizeProviderId, q as resolveApiKeyForProvider } from "./model-selection-CyFvYcRt.js";
4
- import { _ as isInboundPathAllowed, g as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, v as mergeInboundPathRoots, y as resolveIMessageAttachmentRoots } from "./config-Dz95lSBW.js";
3
+ import { E as normalizeGoogleModelId, K as requireApiKey, l as normalizeProviderId, q as resolveApiKeyForProvider } from "./model-selection-X1oLh3CE.js";
4
+ import { _ as isInboundPathAllowed, g as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, v as mergeInboundPathRoots, y as resolveIMessageAttachmentRoots } from "./config-tNauHpdq.js";
5
5
  import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
6
- import { t as describeImageWithModel } from "./image-BWmcNF8N.js";
6
+ import { t as describeImageWithModel } from "./image-lCS3o9xj.js";
7
7
  import { r as formatUncaughtError, t as extractErrorCode } from "./errors-BF3TeRH2.js";
8
- import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-1OJMSAUX.js";
8
+ import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-DYbDWaIA.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-Db3da8yR.js";
10
10
  import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
11
- import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-CzuPlV2t.js";
12
- import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError } from "./local-roots-aAFLQGkY.js";
13
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-8Son0J4O.js";
11
+ import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-CEr3lKih.js";
12
+ import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError } from "./local-roots-BBeKX7PX.js";
13
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-CvbwxWuC.js";
14
14
  import process$1 from "node:process";
15
15
  import { fileURLToPath } from "node:url";
16
16
  import { constants } from "node:fs";
17
17
  import os from "node:os";
18
18
  import path from "node:path";
19
- import fs$1 from "node:fs/promises";
19
+ import fsPromises from "node:fs/promises";
20
20
  import crypto from "node:crypto";
21
21
 
22
22
  //#region src/auto-reply/templating.ts
@@ -794,7 +794,7 @@ var MediaAttachmentCache = class {
794
794
  const size = await this.ensureLocalStat(entry);
795
795
  if (entry.resolvedPath) {
796
796
  if (size !== void 0 && size > params.maxBytes) throw new MediaUnderstandingSkipError("maxBytes", `Attachment ${params.attachmentIndex + 1} exceeds maxBytes ${params.maxBytes}`);
797
- const buffer = await fs$1.readFile(entry.resolvedPath);
797
+ const buffer = await fsPromises.readFile(entry.resolvedPath);
798
798
  entry.buffer = buffer;
799
799
  entry.bufferMime = entry.bufferMime ?? entry.attachment.mime ?? await detectMime({
800
800
  buffer,
@@ -864,10 +864,10 @@ var MediaAttachmentCache = class {
864
864
  prefix: "symi-media",
865
865
  extension: path.extname(bufferResult.fileName || "") || ""
866
866
  });
867
- await fs$1.writeFile(tmpPath, bufferResult.buffer);
867
+ await fsPromises.writeFile(tmpPath, bufferResult.buffer);
868
868
  entry.tempPath = tmpPath;
869
869
  entry.tempCleanup = async () => {
870
- await fs$1.unlink(tmpPath).catch(() => {});
870
+ await fsPromises.unlink(tmpPath).catch(() => {});
871
871
  };
872
872
  return {
873
873
  path: tmpPath,
@@ -914,12 +914,12 @@ var MediaAttachmentCache = class {
914
914
  if (entry.statSize !== void 0) return entry.statSize;
915
915
  try {
916
916
  const currentPath = entry.resolvedPath;
917
- const stat = await fs$1.stat(currentPath);
917
+ const stat = await fsPromises.stat(currentPath);
918
918
  if (!stat.isFile()) {
919
919
  entry.resolvedPath = void 0;
920
920
  return;
921
921
  }
922
- const canonicalPath = await fs$1.realpath(currentPath).catch(() => currentPath);
922
+ const canonicalPath = await fsPromises.realpath(currentPath).catch(() => currentPath);
923
923
  if (!isInboundPathAllowed({
924
924
  filePath: canonicalPath,
925
925
  roots: await this.getCanonicalLocalPathRoots()
@@ -941,7 +941,7 @@ var MediaAttachmentCache = class {
941
941
  if (this.canonicalLocalPathRoots) return await this.canonicalLocalPathRoots;
942
942
  this.canonicalLocalPathRoots = (async () => mergeInboundPathRoots(this.localPathRoots, await Promise.all(this.localPathRoots.map(async (root) => {
943
943
  if (root.includes("*")) return root;
944
- return await fs$1.realpath(root).catch(() => root);
944
+ return await fsPromises.realpath(root).catch(() => root);
945
945
  }))))();
946
946
  return await this.canonicalLocalPathRoots;
947
947
  }
@@ -952,7 +952,7 @@ var MediaAttachmentCache = class {
952
952
  async function fileExists(filePath) {
953
953
  if (!filePath) return false;
954
954
  try {
955
- await fs$1.stat(filePath);
955
+ await fsPromises.stat(filePath);
956
956
  return true;
957
957
  } catch {
958
958
  return false;
@@ -1052,7 +1052,7 @@ async function resolveCliOutput(params) {
1052
1052
  const commandId = commandBase(params.command);
1053
1053
  const fileOutput = commandId === "whisper-cli" ? resolveWhisperCppOutputPath(params.args) : commandId === "whisper" ? resolveWhisperOutputPath(params.args, params.mediaPath) : null;
1054
1054
  if (fileOutput && await fileExists(fileOutput)) try {
1055
- const content = await fs$1.readFile(fileOutput, "utf8");
1055
+ const content = await fsPromises.readFile(fileOutput, "utf8");
1056
1056
  if (content.trim()) return content.trim();
1057
1057
  } catch {}
1058
1058
  if (commandId === "gemini") {
@@ -1343,7 +1343,7 @@ async function runCliEntry(params) {
1343
1343
  maxBytes,
1344
1344
  timeoutMs
1345
1345
  });
1346
- const outputDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "symi-media-cli-"));
1346
+ const outputDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "symi-media-cli-"));
1347
1347
  const mediaPath = pathResult.path;
1348
1348
  const outputBase = path.join(outputDir, path.parse(mediaPath).name);
1349
1349
  const templCtx = {
@@ -1377,7 +1377,7 @@ async function runCliEntry(params) {
1377
1377
  model: command
1378
1378
  };
1379
1379
  } finally {
1380
- await fs$1.rm(outputDir, {
1380
+ await fsPromises.rm(outputDir, {
1381
1381
  recursive: true,
1382
1382
  force: true
1383
1383
  }).catch(() => {});
@@ -1421,9 +1421,9 @@ function candidateBinaryNames(name) {
1421
1421
  }
1422
1422
  async function isExecutable(filePath) {
1423
1423
  try {
1424
- if (!(await fs$1.stat(filePath)).isFile()) return false;
1424
+ if (!(await fsPromises.stat(filePath)).isFile()) return false;
1425
1425
  if (process.platform === "win32") return true;
1426
- await fs$1.access(filePath, constants.X_OK);
1426
+ await fsPromises.access(filePath, constants.X_OK);
1427
1427
  return true;
1428
1428
  } catch {
1429
1429
  return false;
@@ -4,7 +4,7 @@ import { A as normalizeGoogleModelId, B as resolveApiKeyForProvider, C as normal
4
4
  import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-B6OxYMgn.js";
5
5
  import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-C7CauEK8.js";
6
6
  import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
7
- import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CbyTdMd5.js";
7
+ import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-C3ugMkb5.js";
8
8
  import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-BkLFtndu.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-Cj6kcyGt.js";
10
10
  import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-Se92wAN5.js";
@@ -3,19 +3,19 @@ import { y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import { l as resolveAgentIdFromSessionKey, s as normalizeAgentId } from "./session-key-DCt45XZa.js";
4
4
  import { t as CHANNEL_IDS } from "./registry-Cja8eT7G.js";
5
5
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
6
- import { C as ensureAgentWorkspace, S as DEFAULT_USER_FILENAME, b as DEFAULT_SYMIPULSE_FILENAME, d as resolveSessionAgentId, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, m as DEFAULT_AGENT_WORKSPACE_DIR, p as DEFAULT_AGENTS_FILENAME, r as resolveAgentConfig, x as DEFAULT_TOOLS_FILENAME, y as DEFAULT_SYMICORE_FILENAME } from "./agent-scope-CgUHAtCo.js";
6
+ import { C as ensureAgentWorkspace, S as DEFAULT_USER_FILENAME, b as DEFAULT_SYMIPULSE_FILENAME, d as resolveSessionAgentId, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, m as DEFAULT_AGENT_WORKSPACE_DIR, p as DEFAULT_AGENTS_FILENAME, r as resolveAgentConfig, x as DEFAULT_TOOLS_FILENAME, y as DEFAULT_SYMICORE_FILENAME } from "./agent-scope-BRwEc2pG.js";
7
7
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
8
- import { i as loadConfig } from "./config-Dz95lSBW.js";
9
- import { A as DEFAULT_SYMI_BROWSER_PROFILE_NAME, D as DEFAULT_BROWSER_EVALUATE_ENABLED, O as DEFAULT_SYMI_BROWSER_COLOR } from "./chrome-DU2ZysN3.js";
8
+ import { i as loadConfig } from "./config-tNauHpdq.js";
9
+ import { A as DEFAULT_SYMI_BROWSER_PROFILE_NAME, D as DEFAULT_BROWSER_EVALUATE_ENABLED, O as DEFAULT_SYMI_BROWSER_COLOR } from "./chrome-CSJzpT9Z.js";
10
10
  import { t as safeEqualSecret } from "./secret-equal-D7A3Bol7.js";
11
11
  import { r as isLoopbackHost } from "./ws-C7EXRv8z.js";
12
- import { a as resolveProfile, m as resolveBrowserControlAuth, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-CCBZN8a0.js";
13
- import { d as resolveSandboxInputPath, f as resolveSandboxPath, g as sanitizeEnvVars, o as syncSkillsToWorkspace } from "./skills-6jdJQ5ZL.js";
14
- import { t as registerBrowserRoutes } from "./routes-BAZTZNuQ.js";
15
- import { B as resolveAgentMainSessionKey, J as acquireSessionWriteLock, z as canonicalizeMainSessionAlias } from "./sessions-Cpgnq0pA.js";
12
+ import { a as resolveProfile, m as resolveBrowserControlAuth, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-VlF1_hYj.js";
13
+ import { d as resolveSandboxInputPath, f as resolveSandboxPath, g as sanitizeEnvVars, o as syncSkillsToWorkspace } from "./skills-DqQUtOph.js";
14
+ import { t as registerBrowserRoutes } from "./routes-CVwRcA9D.js";
15
+ import { B as resolveAgentMainSessionKey, J as acquireSessionWriteLock, z as canonicalizeMainSessionAlias } from "./sessions-jTAGYjWl.js";
16
16
  import { existsSync, realpathSync } from "node:fs";
17
17
  import path, { posix } from "node:path";
18
- import fs$1 from "node:fs/promises";
18
+ import fsPromises from "node:fs/promises";
19
19
  import { spawn } from "node:child_process";
20
20
  import crypto from "node:crypto";
21
21
  import express from "express";
@@ -769,7 +769,7 @@ async function withRegistryLock(registryPath, fn) {
769
769
  }
770
770
  async function readRegistryFromFile(registryPath, mode) {
771
771
  try {
772
- const raw = await fs$1.readFile(registryPath, "utf-8");
772
+ const raw = await fsPromises.readFile(registryPath, "utf-8");
773
773
  const parsed = JSON.parse(raw);
774
774
  if (isRegistryFile(parsed)) return parsed;
775
775
  if (mode === "fallback") return { entries: [] };
@@ -782,15 +782,15 @@ async function readRegistryFromFile(registryPath, mode) {
782
782
  }
783
783
  }
784
784
  async function writeRegistryFile(registryPath, registry) {
785
- await fs$1.mkdir(SANDBOX_STATE_DIR, { recursive: true });
785
+ await fsPromises.mkdir(SANDBOX_STATE_DIR, { recursive: true });
786
786
  const payload = `${JSON.stringify(registry, null, 2)}\n`;
787
787
  const registryDir = path.dirname(registryPath);
788
788
  const tempPath = path.join(registryDir, `${path.basename(registryPath)}.${crypto.randomUUID()}.tmp`);
789
- await fs$1.writeFile(tempPath, payload, "utf-8");
789
+ await fsPromises.writeFile(tempPath, payload, "utf-8");
790
790
  try {
791
- await fs$1.rename(tempPath, registryPath);
791
+ await fsPromises.rename(tempPath, registryPath);
792
792
  } catch (error) {
793
- await fs$1.rm(tempPath, { force: true });
793
+ await fsPromises.rm(tempPath, { force: true });
794
794
  throw error;
795
795
  }
796
796
  }
@@ -2025,7 +2025,7 @@ function formatSandboxToolPolicyBlockedMessage(params) {
2025
2025
  //#endregion
2026
2026
  //#region src/agents/sandbox/workspace.ts
2027
2027
  async function ensureSandboxWorkspace(workspaceDir, seedFrom, skipBootstrap) {
2028
- await fs$1.mkdir(workspaceDir, { recursive: true });
2028
+ await fsPromises.mkdir(workspaceDir, { recursive: true });
2029
2029
  if (seedFrom) {
2030
2030
  const seed = resolveUserPath(seedFrom);
2031
2031
  const files = [
@@ -2041,11 +2041,11 @@ async function ensureSandboxWorkspace(workspaceDir, seedFrom, skipBootstrap) {
2041
2041
  const src = path.join(seed, name);
2042
2042
  const dest = path.join(workspaceDir, name);
2043
2043
  try {
2044
- await fs$1.access(dest);
2044
+ await fsPromises.access(dest);
2045
2045
  } catch {
2046
2046
  try {
2047
- const content = await fs$1.readFile(src, "utf-8");
2048
- await fs$1.writeFile(dest, content, {
2047
+ const content = await fsPromises.readFile(src, "utf-8");
2048
+ await fsPromises.writeFile(dest, content, {
2049
2049
  encoding: "utf-8",
2050
2050
  flag: "wx"
2051
2051
  });
@@ -2080,7 +2080,7 @@ async function ensureSandboxWorkspaceLayout(params) {
2080
2080
  const message = error instanceof Error ? error.message : JSON.stringify(error);
2081
2081
  defaultRuntime.error?.(`Sandbox skill sync failed: ${message}`);
2082
2082
  }
2083
- } else await fs$1.mkdir(workspaceDir, { recursive: true });
2083
+ } else await fsPromises.mkdir(workspaceDir, { recursive: true });
2084
2084
  return {
2085
2085
  agentWorkspaceDir,
2086
2086
  scopeKey,
@@ -4,39 +4,39 @@ import { S as parseAgentSessionKey, c as normalizeMainKey, l as resolveAgentIdFr
4
4
  import { c as normalizeAnyChannelId } from "./registry-Cja8eT7G.js";
5
5
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
6
6
  import "./exec-CWkblSrI.js";
7
- import { r as resolveAgentConfig } from "./agent-scope-CgUHAtCo.js";
8
- import "./model-selection-CyFvYcRt.js";
7
+ import { r as resolveAgentConfig } from "./agent-scope-BRwEc2pG.js";
8
+ import "./model-selection-X1oLh3CE.js";
9
9
  import "./github-copilot-token-DAu1a6BX.js";
10
10
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
11
11
  import "./boolean-BsqeuxE6.js";
12
12
  import "./env-DPCHYPeH.js";
13
13
  import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-aT-I_DTX.js";
14
- import { i as loadConfig } from "./config-Dz95lSBW.js";
14
+ import { i as loadConfig } from "./config-tNauHpdq.js";
15
15
  import "./manifest-registry-C4BxOMWX.js";
16
- import { f as resolveSandboxConfigForAgent, i as removeSandboxContainer, m as resolveSandboxToolPolicyForAgent, n as listSandboxContainers, r as removeSandboxBrowserContainer, t as listSandboxBrowsers } from "./sandbox-B6N8cV4d.js";
17
- import "./chrome-DU2ZysN3.js";
16
+ import { f as resolveSandboxConfigForAgent, i as removeSandboxContainer, m as resolveSandboxToolPolicyForAgent, n as listSandboxContainers, r as removeSandboxBrowserContainer, t as listSandboxBrowsers } from "./sandbox-HZ_uilsn.js";
17
+ import "./chrome-CSJzpT9Z.js";
18
18
  import "./tailscale-D5dKabOc.js";
19
19
  import "./auth-B741uFtk.js";
20
- import "./server-context-CCBZN8a0.js";
20
+ import "./server-context-VlF1_hYj.js";
21
21
  import "./frontmatter-DWQhtOo7.js";
22
- import "./skills-6jdJQ5ZL.js";
23
- import "./routes-BAZTZNuQ.js";
22
+ import "./skills-DqQUtOph.js";
23
+ import "./routes-CVwRcA9D.js";
24
24
  import "./redact-f-Q-hFt_.js";
25
25
  import "./errors-BF3TeRH2.js";
26
- import "./fs-safe-CUjO1ca2.js";
27
- import "./paths-BBm9fwuG.js";
26
+ import "./fs-safe-CTDvb1DF.js";
27
+ import "./paths-CT6jsi4E.js";
28
28
  import "./ssrf-BCYMnxkM.js";
29
- import "./image-ops-1OJMSAUX.js";
30
- import "./store-r1DJSDq-.js";
31
- import "./ports-BOmtxoTv.js";
29
+ import "./image-ops-DYbDWaIA.js";
30
+ import "./store-DvtcmOKj.js";
31
+ import "./ports-OZQlocB7.js";
32
32
  import "./trash-DcMh1i4B.js";
33
- import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, o as loadSessionStore } from "./sessions-Cpgnq0pA.js";
34
- import "./dock-BhS32F6E.js";
35
- import "./plugins-DKDeQZF0.js";
36
- import "./accounts-DDuIpcln.js";
37
- import "./accounts-bK-Yqdwx.js";
38
- import "./accounts-DyJN4_vR.js";
39
- import "./bindings-DFaVVCsf.js";
33
+ import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, o as loadSessionStore } from "./sessions-jTAGYjWl.js";
34
+ import "./dock-BYiRZSgZ.js";
35
+ import "./plugins-BAyxWQSz.js";
36
+ import "./accounts-Cd816n6l.js";
37
+ import "./accounts-CokRskCl.js";
38
+ import "./accounts-mN_EcgxC.js";
39
+ import "./bindings-ChzePa8q.js";
40
40
  import "./logging-w5jq5901.js";
41
41
  import { c as resolveStorePath } from "./paths-CyhzMxFA.js";
42
42
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
@@ -4,61 +4,61 @@ import { s as normalizeAgentId } from "./session-key-DCt45XZa.js";
4
4
  import "./registry-Cja8eT7G.js";
5
5
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
6
6
  import { n as runExec } from "./exec-CWkblSrI.js";
7
- import { l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
8
- import "./model-selection-CyFvYcRt.js";
7
+ import { l as resolveDefaultAgentId } from "./agent-scope-BRwEc2pG.js";
8
+ import "./model-selection-X1oLh3CE.js";
9
9
  import "./github-copilot-token-DAu1a6BX.js";
10
10
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
11
11
  import "./boolean-BsqeuxE6.js";
12
12
  import "./env-DPCHYPeH.js";
13
13
  import "./message-channel-aT-I_DTX.js";
14
- import { i as loadConfig, r as createConfigIO } from "./config-Dz95lSBW.js";
14
+ import { i as loadConfig, r as createConfigIO } from "./config-tNauHpdq.js";
15
15
  import "./manifest-registry-C4BxOMWX.js";
16
- import "./sandbox-B6N8cV4d.js";
17
- import "./chrome-DU2ZysN3.js";
16
+ import "./sandbox-HZ_uilsn.js";
17
+ import "./chrome-CSJzpT9Z.js";
18
18
  import "./tailscale-D5dKabOc.js";
19
19
  import "./auth-B741uFtk.js";
20
- import "./server-context-CCBZN8a0.js";
20
+ import "./server-context-VlF1_hYj.js";
21
21
  import "./frontmatter-DWQhtOo7.js";
22
- import "./skills-6jdJQ5ZL.js";
23
- import "./routes-BAZTZNuQ.js";
22
+ import "./skills-DqQUtOph.js";
23
+ import "./routes-CVwRcA9D.js";
24
24
  import "./redact-f-Q-hFt_.js";
25
25
  import "./errors-BF3TeRH2.js";
26
- import "./fs-safe-CUjO1ca2.js";
27
- import "./paths-BBm9fwuG.js";
26
+ import "./fs-safe-CTDvb1DF.js";
27
+ import "./paths-CT6jsi4E.js";
28
28
  import "./ssrf-BCYMnxkM.js";
29
- import "./image-ops-1OJMSAUX.js";
30
- import "./store-r1DJSDq-.js";
31
- import "./ports-BOmtxoTv.js";
29
+ import "./image-ops-DYbDWaIA.js";
30
+ import "./store-DvtcmOKj.js";
31
+ import "./ports-OZQlocB7.js";
32
32
  import "./trash-DcMh1i4B.js";
33
- import "./sessions-Cpgnq0pA.js";
34
- import "./dock-BhS32F6E.js";
35
- import "./plugins-DKDeQZF0.js";
36
- import "./accounts-DDuIpcln.js";
37
- import "./accounts-bK-Yqdwx.js";
38
- import "./accounts-DyJN4_vR.js";
39
- import "./bindings-DFaVVCsf.js";
33
+ import "./sessions-jTAGYjWl.js";
34
+ import "./dock-BYiRZSgZ.js";
35
+ import "./plugins-BAyxWQSz.js";
36
+ import "./accounts-Cd816n6l.js";
37
+ import "./accounts-CokRskCl.js";
38
+ import "./accounts-mN_EcgxC.js";
39
+ import "./bindings-ChzePa8q.js";
40
40
  import "./logging-w5jq5901.js";
41
41
  import "./paths-CyhzMxFA.js";
42
- import "./commands-BNLCWX6e.js";
43
- import "./client-jI1oE0_k.js";
44
- import "./call-DwpGquzW.js";
45
- import "./pairing-token-CX3NN_qj.js";
46
- import { i as readChannelAllowFromStore } from "./pairing-store-CK726Dzq.js";
42
+ import "./commands-CtocZ4Lg.js";
43
+ import "./client-Bj_vTpri.js";
44
+ import "./call-tmHtVCkn.js";
45
+ import "./pairing-token-AV-MMfVE.js";
46
+ import { i as readChannelAllowFromStore } from "./pairing-store-B8ktu-6j.js";
47
47
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
48
48
  import { t as formatHelpExamples } from "./help-format-B_-M23wP.js";
49
- import "./workspace-dirs-GpkFi6Kw.js";
50
- import "./pi-tools.policy-DRWb_Cax.js";
49
+ import "./workspace-dirs-DKu48umx.js";
50
+ import "./pi-tools.policy-BBxnqCay.js";
51
51
  import "./dangerous-tools-BvU3-DRl.js";
52
- import "./skill-scanner-hMtQbWPV.js";
53
- import { i as collectIncludePathsRecursive, n as createIcaclsResetCommand, r as formatIcaclsResetCommand, t as runSecurityAudit } from "./audit-DB9YkTVX.js";
54
- import "./dm-policy-shared-DlDAGtZL.js";
52
+ import "./skill-scanner-w3DJvw1Q.js";
53
+ import { i as collectIncludePathsRecursive, n as createIcaclsResetCommand, r as formatIcaclsResetCommand, t as runSecurityAudit } from "./audit-Djfdh06o.js";
54
+ import "./dm-policy-shared-epgkayyq.js";
55
55
  import path from "node:path";
56
- import fs from "node:fs/promises";
56
+ import fsPromises from "node:fs/promises";
57
57
 
58
58
  //#region src/security/fix.ts
59
59
  async function safeChmod(params) {
60
60
  try {
61
- const st = await fs.lstat(params.path);
61
+ const st = await fsPromises.lstat(params.path);
62
62
  if (st.isSymbolicLink()) return {
63
63
  kind: "chmod",
64
64
  path: params.path,
@@ -87,7 +87,7 @@ async function safeChmod(params) {
87
87
  ok: false,
88
88
  skipped: "already"
89
89
  };
90
- await fs.chmod(params.path, params.mode);
90
+ await fsPromises.chmod(params.path, params.mode);
91
91
  return {
92
92
  kind: "chmod",
93
93
  path: params.path,
@@ -117,7 +117,7 @@ async function safeAclReset(params) {
117
117
  env: params.env
118
118
  });
119
119
  try {
120
- const st = await fs.lstat(params.path);
120
+ const st = await fsPromises.lstat(params.path);
121
121
  if (st.isSymbolicLink()) return {
122
122
  kind: "icacls",
123
123
  path: params.path,
@@ -256,7 +256,7 @@ async function chmodCredentialsAndAgentState(params) {
256
256
  mode: 448,
257
257
  require: "dir"
258
258
  }));
259
- const credsEntries = await fs.readdir(credsDir, { withFileTypes: true }).catch(() => []);
259
+ const credsEntries = await fsPromises.readdir(credsDir, { withFileTypes: true }).catch(() => []);
260
260
  for (const entry of credsEntries) {
261
261
  if (!entry.isFile()) continue;
262
262
  if (!entry.name.endsWith(".json")) continue;
@@ -307,7 +307,7 @@ async function chmodCredentialsAndAgentState(params) {
307
307
  mode: 384,
308
308
  require: "file"
309
309
  }));
310
- const sessionEntries = await fs.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
310
+ const sessionEntries = await fsPromises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
311
311
  for (const entry of sessionEntries) {
312
312
  if (!entry.isFile()) continue;
313
313
  if (!entry.name.endsWith(".jsonl")) continue;