@symerian/symi 3.5.21 → 3.5.23

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 (178) hide show
  1. package/dist/{agent-NT0EKnK_.js → agent-CBfp75J4.js} +18 -18
  2. package/dist/{agent-scope-Bnsyyeci.js → agent-scope-DOrZjOnW.js} +18 -18
  3. package/dist/{agents.config-DA0ISLi7.js → agents.config-B7sNDvhz.js} +1 -1
  4. package/dist/{audit-CXIXYDRx.js → audit-Ce-u6aaR.js} +20 -20
  5. package/dist/{auth-choice-BtXIQPTU.js → auth-choice-CUvx59kv.js} +11 -11
  6. package/dist/{auth-profiles-D5nYBj_Z.js → auth-profiles-Ce7R_25e.js} +2 -2
  7. package/dist/{auth-token-fgnCQEHT.js → auth-token-Cr28IDKY.js} +3 -3
  8. package/dist/{browser-cli-DOTM7UBC.js → browser-cli-Ibgld3mA.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-Bpjj5p7I.js → call-xdEE97oU.js} +9 -9
  13. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  14. package/dist/{channel-options-XRJiHUm5.js → channel-options-DCmWOAc0.js} +1 -1
  15. package/dist/{channels-cli-CQ4M05oy.js → channels-cli-Cs1Z0dn8.js} +57 -57
  16. package/dist/{chrome-OTJg3QKn.js → chrome-CmQwGAuL.js} +7 -7
  17. package/dist/{chrome-38OnGyuN.js → chrome-DJChpTwP.js} +2 -2
  18. package/dist/{cli-B-uoiYP2.js → cli-CadU09SC.js} +45 -45
  19. package/dist/{client-CTrfpKT3.js → client-Cs9Bh-G0.js} +1 -1
  20. package/dist/{commands-registry-CwXsDVuO.js → commands-registry-Ca5hh7nh.js} +1 -1
  21. package/dist/{completion-cli-Cn_81QBb.js → completion-cli-Dd56ibFZ.js} +12 -12
  22. package/dist/{config-BngIfn5l.js → config-B4jkreCN.js} +2 -2
  23. package/dist/{config-cli-B1cPkJ4p.js → config-cli-GwUJEapt.js} +4 -4
  24. package/dist/{config-guard-DStz4_V2.js → config-guard-BRm3RiOi.js} +6 -6
  25. package/dist/{config-validation-Dxj9LRzr.js → config-validation-Cdyg1BZB.js} +1 -1
  26. package/dist/{configure-C7zmSgvC.js → configure-5md67tCP.js} +14 -14
  27. package/dist/{consolidate-CO32_TEx.js → consolidate-DymnvvYm.js} +6 -6
  28. package/dist/{control-service-CUreKVeY.js → control-service-D8kKOts5.js} +4 -4
  29. package/dist/control-ui/css/style.css +38 -3
  30. package/dist/control-ui/index.html +2 -2
  31. package/dist/control-ui/js/symframe-awaiting.js +15 -10
  32. package/dist/control-ui/js/symframe-substrate.js +11 -7
  33. package/dist/control-ui/js/symframe.js +12 -28
  34. package/dist/{control-ui-assets-B8B9z_Ll.js → control-ui-assets-CJQ97d4u.js} +1 -1
  35. package/dist/{cost-cli-D-ssjcRF.js → cost-cli-DWiVCOCx.js} +3 -3
  36. package/dist/{cron-cli-otPeKxmi.js → cron-cli-CE9bV9Et.js} +7 -7
  37. package/dist/{daemon-cli-qDdMg615.js → daemon-cli-BYiG4GOU.js} +11 -11
  38. package/dist/{daemon-runtime-CKn0wmCk.js → daemon-runtime-DlQla_dA.js} +10 -10
  39. package/dist/{deliver-BiWlR84Y.js → deliver-B04yNX82.js} +4 -4
  40. package/dist/{deliver-CWMFmMCv.js → deliver-lTZLIQqf.js} +2 -2
  41. package/dist/{deps-CdibsPMx.js → deps-Bf9dt2UO.js} +1 -1
  42. package/dist/{devices-cli-DDPwF2Nx.js → devices-cli-Bhr6jGtH.js} +6 -6
  43. package/dist/{diagnostics-CYkqD5lP.js → diagnostics-DlZODdRf.js} +5 -5
  44. package/dist/{directory-cli-giqTe8Yg.js → directory-cli-Bm5QYEo-.js} +3 -3
  45. package/dist/{dm-policy-shared-B61_yf6G.js → dm-policy-shared-CeFt0nch.js} +1 -1
  46. package/dist/{dns-cli-Dssz4RqF.js → dns-cli-CubLq4j9.js} +3 -3
  47. package/dist/{docs-cli-Ct1STieY.js → docs-cli-PS8m1er7.js} +1 -1
  48. package/dist/{doctor-completion-CL7MyXlo.js → doctor-completion-BpUGRguQ.js} +2 -2
  49. package/dist/{doctor-config-flow-ljVnQJjo.js → doctor-config-flow-C52W1uUK.js} +9 -9
  50. package/dist/{exec-approvals-cli-DsBoQu5H.js → exec-approvals-cli-CzvIqBUd.js} +13 -13
  51. package/dist/{file-lock-2AecMjCa.js → file-lock-BVUYnlQv.js} +8 -8
  52. package/dist/{fs-safe-B0Is-oLk.js → fs-safe-BdejYjW8.js} +6 -6
  53. package/dist/{gateway-cli-DG_2YZ8B.js → gateway-cli-D1d5YAt0.js} +98 -98
  54. package/dist/{gateway-rpc-gaoD882s.js → gateway-rpc-BTGT1SuZ.js} +1 -1
  55. package/dist/{glass-ui-ws-Bof7krDJ.js → glass-ui-ws-BH9WH_VN.js} +67 -67
  56. package/dist/{health-CMbUI4aN.js → health-DpE9GWGn.js} +4 -4
  57. package/dist/{hooks-cli-Cgjor7F-.js → hooks-cli-D7xxbEwI.js} +59 -59
  58. package/dist/{image-ops-BzCBIakN.js → image-ops-L70xVnpG.js} +10 -10
  59. package/dist/index.js +52 -52
  60. package/dist/{inspect-DzYUb_Dl.js → inspect-CGKsaVZ4.js} +4 -4
  61. package/dist/{install-safe-path-BrpA09f2.js → install-safe-path-B2JrFspY.js} +11 -11
  62. package/dist/{installs-bnDlOSq2.js → installs-D890uIIW.js} +10 -10
  63. package/dist/{internal-csqU78gW.js → internal-DVCddhhN.js} +9 -9
  64. package/dist/{lifecycle-core-cSR_xiIO.js → lifecycle-core-wFwnK_mD.js} +5 -5
  65. package/dist/llm-slug-generator.js +4 -4
  66. package/dist/{local-roots-2Jb79HZ8.js → local-roots-CgDCgCuM.js} +1 -1
  67. package/dist/{logs-cli-Kr145PO_.js → logs-cli-DvIVuW0d.js} +7 -7
  68. package/dist/{manager-DG6PODgu.js → manager-CoCX7L5u.js} +15 -15
  69. package/dist/{manager-Cv4xI8sP.js → manager-DDynl084.js} +1 -1
  70. package/dist/{memory-BFnx3v3_.js → memory-B067LTL9.js} +5 -5
  71. package/dist/{memory-cli-CHNghdrm.js → memory-cli-D8Z_5-Nz.js} +12 -12
  72. package/dist/{model-Cwbcw-km.js → model-MUMSB_7d.js} +1 -1
  73. package/dist/{model-auth-_C07_3Yr.js → model-auth-1EAQvYRv.js} +2 -2
  74. package/dist/{model-catalog-BWurV7gl.js → model-catalog-IWi6-nY9.js} +3 -3
  75. package/dist/{model-picker-Dpkr5xBW.js → model-picker-Cf6UgQEh.js} +5 -5
  76. package/dist/{model-selection-CCTzD29o.js → model-selection-7wdmO-Iw.js} +1 -1
  77. package/dist/{models-cli-BbK8HMKa.js → models-cli-C979SN3Z.js} +55 -55
  78. package/dist/{models-config-DlXge3Sd.js → models-config-B5Xxy-c-.js} +8 -8
  79. package/dist/{node-cli-BPnBosC4.js → node-cli-DGybtex_.js} +27 -27
  80. package/dist/{node-service-Cc18m-uk.js → node-service-BH08wY5j.js} +1 -1
  81. package/dist/{nodes-cli-CN_m6PO5.js → nodes-cli-C-mEw2av.js} +10 -10
  82. package/dist/{nodes-screen-Cp5QP3ET.js → nodes-screen-De9ma6e1.js} +4 -4
  83. package/dist/{npm-registry-spec-C-muP97-.js → npm-registry-spec-DTqn-NXZ.js} +9 -9
  84. package/dist/{onboard-B2IcTMv-.js → onboard-CotuAZi6.js} +15 -15
  85. package/dist/{onboard-channels-wfGO5Zlh.js → onboard-channels-DSyynpou.js} +4 -4
  86. package/dist/{onboard-custom-DnDrvxSg.js → onboard-custom-BcRYreNG.js} +3 -3
  87. package/dist/{onboard-helpers-BKejzolA.js → onboard-helpers-CLXJ8zp0.js} +8 -8
  88. package/dist/{onboard-hooks-D9jHwImb.js → onboard-hooks-2SCajRKc.js} +1 -1
  89. package/dist/{onboard-remote-y3ZmP90U.js → onboard-remote-BYBai0w3.js} +1 -1
  90. package/dist/{onboard-skills-BFhHfrt9.js → onboard-skills-BxJlS1Bk.js} +3 -3
  91. package/dist/{onboarding-DqlPV372.js → onboarding-BnoGiOh3.js} +12 -12
  92. package/dist/{onboarding.finalize-Bwjv3jew.js → onboarding.finalize-g86Q4433.js} +31 -31
  93. package/dist/{onboarding.gateway-config-CiRo9EMt.js → onboarding.gateway-config-CEXjbEM0.js} +8 -8
  94. package/dist/{openai-model-default-De-UAjwg.js → openai-model-default-BkuuK-Di.js} +2 -2
  95. package/dist/{pairing-cli-CBMMCNnx.js → pairing-cli-Rsae0KnN.js} +5 -5
  96. package/dist/{pairing-store-Be-ZQK87.js → pairing-store-BNhJOnWn.js} +1 -1
  97. package/dist/{pairing-token-B703A1U3.js → pairing-token-Dcy37-4s.js} +7 -7
  98. package/dist/{paths-BWqg8NZT.js → paths-DObzwe08.js} +1 -1
  99. package/dist/{pi-auth-json-D-vdh-nY.js → pi-auth-json-Db8XJVGL.js} +6 -6
  100. package/dist/{pi-embedded-helpers-j1JrlsI0.js → pi-embedded-helpers-D-OFjhdI.js} +6 -6
  101. package/dist/{pi-tools.policy-CvAqjEH9.js → pi-tools.policy-H2t-Xkfc.js} +3 -3
  102. package/dist/{plugin-auto-enable-BXSJTxI7.js → plugin-auto-enable-DJBhDIMq.js} +1 -1
  103. package/dist/{plugin-registry-B43UosQh.js → plugin-registry-AsC9gydF.js} +3 -3
  104. package/dist/plugin-sdk/index.js +6 -6
  105. package/dist/{plugins-cli-BV2wbjfI.js → plugins-cli-CbByGz8z.js} +54 -54
  106. package/dist/{ports-CB_Iu83U.js → ports-gxLM5ahL.js} +2 -2
  107. package/dist/{ports-Bi3V_3n9.js → ports-r7LBic2V.js} +1 -1
  108. package/dist/{program-context-BmXxHUKe.js → program-context-CiyK6MfV.js} +40 -40
  109. package/dist/{prompt-select-styled-BlQZX6pK.js → prompt-select-styled-DaNQ_GgB.js} +38 -38
  110. package/dist/{provider-auth-helpers-WLwb6tL4.js → provider-auth-helpers-D2FDvwT5.js} +6 -6
  111. package/dist/{push-apns-CBGvXev_.js → push-apns-va-DRu4U.js} +4 -4
  112. package/dist/{pw-ai-CP5pn3eU.js → pw-ai-BiBvIJzd.js} +7 -7
  113. package/dist/{pw-ai-DY_6l11g.js → pw-ai-DLsdzdgc.js} +1 -1
  114. package/dist/{qmd-manager-Dxyue7B1.js → qmd-manager-C8-M4Pru.js} +19 -19
  115. package/dist/{qr-cli-DHw6muwK.js → qr-cli-1sCVaPcF.js} +3 -3
  116. package/dist/{register.agent-CXdTiqyP.js → register.agent-BqdQ0s30.js} +67 -67
  117. package/dist/{register.configure-DVcn-gCO.js → register.configure-Dhwi-4FG.js} +70 -70
  118. package/dist/{register.maintenance-cpspl8D6.js → register.maintenance-iMjNw9uy.js} +67 -67
  119. package/dist/{register.message-BjcYy5UG.js → register.message-Ao_b9s2g.js} +47 -47
  120. package/dist/{register.onboard-D4RN92s2.js → register.onboard-ymhSAezZ.js} +25 -25
  121. package/dist/{register.setup-BvoXF0xl.js → register.setup-CKs9mqtD.js} +28 -28
  122. package/dist/{register.status-health-sessions-DjDvCXBn.js → register.status-health-sessions-U-azRmpb.js} +41 -41
  123. package/dist/{replies-B_3j7R_Q.js → replies-CbXXjn9X.js} +1 -1
  124. package/dist/{reply-prefix-CtZtkTJK.js → reply-prefix-BFNeXT65.js} +1 -1
  125. package/dist/{resolve-route-Du0VftVs.js → resolve-route-C1IIA6kH.js} +1 -1
  126. package/dist/{routes-BwTUoI5h.js → routes-ivqbutvM.js} +10 -10
  127. package/dist/{rpc-CwxSZZOx.js → rpc-DjqFrbOc.js} +1 -1
  128. package/dist/{sandbox-CZGTCone.js → sandbox-BkznAPKO.js} +18 -18
  129. package/dist/{sandbox-cli-DEtGT_4y.js → sandbox-cli-Bb9cBtBH.js} +13 -13
  130. package/dist/{security-cli-DJd7Fcdy.js → security-cli-JKsf9SIu.js} +29 -29
  131. package/dist/{send-CxjvucMO.js → send-B0jHSNMF.js} +7 -7
  132. package/dist/{server-context-DXdk410X.js → server-context-ChcbJgNo.js} +5 -5
  133. package/dist/{server-methods-DfVfzYqq.js → server-methods-B2tykucj.js} +60 -60
  134. package/dist/{server-node-events-B0yC6hi1.js → server-node-events-BKqszk_a.js} +48 -48
  135. package/dist/{service-CRZoXO_n.js → service-e6MzlLCd.js} +15 -15
  136. package/dist/{session-dirs-a00Ad2SO.js → session-dirs-C9E2G0yZ.js} +2 -2
  137. package/dist/{session-utils-CJhcRx3E.js → session-utils-Cs1jlD-q.js} +14 -14
  138. package/dist/{sessions-BCc3THTm.js → sessions-Dxf5Kjig.js} +10 -10
  139. package/dist/{shared-C39SiDDJ.js → shared-1xPo9ygd.js} +1 -1
  140. package/dist/{shared-Dh-O8nRd.js → shared-COtpr3Ad.js} +3 -3
  141. package/dist/{skill-commands-DWvXs3lz.js → skill-commands-DDGGlq68.js} +4 -4
  142. package/dist/{skill-scanner-CIlHPszT.js → skill-scanner-BCgVcIwi.js} +5 -5
  143. package/dist/{skills-CYcBtLGH.js → skills-BwDmcZdt.js} +4 -4
  144. package/dist/{skills-cli-CD9s3cgm.js → skills-cli-B-7TY-vS.js} +7 -7
  145. package/dist/{skills-install-BTa9IuQ6.js → skills-install-Dwzsjoc8.js} +3 -3
  146. package/dist/{skills-remote-BcRQTDsZ.js → skills-remote-bz71Bstn.js} +3 -3
  147. package/dist/{skills-status-DLnCHUZ2.js → skills-status-BKX1PjCc.js} +1 -1
  148. package/dist/{sqlite-BpogPlQW.js → sqlite-Cod7C5ba.js} +5 -5
  149. package/dist/{status-BWxLtb3D.js → status-DHBVIMyL.js} +23 -23
  150. package/dist/{status-Doq8T1zj.js → status-DPGFZPpp.js} +3 -3
  151. package/dist/{status.update-CKfyV6zw.js → status.update-DGJi0OLl.js} +3 -3
  152. package/dist/{symframe-cli-D1CtN3pf.js → symframe-cli-CX3dINPw.js} +9 -9
  153. package/dist/{symi-root-DeCVdZB4.js → symi-root-BQ0IpoW2.js} +2 -2
  154. package/dist/{synthesis-yl24Ovw4.js → synthesis-D91XE0n4.js} +4 -4
  155. package/dist/{synthesis-VZNnlUTf.js → synthesis-DmqicCsT.js} +45 -45
  156. package/dist/{system-cli-r7WJj0Xh.js → system-cli-DUHzCGfK.js} +7 -7
  157. package/dist/{systemd-CsoVnIbM.js → systemd-CUIM0n5P.js} +5 -5
  158. package/dist/{systemd-hints-QISwLlFU.js → systemd-hints-CsrzMCTD.js} +6 -6
  159. package/dist/{systemd-linger-BnhuRdbt.js → systemd-linger-BzYk7A6M.js} +1 -1
  160. package/dist/{tui-J7Jxp-FF.js → tui-DCqVZ6sC.js} +7 -7
  161. package/dist/{tui-cli-DR48dU_C.js → tui-cli-CI-P3sei.js} +19 -19
  162. package/dist/{unified-runner-BV5TdNFv.js → unified-runner-CdJx7yN8.js} +10 -10
  163. package/dist/{unified-runner-DXjH-prv.js → unified-runner-CznU7Ad0.js} +101 -101
  164. package/dist/{update-check-u6Jgr1cz.js → update-check-BCL_K7kx.js} +5 -5
  165. package/dist/{update-cli-CKpjWtlv.js → update-cli-DBoIBDNe.js} +77 -77
  166. package/dist/{update-runner-G2YgEATs.js → update-runner-BLV8SI96.js} +15 -15
  167. package/dist/{update-Cb0Fmxic.js → update-yYduAjKd.js} +3 -3
  168. package/dist/{webhooks-cli-DjUITimx.js → webhooks-cli-D5k-Y2A8.js} +4 -4
  169. package/dist/{with-timeout-CLrF-Yr_.js → with-timeout-DPR4A2dx.js} +1 -1
  170. package/dist/{workspace-dirs-DCICLTHx.js → workspace-dirs-jKFQf7of.js} +1 -1
  171. package/dist/{wsl-DTi7eX-V.js → wsl-CglTdtlb.js} +2 -2
  172. package/extensions/memory-core/package.json +1 -1
  173. package/extensions/msteams/CHANGELOG.md +12 -0
  174. package/extensions/msteams/package.json +1 -1
  175. package/extensions/open-prose/package.json +1 -1
  176. package/extensions/outlook/package.json +1 -1
  177. package/extensions/slack/package.json +1 -1
  178. package/package.json +1 -1
