@symerian/symi 3.4.1 → 3.4.2

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 (182) hide show
  1. package/dist/{agent-BgGJEKk4.js → agent-BcHmIY_n.js} +17 -17
  2. package/dist/{agent-scope-DIjW66iO.js → agent-scope-CKTVXF_1.js} +18 -18
  3. package/dist/{agents.config-CuasVG0i.js → agents.config-D6lBCMyT.js} +1 -1
  4. package/dist/{audit-BRI7EaSZ.js → audit-CMPCYnHv.js} +20 -20
  5. package/dist/{auth-choice-Ar8WHnyN.js → auth-choice-s1SGAS0u.js} +8 -8
  6. package/dist/{auth-profiles-BFSVvFKy.js → auth-profiles-BDvJK1Bg.js} +9 -9
  7. package/dist/{auth-token-C8wKZLJM.js → auth-token-BKp_ClDP.js} +1 -1
  8. package/dist/{browser-cli-BdYqssco.js → browser-cli-DW3CxkSc.js} +9 -9
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +4 -4
  11. package/dist/bundled/session-memory/handler.js +4 -4
  12. package/dist/{call-CbF18cyd.js → call-BjHvYJx2.js} +9 -9
  13. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  14. package/dist/{channel-options-D2lzRM-e.js → channel-options-77nGDc70.js} +1 -1
  15. package/dist/{channels-cli-DFN6N0Vp.js → channels-cli-C048Z7h-.js} +54 -54
  16. package/dist/{chrome-D5UEEo4y.js → chrome-BQoO4LXq.js} +2 -2
  17. package/dist/{chrome-CbVmSQ7D.js → chrome-C0vnHDyY.js} +7 -7
  18. package/dist/{chrome-BWQSyLHT.js → chrome-droANDig.js} +7 -7
  19. package/dist/{cli-BI2hMJ3x.js → cli-CXAyZ9dx.js} +42 -42
  20. package/dist/{client-ZZqt0H0-.js → client-Bs2zB0rY.js} +1 -1
  21. package/dist/{command-registry-CwnRHggJ.js → command-registry-B9TplwzB.js} +4 -4
  22. package/dist/{commands-registry-BNCcZy2y.js → commands-registry-CLePPNDW.js} +1 -1
  23. package/dist/{completion-cli-DwN2HXNn.js → completion-cli-Dv8CNTMW.js} +2 -2
  24. package/dist/{completion-cli-Cyueakwc.js → completion-cli-ecfjoaIU.js} +12 -12
  25. package/dist/{config-MU0QT0xu.js → config-BEaq2Sb6.js} +2 -2
  26. package/dist/{config-cli-C2Nwn4ID.js → config-cli-CAwWFZwh.js} +4 -4
  27. package/dist/{config-guard-VJr2yVm_.js → config-guard-29sjAeg8.js} +6 -6
  28. package/dist/{config-validation-BkJh21Ko.js → config-validation-Bp2AdKjN.js} +1 -1
  29. package/dist/{configure-2zKlA3cu.js → configure-DvVtZB1V.js} +14 -14
  30. package/dist/{consolidate-DhJ5sq5p.js → consolidate-DeA11kIO.js} +6 -6
  31. package/dist/{control-service-D1aZqS0Q.js → control-service-DhlgNQGb.js} +4 -4
  32. package/dist/{control-ui-assets-DUhvOLUL.js → control-ui-assets-D22DSxhv.js} +1 -1
  33. package/dist/{cron-cli-Ch8MwxYs.js → cron-cli-Cr8hrEDQ.js} +7 -7
  34. package/dist/{daemon-cli-DbwmIQAj.js → daemon-cli-OZuuMobs.js} +11 -11
  35. package/dist/{daemon-runtime-DDwhgI7i.js → daemon-runtime-Dr_xKl0r.js} +10 -10
  36. package/dist/{deliver-VAsFQe0w.js → deliver-BwcK0QD6.js} +4 -4
  37. package/dist/{deliver-BX3IOm7k.js → deliver-ccf_boim.js} +2 -2
  38. package/dist/{deliver-BBoTRer2.js → deliver-vzAN9mRl.js} +4 -4
  39. package/dist/{deps-BCywDAi0.js → deps-B6QYsl_-.js} +1 -1
  40. package/dist/{devices-cli-ZiU2HGbP.js → devices-cli-DN3SH89Z.js} +6 -6
  41. package/dist/{diagnostics-DxdqTfpW.js → diagnostics-nLP2i_BY.js} +5 -5
  42. package/dist/{directory-cli-DJnKldBM.js → directory-cli-B72WzWuP.js} +3 -3
  43. package/dist/{dm-policy-shared-BzGFEhLb.js → dm-policy-shared-DiZ3lMtl.js} +1 -1
  44. package/dist/{dns-cli-LhrwMgGE.js → dns-cli-DPO4AuUq.js} +3 -3
  45. package/dist/{docs-cli-DjQ3SvBq.js → docs-cli-C2BEC5yU.js} +1 -1
  46. package/dist/{doctor-completion-DLMAxB2b.js → doctor-completion-Cvu8koMQ.js} +2 -2
  47. package/dist/{doctor-completion-B9khF9iy.js → doctor-completion-DwrIExJJ.js} +1 -1
  48. package/dist/{doctor-config-flow-j1iK-0XV.js → doctor-config-flow-Cu1ZuFHd.js} +9 -9
  49. package/dist/entry.js +1 -1
  50. package/dist/{exec-approvals-cli-DqWFmApk.js → exec-approvals-cli-BN5OFwrg.js} +13 -13
  51. package/dist/extensionAPI.js +4 -4
  52. package/dist/{fs-safe-B6nMaZqV.js → fs-safe-DjAKGGJ8.js} +6 -6
  53. package/dist/{gateway-cli-05LQa0LN.js → gateway-cli-C_wDspkm.js} +120 -120
  54. package/dist/{gateway-cli-CUiAKfCT.js → gateway-cli-uquFQTQW.js} +1 -1
  55. package/dist/{gateway-rpc-RZAJMB1i.js → gateway-rpc-fQLZhzRK.js} +1 -1
  56. package/dist/{health-DnOYGIFp.js → health-DUulgHFK.js} +4 -4
  57. package/dist/{hooks-cli-BERKc4aw.js → hooks-cli-6UBBpeAz.js} +56 -56
  58. package/dist/{image-ops-C-gIIp7Q.js → image-ops-c7_of0HT.js} +10 -10
  59. package/dist/index.js +49 -49
  60. package/dist/{inspect-BDzd6yBs.js → inspect-op0Ov-v4.js} +4 -4
  61. package/dist/{install-safe-path-CQXx3s9R.js → install-safe-path-B73BkVO3.js} +11 -11
  62. package/dist/{installs-DhSLZRT7.js → installs-BzgwvqqQ.js} +10 -10
  63. package/dist/{internal-CHnZdvRy.js → internal-C3o_xyzP.js} +9 -9
  64. package/dist/{lifecycle-core-B9_prcP5.js → lifecycle-core-BmGPBj_P.js} +5 -5
  65. package/dist/llm-slug-generator.js +4 -4
  66. package/dist/{local-roots-BnDnugq3.js → local-roots-CUKhHNCV.js} +1 -1
  67. package/dist/{logs-cli-BuaYoENt.js → logs-cli-BXBN6_Kf.js} +7 -7
  68. package/dist/{manager-BQJivzx9.js → manager-C_5p8DxF.js} +14 -14
  69. package/dist/{manager-GRHfrG3p.js → manager-DOfc0hW0.js} +1 -1
  70. package/dist/{manager-1b5V7lDX.js → manager-WHZtXzz0.js} +1 -1
  71. package/dist/{memory-ZiPonhHz.js → memory-BZPO-RoX.js} +5 -5
  72. package/dist/{memory-cli-B5TU8zxX.js → memory-cli-4vj-LpgO.js} +12 -12
  73. package/dist/{model-BRcKPW49.js → model-CbRy_3xW.js} +1 -1
  74. package/dist/{model-catalog-De1c8o1y.js → model-catalog-BrW9BL1p.js} +4 -4
  75. package/dist/{model-picker-CjVFmtQf.js → model-picker-UrQQVAuN.js} +3 -3
  76. package/dist/{models-cli-BzP7r0Pr.js → models-cli-BRnmApgY.js} +52 -52
  77. package/dist/{models-config-C-VjjDXg.js → models-config-Dh1tABIl.js} +7 -7
  78. package/dist/{node-cli-dAjmpFFQ.js → node-cli-DXCDRV3y.js} +27 -27
  79. package/dist/{node-service-DLCN3Pek.js → node-service-n6G8Ybbk.js} +1 -1
  80. package/dist/{nodes-cli-Bavn0Wq1.js → nodes-cli-Fyv-oG6A.js} +10 -10
  81. package/dist/{nodes-screen-JELuBMBi.js → nodes-screen-CT94yu_w.js} +4 -4
  82. package/dist/{npm-registry-spec-BXw_6vF6.js → npm-registry-spec-B8X06AqB.js} +9 -9
  83. package/dist/{onboard-DbjF9LIj.js → onboard-CEyd79t_.js} +13 -13
  84. package/dist/{onboard-Yx5pWXot.js → onboard-CLSFAKKt.js} +1 -1
  85. package/dist/{onboard-channels-D1ThqeIv.js → onboard-channels-DqhDDHZ3.js} +4 -4
  86. package/dist/{onboard-custom-Dmv0zr-6.js → onboard-custom-BRFhBogJ.js} +3 -3
  87. package/dist/{onboard-helpers-DpIB1xVU.js → onboard-helpers-wgkj6qF2.js} +8 -8
  88. package/dist/{onboard-hooks-DDANBk-9.js → onboard-hooks-CknstfLG.js} +1 -1
  89. package/dist/{onboard-remote-MlK-zjua.js → onboard-remote-B5rlIYUq.js} +1 -1
  90. package/dist/{onboard-skills-BFebcdsU.js → onboard-skills-_6kHqhHz.js} +4 -4
  91. package/dist/{onboarding-BIOnPknC.js → onboarding-CJuG6AyD.js} +1 -1
  92. package/dist/{onboarding-B4y_mt01.js → onboarding-CREA0oQK.js} +12 -12
  93. package/dist/{onboarding.finalize-DvuthtW0.js → onboarding.finalize-7iPylQyi.js} +4 -4
  94. package/dist/{onboarding.finalize-CdYyVsOB.js → onboarding.finalize-CkgL8Zde.js} +31 -31
  95. package/dist/{onboarding.gateway-config-DC9fM10t.js → onboarding.gateway-config-DtNG0As8.js} +8 -8
  96. package/dist/{openai-model-default-DYlS_J2T.js → openai-model-default-DeTAMJKz.js} +2 -2
  97. package/dist/{pairing-cli-D1zyMuRV.js → pairing-cli-BvP6MoPZ.js} +4 -4
  98. package/dist/{pairing-store-BGf29nPx.js → pairing-store-S9CXOhSG.js} +1 -1
  99. package/dist/{pairing-token-CURbSHdi.js → pairing-token-DorpwP8O.js} +7 -7
  100. package/dist/{paths-Dc6A9_vI.js → paths-DaQrPPet.js} +1 -1
  101. package/dist/{pi-auth-json-SHGGQzOL.js → pi-auth-json-CVwNh4rb.js} +5 -5
  102. package/dist/{pi-embedded-BvMMjrvj.js → pi-embedded-B7_uthwZ.js} +10 -10
  103. package/dist/{pi-embedded-helpers-D4cxQiPr.js → pi-embedded-helpers-DGW2untm.js} +6 -6
  104. package/dist/{pi-tools.policy-NmG0EGEY.js → pi-tools.policy-BcTgKDG6.js} +3 -3
  105. package/dist/{plugin-auto-enable-D2TNEv3x.js → plugin-auto-enable-BDPdHiLS.js} +1 -1
  106. package/dist/{plugin-registry-B0d7w7Tq.js → plugin-registry-bskbnEuW.js} +3 -3
  107. package/dist/plugin-sdk/index.js +6 -6
  108. package/dist/{plugins-cli-DNMBwSsv.js → plugins-cli-LQUO7D2v.js} +51 -51
  109. package/dist/{ports-DRHSHvqY.js → ports-ChuJYhEL.js} +1 -1
  110. package/dist/{ports-DqxP-bXz.js → ports-EAVAOFyK.js} +2 -2
  111. package/dist/{program-DKmohZYs.js → program-BgrmtnFn.js} +2 -2
  112. package/dist/{program-context-BHCqXp7K.js → program-context-C_uJXnZV.js} +38 -38
  113. package/dist/{prompt-select-styled-DIpkZ3Py.js → prompt-select-styled-B3nTSykf.js} +36 -35
  114. package/dist/{prompt-select-styled-CJ7vyifz.js → prompt-select-styled-CuGBQ9LO.js} +2 -1
  115. package/dist/{provider-auth-helpers-rT0mj3Rg.js → provider-auth-helpers-IsZNkaS0.js} +5 -5
  116. package/dist/{push-apns-KHQGzTcZ.js → push-apns-C7t2qAZ6.js} +4 -4
  117. package/dist/{pw-ai-HU-K9Kp6.js → pw-ai-Bc5uzn_J.js} +1 -1
  118. package/dist/{pw-ai-CNOE7SUx.js → pw-ai-Tm3pd-HP.js} +1 -1
  119. package/dist/{pw-ai-CyCnG_Kj.js → pw-ai-YJhl5L-z.js} +7 -7
  120. package/dist/{qmd-manager-CAQYVZT8.js → qmd-manager-CrRvB46v.js} +19 -19
  121. package/dist/{qr-cli-Cc3gulVb.js → qr-cli-D1U-qIkG.js} +3 -3
  122. package/dist/{register.agent-D3QRjMQA.js → register.agent-BblNQlzT.js} +64 -64
  123. package/dist/{register.configure-BlCCtcgW.js → register.configure-BJ7xtOUZ.js} +67 -67
  124. package/dist/{register.maintenance-C-U8Vjdk.js → register.maintenance-DLJpeuc4.js} +64 -64
  125. package/dist/{register.maintenance-BH0tQsKC.js → register.maintenance-w7sKxODf.js} +5 -5
  126. package/dist/{register.message-BJEu7jXo.js → register.message-CXEwBJ1O.js} +44 -44
  127. package/dist/{register.onboard-B_WCIG9n.js → register.onboard-B520Ixsd.js} +22 -22
  128. package/dist/{register.onboard-CcvZY9rS.js → register.onboard-DJmVC_6h.js} +2 -2
  129. package/dist/{register.setup-CXojM7PS.js → register.setup-BTse4F3a.js} +25 -25
  130. package/dist/{register.setup-CLFM22gp.js → register.setup-Br-aZ0qD.js} +2 -2
  131. package/dist/{register.status-health-sessions-DAraoWwd.js → register.status-health-sessions-Dbizirr2.js} +38 -38
  132. package/dist/{register.subclis-4IO5JLGL.js → register.subclis-CSJZQox4.js} +3 -3
  133. package/dist/{replies-t5bPemnD.js → replies-CbipVshj.js} +1 -1
  134. package/dist/{reply-prefix-BOdARKaY.js → reply-prefix-DZQBodKF.js} +1 -1
  135. package/dist/{resolve-route-CRWE36h5.js → resolve-route-BbUl3Hi7.js} +1 -1
  136. package/dist/{routes-CTOYLhQ1.js → routes-DiqMB1cp.js} +10 -10
  137. package/dist/{rpc-BLUOZg0H.js → rpc-BcPBUUXl.js} +1 -1
  138. package/dist/{run-main-dgWHEHSR.js → run-main-DISYU1dh.js} +3 -3
  139. package/dist/{sandbox-CpZmnHRC.js → sandbox-DPn-s_K5.js} +18 -18
  140. package/dist/{sandbox-cli-DtbM64tR.js → sandbox-cli-Bl5CMRjH.js} +13 -13
  141. package/dist/{security-cli-CnNnxSRu.js → security-cli-DuxEuSGr.js} +28 -28
  142. package/dist/{send-zbkImdk9.js → send-CYJucYob.js} +7 -7
  143. package/dist/{server-context-Dytgl6ZD.js → server-context-BUbuOgNz.js} +5 -5
  144. package/dist/{server-node-events-CY5_aNdi.js → server-node-events-7ToqdaU5.js} +45 -45
  145. package/dist/{service-AP9pR9R5.js → service-9ItKCWWS.js} +15 -15
  146. package/dist/{session-dirs-CFEdAT4Z.js → session-dirs-DONOhYc3.js} +16 -16
  147. package/dist/{session-utils-NOQiGgMD.js → session-utils-CqSXwGYa.js} +12 -12
  148. package/dist/{sessions-B7Of0Rqm.js → sessions-DorP6zY8.js} +11 -11
  149. package/dist/{shared-BmS-LOw8.js → shared-Z3KjnA8n.js} +3 -3
  150. package/dist/{shared-DmYHvtn2.js → shared-ot5_jkpP.js} +1 -1
  151. package/dist/{skill-commands-5QB5E8bv.js → skill-commands-RbglvrSW.js} +4 -4
  152. package/dist/{skill-scanner-YF2jR4RY.js → skill-scanner-CZK0TG9g.js} +5 -5
  153. package/dist/{skills-Bmjf5nFv.js → skills-DS1Vdylm.js} +4 -4
  154. package/dist/{skills-cli-CGPerRcN.js → skills-cli-BmIb-9--.js} +7 -7
  155. package/dist/{skills-install-DLUMpiCC.js → skills-install-DcX1Txvp.js} +3 -3
  156. package/dist/{skills-remote-CqwR3Zvp.js → skills-remote-BDSyRdyX.js} +3 -3
  157. package/dist/{skills-status-BNDqwHkP.js → skills-status-F7nlolZZ.js} +1 -1
  158. package/dist/{sqlite-DBEvS-Ne.js → sqlite-BUXBg2yu.js} +5 -5
  159. package/dist/{status-C6HwMPLx.js → status-CR4VgVZ0.js} +3 -3
  160. package/dist/{status-CJ4x2gHu.js → status-Hf__QNbH.js} +23 -23
  161. package/dist/{status.update-iWEAq6bt.js → status.update-DOj5ifHZ.js} +3 -3
  162. package/dist/{symi-root-DueRHNOE.js → symi-root-0MUhiNlM.js} +2 -2
  163. package/dist/{synthesis-Q30uczDF.js → synthesis-B4G0BnU5.js} +4 -4
  164. package/dist/{synthesis-DcGTICel.js → synthesis-C-IePZG6.js} +4 -4
  165. package/dist/{synthesis-DvSl5w4K.js → synthesis-CK0K7wFk.js} +42 -42
  166. package/dist/{system-cli-DKMfh71A.js → system-cli-BKp2K0sb.js} +7 -7
  167. package/dist/{systemd-9LEEqibe.js → systemd-8KKQdTO_.js} +5 -5
  168. package/dist/{systemd-hints-RoqMZFFM.js → systemd-hints-BefHB3bX.js} +6 -6
  169. package/dist/{systemd-linger-CWJhsBBY.js → systemd-linger-C0-G8yq4.js} +1 -1
  170. package/dist/{tui-DeVQrlt9.js → tui-BheB3rbE.js} +7 -7
  171. package/dist/{tui-cli-3EAQXwu7.js → tui-cli-BDcU-VgA.js} +19 -19
  172. package/dist/{unified-runner-CSn91cbr.js → unified-runner-BSdnT6eM.js} +10 -10
  173. package/dist/{unified-runner-CjFXehHb.js → unified-runner-D6p4N2vu.js} +99 -99
  174. package/dist/{update-CE8nDV7s.js → update-Djvyvehx.js} +3 -3
  175. package/dist/{update-check-CZxZhEXr.js → update-check-BdSIMYWq.js} +5 -5
  176. package/dist/{update-cli-BN4_mr6c.js → update-cli-BmQuYKTw.js} +5 -5
  177. package/dist/{update-cli-CUGTzKWo.js → update-cli-CwznFR5g.js} +74 -74
  178. package/dist/{webhooks-cli-CoIL1D4T.js → webhooks-cli-D_wAaLOU.js} +4 -4
  179. package/dist/{with-timeout-COajnkmj.js → with-timeout-CAUWEPmp.js} +1 -1
  180. package/dist/{workspace-dirs-D5OnUmvw.js → workspace-dirs-QmSWJptJ.js} +1 -1
  181. package/dist/{wsl-ZWGwnnKI.js → wsl-DO9usEVV.js} +2 -2
  182. package/package.json +1 -1
