@symerian/symi 2.8.14 → 2.8.15

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 (281) hide show
  1. package/dist/{accounts-wWWkC0JH.js → accounts-3dCrO3oZ.js} +1 -1
  2. package/dist/{accounts-BsgY6sda.js → accounts-BRw8yhIW.js} +21 -21
  3. package/dist/{accounts-Bsg6r6H7.js → accounts-BuZxOb3B.js} +1 -1
  4. package/dist/{acp-cli-D7uCUCr8.js → acp-cli-BgR7mxTS.js} +2 -2
  5. package/dist/{acp-cli-CAU8UW9I.js → acp-cli-D1JYg9c1.js} +2 -2
  6. package/dist/{active-listener-AVNn5_U9.js → active-listener-BVZOh2T1.js} +1 -1
  7. package/dist/{agent-scope-Cpm7a9ss.js → agent-scope-CpEJ0B88.js} +3 -3
  8. package/dist/{agents-DlAvDWxz.js → agents-BhhAcFrX.js} +5 -5
  9. package/dist/{agents.config-BKKMbeeE.js → agents.config-BOvsz6E6.js} +1 -1
  10. package/dist/{agents.config-Dd-11klq.js → agents.config-D967tgmP.js} +1 -1
  11. package/dist/{audio-preflight-rrz8KyHd.js → audio-preflight-Cb-T0r6e.js} +29 -29
  12. package/dist/{audio-preflight-C6vpFnOG.js → audio-preflight-NdNUAZ0y.js} +4 -4
  13. package/dist/{audit-CB97BqHJ.js → audit-Dr_8rC6G.js} +2 -2
  14. package/dist/{audit-BhCJV2l6.js → audit-xiwEIT96.js} +2 -2
  15. package/dist/{auth-choice-C6woT6k2.js → auth-choice-DEKKbufH.js} +2 -2
  16. package/dist/{auth-choice-CRQRPwQt.js → auth-choice-Pzy-t2mh.js} +2 -2
  17. package/dist/{auth-profiles-BzB_Exeq.js → auth-profiles-C2vj6htZ.js} +17 -17
  18. package/dist/{banner-DrNha2_N.js → banner-CiHQEfyr.js} +1 -1
  19. package/dist/{bindings-xcRox9xM.js → bindings-BsHoBLIE.js} +2 -2
  20. package/dist/{browser-cli-5ME9iiC3.js → browser-cli-BQeCPbES.js} +3 -3
  21. package/dist/{browser-cli-BTci35qB.js → browser-cli-IXepRCZR.js} +3 -3
  22. package/dist/build-info.json +3 -3
  23. package/dist/bundled/boot-md/handler.js +54 -54
  24. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  25. package/dist/bundled/command-logger/handler.js +1 -1
  26. package/dist/bundled/session-memory/handler.js +54 -54
  27. package/dist/{call-Cmb04dff.js → call-BkJK3eYP.js} +2 -1
  28. package/dist/{call-BrRWr7Lj.js → call-CAGvQYXj.js} +2 -1
  29. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  30. package/dist/{channel-activity-CzHaIUAp.js → channel-activity-D8QD7GoV.js} +1 -1
  31. package/dist/{channel-options-D8q9En4T.js → channel-options-DGuilErd.js} +1 -1
  32. package/dist/{channel-options-DYy2sCfN.js → channel-options-_erlRi2w.js} +1 -1
  33. package/dist/{channel-web-CRBU4eZk.js → channel-web-DwfovJKQ.js} +1 -1
  34. package/dist/{channels-cli-Dk3kUw9A.js → channels-cli-B2Zf1oz9.js} +9 -9
  35. package/dist/{channels-cli-BUk43hHR.js → channels-cli-DUsK2bXE.js} +9 -9
  36. package/dist/{chrome-DwXnykXR.js → chrome-BUT--ob3.js} +23 -23
  37. package/dist/{chrome-B14NNyfm.js → chrome-ROtrXlNs.js} +5 -5
  38. package/dist/{chunk-BcxcL1U3.js → chunk-BRe1o4Af.js} +1 -1
  39. package/dist/cli/daemon-cli.js +1 -1
  40. package/dist/{cli-5gWsnsB7.js → cli-BpmyiZc9.js} +6 -6
  41. package/dist/{cli-DjZzJy3t.js → cli-DUiSlxsb.js} +6 -6
  42. package/dist/{client-C7AOOnKZ.js → client-CYsBIR3j.js} +27 -1
  43. package/dist/{client-qUlxXXVJ.js → client-Cmq13-uF.js} +27 -1
  44. package/dist/{command-registry-LjFltTU9.js → command-registry-B8LVEWW9.js} +11 -11
  45. package/dist/{commands-registry-ByGkL6hs.js → commands-registry-DxbSTLNQ.js} +4 -4
  46. package/dist/{completion-cli-BVTGy8th.js → completion-cli-D-_MV8eA.js} +1 -1
  47. package/dist/{completion-cli-Cf6fYZWL.js → completion-cli-DZeK6_ev.js} +2 -2
  48. package/dist/{config-C4WnAd-c.js → config-BkZ9HOKT.js} +17 -17
  49. package/dist/{config-cli-C7DIbGxx.js → config-cli-B7ZvHIMY.js} +1 -1
  50. package/dist/{config-cli-EgWrCemi.js → config-cli-D_m0QL6c.js} +1 -1
  51. package/dist/{configure-B67uIawm.js → configure-DFg-N_i2.js} +6 -6
  52. package/dist/{configure-Bk-snuxh.js → configure-DXml-xDR.js} +6 -6
  53. package/dist/{consolidate-DRtVvG2U.js → consolidate-07QMweFF.js} +4 -4
  54. package/dist/control-ui/index.html +7 -0
  55. package/dist/control-ui/js/menu.js +2 -0
  56. package/dist/control-ui/js/settings.js +1 -0
  57. package/dist/{cron-cli-CGJveo7P.js → cron-cli-CZCm3aLt.js} +3 -3
  58. package/dist/{cron-cli-Crh_r2aK.js → cron-cli-Dq2FEfK1.js} +3 -3
  59. package/dist/{daemon-cli-Cq-IaYw4.js → daemon-cli-B2_uIgDM.js} +2 -2
  60. package/dist/{daemon-cli-CAIg9sMo.js → daemon-cli-CweMes2K.js} +2 -2
  61. package/dist/daemon-cli.js +27 -0
  62. package/dist/{deliver-SLYAWE19.js → deliver-B0OUq6RP.js} +20 -20
  63. package/dist/{deliver-D0bWiRCg.js → deliver-B_Q_nWJV.js} +1 -1
  64. package/dist/{devices-cli-CUT_8CuJ.js → devices-cli-3ui-Wcaj.js} +2 -2
  65. package/dist/{devices-cli-hSn5vjJZ.js → devices-cli-DeoPyzAd.js} +2 -2
  66. package/dist/{diagnostic-DTkZsRNM.js → diagnostic-BUcR3Meg.js} +1 -1
  67. package/dist/{doctor-completion-lE_33xaY.js → doctor-completion-CQXl3jf4.js} +1 -1
  68. package/dist/{doctor-completion-By066O3p.js → doctor-completion-Cu7DwgVw.js} +1 -1
  69. package/dist/entry.js +1 -1
  70. package/dist/{env-CB65jmJQ.js → env-BDXYbTKj.js} +1 -1
  71. package/dist/{exec-approvals-cli-BTfZiH6z.js → exec-approvals-cli-Bx9loYnQ.js} +4 -4
  72. package/dist/{exec-approvals-cli-DTad2Zi_.js → exec-approvals-cli-CTEn_Eu_.js} +4 -4
  73. package/dist/extensionAPI.js +7 -7
  74. package/dist/{frontmatter-CT1M0pRK.js → frontmatter-CTR5f_Ez.js} +4 -4
  75. package/dist/{gateway-cli-DqEgqVKC.js → gateway-cli-B2XchN3Y.js} +34 -16
  76. package/dist/{gateway-cli-C6uT2x34.js → gateway-cli-P0olUhID.js} +34 -16
  77. package/dist/{gateway-rpc-BKJyAcQd.js → gateway-rpc-DbSbyIcL.js} +1 -1
  78. package/dist/{gateway-rpc-DActF8Qj.js → gateway-rpc-QsFn5Zr1.js} +1 -1
  79. package/dist/{gemini-auth-D80BsXr2.js → gemini-auth-BefM10YB.js} +1 -1
  80. package/dist/{github-copilot-token-B8B2pmph.js → github-copilot-token-cCYzSU9h.js} +7 -7
  81. package/dist/{glass-ui-ws-77TY57IO.js → glass-ui-ws-Cs2jfN42.js} +13 -13
  82. package/dist/{glass-ui-ws-CLAUHeZR.js → glass-ui-ws-tIVOcdB2.js} +13 -13
  83. package/dist/{health-CvMHgR-L.js → health-Cs8wf7Hb.js} +2 -2
  84. package/dist/{health-2jkjZxY8.js → health-DMy1nA4K.js} +2 -2
  85. package/dist/{hooks-cli-CRZySOiz.js → hooks-cli-D6awUCDl.js} +7 -7
  86. package/dist/{hooks-cli-DSaezFsD.js → hooks-cli-DIH-zxCG.js} +7 -7
  87. package/dist/{image-BHF_fnIp.js → image-BuVL0jHI.js} +4 -4
  88. package/dist/{image-ops-CY7v6vvp.js → image-ops-C7CauEK8.js} +16 -16
  89. package/dist/{image-MNvheU8U.js → image-tzIqIuKx.js} +1 -1
  90. package/dist/index.js +11 -11
  91. package/dist/{internal-FNqguZSK.js → internal-DjnxpF_K.js} +11 -11
  92. package/dist/{ir-D6MiJpAy.js → ir-7tMVY7D_.js} +4 -4
  93. package/dist/llm-slug-generator.js +54 -54
  94. package/dist/{local-roots-tcdaIEhh.js → local-roots-ClipCZ9s.js} +5 -5
  95. package/dist/{login-D4ZkmSrY.js → login-D4rZWBXe.js} +7 -7
  96. package/dist/{login-qr-C9ftIq3n.js → login-qr-DdAVHOEC.js} +12 -12
  97. package/dist/{logs-cli-BPnrAg0W.js → logs-cli-1hn28HCu.js} +3 -3
  98. package/dist/{logs-cli-DiDesnnp.js → logs-cli-R4WwQvR2.js} +3 -3
  99. package/dist/{manager-DDELj5o9.js → manager-B60Ncruq.js} +1 -1
  100. package/dist/{manager-BtWtmpxN.js → manager-B76ofKkW.js} +1 -1
  101. package/dist/{manager-DxCmjSfP.js → manager-D0_H4LHh.js} +24 -24
  102. package/dist/{manager-DrmlegR2.js → manager-wF-n_prX.js} +1 -1
  103. package/dist/{manifest-registry-BvGv6lp9.js → manifest-registry-CBCGTsIb.js} +19 -19
  104. package/dist/{markdown-tables-CE-qSMGB.js → markdown-tables-x2Xe2UXh.js} +1 -1
  105. package/dist/{memory-cli-ENCASZJk.js → memory-cli-DRLrIa8h.js} +3 -3
  106. package/dist/{memory-cli-Qgbcxvuf.js → memory-cli-eSWCbEiS.js} +3 -3
  107. package/dist/{message-channel-lwVT8QjK.js → message-channel-OlFBYAw8.js} +1 -1
  108. package/dist/{models-COhUz7M9.js → models-B5H41UsH.js} +3 -3
  109. package/dist/{models-cli-CYvXBvmZ.js → models-cli-CHFi2_kC.js} +8 -8
  110. package/dist/{models-cli-CCxYcF4R.js → models-cli-CVfq_g6h.js} +7 -7
  111. package/dist/{node-cli-DwDQpTW5.js → node-cli-BBN6PoOG.js} +1 -1
  112. package/dist/{node-cli-DEcCM2p0.js → node-cli-BsAzTrAx.js} +1 -1
  113. package/dist/{nodes-cli-CqBLemeB.js → nodes-cli-DE60dv81.js} +3 -3
  114. package/dist/{nodes-cli-u8k6TPmF.js → nodes-cli-t3azniiS.js} +3 -3
  115. package/dist/{onboard-fVpLVnwg.js → onboard-DKK6UJjF.js} +3 -3
  116. package/dist/{onboard-CQNUYBIp.js → onboard-DgPzeL3U.js} +3 -3
  117. package/dist/{onboard-channels-CWw8G-6n.js → onboard-channels-BTuYOQO-.js} +1 -1
  118. package/dist/{onboard-channels-9erx07qe.js → onboard-channels-DvNwlvWZ.js} +1 -1
  119. package/dist/{onboard-helpers-C8f_xi6R.js → onboard-helpers-B7jBYbCU.js} +1 -1
  120. package/dist/{onboard-helpers-CF0Cp3OB.js → onboard-helpers-DjlGq6iG.js} +1 -1
  121. package/dist/{onboard-remote-DgGH0dTe.js → onboard-remote-CXuHbtrT.js} +1 -1
  122. package/dist/{onboard-remote-CWal5_aZ.js → onboard-remote-D7wGqONm.js} +1 -1
  123. package/dist/{onboard-skills-DnzJLU2H.js → onboard-skills-BDhqz3te.js} +1 -1
  124. package/dist/{onboard-skills-CO2TjuO3.js → onboard-skills-ChQnpMi-.js} +1 -1
  125. package/dist/{onboarding-D-OIkDwZ.js → onboarding-CCHq8fd9.js} +7 -7
  126. package/dist/{onboarding-CtEiH9WG.js → onboarding-CeqXuQPm.js} +7 -7
  127. package/dist/{onboarding.finalize-BY3HNjX4.js → onboarding.finalize-Cw4TWelq.js} +12 -12
  128. package/dist/{onboarding.finalize-DTbpLV-T.js → onboarding.finalize-DxWVkNx9.js} +11 -11
  129. package/dist/{onboarding.gateway-config-DlV0vso8.js → onboarding.gateway-config-Cm5jIfRz.js} +3 -3
  130. package/dist/{onboarding.gateway-config-D4rQoPRi.js → onboarding.gateway-config-wAyLcGRu.js} +3 -3
  131. package/dist/{outbound-C6Gm22UF.js → outbound-Zmd7UyQH.js} +7 -7
  132. package/dist/{outbound-attachment-BWyKV1Gy.js → outbound-attachment-DeCnZT-8.js} +2 -2
  133. package/dist/{paths-DEuVuViW.js → paths-CbQV9WEg.js} +1 -1
  134. package/dist/{pi-auth-json-Bv1NzJdR.js → pi-auth-json-RXOlh8ar.js} +1 -1
  135. package/dist/{pi-embedded-CdOdQw2i.js → pi-embedded-CGwqumSe.js} +163 -89
  136. package/dist/{pi-embedded-helpers-DwQ9wJeT.js → pi-embedded-helpers-D1_Sab0M.js} +73 -73
  137. package/dist/{pi-embedded-helpers-TcYQOZAY.js → pi-embedded-helpers-DjSdA5BG.js} +4 -4
  138. package/dist/{plugin-registry-BrJ0-qlu.js → plugin-registry-CJKHlm9W.js} +1 -1
  139. package/dist/{plugin-registry-Cuc8ORuR.js → plugin-registry-kiYkB_km.js} +1 -1
  140. package/dist/plugin-sdk/{channel-web-t8UOP6Zu.js → channel-web-C9SUmtjL.js} +1 -1
  141. package/dist/plugin-sdk/gateway/protocol/index.d.ts +6 -3
  142. package/dist/plugin-sdk/gateway/protocol/schema/tasks.d.ts +40 -0
  143. package/dist/plugin-sdk/gateway/protocol/schema/types.d.ts +3 -0
  144. package/dist/plugin-sdk/gateway/protocol/schema.d.ts +1 -0
  145. package/dist/plugin-sdk/index.js +3 -3
  146. package/dist/plugin-sdk/infra/long-task-state.d.ts +34 -0
  147. package/dist/plugin-sdk/{manager-BPm5oefC.js → manager-DUmxOoHb.js} +1 -1
  148. package/dist/plugin-sdk/{reply-BKAHTugL.js → reply-DwJ-3Et9.js} +149 -75
  149. package/dist/plugin-sdk/{synthesis-CVF7Fwhd.js → synthesis-BzYtaV97.js} +2 -2
  150. package/dist/plugin-sdk/{web-D0DsmFvw.js → web-BQzPfsd0.js} +3 -3
  151. package/dist/{plugins-v8k1XVOy.js → plugins-BzmbgY7s.js} +9 -9
  152. package/dist/{plugins-cli-BDalhI46.js → plugins-cli-DTI2yj-y.js} +7 -7
  153. package/dist/{plugins-cli-DFmriy-c.js → plugins-cli-tV4C5XJc.js} +7 -7
  154. package/dist/{program-DKh41c2a.js → program-8Zg4CY5d.js} +12 -12
  155. package/dist/{program-context-Cq7pqOrw.js → program-context-BcKgBBit.js} +30 -30
  156. package/dist/{prompt-select-styled-DvvSE_ni.js → prompt-select-styled-CfKZlGfF.js} +8 -8
  157. package/dist/{prompt-select-styled-BFCAZLwK.js → prompt-select-styled-DigPcXuk.js} +8 -8
  158. package/dist/{provider-auth-helpers-B-LkDxxi.js → provider-auth-helpers-BH3oyYln.js} +1 -1
  159. package/dist/{provider-auth-helpers-DXppgV1l.js → provider-auth-helpers-Db02DMW2.js} +1 -1
  160. package/dist/{push-apns-DvudhEAb.js → push-apns-7rC1ybp8.js} +1 -1
  161. package/dist/{push-apns-DCA47WA5.js → push-apns-f_6DGP6z.js} +1 -1
  162. package/dist/{pw-ai-40Jf9QIb.js → pw-ai-CQtaPvM8.js} +1 -1
  163. package/dist/{pw-ai-XGqnSWju.js → pw-ai-DWkC5eGA.js} +11 -11
  164. package/dist/{qmd-manager-CbRJhonG.js → qmd-manager-BXkbA8Y9.js} +8 -8
  165. package/dist/{register.agent-_BV5KyFb.js → register.agent-CocfT8Pk.js} +11 -11
  166. package/dist/{register.agent-aFj_SMi3.js → register.agent-DETyFsMT.js} +10 -10
  167. package/dist/{register.configure-Dx0Uhmlz.js → register.configure-BAiFzdYa.js} +13 -13
  168. package/dist/{register.configure-CvOoD5gE.js → register.configure-VcTwHq1a.js} +13 -13
  169. package/dist/{register.maintenance-BuZpoSik.js → register.maintenance-BajFgQEm.js} +12 -12
  170. package/dist/{register.maintenance-CMeJR7DG.js → register.maintenance-Bpr3QjJ1.js} +13 -13
  171. package/dist/{register.message-xxGePuRC.js → register.message-96EL0HQW.js} +7 -7
  172. package/dist/{register.message-qysZPg3G.js → register.message-CXabSYfO.js} +7 -7
  173. package/dist/{register.onboard-D4Aow7Gc.js → register.onboard-2KClPynN.js} +9 -9
  174. package/dist/{register.onboard-1MP2I0q4.js → register.onboard-mHEZSai5.js} +9 -9
  175. package/dist/{register.setup-BT74aXzA.js → register.setup-B-piY6Vs.js} +9 -9
  176. package/dist/{register.setup-DzliKkWh.js → register.setup-Di6tWG-W.js} +9 -9
  177. package/dist/{register.status-health-sessions-D7VYZlrU.js → register.status-health-sessions-BhIYRApE.js} +9 -9
  178. package/dist/{register.status-health-sessions-B3K2gZ72.js → register.status-health-sessions-ZX2odxGg.js} +9 -9
  179. package/dist/{register.subclis-BCy0IDRv.js → register.subclis-CQtXpheE.js} +20 -20
  180. package/dist/{registry-X6fUE0K7.js → registry-DYq1AYOv.js} +19 -19
  181. package/dist/{replies-86F3PldM.js → replies-CUWXgyx2.js} +3 -3
  182. package/dist/{reply-Dg1ZU3DZ.js → reply-D455A6SA.js} +125 -78
  183. package/dist/{reply-prefix-CI_IdwqH.js → reply-prefix-CvEIl6_d.js} +1 -1
  184. package/dist/{resolve-route-BgSuN9c6.js → resolve-route-Jy5dFY67.js} +4 -4
  185. package/dist/{retry-4oEAHckB.js → retry-B-y5suGA.js} +1 -1
  186. package/dist/{rpc-DYHXLh0P.js → rpc-C3ZUAjXK.js} +1 -1
  187. package/dist/{rpc-DdlEeEXT.js → rpc-St4eAsjR.js} +1 -1
  188. package/dist/{run-main-OS2aFAJ2.js → run-main-CnqZnevI.js} +20 -20
  189. package/dist/{runner-DFuAePEr.js → runner-Dpjulwnm.js} +1 -1
  190. package/dist/{runner-B5oNTtgf.js → runner-ecX1WzDt.js} +22 -22
  191. package/dist/{security-cli-BadXDWTh.js → security-cli-B8gavsuQ.js} +3 -3
  192. package/dist/{security-cli-D5y28-RH.js → security-cli-BSvxNP9m.js} +3 -3
  193. package/dist/{send-cCTQjuOZ.js → send-BKo1T3HF.js} +6 -6
  194. package/dist/{send-BTfqlrYd.js → send-Bb4it0te.js} +18 -18
  195. package/dist/{send-CSydU49L.js → send-C0QjmPaf.js} +10 -10
  196. package/dist/{send-Du-IfSne.js → send-Cpk3Ti6-.js} +6 -6
  197. package/dist/{send-ASDB3AzC.js → send-DFtnbzqy.js} +7 -7
  198. package/dist/{server-methods-D_iKJ-sj.js → server-methods-CYPSYbhs.js} +55 -11
  199. package/dist/{server-methods-BszFAkbJ.js → server-methods-DYjr-KwQ.js} +55 -11
  200. package/dist/{server-node-events-uBu3XOjd.js → server-node-events-C58gVs27.js} +7 -7
  201. package/dist/{server-node-events-CENHuAVz.js → server-node-events-DqJIrx86.js} +7 -7
  202. package/dist/{session-D8qLj_xN.js → session-BTeY6Gn2.js} +8 -8
  203. package/dist/{skill-commands-BcOduw6G.js → skill-commands-DG2lcozb.js} +16 -16
  204. package/dist/{skills-BrYDT4Jr.js → skills-CXxrn_e2.js} +24 -24
  205. package/dist/{sqlite-P-gMg7fi.js → sqlite-BN_hIcmu.js} +3 -3
  206. package/dist/{status-BvbJavmh.js → status-B_zW9YJ8.js} +1 -1
  207. package/dist/{status-CA0mUJld.js → status-DjjA-TOx.js} +6 -6
  208. package/dist/{status-CBnCPUMG.js → status-Qt6QDFJ1.js} +6 -6
  209. package/dist/{status-DJAeKN4G.js → status-sO6Y-c-v.js} +1 -1
  210. package/dist/{store-Ceagbc4L.js → store-01F_JM7O.js} +6 -6
  211. package/dist/{subagent-registry-C1OyZl-M.js → subagent-registry-B1HJJs3Q.js} +125 -78
  212. package/dist/{subsystem-CzXhCdeY.js → subsystem-BjyjJF-d.js} +1 -1
  213. package/dist/{synthesis-brHrnNF2.js → synthesis-BCSo0xoc.js} +6 -6
  214. package/dist/{synthesis-DuqSkHEr.js → synthesis-Ch82MDG8.js} +54 -54
  215. package/dist/{synthesis-z5B41p_r.js → synthesis-DAUJa_9I.js} +6 -6
  216. package/dist/{synthesis-DNTyB7JY.js → synthesis-DzSo6S9Y.js} +7 -7
  217. package/dist/{system-cli-BFopJ_xI.js → system-cli-BN9MXNk7.js} +3 -3
  218. package/dist/{system-cli-DryauSOX.js → system-cli-CD5latLh.js} +3 -3
  219. package/dist/{tables-qbCoZrYA.js → tables-DoG-pFrf.js} +1 -1
  220. package/dist/{target-errors-uNitqCCT.js → target-errors-DeJTztcq.js} +2 -2
  221. package/dist/{thinking-BV7SCNJP.js → thinking-BprCy23Z.js} +5 -5
  222. package/dist/{tokens-Bl5R3wPD.js → tokens-W0JzCJJM.js} +1 -1
  223. package/dist/{tool-images-JxNglLSr.js → tool-images-SqqWIT22.js} +2 -2
  224. package/dist/{tool-loop-detection-dfE771kg.js → tool-loop-detection-Dj9h1ogr.js} +3 -3
  225. package/dist/{tui-CvHbwJ3G.js → tui-Cu4TZK3I.js} +2 -2
  226. package/dist/{tui-BiBFm_RY.js → tui-DLkE0D7e.js} +2 -2
  227. package/dist/{tui-cli-CmyT9ctV.js → tui-cli-BfuEq3Q-.js} +3 -3
  228. package/dist/{tui-cli-CU6A8Bu2.js → tui-cli-DC9Bq-N_.js} +3 -3
  229. package/dist/{unified-runner-Czg3pdBc.js → unified-runner-CpyVnelK.js} +374 -300
  230. package/dist/{update-cli-CIzkVfmj.js → update-cli-BLQsvLIy.js} +13 -13
  231. package/dist/{update-cli-0lyGyl31.js → update-cli-CgDLDu8d.js} +14 -14
  232. package/dist/{update-runner-D7-LDziQ.js → update-runner-B1vMjo7o.js} +1 -1
  233. package/dist/{update-runner-aYPcKYAN.js → update-runner-DUHTdrZ0.js} +1 -1
  234. package/dist/{web-CN7wnU7w.js → web-Dbg9lDZ4.js} +6 -6
  235. package/dist/{web-BJ5dUZso.js → web-Dhh_eI3q.js} +7 -7
  236. package/dist/{web-B90A99YU.js → web-DpAeT8By.js} +58 -58
  237. package/dist/{web-Wk1ay1eQ.js → web-PhjuzK8Y.js} +7 -7
  238. package/dist/{whatsapp-actions-llk0IUn2.js → whatsapp-actions-DmVpLXmh.js} +23 -23
  239. package/dist/{workspace-CywO4ayZ.js → workspace-DscDraUb.js} +27 -27
  240. package/extensions/bluebubbles/package.json +1 -1
  241. package/extensions/copilot-proxy/package.json +1 -1
  242. package/extensions/diagnostics-otel/package.json +1 -1
  243. package/extensions/discord/package.json +1 -1
  244. package/extensions/feishu/package.json +1 -1
  245. package/extensions/google-antigravity-auth/package.json +1 -1
  246. package/extensions/google-gemini-cli-auth/package.json +1 -1
  247. package/extensions/googlechat/package.json +1 -1
  248. package/extensions/imessage/package.json +1 -1
  249. package/extensions/irc/package.json +1 -1
  250. package/extensions/learning-loop/package.json +1 -1
  251. package/extensions/line/package.json +1 -1
  252. package/extensions/llm-task/package.json +1 -1
  253. package/extensions/matrix/CHANGELOG.md +6 -0
  254. package/extensions/matrix/package.json +1 -1
  255. package/extensions/mattermost/package.json +1 -1
  256. package/extensions/memory-core/package.json +1 -1
  257. package/extensions/memory-lancedb/package.json +1 -1
  258. package/extensions/minimax-portal-auth/package.json +1 -1
  259. package/extensions/msteams/CHANGELOG.md +6 -0
  260. package/extensions/msteams/package.json +1 -1
  261. package/extensions/nextcloud-talk/package.json +1 -1
  262. package/extensions/nostr/CHANGELOG.md +6 -0
  263. package/extensions/nostr/package.json +1 -1
  264. package/extensions/open-prose/package.json +1 -1
  265. package/extensions/outlook/package.json +1 -1
  266. package/extensions/pipeline/package.json +1 -1
  267. package/extensions/signal/package.json +1 -1
  268. package/extensions/slack/package.json +1 -1
  269. package/extensions/telegram/package.json +1 -1
  270. package/extensions/tlon/package.json +1 -1
  271. package/extensions/twitch/CHANGELOG.md +6 -0
  272. package/extensions/twitch/package.json +1 -1
  273. package/extensions/voice-call/CHANGELOG.md +6 -0
  274. package/extensions/voice-call/package.json +1 -1
  275. package/extensions/whatsapp/package.json +1 -1
  276. package/extensions/zalo/CHANGELOG.md +6 -0
  277. package/extensions/zalo/package.json +1 -1
  278. package/extensions/zalouser/CHANGELOG.md +6 -0
  279. package/extensions/zalouser/package.json +1 -1
  280. package/package.json +1 -1
  281. package/dist/paths-CYmyCDsE.js +0 -212
