@symerian/symi 2.6.30 → 2.6.32

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 (175) hide show
  1. package/dist/{accounts-dRUMQQrB.js → accounts-3dCrO3oZ.js} +1 -1
  2. package/dist/{accounts-D1r2dq1t.js → accounts-BRw8yhIW.js} +21 -21
  3. package/dist/{accounts-wSphH5gv.js → accounts-BuZxOb3B.js} +1 -1
  4. package/dist/{active-listener-DFUTUjxt.js → active-listener-CfHHV2SU.js} +1 -1
  5. package/dist/{agent-scope-D68_xfTL.js → agent-scope-CpEJ0B88.js} +3 -3
  6. package/dist/{agents-F62kqpkn.js → agents-BIAaMNSb.js} +4 -4
  7. package/dist/{agents.config-CQ90zDyI.js → agents.config-BDtgUDFp.js} +1 -1
  8. package/dist/{agents.config-Bra6UznM.js → agents.config-BKjYekzK.js} +1 -1
  9. package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-C40mKAp7.js} +4 -4
  10. package/dist/{audio-preflight-Bdbm4htn.js → audio-preflight-DHTaS5U1.js} +29 -29
  11. package/dist/{auth-choice-X1P4E-3Z.js → auth-choice-C7BrC95t.js} +1 -1
  12. package/dist/{auth-choice-D1uIw27C.js → auth-choice-Cw2rldnf.js} +1 -1
  13. package/dist/{auth-profiles-Bl9aU7fc.js → auth-profiles-DdK1Hxaa.js} +17 -17
  14. package/dist/{banner-BabW0wLs.js → banner-DCF8IifK.js} +1 -1
  15. package/dist/{bindings-Bat2RnAR.js → bindings-BsHoBLIE.js} +2 -2
  16. package/dist/build-info.json +3 -3
  17. package/dist/bundled/boot-md/handler.js +53 -53
  18. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  19. package/dist/bundled/command-logger/handler.js +1 -1
  20. package/dist/bundled/session-memory/handler.js +53 -53
  21. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  22. package/dist/{channel-activity-DK0AV-r9.js → channel-activity-B6G1jnQT.js} +1 -1
  23. package/dist/{channel-options-CX-LE2dk.js → channel-options-BaC3G5sc.js} +1 -1
  24. package/dist/{channel-options-C64unDdQ.js → channel-options-DHSRuD2s.js} +1 -1
  25. package/dist/{channel-web-GzdyP40j.js → channel-web-YXrZZHRE.js} +1 -1
  26. package/dist/{channels-cli-CQrhnixR.js → channels-cli-CfMJGgBp.js} +4 -4
  27. package/dist/{channels-cli-OymBYTkK.js → channels-cli-DODlfOu4.js} +4 -4
  28. package/dist/{chrome-BdQhP7bg.js → chrome-CDJYxX5a.js} +23 -23
  29. package/dist/{chrome-D2SKJnR7.js → chrome-DYZwl5Gv.js} +5 -5
  30. package/dist/{chunk-DR8ukp6r.js → chunk-09egQapi.js} +1 -1
  31. package/dist/{cli-zchCoTxI.js → cli-CSlDsUKl.js} +1 -1
  32. package/dist/{cli-C1RjRVMT.js → cli-CVqXnzze.js} +1 -1
  33. package/dist/{command-registry-D9xmmn9v.js → command-registry-ajP42kpE.js} +9 -9
  34. package/dist/{commands-registry-DIakZUZb.js → commands-registry-Bfc7Uz0o.js} +4 -4
  35. package/dist/{completion-cli-CfhJhArh.js → completion-cli-Dui7LK9s.js} +1 -1
  36. package/dist/{completion-cli-CdMbiAwX.js → completion-cli-zokW-yVf.js} +2 -2
  37. package/dist/{config-CvmE3Yx1.js → config-5SdHIcHU.js} +12 -12
  38. package/dist/{config-cli-BWhToRSW.js → config-cli-BjXnB1c7.js} +1 -1
  39. package/dist/{config-cli-De0w9QFu.js → config-cli-BxSBpwuL.js} +1 -1
  40. package/dist/{configure-iCtE2gdv.js → configure-CIFt3G-c.js} +3 -3
  41. package/dist/{configure-DBPxwVXT.js → configure-De-0b4bB.js} +3 -3
  42. package/dist/control-ui/js/models.js +2 -2
  43. package/dist/{deliver-C-37cZUe.js → deliver-BH0l3UKW.js} +1 -1
  44. package/dist/{deliver-BD6kFk6p.js → deliver-dODxSv3b.js} +20 -20
  45. package/dist/{diagnostic-spWOtH_g.js → diagnostic-rPhsBoZz.js} +1 -1
  46. package/dist/{doctor-completion-Cuy1NwzL.js → doctor-completion-DaGKVo6p.js} +1 -1
  47. package/dist/{doctor-completion-htc4kMhg.js → doctor-completion-kr-VbXG-.js} +1 -1
  48. package/dist/entry.js +1 -1
  49. package/dist/{env-xmBFQPBP.js → env-BDXYbTKj.js} +1 -1
  50. package/dist/extensionAPI.js +6 -6
  51. package/dist/{frontmatter-CV0YkjoY.js → frontmatter-CTR5f_Ez.js} +2 -2
  52. package/dist/{gateway-cli-DxSUgxx3.js → gateway-cli-7pMi8rn1.js} +9 -9
  53. package/dist/{gateway-cli-pIBNUJhN.js → gateway-cli-DdbomLMt.js} +9 -9
  54. package/dist/{gemini-auth-C6Z-2T42.js → gemini-auth-Dy12ZAH3.js} +1 -1
  55. package/dist/{github-copilot-token-B8B2pmph.js → github-copilot-token-cCYzSU9h.js} +7 -7
  56. package/dist/{glass-ui-ws-B5Iw-tYt.js → glass-ui-ws-vx0iMfPn.js} +7 -7
  57. package/dist/{glass-ui-ws-BVcaUJ4x.js → glass-ui-ws-z-ryIbt7.js} +7 -7
  58. package/dist/{health-qWkLoxz7.js → health-BNxdveY8.js} +1 -1
  59. package/dist/{health-DK1EhshZ.js → health-pFcca1cU.js} +1 -1
  60. package/dist/{hooks-cli-QmJBRt0j.js → hooks-cli-DefzmbZl.js} +2 -2
  61. package/dist/{hooks-cli-Bt_pfMq8.js → hooks-cli-Dqe7WVzD.js} +2 -2
  62. package/dist/{image-DcpMiprB.js → image-CHzdaNJ4.js} +1 -1
  63. package/dist/{image-CE0mENPo.js → image-CXu8W39c.js} +4 -4
  64. package/dist/{image-ops-M5agStZn.js → image-ops-C7CauEK8.js} +16 -16
  65. package/dist/index.js +6 -6
  66. package/dist/{ir-B-XXcYFe.js → ir-CTiz95Vb.js} +4 -4
  67. package/dist/llm-slug-generator.js +53 -53
  68. package/dist/{local-roots-CdXg5-Cx.js → local-roots-DhZz0Ybs.js} +5 -5
  69. package/dist/{login-qr-BKIOHn1V.js → login-qr-AP9agO-i.js} +12 -12
  70. package/dist/{login-BHUrERYo.js → login-ul8zaw_S.js} +7 -7
  71. package/dist/{manager-DW3JqFpY.js → manager-PprhCvO_.js} +22 -22
  72. package/dist/{manifest-registry-0J48biqr.js → manifest-registry-yb7sAlu4.js} +19 -19
  73. package/dist/{markdown-tables-tW9bGjLM.js → markdown-tables-C-BmIap8.js} +1 -1
  74. package/dist/{message-channel-DwDSKGn4.js → message-channel-OlFBYAw8.js} +1 -1
  75. package/dist/{models-CBAKijCe.js → models-c9cOxxrP.js} +2 -2
  76. package/dist/{models-cli-CtWHHvR0.js → models-cli-BhOA86hd.js} +3 -3
  77. package/dist/{models-cli-DkNjxGZ8.js → models-cli-Cosjljgg.js} +2 -2
  78. package/dist/{onboard-BmK2-tfb.js → onboard-C4DXGi07.js} +2 -2
  79. package/dist/{onboard-wJCi24zf.js → onboard-Dadg5mWZ.js} +2 -2
  80. package/dist/{onboard-channels-CnNA3U8_.js → onboard-channels-BAEFSSqU.js} +1 -1
  81. package/dist/{onboard-channels-CcoMVcOs.js → onboard-channels-BjUx6cZ7.js} +1 -1
  82. package/dist/{onboarding-GGE9UgcE.js → onboarding-Be8-Muma.js} +3 -3
  83. package/dist/{onboarding-Cs7XncoX.js → onboarding-BesMJD5M.js} +3 -3
  84. package/dist/{onboarding.finalize-BEMefoBu.js → onboarding.finalize-BdFKvepX.js} +6 -6
  85. package/dist/{onboarding.finalize-CawqY9YT.js → onboarding.finalize-Cbo7t2w6.js} +5 -5
  86. package/dist/{outbound-CIVsLpJK.js → outbound-CtMCmwxR.js} +7 -7
  87. package/dist/{outbound-attachment-CHcmlip8.js → outbound-attachment-DJldbweZ.js} +2 -2
  88. package/dist/{paths-DEuVuViW.js → paths-CbQV9WEg.js} +1 -1
  89. package/dist/{pi-auth-json-BYuCWAs0.js → pi-auth-json-Bk8ERadJ.js} +8 -8
  90. package/dist/{pi-embedded-eCY-k0yS.js → pi-embedded-CziuxRtW.js} +19 -19
  91. package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-lgx_U5KS.js} +4 -4
  92. package/dist/{pi-embedded-helpers-Pnxzi8V5.js → pi-embedded-helpers-pubKo8HQ.js} +73 -73
  93. package/dist/{plugin-registry-C-RHl6z7.js → plugin-registry-BkFixq63.js} +1 -1
  94. package/dist/{plugin-registry-BqSezGzv.js → plugin-registry-Ls_YGsWz.js} +1 -1
  95. package/dist/plugin-sdk/{channel-web-BOFr3AaP.js → channel-web-D4P9MkFu.js} +1 -1
  96. package/dist/plugin-sdk/index.js +2 -2
  97. package/dist/plugin-sdk/{reply-B7rSYofo.js → reply-BVs4oalQ.js} +5 -5
  98. package/dist/plugin-sdk/{web-iaHlqNQD.js → web-DiQTcviv.js} +2 -2
  99. package/dist/{plugins-Bkr5ZdYs.js → plugins-BzmbgY7s.js} +9 -9
  100. package/dist/{plugins-cli-D5l8DCUo.js → plugins-cli-CJLJsr_L.js} +2 -2
  101. package/dist/{plugins-cli-DIKVN1j-.js → plugins-cli-DXiakDnC.js} +2 -2
  102. package/dist/{program-DKp_gWvH.js → program-CqxmOFY5.js} +7 -7
  103. package/dist/{program-context-CJO5zWl7.js → program-context-CWoc-4O6.js} +17 -17
  104. package/dist/{prompt-select-styled-Drbf4MLf.js → prompt-select-styled-C5YCowXp.js} +4 -4
  105. package/dist/{prompt-select-styled-CuDVrio_.js → prompt-select-styled-DKTE77Rw.js} +4 -4
  106. package/dist/{provider-auth-helpers-ku70HLId.js → provider-auth-helpers-B_Rtgt-w.js} +1 -1
  107. package/dist/{provider-auth-helpers-D0JrH_QE.js → provider-auth-helpers-Bi5oeREh.js} +1 -1
  108. package/dist/{push-apns-DZvXSHuB.js → push-apns-Bmd6SdxC.js} +1 -1
  109. package/dist/{push-apns-DWLiMsGQ.js → push-apns-BzIW-JHE.js} +1 -1
  110. package/dist/{pw-ai-BA-fJnJc.js → pw-ai-B5asscAD.js} +11 -11
  111. package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
  112. package/dist/{qmd-manager-BKu9rOuB.js → qmd-manager-iDLSiI4Z.js} +7 -7
  113. package/dist/{register.agent-CW-Jt26a.js → register.agent-Vc2Bu3J4.js} +5 -5
  114. package/dist/{register.agent-Dr-AvNVj.js → register.agent-kKtKgmcO.js} +6 -6
  115. package/dist/{register.configure-D3_5DZTq.js → register.configure-BnNPTLBI.js} +6 -6
  116. package/dist/{register.configure-CPykN4LB.js → register.configure-D-o-geWg.js} +6 -6
  117. package/dist/{register.maintenance-BOxfAudK.js → register.maintenance-BhhUMTAr.js} +7 -7
  118. package/dist/{register.maintenance-BValTiSe.js → register.maintenance-Ea70NNls.js} +8 -8
  119. package/dist/{register.message-lbfcALgz.js → register.message-C9zVQOWl.js} +2 -2
  120. package/dist/{register.message-BzVaP85q.js → register.message-CdCHhVND.js} +2 -2
  121. package/dist/{register.onboard-B_CORRMq.js → register.onboard-1HGg8A_B.js} +4 -4
  122. package/dist/{register.onboard-CxhJjGFr.js → register.onboard-CbGEztLT.js} +4 -4
  123. package/dist/{register.setup-DeT-WyJj.js → register.setup-8LYTLZMG.js} +4 -4
  124. package/dist/{register.setup-CYeKu0ru.js → register.setup-BRKstpuL.js} +4 -4
  125. package/dist/{register.status-health-sessions-BrNEfd3r.js → register.status-health-sessions-BLA4yUC4.js} +3 -3
  126. package/dist/{register.status-health-sessions-CYwrV6QO.js → register.status-health-sessions-BtGRpngz.js} +3 -3
  127. package/dist/{register.subclis-BCcY1GJC.js → register.subclis-FAdASegj.js} +9 -9
  128. package/dist/{registry-UkL38jvt.js → registry-DYq1AYOv.js} +17 -17
  129. package/dist/{replies-mfnbLu2p.js → replies-LSmuwOhA.js} +3 -3
  130. package/dist/{reply-BNLTgD0A.js → reply-C68F3IMq.js} +5 -5
  131. package/dist/{reply-prefix-DkGsdyBm.js → reply-prefix-DpqZu44Z.js} +1 -1
  132. package/dist/{resolve-route-q8AFnU5c.js → resolve-route-C4_I4GFI.js} +4 -4
  133. package/dist/{retry-CqMeDhyp.js → retry-BBVXkKBV.js} +1 -1
  134. package/dist/{run-main-BVSVpxZ3.js → run-main-DqKSUzps.js} +14 -14
  135. package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
  136. package/dist/{runner-BnAUcMiq.js → runner-WAG0M5s9.js} +22 -22
  137. package/dist/{send-Cd81AY_Z.js → send-CQAKg_12.js} +7 -7
  138. package/dist/{send-qItpAHcI.js → send-CVMyYPQw.js} +6 -6
  139. package/dist/{send-D3zDmQim.js → send-CvhXrdgS.js} +10 -10
  140. package/dist/{send-XRUYukww.js → send-DAN9hA5h.js} +6 -6
  141. package/dist/{send-B7z8CDbr.js → send-DYj_o4_F.js} +18 -18
  142. package/dist/{server-methods-BhRjuKEM.js → server-methods-B4IR7jcD.js} +7 -7
  143. package/dist/{server-methods-BYcfPp30.js → server-methods-n5oCz2e0.js} +7 -7
  144. package/dist/{server-node-events-BEzZn2VI.js → server-node-events---jWWBKN.js} +2 -2
  145. package/dist/{server-node-events-BsPi-QDx.js → server-node-events-C3hHerD3.js} +2 -2
  146. package/dist/{session-Dh2wWQkD.js → session-DSU1vxxi.js} +8 -8
  147. package/dist/{skill-commands-B_f8uGi7.js → skill-commands-DcVwOafC.js} +16 -16
  148. package/dist/{skills-CGHRETGF.js → skills-Bs0AW1g3.js} +24 -24
  149. package/dist/{sqlite-Bv87EXeg.js → sqlite-D_mz1_-y.js} +16 -16
  150. package/dist/{status-BZgA_AUW.js → status-8CbQSAEF.js} +1 -1
  151. package/dist/{status-C7VswIJF.js → status-ClvXAaHZ.js} +1 -1
  152. package/dist/{status-BB7l5YGy.js → status-CwhHbhUv.js} +2 -2
  153. package/dist/{status-D9MVzUtM.js → status-ITRlj7e_.js} +2 -2
  154. package/dist/{store-Ea3zM6xK.js → store-01F_JM7O.js} +6 -6
  155. package/dist/{subagent-registry-CT87UyVy.js → subagent-registry-BXI3DyAX.js} +5 -5
  156. package/dist/{subsystem-DN75fnEF.js → subsystem-BjyjJF-d.js} +1 -1
  157. package/dist/{tables-BX7_aBvN.js → tables-qMwbq29u.js} +1 -1
  158. package/dist/{target-errors-7KhTCTdS.js → target-errors-Bbr9rlzN.js} +2 -2
  159. package/dist/{thinking-C9-JAUzD.js → thinking-BprCy23Z.js} +5 -5
  160. package/dist/{tokens-BZGy4v--.js → tokens-Bux9Y_xD.js} +1 -1
  161. package/dist/{tool-images-B1qVCntj.js → tool-images-SqqWIT22.js} +2 -2
  162. package/dist/{tool-loop-detection-C8FBZVVx.js → tool-loop-detection-DR_rrIA1.js} +3 -3
  163. package/dist/{unified-runner-LSPKHmvx.js → unified-runner-Dy2eq7ZO.js} +223 -223
  164. package/dist/{update-cli-DEbsukOW.js → update-cli-0aSAmmmj.js} +8 -8
  165. package/dist/{update-cli-Dyg_WetV.js → update-cli-CfKfjAnO.js} +7 -7
  166. package/dist/{update-runner-3-pTGczW.js → update-runner-C17bqGvO.js} +1 -1
  167. package/dist/{update-runner-DYuIPErv.js → update-runner-e_ChofHM.js} +1 -1
  168. package/dist/{web-Bu_faeV-.js → web-BTiGD3po.js} +6 -6
  169. package/dist/{web-DyvSF1Pu.js → web-CP9nUIj0.js} +57 -57
  170. package/dist/{web-Q47zU0qb.js → web-Cih6rPbV.js} +2 -2
  171. package/dist/{web-CB7FYstW.js → web-Dr9gUjHz.js} +1 -1
  172. package/dist/{whatsapp-actions-SXenaJIn.js → whatsapp-actions-BIeSWsCF.js} +23 -23
  173. package/dist/{workspace-DqJ5h-ZB.js → workspace-DscDraUb.js} +27 -27
  174. package/package.json +1 -1
  175. package/dist/paths-CYmyCDsE.js +0 -212