@@ -1,151 +1,151 @@
1
- import { $ as applyBrowserProxyPaths, $t as getAgentRunContext, A as normalizePollInput, B as normalizeOptionalText, Bt as countActiveRunsForSession, C as listTasksInWorkdir, Cn as classifyOutboundMessage, Ct as DEFAULT_INPUT_IMAGE_MIMES, D as resolveOutboundSessionRoute, Dt as extractImageContentFromSource, E as ensureOutboundSessionEntry, En as runWithModelFallback, Et as extractFileContentFromSource, F as normalizeCronJobCreate, G as hasLegacyDeliveryHints, Gt as resolveAgentTimeoutMs, H as normalizeRequiredName, Ht as listDescendantRunsForRequester, I as normalizeCronJobPatch, It as formatZonedTimestamp, K as stripLegacyDeliveryFields, Kt as runSubagentAnnounceFlow, L as inferLegacyName, Lt as isAbortTrigger, M as resetDirectoryCache, Mt as prepareAgentRun, Nt as BARE_SESSION_RESET_PROMPT, O as resolveOutboundTarget, Ot as normalizeMimeList, P as normalizeHttpWebhookUrl, Pt as normalizeGroupActivation, Q as isExternalHookSession, Qt as emitAgentEvent, R as normalizeOptionalAgentId, Rt as stopSubagentsForRequester, S as createSymiTools, Sn as CommandLane, St as DEFAULT_INPUT_IMAGE_MAX_BYTES, Tt as DEFAULT_INPUT_TIMEOUT_MS, U as migrateLegacyCronPayload, Ut as listSubagentRunsForRequester, V as normalizePayloadToSystemText, Vt as initSubagentRegistry, W as buildDeliveryFromLegacyPayload, X as detectSuspiciousPatterns, Xt as clearSessionQueues, Y as buildSafeExternalPrompt, Z as getHookType, Zt as clearAgentRunContext, _n as getActiveTaskCount, a as getPluginToolMeta, an as waitForEmbeddedPiRunEnd, at as markGatewaySigusr1RestartHandled, b as buildAgentTurnParams, bn as setCommandLaneConcurrency, bt as applyVerboseOverride, c as handleSlackHttpRequest, cn as ToolInputError, ct as setPreRestartDeferralCheck, d as buildHistoryContextFromEntries, dn as resolveUserTimeFormat, en as onAgentEvent, et as persistBrowserProxyFiles, f as getChannelActivity, fn as resolveUserTimezone, g as buildGlassUiProfile, h as getTotalPendingReplies, in as getActiveEmbeddedRunCount, it as isGatewaySigusr1RestartExternallyAllowed, k as resolveSessionDeliveryTarget, kt as resolveInputFileLimits, l as readJsonBodyWithLimit, m as createReplyDispatcher, mt as resolveSendPolicy, n as applyToolPolicyPipeline, nt as deferGatewayRestartUntilIdle, ot as scheduleGatewaySigusr1Restart, pt as normalizeSendPolicy, qt as readLatestAssistantReply, r as buildDefaultToolPolicyPipelineSteps, rn as abortEmbeddedPiRun, rt as emitGatewayRestart, s as loadSymiPlugins, sn as registerUnhandledRejectionHandler, st as setGatewaySigusr1RestartPolicy, t as runAgentTurn, tn as registerAgentRunContext, tt as consumeGatewaySigusr1RestartAuthorization, u as requestBodyErrorToText, un as formatUserTime, vn as getTotalQueueSize, w as resolveAnnounceTargetFromKey, wn as resolveModelProfile, wt as DEFAULT_INPUT_MAX_REDIRECTS, x as prepareReplyTurn, xn as waitForActiveTasks, xt as parseVerboseOverride, y as runUnifiedTurn, yn as resetAllLanes, yt as applyModelOverrideToSessionEntry, z as normalizeOptionalSessionKey, zt as countActiveDescendantRuns } from "./unified-runner-CjFXehHb.js";
1
+ import { $ as applyBrowserProxyPaths, $t as getAgentRunContext, A as normalizePollInput, B as normalizeOptionalText, Bt as countActiveRunsForSession, C as listTasksInWorkdir, Cn as classifyOutboundMessage, Ct as DEFAULT_INPUT_IMAGE_MIMES, D as resolveOutboundSessionRoute, Dt as extractImageContentFromSource, E as ensureOutboundSessionEntry, En as runWithModelFallback, Et as extractFileContentFromSource, F as normalizeCronJobCreate, G as hasLegacyDeliveryHints, Gt as resolveAgentTimeoutMs, H as normalizeRequiredName, Ht as listDescendantRunsForRequester, I as normalizeCronJobPatch, It as formatZonedTimestamp, K as stripLegacyDeliveryFields, Kt as runSubagentAnnounceFlow, L as inferLegacyName, Lt as isAbortTrigger, M as resetDirectoryCache, Mt as prepareAgentRun, Nt as BARE_SESSION_RESET_PROMPT, O as resolveOutboundTarget, Ot as normalizeMimeList, P as normalizeHttpWebhookUrl, Pt as normalizeGroupActivation, Q as isExternalHookSession, Qt as emitAgentEvent, R as normalizeOptionalAgentId, Rt as stopSubagentsForRequester, S as createSymiTools, Sn as CommandLane, St as DEFAULT_INPUT_IMAGE_MAX_BYTES, Tt as DEFAULT_INPUT_TIMEOUT_MS, U as migrateLegacyCronPayload, Ut as listSubagentRunsForRequester, V as normalizePayloadToSystemText, Vt as initSubagentRegistry, W as buildDeliveryFromLegacyPayload, X as detectSuspiciousPatterns, Xt as clearSessionQueues, Y as buildSafeExternalPrompt, Z as getHookType, Zt as clearAgentRunContext, _n as getActiveTaskCount, a as getPluginToolMeta, an as waitForEmbeddedPiRunEnd, at as markGatewaySigusr1RestartHandled, b as buildAgentTurnParams, bn as setCommandLaneConcurrency, bt as applyVerboseOverride, c as handleSlackHttpRequest, cn as ToolInputError, ct as setPreRestartDeferralCheck, d as buildHistoryContextFromEntries, dn as resolveUserTimeFormat, en as onAgentEvent, et as persistBrowserProxyFiles, f as getChannelActivity, fn as resolveUserTimezone, g as buildGlassUiProfile, h as getTotalPendingReplies, in as getActiveEmbeddedRunCount, it as isGatewaySigusr1RestartExternallyAllowed, k as resolveSessionDeliveryTarget, kt as resolveInputFileLimits, l as readJsonBodyWithLimit, m as createReplyDispatcher, mt as resolveSendPolicy, n as applyToolPolicyPipeline, nt as deferGatewayRestartUntilIdle, ot as scheduleGatewaySigusr1Restart, pt as normalizeSendPolicy, qt as readLatestAssistantReply, r as buildDefaultToolPolicyPipelineSteps, rn as abortEmbeddedPiRun, rt as emitGatewayRestart, s as loadSymiPlugins, sn as registerUnhandledRejectionHandler, st as setGatewaySigusr1RestartPolicy, t as runAgentTurn, tn as registerAgentRunContext, tt as consumeGatewaySigusr1RestartAuthorization, u as requestBodyErrorToText, un as formatUserTime, vn as getTotalQueueSize, w as resolveAnnounceTargetFromKey, wn as resolveModelProfile, wt as DEFAULT_INPUT_MAX_REDIRECTS, x as prepareReplyTurn, xn as waitForActiveTasks, xt as parseVerboseOverride, y as runUnifiedTurn, yn as resetAllLanes, yt as applyModelOverrideToSessionEntry, z as normalizeOptionalSessionKey, zt as countActiveDescendantRuns } from "./unified-runner-D6p4N2vu.js";
2
2
  import { A as isRich, E as setVerbose, H as createInternalHookEvent, M as getChildLogger, N as getLogger, P as getResolvedLoggerSettings, U as registerInternalHook, V as clearInternalHooks, W as triggerInternalHook, d as getActivePluginRegistry, j as theme, k as colorize, m as createEmptyPluginRegistry, r as DEFAULT_CHAT_CHANNEL } from "./registry-DKJLAPDB.js";