@@ -1,5 +1,5 @@
1
1
  import { p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
2
- import { m as createAccountListHelpers } from "./accounts-BsgY6sda.js";
2
+ import { m as createAccountListHelpers } from "./accounts-BRw8yhIW.js";
3
3
 
4
4
  //#region src/imessage/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
@@ -1,11 +1,11 @@
1
- import { a as resolveOAuthDir } from "./paths-CYmyCDsE.js";
1
+ import { a as resolveOAuthDir } from "./paths-CE7eVGHg.js";
2
2
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
3
- import { I as resolveUserPath, K as info, Q as success, j as jidToE164, rt as getChildLogger } from "./registry-X6fUE0K7.js";
4
- import { r as defaultRuntime } from "./subsystem-CzXhCdeY.js";
5
- import { n as formatCliCommand } from "./env-CB65jmJQ.js";
3
+ import { I as resolveUserPath, K as info, Q as success, j as jidToE164, rt as getChildLogger } from "./registry-DYq1AYOv.js";
4
+ import { r as defaultRuntime } from "./subsystem-BjyjJF-d.js";
5
+ import { n as formatCliCommand } from "./env-BDXYbTKj.js";
6
6
  import path from "node:path";
7
- import fsSync from "node:fs";
8
- import fs from "node:fs/promises";
7
+ import fs from "node:fs";
8
+ import fs$1 from "node:fs/promises";
9
9
 
10
10
  //#region src/channels/plugins/account-helpers.ts
11
11
  function createAccountListHelpers(channelKey) {
@@ -45,10 +45,10 @@ function resolveWebCredsBackupPath(authDir) {
45
45
  }
46
46
  function readCredsJsonRaw(filePath) {
47
47
  try {
48
- if (!fsSync.existsSync(filePath)) return null;
49
- const stats = fsSync.statSync(filePath);
48
+ if (!fs.existsSync(filePath)) return null;
49
+ const stats = fs.statSync(filePath);
50
50
  if (!stats.isFile() || stats.size <= 1) return null;
51
- return fsSync.readFileSync(filePath, "utf-8");
51
+ return fs.readFileSync(filePath, "utf-8");
52
52
  } catch {
53
53
  return null;
54
54
  }
@@ -66,9 +66,9 @@ function maybeRestoreCredsFromBackup(authDir) {
66
66
  const backupRaw = readCredsJsonRaw(backupPath);
67
67
  if (!backupRaw) return;
68
68
  JSON.parse(backupRaw);
69
- fsSync.copyFileSync(backupPath, credsPath);
69
+ fs.copyFileSync(backupPath, credsPath);
70
70
  try {
71
- fsSync.chmodSync(credsPath, 384);
71
+ fs.chmodSync(credsPath, 384);
72
72
  } catch {}
73
73
  logger.warn({ credsPath }, "restored corrupted WhatsApp creds.json from backup");
74
74
  } catch {}
@@ -78,14 +78,14 @@ async function webAuthExists(authDir = resolveDefaultWebAuthDir()) {
78
78
  maybeRestoreCredsFromBackup(resolvedAuthDir);
79
79
  const credsPath = resolveWebCredsPath(resolvedAuthDir);
80
80
  try {
81
- await fs.access(resolvedAuthDir);
81
+ await fs$1.access(resolvedAuthDir);
82
82
  } catch {
83
83
  return false;
84
84
  }
85
85
  try {
86
- const stats = await fs.stat(credsPath);
86
+ const stats = await fs$1.stat(credsPath);
87
87
  if (!stats.isFile() || stats.size <= 1) return false;
88
- const raw = await fs.readFile(credsPath, "utf-8");
88
+ const raw = await fs$1.readFile(credsPath, "utf-8");
89
89
  JSON.parse(raw);
90
90
  return true;
91
91
  } catch {
@@ -93,7 +93,7 @@ async function webAuthExists(authDir = resolveDefaultWebAuthDir()) {
93
93
  }
94
94
  }
95
95
  async function clearLegacyBaileysAuthState(authDir) {
96
- const entries = await fs.readdir(authDir, { withFileTypes: true });
96
+ const entries = await fs$1.readdir(authDir, { withFileTypes: true });
97
97
  const shouldDelete = (name) => {
98
98
  if (name === "oauth.json") return false;
99
99
  if (name === "creds.json" || name === "creds.json.bak") return true;
@@ -103,7 +103,7 @@ async function clearLegacyBaileysAuthState(authDir) {
103
103
  await Promise.all(entries.map(async (entry) => {
104
104
  if (!entry.isFile()) return;
105
105
  if (!shouldDelete(entry.name)) return;
106
- await fs.rm(path.join(authDir, entry.name), { force: true });
106
+ await fs$1.rm(path.join(authDir, entry.name), { force: true });
107
107
  }));
108
108
  }
109
109
  async function logoutWeb(params) {
@@ -114,7 +114,7 @@ async function logoutWeb(params) {
114
114
  return false;
115
115
  }
116
116
  if (params.isLegacyAuthDir) await clearLegacyBaileysAuthState(resolvedAuthDir);
117
- else await fs.rm(resolvedAuthDir, {
117
+ else await fs$1.rm(resolvedAuthDir, {
118
118
  recursive: true,
119
119
  force: true
120
120
  });
@@ -124,11 +124,11 @@ async function logoutWeb(params) {
124
124
  function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
125
125
  try {
126
126
  const credsPath = resolveWebCredsPath(resolveUserPath(authDir));
127
- if (!fsSync.existsSync(credsPath)) return {
127
+ if (!fs.existsSync(credsPath)) return {
128
128
  e164: null,
129
129
  jid: null
130
130
  };
131
- const raw = fsSync.readFileSync(credsPath, "utf-8");
131
+ const raw = fs.readFileSync(credsPath, "utf-8");
132
132
  const jid = JSON.parse(raw)?.me?.id ?? null;
133
133
  return {
134
134
  e164: jid ? jidToE164(jid, { authDir }) : null,
@@ -147,7 +147,7 @@ function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
147
147
  */
148
148
  function getWebAuthAgeMs(authDir = resolveDefaultWebAuthDir()) {
149
149
  try {
150
- const stats = fsSync.statSync(resolveWebCredsPath(resolveUserPath(authDir)));
150
+ const stats = fs.statSync(resolveWebCredsPath(resolveUserPath(authDir)));
151
151
  return Date.now() - stats.mtimeMs;
152
152
  } catch {
153
153
  return null;
@@ -182,7 +182,7 @@ function resolveLegacyAuthDir() {
182
182
  }
183
183
  function legacyAuthExists(authDir) {
184
184
  try {
185
- return fsSync.existsSync(path.join(authDir, "creds.json"));
185
+ return fs.existsSync(path.join(authDir, "creds.json"));
186
186
  } catch {
187
187
  return false;
188
188
  }
@@ -1,5 +1,5 @@
1
1
  import { p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
2
- import { m as createAccountListHelpers } from "./accounts-BsgY6sda.js";
2
+ import { m as createAccountListHelpers } from "./accounts-BRw8yhIW.js";
3
3
 
4
4
  //#region src/signal/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
@@ -13,8 +13,8 @@ import { H as VERSION, i as loadConfig } from "./config-PXAJCHa5.js";
13
13
  import "./manifest-registry-BDSRH8nU.js";
14
14
  import "./tailscale-D5dKabOc.js";
15
15
  import { a as resolveGatewayAuth } from "./auth-B741uFtk.js";
16
- import { t as GatewayClient } from "./client-C7AOOnKZ.js";
17
- import { t as buildGatewayConnectionDetails } from "./call-Cmb04dff.js";
16
+ import { t as GatewayClient } from "./client-CYsBIR3j.js";
17
+ import { t as buildGatewayConnectionDetails } from "./call-BkJK3eYP.js";
18
18
  import "./pairing-token-pooyuU2J.js";
19
19
  import { t as formatDocsLink } from "./links-DGINhC21.js";
20
20
  import { t as isMainModule } from "./is-main-ao973sYS.js";
@@ -5,8 +5,8 @@ import "./agent-scope-D-jRCY0d.js";
5
5
  import "./github-copilot-token-DuFIqfeC.js";
6
6
  import "./manifest-registry-D5bnO5uA.js";
7
7
  import { H as VERSION, i as loadConfig } from "./config-DXt3pc08.js";
8
- import { t as GatewayClient } from "./client-qUlxXXVJ.js";
9
- import { t as buildGatewayConnectionDetails } from "./call-BrRWr7Lj.js";
8
+ import { t as GatewayClient } from "./client-Cmq13-uF.js";
9
+ import { t as buildGatewayConnectionDetails } from "./call-CAGvQYXj.js";
10
10
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C9dERklz.js";
11
11
  import "./pairing-token-Byh6drgn.js";
12
12
  import "./tailscale-CbbvYNVw.js";
@@ -1,5 +1,5 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID } from "./session-key-BCzIW1Y2.js";
2
- import { n as formatCliCommand } from "./env-CB65jmJQ.js";
2
+ import { n as formatCliCommand } from "./env-BDXYbTKj.js";
3
3
 
4
4
  //#region src/web/active-listener.ts
5
5
  const listeners = /* @__PURE__ */ new Map();
@@ -1,7 +1,7 @@
1
- import { s as resolveStateDir } from "./paths-CYmyCDsE.js";
1
+ import { s as resolveStateDir } from "./paths-CE7eVGHg.js";
2
2
  import { s as normalizeAgentId, t as DEFAULT_AGENT_ID, y as parseAgentSessionKey } from "./session-key-BCzIW1Y2.js";
3
- import { I as resolveUserPath } from "./registry-X6fUE0K7.js";
4
- import { p as resolveDefaultAgentWorkspaceDir } from "./workspace-CywO4ayZ.js";
3
+ import { I as resolveUserPath } from "./registry-DYq1AYOv.js";
4
+ import { p as resolveDefaultAgentWorkspaceDir } from "./workspace-DscDraUb.js";
5
5
  import path from "node:path";
6
6
 
7
7
  //#region src/agents/skills/filter.ts
@@ -5,19 +5,19 @@ import { t as formatCliCommand } from "./command-format-BtYOfWxC.js";
5
5
  import { m as DEFAULT_ACCOUNT_ID, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-DjZ7Z1hW.js";
6
6
  import { c as resolveAgentWorkspaceDir, g as DEFAULT_IDENTITY_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, t as listAgentEntries } from "./agent-scope-D-jRCY0d.js";
7
7
  import { l as writeConfigFile } from "./config-DXt3pc08.js";
8
- import { j as parseIdentityMarkdown, k as identityHasValues } from "./subagent-registry-C1OyZl-M.js";
8
+ import { j as parseIdentityMarkdown, k as identityHasValues } from "./subagent-registry-B1HJJs3Q.js";
9
9
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
10
10
  import { s as resolveSessionTranscriptsDirForAgent } from "./paths-DNdWAq7b.js";
11
- import { a as ensureWorkspaceAndSessions, l as moveToTrash } from "./onboard-helpers-CF0Cp3OB.js";
11
+ import { a as ensureWorkspaceAndSessions, l as moveToTrash } from "./onboard-helpers-DjlGq6iG.js";
12
12
  import { t as WizardCancelledError } from "./prompts-DbHSz44H.js";
13
13
  import { t as createClackPrompter } from "./clack-prompter-CTPf_777.js";
14
14
  import { t as resolveChannelDefaultAccountId } from "./helpers-gWnZ9zWR.js";
15
- import { r as setupChannels } from "./onboard-channels-CWw8G-6n.js";
15
+ import { r as setupChannels } from "./onboard-channels-BTuYOQO-.js";
16
16
  import { t as requireValidConfigSnapshot } from "./config-validation-B6Fa3VmF.js";
17
- import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BKKMbeeE.js";
17
+ import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BOvsz6E6.js";
18
18
  import { n as logConfigUpdated } from "./logging-PVQxLC6I.js";
19
19
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-DF6R_pgV.js";
20
- import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-C6woT6k2.js";
20
+ import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-DEKKbufH.js";
21
21
  import path from "node:path";
22
22
  import fs from "node:fs/promises";
23
23
 
@@ -1,6 +1,6 @@
1
1
  import { s as normalizeAgentId } from "./session-key-DjZ7Z1hW.js";
2
2
  import { c as resolveAgentWorkspaceDir, i as resolveAgentDir, l as resolveDefaultAgentId, t as listAgentEntries } from "./agent-scope-D-jRCY0d.js";
3
- import { A as loadAgentIdentityFromWorkspace, k as identityHasValues } from "./subagent-registry-C1OyZl-M.js";
3
+ import { A as loadAgentIdentityFromWorkspace, k as identityHasValues } from "./subagent-registry-B1HJJs3Q.js";
4
4
 
5
5
  //#region src/commands/agents.config.ts
6
6
  function findAgentEntryIndex(list, agentId) {
@@ -1,4 +1,4 @@
1
- import { Qt as loadAgentIdentityFromWorkspace, Zt as identityHasValues } from "./reply-Dg1ZU3DZ.js";
1
+ import { $t as loadAgentIdentityFromWorkspace, Qt as identityHasValues } from "./reply-D455A6SA.js";
2
2
  import { s as normalizeAgentId } from "./session-key-DCt45XZa.js";
3
3
  import { c as resolveAgentWorkspaceDir, i as resolveAgentDir, l as resolveDefaultAgentId, t as listAgentEntries } from "./agent-scope-CgUHAtCo.js";
4
4
 
@@ -1,37 +1,37 @@
1
- import "./paths-CYmyCDsE.js";
2
- import { J as logVerbose, Z as shouldLogVerbose } from "./registry-X6fUE0K7.js";
3
- import "./agent-scope-Cpm7a9ss.js";
4
- import "./subsystem-CzXhCdeY.js";
5
- import "./workspace-CywO4ayZ.js";
6
- import "./paths-DEuVuViW.js";
7
- import "./auth-profiles-BzB_Exeq.js";
8
- import "./env-CB65jmJQ.js";
9
- import "./github-copilot-token-B8B2pmph.js";
1
+ import "./paths-CE7eVGHg.js";
2
+ import { J as logVerbose, Z as shouldLogVerbose } from "./registry-DYq1AYOv.js";
3
+ import "./agent-scope-CpEJ0B88.js";
4
+ import "./subsystem-BjyjJF-d.js";
5
+ import "./workspace-DscDraUb.js";
6
+ import "./paths-CbQV9WEg.js";
7
+ import "./auth-profiles-C2vj6htZ.js";
8
+ import "./env-BDXYbTKj.js";
9
+ import "./github-copilot-token-cCYzSU9h.js";
10
10
  import "./boolean-CE7i9tBR.js";
11
- import "./pi-embedded-helpers-DwQ9wJeT.js";
12
- import "./config-C4WnAd-c.js";
13
- import "./manifest-registry-BvGv6lp9.js";
14
- import "./chrome-DwXnykXR.js";
15
- import "./frontmatter-CT1M0pRK.js";
16
- import "./skills-BrYDT4Jr.js";
11
+ import "./pi-embedded-helpers-D1_Sab0M.js";
12
+ import "./config-BkZ9HOKT.js";
13
+ import "./manifest-registry-CBCGTsIb.js";
14
+ import "./chrome-ROtrXlNs.js";
15
+ import "./frontmatter-CTR5f_Ez.js";
16
+ import "./skills-CXxrn_e2.js";
17
17
  import "./redact-BDMXB06K.js";
18
18
  import "./errors-XIsvXeC-.js";
19
- import "./image-ops-CY7v6vvp.js";
19
+ import "./image-ops-C7CauEK8.js";
20
20
  import "./ssrf-DpUUUgkK.js";
21
- import "./store-Ceagbc4L.js";
22
- import "./thinking-BV7SCNJP.js";
23
- import "./message-channel-lwVT8QjK.js";
24
- import "./plugins-v8k1XVOy.js";
25
- import "./accounts-BsgY6sda.js";
26
- import "./accounts-wWWkC0JH.js";
27
- import "./accounts-Bsg6r6H7.js";
28
- import "./bindings-xcRox9xM.js";
29
- import "./tool-images-JxNglLSr.js";
30
- import "./image-BHF_fnIp.js";
21
+ import "./store-01F_JM7O.js";
22
+ import "./thinking-BprCy23Z.js";
23
+ import "./message-channel-OlFBYAw8.js";
24
+ import "./plugins-BzmbgY7s.js";
25
+ import "./accounts-BRw8yhIW.js";
26
+ import "./accounts-3dCrO3oZ.js";
27
+ import "./accounts-BuZxOb3B.js";
28
+ import "./bindings-BsHoBLIE.js";
29
+ import "./tool-images-SqqWIT22.js";
30
+ import "./image-BuVL0jHI.js";
31
31
  import "./pi-model-discovery-CuZX_Q4t.js";
32
- import "./gemini-auth-D80BsXr2.js";
33
- import "./local-roots-tcdaIEhh.js";
34
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-B5oNTtgf.js";
32
+ import "./gemini-auth-BefM10YB.js";
33
+ import "./local-roots-ClipCZ9s.js";
34
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-ecX1WzDt.js";
35
35
 
36
36
  //#region src/media-understanding/audio-preflight.ts
37
37
  /**
@@ -12,10 +12,10 @@ import "./accounts-8zZqL37v.js";
12
12
  import "./image-ops-ByaQt43P.js";
13
13
  import "./pi-model-discovery-j5tVLINv.js";
14
14
  import "./message-channel-BQINJQIT.js";
15
- import "./pi-embedded-helpers-TcYQOZAY.js";
15
+ import "./pi-embedded-helpers-DjSdA5BG.js";
16
16
  import "./config-BAVNLbja.js";
17
17
  import "./manifest-registry-DWdYdchb.js";
18
- import "./chrome-B14NNyfm.js";
18
+ import "./chrome-BUT--ob3.js";
19
19
  import "./skills-XEbTRNYL.js";
20
20
  import "./redact-1NGYV_8p.js";
21
21
  import "./errors-CPfngF0S.js";
@@ -25,10 +25,10 @@ import "./thinking-W85Rb32m.js";
25
25
  import "./accounts-DImOt9jX.js";
26
26
  import "./paths-DkMamAQ-.js";
27
27
  import "./tool-images-ChC2CXaN.js";
28
- import "./image-MNvheU8U.js";
28
+ import "./image-tzIqIuKx.js";
29
29
  import "./gemini-auth-DVcG-42i.js";
30
30
  import "./local-roots-BuSWcEvl.js";
31
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-DFuAePEr.js";
31
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-Dpjulwnm.js";
32
32
 
33
33
  //#region src/media-understanding/audio-preflight.ts
34
34
  /**
@@ -7,8 +7,8 @@ import { a as MANIFEST_KEY, n as isPathInside, t as extensionUsesSkippedScannerP
7
7
  import { i as loadWorkspaceSkillEntries } from "./skills-D_oCiaQn.js";
8
8
  import { u as normalizePluginsConfig } from "./manifest-registry-D5bnO5uA.js";
9
9
  import { I as INCLUDE_KEY, L as MAX_INCLUDE_DEPTH, r as createConfigIO } from "./config-DXt3pc08.js";
10
- import { t as GatewayClient } from "./client-qUlxXXVJ.js";
11
- import { c as READ_SCOPE, t as buildGatewayConnectionDetails } from "./call-BrRWr7Lj.js";
10
+ import { t as GatewayClient } from "./client-Cmq13-uF.js";
11
+ import { c as READ_SCOPE, t as buildGatewayConnectionDetails } from "./call-CAGvQYXj.js";
12
12
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C9dERklz.js";
13
13
  import { n as listChannelPlugins } from "./plugins-CwSlLxM8.js";
14
14
  import { S as resolveToolProfilePolicy, f as resolveSandboxConfigForAgent, k as SANDBOX_BROWSER_SECURITY_HASH_EPOCH, l as execDockerRaw, m as resolveSandboxToolPolicyForAgent, u as getBlockedBindReason } from "./sandbox-WWVXeHlA.js";
@@ -15,8 +15,8 @@ import { n as formatErrorMessage } from "./errors-BF3TeRH2.js";
15
15
  import { l as normalizeStringEntries } from "./dock-BhS32F6E.js";
16
16
  import { n as listChannelPlugins } from "./plugins-DKDeQZF0.js";
17
17
  import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled } from "./commands-vWB85AXk.js";
18
- import { t as GatewayClient } from "./client-C7AOOnKZ.js";
19
- import { c as READ_SCOPE, t as buildGatewayConnectionDetails } from "./call-Cmb04dff.js";
18
+ import { t as GatewayClient } from "./client-CYsBIR3j.js";
19
+ import { c as READ_SCOPE, t as buildGatewayConnectionDetails } from "./call-BkJK3eYP.js";
20
20
  import { i as readChannelAllowFromStore } from "./pairing-store-iAT1if6k.js";
21
21
  import { t as listAgentWorkspaceDirs } from "./workspace-dirs-DHPWGRDp.js";
22
22
  import { n as isToolAllowedByPolicies, o as pickSandboxToolPolicy } from "./pi-tools.policy-Bx5zp45n.js";
@@ -3,10 +3,10 @@ import { Ct as resolveEnvApiKey, Ht as DEFAULT_MODEL, It as discoverHuggingfaceM
3
3
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, i as resolveAgentDir, l as resolveDefaultAgentId, o as resolveAgentModelPrimary } from "./agent-scope-D-jRCY0d.js";
4
4
  import { n as isLoopbackHost } from "./net-DZ5Ayk-W.js";
5
5
  import { n as loadModelCatalog } from "./model-catalog-BuYrTTBn.js";
6
- import { f as openUrl } from "./onboard-helpers-CF0Cp3OB.js";
6
+ import { f as openUrl } from "./onboard-helpers-DjlGq6iG.js";
7
7
  import { t as enablePluginInConfig } from "./enable-CBGVOpes.js";
8
8
  import { $ as setHuggingfaceApiKey, A as applyXaiConfig, B as applyVercelAiGatewayConfig, C as applyQianfanProviderConfig, D as applyTogetherProviderConfig, E as applyTogetherConfig, F as applyZaiProviderConfig, G as OPENROUTER_DEFAULT_MODEL_REF, H as applyAgentDefaultModelPrimary, I as applyLitellmConfig, J as XIAOMI_DEFAULT_MODEL_REF, K as TOGETHER_DEFAULT_MODEL_REF, L as applyLitellmProviderConfig, M as applyXiaomiConfig, N as applyXiaomiProviderConfig, O as applyVeniceConfig, P as applyZaiConfig, Q as setGeminiApiKey, R as applyCloudflareAiGatewayConfig, S as applyQianfanConfig, T as applySyntheticProviderConfig, U as HUGGINGFACE_DEFAULT_MODEL_REF, V as applyVercelAiGatewayProviderConfig, W as LITELLM_DEFAULT_MODEL_REF, X as setAnthropicApiKey, Y as ZAI_DEFAULT_MODEL_REF, Z as setCloudflareAiGatewayConfig, _ as applyMoonshotConfigCn, _t as QIANFAN_DEFAULT_MODEL_REF, a as applyMinimaxApiConfig, at as setOpenrouterApiKey, b as applyOpenrouterConfig, c as applyMinimaxApiProviderConfigCn, ct as setTogetherApiKey, d as applyAuthProfileConfig, dt as setXaiApiKey, et as setKimiCodingApiKey, ft as setXiaomiApiKey, g as applyMoonshotConfig, gt as MOONSHOT_DEFAULT_MODEL_REF, h as applyKimiCodeProviderConfig, ht as KIMI_CODING_MODEL_REF, i as applyOpencodeZenProviderConfig, it as setOpencodeZenApiKey, j as applyXaiProviderConfig, k as applyVeniceProviderConfig, l as applyMinimaxConfig, lt as setVeniceApiKey, m as applyKimiCodeConfig, mt as writeOAuthCredentials, n as validateAnthropicSetupToken, nt as setMinimaxApiKey, o as applyMinimaxApiConfigCn, ot as setQianfanApiKey, p as applyHuggingfaceProviderConfig, pt as setZaiApiKey, q as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setMoonshotApiKey, s as applyMinimaxApiProviderConfig, st as setSyntheticApiKey, t as buildTokenProfileId, tt as setLitellmApiKey, u as applyMinimaxProviderConfig, ut as setVercelAiGatewayApiKey, v as applyMoonshotProviderConfig, vt as XAI_DEFAULT_MODEL_REF, w as applySyntheticConfig, x as applyOpenrouterProviderConfig, y as applyMoonshotProviderConfigCn, z as applyCloudflareAiGatewayProviderConfig } from "./auth-token-ce8PBZwF.js";
9
- import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-B-LkDxxi.js";
9
+ import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-BH3oyYln.js";
10
10
  import { a as detectZaiEndpoint, c as ensureModelAllowlistEntry, i as upsertSharedEnvVar, n as applyOpenAIConfig, o as GOOGLE_GEMINI_DEFAULT_MODEL, r as applyOpenAIProviderConfig, s as applyGoogleGeminiModelDefault, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-CMi-OF15.js";
11
11
  import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-n7beL1F5.js";
12
12
  import { loginOpenAICodex } from "@mariozechner/pi-ai";
@@ -3,10 +3,10 @@ import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, i
3
3
  import { At as ensureAuthProfileStore, Ft as resolveSymiAgentDir, G as getCustomProviderApiKey, Gt as DEFAULT_MODEL, Kt as DEFAULT_PROVIDER, M as VENICE_DEFAULT_MODEL_REF, Ot as upsertAuthProfile, St as parseOAuthCallbackInput, Tt as listProfilesForProvider, Y as resolveEnvApiKey, bt as exchangeChutesCodeForTokens, ct as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, ft as resolveAuthProfileOrder, ot as discoverHuggingfaceModels, p as resolveConfiguredModelRef, st as isHuggingfacePolicyLocked, xt as generateChutesPkce, yt as CHUTES_AUTHORIZE_ENDPOINT, z as SYNTHETIC_DEFAULT_MODEL_REF } from "./model-selection-C-eIBa0H.js";
4
4
  import { r as isLoopbackHost } from "./ws-C7EXRv8z.js";
5
5
  import { n as loadModelCatalog } from "./model-catalog-D7k3dDQq.js";
6
- import { f as openUrl } from "./onboard-helpers-C8f_xi6R.js";
6
+ import { f as openUrl } from "./onboard-helpers-B7jBYbCU.js";
7
7
  import { t as enablePluginInConfig } from "./enable-55n-WSsE.js";
8
8
  import { $ as setHuggingfaceApiKey, A as applyXaiConfig, B as applyVercelAiGatewayConfig, C as applyQianfanProviderConfig, D as applyTogetherProviderConfig, E as applyTogetherConfig, F as applyZaiProviderConfig, G as OPENROUTER_DEFAULT_MODEL_REF, H as applyAgentDefaultModelPrimary, I as applyLitellmConfig, J as XIAOMI_DEFAULT_MODEL_REF, K as TOGETHER_DEFAULT_MODEL_REF, L as applyLitellmProviderConfig, M as applyXiaomiConfig, N as applyXiaomiProviderConfig, O as applyVeniceConfig, P as applyZaiConfig, Q as setGeminiApiKey, R as applyCloudflareAiGatewayConfig, S as applyQianfanConfig, T as applySyntheticProviderConfig, U as HUGGINGFACE_DEFAULT_MODEL_REF, V as applyVercelAiGatewayProviderConfig, W as LITELLM_DEFAULT_MODEL_REF, X as setAnthropicApiKey, Y as ZAI_DEFAULT_MODEL_REF, Z as setCloudflareAiGatewayConfig, _ as applyMoonshotConfigCn, _t as QIANFAN_DEFAULT_MODEL_REF, a as applyMinimaxApiConfig, at as setOpenrouterApiKey, b as applyOpenrouterConfig, c as applyMinimaxApiProviderConfigCn, ct as setTogetherApiKey, d as applyAuthProfileConfig, dt as setXaiApiKey, et as setKimiCodingApiKey, ft as setXiaomiApiKey, g as applyMoonshotConfig, gt as MOONSHOT_DEFAULT_MODEL_REF, h as applyKimiCodeProviderConfig, ht as KIMI_CODING_MODEL_REF, i as applyOpencodeZenProviderConfig, it as setOpencodeZenApiKey, j as applyXaiProviderConfig, k as applyVeniceProviderConfig, l as applyMinimaxConfig, lt as setVeniceApiKey, m as applyKimiCodeConfig, mt as writeOAuthCredentials, n as validateAnthropicSetupToken, nt as setMinimaxApiKey, o as applyMinimaxApiConfigCn, ot as setQianfanApiKey, p as applyHuggingfaceProviderConfig, pt as setZaiApiKey, q as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setMoonshotApiKey, s as applyMinimaxApiProviderConfig, st as setSyntheticApiKey, t as buildTokenProfileId, tt as setLitellmApiKey, u as applyMinimaxProviderConfig, ut as setVercelAiGatewayApiKey, v as applyMoonshotProviderConfig, vt as XAI_DEFAULT_MODEL_REF, w as applySyntheticConfig, x as applyOpenrouterProviderConfig, y as applyMoonshotProviderConfigCn, z as applyCloudflareAiGatewayProviderConfig } from "./auth-token-Cq0R-Q6i.js";
9
- import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-DXppgV1l.js";
9
+ import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-Db02DMW2.js";
10
10
  import { a as detectZaiEndpoint, c as ensureModelAllowlistEntry, i as upsertSharedEnvVar, n as applyOpenAIConfig, o as GOOGLE_GEMINI_DEFAULT_MODEL, r as applyOpenAIProviderConfig, s as applyGoogleGeminiModelDefault, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-D5FwfJqN.js";
11
11
  import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-BNWV-jU4.js";
12
12
  import { randomBytes } from "node:crypto";
@@ -1,14 +1,14 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { o as resolveOAuthPath, s as resolveStateDir } from "./paths-CYmyCDsE.js";
2
+ import { o as resolveOAuthPath, s as resolveStateDir } from "./paths-CE7eVGHg.js";
3
3
  import { t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
4
- import { I as resolveUserPath } from "./registry-X6fUE0K7.js";
5
- import { a as resolveAgentModelPrimary, n as resolveAgentConfig } from "./agent-scope-Cpm7a9ss.js";
6
- import { t as createSubsystemLogger } from "./subsystem-CzXhCdeY.js";
7
- import { n as formatCliCommand, t as isTruthyEnvValue } from "./env-CB65jmJQ.js";
8
- import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-B8B2pmph.js";
4
+ import { I as resolveUserPath } from "./registry-DYq1AYOv.js";
5
+ import { a as resolveAgentModelPrimary, n as resolveAgentConfig } from "./agent-scope-CpEJ0B88.js";
6
+ import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
7
+ import { n as formatCliCommand, t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
8
+ import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-cCYzSU9h.js";
9
9
  import path from "node:path";
10
- import fsSync from "node:fs";
11
- import fs from "node:fs/promises";
10
+ import fs from "node:fs";
11
+ import fs$1 from "node:fs/promises";
12
12
  import { execFileSync } from "node:child_process";
13
13
  import { createHash, randomBytes, randomUUID } from "node:crypto";
14
14
  import { BedrockClient, ListFoundationModelsCommand } from "@aws-sdk/client-bedrock";
@@ -3024,7 +3024,7 @@ function computeDelayMs(retries, attempt) {
3024
3024
  }
3025
3025
  async function readLockPayload(lockPath) {
3026
3026
  try {
3027
- const raw = await fs.readFile(lockPath, "utf8");
3027
+ const raw = await fs$1.readFile(lockPath, "utf8");
3028
3028
  const parsed = JSON.parse(raw);
3029
3029
  if (typeof parsed.pid !== "number" || typeof parsed.createdAt !== "string") return null;
3030
3030
  return {
@@ -3038,9 +3038,9 @@ async function readLockPayload(lockPath) {
3038
3038
  async function resolveNormalizedFilePath(filePath) {
3039
3039
  const resolved = path.resolve(filePath);
3040
3040
  const dir = path.dirname(resolved);
3041
- await fs.mkdir(dir, { recursive: true });
3041
+ await fs$1.mkdir(dir, { recursive: true });
3042
3042
  try {
3043
- const realDir = await fs.realpath(dir);
3043
+ const realDir = await fs$1.realpath(dir);
3044
3044
  return path.join(realDir, path.basename(resolved));
3045
3045
  } catch {
3046
3046
  return resolved;
@@ -3054,7 +3054,7 @@ async function isStaleLock(lockPath, staleMs) {
3054
3054
  if (!Number.isFinite(createdAt) || Date.now() - createdAt > staleMs) return true;
3055
3055
  }
3056
3056
  try {
3057
- const stat = await fs.stat(lockPath);
3057
+ const stat = await fs$1.stat(lockPath);
3058
3058
  return Date.now() - stat.mtimeMs > staleMs;
3059
3059
  } catch {
3060
3060
  return true;
@@ -3067,7 +3067,7 @@ async function releaseHeldLock(normalizedFile) {
3067
3067
  if (current.count > 0) return;
3068
3068
  HELD_LOCKS.delete(normalizedFile);
3069
3069
  await current.handle.close().catch(() => void 0);
3070
- await fs.rm(current.lockPath, { force: true }).catch(() => void 0);
3070
+ await fs$1.rm(current.lockPath, { force: true }).catch(() => void 0);
3071
3071
  }
3072
3072
  async function acquireFileLock(filePath, options) {
3073
3073
  const normalizedFile = await resolveNormalizedFilePath(filePath);
@@ -3082,7 +3082,7 @@ async function acquireFileLock(filePath, options) {
3082
3082
  }
3083
3083
  const attempts = Math.max(1, options.retries.retries + 1);
3084
3084
  for (let attempt = 0; attempt < attempts; attempt += 1) try {
3085
- const handle = await fs.open(lockPath, "wx");
3085
+ const handle = await fs$1.open(lockPath, "wx");
3086
3086
  await handle.writeFile(JSON.stringify({
3087
3087
  pid: process.pid,
3088
3088
  createdAt: (/* @__PURE__ */ new Date()).toISOString()
@@ -3099,7 +3099,7 @@ async function acquireFileLock(filePath, options) {
3099
3099
  } catch (err) {
3100
3100
  if (err.code !== "EEXIST") throw err;
3101
3101
  if (await isStaleLock(lockPath, options.stale)) {
3102
- await fs.rm(lockPath, { force: true }).catch(() => void 0);
3102
+ await fs$1.rm(lockPath, { force: true }).catch(() => void 0);
3103
3103
  continue;
3104
3104
  }
3105
3105
  if (attempt >= attempts - 1) break;
@@ -3253,7 +3253,7 @@ function resolveAuthStorePathForDisplay(agentDir) {
3253
3253
  return pathname.startsWith("~") ? pathname : resolveUserPath(pathname);
3254
3254
  }
3255
3255
  function ensureAuthStoreFile(pathname) {
3256
- if (fsSync.existsSync(pathname)) return;
3256
+ if (fs.existsSync(pathname)) return;
3257
3257
  saveJsonFile(pathname, {
3258
3258
  version: AUTH_STORE_VERSION,
3259
3259
  profiles: {}
@@ -3422,7 +3422,7 @@ function loadAuthProfileStoreForAgent(agentDir, _options) {
3422
3422
  if (shouldWrite && legacy !== null) {
3423
3423
  const legacyPath = resolveLegacyAuthStorePath(agentDir);
3424
3424
  try {
3425
- fsSync.unlinkSync(legacyPath);
3425
+ fs.unlinkSync(legacyPath);
3426
3426
  } catch (err) {
3427
3427
  if (err?.code !== "ENOENT") log$1.warn("failed to delete legacy auth.json after migration", {
3428
3428
  err,
@@ -1,5 +1,5 @@
1
1
  import { Dt as theme, Et as isRich, h as visibleWidth, ln as hasRootVersionAlias } from "./entry.js";
2
- import { un as resolveCommitHash } from "./subagent-registry-C1OyZl-M.js";
2
+ import { dn as resolveCommitHash } from "./subagent-registry-B1HJJs3Q.js";
3
3
 
4
4
  //#region src/cli/tagline.ts
5
5
  const DEFAULT_TAGLINE = "All your chats, one Symi.";
@@ -1,6 +1,6 @@
1
1
  import { p as normalizeAccountId, s as normalizeAgentId } from "./session-key-BCzIW1Y2.js";
2
- import { s as normalizeChatChannelId } from "./registry-X6fUE0K7.js";
3
- import { c as resolveDefaultAgentId } from "./agent-scope-Cpm7a9ss.js";
2
+ import { s as normalizeChatChannelId } from "./registry-DYq1AYOv.js";
3
+ import { c as resolveDefaultAgentId } from "./agent-scope-CpEJ0B88.js";
4
4
 
5
5
  //#region src/routing/bindings.ts
6
6
  function normalizeBindingChannelId(raw) {
@@ -17,15 +17,15 @@ import "./errors-BF3TeRH2.js";
17
17
  import "./fs-safe-CUjO1ca2.js";
18
18
  import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BBm9fwuG.js";
19
19
  import { t as movePathToTrash } from "./trash-DcMh1i4B.js";
20
- import "./client-C7AOOnKZ.js";
21
- import "./call-Cmb04dff.js";
20
+ import "./client-CYsBIR3j.js";
21
+ import "./call-BkJK3eYP.js";
22
22
  import "./pairing-token-pooyuU2J.js";
23
23
  import { t as formatDocsLink } from "./links-DGINhC21.js";
24
24
  import { n as runCommandWithRuntime } from "./cli-utils-DJ7Nfw8J.js";
25
25
  import { t as formatHelpExamples } from "./help-format-aBw2-Z6l.js";
26
26
  import "./progress-WhkkDU0H.js";
27
27
  import { n as inheritOptionFromParent } from "./command-options-DOOvAdsg.js";
28
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DActF8Qj.js";
28
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-QsFn5Zr1.js";
29
29
  import { t as copyToClipboard } from "./clipboard-DdzH0esn.js";
30
30
  import { fileURLToPath } from "node:url";
31
31
  import fs from "node:fs";
@@ -6,8 +6,8 @@ import "./agent-scope-D-jRCY0d.js";
6
6
  import "./github-copilot-token-DuFIqfeC.js";
7
7
  import "./manifest-registry-D5bnO5uA.js";
8
8
  import { i as loadConfig } from "./config-DXt3pc08.js";
9
- import "./client-qUlxXXVJ.js";
10
- import "./call-BrRWr7Lj.js";
9
+ import "./client-Cmq13-uF.js";
10
+ import "./call-CAGvQYXj.js";
11
11
  import "./message-channel-C9dERklz.js";
12
12
  import "./pairing-token-Byh6drgn.js";
13
13
  import "./redact-B40lik2B.js";
@@ -20,7 +20,7 @@ import { n as runCommandWithRuntime } from "./cli-utils-CI_KkT8q.js";
20
20
  import { t as formatHelpExamples } from "./help-format-nY42tGMB.js";
21
21
  import "./progress-HK2tT7Yf.js";
22
22
  import { n as inheritOptionFromParent } from "./command-options-DbRrl8qF.js";
23
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BKJyAcQd.js";
23
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DbSbyIcL.js";
24
24
  import { t as copyToClipboard } from "./clipboard-DHic8nRu.js";
25
25
  import path from "node:path";
26
26
  import fs from "node:fs";
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.8.14",
3
- "commit": "c12b74437bc28ab9fa4792756404155a6f26386e",
4
- "builtAt": "2026-04-27T19:48:07.554Z"
2
+ "version": "2.8.15",
3
+ "commit": "e8357994d45d0df69596019664ddc2a4e8aadef5",
4
+ "builtAt": "2026-04-27T22:16:19.045Z"
5
5
  }