@@ -1,17 +1,17 @@
1
- import { J as logVerbose, Z as shouldLogVerbose } from "./registry-UkL38jvt.js";
2
- import { _ as runExec } from "./workspace-DqJ5h-ZB.js";
3
- import { $ as resolveSymiAgentDir, A as normalizeGoogleModelId, B as resolveApiKeyForProvider, C as normalizeProviderId, z as requireApiKey } from "./auth-profiles-Bl9aU7fc.js";
4
- import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-CvmE3Yx1.js";
5
- import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-M5agStZn.js";
1
+ import { J as logVerbose, Z as shouldLogVerbose } from "./registry-DYq1AYOv.js";
2
+ import { _ as runExec } from "./workspace-DscDraUb.js";
3
+ import { $ as resolveSymiAgentDir, A as normalizeGoogleModelId, B as resolveApiKeyForProvider, C as normalizeProviderId, z as requireApiKey } from "./auth-profiles-DdK1Hxaa.js";
4
+ import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-5SdHIcHU.js";
5
+ import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-C7CauEK8.js";
6
6
  import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
7
- import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CE0mENPo.js";
8
- import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-C6Z-2T42.js";
7
+ import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CXu8W39c.js";
8
+ import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-Dy12ZAH3.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-DL3f_O53.js";
10
- import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-CdXg5-Cx.js";
10
+ import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-DhZz0Ybs.js";
11
11
  import path from "node:path";
