@symerian/symi 2.8.16 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/dist/{acp-cli-BgR7mxTS.js → acp-cli-BTu3_kZ1.js} +2 -2
  2. package/dist/{acp-cli-D1JYg9c1.js → acp-cli-Bav1bRj2.js} +2 -2
  3. package/dist/{agents-D6V12K_e.js → agents-CvNeiuSB.js} +5 -5
  4. package/dist/{agents.config-C0iGGY9q.js → agents.config-BCgY5FjE.js} +1 -1
  5. package/dist/{agents.config-BIIkG8rN.js → agents.config-Ct64cGQ8.js} +1 -1
  6. package/dist/{audio-preflight-rjCWpcfE.js → audio-preflight-Cb-T0r6e.js} +4 -4
  7. package/dist/{audit-xiwEIT96.js → audit-C9nq99IR.js} +2 -2
  8. package/dist/{audit-Dr_8rC6G.js → audit-CuKP86d_.js} +2 -2
  9. package/dist/{auth-choice-BcCUgEa4.js → auth-choice-ChFU9OCF.js} +2 -2
  10. package/dist/{auth-choice-jyLLyEpy.js → auth-choice-DmMyKZX4.js} +2 -2
  11. package/dist/{banner-DSRsscTp.js → banner-Bf46tqiY.js} +1 -1
  12. package/dist/{browser-cli-IXepRCZR.js → browser-cli-ClgQ-C8E.js} +3 -3
  13. package/dist/{browser-cli-BQeCPbES.js → browser-cli-DuPPIcuV.js} +3 -3
  14. package/dist/build-info.json +3 -3
  15. package/dist/bundled/boot-md/handler.js +7 -7
  16. package/dist/bundled/session-memory/handler.js +7 -7
  17. package/dist/{call-BkJK3eYP.js → call-DYfKEdwh.js} +2 -1
  18. package/dist/{call-CAGvQYXj.js → call-M4YyUnwu.js} +2 -1
  19. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  20. package/dist/{channel-options-Cr_if7it.js → channel-options-Bqc2VCgt.js} +1 -1
  21. package/dist/{channel-options-BSdsxwj0.js → channel-options-D4a0ZJ72.js} +1 -1
  22. package/dist/{channel-web-C3gcPe4C.js → channel-web-YNC2xS5K.js} +1 -1
  23. package/dist/{channels-cli-O7MxdB1l.js → channels-cli-BFJcNLbB.js} +9 -9
  24. package/dist/{channels-cli-Bn6mTlYq.js → channels-cli-h3GnmmM9.js} +9 -9
  25. package/dist/{chrome-C08Z0XAa.js → chrome-ROtrXlNs.js} +7 -7
  26. package/dist/cli/daemon-cli.js +1 -1
  27. package/dist/{cli-RIwsXnB-.js → cli-BX54CAM7.js} +6 -6
  28. package/dist/{cli-CLOf6U-k.js → cli-BpQlSGVs.js} +6 -6
  29. package/dist/{client-Cmq13-uF.js → client-CJIMV1WD.js} +36 -1
  30. package/dist/{client-CYsBIR3j.js → client-pd8kwOFJ.js} +36 -1
  31. package/dist/{command-registry-BiznuVYK.js → command-registry-BiRjJ2Sy.js} +11 -11
  32. package/dist/{completion-cli-BVG9ZtBG.js → completion-cli-BYXofVqv.js} +2 -2
  33. package/dist/{completion-cli-D-xVtDhj.js → completion-cli-C8K5J1ld.js} +1 -1
  34. package/dist/{config-cli-CDTQQFyj.js → config-cli-BPPD3xqE.js} +1 -1
  35. package/dist/{config-cli-zd2upqe_.js → config-cli-Deoo6r2K.js} +1 -1
  36. package/dist/{configure-Cu4CiLWY.js → configure-BKHxUAAh.js} +6 -6
  37. package/dist/{configure-BHdczngQ.js → configure-D4f0P3bH.js} +6 -6
  38. package/dist/control-ui/css/style.css +130 -0
  39. package/dist/control-ui/index.html +11 -0
  40. package/dist/control-ui/js/history.js +288 -8
  41. package/dist/{cron-cli-Dq2FEfK1.js → cron-cli-BEdmHCWZ.js} +3 -3
  42. package/dist/{cron-cli-CZCm3aLt.js → cron-cli-C8-Gv5dd.js} +3 -3
  43. package/dist/{daemon-cli-CweMes2K.js → daemon-cli-BFoJGCHZ.js} +2 -2
  44. package/dist/{daemon-cli-B2_uIgDM.js → daemon-cli-D6wyb9bo.js} +2 -2
  45. package/dist/daemon-cli.js +36 -0
  46. package/dist/{deliver-qUx-eLKt.js → deliver-B0OUq6RP.js} +1 -1
  47. package/dist/{devices-cli-DeoPyzAd.js → devices-cli-BXc6DPkC.js} +2 -2
  48. package/dist/{devices-cli-3ui-Wcaj.js → devices-cli-CHt4I-7e.js} +2 -2
  49. package/dist/{doctor-completion-ClveVbW_.js → doctor-completion-gMWymNcA.js} +1 -1
  50. package/dist/{doctor-completion-e-Ke-FnA.js → doctor-completion-woDYSVtY.js} +1 -1
  51. package/dist/entry.js +1 -1
  52. package/dist/{exec-approvals-cli-Bx9loYnQ.js → exec-approvals-cli-BBKVrFTj.js} +4 -4
  53. package/dist/{exec-approvals-cli-CTEn_Eu_.js → exec-approvals-cli-CKRDAo17.js} +4 -4
  54. package/dist/extensionAPI.js +2 -2
  55. package/dist/{gateway-cli-DGMuMxMT.js → gateway-cli-Bnh42-56.js} +91 -46
  56. package/dist/{gateway-cli-CBseg7zA.js → gateway-cli-DsnkTUOp.js} +91 -46
  57. package/dist/{gateway-rpc-DbSbyIcL.js → gateway-rpc-BEfosIsg.js} +1 -1
  58. package/dist/{gateway-rpc-QsFn5Zr1.js → gateway-rpc-DZrB7Sl_.js} +1 -1
  59. package/dist/{glass-ui-ws-B0WonpHP.js → glass-ui-ws-0Y0KsBvU.js} +13 -13
  60. package/dist/{glass-ui-ws-BU6qyCvM.js → glass-ui-ws-uj3DRmL8.js} +13 -13
  61. package/dist/{health-BrpUi4qW.js → health-CcV5nKIK.js} +2 -2
  62. package/dist/{health-d4gqJJCY.js → health-Dl2WRoTa.js} +2 -2
  63. package/dist/{hooks-cli-Dm2SU8AY.js → hooks-cli-CTcHtm_0.js} +7 -7
  64. package/dist/{hooks-cli-CBStbWME.js → hooks-cli-DEJe3dUH.js} +7 -7
  65. package/dist/{image-C6rCON9L.js → image-BuVL0jHI.js} +1 -1
  66. package/dist/index.js +11 -11
  67. package/dist/llm-slug-generator.js +7 -7
  68. package/dist/{logs-cli-R4WwQvR2.js → logs-cli-CsHpYc2M.js} +3 -3
  69. package/dist/{logs-cli-1hn28HCu.js → logs-cli-N5jQvJTm.js} +3 -3
  70. package/dist/{manager-BOvfAdfG.js → manager-9Mni2AA9.js} +1 -1
  71. package/dist/{manager-CtwApSQo.js → manager-C-H0XXJq.js} +1 -1
  72. package/dist/{manager-B-5p7UGu.js → manager-CjW8kPVc.js} +1 -1
  73. package/dist/{manager-DDboJTtn.js → manager-QPF0UtOC.js} +1 -1
  74. package/dist/{memory-cli-BOxWccJu.js → memory-cli-BTByRgM0.js} +3 -3
  75. package/dist/{memory-cli-D2QHGsxh.js → memory-cli-OW9XfyYu.js} +3 -3
  76. package/dist/{models-Cn1cbmce.js → models-Q1jV8ArL.js} +3 -3
  77. package/dist/{models-cli-CXW-3Zot.js → models-cli-Cy6H1sFq.js} +8 -8
  78. package/dist/{models-cli-Cdkkr4--.js → models-cli-pfVmmgpv.js} +7 -7
  79. package/dist/{node-cli-BBN6PoOG.js → node-cli-BD4E-Y8a.js} +1 -1
  80. package/dist/{node-cli-BsAzTrAx.js → node-cli-CwnTjFkG.js} +1 -1
  81. package/dist/{nodes-cli-t3azniiS.js → nodes-cli-DUD8_q_Q.js} +3 -3
  82. package/dist/{nodes-cli-DE60dv81.js → nodes-cli-Dv0NXhCO.js} +3 -3
  83. package/dist/{onboard-UB4D1vwP.js → onboard-CvpyaUQd.js} +3 -3
  84. package/dist/{onboard-BJ9vVhFw.js → onboard-EL8foMiP.js} +3 -3
  85. package/dist/{onboard-channels-Cfc9EhLj.js → onboard-channels-BRoSUijQ.js} +1 -1
  86. package/dist/{onboard-channels-Gfgyvx9N.js → onboard-channels-Bupbm6zh.js} +1 -1
  87. package/dist/{onboard-helpers-B7jBYbCU.js → onboard-helpers-CBxazphs.js} +1 -1
  88. package/dist/{onboard-helpers-DjlGq6iG.js → onboard-helpers-DWDNKmkJ.js} +1 -1
  89. package/dist/{onboard-remote-D7wGqONm.js → onboard-remote-DoIKLWXA.js} +1 -1
  90. package/dist/{onboard-remote-CXuHbtrT.js → onboard-remote-cZrkePlK.js} +1 -1
  91. package/dist/{onboard-skills-ChQnpMi-.js → onboard-skills-BjGYTueQ.js} +1 -1
  92. package/dist/{onboard-skills-BDhqz3te.js → onboard-skills-zauvnEui.js} +1 -1
  93. package/dist/{onboarding-BfSg5GnT.js → onboarding-Ch8WSJ3j.js} +7 -7
  94. package/dist/{onboarding-Bv89FLSZ.js → onboarding-Dg5ydWSh.js} +7 -7
  95. package/dist/{onboarding.finalize-DMJTZPb_.js → onboarding.finalize-Bo8-8TtH.js} +11 -11
  96. package/dist/{onboarding.finalize-B8MFYp8E.js → onboarding.finalize-CCTaCp2s.js} +12 -12
  97. package/dist/{onboarding.gateway-config-Cm5jIfRz.js → onboarding.gateway-config-Dg12RcXA.js} +3 -3
  98. package/dist/{onboarding.gateway-config-wAyLcGRu.js → onboarding.gateway-config-uIRsaxMy.js} +3 -3
  99. package/dist/{pi-embedded-CzKPTG9K.js → pi-embedded-Bl3YkBkI.js} +185 -35
  100. package/dist/{pi-embedded-helpers-P13adotN.js → pi-embedded-helpers-D1_Sab0M.js} +4 -4
  101. package/dist/{plugin-registry-CQAtbgft.js → plugin-registry-BVYZLxmo.js} +1 -1
  102. package/dist/{plugin-registry-R7nyNT_4.js → plugin-registry-Bn9Mj8mP.js} +1 -1
  103. package/dist/plugin-sdk/agents/pi-tools.read-edit-guard.d.ts +5 -0
  104. package/dist/plugin-sdk/agents/pi-tools.read-edit-tracker.d.ts +26 -0
  105. package/dist/plugin-sdk/{channel-web-D1qaoERA.js → channel-web-BhqGIC7q.js} +1 -1
  106. package/dist/plugin-sdk/gateway/protocol/index.d.ts +9 -3
  107. package/dist/plugin-sdk/gateway/protocol/schema/sessions.d.ts +39 -0
  108. package/dist/plugin-sdk/gateway/protocol/schema/types.d.ts +3 -1
  109. package/dist/plugin-sdk/index.js +3 -3
  110. package/dist/plugin-sdk/{manager-CVuMChKq.js → manager-DdOb0Em2.js} +1 -1
  111. package/dist/plugin-sdk/{reply-LZax-i7K.js → reply-Cjjf4VYT.js} +185 -35
  112. package/dist/plugin-sdk/{synthesis-DnknLqQP.js → synthesis-CZ8BYNXP.js} +2 -2
  113. package/dist/plugin-sdk/{web-DGGSyBgc.js → web-B8upqMUo.js} +3 -3
  114. package/dist/{plugins-cli-DGWVBlc8.js → plugins-cli-3h1N5N8n.js} +7 -7
  115. package/dist/{plugins-cli-CyaM2yPX.js → plugins-cli-CYOQh2DM.js} +7 -7
  116. package/dist/{program-2jsiC85C.js → program-D3_xE9BL.js} +12 -12
  117. package/dist/{program-context-DQg-ZH6A.js → program-context-COwsYCbf.js} +30 -30
  118. package/dist/{prompt-select-styled-CQJkA--o.js → prompt-select-styled-D88AWCeM.js} +8 -8
  119. package/dist/{prompt-select-styled-Csj7D4id.js → prompt-select-styled-rKPBDv7n.js} +8 -8
  120. package/dist/{provider-auth-helpers-DSq3qfws.js → provider-auth-helpers-CyZyVx-V.js} +1 -1
  121. package/dist/{provider-auth-helpers-C1rUolDI.js → provider-auth-helpers-rff7s_gC.js} +1 -1
  122. package/dist/{push-apns-Dv3XQClG.js → push-apns-BNzgqUl3.js} +1 -1
  123. package/dist/{push-apns-FvyXV3Um.js → push-apns-d9qKGKPe.js} +1 -1
  124. package/dist/{pw-ai-CeWN4iD9.js → pw-ai-DWkC5eGA.js} +1 -1
  125. package/dist/{register.agent-DCIdzwFG.js → register.agent-BjaqQA02.js} +10 -10
  126. package/dist/{register.agent-Cs5QU2Cd.js → register.agent-D_MON8p-.js} +11 -11
  127. package/dist/{register.configure-C64fHXoT.js → register.configure-BWkkQhpH.js} +13 -13
  128. package/dist/{register.configure-BBKyd--9.js → register.configure-UJi9sfNv.js} +13 -13
  129. package/dist/{register.maintenance-D99fy4mM.js → register.maintenance-ChskcWGz.js} +13 -13
  130. package/dist/{register.maintenance-DRUMeCun.js → register.maintenance-DJptz3DR.js} +12 -12
  131. package/dist/{register.message-CelO3y3f.js → register.message-BDTsiyrW.js} +7 -7
  132. package/dist/{register.message-BL30Nofx.js → register.message-CiadI_oS.js} +7 -7
  133. package/dist/{register.onboard-Cb9K2U81.js → register.onboard-BflOE1jy.js} +9 -9
  134. package/dist/{register.onboard-j6fg7rSF.js → register.onboard-KR_-4TLY.js} +9 -9
  135. package/dist/{register.setup-BfbJZE5C.js → register.setup-Cl0sD25T.js} +9 -9
  136. package/dist/{register.setup-xyGsh3Fi.js → register.setup-W-oNfOp0.js} +9 -9
  137. package/dist/{register.status-health-sessions-CpnBFwbx.js → register.status-health-sessions-CCQs235z.js} +9 -9
  138. package/dist/{register.status-health-sessions-BE4TcJ1J.js → register.status-health-sessions-CT_SmmOH.js} +9 -9
  139. package/dist/{register.subclis-8cGjLTmN.js → register.subclis-ByZAz4st.js} +20 -20
  140. package/dist/{reply-CaGCmutq.js → reply-CgyjcoxC.js} +151 -37
  141. package/dist/{rpc-St4eAsjR.js → rpc-BKlQ97aZ.js} +1 -1
  142. package/dist/{rpc-C3ZUAjXK.js → rpc-DC4ol5Xa.js} +1 -1
  143. package/dist/{run-main-BzZuJeMa.js → run-main-xmWpjZL9.js} +20 -20
  144. package/dist/{runner-D633VT13.js → runner-ecX1WzDt.js} +1 -1
  145. package/dist/{security-cli-BSvxNP9m.js → security-cli-BfiJ3e0Y.js} +3 -3
  146. package/dist/{security-cli-B8gavsuQ.js → security-cli-CIB7kqEk.js} +3 -3
  147. package/dist/{server-methods-DEV38b_O.js → server-methods-CBn954AO.js} +73 -12
  148. package/dist/{server-methods-BKlZejQC.js → server-methods-DDpCXuOU.js} +73 -12
  149. package/dist/{server-node-events-3FL5gBKp.js → server-node-events-BBEMSKVE.js} +7 -7
  150. package/dist/{server-node-events-BX5JLPyV.js → server-node-events-BUEZ3py9.js} +7 -7
  151. package/dist/{status-h7VP4Vpq.js → status-BjMiGq0n.js} +1 -1
  152. package/dist/{status-zNfi0s3F.js → status-CG5iHUJ6.js} +6 -6
  153. package/dist/{status-uBCH1pzQ.js → status-CpvzoCOC.js} +1 -1
  154. package/dist/{status-L76LBY6B.js → status-PfvX-BjO.js} +6 -6
  155. package/dist/{subagent-registry-DlIPWOrx.js → subagent-registry-D0IYimMO.js} +151 -37
  156. package/dist/{synthesis-1XabTYcd.js → synthesis-BVZ5RJLg.js} +6 -6
  157. package/dist/{synthesis-D1xCmGZi.js → synthesis-CBwKBuLy.js} +7 -7
  158. package/dist/{synthesis-BfB-Lbjy.js → synthesis-D55QrjAJ.js} +6 -6
  159. package/dist/{synthesis-D3EObLPS.js → synthesis-itgrzpuj.js} +2 -2
  160. package/dist/{system-cli-BN9MXNk7.js → system-cli-BERSpUjO.js} +3 -3
  161. package/dist/{system-cli-CD5latLh.js → system-cli-C61hzNPk.js} +3 -3
  162. package/dist/{tui-DLkE0D7e.js → tui-CI_zqapL.js} +2 -2
  163. package/dist/{tui-Cu4TZK3I.js → tui-Dg_cvgVP.js} +2 -2
  164. package/dist/{tui-cli-DC9Bq-N_.js → tui-cli-BD1cbShC.js} +3 -3
  165. package/dist/{tui-cli-BfuEq3Q-.js → tui-cli-DtBW_VCL.js} +3 -3
  166. package/dist/{unified-runner-KFxqPxWe.js → unified-runner-BhnvjB1J.js} +199 -49
  167. package/dist/{update-cli-CwtAWyeY.js → update-cli-CL1_LPBS.js} +14 -14
  168. package/dist/{update-cli-bTfRfI4b.js → update-cli-D3K4mhrr.js} +13 -13
  169. package/dist/{update-runner-DeT8NIX6.js → update-runner-Bmq67eos.js} +1 -1
  170. package/dist/{update-runner-BixvbAbN.js → update-runner-DMucmRlv.js} +1 -1
  171. package/dist/{web-CO0AUYgu.js → web-B0lZdBBl.js} +6 -6
  172. package/dist/{web-Bwrtjkmy.js → web-C1HPdY_D.js} +2 -2
  173. package/dist/{web-YSRcfzpP.js → web-DCO_YCRw.js} +7 -7
  174. package/dist/{web-N4FG6nyF.js → web-DmgQtLx3.js} +7 -7
  175. package/extensions/bluebubbles/package.json +1 -1
  176. package/extensions/copilot-proxy/package.json +1 -1
  177. package/extensions/diagnostics-otel/package.json +1 -1
  178. package/extensions/discord/package.json +1 -1
  179. package/extensions/feishu/package.json +1 -1
  180. package/extensions/google-antigravity-auth/package.json +1 -1
  181. package/extensions/google-gemini-cli-auth/package.json +1 -1
  182. package/extensions/googlechat/package.json +1 -1
  183. package/extensions/imessage/package.json +1 -1
  184. package/extensions/irc/package.json +1 -1
  185. package/extensions/learning-loop/package.json +1 -1
  186. package/extensions/line/package.json +1 -1
  187. package/extensions/llm-task/package.json +1 -1
  188. package/extensions/matrix/CHANGELOG.md +12 -0
  189. package/extensions/matrix/package.json +1 -1
  190. package/extensions/mattermost/package.json +1 -1
  191. package/extensions/memory-core/package.json +1 -1
  192. package/extensions/memory-lancedb/package.json +1 -1
  193. package/extensions/minimax-portal-auth/package.json +1 -1
  194. package/extensions/msteams/CHANGELOG.md +12 -0
  195. package/extensions/msteams/package.json +1 -1
  196. package/extensions/nextcloud-talk/package.json +1 -1
  197. package/extensions/nostr/CHANGELOG.md +12 -0
  198. package/extensions/nostr/package.json +1 -1
  199. package/extensions/open-prose/package.json +1 -1
  200. package/extensions/outlook/package.json +1 -1
  201. package/extensions/pipeline/package.json +1 -1
  202. package/extensions/signal/package.json +1 -1
  203. package/extensions/slack/package.json +1 -1
  204. package/extensions/telegram/package.json +1 -1
  205. package/extensions/tlon/package.json +1 -1
  206. package/extensions/twitch/CHANGELOG.md +12 -0
  207. package/extensions/twitch/package.json +1 -1
  208. package/extensions/voice-call/CHANGELOG.md +12 -0
  209. package/extensions/voice-call/package.json +1 -1
  210. package/extensions/whatsapp/package.json +1 -1
  211. package/extensions/zalo/CHANGELOG.md +12 -0
  212. package/extensions/zalo/package.json +1 -1
  213. package/extensions/zalouser/CHANGELOG.md +12 -0
  214. package/extensions/zalouser/package.json +1 -1
  215. package/package.json +1 -1