@@ -7,7 +7,7 @@ import { t as runCommandWithTimeout } from "./exec-DuYbft0z.js";
7
7
  import "./boolean-CbZoNRMn.js";
8
8
  import "./manifest-registry-D1MLZEjS.js";
9
9
  import { d as hasBinary } from "./frontmatter-B_jqcova.js";
10
- import "./skills-CYcBtLGH.js";
10
+ import "./skills-BwDmcZdt.js";
11
11
  import "./redact-B3O-RBO1.js";
12
12
  import "./errors-bI7Tdx75.js";
13
13
  import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
@@ -1,7 +1,7 @@
1
1
  import { n as resolveCliName } from "./cli-name-CzMV-gJF.js";
2
- import { t as resolveSymiPackageRoot } from "./symi-root-DeCVdZB4.js";
2
+ import { t as resolveSymiPackageRoot } from "./symi-root-BQ0IpoW2.js";
3
3
  import { t as note } from "./note-D9FXI2qW.js";
4
- import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-Cn_81QBb.js";
4
+ import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-Dd56ibFZ.js";
5
5
  import path from "node:path";
6
6
  import { spawnSync } from "node:child_process";
7
7
 
@@ -2,17 +2,17 @@ import { _ as resolveStateDir, h as resolveOAuthDir, m as resolveNewStateDir, p
2
2
  import { m as resolveHomeDir, u as isRecord } from "./utils-CTPsqyE_.js";
3
3
  import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
4
4
  import { n as DEFAULT_MAIN_KEY, o as normalizeAgentId, p as DEFAULT_ACCOUNT_ID, r as buildAgentMainSessionKey } from "./session-key-DUSb7CCb.js";
5
- import { l as resolveDefaultAgentId } from "./agent-scope-Bnsyyeci.js";
6
- import { d as SymiSchema, n as migrateLegacyConfig, o as readConfigFileSnapshot } from "./config-BngIfn5l.js";
7
- import { l as saveSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-BCc3THTm.js";
5
+ import { l as resolveDefaultAgentId } from "./agent-scope-DOrZjOnW.js";
6
+ import { d as SymiSchema, n as migrateLegacyConfig, o as readConfigFileSnapshot } from "./config-B4jkreCN.js";
7
+ import { l as saveSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-Dxf5Kjig.js";
8
8
  import { t as note } from "./note-D9FXI2qW.js";
9
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BXSJTxI7.js";
9
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-DJBhDIMq.js";
10
10
  import { t as isWithinDir } from "./path-safety-CkXjT453.js";
11
11
  import path from "node:path";
12
12
  import fs from "node:fs";
13
13
  import os from "node:os";
14
14
  import JSON5 from "json5";
15
- import fsPromises from "node:fs/promises";
15
+ import fs$1 from "node:fs/promises";
16
16
 
17
17
  //#region src/commands/doctor-legacy-config.ts
18
18
  function normalizeLegacyConfigValues(cfg) {
@@ -1063,7 +1063,7 @@ async function maybeMigrateLegacyConfig() {
1063
1063
  const targetDir = path.join(home, ".symi");
1064
1064
  const targetPath = path.join(targetDir, "symi.json");
1065
1065
  try {
1066
- await fsPromises.access(targetPath);
1066
+ await fs$1.access(targetPath);
1067
1067
  return changes;
1068
1068
  } catch {}
1069
1069
  const legacyCandidates = [
@@ -1073,14 +1073,14 @@ async function maybeMigrateLegacyConfig() {
1073
1073
  ];
1074
1074
  let legacyPath = null;
1075
1075
  for (const candidate of legacyCandidates) try {
1076
- await fsPromises.access(candidate);
1076
+ await fs$1.access(candidate);
1077
1077
  legacyPath = candidate;
1078
1078
  break;
1079
1079
  } catch {}
1080
1080
  if (!legacyPath) return changes;
1081
- await fsPromises.mkdir(targetDir, { recursive: true });
1081
+ await fs$1.mkdir(targetDir, { recursive: true });
1082
1082
  try {
1083
- await fsPromises.copyFile(legacyPath, targetPath, fsPromises.constants.COPYFILE_EXCL);
1083
+ await fs$1.copyFile(legacyPath, targetPath, fs$1.constants.COPYFILE_EXCL);
1084
1084
  changes.push(`Migrated legacy config: ${legacyPath} -> ${targetPath}`);
1085
1085
  } catch {}
1086
1086
  return changes;
@@ -3,29 +3,29 @@ import "./paths-By0XjHBk.js";
3
3
  import "./utils-CTPsqyE_.js";
4
4
  import { f as defaultRuntime } from "./subsystem-CHbO_DkH.js";
5
5
  import "./exec-DuYbft0z.js";
6
- import "./agent-scope-Bnsyyeci.js";
7
- import "./model-selection-CCTzD29o.js";
8
- import "./config-BngIfn5l.js";
6
+ import "./agent-scope-DOrZjOnW.js";
7
+ import "./model-selection-7wdmO-Iw.js";
8
+ import "./config-B4jkreCN.js";
9
9
  import "./boolean-CbZoNRMn.js";
10
10
  import "./env-BRnPI9sO.js";
11
11
  import "./shell-env-Dc3iU7HK.js";
12
12
  import "./manifest-registry-D1MLZEjS.js";
13
13
  import "./message-channel-DgjXWzf-.js";
14
- import "./client-CTrfpKT3.js";
15
- import "./call-Bpjj5p7I.js";
16
- import "./pairing-token-B703A1U3.js";
14
+ import "./client-Cs9Bh-G0.js";
15
+ import "./call-xdEE97oU.js";
16
+ import "./pairing-token-Dcy37-4s.js";
17
17
  import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
18
18
  import { c as readExecApprovalsSnapshot, p as saveExecApprovals } from "./exec-approvals-DioSaIeH.js";
19
19
  import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
20
20
  import "./progress-swt2y17x.js";
21
- import { n as callGatewayFromCli } from "./gateway-rpc-gaoD882s.js";
22
- import "./systemd-CsoVnIbM.js";
23
- import "./service-CRZoXO_n.js";
21
+ import { n as callGatewayFromCli } from "./gateway-rpc-BTGT1SuZ.js";
22
+ import "./systemd-CUIM0n5P.js";
23
+ import "./service-e6MzlLCd.js";
24
24
  import { t as renderTable } from "./table-0A3xKJVC.js";
25
- import { t as describeUnknownError } from "./shared-C39SiDDJ.js";
26
- import { i as resolveNodeId, r as nodesCallOpts } from "./rpc-CwxSZZOx.js";
25
+ import { t as describeUnknownError } from "./shared-1xPo9ygd.js";
26
+ import { i as resolveNodeId, r as nodesCallOpts } from "./rpc-DjqFrbOc.js";
27
27
  import JSON5 from "json5";
28
- import fsPromises from "node:fs/promises";
28
+ import fs from "node:fs/promises";
29
29
 
30
30
  //#region src/cli/exec-approvals-cli.ts
31
31
  async function readStdin() {
@@ -315,7 +315,7 @@ function registerExecApprovalsCli(program) {
315
315
  if (!opts.file && !opts.stdin) exitWithError("Provide --file or --stdin.");
316
316
  if (opts.file && opts.stdin) exitWithError("Use either --file or --stdin (not both).");
317
317
  const { source, nodeId, targetLabel, baseHash } = await loadWritableSnapshotTarget(opts);
318
- const raw = opts.stdin ? await readStdin() : await fsPromises.readFile(String(opts.file), "utf8");
318
+ const raw = opts.stdin ? await readStdin() : await fs.readFile(String(opts.file), "utf8");
319
319
  let file;
320
320
  try {
321
321
  file = JSON5.parse(raw);
@@ -1,6 +1,6 @@
1
1
  import { n as isPidAlive, t as resolveProcessScopedMap } from "./process-scoped-map-lWFQjQ3p.js";
2
2
  import path from "node:path";
3
- import fsPromises from "node:fs/promises";
3
+ import fs from "node:fs/promises";
4
4
 
5
5
  //#region src/plugin-sdk/file-lock.ts
6
6
  const HELD_LOCKS = resolveProcessScopedMap(Symbol.for("symi.fileLockHeldLocks"));
@@ -11,7 +11,7 @@ function computeDelayMs(retries, attempt) {
11
11
  }
12
12
  async function readLockPayload(lockPath) {
13
13
  try {
14
- const raw = await fsPromises.readFile(lockPath, "utf8");
14
+ const raw = await fs.readFile(lockPath, "utf8");
15
15
  const parsed = JSON.parse(raw);
16
16
  if (typeof parsed.pid !== "number" || typeof parsed.createdAt !== "string") return null;
17
17
  return {
@@ -25,9 +25,9 @@ async function readLockPayload(lockPath) {
25
25
  async function resolveNormalizedFilePath(filePath) {
26
26
  const resolved = path.resolve(filePath);
27
27
  const dir = path.dirname(resolved);
28
- await fsPromises.mkdir(dir, { recursive: true });
28
+ await fs.mkdir(dir, { recursive: true });
29
29
  try {
30
- const realDir = await fsPromises.realpath(dir);
30
+ const realDir = await fs.realpath(dir);
31
31
  return path.join(realDir, path.basename(resolved));
32
32
  } catch {
33
33
  return resolved;
@@ -41,7 +41,7 @@ async function isStaleLock(lockPath, staleMs) {
41
41
  if (!Number.isFinite(createdAt) || Date.now() - createdAt > staleMs) return true;
42
42
  }
43
43
  try {
44
- const stat = await fsPromises.stat(lockPath);
44
+ const stat = await fs.stat(lockPath);
45
45
  return Date.now() - stat.mtimeMs > staleMs;
46
46
  } catch {
47
47
  return true;
@@ -54,7 +54,7 @@ async function releaseHeldLock(normalizedFile) {
54
54
  if (current.count > 0) return;
55
55
  HELD_LOCKS.delete(normalizedFile);
56
56
  await current.handle.close().catch(() => void 0);
57
- await fsPromises.rm(current.lockPath, { force: true }).catch(() => void 0);
57
+ await fs.rm(current.lockPath, { force: true }).catch(() => void 0);
58
58
  }
59
59
  async function acquireFileLock(filePath, options) {
60
60
  const normalizedFile = await resolveNormalizedFilePath(filePath);
@@ -69,7 +69,7 @@ async function acquireFileLock(filePath, options) {
69
69
  }
70
70
  const attempts = Math.max(1, options.retries.retries + 1);
71
71
  for (let attempt = 0; attempt < attempts; attempt += 1) try {
72
- const handle = await fsPromises.open(lockPath, "wx");
72
+ const handle = await fs.open(lockPath, "wx");
73
73
  await handle.writeFile(JSON.stringify({
74
74
  pid: process.pid,
75
75
  createdAt: (/* @__PURE__ */ new Date()).toISOString()
@@ -86,7 +86,7 @@ async function acquireFileLock(filePath, options) {
86
86
  } catch (err) {
87
87
  if (err.code !== "EEXIST") throw err;
88
88
  if (await isStaleLock(lockPath, options.stale)) {
89
- await fsPromises.rm(lockPath, { force: true }).catch(() => void 0);
89
+ await fs.rm(lockPath, { force: true }).catch(() => void 0);
90
90
  continue;
91
91
  }
92
92
  if (attempt >= attempts - 1) break;
@@ -1,6 +1,6 @@
1
1
  import path from "node:path";
2
2
  import { constants } from "node:fs";
3
- import fsPromises from "node:fs/promises";
3
+ import fs$1 from "node:fs/promises";
4
4
 
5
5
  //#region src/infra/fs-safe.ts
6
6
  var SafeOpenError = class extends Error {
@@ -20,19 +20,19 @@ const isSymlinkOpenError = (err) => isNodeError(err) && (err.code === "ELOOP" ||
20
20
  async function openVerifiedLocalFile(filePath) {
21
21
  let handle;
22
22
  try {
23
- handle = await fsPromises.open(filePath, OPEN_READ_FLAGS);
23
+ handle = await fs$1.open(filePath, OPEN_READ_FLAGS);
24
24
  } catch (err) {
25
25
  if (isNotFoundError(err)) throw new SafeOpenError("not-found", "file not found");
26
26
  if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
27
27
  throw err;
28
28
  }
29
29
  try {
30
- const [stat, lstat] = await Promise.all([handle.stat(), fsPromises.lstat(filePath)]);
30
+ const [stat, lstat] = await Promise.all([handle.stat(), fs$1.lstat(filePath)]);
31
31
  if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
32
32
  if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
33
33
  if (stat.ino !== lstat.ino || stat.dev !== lstat.dev) throw new SafeOpenError("path-mismatch", "path changed during read");
34
- const realPath = await fsPromises.realpath(filePath);
35
- const realStat = await fsPromises.stat(realPath);
34
+ const realPath = await fs$1.realpath(filePath);
35
+ const realStat = await fs$1.stat(realPath);
36
36
  if (stat.ino !== realStat.ino || stat.dev !== realStat.dev) throw new SafeOpenError("path-mismatch", "path mismatch");
37
37
  return {
38
38
  handle,
@@ -49,7 +49,7 @@ async function openVerifiedLocalFile(filePath) {
49
49
  async function openFileWithinRoot(params) {
50
50
  let rootReal;
51
51
  try {
52
- rootReal = await fsPromises.realpath(params.rootDir);
52
+ rootReal = await fs$1.realpath(params.rootDir);
53
53
  } catch (err) {
54
54
  if (isNotFoundError(err)) throw new SafeOpenError("not-found", "root dir not found");
55
55
  throw err;
@@ -1,146 +1,146 @@
1
- import { $ as isExternalHookSession, $t as emitAgentEvent, A as resolveSessionDeliveryTarget, At as resolveInputFileLimits, B as normalizeOptionalSessionKey, Bt as countActiveDescendantRuns, Cn as CommandLane, Ct as DEFAULT_INPUT_IMAGE_MAX_BYTES, Dn as runWithModelFallback, Dt as extractFileContentFromSource, Et as DEFAULT_INPUT_TIMEOUT_MS, F as normalizeHttpWebhookUrl, G as buildDeliveryFromLegacyPayload, H as normalizePayloadToSystemText, Ht as initSubagentRegistry, Jt as readLatestAssistantReply, K as hasLegacyDeliveryHints, Kt as resolveAgentTimeoutMs, N as resetDirectoryCache, O as resolveOutboundSessionRoute, Ot as extractImageContentFromSource, Q as getHookType, Qt as clearAgentRunContext, R as inferLegacyName, S as createSymiTools, Sn as waitForActiveTasks, T as resolveAnnounceTargetFromKey, Tn as resolveModelProfile, Tt as DEFAULT_INPUT_MAX_REDIRECTS, U as normalizeRequiredName, Ut as listDescendantRunsForRequester, V as normalizeOptionalText, Vt as countActiveRunsForSession, W as migrateLegacyCronPayload, X as buildSafeExternalPrompt, Z as detectSuspiciousPatterns, a as getPluginToolMeta, an as getActiveEmbeddedRunCount, at as isGatewaySigusr1RestartExternallyAllowed, bn as resetAllLanes, c as handleSlackHttpRequest, cn as registerUnhandledRejectionHandler, ct as setGatewaySigusr1RestartPolicy, d as buildHistoryContextFromEntries, dn as formatUserTime, en as getAgentRunContext, fn as resolveUserTimeFormat, h as getTotalPendingReplies, it as emitGatewayRestart, k as resolveOutboundTarget, kt as normalizeMimeList, l as readJsonBodyWithLimit, ln as ToolInputError, lt as setPreRestartDeferralCheck, n as applyToolPolicyPipeline, nn as registerAgentRunContext, nt as consumeGatewaySigusr1RestartAuthorization, ot as markGatewaySigusr1RestartHandled, pn as resolveUserTimezone, q as stripLegacyDeliveryFields, qt as runSubagentAnnounceFlow, r as buildDefaultToolPolicyPipelineSteps, rt as deferGatewayRestartUntilIdle, s as loadSymiPlugins, t as runAgentTurn, tn as onAgentEvent, u as requestBodyErrorToText, vn as getActiveTaskCount, wn as classifyOutboundMessage, wt as DEFAULT_INPUT_IMAGE_MIMES, xn as setCommandLaneConcurrency, yn as getTotalQueueSize, z as normalizeOptionalAgentId } from "./unified-runner-DXjH-prv.js";
1
+ import { $ as isExternalHookSession, $t as emitAgentEvent, A as resolveSessionDeliveryTarget, At as resolveInputFileLimits, B as normalizeOptionalSessionKey, Bt as countActiveDescendantRuns, Cn as CommandLane, Ct as DEFAULT_INPUT_IMAGE_MAX_BYTES, Dn as runWithModelFallback, Dt as extractFileContentFromSource, Et as DEFAULT_INPUT_TIMEOUT_MS, F as normalizeHttpWebhookUrl, G as buildDeliveryFromLegacyPayload, H as normalizePayloadToSystemText, Ht as initSubagentRegistry, Jt as readLatestAssistantReply, K as hasLegacyDeliveryHints, Kt as resolveAgentTimeoutMs, N as resetDirectoryCache, O as resolveOutboundSessionRoute, Ot as extractImageContentFromSource, Q as getHookType, Qt as clearAgentRunContext, R as inferLegacyName, S as createSymiTools, Sn as waitForActiveTasks, T as resolveAnnounceTargetFromKey, Tn as resolveModelProfile, Tt as DEFAULT_INPUT_MAX_REDIRECTS, U as normalizeRequiredName, Ut as listDescendantRunsForRequester, V as normalizeOptionalText, Vt as countActiveRunsForSession, W as migrateLegacyCronPayload, X as buildSafeExternalPrompt, Z as detectSuspiciousPatterns, a as getPluginToolMeta, an as getActiveEmbeddedRunCount, at as isGatewaySigusr1RestartExternallyAllowed, bn as resetAllLanes, c as handleSlackHttpRequest, cn as registerUnhandledRejectionHandler, ct as setGatewaySigusr1RestartPolicy, d as buildHistoryContextFromEntries, dn as formatUserTime, en as getAgentRunContext, fn as resolveUserTimeFormat, h as getTotalPendingReplies, it as emitGatewayRestart, k as resolveOutboundTarget, kt as normalizeMimeList, l as readJsonBodyWithLimit, ln as ToolInputError, lt as setPreRestartDeferralCheck, n as applyToolPolicyPipeline, nn as registerAgentRunContext, nt as consumeGatewaySigusr1RestartAuthorization, ot as markGatewaySigusr1RestartHandled, pn as resolveUserTimezone, q as stripLegacyDeliveryFields, qt as runSubagentAnnounceFlow, r as buildDefaultToolPolicyPipelineSteps, rt as deferGatewayRestartUntilIdle, s as loadSymiPlugins, t as runAgentTurn, tn as onAgentEvent, u as requestBodyErrorToText, vn as getActiveTaskCount, wn as classifyOutboundMessage, wt as DEFAULT_INPUT_IMAGE_MIMES, xn as setCommandLaneConcurrency, yn as getTotalQueueSize, z as normalizeOptionalAgentId } from "./unified-runner-CznU7Ad0.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, j as theme, k as colorize, m as createEmptyPluginRegistry, r as DEFAULT_CHAT_CHANNEL } from "./registry-Sbac4a4z.js";
3
3
  import { _ as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort, v as expandHomePrefix } from "./paths-By0XjHBk.js";
4
4
  import { h as resolveUserPath, s as ensureDir, t as CONFIG_DIR, v as shortenHomePath, x as truncateUtf16Safe } from "./utils-CTPsqyE_.js";
5
5
  import { a as setConsoleSubsystemFilter, f as defaultRuntime, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
6
- import "./auth-profiles-D5nYBj_Z.js";
6
+ import "./auth-profiles-Ce7R_25e.js";
7
7
  import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
8
8
  import { 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-DUSb7CCb.js";
9
- import { r as matchesSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-DeCVdZB4.js";
9
+ import { r as matchesSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-BQ0IpoW2.js";
10
10
  import { i as logDebug, n as runExec, s as logWarn, t as runCommandWithTimeout } from "./exec-DuYbft0z.js";
11
- import { C as ensureAgentWorkspace, D as resolveDefaultAgentWorkspaceDir, O as resolveWorkspaceTemplateDir, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, r as resolveAgentConfig, s as resolveAgentSkillsFilter } from "./agent-scope-Bnsyyeci.js";
12
- import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, b as resolveThinkingDefault, f as resolveAllowedModelRef, g as resolveHooksGmailModel, m as resolveConfiguredModelRef, o as getModelRefStatus, s as isCliProvider, w as DEFAULT_PROVIDER } from "./model-selection-CCTzD29o.js";
11
+ import { C as ensureAgentWorkspace, D as resolveDefaultAgentWorkspaceDir, O as resolveWorkspaceTemplateDir, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, r as resolveAgentConfig, s as resolveAgentSkillsFilter } from "./agent-scope-DOrZjOnW.js";
12
+ import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, b as resolveThinkingDefault, f as resolveAllowedModelRef, g as resolveHooksGmailModel, m as resolveConfiguredModelRef, o as getModelRefStatus, s as isCliProvider, w as DEFAULT_PROVIDER } from "./model-selection-7wdmO-Iw.js";
13
13
  import { n as isPidAlive } from "./process-scoped-map-lWFQjQ3p.js";
14
- import "./file-lock-2AecMjCa.js";
14
+ import "./file-lock-BVUYnlQv.js";
15
15
  import "./agent-paths-BbZSGrUA.js";
16
- import "./pi-embedded-helpers-j1JrlsI0.js";
17
- import { M as resolveSubagentMaxConcurrent, N as VERSION, P as resolveRuntimeServiceVersion, f as parseDurationMs, i as loadConfig, j as resolveAgentMaxConcurrent, l as writeConfigFile, n as migrateLegacyConfig, o as readConfigFileSnapshot, r as createConfigIO } from "./config-BngIfn5l.js";
16
+ import "./pi-embedded-helpers-D-OFjhdI.js";
17
+ import { M as resolveSubagentMaxConcurrent, N as VERSION, P as resolveRuntimeServiceVersion, f as parseDurationMs, i as loadConfig, j as resolveAgentMaxConcurrent, l as writeConfigFile, n as migrateLegacyConfig, o as readConfigFileSnapshot, r as createConfigIO } from "./config-B4jkreCN.js";
18
18
  import "./boolean-CbZoNRMn.js";
19
19
  import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-BRnPI9sO.js";
20
20
  import "./shell-env-Dc3iU7HK.js";
21
21
  import { l as isTestDefaultMemorySlotDisabled } from "./manifest-registry-D1MLZEjS.js";
22
22
  import { a as isPathInsideWithRealpath } from "./legacy-names-BQ9vKISY.js";
23
- import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-CZGTCone.js";
24
- import "./chrome-38OnGyuN.js";
23
+ import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-BkznAPKO.js";
24
+ import "./chrome-DJChpTwP.js";
25
25
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-DpKBMIvx.js";
26
26
  import { t as safeEqualSecret } from "./secret-equal-CbntzRkh.js";
27
27
  import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-XKACsamF.js";
28
28
  import { a as isTrustedProxyAddress, 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-C7Ktmt-R.js";
29
29
  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-Bkx-QuRN.js";
30
- import { g as mergeGatewayTailscaleConfig, h as ensureGatewayStartupAuth } from "./server-context-DXdk410X.js";
30
+ import { g as mergeGatewayTailscaleConfig, h as ensureGatewayStartupAuth } from "./server-context-ChcbJgNo.js";
31
31
  import { d as hasBinary } from "./frontmatter-B_jqcova.js";
32
- import { r as buildWorkspaceSkillSnapshot } from "./skills-CYcBtLGH.js";
33
- import "./routes-BwTUoI5h.js";
32
+ import { r as buildWorkspaceSkillSnapshot } from "./skills-BwDmcZdt.js";
33
+ import "./routes-ivqbutvM.js";
34
34
  import "./redact-B3O-RBO1.js";
35
35
  import { a as isErrno, n as formatErrorMessage } from "./errors-bI7Tdx75.js";
36
- import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-B0Is-oLk.js";
37
- import "./paths-BWqg8NZT.js";
36
+ import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-BdejYjW8.js";
37
+ import "./paths-DObzwe08.js";
38
38
  import { t as SsrFBlockedError } from "./ssrf-DOZRI5XH.js";
39
- import { c as detectMime } from "./image-ops-BzCBIakN.js";
40
- import { a as inspectPortUsage, r as ensurePortAvailable, s as formatPortDiagnostics } from "./ports-CB_Iu83U.js";
39
+ import { c as detectMime } from "./image-ops-L70xVnpG.js";
40
+ import { a as inspectPortUsage, r as ensurePortAvailable, s as formatPortDiagnostics } from "./ports-gxLM5ahL.js";
41
41
  import "./trash-_YhavPQI.js";
42
- import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, M as evaluateSessionFreshness, P as resolveSessionResetPolicy, U as resolveMainSessionKeyFromConfig, Y as cleanStaleLockFiles, _ as mergeDeliveryContext, d as updateSessionStore, h as deliveryContextFromSession, n as parseSessionThreadInfo, o as loadSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-BCc3THTm.js";
42
+ import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, M as evaluateSessionFreshness, P as resolveSessionResetPolicy, U as resolveMainSessionKeyFromConfig, Y as cleanStaleLockFiles, _ as mergeDeliveryContext, d as updateSessionStore, h as deliveryContextFromSession, n as parseSessionThreadInfo, o as loadSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-Dxf5Kjig.js";
43
43
  import "./dock-hF45sewN.js";
44
44
  import { _ as normalizeGatewayClientMode, h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, p as GATEWAY_CLIENT_IDS, r as isGatewayCliClient, s as isWebchatClient } from "./message-channel-DgjXWzf-.js";
45
45
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CF5skkHh.js";
46
- import "./send-CxjvucMO.js";
46
+ import "./send-B0jHSNMF.js";
47
47
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, s as resolveSessionTranscriptsDirForAgent } from "./paths-BtvQ7JvU.js";
48
48
  import { d as supportsXHighThinking, l as normalizeVerboseLevel, s as normalizeThinkLevel } from "./thinking-COroyVA5.js";
49
49
  import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-0yh2UnJq.js";
50
- import { _ as runGlobalGatewayStopSafely, h as getGlobalHookRunner, t as deliverOutboundPayloads } from "./deliver-CWMFmMCv.js";
50
+ import { _ as runGlobalGatewayStopSafely, h as getGlobalHookRunner, t as deliverOutboundPayloads } from "./deliver-lTZLIQqf.js";
51
51
  import { c as startDiagnosticHeartbeat, l as stopDiagnosticHeartbeat, u as isDiagnosticsEnabled } from "./diagnostic-DbT9t0Sh.js";
52
52
  import "./diagnostic-session-state-DnkpMfCl.js";
53
- import "./model-auth-_C07_3Yr.js";
53
+ import "./model-auth-1EAQvYRv.js";
54
54
  import "./github-copilot-token-D-FdDfee.js";
55
- import "./models-config-DlXge3Sd.js";
56
- import "./pi-auth-json-D-vdh-nY.js";
55
+ import "./models-config-B5Xxy-c-.js";
56
+ import "./pi-auth-json-Db8XJVGL.js";
57
57
  import { c as hasNonzeroUsage, s as deriveSessionTotalTokens } from "./session-cost-usage-D3mgssM_.js";
58
- import { C as enqueueSystemEvent, a as loadCombinedSessionStoreForGateway, f as formatRestartSentinelMessage, i as listSessionsFromStore, m as summarizeRestartSentinel, o as loadSessionEntry, u as consumeRestartSentinel, x as lookupContextTokens } from "./session-utils-CJhcRx3E.js";
59
- import { r as getMachineDisplayName } from "./with-timeout-CLrF-Yr_.js";
60
- import { a as resolveAgentIdentity } from "./reply-prefix-CtZtkTJK.js";
61
- import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-BFnx3v3_.js";
62
- import { c as resolveMemorySearchConfig } from "./manager-DG6PODgu.js";
63
- import "./sqlite-BpogPlQW.js";
58
+ import { C as enqueueSystemEvent, a as loadCombinedSessionStoreForGateway, f as formatRestartSentinelMessage, i as listSessionsFromStore, m as summarizeRestartSentinel, o as loadSessionEntry, u as consumeRestartSentinel, x as lookupContextTokens } from "./session-utils-Cs1jlD-q.js";
59
+ import { r as getMachineDisplayName } from "./with-timeout-DPR4A2dx.js";
60
+ import { a as resolveAgentIdentity } from "./reply-prefix-BFNeXT65.js";
61
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-B067LTL9.js";
62
+ import { c as resolveMemorySearchConfig } from "./manager-CoCX7L5u.js";
63
+ import "./sqlite-Cod7C5ba.js";
64
64
  import "./chunk-BxfKjCUx.js";
65
65
  import "./markdown-tables-CS1Tvb3z.js";
66
66
  import { t as fetchWithSsrFGuard } from "./fetch-guard-JHxT9355.js";
67
- import "./local-roots-2Jb79HZ8.js";
67
+ import "./local-roots-CgDCgCuM.js";
68
68
  import { n as isRestartEnabled } from "./commands-DUzLGgEZ.js";
69
- import "./commands-registry-CwXsDVuO.js";
70
- import { Bt as ErrorCodes, Gt as approveDevicePairing, H as validateExecApprovalRequestParams, Kt as ensureDeviceToken, O as validateConnectParams, U as validateExecApprovalResolveParams, Vt as errorShape, Wt as buildDeviceAuthPayload, Zt as requestDevicePairing, an as deriveDeviceIdFromPublicKey, cn as verifyDeviceSignature, lt as validateRequestFrame, n as formatValidationErrors, nn as verifyDeviceToken, qt as getPairedDevice, rn as roleScopesAllow, sn as normalizeDevicePublicKeyBase64Url, tn as updatePairedDeviceMetadata, zt as PROTOCOL_VERSION } from "./client-CTrfpKT3.js";
71
- import { f as loadGatewayTlsRuntime$1, n as callGateway } from "./call-Bpjj5p7I.js";
72
- import "./pairing-token-B703A1U3.js";
69
+ import "./commands-registry-Ca5hh7nh.js";
70
+ import { Bt as ErrorCodes, Gt as approveDevicePairing, H as validateExecApprovalRequestParams, Kt as ensureDeviceToken, O as validateConnectParams, U as validateExecApprovalResolveParams, Vt as errorShape, Wt as buildDeviceAuthPayload, Zt as requestDevicePairing, an as deriveDeviceIdFromPublicKey, cn as verifyDeviceSignature, lt as validateRequestFrame, n as formatValidationErrors, nn as verifyDeviceToken, qt as getPairedDevice, rn as roleScopesAllow, sn as normalizeDevicePublicKeyBase64Url, tn as updatePairedDeviceMetadata, zt as PROTOCOL_VERSION } from "./client-Cs9Bh-G0.js";
71
+ import { f as loadGatewayTlsRuntime$1, n as callGateway } from "./call-xdEE97oU.js";
72
+ import "./pairing-token-Dcy37-4s.js";
73
73
  import "./tool-display-DFOL6UQ9.js";
74
- import { _ as registerSkillsChangeListener, a as refreshRemoteNodeBins, g as getSkillsSnapshotVersion, i as refreshRemoteBinsForConnectedNodes, n as primeRemoteSkillsCache, o as removeRemoteNodeInfo, p as updatePairedNodeMetadata, r as recordRemoteNodeInfo, s as setSkillsRemoteRegistry, t as getRemoteSkillEligibility } from "./skills-remote-BcRQTDsZ.js";
75
- import "./workspace-dirs-DCICLTHx.js";
74
+ import { _ as registerSkillsChangeListener, a as refreshRemoteNodeBins, g as getSkillsSnapshotVersion, i as refreshRemoteBinsForConnectedNodes, n as primeRemoteSkillsCache, o as removeRemoteNodeInfo, p as updatePairedNodeMetadata, r as recordRemoteNodeInfo, s as setSkillsRemoteRegistry, t as getRemoteSkillEligibility } from "./skills-remote-bz71Bstn.js";
75
+ import "./workspace-dirs-jKFQf7of.js";
76
76
  import "./pi-model-discovery-ClQLvlCW.js";
77
- import { n as loadModelCatalog } from "./model-catalog-BWurV7gl.js";
78
- import "./skill-commands-DWvXs3lz.js";
79
- import "./pairing-store-Be-ZQK87.js";
77
+ import { n as loadModelCatalog } from "./model-catalog-IWi6-nY9.js";
78
+ import "./skill-commands-DDGGlq68.js";
79
+ import "./pairing-store-BNhJOnWn.js";
80
80
  import { t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-DioSaIeH.js";
81
- import "./nodes-screen-Cp5QP3ET.js";
81
+ import "./nodes-screen-De9ma6e1.js";
82
82
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-DeczTGI-.js";
83
83
  import "./breakdown-B_Dhhm3K.js";
84
- import "./control-service-CUreKVeY.js";
84
+ import "./control-service-D8kKOts5.js";
85
85
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-DQs772BN.js";
86
86
  import { n as onSymframePush } from "./symframe-broadcast-CXo2qoxy.js";
87
87
  import { n as resolveMessageChannelSelection } from "./channel-selection-H1qOf0q-.js";
88
88
  import "./delivery-queue-OAc7hsIs.js";
89
89
  import { t as buildChannelAccountBindings } from "./bindings-DIhsYGa_.js";
90
- import "./resolve-route-Du0VftVs.js";
90
+ import "./resolve-route-C1IIA6kH.js";
91
91
  import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
92
92
  import { n as runCommandWithRuntime } from "./cli-utils-CuyGL3rq.js";
93
93
  import { t as formatHelpExamples } from "./help-format-7hFcsqss.js";
94
94
  import { n as withProgress } from "./progress-swt2y17x.js";
95
- import "./memory-cli-CHNghdrm.js";
95
+ import "./memory-cli-D8Z_5-Nz.js";
96
96
  import "./logging-BWknayJl.js";
97
- import "./replies-B_3j7R_Q.js";
98
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-CvAqjEH9.js";
99
- import "./model-Cwbcw-km.js";
100
- import { t as createDefaultDeps } from "./deps-CdibsPMx.js";
97
+ import "./replies-CbXXjn9X.js";
98
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-H2t-Xkfc.js";
99
+ import "./model-MUMSB_7d.js";
100
+ import { t as createDefaultDeps } from "./deps-Bf9dt2UO.js";
101
101
  import { t as ensureSymiCliOnPath } from "./path-env-BY88zbPR.js";
102
102
  import "./runtime-guard-CWA00ZXa.js";
103
- import { t as forceFreePortAndWait } from "./ports-Bi3V_3n9.js";
103
+ import { t as forceFreePortAndWait } from "./ports-r7LBic2V.js";
104
104
  import "./catalog-BptA-dUv.js";
105
- import "./skills-status-DLnCHUZ2.js";
105
+ import "./skills-status-BKX1PjCc.js";
106
106
  import { n as inheritOptionFromParent } from "./command-options-DDDwkB9t.js";
107
107
  import "./prompt-style-olk5zI5k.js";
108
108
  import { t as resolveChannelDefaultAccountId } from "./helpers-G6zuddmF.js";
109
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BXSJTxI7.js";
110
- import "./install-safe-path-BrpA09f2.js";
111
- import "./skill-scanner-CIlHPszT.js";
109
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-DJBhDIMq.js";
110
+ import "./install-safe-path-B2JrFspY.js";
111
+ import "./skill-scanner-BCgVcIwi.js";
112
112
  import "./channels-status-issues-DLIzUsjR.js";
113
- import "./daemon-runtime-CKn0wmCk.js";
114
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-BKejzolA.js";
115
- import "./systemd-CsoVnIbM.js";
116
- import "./service-CRZoXO_n.js";
117
- import "./lifecycle-core-cSR_xiIO.js";
118
- import "./systemd-hints-QISwLlFU.js";
113
+ import "./daemon-runtime-DlQla_dA.js";
114
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-CLXJ8zp0.js";
115
+ import "./systemd-CUIM0n5P.js";
116
+ import "./service-e6MzlLCd.js";
117
+ import "./lifecycle-core-wFwnK_mD.js";
118
+ import "./systemd-hints-CsrzMCTD.js";
119
119
  import { t as parsePort$1 } from "./parse-port-CMRD6fhd.js";
120
- import { n as addGatewayServiceCommands } from "./daemon-cli-qDdMg615.js";
121
- import "./diagnostics-CYkqD5lP.js";
120
+ import { n as addGatewayServiceCommands } from "./daemon-cli-BYiG4GOU.js";
121
+ import "./diagnostics-DlZODdRf.js";
122
122
  import "./table-0A3xKJVC.js";
123
123
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-DHO-Mc6G.js";
124
- import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-C39SiDDJ.js";
125
- import { c as resolveNodeCommandAllowlist, l as probeGateway, n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./audit-CXIXYDRx.js";
124
+ import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-1xPo9ygd.js";
125
+ import { c as resolveNodeCommandAllowlist, l as probeGateway, n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./audit-Ce-u6aaR.js";
126
126
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-CWTnBKX8.js";
127
- import { r as pickGatewaySelfPresence } from "./status-BWxLtb3D.js";
128
- import { i as styleHealthChannelLine, n as getHealthSnapshot, t as formatHealthChannelLines } from "./health-CMbUI4aN.js";
129
- import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B8B9z_Ll.js";
130
- import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-u6Jgr1cz.js";
131
- import { t as runOnboardingWizard } from "./onboarding-DqlPV372.js";
132
- import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-DfVfzYqq.js";
133
- import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-CBGvXev_.js";
127
+ import { r as pickGatewaySelfPresence } from "./status-DHBVIMyL.js";
128
+ import { i as styleHealthChannelLine, n as getHealthSnapshot, t as formatHealthChannelLines } from "./health-DpE9GWGn.js";
129
+ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-CJQ97d4u.js";
130
+ import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-BCL_K7kx.js";
131
+ import { t as runOnboardingWizard } from "./onboarding-BnoGiOh3.js";
132
+ import { C as startGatewayConfigReloader, S as resolveCronRunLogPath, _ as MAX_PAYLOAD_BYTES, a as loadFavoritesSet, b as abortChatRunById, c as resolveAssistantIdentity, d as formatError, f as loadVoiceWakeConfig, g as MAX_BUFFERED_BYTES, h as HEALTH_REFRESH_INTERVAL_MS, i as safeParseJson, l as listSystemPresence, m as DEDUPE_TTL_MS, n as handleGatewayRequest, o as reconcileFavorites, p as DEDUPE_MAX, r as broadcastPresenceSnapshot, s as DEFAULT_ASSISTANT_IDENTITY, t as coreGatewayHandlers, u as upsertPresence, v as TICK_INTERVAL_MS, x as appendCronRunLog, y as getHandshakeTimeoutMs } from "./server-methods-B2tykucj.js";
133
+ import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-va-DRu4U.js";
134
134
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CGaQ7-Vb.js";
135
- import { a as getCliSessionId, o as setCliSessionId, s as runCliAgent, t as agentCommand } from "./agent-NT0EKnK_.js";
135
+ import { a as getCliSessionId, o as setCliSessionId, s as runCliAgent, t as agentCommand } from "./agent-CBfp75J4.js";
136
136
  import { t as createOutboundSendDeps } from "./outbound-send-deps--SpwgFhS.js";
137
- import { s as loadAgentIdentityFromWorkspace } from "./agents.config-DA0ISLi7.js";
138
- import "./dm-policy-shared-B61_yf6G.js";
139
- import "./node-service-Cc18m-uk.js";
140
- import "./status.update-CKfyV6zw.js";
141
- import "./skills-install-BTa9IuQ6.js";
142
- import "./update-runner-G2YgEATs.js";
143
- import { t as resolveAgentSessionDirs } from "./session-dirs-a00Ad2SO.js";
137
+ import { s as loadAgentIdentityFromWorkspace } from "./agents.config-B7sNDvhz.js";
138
+ import "./dm-policy-shared-CeFt0nch.js";
139
+ import "./node-service-BH08wY5j.js";
140
+ import "./status.update-DGJi0OLl.js";
141
+ import "./skills-install-Dwzsjoc8.js";
142
+ import "./update-runner-BLV8SI96.js";
143
+ import { t as resolveAgentSessionDirs } from "./session-dirs-C9E2G0yZ.js";
144
144
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-dN7eNg6n.js";
145
145
  import { fileURLToPath, pathToFileURL } from "node:url";
146
146
  import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
@@ -150,7 +150,7 @@ import * as fsSync from "node:fs";
150
150
  import fs from "node:fs";
151
151
  import os from "node:os";
152
152
  import JSON5 from "json5";
153
- import fsPromises from "node:fs/promises";
153
+ import fs$1 from "node:fs/promises";
154
154
  import { spawn } from "node:child_process";
155
155
  import { z } from "zod";
156
156
  import net from "node:net";
@@ -1140,7 +1140,7 @@ function shouldSkipCheck(allowInTests) {
1140
1140
  }
1141
1141
  async function readState(statePath) {
1142
1142
  try {
1143
- const raw = await fsPromises.readFile(statePath, "utf-8");
1143
+ const raw = await fs$1.readFile(statePath, "utf-8");
1144
1144
  const parsed = JSON.parse(raw);
1145
1145
  return parsed && typeof parsed === "object" ? parsed : {};
1146
1146
  } catch {
@@ -1148,8 +1148,8 @@ async function readState(statePath) {
1148
1148
  }
1149
1149
  }
1150
1150
  async function writeState(statePath, state) {
1151
- await fsPromises.mkdir(path.dirname(statePath), { recursive: true });
1152
- await fsPromises.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
1151
+ await fs$1.mkdir(path.dirname(statePath), { recursive: true });
1152
+ await fs$1.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
1153
1153
  }
1154
1154
  function sameUpdateAvailable(a, b) {
1155
1155
  if (a === b) return true;
@@ -6562,7 +6562,7 @@ function normalizeAgentPayload(payload) {
6562
6562
  async function startBrowserControlServerIfEnabled() {
6563
6563
  if (isTruthyEnvValue(process.env.SYMI_SKIP_BROWSER_CONTROL_SERVER)) return null;
6564
6564
  const override = process.env.SYMI_BROWSER_CONTROL_MODULE?.trim();
6565
- const mod = override ? await import(override) : await import("./control-service-CUreKVeY.js").then((n) => n.t);
6565
+ const mod = override ? await import(override) : await import("./control-service-D8kKOts5.js").then((n) => n.t);
6566
6566
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
6567
6567
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
6568
6568
  if (!start) return null;
@@ -6789,7 +6789,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
6789
6789
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
6790
6790
  const candidate = path.join(rootReal, rel);
6791
6791
  try {
6792
- const st = await fsPromises.lstat(candidate);
6792
+ const st = await fs$1.lstat(candidate);
6793
6793
  if (st.isSymbolicLink()) return null;
6794
6794
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
6795
6795
  } catch {}
@@ -6826,8 +6826,8 @@ async function resolveA2uiRoot() {
6826
6826
  for (const dir of candidates) try {
6827
6827
  const indexPath = path.join(dir, "index.html");
6828
6828
  const bundlePath = path.join(dir, "a2ui.bundle.js");
6829
- await fsPromises.stat(indexPath);
6830
- await fsPromises.stat(bundlePath);
6829
+ await fs$1.stat(indexPath);
6830
+ await fs$1.stat(bundlePath);
6831
6831
  return dir;
6832
6832
  } catch {}
6833
6833
  return null;
@@ -6836,7 +6836,7 @@ async function resolveA2uiRootReal() {
6836
6836
  if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
6837
6837
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
6838
6838
  const root = await resolveA2uiRoot();
6839
- cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
6839
+ cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
6840
6840
  cachedA2uiResolvedAtMs = Date.now();
6841
6841
  resolvingA2uiRoot = null;
6842
6842
  return cachedA2uiRootReal;
@@ -7057,13 +7057,13 @@ function normalizeBasePath(rawPath) {
7057
7057
  }
7058
7058
  async function prepareCanvasRoot(rootDir) {
7059
7059
  await ensureDir(rootDir);
7060
- const rootReal = await fsPromises.realpath(rootDir);
7060
+ const rootReal = await fs$1.realpath(rootDir);
7061
7061
  try {
7062
7062
  const indexPath = path.join(rootReal, "index.html");
7063
- await fsPromises.stat(indexPath);
7063
+ await fs$1.stat(indexPath);
7064
7064
  } catch {
7065
7065
  try {
7066
- await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
7066
+ await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
7067
7067
  } catch {}
7068
7068
  }
7069
7069
  return rootReal;
@@ -10000,7 +10000,7 @@ function resolveGatewayOwnerStatus(pid, payload, platform) {
10000
10000
  }
10001
10001
  async function readLockPayload(lockPath) {
10002
10002
  try {
10003
- const raw = await fsPromises.readFile(lockPath, "utf8");
10003
+ const raw = await fs$1.readFile(lockPath, "utf8");
10004
10004
  const parsed = JSON.parse(raw);
10005
10005
  if (typeof parsed.pid !== "number") return null;
10006
10006
  if (typeof parsed.createdAt !== "string") return null;
@@ -10034,11 +10034,11 @@ async function acquireGatewayLock(opts = {}) {
10034
10034
  const staleMs = opts.staleMs ?? DEFAULT_STALE_MS;
10035
10035
  const platform = opts.platform ?? process.platform;
10036
10036
  const { lockPath, configPath } = resolveGatewayLockPath(env);
10037
- await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
10037
+ await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
10038
10038
  const startedAt = Date.now();
10039
10039
  let lastPayload = null;
10040
10040
  while (Date.now() - startedAt < timeoutMs) try {
10041
- const handle = await fsPromises.open(lockPath, "wx");
10041
+ const handle = await fs$1.open(lockPath, "wx");
10042
10042
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
10043
10043
  const payload = {
10044
10044
  pid: process.pid,
@@ -10052,7 +10052,7 @@ async function acquireGatewayLock(opts = {}) {
10052
10052
  configPath,
10053
10053
  release: async () => {
10054
10054
  await handle.close().catch(() => void 0);
10055
- await fsPromises.rm(lockPath, { force: true });
10055
+ await fs$1.rm(lockPath, { force: true });
10056
10056
  }
10057
10057
  };
10058
10058
  } catch (err) {
@@ -10061,7 +10061,7 @@ async function acquireGatewayLock(opts = {}) {
10061
10061
  const ownerPid = lastPayload?.pid;
10062
10062
  const ownerStatus = ownerPid ? resolveGatewayOwnerStatus(ownerPid, lastPayload, platform) : "unknown";
10063
10063
  if (ownerStatus === "dead" && ownerPid) {
10064
- await fsPromises.rm(lockPath, { force: true });
10064
+ await fs$1.rm(lockPath, { force: true });
10065
10065
  continue;
10066
10066
  }
10067
10067
  if (ownerStatus !== "alive") {
@@ -10071,13 +10071,13 @@ async function acquireGatewayLock(opts = {}) {
10071
10071
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
10072
10072
  }
10073
10073
  if (!stale) try {
10074
- const st = await fsPromises.stat(lockPath);
10074
+ const st = await fs$1.stat(lockPath);
10075
10075
  stale = Date.now() - st.mtimeMs > staleMs;
10076
10076
  } catch {
10077
10077
  stale = true;
10078
10078
  }
10079
10079
  if (stale) {
10080
- await fsPromises.rm(lockPath, { force: true });
10080
+ await fs$1.rm(lockPath, { force: true });
10081
10081
  continue;
10082
10082
  }
10083
10083
  }
@@ -11978,7 +11978,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
11978
11978
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
11979
11979
  if (!minimalTestGateway) (async () => {
11980
11980
  const { recoverPendingDeliveries } = await import("./delivery-queue-OAc7hsIs.js").then((n) => n.n);
11981
- const { deliverOutboundPayloads } = await import("./deliver-CWMFmMCv.js").then((n) => n.n);
11981
+ const { deliverOutboundPayloads } = await import("./deliver-lTZLIQqf.js").then((n) => n.n);
11982
11982
  await recoverPendingDeliveries({
11983
11983
  deliver: deliverOutboundPayloads,
11984
11984
  log: log.child("delivery-recovery"),
@@ -12051,7 +12051,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
12051
12051
  });
12052
12052
  let glassUiBridgeCleanup = null;
12053
12053
  if (!minimalTestGateway) {
12054
- const { createGlassUiBridge } = await import("./glass-ui-ws-Bof7krDJ.js");
12054
+ const { createGlassUiBridge } = await import("./glass-ui-ws-BH9WH_VN.js");
12055
12055
  glassUiBridgeCleanup = createGlassUiBridge({
12056
12056
  wss: glassUiWss,
12057
12057
  context: gatewayRequestContext,