3
3
  import { _ as expandHomePrefix, g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-BSzKwaxE.js";
4
4
  import { S as isPlainObject, h as resolveUserPath, n as clamp, s as ensureDir, t as CONFIG_DIR, v as shortenHomePath, x as truncateUtf16Safe } from "./utils-BU8jVQFM.js";
5
5
  import { a as setConsoleSubsystemFilter, f as defaultRuntime, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
6
- import { Et as normalizeSecretInput, G as resolveSubagentConfiguredModelSelection, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, N as getModelRefStatus, O as isPidAlive, P as isCliProvider, U as resolveHooksGmailModel, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, q as resolveThinkingDefault, z as resolveAllowedModelRef } from "./auth-profiles-BFSVvFKy.js";
6
+ import { Et as normalizeSecretInput, G as resolveSubagentConfiguredModelSelection, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, N as getModelRefStatus, O as isPidAlive, P as isCliProvider, U as resolveHooksGmailModel, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, q as resolveThinkingDefault, z as resolveAllowedModelRef } from "./auth-profiles-BDvJK1Bg.js";
7
7
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
8
8
  import { a as classifySessionKeyShape, b as isSubagentSessionKey, c as resolveAgentIdFromSessionKey, d as toAgentRequestSessionKey, f as toAgentStoreSessionKey, o as normalizeAgentId, p as DEFAULT_ACCOUNT_ID, r as buildAgentMainSessionKey, s as normalizeMainKey, t as DEFAULT_AGENT_ID, v as isCronRunSessionKey, x as parseAgentSessionKey } from "./session-key-B_ZVH1kE.js";
9
- import { r as matchesSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-DueRHNOE.js";
9
+ import { r as matchesSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-0MUhiNlM.js";
10
10
  import { i as logDebug, n as runExec, s as logWarn, t as runCommandWithTimeout } from "./exec-DKyLtSjm.js";
11
- import { C as ensureAgentWorkspace, D as resolveDefaultAgentWorkspaceDir, O as resolveWorkspaceTemplateDir, S as DEFAULT_USER_FILENAME, T as isWorkspaceOnboardingCompleted, _ as DEFAULT_MEMORY_ALT_FILENAME, a as resolveAgentModelFallbacksOverride, b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, p as DEFAULT_AGENTS_FILENAME, r as resolveAgentConfig, s as resolveAgentSkillsFilter, t as listAgentEntries, v as DEFAULT_MEMORY_FILENAME, x as DEFAULT_TOOLS_FILENAME, y as DEFAULT_SYMICORE_FILENAME } from "./agent-scope-DIjW66iO.js";
11
+ import { C as ensureAgentWorkspace, D as resolveDefaultAgentWorkspaceDir, O as resolveWorkspaceTemplateDir, S as DEFAULT_USER_FILENAME, T as isWorkspaceOnboardingCompleted, _ as DEFAULT_MEMORY_ALT_FILENAME, a as resolveAgentModelFallbacksOverride, b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, p as DEFAULT_AGENTS_FILENAME, r as resolveAgentConfig, s as resolveAgentSkillsFilter, t as listAgentEntries, v as DEFAULT_MEMORY_FILENAME, x as DEFAULT_TOOLS_FILENAME, y as DEFAULT_SYMICORE_FILENAME } from "./agent-scope-CKTVXF_1.js";
12
12
  import "./github-copilot-token-BTNK6Tcd.js";
13
13
  import "./boolean-Wzu0-e0P.js";
14
14
  import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-B97Ms861.js";
15
- import "./pi-embedded-helpers-D4cxQiPr.js";
16
- import { M as resolveSubagentMaxConcurrent, N as VERSION, P as resolveRuntimeServiceVersion, T as applyLegacyMigrations, a as parseConfigJson5, c as resolveConfigSnapshotHash, d as SymiSchema, f as parseDurationMs, i as loadConfig, j as resolveAgentMaxConcurrent, l as writeConfigFile, m as sensitive, n as migrateLegacyConfig, o as readConfigFileSnapshot, r as createConfigIO, s as readConfigFileSnapshotForWrite, u as validateConfigObjectWithPlugins, w as applyMergePatch } from "./config-MU0QT0xu.js";
15
+ import "./pi-embedded-helpers-DGW2untm.js";
16
+ import { M as resolveSubagentMaxConcurrent, N as VERSION, P as resolveRuntimeServiceVersion, T as applyLegacyMigrations, a as parseConfigJson5, c as resolveConfigSnapshotHash, d as SymiSchema, f as parseDurationMs, i as loadConfig, j as resolveAgentMaxConcurrent, l as writeConfigFile, m as sensitive, n as migrateLegacyConfig, o as readConfigFileSnapshot, r as createConfigIO, s as readConfigFileSnapshotForWrite, u as validateConfigObjectWithPlugins, w as applyMergePatch } from "./config-BEaq2Sb6.js";
17
17
  import { l as isTestDefaultMemorySlotDisabled } from "./manifest-registry-D_LsBSyt.js";
18
18
  import { a as isPathInsideWithRealpath } from "./legacy-names-Catogrri.js";
19
- import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-CpZmnHRC.js";
20
- import "./chrome-D5UEEo4y.js";
19
+ import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-DPn-s_K5.js";
20
+ import "./chrome-BQoO4LXq.js";
21
21
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-D7dC-5EX.js";
22
22
  import { t as safeEqualSecret } from "./secret-equal-D1BCVB1D.js";
23
23
  import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-LYvn9g3I.js";
24
24
  import { a as isTrustedProxyAddress, c as pickPrimaryLanIPv4, d as resolveGatewayListenHosts, f as resolveHostName, l as resolveClientIp, n as isLoopbackAddress, o as isValidIPv4, r as isLoopbackHost, s as normalizeHostHeader, t as rawDataToString, u as resolveGatewayBindHost } from "./ws-CahTJvD6.js";
25
25
  import { a as resolveGatewayAuth, c as createAuthRateLimiter, i as isLocalDirectRequest, n as authorizeHttpGatewayConnect, o as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, r as authorizeWsControlUiGatewayConnect, s as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, t as assertGatewayAuthConfigured } from "./auth-BbwD4lRX.js";
26
- import { g as mergeGatewayTailscaleConfig, h as ensureGatewayStartupAuth } from "./server-context-Dytgl6ZD.js";
26
+ import { g as mergeGatewayTailscaleConfig, h as ensureGatewayStartupAuth } from "./server-context-BUbuOgNz.js";
27
27
  import { d as hasBinary } from "./frontmatter-CHu3sfCM.js";
28
- import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-Bmjf5nFv.js";
29
- import "./routes-CTOYLhQ1.js";
28
+ import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-DS1Vdylm.js";
29
+ import "./routes-DiqMB1cp.js";
30
30
  import "./redact-CSc_2Nka.js";
31
31
  import { a as isErrno, n as formatErrorMessage } from "./errors-Z-WkF18Q.js";
32
- import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-B6nMaZqV.js";
33
- import "./paths-Dc6A9_vI.js";
32
+ import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-DjAKGGJ8.js";
33
+ import "./paths-DaQrPPet.js";
34
34
  import { t as SsrFBlockedError } from "./ssrf-CC9kEPCT.js";
35
- import { c as detectMime } from "./image-ops-C-gIIp7Q.js";
36
- import { a as inspectPortUsage, r as ensurePortAvailable, s as formatPortDiagnostics } from "./ports-DqxP-bXz.js";
35
+ import { c as detectMime } from "./image-ops-c7_of0HT.js";
36
+ import { a as inspectPortUsage, r as ensurePortAvailable, s as formatPortDiagnostics } from "./ports-EAVAOFyK.js";
37
37
  import { t as movePathToTrash } from "./trash-BjVrPcAx.js";
38
- import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, G as snapshotSessionOrigin, H as resolveMainSessionKey, M as evaluateSessionFreshness, O as stripEnvelopeFromMessages, P as resolveSessionResetPolicy, S as archiveSessionTranscripts, T as readSessionPreviewItemsFromTranscript, U as resolveMainSessionKeyFromConfig, V as resolveExplicitAgentSessionKey, Y as cleanStaleLockFiles, _ as mergeDeliveryContext, d as updateSessionStore, h as deliveryContextFromSession, n as parseSessionThreadInfo, o as loadSessionStore, t as extractDeliveryInfo, w as readSessionMessages, x as archiveFileOnDisk, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-B7Of0Rqm.js";
38
+ import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, G as snapshotSessionOrigin, H as resolveMainSessionKey, M as evaluateSessionFreshness, O as stripEnvelopeFromMessages, P as resolveSessionResetPolicy, S as archiveSessionTranscripts, T as readSessionPreviewItemsFromTranscript, U as resolveMainSessionKeyFromConfig, V as resolveExplicitAgentSessionKey, Y as cleanStaleLockFiles, _ as mergeDeliveryContext, d as updateSessionStore, h as deliveryContextFromSession, n as parseSessionThreadInfo, o as loadSessionStore, t as extractDeliveryInfo, w as readSessionMessages, x as archiveFileOnDisk, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-DorP6zY8.js";
39
39
  import "./dock-CnGWTXL4.js";
40
40
  import { _ as normalizeGatewayClientMode, f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, p as GATEWAY_CLIENT_IDS, r as isGatewayCliClient, s as isWebchatClient, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-C_V8IAYx.js";
41
41
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DuuHorqi.js";
42
- import "./send-zbkImdk9.js";
42
+ import "./send-CYJucYob.js";
43
43
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-CJcw9nbZ.js";
44
44
  import { i as normalizeInputProvenance } from "./input-provenance-DsLesw6T.js";
45
45
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-177f26eg.js";
46
46
  import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-BKbemuIk.js";
47
- import { _ as runGlobalGatewayStopSafely, h as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-BX3IOm7k.js";
47
+ import { _ as runGlobalGatewayStopSafely, h as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-ccf_boim.js";
48
48
  import { c as startDiagnosticHeartbeat, l as stopDiagnosticHeartbeat, u as isDiagnosticsEnabled } from "./diagnostic-CwF3MnBL.js";
49
49
  import "./diagnostic-session-state-I4x9gPY4.js";
50
- import "./models-config-C-VjjDXg.js";
51
- import "./pi-auth-json-SHGGQzOL.js";
50
+ import "./models-config-Dh1tABIl.js";
51
+ import "./pi-auth-json-CVwNh4rb.js";
52
52
  import { c as hasNonzeroUsage, i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, s as deriveSessionTotalTokens, t as discoverAllSessions } from "./session-cost-usage-DYcv40ss.js";
53
- import { C as enqueueSystemEvent, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, d as formatDoctorNonInteractiveHint, f as formatRestartSentinelMessage, g as writeRestartSentinel, i as listSessionsFromStore, l as resolveSessionModelRef, m as summarizeRestartSentinel, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, u as consumeRestartSentinel, w as isSystemEventContextChanged, x as lookupContextTokens } from "./session-utils-NOQiGgMD.js";
54
- import { n as createBrowserRouteDispatcher, r as getMachineDisplayName } from "./with-timeout-COajnkmj.js";
55
- import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-BOdARKaY.js";
56
- import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-ZiPonhHz.js";
57
- import { c as resolveMemorySearchConfig } from "./manager-BQJivzx9.js";
58
- import "./sqlite-DBEvS-Ne.js";
53
+ import { C as enqueueSystemEvent, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, d as formatDoctorNonInteractiveHint, f as formatRestartSentinelMessage, g as writeRestartSentinel, i as listSessionsFromStore, l as resolveSessionModelRef, m as summarizeRestartSentinel, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, u as consumeRestartSentinel, w as isSystemEventContextChanged, x as lookupContextTokens } from "./session-utils-CqSXwGYa.js";
54
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName } from "./with-timeout-CAUWEPmp.js";
55
+ import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-DZQBodKF.js";
56
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-BZPO-RoX.js";
57
+ import { c as resolveMemorySearchConfig } from "./manager-C_5p8DxF.js";
58
+ import "./sqlite-BUXBg2yu.js";
59
59
  import "./chunk-DQGU0F8t.js";
60
60
  import "./markdown-tables-GTLvbzuR.js";
61
61
  import { t as fetchWithSsrFGuard } from "./fetch-guard-DG6T0ZdL.js";
62
- import "./local-roots-BnDnugq3.js";
62
+ import "./local-roots-CUKhHNCV.js";
63
63
  import { n as isRestartEnabled } from "./commands-B3UrgxIz.js";
64
- import "./commands-registry-BNCcZy2y.js";
65
- import { $ as validateNodePairRejectParams, $t as roleScopesAllow, A as validateCronStatusParams, At as validateWebLoginWaitParams, B as validateExecApprovalsGetParams, Bt as buildDeviceAuthPayload, C as validateConfigSetParams, Ct as validateSkillsUpdateParams, D as validateCronRemoveParams, Dt as validateUpdateRunParams, E as validateCronListParams, Et as validateTasksListParams, F as validateDevicePairRemoveParams, Ft as PROTOCOL_VERSION, G as validateModelsListParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as ensureDeviceToken, I as validateDeviceTokenRevokeParams, It as ErrorCodes, J as validateNodeInvokeParams, Jt as revokeDeviceToken, K as validateNodeDescribeParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as errorShape, M as validateDevicePairApproveParams, Mt as validateWizardNextParams, N as validateDevicePairListParams, Nt as validateWizardStartParams, O as validateCronRunParams, Ot as validateWakeParams, P as validateDevicePairRejectParams, Pt as validateWizardStatusParams, Q as validateNodePairListParams, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, S as validateConfigSchemaParams, St as validateSkillsStatusParams, T as validateCronAddParams, Tt as validateTalkModeParams, U as validateExecApprovalsSetParams, Ut as getPairedDevice, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeListParams, Xt as summarizeDeviceTokens, Y as validateNodeInvokeResultParams, Yt as rotateDeviceToken, Z as validateNodePairApproveParams, Zt as updatePairedDeviceMetadata, _ as validateChatInjectParams, _t as validateSessionsRestoreParams, a as validateAgentWaitParams, at as validateRequestFrame, b as validateConfigGetParams, bt as validateSkillsBinsParams, c as validateAgentsFilesGetParams, ct as validateSessionsCompactParams, d as validateAgentsListParams, dt as validateSessionsFavoriteFileParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsListParams, g as validateChatHistoryParams, gt as validateSessionsResolveParams, h as validateChatAbortParams, ht as validateSessionsResetParams, i as validateAgentParams, in as verifyDeviceSignature, it as validatePushTestParams, j as validateCronUpdateParams, jt as validateWizardCancelParams, k as validateCronRunsParams, kt as validateWebLoginStartParams, l as validateAgentsFilesListParams, lt as validateSessionsDeleteFileParams, m as validateChannelsStatusParams, mt as validateSessionsPreviewParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsPatchParams, q as validateNodeEventParams, qt as requestDevicePairing, r as validateAgentIdentityParams, rn as normalizeDevicePublicKeyBase64Url, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsAdoptFileParams, tn as deriveDeviceIdFromPublicKey, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSessionsSearchParams, w as validateConnectParams, wt as validateTalkConfigParams, x as validateConfigPatchParams, xt as validateSkillsInstallParams, y as validateConfigApplyParams, yt as validateSessionsUsageParams, z as validateExecApprovalResolveParams, zt as parseSessionLabel } from "./client-ZZqt0H0-.js";
66
- import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-CbF18cyd.js";
67
- import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-CURbSHdi.js";
64
+ import "./commands-registry-CLePPNDW.js";
65
+ import { $ as validateNodePairRejectParams, $t as roleScopesAllow, A as validateCronStatusParams, At as validateWebLoginWaitParams, B as validateExecApprovalsGetParams, Bt as buildDeviceAuthPayload, C as validateConfigSetParams, Ct as validateSkillsUpdateParams, D as validateCronRemoveParams, Dt as validateUpdateRunParams, E as validateCronListParams, Et as validateTasksListParams, F as validateDevicePairRemoveParams, Ft as PROTOCOL_VERSION, G as validateModelsListParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as ensureDeviceToken, I as validateDeviceTokenRevokeParams, It as ErrorCodes, J as validateNodeInvokeParams, Jt as revokeDeviceToken, K as validateNodeDescribeParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as errorShape, M as validateDevicePairApproveParams, Mt as validateWizardNextParams, N as validateDevicePairListParams, Nt as validateWizardStartParams, O as validateCronRunParams, Ot as validateWakeParams, P as validateDevicePairRejectParams, Pt as validateWizardStatusParams, Q as validateNodePairListParams, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, S as validateConfigSchemaParams, St as validateSkillsStatusParams, T as validateCronAddParams, Tt as validateTalkModeParams, U as validateExecApprovalsSetParams, Ut as getPairedDevice, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeListParams, Xt as summarizeDeviceTokens, Y as validateNodeInvokeResultParams, Yt as rotateDeviceToken, Z as validateNodePairApproveParams, Zt as updatePairedDeviceMetadata, _ as validateChatInjectParams, _t as validateSessionsRestoreParams, a as validateAgentWaitParams, at as validateRequestFrame, b as validateConfigGetParams, bt as validateSkillsBinsParams, c as validateAgentsFilesGetParams, ct as validateSessionsCompactParams, d as validateAgentsListParams, dt as validateSessionsFavoriteFileParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsListParams, g as validateChatHistoryParams, gt as validateSessionsResolveParams, h as validateChatAbortParams, ht as validateSessionsResetParams, i as validateAgentParams, in as verifyDeviceSignature, it as validatePushTestParams, j as validateCronUpdateParams, jt as validateWizardCancelParams, k as validateCronRunsParams, kt as validateWebLoginStartParams, l as validateAgentsFilesListParams, lt as validateSessionsDeleteFileParams, m as validateChannelsStatusParams, mt as validateSessionsPreviewParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsPatchParams, q as validateNodeEventParams, qt as requestDevicePairing, r as validateAgentIdentityParams, rn as normalizeDevicePublicKeyBase64Url, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsAdoptFileParams, tn as deriveDeviceIdFromPublicKey, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSessionsSearchParams, w as validateConnectParams, wt as validateTalkConfigParams, x as validateConfigPatchParams, xt as validateSkillsInstallParams, y as validateConfigApplyParams, yt as validateSessionsUsageParams, z as validateExecApprovalResolveParams, zt as parseSessionLabel } from "./client-Bs2zB0rY.js";
66
+ import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-BjHvYJx2.js";
67
+ import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-DorpwP8O.js";
68
68
  import "./tool-display-Dr6VaTg5.js";
69
- import { _ as registerSkillsChangeListener, a as refreshRemoteNodeBins, c as approveNodePairing, d as renamePairedNode, f as requestNodePairing, g as getSkillsSnapshotVersion, i as refreshRemoteBinsForConnectedNodes, l as listNodePairing, m as verifyNodeToken, n as primeRemoteSkillsCache, o as removeRemoteNodeInfo, p as updatePairedNodeMetadata, r as recordRemoteNodeInfo, s as setSkillsRemoteRegistry, t as getRemoteSkillEligibility, u as rejectNodePairing } from "./skills-remote-CqwR3Zvp.js";
70
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-D5OnUmvw.js";
69
+ import { _ as registerSkillsChangeListener, a as refreshRemoteNodeBins, c as approveNodePairing, d as renamePairedNode, f as requestNodePairing, g as getSkillsSnapshotVersion, i as refreshRemoteBinsForConnectedNodes, l as listNodePairing, m as verifyNodeToken, n as primeRemoteSkillsCache, o as removeRemoteNodeInfo, p as updatePairedNodeMetadata, r as recordRemoteNodeInfo, s as setSkillsRemoteRegistry, t as getRemoteSkillEligibility, u as rejectNodePairing } from "./skills-remote-BDSyRdyX.js";
70
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-QmSWJptJ.js";
71
71
  import "./pi-model-discovery-DdkUSfiI.js";
72
- import { n as loadModelCatalog } from "./model-catalog-De1c8o1y.js";
73
- import "./skill-commands-5QB5E8bv.js";
74
- import "./pairing-store-BGf29nPx.js";
72
+ import { n as loadModelCatalog } from "./model-catalog-BrW9BL1p.js";
73
+ import "./skill-commands-RbglvrSW.js";
74
+ import "./pairing-store-S9CXOhSG.js";
75
75
  import { a as mergeExecApprovalsSocketDefaults, c as readExecApprovalsSnapshot, p as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals, t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-CZOc8M5w.js";
76
- import "./nodes-screen-JELuBMBi.js";
76
+ import "./nodes-screen-CT94yu_w.js";
77
77
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-Ca9K30TH.js";
78
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-D1aZqS0Q.js";
78
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-DhlgNQGb.js";
79
79
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BhvnarfO.js";
80
80
  import { n as resolveMessageChannelSelection } from "./channel-selection-BvIcXQLj.js";
81
81
  import "./delivery-queue-DDs84baU.js";
82
82
  import { t as buildChannelAccountBindings } from "./bindings-9LSA3Jr1.js";
83
- import "./resolve-route-CRWE36h5.js";
83
+ import "./resolve-route-BbUl3Hi7.js";
84
84
  import { t as formatDocsLink } from "./links-CSaUKNKm.js";
85
85
  import { n as runCommandWithRuntime } from "./cli-utils-CX1oQ81G.js";
86
86
  import { t as formatHelpExamples } from "./help-format-BI_G2p1e.js";
87
87
  import { n as withProgress } from "./progress-CyPyGCDn.js";
88
- import "./memory-cli-B5TU8zxX.js";
88
+ import "./memory-cli-4vj-LpgO.js";
89
89
  import "./logging-B5YNzZB9.js";
90
- import "./replies-t5bPemnD.js";
91
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-NmG0EGEY.js";
92
- import "./model-BRcKPW49.js";
93
- import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-BCywDAi0.js";
90
+ import "./replies-CbipVshj.js";
91
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-BcTgKDG6.js";
92
+ import "./model-CbRy_3xW.js";
93
+ import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-B6QYsl_-.js";
94
94
  import { t as ensureSymiCliOnPath } from "./path-env-DuQralyy.js";
95
95
  import "./runtime-guard-BZ3_1QqS.js";
96
- import { t as forceFreePortAndWait } from "./ports-DRHSHvqY.js";
96
+ import { t as forceFreePortAndWait } from "./ports-ChuJYhEL.js";
97
97
  import { t as buildChannelUiCatalog } from "./catalog-CSgSg5Gp.js";
98
- import { t as buildWorkspaceSkillStatus } from "./skills-status-BNDqwHkP.js";
98
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-F7nlolZZ.js";
99
99
  import { n as inheritOptionFromParent } from "./command-options-ChiIn6Na.js";
100
100
  import "./prompt-style-Cad0BDRS.js";
101
101
  import { t as WizardCancelledError } from "./prompts-CPtDKw-j.js";
102
102
  import { t as resolveChannelDefaultAccountId } from "./helpers-BBypnAYf.js";
103
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-D2TNEv3x.js";
104
- import "./install-safe-path-CQXx3s9R.js";
105
- import "./skill-scanner-YF2jR4RY.js";
103
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BDPdHiLS.js";
104
+ import "./install-safe-path-B73BkVO3.js";
105
+ import "./skill-scanner-CZK0TG9g.js";
106
106
  import { t as buildChannelAccountSnapshot } from "./status-DvTRhxOu.js";
107
107
  import "./channels-status-issues-DC8vgOMo.js";
108
- import "./daemon-runtime-DDwhgI7i.js";
109
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-DpIB1xVU.js";
110
- import "./systemd-9LEEqibe.js";
111
- import "./service-AP9pR9R5.js";
112
- import "./lifecycle-core-B9_prcP5.js";
113
- import "./systemd-hints-RoqMZFFM.js";
108
+ import "./daemon-runtime-Dr_xKl0r.js";
109
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-wgkj6qF2.js";
110
+ import "./systemd-8KKQdTO_.js";
111
+ import "./service-9ItKCWWS.js";
112
+ import "./lifecycle-core-BmGPBj_P.js";
113
+ import "./systemd-hints-BefHB3bX.js";
114
114
  import { t as parsePort$1 } from "./parse-port-CykvIgQu.js";
115
- import { n as addGatewayServiceCommands } from "./daemon-cli-DbwmIQAj.js";
116
- import "./diagnostics-DxdqTfpW.js";
115
+ import { n as addGatewayServiceCommands } from "./daemon-cli-OZuuMobs.js";
116
+ import "./diagnostics-nLP2i_BY.js";
117
117
  import "./table-DkAQzCOR.js";
118
118
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-C5NqCQ3L.js";
119
- import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-DmYHvtn2.js";
120
- import { c as resolveNodeCommandAllowlist, l as probeGateway, n as DEFAULT_GATEWAY_HTTP_TOOL_DENY, s as isNodeCommandAllowed } from "./audit-BRI7EaSZ.js";
119
+ import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-ot5_jkpP.js";
120
+ import { c as resolveNodeCommandAllowlist, l as probeGateway, n as DEFAULT_GATEWAY_HTTP_TOOL_DENY, s as isNodeCommandAllowed } from "./audit-CMPCYnHv.js";
121
121
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-CU1mz7AC.js";
122
- import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-CJ4x2gHu.js";
123
- import { i as styleHealthChannelLine, n as getHealthSnapshot, t as formatHealthChannelLines } from "./health-DnOYGIFp.js";
124
- import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DUhvOLUL.js";
125
- import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-CZxZhEXr.js";
126
- import { t as runOnboardingWizard } from "./onboarding-B4y_mt01.js";
127
- import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-KHQGzTcZ.js";
122
+ import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-Hf__QNbH.js";
123
+ import { i as styleHealthChannelLine, n as getHealthSnapshot, t as formatHealthChannelLines } from "./health-DUulgHFK.js";
124
+ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-D22DSxhv.js";
125
+ import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-BdSIMYWq.js";
126
+ import { t as runOnboardingWizard } from "./onboarding-CREA0oQK.js";
127
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-C7t2qAZ6.js";
128
128
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-DO0-mXYp.js";
129
- import { a as getCliSessionId, i as resolveAgentOutboundTarget, o as setCliSessionId, r as resolveAgentDeliveryPlan, s as runCliAgent, t as agentCommand } from "./agent-BgGJEKk4.js";
129
+ import { a as getCliSessionId, i as resolveAgentOutboundTarget, o as setCliSessionId, r as resolveAgentDeliveryPlan, s as runCliAgent, t as agentCommand } from "./agent-BcHmIY_n.js";
130
130
  import { t as createOutboundSendDeps$1 } from "./outbound-send-deps-pzO0D6kV.js";
131
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, s as loadAgentIdentityFromWorkspace, t as applyAgentConfig } from "./agents.config-CuasVG0i.js";
132
- import "./dm-policy-shared-BzGFEhLb.js";
133
- import "./node-service-DLCN3Pek.js";
134
- import "./status.update-iWEAq6bt.js";
131
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, s as loadAgentIdentityFromWorkspace, t as applyAgentConfig } from "./agents.config-D6lBCMyT.js";
132
+ import "./dm-policy-shared-DiZ3lMtl.js";
133
+ import "./node-service-n6G8Ybbk.js";
134
+ import "./status.update-DOj5ifHZ.js";
135
135
  import { t as resolveSystemRunCommand } from "./system-run-command-CkyUAE3i.js";
136
- import { t as installSkill } from "./skills-install-DLUMpiCC.js";
137
- import { n as runGatewayUpdate, t as resolveAgentSessionDirs } from "./session-dirs-CFEdAT4Z.js";
136
+ import { t as installSkill } from "./skills-install-DcX1Txvp.js";
137
+ import { n as runGatewayUpdate, t as resolveAgentSessionDirs } from "./session-dirs-DONOhYc3.js";
138
138
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-CxAs2tsz.js";
139
139
  import { fileURLToPath, pathToFileURL } from "node:url";
140
140
  import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
141
141
  import chalk from "chalk";
142
142
  import path from "node:path";
143
- import * as fs$2 from "node:fs";
143
+ import * as fs$1 from "node:fs";
144
144
  import fs from "node:fs";
145
145
  import * as os$1 from "node:os";
146
146
  import os from "node:os";
147
147
  import JSON5 from "json5";
148
- import fs$1 from "node:fs/promises";
148
+ import fsPromises from "node:fs/promises";
149
149
  import { spawn, spawnSync } from "node:child_process";
150
150
  import { z } from "zod";
151
151
  import net from "node:net";
@@ -1136,7 +1136,7 @@ function shouldSkipCheck(allowInTests) {
1136
1136
  }
1137
1137
  async function readState(statePath) {
1138
1138
  try {
1139
- const raw = await fs$1.readFile(statePath, "utf-8");
1139
+ const raw = await fsPromises.readFile(statePath, "utf-8");
1140
1140
  const parsed = JSON.parse(raw);
1141
1141
  return parsed && typeof parsed === "object" ? parsed : {};
1142
1142
  } catch {
@@ -1144,8 +1144,8 @@ async function readState(statePath) {
1144
1144
  }
1145
1145
  }
1146
1146
  async function writeState(statePath, state) {
1147
- await fs$1.mkdir(path.dirname(statePath), { recursive: true });
1148
- await fs$1.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
1147
+ await fsPromises.mkdir(path.dirname(statePath), { recursive: true });
1148
+ await fsPromises.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
1149
1149
  }
1150
1150
  function sameUpdateAvailable(a, b) {
1151
1151
  if (a === b) return true;
@@ -3677,20 +3677,20 @@ function resolveCronRunLogPath(params) {
3677
3677
  }
3678
3678
  const writesByPath = /* @__PURE__ */ new Map();
3679
3679
  async function pruneIfNeeded(filePath, opts) {
3680
- const stat = await fs$1.stat(filePath).catch(() => null);
3680
+ const stat = await fsPromises.stat(filePath).catch(() => null);
3681
3681
  if (!stat || stat.size <= opts.maxBytes) return;
3682
- const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
3682
+ const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
3683
3683
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
3684
3684
  const { randomBytes } = await import("node:crypto");
3685
3685
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
3686
- await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
3687
- await fs$1.rename(tmp, filePath);
3686
+ await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
3687
+ await fsPromises.rename(tmp, filePath);
3688
3688
  }
3689
3689
  async function appendCronRunLog(filePath, entry, opts) {
3690
3690
  const resolved = path.resolve(filePath);
3691
3691
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
3692
- await fs$1.mkdir(path.dirname(resolved), { recursive: true });
3693
- await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
3692
+ await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
3693
+ await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
3694
3694
  await pruneIfNeeded(resolved, {
3695
3695
  maxBytes: opts?.maxBytes ?? 2e6,
3696
3696
  keepLines: opts?.keepLines ?? 2e3
@@ -3702,7 +3702,7 @@ async function appendCronRunLog(filePath, entry, opts) {
3702
3702
  async function readCronRunLogEntries(filePath, opts) {
3703
3703
  const limit = Math.max(1, Math.min(5e3, Math.floor(opts?.limit ?? 200)));
3704
3704
  const jobId = opts?.jobId?.trim() || void 0;
3705
- const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
3705
+ const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
3706
3706
  if (!raw.trim()) return [];
3707
3707
  const parsed = [];
3708
3708
  const lines = raw.split("\n");
@@ -8668,7 +8668,7 @@ function resolveAgentWorkspaceFileOrRespondError(params, respond) {
8668
8668
  }
8669
8669
  async function statFile(filePath) {
8670
8670
  try {
8671
- const stat = await fs$1.stat(filePath);
8671
+ const stat = await fsPromises.stat(filePath);
8672
8672
  if (!stat.isFile()) return null;
8673
8673
  return {
8674
8674
  size: stat.size,
@@ -8738,7 +8738,7 @@ function resolveOptionalStringParam(value) {
8738
8738
  async function moveToTrashBestEffort(pathname) {
8739
8739
  if (!pathname) return;
8740
8740
  try {
8741
- await fs$1.access(pathname);
8741
+ await fsPromises.access(pathname);
8742
8742
  } catch {
8743
8743
  return;
8744
8744
  }
@@ -8785,7 +8785,7 @@ const agentsHandlers = {
8785
8785
  dir: workspaceDir,
8786
8786
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
8787
8787
  });
8788
- await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
8788
+ await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
8789
8789
  await writeConfigFile(nextConfig);
8790
8790
  const safeName = sanitizeIdentityLine(rawName);
8791
8791
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -8798,7 +8798,7 @@ const agentsHandlers = {
8798
8798
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
8799
8799
  ""
8800
8800
  ];
8801
- await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
8801
+ await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
8802
8802
  respond(true, {
8803
8803
  ok: true,
8804
8804
  agentId,
@@ -8833,9 +8833,9 @@ const agentsHandlers = {
8833
8833
  });
8834
8834
  if (avatar) {
8835
8835
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
8836
- await fs$1.mkdir(workspace, { recursive: true });
8836
+ await fsPromises.mkdir(workspace, { recursive: true });
8837
8837
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
8838
- await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
8838
+ await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
8839
8839
  }
8840
8840
  respond(true, {
8841
8841
  ok: true,
@@ -8918,7 +8918,7 @@ const agentsHandlers = {
8918
8918
  }, void 0);
8919
8919
  return;
8920
8920
  }
8921
- const content = await fs$1.readFile(filePath, "utf-8");
8921
+ const content = await fsPromises.readFile(filePath, "utf-8");
8922
8922
  respond(true, {
8923
8923
  agentId,
8924
8924
  workspace: workspaceDir,
@@ -8940,10 +8940,10 @@ const agentsHandlers = {
8940
8940
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
8941
8941
  if (!resolved) return;
8942
8942
  const { agentId, workspaceDir, name } = resolved;
8943
- await fs$1.mkdir(workspaceDir, { recursive: true });
8943
+ await fsPromises.mkdir(workspaceDir, { recursive: true });
8944
8944
  const filePath = path.join(workspaceDir, name);
8945
8945
  const content = String(params.content ?? "");
8946
- await fs$1.writeFile(filePath, content, "utf-8");
8946
+ await fsPromises.writeFile(filePath, content, "utf-8");
8947
8947
  const meta = await statFile(filePath);
8948
8948
  respond(true, {
8949
8949
  ok: true,
@@ -12170,7 +12170,7 @@ const docsHandlers = { "docs.get": async ({ params, respond }) => {
12170
12170
  const fullPath = path.join(packageRoot, relPath);
12171
12171
  let markdown;
12172
12172
  try {
12173
- markdown = await fs$1.readFile(fullPath, "utf-8");
12173
+ markdown = await fsPromises.readFile(fullPath, "utf-8");
12174
12174
  } catch (err) {
12175
12175
  if (err?.code === "ENOENT") {
12176
12176
  respond(false, void 0, errorShape(ErrorCodes.UNAVAILABLE, `docs file not bundled in this Symi install: ${relPath}`));
@@ -12321,14 +12321,14 @@ function isRollingLogFile(file) {
12321
12321
  return ROLLING_LOG_RE.test(path.basename(file));
12322
12322
  }
12323
12323
  async function resolveLogFile(file) {
12324
- if (await fs$1.stat(file).catch(() => null)) return file;
12324
+ if (await fsPromises.stat(file).catch(() => null)) return file;
12325
12325
  if (!isRollingLogFile(file)) return file;
12326
12326
  const dir = path.dirname(file);
12327
- const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
12327
+ const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
12328
12328
  if (!entries) return file;
12329
12329
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
12330
12330
  const fullPath = path.join(dir, entry.name);
12331
- const fileStat = await fs$1.stat(fullPath).catch(() => null);
12331
+ const fileStat = await fsPromises.stat(fullPath).catch(() => null);
12332
12332
  return fileStat ? {
12333
12333
  path: fullPath,
12334
12334
  mtimeMs: fileStat.mtimeMs
@@ -12336,7 +12336,7 @@ async function resolveLogFile(file) {
12336
12336
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
12337
12337
  }
12338
12338
  async function readLogSlice(params) {
12339
- const stat = await fs$1.stat(params.file).catch(() => null);
12339
+ const stat = await fsPromises.stat(params.file).catch(() => null);
12340
12340
  if (!stat) return {
12341
12341
  cursor: 0,
12342
12342
  size: 0,
@@ -12374,7 +12374,7 @@ async function readLogSlice(params) {
12374
12374
  truncated,
12375
12375
  reset
12376
12376
  };
12377
- const handle = await fs$1.open(params.file, "r");
12377
+ const handle = await fsPromises.open(params.file, "r");
12378
12378
  try {
12379
12379
  let prefix = "";
12380
12380
  if (start > 0) {
@@ -13175,7 +13175,7 @@ const nodeHandlers = {
13175
13175
  const p = params;
13176
13176
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
13177
13177
  await respondUnavailableOnThrow(respond, async () => {
13178
- const { handleNodeEvent } = await import("./server-node-events-CY5_aNdi.js");
13178
+ const { handleNodeEvent } = await import("./server-node-events-7ToqdaU5.js");
13179
13179
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
13180
13180
  await handleNodeEvent({
13181
13181
  deps: context.deps,
@@ -13694,7 +13694,7 @@ function broadcastPresenceSnapshot(params) {
13694
13694
  let _prevCpu = null;
13695
13695
  function getCpuPercent() {
13696
13696
  try {
13697
- const parts = fs$2.readFileSync("/proc/stat", "utf8").split("\n")[0].trim().split(/\s+/).slice(1).map(Number);
13697
+ const parts = fs$1.readFileSync("/proc/stat", "utf8").split("\n")[0].trim().split(/\s+/).slice(1).map(Number);
13698
13698
  const [, , , idle, iowait] = parts;
13699
13699
  const total = parts.reduce((a, b) => a + b, 0);
13700
13700
  const active = total - idle - (iowait || 0);
@@ -13718,7 +13718,7 @@ function getCpuPercent() {
13718
13718
  }
13719
13719
  function getMemInfo() {
13720
13720
  try {
13721
- const text = fs$2.readFileSync("/proc/meminfo", "utf8");
13721
+ const text = fs$1.readFileSync("/proc/meminfo", "utf8");
13722
13722
  const get = (key) => parseInt(text.match(new RegExp(`${key}:\\s+(\\d+)`))?.[1] ?? "0", 10) * 1024;
13723
13723
  const total = get("MemTotal");
13724
13724
  const used = total - get("MemAvailable");
@@ -13737,7 +13737,7 @@ function getMemInfo() {
13737
13737
  }
13738
13738
  function getDiskInfo() {
13739
13739
  try {
13740
- const stats = fs$2.statfsSync("/");
13740
+ const stats = fs$1.statfsSync("/");
13741
13741
  const total = stats.blocks * stats.bsize;
13742
13742
  const used = total - stats.bfree * stats.bsize;
13743
13743
  return {
@@ -15940,7 +15940,7 @@ function normalizeAgentPayload(payload) {
15940
15940
  async function startBrowserControlServerIfEnabled() {
15941
15941
  if (isTruthyEnvValue(process.env.SYMI_SKIP_BROWSER_CONTROL_SERVER)) return null;
15942
15942
  const override = process.env.SYMI_BROWSER_CONTROL_MODULE?.trim();
15943
- const mod = override ? await import(override) : await import("./control-service-D1aZqS0Q.js").then((n) => n.t);
15943
+ const mod = override ? await import(override) : await import("./control-service-DhlgNQGb.js").then((n) => n.t);
15944
15944
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
15945
15945
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
15946
15946
  if (!start) return null;
@@ -16167,7 +16167,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
16167
16167
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
16168
16168
  const candidate = path.join(rootReal, rel);
16169
16169
  try {
16170
- const st = await fs$1.lstat(candidate);
16170
+ const st = await fsPromises.lstat(candidate);
16171
16171
  if (st.isSymbolicLink()) return null;
16172
16172
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
16173
16173
  } catch {}
@@ -16204,8 +16204,8 @@ async function resolveA2uiRoot() {
16204
16204
  for (const dir of candidates) try {
16205
16205
  const indexPath = path.join(dir, "index.html");
16206
16206
  const bundlePath = path.join(dir, "a2ui.bundle.js");
16207
- await fs$1.stat(indexPath);
16208
- await fs$1.stat(bundlePath);
16207
+ await fsPromises.stat(indexPath);
16208
+ await fsPromises.stat(bundlePath);
16209
16209
  return dir;
16210
16210
  } catch {}
16211
16211
  return null;
@@ -16214,7 +16214,7 @@ async function resolveA2uiRootReal() {
16214
16214
  if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
16215
16215
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
16216
16216
  const root = await resolveA2uiRoot();
16217
- cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
16217
+ cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
16218
16218
  cachedA2uiResolvedAtMs = Date.now();
16219
16219
  resolvingA2uiRoot = null;
16220
16220
  return cachedA2uiRootReal;
@@ -16435,13 +16435,13 @@ function normalizeBasePath(rawPath) {
16435
16435
  }
16436
16436
  async function prepareCanvasRoot(rootDir) {
16437
16437
  await ensureDir(rootDir);
16438
- const rootReal = await fs$1.realpath(rootDir);
16438
+ const rootReal = await fsPromises.realpath(rootDir);
16439
16439
  try {
16440
16440
  const indexPath = path.join(rootReal, "index.html");
16441
- await fs$1.stat(indexPath);
16441
+ await fsPromises.stat(indexPath);
16442
16442
  } catch {
16443
16443
  try {
16444
- await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
16444
+ await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
16445
16445
  } catch {}
16446
16446
  }
16447
16447
  return rootReal;
@@ -16450,7 +16450,7 @@ function resolveDefaultCanvasRoot() {
16450
16450
  const candidates = [path.join(resolveStateDir(), "canvas")];
16451
16451
  return candidates.find((dir) => {
16452
16452
  try {
16453
- return fs$2.statSync(dir).isDirectory();
16453
+ return fs$1.statSync(dir).isDirectory();
16454
16454
  } catch {
16455
16455
  return false;
16456
16456
  }
@@ -19382,7 +19382,7 @@ function resolveGatewayOwnerStatus(pid, payload, platform) {
19382
19382
  }
19383
19383
  async function readLockPayload(lockPath) {
19384
19384
  try {
19385
- const raw = await fs$1.readFile(lockPath, "utf8");
19385
+ const raw = await fsPromises.readFile(lockPath, "utf8");
19386
19386
  const parsed = JSON.parse(raw);
19387
19387
  if (typeof parsed.pid !== "number") return null;
19388
19388
  if (typeof parsed.createdAt !== "string") return null;
@@ -19416,11 +19416,11 @@ async function acquireGatewayLock(opts = {}) {
19416
19416
  const staleMs = opts.staleMs ?? DEFAULT_STALE_MS;
19417
19417
  const platform = opts.platform ?? process.platform;
19418
19418
  const { lockPath, configPath } = resolveGatewayLockPath(env);
19419
- await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
19419
+ await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
19420
19420
  const startedAt = Date.now();
19421
19421
  let lastPayload = null;
19422
19422
  while (Date.now() - startedAt < timeoutMs) try {
19423
- const handle = await fs$1.open(lockPath, "wx");
19423
+ const handle = await fsPromises.open(lockPath, "wx");
19424
19424
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
19425
19425
  const payload = {
19426
19426
  pid: process.pid,
@@ -19434,7 +19434,7 @@ async function acquireGatewayLock(opts = {}) {
19434
19434
  configPath,
19435
19435
  release: async () => {
19436
19436
  await handle.close().catch(() => void 0);
19437
- await fs$1.rm(lockPath, { force: true });
19437
+ await fsPromises.rm(lockPath, { force: true });
19438
19438
  }
19439
19439
  };
19440
19440
  } catch (err) {
@@ -19443,7 +19443,7 @@ async function acquireGatewayLock(opts = {}) {
19443
19443
  const ownerPid = lastPayload?.pid;
19444
19444
  const ownerStatus = ownerPid ? resolveGatewayOwnerStatus(ownerPid, lastPayload, platform) : "unknown";
19445
19445
  if (ownerStatus === "dead" && ownerPid) {
19446
- await fs$1.rm(lockPath, { force: true });
19446
+ await fsPromises.rm(lockPath, { force: true });
19447
19447
  continue;
19448
19448
  }
19449
19449
  if (ownerStatus !== "alive") {
@@ -19453,13 +19453,13 @@ async function acquireGatewayLock(opts = {}) {
19453
19453
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
19454
19454
  }
19455
19455
  if (!stale) try {
19456
- const st = await fs$1.stat(lockPath);
19456
+ const st = await fsPromises.stat(lockPath);
19457
19457
  stale = Date.now() - st.mtimeMs > staleMs;
19458
19458
  } catch {
19459
19459
  stale = true;
19460
19460
  }
19461
19461
  if (stale) {
19462
- await fs$1.rm(lockPath, { force: true });
19462
+ await fsPromises.rm(lockPath, { force: true });
19463
19463
  continue;
19464
19464
  }
19465
19465
  }
@@ -21350,7 +21350,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
21350
21350
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
21351
21351
  if (!minimalTestGateway) (async () => {
21352
21352
  const { recoverPendingDeliveries } = await import("./delivery-queue-DDs84baU.js").then((n) => n.n);
21353
- const { deliverOutboundPayloads } = await import("./deliver-BX3IOm7k.js").then((n) => n.n);
21353
+ const { deliverOutboundPayloads } = await import("./deliver-ccf_boim.js").then((n) => n.n);
21354
21354
  await recoverPendingDeliveries({
21355
21355
  deliver: deliverOutboundPayloads,
21356
21356
  log: log.child("delivery-recovery"),
@@ -118,7 +118,7 @@ import { n as createDefaultDeps, r as createOutboundSendDeps$1, t as createOutbo
118
118
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B5BrwGRs.js";
119
119
  import { t as ensureSymiCliOnPath } from "./path-env-DmaMvYrK.js";
120
120
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-C1JNxsic.js";
121
- import { t as runOnboardingWizard } from "./onboarding-BIOnPknC.js";
121
+ import { t as runOnboardingWizard } from "./onboarding-CJuG6AyD.js";
122
122
  import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-qCbh6Vhl.js";
123
123
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-C5QXoiTl.js";
124
124
  import { a as getCliSessionId, i as resolveAgentOutboundTarget, o as setCliSessionId, r as resolveAgentDeliveryPlan, s as runCliAgent, t as agentCommand } from "./agent-CDUpwXQX.js";
@@ -1,5 +1,5 @@
1
1
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C_V8IAYx.js";
2
- import { n as callGateway } from "./call-CbF18cyd.js";
2
+ import { n as callGateway } from "./call-BjHvYJx2.js";
3
3
  import { n as withProgress } from "./progress-CyPyGCDn.js";
4
4
 
5
5
  //#region src/cli/gateway-rpc.ts