@@ -15,8 +15,8 @@ import { r as isPathInsideWithRealpath } from "./scan-paths-ppKrtZ9U.js";
15
15
  import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-D_oCiaQn.js";
16
16
  import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-D5bnO5uA.js";
17
17
  import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-DXt3pc08.js";
18
- import { Lt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-Cmq13-uF.js";
19
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-CAGvQYXj.js";
18
+ import { Rt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-CJIMV1WD.js";
19
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-M4YyUnwu.js";
20
20
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-C9dERklz.js";
21
21
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-D0lNkCf6.js";
22
22
  import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, P as resolveExplicitAgentSessionKey, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, Y as normalizeAccountId$3, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-BPD85pWA.js";
@@ -50,8 +50,8 @@ import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as san
50
50
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-8sKPnzpp.js";
51
51
  import { t as ensureSymiModelsJson } from "./models-config-J1x_DaPn.js";
52
52
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BUN71nd5.js";
53
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-D2QHGsxh.js";
54
- import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-DDboJTtn.js";
53
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-OW9XfyYu.js";
54
+ import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-QPF0UtOC.js";
55
55
  import { f as runTasksWithConcurrency } from "./internal-C2jxeHS9.js";
56
56
  import { n as retryAsync } from "./retry-C4Q_VPOo.js";
57
57
  import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-Co0LcWKH.js";
@@ -92,7 +92,7 @@ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-rou
92
92
  import { t as parseTimeoutMs } from "./parse-timeout-FUO1ff14.js";
93
93
  import { t as makeProxyFetch } from "./proxy-GY5xhMp0.js";
94
94
  import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-Sxbew659.js";
95
- import { r as detectBinary } from "./onboard-helpers-DjlGq6iG.js";
95
+ import { r as detectBinary } from "./onboard-helpers-DWDNKmkJ.js";
96
96
  import { t as resolvePairingIdLabel } from "./pairing-labels-BHx_CdbP.js";
97
97
  import { t as getActiveWebListener } from "./active-listener-DEi7sEFa.js";
98
98
  import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-o0ytjRqu.js";
@@ -4957,16 +4957,16 @@ function shouldComputeCommandAuthorized(text, cfg, options) {
4957
4957
 
4958
4958
  //#endregion
4959
4959
  //#region src/channels/sender-label.ts
4960
- function normalize(value) {
4960
+ function normalize$1(value) {
4961
4961
  const trimmed = value?.trim();
4962
4962
  return trimmed ? trimmed : void 0;
4963
4963
  }
4964
4964
  function resolveSenderLabel(params) {
4965
- const name = normalize(params.name);
4966
- const username = normalize(params.username);
4967
- const tag = normalize(params.tag);
4968
- const e164 = normalize(params.e164);
4969
- const id = normalize(params.id);
4965
+ const name = normalize$1(params.name);
4966
+ const username = normalize$1(params.username);
4967
+ const tag = normalize$1(params.tag);
4968
+ const e164 = normalize$1(params.e164);
4969
+ const id = normalize$1(params.id);
4970
4970
  const display = name ?? username ?? tag ?? "";
4971
4971
  const idPart = e164 ?? id ?? "";
4972
4972
  if (display && idPart && display !== idPart) return `${display} (${idPart})`;
@@ -23720,8 +23720,39 @@ const GatewayToolSchema = Type.Object({
23720
23720
  baseHash: Type.Optional(Type.String()),
23721
23721
  sessionKey: Type.Optional(Type.String()),
23722
23722
  note: Type.Optional(Type.String()),
23723
- restartDelayMs: Type.Optional(Type.Number())
23723
+ restartDelayMs: Type.Optional(Type.Number()),
23724
+ userRequestAcknowledgment: Type.Optional(Type.String())
23724
23725
  });
23726
+ /** Actions that mutate gateway state and require explicit user authorization. */
23727
+ const DESTRUCTIVE_ACTIONS = new Set([
23728
+ "config.apply",
23729
+ "config.patch",
23730
+ "update.run"
23731
+ ]);
23732
+ /** Minimum length for a meaningful authorization message. */
23733
+ const MIN_AUTHORIZATION_LENGTH = 10;
23734
+ /**
23735
+ * Asserts the user's request was explicitly acknowledged for destructive
23736
+ * actions. Throws a descriptive error if the acknowledgment is missing,
23737
+ * empty, or trivially short.
23738
+ *
23739
+ * NOTE: This is defense-in-depth, not a hard barrier. A determined model
23740
+ * could still populate the field with fabricated text. The barrier exists
23741
+ * to:
23742
+ * 1. Force the agent to deliberately compose a justification (vs. blind
23743
+ * tool invocation).
23744
+ * 2. Provide an audit trail (the acknowledgment is logged with the tool
23745
+ * call args).
23746
+ * 3. Surface for future tightening (e.g., matching against real session
23747
+ * history).
23748
+ */
23749
+ function assertUserAuthorization(action, params) {
23750
+ if (!DESTRUCTIVE_ACTIONS.has(action)) return;
23751
+ const ack = params.userRequestAcknowledgment;
23752
+ const trimmed = typeof ack === "string" ? ack.trim() : "";
23753
+ if (!trimmed) throw new Error(`Action '${action}' requires an explicit user authorization. Pass userRequestAcknowledgment with a paraphrase of the user's request (e.g., "user said: please update Symi"). If the user did not explicitly request this action, ask them first instead of invoking it.`);
23754
+ if (trimmed.length < MIN_AUTHORIZATION_LENGTH) throw new Error(`Action '${action}' requires a substantive userRequestAcknowledgment (minimum ${MIN_AUTHORIZATION_LENGTH} characters describing the user's request). Received: ${JSON.stringify(trimmed)}.`);
23755
+ }
23725
23756
  function createGatewayTool(opts) {
23726
23757
  return {
23727
23758
  label: "Gateway",
@@ -23732,6 +23763,7 @@ function createGatewayTool(opts) {
23732
23763
  execute: async (_toolCallId, args) => {
23733
23764
  const params = args;
23734
23765
  const action = readStringParam(params, "action", { required: true });
23766
+ assertUserAuthorization(action, params);
23735
23767
  if (action === "restart") {
23736
23768
  if (!isRestartEnabled(opts?.config)) throw new Error("Gateway restart is disabled (commands.restart=false).");
23737
23769
  const sessionKey = typeof params.sessionKey === "string" && params.sessionKey.trim() ? params.sessionKey.trim() : opts?.agentSessionKey?.trim() || void 0;
@@ -53882,7 +53914,7 @@ function isVoiceChannelType(type) {
53882
53914
  function createDefaultDeps() {
53883
53915
  return {
53884
53916
  sendMessageWhatsApp: async (...args) => {
53885
- const { sendMessageWhatsApp } = await import("./web-CO0AUYgu.js");
53917
+ const { sendMessageWhatsApp } = await import("./web-B0lZdBBl.js");
53886
53918
  return await sendMessageWhatsApp(...args);
53887
53919
  },
53888
53920
  sendMessageTelegram: async (...args) => {
@@ -69196,7 +69228,7 @@ function loadWebLoginQr() {
69196
69228
  return webLoginQrPromise;
69197
69229
  }
69198
69230
  function loadWebChannel() {
69199
- webChannelPromise ??= import("./web-CO0AUYgu.js");
69231
+ webChannelPromise ??= import("./web-B0lZdBBl.js");
69200
69232
  return webChannelPromise;
69201
69233
  }
69202
69234
  function loadWhatsAppActions() {
@@ -70458,6 +70490,91 @@ function wrapToolWithAbortSignal(tool, abortSignal) {
70458
70490
  };
70459
70491
  }
70460
70492
 
70493
+ //#endregion
70494
+ //#region src/agents/pi-tools.read-edit-guard.ts
70495
+ const RETRY_GUIDANCE_SUFFIX$1 = " Read the file first, then retry the edit.";
70496
+ function readGuardError(filePath) {
70497
+ return /* @__PURE__ */ new Error(`Edit refused: '${filePath}' has not been read in this session. The edit tool requires the agent to read the file first so oldText can match real content rather than hallucinated content.${RETRY_GUIDANCE_SUFFIX$1}`);
70498
+ }
70499
+ function extractPath(args) {
70500
+ if (!args || typeof args !== "object") return;
70501
+ const record = args;
70502
+ const candidate = record.path ?? record.file_path;
70503
+ if (typeof candidate !== "string") return;
70504
+ const trimmed = candidate.trim();
70505
+ return trimmed.length > 0 ? trimmed : void 0;
70506
+ }
70507
+ function wrapReadToolWithTracker(tool, tracker) {
70508
+ return {
70509
+ ...tool,
70510
+ execute: async (toolCallId, args, signal, onUpdate) => {
70511
+ const result = await tool.execute(toolCallId, args, signal, onUpdate);
70512
+ if (!(!!result && typeof result === "object" && result.isError === true)) {
70513
+ const filePath = extractPath(args);
70514
+ if (filePath) tracker.recordRead(filePath);
70515
+ }
70516
+ return result;
70517
+ }
70518
+ };
70519
+ }
70520
+ function wrapWriteToolWithTracker(tool, tracker) {
70521
+ return {
70522
+ ...tool,
70523
+ execute: async (toolCallId, args, signal, onUpdate) => {
70524
+ const result = await tool.execute(toolCallId, args, signal, onUpdate);
70525
+ if (!(!!result && typeof result === "object" && result.isError === true)) {
70526
+ const filePath = extractPath(args);
70527
+ if (filePath) tracker.recordWrite(filePath);
70528
+ }
70529
+ return result;
70530
+ }
70531
+ };
70532
+ }
70533
+ function wrapEditToolWithGuard(tool, tracker) {
70534
+ return {
70535
+ ...tool,
70536
+ execute: async (toolCallId, args, signal, onUpdate) => {
70537
+ const filePath = extractPath(args);
70538
+ if (filePath && !tracker.hasObserved(filePath)) throw readGuardError(filePath);
70539
+ return tool.execute(toolCallId, args, signal, onUpdate);
70540
+ }
70541
+ };
70542
+ }
70543
+
70544
+ //#endregion
70545
+ //#region src/agents/pi-tools.read-edit-tracker.ts
70546
+ function normalize(filePath, workspaceRoot) {
70547
+ if (!workspaceRoot) return filePath;
70548
+ if (path.isAbsolute(filePath)) return path.normalize(filePath);
70549
+ return path.resolve(workspaceRoot, filePath);
70550
+ }
70551
+ function createReadEditTracker(opts = {}) {
70552
+ const observed = /* @__PURE__ */ new Map();
70553
+ const record = (filePath, kind) => {
70554
+ if (typeof filePath !== "string" || !filePath.trim()) return;
70555
+ const key = normalize(filePath.trim(), opts.workspaceRoot);
70556
+ const prior = observed.get(key);
70557
+ if (kind === "written" || prior !== "written") observed.set(key, kind);
70558
+ };
70559
+ return {
70560
+ recordRead: (filePath) => record(filePath, "read"),
70561
+ recordWrite: (filePath) => record(filePath, "written"),
70562
+ observation: (filePath) => {
70563
+ if (typeof filePath !== "string" || !filePath.trim()) return null;
70564
+ const key = normalize(filePath.trim(), opts.workspaceRoot);
70565
+ return observed.get(key) ?? null;
70566
+ },
70567
+ hasObserved: (filePath) => {
70568
+ if (typeof filePath !== "string" || !filePath.trim()) return false;
70569
+ const key = normalize(filePath.trim(), opts.workspaceRoot);
70570
+ return observed.has(key);
70571
+ },
70572
+ reset: () => {
70573
+ observed.clear();
70574
+ }
70575
+ };
70576
+ }
70577
+
70461
70578
  //#endregion
70462
70579
  //#region src/media/sniff-mime-from-base64.ts
70463
70580
  async function sniffMimeFromBase64(base64) {
@@ -71085,33 +71202,34 @@ function createSymiCodingTools(options) {
71085
71202
  });
71086
71203
  if (sandboxRoot && !sandboxFsBridge) throw new Error("Sandbox filesystem bridge is unavailable.");
71087
71204
  const imageSanitization = resolveImageSanitizationLimits(options?.config);
71205
+ const readEditTracker = createReadEditTracker({ workspaceRoot: sandboxRoot ?? workspaceRoot });
71088
71206
  const base = codingTools.flatMap((tool) => {
71089
71207
  if (tool.name === readTool.name) {
71090
71208
  if (sandboxRoot) {
71091
- const sandboxed = createSandboxedReadTool({
71209
+ const tracked = wrapReadToolWithTracker(createSandboxedReadTool({
71092
71210
  root: sandboxRoot,
71093
71211
  bridge: sandboxFsBridge,
71094
71212
  modelContextWindowTokens: options?.modelContextWindowTokens,
71095
71213
  imageSanitization
71096
- });
71097
- return [workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxed, sandboxRoot) : sandboxed];
71214
+ }), readEditTracker);
71215
+ return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, sandboxRoot) : tracked];
71098
71216
  }
71099
- const wrapped = createSymiReadTool(createReadTool(workspaceRoot), {
71217
+ const tracked = wrapReadToolWithTracker(createSymiReadTool(createReadTool(workspaceRoot), {
71100
71218
  modelContextWindowTokens: options?.modelContextWindowTokens,
71101
71219
  imageSanitization
71102
- });
71103
- return [workspaceOnly ? wrapToolWorkspaceRootGuard(wrapped, workspaceRoot) : wrapped];
71220
+ }), readEditTracker);
71221
+ return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, workspaceRoot) : tracked];
71104
71222
  }
71105
71223
  if (tool.name === "bash" || tool.name === execToolName) return [];
71106
71224
  if (tool.name === "write") {
71107
71225
  if (sandboxRoot) return [];
71108
- const wrapped = wrapToolParamNormalization(createWriteTool(workspaceRoot), CLAUDE_PARAM_GROUPS.write);
71109
- return [workspaceOnly ? wrapToolWorkspaceRootGuard(wrapped, workspaceRoot) : wrapped];
71226
+ const tracked = wrapWriteToolWithTracker(wrapToolParamNormalization(createWriteTool(workspaceRoot), CLAUDE_PARAM_GROUPS.write), readEditTracker);
71227
+ return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, workspaceRoot) : tracked];
71110
71228
  }
71111
71229
  if (tool.name === "edit") {
71112
71230
  if (sandboxRoot) return [];
71113
- const wrapped = wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit);
71114
- return [workspaceOnly ? wrapToolWorkspaceRootGuard(wrapped, workspaceRoot) : wrapped];
71231
+ const guarded = wrapEditToolWithGuard(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), readEditTracker);
71232
+ return [workspaceOnly ? wrapToolWorkspaceRootGuard(guarded, workspaceRoot) : guarded];
71115
71233
  }
71116
71234
  return [tool];
71117
71235
  });
@@ -71154,22 +71272,18 @@ function createSymiCodingTools(options) {
71154
71272
  } : void 0,
71155
71273
  workspaceOnly: applyPatchWorkspaceOnly
71156
71274
  });
71275
+ const sandboxedEditTool = sandboxRoot ? wrapEditToolWithGuard(createSandboxedEditTool({
71276
+ root: sandboxRoot,
71277
+ bridge: sandboxFsBridge
71278
+ }), readEditTracker) : null;
71279
+ const sandboxedWriteTool = sandboxRoot ? wrapWriteToolWithTracker(createSandboxedWriteTool({
71280
+ root: sandboxRoot,
71281
+ bridge: sandboxFsBridge
71282
+ }), readEditTracker) : null;
71157
71283
  const withHooks = applyToolPolicyPipeline({
71158
71284
  tools: applyOwnerOnlyToolPolicy([
71159
71285
  ...base,
71160
- ...sandboxRoot ? allowWorkspaceWrites ? [workspaceOnly ? wrapToolWorkspaceRootGuard(createSandboxedEditTool({
71161
- root: sandboxRoot,
71162
- bridge: sandboxFsBridge
71163
- }), sandboxRoot) : createSandboxedEditTool({
71164
- root: sandboxRoot,
71165
- bridge: sandboxFsBridge
71166
- }), workspaceOnly ? wrapToolWorkspaceRootGuard(createSandboxedWriteTool({
71167
- root: sandboxRoot,
71168
- bridge: sandboxFsBridge
71169
- }), sandboxRoot) : createSandboxedWriteTool({
71170
- root: sandboxRoot,
71171
- bridge: sandboxFsBridge
71172
- })] : [] : [],
71286
+ ...sandboxRoot ? allowWorkspaceWrites && sandboxedEditTool && sandboxedWriteTool ? [workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedEditTool, sandboxRoot) : sandboxedEditTool, workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedWriteTool, sandboxRoot) : sandboxedWriteTool] : [] : [],
71173
71287
  ...applyPatchTool ? [applyPatchTool] : [],
71174
71288
  execTool,
71175
71289
  processTool,
@@ -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 { Bt as runAgentTurn } from "./reply-CaGCmutq.js";
4
+ import { Bt as runAgentTurn } from "./reply-CgyjcoxC.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -60,8 +60,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
60
60
  import "./send-DpMnSIi5.js";
61
61
  import "./model-ECsJuJew.js";
62
62
  import "./reply-prefix-CE2YmmsD.js";
63
- import "./memory-cli-BOxWccJu.js";
64
- import "./manager-BOvfAdfG.js";
63
+ import "./memory-cli-BTByRgM0.js";
64
+ import "./manager-9Mni2AA9.js";
65
65
  import "./retry-BoS4e4X_.js";
66
66
  import "./sqlite-D55gRQbH.js";
67
67
  import "./target-errors-C9e6dMU_.js";
@@ -71,8 +71,8 @@ import "./ir-jTXFdH5R.js";
71
71
  import "./render-Bwu_WxwA.js";
72
72
  import "./commands-vWB85AXk.js";
73
73
  import "./commands-registry-D_uByLpw.js";
74
- import "./client-CYsBIR3j.js";
75
- import "./call-BkJK3eYP.js";
74
+ import "./client-pd8kwOFJ.js";
75
+ import "./call-DYfKEdwh.js";
76
76
  import "./pairing-token-pooyuU2J.js";
77
77
  import "./channel-activity-CoTZV03i.js";
78
78
  import "./fetch-BECUf3wn.js";
@@ -93,7 +93,7 @@ import "./session-cost-usage-RPrhIvZF.js";
93
93
  import "./outbound-attachment-FbHNOB0s.js";
94
94
  import "./delivery-queue-D9i0qjI_.js";
95
95
  import "./send-SF7x1UHb.js";
96
- import "./onboard-helpers-B7jBYbCU.js";
96
+ import "./onboard-helpers-CBxazphs.js";
97
97
  import "./prompt-style-Y2J72w6p.js";
98
98
  import "./pairing-labels-CTL1gXZb.js";
99
99
  import "./exec-approvals-DEigTi7M.js";
@@ -3,16 +3,16 @@ import "./registry-DYq1AYOv.js";
3
3
  import "./agent-scope-CpEJ0B88.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
5
5
  import "./workspace-DscDraUb.js";
6
- import { t as runAgentTurn } from "./unified-runner-KFxqPxWe.js";
6
+ import { t as runAgentTurn } from "./unified-runner-BhnvjB1J.js";
7
7
  import "./paths-CbQV9WEg.js";
8
8
  import "./auth-profiles-C2vj6htZ.js";
9
9
  import "./env-BDXYbTKj.js";
10
10
  import "./github-copilot-token-cCYzSU9h.js";
11
11
  import "./boolean-CE7i9tBR.js";
12
- import "./pi-embedded-helpers-P13adotN.js";
12
+ import "./pi-embedded-helpers-D1_Sab0M.js";
13
13
  import "./config-BkZ9HOKT.js";
14
14
  import "./manifest-registry-CBCGTsIb.js";
15
- import "./chrome-C08Z0XAa.js";
15
+ import "./chrome-ROtrXlNs.js";
16
16
  import "./frontmatter-CTR5f_Ez.js";
17
17
  import "./skills-CXxrn_e2.js";
18
18
  import "./redact-BDMXB06K.js";
@@ -30,16 +30,16 @@ import "./bindings-BsHoBLIE.js";
30
30
  import "./send-BKo1T3HF.js";
31
31
  import "./send-C0QjmPaf.js";
32
32
  import "./tool-images-SqqWIT22.js";
33
- import "./deliver-qUx-eLKt.js";
33
+ import "./deliver-B0OUq6RP.js";
34
34
  import "./diagnostic-BUcR3Meg.js";
35
35
  import "./diagnostic-session-state-Zw87xFym.js";
36
- import "./image-C6rCON9L.js";
36
+ import "./image-BuVL0jHI.js";
37
37
  import "./pi-auth-json-RXOlh8ar.js";
38
38
  import "./tokens-W0JzCJJM.js";
39
39
  import "./send-Bb4it0te.js";
40
40
  import "./pi-model-discovery-CuZX_Q4t.js";
41
41
  import "./reply-prefix-CvEIl6_d.js";
42
- import "./manager-B-5p7UGu.js";
42
+ import "./manager-CjW8kPVc.js";
43
43
  import "./gemini-auth-BefM10YB.js";
44
44
  import "./retry-B-y5suGA.js";
45
45
  import "./sqlite-BN_hIcmu.js";
@@ -50,7 +50,7 @@ import "./local-roots-ClipCZ9s.js";
50
50
  import "./ir-7tMVY7D_.js";
51
51
  import "./render-D1xvLuGo.js";
52
52
  import "./commands-registry-DxbSTLNQ.js";
53
- import "./runner-D633VT13.js";
53
+ import "./runner-ecX1WzDt.js";
54
54
  import "./skill-commands-DG2lcozb.js";
55
55
  import "./fetch-ClslA6GS.js";
56
56
  import "./channel-activity-D8QD7GoV.js";
@@ -10,11 +10,11 @@ import "./frontmatter-B8duUx_6.js";
10
10
  import "./skills-D_oCiaQn.js";
11
11
  import "./manifest-registry-D5bnO5uA.js";
12
12
  import "./config-DXt3pc08.js";
13
- import "./client-Cmq13-uF.js";
14
- import "./call-CAGvQYXj.js";
13
+ import "./client-CJIMV1WD.js";
14
+ import "./call-M4YyUnwu.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import { J as runAgentTurn } from "./subagent-registry-DlIPWOrx.js";
17
+ import { J as runAgentTurn } from "./subagent-registry-D0IYimMO.js";
18
18
  import "./sessions-BPD85pWA.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import "./plugins-CwSlLxM8.js";
@@ -52,8 +52,8 @@ import "./tool-images-CVLISeRT.js";
52
52
  import "./thinking-8sKPnzpp.js";
53
53
  import "./models-config-J1x_DaPn.js";
54
54
  import "./reply-prefix-BUN71nd5.js";
55
- import "./memory-cli-D2QHGsxh.js";
56
- import "./manager-DDboJTtn.js";
55
+ import "./memory-cli-OW9XfyYu.js";
56
+ import "./manager-QPF0UtOC.js";
57
57
  import "./gemini-auth-DEakvf-D.js";
58
58
  import "./retry-C4Q_VPOo.js";
59
59
  import "./sqlite-BP8tiuca.js";
@@ -94,7 +94,7 @@ import "./cli-utils-CI_KkT8q.js";
94
94
  import "./help-format-nY42tGMB.js";
95
95
  import "./progress-HK2tT7Yf.js";
96
96
  import "./replies-Sxbew659.js";
97
- import "./onboard-helpers-DjlGq6iG.js";
97
+ import "./onboard-helpers-DWDNKmkJ.js";
98
98
  import "./prompt-style-BxVdnrLq.js";
99
99
  import "./pairing-labels-BHx_CdbP.js";
100
100
  import "./pi-tools.policy-o0ytjRqu.js";
@@ -7,7 +7,7 @@ import "./reply-prefix-K_J_nfgx.js";
7
7
  import "./github-copilot-token-BbsJ0Qbo.js";
8
8
  import "./env-CQ_DQOwT.js";
9
9
  import "./tokens-Cn6drXx2.js";
10
- import { p as runAgentTurn } from "./pi-embedded-CzKPTG9K.js";
10
+ import { p as runAgentTurn } from "./pi-embedded-Bl3YkBkI.js";
11
11
  import "./plugins-71oIavrF.js";
12
12
  import "./accounts-DDEyGwby.js";
13
13
  import "./bindings-DYVakimr.js";
@@ -35,7 +35,7 @@ import "./accounts-DImOt9jX.js";
35
35
  import "./paths-DkMamAQ-.js";
36
36
  import "./tool-images-ChC2CXaN.js";
37
37
  import "./image-MNvheU8U.js";
38
- import "./manager-CtwApSQo.js";
38
+ import "./manager-C-H0XXJq.js";
39
39
  import "./gemini-auth-DVcG-42i.js";
40
40
  import "./retry-QGp0jvVi.js";
41
41
  import "./sqlite-Bo4pHfp8.js";
@@ -5,13 +5,13 @@ import "./agent-scope-D-jRCY0d.js";
5
5
  import "./github-copilot-token-DuFIqfeC.js";
6
6
  import "./manifest-registry-D5bnO5uA.js";
7
7
  import "./config-DXt3pc08.js";
8
- import "./client-Cmq13-uF.js";
9
- import "./call-CAGvQYXj.js";
8
+ import "./client-CJIMV1WD.js";
9
+ import "./call-M4YyUnwu.js";
10
10
  import "./message-channel-C9dERklz.js";
11
11
  import "./pairing-token-Byh6drgn.js";
12
12
  import { t as formatDocsLink } from "./links-CxyMXTsn.js";
13
13
  import "./progress-HK2tT7Yf.js";
14
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DbSbyIcL.js";
14
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BEfosIsg.js";
15
15
 
16
16
  //#region src/cli/system-cli.ts
17
17
  const normalizeWakeMode = (raw) => {
@@ -11,12 +11,12 @@ import "./env-DPCHYPeH.js";
11
11
  import "./message-channel-aT-I_DTX.js";
12
12
  import "./config-PXAJCHa5.js";
13
13
  import "./manifest-registry-BDSRH8nU.js";
14
- import "./client-CYsBIR3j.js";
15
- import "./call-BkJK3eYP.js";
14
+ import "./client-pd8kwOFJ.js";
15
+ import "./call-DYfKEdwh.js";
16
16
  import "./pairing-token-pooyuU2J.js";
17
17
  import { t as formatDocsLink } from "./links-DGINhC21.js";
18
18
  import "./progress-WhkkDU0H.js";
19
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-QsFn5Zr1.js";
19
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DZrB7Sl_.js";
20
20
 
21
21
  //#region src/cli/system-cli.ts
22
22
  const normalizeWakeMode = (raw) => {
@@ -2,8 +2,8 @@ import { h as visibleWidth, m as stripAnsi } from "./entry.js";
2
2
  import { S as parseAgentSessionKey, c as normalizeMainKey, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-DjZ7Z1hW.js";
3
3
  import { l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
4
4
  import { H as VERSION, i as loadConfig } from "./config-DXt3pc08.js";
5
- import { Pt as PROTOCOL_VERSION, t as GatewayClient } from "./client-Cmq13-uF.js";
6
- import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-CAGvQYXj.js";
5
+ import { Ft as PROTOCOL_VERSION, t as GatewayClient } from "./client-CJIMV1WD.js";
6
+ import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-M4YyUnwu.js";
7
7
  import { f as GATEWAY_CLIENT_CAPS, h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C9dERklz.js";
8
8
  import { C as stripLeadingInboundMetadata } from "./sessions-BPD85pWA.js";
9
9
  import { _ as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-YD1JQ5xV.js";
@@ -8,8 +8,8 @@ import { _ as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-DHAJW99
8
8
  import { k as stripLeadingInboundMetadata } from "./sessions-BeYHj0gr.js";
9
9
  import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-D8N3rsYt.js";
10
10
  import { a as listChatCommandsForConfig, i as listChatCommands } from "./commands-registry-D_uByLpw.js";
11
- import { Pt as PROTOCOL_VERSION, t as GatewayClient } from "./client-CYsBIR3j.js";
12
- import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-BkJK3eYP.js";
11
+ import { Ft as PROTOCOL_VERSION, t as GatewayClient } from "./client-pd8kwOFJ.js";
12
+ import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-DYfKEdwh.js";
13
13
  import { n as formatTimeAgo, t as formatRelativeTimestamp } from "./format-relative-CviDPm2s.js";
14
14
  import { n as formatTokenCount } from "./usage-format-D4P4IiJ6.js";
15
15
  import chalk from "chalk";
@@ -7,8 +7,8 @@ import "./frontmatter-B8duUx_6.js";
7
7
  import "./skills-D_oCiaQn.js";
8
8
  import "./manifest-registry-D5bnO5uA.js";
9
9
  import "./config-DXt3pc08.js";
10
- import "./client-Cmq13-uF.js";
11
- import "./call-CAGvQYXj.js";
10
+ import "./client-CJIMV1WD.js";
11
+ import "./call-M4YyUnwu.js";
12
12
  import "./message-channel-C9dERklz.js";
13
13
  import "./pairing-token-Byh6drgn.js";
14
14
  import "./sessions-BPD85pWA.js";
@@ -43,7 +43,7 @@ import "./commands-registry-CsxsFveo.js";
43
43
  import "./tool-display-I4rDxv8J.js";
44
44
  import { t as parseTimeoutMs } from "./parse-timeout-FUO1ff14.js";
45
45
  import { t as formatDocsLink } from "./links-CxyMXTsn.js";
46
- import { t as runTui } from "./tui-DLkE0D7e.js";
46
+ import { t as runTui } from "./tui-CI_zqapL.js";
47
47
 
48
48
  //#region src/cli/tui-cli.ts
49
49
  function registerTuiCli(program) {
@@ -43,12 +43,12 @@ import "./tool-images-DvUBlqjX.js";
43
43
  import "./tool-display-D8N3rsYt.js";
44
44
  import "./commands-vWB85AXk.js";
45
45
  import "./commands-registry-D_uByLpw.js";
46
- import "./client-CYsBIR3j.js";
47
- import "./call-BkJK3eYP.js";
46
+ import "./client-pd8kwOFJ.js";
47
+ import "./call-DYfKEdwh.js";
48
48
  import "./pairing-token-pooyuU2J.js";
49
49
  import { t as formatDocsLink } from "./links-DGINhC21.js";
50
50
  import { t as parseTimeoutMs } from "./parse-timeout-rlcChuHD.js";
51
- import { t as runTui } from "./tui-Cu4TZK3I.js";
51
+ import { t as runTui } from "./tui-Dg_cvgVP.js";
52
52
 
53
53
  //#region src/cli/tui-cli.ts
54
54
  function registerTuiCli(program) {