12
12
  import { constants } from "node:fs";
13
13
  import os from "node:os";
14
- import fs from "node:fs/promises";
14
+ import fs$1 from "node:fs/promises";
15
15
  import { fileURLToPath } from "node:url";
16
16
  import crypto from "node:crypto";
17
17
  import process$1 from "node:process";
@@ -693,7 +693,7 @@ var MediaAttachmentCache = class {
693
693
  const size = await this.ensureLocalStat(entry);
694
694
  if (entry.resolvedPath) {
695
695
  if (size !== void 0 && size > params.maxBytes) throw new MediaUnderstandingSkipError("maxBytes", `Attachment ${params.attachmentIndex + 1} exceeds maxBytes ${params.maxBytes}`);
696
- const buffer = await fs.readFile(entry.resolvedPath);
696
+ const buffer = await fs$1.readFile(entry.resolvedPath);
697
697
  entry.buffer = buffer;
698
698
  entry.bufferMime = entry.bufferMime ?? entry.attachment.mime ?? await detectMime({
699
699
  buffer,
@@ -763,10 +763,10 @@ var MediaAttachmentCache = class {
763
763
  prefix: "symi-media",
764
764
  extension: path.extname(bufferResult.fileName || "") || ""
765
765
  });
766
- await fs.writeFile(tmpPath, bufferResult.buffer);
766
+ await fs$1.writeFile(tmpPath, bufferResult.buffer);
767
767
  entry.tempPath = tmpPath;
768
768
  entry.tempCleanup = async () => {
769
- await fs.unlink(tmpPath).catch(() => {});
769
+ await fs$1.unlink(tmpPath).catch(() => {});
770
770
  };
771
771
  return {
772
772
  path: tmpPath,
@@ -813,12 +813,12 @@ var MediaAttachmentCache = class {
813
813
  if (entry.statSize !== void 0) return entry.statSize;
814
814
  try {
815
815
  const currentPath = entry.resolvedPath;
816
- const stat = await fs.stat(currentPath);
816
+ const stat = await fs$1.stat(currentPath);
817
817
  if (!stat.isFile()) {
818
818
  entry.resolvedPath = void 0;
819
819
  return;
820
820
  }
821
- const canonicalPath = await fs.realpath(currentPath).catch(() => currentPath);
821
+ const canonicalPath = await fs$1.realpath(currentPath).catch(() => currentPath);
822
822
  if (!isInboundPathAllowed({
823
823
  filePath: canonicalPath,
824
824
  roots: await this.getCanonicalLocalPathRoots()
@@ -840,7 +840,7 @@ var MediaAttachmentCache = class {
840
840
  if (this.canonicalLocalPathRoots) return await this.canonicalLocalPathRoots;
841
841
  this.canonicalLocalPathRoots = (async () => mergeInboundPathRoots(this.localPathRoots, await Promise.all(this.localPathRoots.map(async (root) => {
842
842
  if (root.includes("*")) return root;
843
- return await fs.realpath(root).catch(() => root);
843
+ return await fs$1.realpath(root).catch(() => root);
844
844
  }))))();
845
845
  return await this.canonicalLocalPathRoots;
846
846
  }
@@ -882,7 +882,7 @@ async function loadModelCatalog(params) {
882
882
  });
883
883
  try {
884
884
  await ensureSymiModelsJson(params?.config ?? loadConfig());
885
- await (await import("./pi-auth-json-BYuCWAs0.js")).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir());
885
+ await (await import("./pi-auth-json-Bk8ERadJ.js")).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir());
886
886
  const piSdk = await importPiSdk();
887
887
  const agentDir = resolveSymiAgentDir();
888
888
  const { join } = await import("node:path");
@@ -942,7 +942,7 @@ function findModelInCatalog(catalog, provider, modelId) {
942
942
  async function fileExists(filePath) {
943
943
  if (!filePath) return false;
944
944
  try {
945
- await fs.stat(filePath);
945
+ await fs$1.stat(filePath);
946
946
  return true;
947
947
  } catch {
948
948
  return false;
@@ -1042,7 +1042,7 @@ async function resolveCliOutput(params) {
1042
1042
  const commandId = commandBase(params.command);
1043
1043
  const fileOutput = commandId === "whisper-cli" ? resolveWhisperCppOutputPath(params.args) : commandId === "whisper" ? resolveWhisperOutputPath(params.args, params.mediaPath) : null;
1044
1044
  if (fileOutput && await fileExists(fileOutput)) try {
1045
- const content = await fs.readFile(fileOutput, "utf8");
1045
+ const content = await fs$1.readFile(fileOutput, "utf8");
1046
1046
  if (content.trim()) return content.trim();
1047
1047
  } catch {}
1048
1048
  if (commandId === "gemini") {
@@ -1333,7 +1333,7 @@ async function runCliEntry(params) {
1333
1333
  maxBytes,
1334
1334
  timeoutMs
1335
1335
  });
1336
- const outputDir = await fs.mkdtemp(path.join(os.tmpdir(), "symi-media-cli-"));
1336
+ const outputDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "symi-media-cli-"));
1337
1337
  const mediaPath = pathResult.path;
1338
1338
  const outputBase = path.join(outputDir, path.parse(mediaPath).name);
1339
1339
  const templCtx = {
@@ -1367,7 +1367,7 @@ async function runCliEntry(params) {
1367
1367
  model: command
1368
1368
  };
1369
1369
  } finally {
1370
- await fs.rm(outputDir, {
1370
+ await fs$1.rm(outputDir, {
1371
1371
  recursive: true,
1372
1372
  force: true
1373
1373
  }).catch(() => {});
@@ -1411,9 +1411,9 @@ function candidateBinaryNames(name) {
1411
1411
  }
1412
1412
  async function isExecutable(filePath) {
1413
1413
  try {
1414
- if (!(await fs.stat(filePath)).isFile()) return false;
1414
+ if (!(await fs$1.stat(filePath)).isFile()) return false;
1415
1415
  if (process.platform === "win32") return true;
1416
- await fs.access(filePath, constants.X_OK);
1416
+ await fs$1.access(filePath, constants.X_OK);
1417
1417
  return true;
1418
1418
  } catch {
1419
1419
  return false;
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { I as resolveUserPath, M as normalizeE164 } from "./registry-UkL38jvt.js";
3
- import { n as loadConfig } from "./config-CvmE3Yx1.js";
4
- import { v as mediaKindFromMime } from "./image-ops-M5agStZn.js";
5
- import { t as resolveIMessageAccount } from "./accounts-dRUMQQrB.js";
6
- import { n as resolveMarkdownTableMode } from "./markdown-tables-tW9bGjLM.js";
7
- import { t as convertMarkdownTables } from "./tables-BX7_aBvN.js";
8
- import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-CHcmlip8.js";
2
+ import { I as resolveUserPath, M as normalizeE164 } from "./registry-DYq1AYOv.js";
3
+ import { n as loadConfig } from "./config-5SdHIcHU.js";
4
+ import { v as mediaKindFromMime } from "./image-ops-C7CauEK8.js";
5
+ import { t as resolveIMessageAccount } from "./accounts-3dCrO3oZ.js";
6
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-C-BmIap8.js";
7
+ import { t as convertMarkdownTables } from "./tables-qMwbq29u.js";
8
+ import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DJldbweZ.js";
9
9
  import { spawn } from "node:child_process";
10
10
  import { createInterface } from "node:readline";
11
11
 
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { J as logVerbose } from "./registry-UkL38jvt.js";
3
- import { n as loadConfig } from "./config-CvmE3Yx1.js";
4
- import { d as resolveSlackAccount, m as resolveSlackBotToken } from "./plugins-Bkr5ZdYs.js";
2
+ import { J as logVerbose } from "./registry-DYq1AYOv.js";
3
+ import { n as loadConfig } from "./config-5SdHIcHU.js";
4
+ import { d as resolveSlackAccount, m as resolveSlackBotToken } from "./plugins-BzmbgY7s.js";
5
5
  import { a as requireTargetKind, i as parseTargetPrefixes, n as ensureTargetId, r as parseTargetMention, t as buildMessagingTarget } from "./targets-DGkXkFPj.js";
6
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-DR8ukp6r.js";
7
- import { n as resolveMarkdownTableMode } from "./markdown-tables-tW9bGjLM.js";
8
- import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-B-XXcYFe.js";
6
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-09egQapi.js";
7
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-C-BmIap8.js";
8
+ import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-CTiz95Vb.js";
9
9
  import { t as renderMarkdownWithMarkers } from "./render-CDCvpfhh.js";
10
10
  import { WebClient } from "@slack/web-api";
11
11
 
@@ -1,17 +1,17 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { dt as resolvePreferredSymiTmpDir } from "./registry-UkL38jvt.js";
3
- import { n as loadConfig } from "./config-CvmE3Yx1.js";
4
- import { _ as maxBytesForKind, l as extensionForMime } from "./image-ops-M5agStZn.js";
5
- import { _ as resolveDiscordAccount, v as normalizeDiscordToken } from "./plugins-Bkr5ZdYs.js";
2
+ import { dt as resolvePreferredSymiTmpDir } from "./registry-DYq1AYOv.js";
3
+ import { n as loadConfig } from "./config-5SdHIcHU.js";
4
+ import { _ as maxBytesForKind, l as extensionForMime } from "./image-ops-C7CauEK8.js";
5
+ import { _ as resolveDiscordAccount, v as normalizeDiscordToken } from "./plugins-BzmbgY7s.js";
6
6
  import { a as requireTargetKind, i as parseTargetPrefixes, n as ensureTargetId, r as parseTargetMention, t as buildMessagingTarget } from "./targets-DGkXkFPj.js";
7
- import { n as retryAsync, t as resolveRetryConfig } from "./retry-CqMeDhyp.js";
8
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode } from "./chunk-DR8ukp6r.js";
9
- import { n as resolveMarkdownTableMode } from "./markdown-tables-tW9bGjLM.js";
10
- import { a as loadWebMedia, o as loadWebMediaRaw } from "./ir-B-XXcYFe.js";
7
+ import { n as retryAsync, t as resolveRetryConfig } from "./retry-BBVXkKBV.js";
8
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode } from "./chunk-09egQapi.js";
9
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-C-BmIap8.js";
10
+ import { a as loadWebMedia, o as loadWebMediaRaw } from "./ir-CTiz95Vb.js";
11
11
  import { t as resolveFetch } from "./fetch-Bso4i15F.js";
12
- import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-DK0AV-r9.js";
12
+ import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-B6G1jnQT.js";
13
13
  import { n as normalizePollInput, t as normalizePollDurationHours } from "./polls-CCuCaqgv.js";
14
- import { t as convertMarkdownTables } from "./tables-BX7_aBvN.js";
14
+ import { t as convertMarkdownTables } from "./tables-qMwbq29u.js";
15
15
  import path from "node:path";
16
16
  import fs from "node:fs/promises";
17
17
  import { execFile } from "node:child_process";
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { n as loadConfig } from "./config-CvmE3Yx1.js";
3
- import { v as mediaKindFromMime } from "./image-ops-M5agStZn.js";
4
- import { n as resolveSignalAccount } from "./accounts-wSphH5gv.js";
5
- import { n as resolveMarkdownTableMode } from "./markdown-tables-tW9bGjLM.js";
2
+ import { n as loadConfig } from "./config-5SdHIcHU.js";
3
+ import { v as mediaKindFromMime } from "./image-ops-C7CauEK8.js";
4
+ import { n as resolveSignalAccount } from "./accounts-BuZxOb3B.js";
5
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-C-BmIap8.js";
6
6
  import { n as fetchWithTimeout } from "./fetch-timeout-DL3f_O53.js";
7
- import { n as markdownToIR, t as chunkMarkdownIR } from "./ir-B-XXcYFe.js";
7
+ import { n as markdownToIR, t as chunkMarkdownIR } from "./ir-CTiz95Vb.js";
8
8
  import { t as resolveFetch } from "./fetch-Bso4i15F.js";
9
- import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-CHcmlip8.js";
9
+ import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DJldbweZ.js";
10
10
  import { randomUUID } from "node:crypto";
11
11
 
12
12
  //#region src/signal/format.ts
@@ -1,23 +1,23 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { a as resolveOAuthDir, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CYmyCDsE.js";
3
- import { G as danger, J as logVerbose, L as safeParseJson } from "./registry-UkL38jvt.js";
4
- import { t as createSubsystemLogger } from "./subsystem-DN75fnEF.js";
5
- import { p as withFileLock$1 } from "./auth-profiles-Bl9aU7fc.js";
6
- import { t as isTruthyEnvValue } from "./env-xmBFQPBP.js";
7
- import { n as loadConfig } from "./config-CvmE3Yx1.js";
2
+ import { a as resolveOAuthDir, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CE7eVGHg.js";
3
+ import { G as danger, J as logVerbose, L as safeParseJson } from "./registry-DYq1AYOv.js";
4
+ import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
5
+ import { p as withFileLock$1 } from "./auth-profiles-DdK1Hxaa.js";
6
+ import { t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
7
+ import { n as loadConfig } from "./config-5SdHIcHU.js";
8
8
  import { t as redactSensitiveText } from "./redact-BDMXB06K.js";
9
9
  import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-XIsvXeC-.js";
10
- import { h as normalizeMimeType, p as isGifMedia, u as getFileExtension, v as mediaKindFromMime } from "./image-ops-M5agStZn.js";
11
- import { l as resolveTelegramAccount, n as listChannelPlugins, t as getChannelPlugin } from "./plugins-Bkr5ZdYs.js";
12
- import { n as resolveMarkdownTableMode } from "./markdown-tables-tW9bGjLM.js";
13
- import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-B-XXcYFe.js";
10
+ import { h as normalizeMimeType, p as isGifMedia, u as getFileExtension, v as mediaKindFromMime } from "./image-ops-C7CauEK8.js";
11
+ import { l as resolveTelegramAccount, n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BzmbgY7s.js";
12
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-C-BmIap8.js";
13
+ import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-CTiz95Vb.js";
14
14
  import { t as renderMarkdownWithMarkers } from "./render-CDCvpfhh.js";
15
15
  import { t as resolveFetch } from "./fetch-Bso4i15F.js";
16
- import { i as createTelegramRetryRunner, n as recordChannelActivity } from "./channel-activity-DK0AV-r9.js";
16
+ import { i as createTelegramRetryRunner, n as recordChannelActivity } from "./channel-activity-B6G1jnQT.js";
17
17
  import { n as normalizePollInput } from "./polls-CCuCaqgv.js";
18
18
  import { t as makeProxyFetch } from "./proxy-CBJ1upuz.js";
19
19
  import path from "node:path";
20
- import fsSync from "node:fs";
20
+ import fs from "node:fs";
21
21
  import os from "node:os";
22
22
  import crypto from "node:crypto";
23
23
  import process$1 from "node:process";
@@ -131,7 +131,7 @@ function getPairingAdapter(channelId) {
131
131
  //#region src/plugin-sdk/json-store.ts
132
132
  async function readJsonFileWithFallback(filePath, fallback) {
133
133
  try {
134
- const parsed = safeParseJson(await fsSync.promises.readFile(filePath, "utf-8"));
134
+ const parsed = safeParseJson(await fs.promises.readFile(filePath, "utf-8"));
135
135
  if (parsed == null) return {
136
136
  value: fallback,
137
137
  exists: true
@@ -153,14 +153,14 @@ async function readJsonFileWithFallback(filePath, fallback) {
153
153
  }
154
154
  async function writeJsonFileAtomically(filePath, value) {
155
155
  const dir = path.dirname(filePath);
156
- await fsSync.promises.mkdir(dir, {
156
+ await fs.promises.mkdir(dir, {
157
157
  recursive: true,
158
158
  mode: 448
159
159
  });
160
160
  const tmp = path.join(dir, `${path.basename(filePath)}.${crypto.randomUUID()}.tmp`);
161
- await fsSync.promises.writeFile(tmp, `${JSON.stringify(value, null, 2)}\n`, { encoding: "utf-8" });
162
- await fsSync.promises.chmod(tmp, 384);
163
- await fsSync.promises.rename(tmp, filePath);
161
+ await fs.promises.writeFile(tmp, `${JSON.stringify(value, null, 2)}\n`, { encoding: "utf-8" });
162
+ await fs.promises.chmod(tmp, 384);
163
+ await fs.promises.rename(tmp, filePath);
164
164
  }
165
165
 
166
166
  //#endregion
@@ -221,7 +221,7 @@ async function readPairingRequests(filePath) {
221
221
  }
222
222
  async function ensureJsonFile(filePath, fallback) {
223
223
  try {
224
- await fsSync.promises.access(filePath);
224
+ await fs.promises.access(filePath);
225
225
  } catch {
226
226
  await writeJsonFile(filePath, fallback);
227
227
  }
@@ -12,7 +12,7 @@ import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessa
12
12
  import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Byh6drgn.js";
13
13
  import { s as pickPrimaryLanIPv4 } from "./net-DZ5Ayk-W.js";
14
14
  import { i as normalizeInputProvenance } from "./input-provenance-D0lNkCf6.js";
15
- import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-CT87UyVy.js";
15
+ import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-BXI3DyAX.js";
16
16
  import { F as resolveMainSessionKey, I as resolveMainSessionKeyFromConfig, J as normalizeSessionDeliveryFields, N as resolveAgentMainSessionKey, P as resolveExplicitAgentSessionKey, R as snapshotSessionOrigin, S as stripEnvelopeFromMessages, _ as capArrayByJsonBytes, d as updateSessionStore, g as archiveSessionTranscripts, h as archiveFileOnDisk, o as loadSessionStore, t as extractDeliveryInfo, v as readSessionMessages, x as resolveSessionTranscriptCandidates, y as readSessionPreviewItemsFromTranscript } from "./sessions-CJXnZVjR.js";
17
17
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
18
18
  import { n as createBrowserRouteDispatcher } from "./with-timeout-Di0nddLY.js";
@@ -37,14 +37,14 @@ import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
37
37
  import { t as resolveChannelDefaultAccountId } from "./helpers-cLP5YLeQ.js";
38
38
  import { t as buildChannelAccountSnapshot } from "./status-BUedPCLb.js";
39
39
  import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-Byo5jCLN.js";
40
- import { r as getStatusSummary } from "./status-BB7l5YGy.js";
41
- import { c as setHeartbeatsEnabled } from "./health-qWkLoxz7.js";
40
+ import { r as getStatusSummary } from "./status-CwhHbhUv.js";
41
+ import { c as setHeartbeatsEnabled } from "./health-BNxdveY8.js";
42
42
  import { m as normalizeUpdateChannel } from "./update-check-ZdimP1aU.js";
43
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-DWLiMsGQ.js";
44
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-CQ90zDyI.js";
43
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-BzIW-JHE.js";
44
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BDtgUDFp.js";
45
45
  import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
46
46
  import { t as installSkill } from "./skills-install-1ZdwGTnh.js";
47
- import { t as runGatewayUpdate } from "./update-runner-DYuIPErv.js";
47
+ import { t as runGatewayUpdate } from "./update-runner-e_ChofHM.js";
48
48
  import { spawnSync } from "node:child_process";
49
49
  import * as os$1 from "node:os";
50
50
  import os from "node:os";
@@ -6851,7 +6851,7 @@ const nodeHandlers = {
6851
6851
  const p = params;
6852
6852
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
6853
6853
  await respondUnavailableOnThrow(respond, async () => {
6854
- const { handleNodeEvent } = await import("./server-node-events-BsPi-QDx.js");
6854
+ const { handleNodeEvent } = await import("./server-node-events-C3hHerD3.js");
6855
6855
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
6856
6856
  await handleNodeEvent({
6857
6857
  deps: context.deps,
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir, t as CONFIG_PATH } from "./paths-Cqn-zk3M.js";
2
2
  import { D as isPlainObject, U as getResolvedLoggerSettings, r as clamp, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-EAliFiVK.js";
4
- import { $n as OPENAI_TTS_MODELS, Bn as registerAgentRunContext, Bt as abortEmbeddedPiRun, C as ensureOutboundSessionEntry, Et as agentCommand, Ft as normalizeSendPolicy, G as normalizeCronJobPatch, Gn as resolveTtsApiKey, H as writeRestartSentinel, Hn as getTtsProvider, Ht as waitForEmbeddedPiRunEnd, It as resolveSendPolicy, Jn as resolveTtsPrefsPath, Kn as resolveTtsAutoMode, L as formatDoctorNonInteractiveHint, Mn as listSubagentRunsForRequester, Mt as resolveOutboundTarget, N as scheduleGatewaySigusr1Restart, Ot as resolveAgentDeliveryPlan, Pr as resolveAgentTimeoutMs, Qn as textToSpeech, Rt as createOutboundSendDeps, Sr as isSystemEventContextChanged, Tn as stopSubagentsForRequester, Un as isTtsEnabled, Vn as resolveUserTimezone, W as normalizeCronJobCreate, Wn as isTtsProviderConfigured, Xn as setTtsEnabled, Yn as resolveTtsProviderOrder, Zn as setTtsProvider, _ as loadCombinedSessionStoreForGateway, at as persistBrowserProxyFiles, b as resolveGatewaySessionStoreTarget, br as parseVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_VOICES, ft as loadSymiPlugins, g as listSessionsFromStore, gt as loadProviderUsageSummary, h as listAgentsForGateway, in as unbindThreadBindingsBySessionKey, it as applyBrowserProxyPaths, jn as listDescendantRunsForRequester, kt as resolveAgentOutboundTarget, mn as createReplyDispatcher, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, p as canonicalizeSpawnedByForAgent, pn as dispatchInboundMessage, qn as resolveTtsConfig, v as loadSessionEntry, vr as applyModelOverrideToSessionEntry, w as resolveOutboundSessionRoute, wn as isAbortTrigger, x as resolveSessionModelRef, xn as formatZonedTimestamp, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys, yr as applyVerboseOverride, zn as onAgentEvent } from "./reply-BNLTgD0A.js";
4
+ import { $n as OPENAI_TTS_MODELS, Bn as registerAgentRunContext, Bt as abortEmbeddedPiRun, C as ensureOutboundSessionEntry, Et as agentCommand, Ft as normalizeSendPolicy, G as normalizeCronJobPatch, Gn as resolveTtsApiKey, H as writeRestartSentinel, Hn as getTtsProvider, Ht as waitForEmbeddedPiRunEnd, It as resolveSendPolicy, Jn as resolveTtsPrefsPath, Kn as resolveTtsAutoMode, L as formatDoctorNonInteractiveHint, Mn as listSubagentRunsForRequester, Mt as resolveOutboundTarget, N as scheduleGatewaySigusr1Restart, Ot as resolveAgentDeliveryPlan, Pr as resolveAgentTimeoutMs, Qn as textToSpeech, Rt as createOutboundSendDeps, Sr as isSystemEventContextChanged, Tn as stopSubagentsForRequester, Un as isTtsEnabled, Vn as resolveUserTimezone, W as normalizeCronJobCreate, Wn as isTtsProviderConfigured, Xn as setTtsEnabled, Yn as resolveTtsProviderOrder, Zn as setTtsProvider, _ as loadCombinedSessionStoreForGateway, at as persistBrowserProxyFiles, b as resolveGatewaySessionStoreTarget, br as parseVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_VOICES, ft as loadSymiPlugins, g as listSessionsFromStore, gt as loadProviderUsageSummary, h as listAgentsForGateway, in as unbindThreadBindingsBySessionKey, it as applyBrowserProxyPaths, jn as listDescendantRunsForRequester, kt as resolveAgentOutboundTarget, mn as createReplyDispatcher, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, p as canonicalizeSpawnedByForAgent, pn as dispatchInboundMessage, qn as resolveTtsConfig, v as loadSessionEntry, vr as applyModelOverrideToSessionEntry, w as resolveOutboundSessionRoute, wn as isAbortTrigger, x as resolveSessionModelRef, xn as formatZonedTimestamp, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys, yr as applyVerboseOverride, zn as onAgentEvent } from "./reply-C68F3IMq.js";
5
5
  import { S as parseAgentSessionKey, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isSubagentSessionKey } from "./session-key-DCt45XZa.js";
6
6
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
7
7
  import { C as createInternalHookEvent, T as triggerInternalHook, d as getActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, t as CHANNEL_IDS } from "./registry-Cja8eT7G.js";
@@ -39,14 +39,14 @@ import { t as WizardCancelledError } from "./prompts-Xu2Sveka.js";
39
39
  import { t as resolveChannelDefaultAccountId } from "./helpers-BcGbMZD1.js";
40
40
  import { t as buildChannelAccountSnapshot } from "./status-BrV-afZE.js";
41
41
  import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-CrITRV6w.js";
42
- import { n as getStatusSummary } from "./status-D9MVzUtM.js";
43
- import { s as setHeartbeatsEnabled } from "./health-DK1EhshZ.js";
42
+ import { n as getStatusSummary } from "./status-ITRlj7e_.js";
43
+ import { s as setHeartbeatsEnabled } from "./health-pFcca1cU.js";
44
44
  import { m as normalizeUpdateChannel } from "./update-check-CtckACbb.js";
45
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-DZvXSHuB.js";
46
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-Bra6UznM.js";
45
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-Bmd6SdxC.js";
46
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BKjYekzK.js";
47
47
  import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
48
48
  import { t as installSkill } from "./skills-install-D67isO1L.js";
49
- import { t as runGatewayUpdate } from "./update-runner-3-pTGczW.js";
49
+ import { t as runGatewayUpdate } from "./update-runner-C17bqGvO.js";
50
50
  import * as fs$2 from "node:fs";
51
51
  import fs from "node:fs";
52
52
  import * as os$1 from "node:os";
@@ -6853,7 +6853,7 @@ const nodeHandlers = {
6853
6853
  const p = params;
6854
6854
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
6855
6855
  await respondUnavailableOnThrow(respond, async () => {
6856
- const { handleNodeEvent } = await import("./server-node-events-BEzZn2VI.js");
6856
+ const { handleNodeEvent } = await import("./server-node-events---jWWBKN.js");
6857
6857
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
6858
6858
  await handleNodeEvent({
6859
6859
  deps: context.deps,
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { Et as agentCommand, Mt as resolveOutboundTarget, Pt as createOutboundSendDeps, b as resolveGatewaySessionStoreTarget, st as requestHeartbeatNow, v as loadSessionEntry, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys } from "./reply-BNLTgD0A.js";
4
+ import { Et as agentCommand, Mt as resolveOutboundTarget, Pt as createOutboundSendDeps, b as resolveGatewaySessionStoreTarget, st as requestHeartbeatNow, v as loadSessionEntry, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys } from "./reply-C68F3IMq.js";
5
5
  import { c as normalizeMainKey } from "./session-key-DCt45XZa.js";
6
6
  import "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
@@ -102,7 +102,7 @@ import "./pi-tools.policy-CIDBbw6x.js";
102
102
  import "./control-service-Bz7rxLWq.js";
103
103
  import "./stagger-BUClb97_.js";
104
104
  import "./channel-selection-DuWs0Aak.js";
105
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-DZvXSHuB.js";
105
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-Bmd6SdxC.js";
106
106
  import { randomUUID } from "node:crypto";
107
107
 
108
108
  //#region src/gateway/server-node-events.ts
@@ -14,7 +14,7 @@ import "./client-DMBZpU6X.js";
14
14
  import "./call-BcE47FtD.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import { Cn as enqueueSystemEvent, T as createOutboundSendDeps, dn as requestHeartbeatNow, dt as resolveOutboundTarget, x as agentCommand } from "./subagent-registry-CT87UyVy.js";
17
+ import { Cn as enqueueSystemEvent, T as createOutboundSendDeps, dn as requestHeartbeatNow, dt as resolveOutboundTarget, x as agentCommand } from "./subagent-registry-BXI3DyAX.js";
18
18
  import { d as updateSessionStore } from "./sessions-CJXnZVjR.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import { r as normalizeChannelId } from "./plugins-CwSlLxM8.js";
@@ -98,7 +98,7 @@ import "./onboard-helpers-_pit1NZW.js";
98
98
  import "./prompt-style-DwCXob2h.js";
99
99
  import "./pairing-labels-D1HDboV2.js";
100
100
  import "./pi-tools.policy-De00gPXt.js";
101
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-DWLiMsGQ.js";
101
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-BzIW-JHE.js";
102
102
  import { randomUUID } from "node:crypto";
103
103
 
104
104
  //#region src/gateway/server-node-events.ts
@@ -1,8 +1,8 @@
1
- import { E as ensureDir, G as danger, I as resolveUserPath, Q as success, ot as toPinoLikeLogger, rt as getChildLogger } from "./registry-UkL38jvt.js";
2
- import { n as formatCliCommand } from "./env-xmBFQPBP.js";
3
- import { A as VERSION } from "./config-CvmE3Yx1.js";
4
- import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./accounts-D1r2dq1t.js";
5
- import fsSync from "node:fs";
1
+ import { E as ensureDir, G as danger, I as resolveUserPath, Q as success, ot as toPinoLikeLogger, rt as getChildLogger } from "./registry-DYq1AYOv.js";
2
+ import { n as formatCliCommand } from "./env-BDXYbTKj.js";
3
+ import { A as VERSION } from "./config-5SdHIcHU.js";
4
+ import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./accounts-BRw8yhIW.js";
5
+ import fs from "node:fs";
6
6
  import { randomUUID } from "node:crypto";
7
7
  import { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "@whiskeysockets/baileys";
8
8
  import qrcode from "qrcode-terminal";
@@ -21,16 +21,16 @@ async function safeSaveCreds(authDir, saveCreds, logger) {
21
21
  const raw = readCredsJsonRaw(credsPath);
22
22
  if (raw) try {
23
23
  JSON.parse(raw);
24
- fsSync.copyFileSync(credsPath, backupPath);
24
+ fs.copyFileSync(credsPath, backupPath);
25
25
  try {
26
- fsSync.chmodSync(backupPath, 384);
26
+ fs.chmodSync(backupPath, 384);
27
27
  } catch {}
28
28
  } catch {}
29
29
  } catch {}
30
30
  try {
31
31
  await Promise.resolve(saveCreds());
32
32
  try {
33
- fsSync.chmodSync(resolveWebCredsPath(authDir), 384);
33
+ fs.chmodSync(resolveWebCredsPath(authDir), 384);
34
34
  } catch {}
35
35
  } catch (err) {
36
36
  logger.warn({ error: String(err) }, "failed saving WhatsApp creds");
@@ -1,21 +1,21 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { s as resolveStateDir } from "./paths-CYmyCDsE.js";
3
- import { I as resolveUserPath, S as CONFIG_DIR } from "./registry-UkL38jvt.js";
4
- import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "./agent-scope-D68_xfTL.js";
5
- import { t as createSubsystemLogger } from "./subsystem-DN75fnEF.js";
6
- import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-CGHRETGF.js";
7
- import { i as listChatCommands } from "./commands-registry-DIakZUZb.js";
2
+ import { s as resolveStateDir } from "./paths-CE7eVGHg.js";
3
+ import { I as resolveUserPath, S as CONFIG_DIR } from "./registry-DYq1AYOv.js";
4
+ import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "./agent-scope-CpEJ0B88.js";
5
+ import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
6
+ import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-Bs0AW1g3.js";
7
+ import { i as listChatCommands } from "./commands-registry-Bfc7Uz0o.js";
8
8
  import path from "node:path";
9
- import fsSync from "node:fs";
9
+ import fs from "node:fs";
10
10
  import os from "node:os";
11
- import fs from "node:fs/promises";
11
+ import fs$1 from "node:fs/promises";
12
12
  import { randomUUID } from "node:crypto";
13
13
  import chokidar from "chokidar";
14
14
 
15
15
  //#region src/infra/json-files.ts
16
16
  async function readJsonFile(filePath) {
17
17
  try {
18
- const raw = await fs.readFile(filePath, "utf8");
18
+ const raw = await fs$1.readFile(filePath, "utf8");
19
19
  return JSON.parse(raw);
20
20
  } catch {
21
21
  return null;
@@ -24,15 +24,15 @@ async function readJsonFile(filePath) {
24
24
  async function writeJsonAtomic(filePath, value, options) {
25
25
  const mode = options?.mode ?? 384;
26
26
  const dir = path.dirname(filePath);
27
- await fs.mkdir(dir, { recursive: true });
27
+ await fs$1.mkdir(dir, { recursive: true });
28
28
  const tmp = `${filePath}.${randomUUID()}.tmp`;
29
- await fs.writeFile(tmp, JSON.stringify(value, null, 2), "utf8");
29
+ await fs$1.writeFile(tmp, JSON.stringify(value, null, 2), "utf8");
30
30
  try {
31
- await fs.chmod(tmp, mode);
31
+ await fs$1.chmod(tmp, mode);
32
32
  } catch {}
33
- await fs.rename(tmp, filePath);
33
+ await fs$1.rename(tmp, filePath);
34
34
  try {
35
- await fs.chmod(filePath, mode);
35
+ await fs$1.chmod(filePath, mode);
36
36
  } catch {}
37
37
  }
38
38
  function createAsyncLock() {
@@ -283,8 +283,8 @@ function listSkillCommandsForAgents(params) {
283
283
  const visitedDirs = /* @__PURE__ */ new Set();
284
284
  for (const agentId of agentIds) {
285
285
  const workspaceDir = resolveAgentWorkspaceDir(params.cfg, agentId);
286
- if (!fsSync.existsSync(workspaceDir)) continue;
287
- const canonicalDir = fsSync.realpathSync(workspaceDir);
286
+ if (!fs.existsSync(workspaceDir)) continue;
287
+ const canonicalDir = fs.realpathSync(workspaceDir);
288
288
  if (visitedDirs.has(canonicalDir)) continue;
289
289
  visitedDirs.add(canonicalDir);
290
290
  const commands = buildWorkspaceSkillCommandSpecs(workspaceDir, {