@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
@@ -53,7 +53,7 @@ import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decod
53
53
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-LbcEa65a.js";
54
54
  import { c as normalizeExtraMemoryPaths, m as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-Qi-tyvHh.js";
55
55
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Wd5tNeQG.js";
56
- import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-CVuMChKq.js";
56
+ import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-DdOb0Em2.js";
57
57
  import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-BuYpmEx-.js";
58
58
  import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-CGhw9mO3.js";
59
59
  import { t as makeProxyFetch } from "./proxy-D27OUbrW.js";
@@ -3925,6 +3925,40 @@ const SessionsPreviewParamsSchema = Type.Object({
3925
3925
  limit: Type.Optional(Type.Integer({ minimum: 1 })),
3926
3926
  maxChars: Type.Optional(Type.Integer({ minimum: 20 }))
3927
3927
  }, { additionalProperties: false });
3928
+ /**
3929
+ * Hybrid (vector + FTS) search across session transcripts. Piggybacks on
3930
+ * the memory-search infrastructure with a `source = "sessions"` filter and
3931
+ * remaps the raw chunk path back to the owning session-key via the agent's
3932
+ * sessions.json index.
3933
+ */
3934
+ const SessionsSearchParamsSchema = Type.Object({
3935
+ query: Type.String({ minLength: 1 }),
3936
+ limit: Type.Optional(Type.Integer({
3937
+ minimum: 1,
3938
+ maximum: 50
3939
+ })),
3940
+ minScore: Type.Optional(Type.Number({
3941
+ minimum: 0,
3942
+ maximum: 1
3943
+ })),
3944
+ agentId: Type.Optional(NonEmptyString)
3945
+ }, { additionalProperties: false });
3946
+ const SessionsSearchMatchSchema = Type.Object({
3947
+ sessionKey: Type.Union([Type.String(), Type.Null()]),
3948
+ sessionId: Type.String(),
3949
+ file: Type.String(),
3950
+ lineStart: Type.Integer(),
3951
+ lineEnd: Type.Integer(),
3952
+ snippet: Type.String(),
3953
+ score: Type.Number(),
3954
+ label: Type.Optional(Type.String()),
3955
+ displayName: Type.Optional(Type.String()),
3956
+ updatedAt: Type.Optional(Type.Integer())
3957
+ }, { additionalProperties: false });
3958
+ const SessionsSearchResultSchema = Type.Object({
3959
+ matches: Type.Array(SessionsSearchMatchSchema),
3960
+ agentId: Type.String()
3961
+ }, { additionalProperties: false });
3928
3962
  const SessionsResolveParamsSchema = Type.Object({
3929
3963
  key: Type.Optional(NonEmptyString),
3930
3964
  sessionId: Type.Optional(NonEmptyString),
@@ -4137,6 +4171,7 @@ const validateNodeEventParams = ajv.compile(NodeEventParamsSchema);
4137
4171
  const validatePushTestParams = ajv.compile(PushTestParamsSchema);
4138
4172
  const validateSessionsListParams = ajv.compile(SessionsListParamsSchema);
4139
4173
  const validateSessionsPreviewParams = ajv.compile(SessionsPreviewParamsSchema);
4174
+ const validateSessionsSearchParams = ajv.compile(SessionsSearchParamsSchema);
4140
4175
  const validateSessionsResolveParams = ajv.compile(SessionsResolveParamsSchema);
4141
4176
  const validateSessionsPatchParams = ajv.compile(SessionsPatchParamsSchema);
4142
4177
  const validateSessionsResetParams = ajv.compile(SessionsResetParamsSchema);
@@ -4532,6 +4567,7 @@ const METHOD_SCOPE_GROUPS = {
4532
4567
  "voicewake.get",
4533
4568
  "sessions.list",
4534
4569
  "sessions.preview",
4570
+ "sessions.search",
4535
4571
  "sessions.resolve",
4536
4572
  "sessions.usage",
4537
4573
  "sessions.usage.timeseries",
@@ -11602,7 +11638,7 @@ async function getMemorySearchManager(params) {
11602
11638
  const wrapper = new FallbackMemoryManager({
11603
11639
  primary,
11604
11640
  fallbackFactory: async () => {
11605
- const { MemoryIndexManager } = await import("./manager-CVuMChKq.js").then((n) => n.n);
11641
+ const { MemoryIndexManager } = await import("./manager-DdOb0Em2.js").then((n) => n.n);
11606
11642
  return await MemoryIndexManager.get(params);
11607
11643
  }
11608
11644
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -11615,7 +11651,7 @@ async function getMemorySearchManager(params) {
11615
11651
  }
11616
11652
  }
11617
11653
  try {
11618
- const { MemoryIndexManager } = await import("./manager-CVuMChKq.js").then((n) => n.n);
11654
+ const { MemoryIndexManager } = await import("./manager-DdOb0Em2.js").then((n) => n.n);
11619
11655
  return { manager: await MemoryIndexManager.get(params) };
11620
11656
  } catch (err) {
11621
11657
  return {
@@ -14928,16 +14964,16 @@ function shouldComputeCommandAuthorized(text, cfg, options) {
14928
14964
 
14929
14965
  //#endregion
14930
14966
  //#region src/channels/sender-label.ts
14931
- function normalize(value) {
14967
+ function normalize$1(value) {
14932
14968
  const trimmed = value?.trim();
14933
14969
  return trimmed ? trimmed : void 0;
14934
14970
  }
14935
14971
  function resolveSenderLabel(params) {
14936
- const name = normalize(params.name);
14937
- const username = normalize(params.username);
14938
- const tag = normalize(params.tag);
14939
- const e164 = normalize(params.e164);
14940
- const id = normalize(params.id);
14972
+ const name = normalize$1(params.name);
14973
+ const username = normalize$1(params.username);
14974
+ const tag = normalize$1(params.tag);
14975
+ const e164 = normalize$1(params.e164);
14976
+ const id = normalize$1(params.id);
14941
14977
  const display = name ?? username ?? tag ?? "";
14942
14978
  const idPart = e164 ?? id ?? "";
14943
14979
  if (display && idPart && display !== idPart) return `${display} (${idPart})`;
@@ -36865,7 +36901,7 @@ async function runAgentTurn(params) {
36865
36901
  function createDefaultDeps() {
36866
36902
  return {
36867
36903
  sendMessageWhatsApp: async (...args) => {
36868
- const { sendMessageWhatsApp } = await import("./web-DGGSyBgc.js");
36904
+ const { sendMessageWhatsApp } = await import("./web-B8upqMUo.js");
36869
36905
  return await sendMessageWhatsApp(...args);
36870
36906
  },
36871
36907
  sendMessageTelegram: async (...args) => {
@@ -54303,7 +54339,7 @@ function loadWebLoginQr() {
54303
54339
  return webLoginQrPromise;
54304
54340
  }
54305
54341
  function loadWebChannel() {
54306
- webChannelPromise ??= import("./web-DGGSyBgc.js");
54342
+ webChannelPromise ??= import("./web-B8upqMUo.js");
54307
54343
  return webChannelPromise;
54308
54344
  }
54309
54345
  function loadWhatsAppActions() {
@@ -59785,6 +59821,91 @@ function isToolAllowedByPolicies(name, policies) {
59785
59821
  return policies.every((policy) => isToolAllowedByPolicyName(name, policy));
59786
59822
  }
59787
59823
 
59824
+ //#endregion
59825
+ //#region src/agents/pi-tools.read-edit-guard.ts
59826
+ const RETRY_GUIDANCE_SUFFIX$1 = " Read the file first, then retry the edit.";
59827
+ function readGuardError(filePath) {
59828
+ 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}`);
59829
+ }
59830
+ function extractPath(args) {
59831
+ if (!args || typeof args !== "object") return;
59832
+ const record = args;
59833
+ const candidate = record.path ?? record.file_path;
59834
+ if (typeof candidate !== "string") return;
59835
+ const trimmed = candidate.trim();
59836
+ return trimmed.length > 0 ? trimmed : void 0;
59837
+ }
59838
+ function wrapReadToolWithTracker(tool, tracker) {
59839
+ return {
59840
+ ...tool,
59841
+ execute: async (toolCallId, args, signal, onUpdate) => {
59842
+ const result = await tool.execute(toolCallId, args, signal, onUpdate);
59843
+ if (!(!!result && typeof result === "object" && result.isError === true)) {
59844
+ const filePath = extractPath(args);
59845
+ if (filePath) tracker.recordRead(filePath);
59846
+ }
59847
+ return result;
59848
+ }
59849
+ };
59850
+ }
59851
+ function wrapWriteToolWithTracker(tool, tracker) {
59852
+ return {
59853
+ ...tool,
59854
+ execute: async (toolCallId, args, signal, onUpdate) => {
59855
+ const result = await tool.execute(toolCallId, args, signal, onUpdate);
59856
+ if (!(!!result && typeof result === "object" && result.isError === true)) {
59857
+ const filePath = extractPath(args);
59858
+ if (filePath) tracker.recordWrite(filePath);
59859
+ }
59860
+ return result;
59861
+ }
59862
+ };
59863
+ }
59864
+ function wrapEditToolWithGuard(tool, tracker) {
59865
+ return {
59866
+ ...tool,
59867
+ execute: async (toolCallId, args, signal, onUpdate) => {
59868
+ const filePath = extractPath(args);
59869
+ if (filePath && !tracker.hasObserved(filePath)) throw readGuardError(filePath);
59870
+ return tool.execute(toolCallId, args, signal, onUpdate);
59871
+ }
59872
+ };
59873
+ }
59874
+
59875
+ //#endregion
59876
+ //#region src/agents/pi-tools.read-edit-tracker.ts
59877
+ function normalize(filePath, workspaceRoot) {
59878
+ if (!workspaceRoot) return filePath;
59879
+ if (path.isAbsolute(filePath)) return path.normalize(filePath);
59880
+ return path.resolve(workspaceRoot, filePath);
59881
+ }
59882
+ function createReadEditTracker(opts = {}) {
59883
+ const observed = /* @__PURE__ */ new Map();
59884
+ const record = (filePath, kind) => {
59885
+ if (typeof filePath !== "string" || !filePath.trim()) return;
59886
+ const key = normalize(filePath.trim(), opts.workspaceRoot);
59887
+ const prior = observed.get(key);
59888
+ if (kind === "written" || prior !== "written") observed.set(key, kind);
59889
+ };
59890
+ return {
59891
+ recordRead: (filePath) => record(filePath, "read"),
59892
+ recordWrite: (filePath) => record(filePath, "written"),
59893
+ observation: (filePath) => {
59894
+ if (typeof filePath !== "string" || !filePath.trim()) return null;
59895
+ const key = normalize(filePath.trim(), opts.workspaceRoot);
59896
+ return observed.get(key) ?? null;
59897
+ },
59898
+ hasObserved: (filePath) => {
59899
+ if (typeof filePath !== "string" || !filePath.trim()) return false;
59900
+ const key = normalize(filePath.trim(), opts.workspaceRoot);
59901
+ return observed.has(key);
59902
+ },
59903
+ reset: () => {
59904
+ observed.clear();
59905
+ }
59906
+ };
59907
+ }
59908
+
59788
59909
  //#endregion
59789
59910
  //#region src/media/sniff-mime-from-base64.ts
59790
59911
  async function sniffMimeFromBase64(base64) {
@@ -62796,8 +62917,39 @@ const GatewayToolSchema = Type.Object({
62796
62917
  baseHash: Type.Optional(Type.String()),
62797
62918
  sessionKey: Type.Optional(Type.String()),
62798
62919
  note: Type.Optional(Type.String()),
62799
- restartDelayMs: Type.Optional(Type.Number())
62920
+ restartDelayMs: Type.Optional(Type.Number()),
62921
+ userRequestAcknowledgment: Type.Optional(Type.String())
62800
62922
  });
62923
+ /** Actions that mutate gateway state and require explicit user authorization. */
62924
+ const DESTRUCTIVE_ACTIONS = new Set([
62925
+ "config.apply",
62926
+ "config.patch",
62927
+ "update.run"
62928
+ ]);
62929
+ /** Minimum length for a meaningful authorization message. */
62930
+ const MIN_AUTHORIZATION_LENGTH = 10;
62931
+ /**
62932
+ * Asserts the user's request was explicitly acknowledged for destructive
62933
+ * actions. Throws a descriptive error if the acknowledgment is missing,
62934
+ * empty, or trivially short.
62935
+ *
62936
+ * NOTE: This is defense-in-depth, not a hard barrier. A determined model
62937
+ * could still populate the field with fabricated text. The barrier exists
62938
+ * to:
62939
+ * 1. Force the agent to deliberately compose a justification (vs. blind
62940
+ * tool invocation).
62941
+ * 2. Provide an audit trail (the acknowledgment is logged with the tool
62942
+ * call args).
62943
+ * 3. Surface for future tightening (e.g., matching against real session
62944
+ * history).
62945
+ */
62946
+ function assertUserAuthorization(action, params) {
62947
+ if (!DESTRUCTIVE_ACTIONS.has(action)) return;
62948
+ const ack = params.userRequestAcknowledgment;
62949
+ const trimmed = typeof ack === "string" ? ack.trim() : "";
62950
+ 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.`);
62951
+ 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)}.`);
62952
+ }
62801
62953
  function createGatewayTool(opts) {
62802
62954
  return {
62803
62955
  label: "Gateway",
@@ -62808,6 +62960,7 @@ function createGatewayTool(opts) {
62808
62960
  execute: async (_toolCallId, args) => {
62809
62961
  const params = args;
62810
62962
  const action = readStringParam(params, "action", { required: true });
62963
+ assertUserAuthorization(action, params);
62811
62964
  if (action === "restart") {
62812
62965
  if (!isRestartEnabled(opts?.config)) throw new Error("Gateway restart is disabled (commands.restart=false).");
62813
62966
  const sessionKey = typeof params.sessionKey === "string" && params.sessionKey.trim() ? params.sessionKey.trim() : opts?.agentSessionKey?.trim() || void 0;
@@ -70551,33 +70704,34 @@ function createSymiCodingTools(options) {
70551
70704
  });
70552
70705
  if (sandboxRoot && !sandboxFsBridge) throw new Error("Sandbox filesystem bridge is unavailable.");
70553
70706
  const imageSanitization = resolveImageSanitizationLimits(options?.config);
70707
+ const readEditTracker = createReadEditTracker({ workspaceRoot: sandboxRoot ?? workspaceRoot });
70554
70708
  const base = codingTools.flatMap((tool) => {
70555
70709
  if (tool.name === readTool.name) {
70556
70710
  if (sandboxRoot) {
70557
- const sandboxed = createSandboxedReadTool({
70711
+ const tracked = wrapReadToolWithTracker(createSandboxedReadTool({
70558
70712
  root: sandboxRoot,
70559
70713
  bridge: sandboxFsBridge,
70560
70714
  modelContextWindowTokens: options?.modelContextWindowTokens,
70561
70715
  imageSanitization
70562
- });
70563
- return [workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxed, sandboxRoot) : sandboxed];
70716
+ }), readEditTracker);
70717
+ return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, sandboxRoot) : tracked];
70564
70718
  }
70565
- const wrapped = createSymiReadTool(createReadTool(workspaceRoot), {
70719
+ const tracked = wrapReadToolWithTracker(createSymiReadTool(createReadTool(workspaceRoot), {
70566
70720
  modelContextWindowTokens: options?.modelContextWindowTokens,
70567
70721
  imageSanitization
70568
- });
70569
- return [workspaceOnly ? wrapToolWorkspaceRootGuard(wrapped, workspaceRoot) : wrapped];
70722
+ }), readEditTracker);
70723
+ return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, workspaceRoot) : tracked];
70570
70724
  }
70571
70725
  if (tool.name === "bash" || tool.name === execToolName) return [];
70572
70726
  if (tool.name === "write") {
70573
70727
  if (sandboxRoot) return [];
70574
- const wrapped = wrapToolParamNormalization(createWriteTool(workspaceRoot), CLAUDE_PARAM_GROUPS.write);
70575
- return [workspaceOnly ? wrapToolWorkspaceRootGuard(wrapped, workspaceRoot) : wrapped];
70728
+ const tracked = wrapWriteToolWithTracker(wrapToolParamNormalization(createWriteTool(workspaceRoot), CLAUDE_PARAM_GROUPS.write), readEditTracker);
70729
+ return [workspaceOnly ? wrapToolWorkspaceRootGuard(tracked, workspaceRoot) : tracked];
70576
70730
  }
70577
70731
  if (tool.name === "edit") {
70578
70732
  if (sandboxRoot) return [];
70579
- const wrapped = wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit);
70580
- return [workspaceOnly ? wrapToolWorkspaceRootGuard(wrapped, workspaceRoot) : wrapped];
70733
+ const guarded = wrapEditToolWithGuard(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), readEditTracker);
70734
+ return [workspaceOnly ? wrapToolWorkspaceRootGuard(guarded, workspaceRoot) : guarded];
70581
70735
  }
70582
70736
  return [tool];
70583
70737
  });
@@ -70620,22 +70774,18 @@ function createSymiCodingTools(options) {
70620
70774
  } : void 0,
70621
70775
  workspaceOnly: applyPatchWorkspaceOnly
70622
70776
  });
70777
+ const sandboxedEditTool = sandboxRoot ? wrapEditToolWithGuard(createSandboxedEditTool({
70778
+ root: sandboxRoot,
70779
+ bridge: sandboxFsBridge
70780
+ }), readEditTracker) : null;
70781
+ const sandboxedWriteTool = sandboxRoot ? wrapWriteToolWithTracker(createSandboxedWriteTool({
70782
+ root: sandboxRoot,
70783
+ bridge: sandboxFsBridge
70784
+ }), readEditTracker) : null;
70623
70785
  const withHooks = applyToolPolicyPipeline({
70624
70786
  tools: applyOwnerOnlyToolPolicy([
70625
70787
  ...base,
70626
- ...sandboxRoot ? allowWorkspaceWrites ? [workspaceOnly ? wrapToolWorkspaceRootGuard(createSandboxedEditTool({
70627
- root: sandboxRoot,
70628
- bridge: sandboxFsBridge
70629
- }), sandboxRoot) : createSandboxedEditTool({
70630
- root: sandboxRoot,
70631
- bridge: sandboxFsBridge
70632
- }), workspaceOnly ? wrapToolWorkspaceRootGuard(createSandboxedWriteTool({
70633
- root: sandboxRoot,
70634
- bridge: sandboxFsBridge
70635
- }), sandboxRoot) : createSandboxedWriteTool({
70636
- root: sandboxRoot,
70637
- bridge: sandboxFsBridge
70638
- })] : [] : [],
70788
+ ...sandboxRoot ? allowWorkspaceWrites && sandboxedEditTool && sandboxedWriteTool ? [workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedEditTool, sandboxRoot) : sandboxedEditTool, workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedWriteTool, sandboxRoot) : sandboxedWriteTool] : [] : [],
70639
70789
  ...applyPatchTool ? [applyPatchTool] : [],
70640
70790
  execTool,
70641
70791
  processTool,
@@ -1,5 +1,5 @@
1
1
  import "./accounts-D9zGZU5t.js";
2
- import { u as runAgentTurn } from "./reply-LZax-i7K.js";
2
+ import { u as runAgentTurn } from "./reply-Cjjf4VYT.js";
3
3
  import "./paths-DR2yt_mP.js";
4
4
  import "./github-copilot-token-D9X2phUj.js";
5
5
  import "./plugins-BbAvhC25.js";
@@ -49,7 +49,7 @@ import "./image-DFyINnvE.js";
49
49
  import "./pi-model-discovery-LbcEa65a.js";
50
50
  import "./api-key-rotation-CBsLb_4V.js";
51
51
  import "./diagnostic-session-state-Wd5tNeQG.js";
52
- import "./manager-CVuMChKq.js";
52
+ import "./manager-DdOb0Em2.js";
53
53
  import "./sqlite-CmVrFEYD.js";
54
54
  import "./commands-registry-BuYpmEx-.js";
55
55
  import "./send-CGhw9mO3.js";
@@ -1,5 +1,5 @@
1
1
  import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-D9zGZU5t.js";
2
- import "./reply-LZax-i7K.js";
2
+ import "./reply-Cjjf4VYT.js";
3
3
  import "./paths-DR2yt_mP.js";
4
4
  import "./github-copilot-token-D9X2phUj.js";
5
5
  import "./plugins-BbAvhC25.js";
@@ -45,12 +45,12 @@ import "./pi-embedded-helpers-BL7ZRhGv.js";
45
45
  import "./paths-A0xdf3yk.js";
46
46
  import "./diagnostic-_oc91gNi.js";
47
47
  import "./store-Do3t33-c.js";
48
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-D1qaoERA.js";
48
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-BhqGIC7q.js";
49
49
  import "./image-DFyINnvE.js";
50
50
  import "./pi-model-discovery-LbcEa65a.js";
51
51
  import "./api-key-rotation-CBsLb_4V.js";
52
52
  import "./diagnostic-session-state-Wd5tNeQG.js";
53
- import "./manager-CVuMChKq.js";
53
+ import "./manager-DdOb0Em2.js";
54
54
  import "./sqlite-CmVrFEYD.js";
55
55
  import "./commands-registry-BuYpmEx-.js";
56
56
  import "./send-CGhw9mO3.js";
@@ -10,11 +10,11 @@ import "./frontmatter-B8duUx_6.js";
10
10
  import "./skills-D_oCiaQn.js";
11
11
  import { m as defaultSlotIdForKey, p as applyExclusiveSlotSelection, s as resolveBundledPluginsDir, t as clearPluginManifestRegistryCache } from "./manifest-registry-D5bnO5uA.js";
12
12
  import { i as loadConfig, l as writeConfigFile } from "./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 "./subagent-registry-DlIPWOrx.js";
17
+ import "./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";
@@ -103,7 +103,7 @@ import "./npm-registry-spec-PuS2I1Em.js";
103
103
  import "./skill-scanner-BV3QHmsf.js";
104
104
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-B4sNNRaW.js";
105
105
  import { t as renderTable } from "./table-Bka4fasy.js";
106
- import { t as buildPluginStatusReport } from "./status-uBCH1pzQ.js";
106
+ import { t as buildPluginStatusReport } from "./status-CpvzoCOC.js";
107
107
  import { n as updateNpmInstalledPlugins } from "./update-DticqU4-.js";
108
108
  import os from "node:os";
109
109
  import path from "node:path";
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-CaGCmutq.js";
4
+ import "./reply-CgyjcoxC.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } 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";
@@ -107,7 +107,7 @@ import "./npm-registry-spec-B98RgVZF.js";
107
107
  import "./skill-scanner-BTgjeQBf.js";
108
108
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-BPZKRjsO.js";
109
109
  import { t as renderTable } from "./table-BWuvjnmY.js";
110
- import { t as buildPluginStatusReport } from "./status-h7VP4Vpq.js";
110
+ import { t as buildPluginStatusReport } from "./status-BjMiGq0n.js";
111
111
  import { n as updateNpmInstalledPlugins } from "./update-D4uLu0dv.js";
112
112
  import fs from "node:fs";
113
113
  import os from "node:os";
@@ -11,11 +11,11 @@ import "./frontmatter-B8duUx_6.js";
11
11
  import "./skills-D_oCiaQn.js";
12
12
  import "./manifest-registry-D5bnO5uA.js";
13
13
  import { H as VERSION } from "./config-DXt3pc08.js";
14
- import "./client-Cmq13-uF.js";
15
- import "./call-CAGvQYXj.js";
14
+ import "./client-CJIMV1WD.js";
15
+ import "./call-M4YyUnwu.js";
16
16
  import "./message-channel-C9dERklz.js";
17
17
  import "./pairing-token-Byh6drgn.js";
18
- import "./subagent-registry-DlIPWOrx.js";
18
+ import "./subagent-registry-D0IYimMO.js";
19
19
  import "./sessions-BPD85pWA.js";
20
20
  import "./tokens-Csntmwwn.js";
21
21
  import "./plugins-CwSlLxM8.js";
@@ -53,8 +53,8 @@ import "./tool-images-CVLISeRT.js";
53
53
  import "./thinking-8sKPnzpp.js";
54
54
  import "./models-config-J1x_DaPn.js";
55
55
  import "./reply-prefix-BUN71nd5.js";
56
- import "./memory-cli-D2QHGsxh.js";
57
- import "./manager-DDboJTtn.js";
56
+ import "./memory-cli-OW9XfyYu.js";
57
+ import "./manager-QPF0UtOC.js";
58
58
  import "./gemini-auth-DEakvf-D.js";
59
59
  import "./retry-C4Q_VPOo.js";
60
60
  import "./sqlite-BP8tiuca.js";
@@ -95,18 +95,18 @@ import "./cli-utils-CI_KkT8q.js";
95
95
  import "./help-format-nY42tGMB.js";
96
96
  import "./progress-HK2tT7Yf.js";
97
97
  import "./replies-Sxbew659.js";
98
- import "./onboard-helpers-DjlGq6iG.js";
98
+ import "./onboard-helpers-DWDNKmkJ.js";
99
99
  import "./prompt-style-BxVdnrLq.js";
100
100
  import "./pairing-labels-BHx_CdbP.js";
101
101
  import "./pi-tools.policy-o0ytjRqu.js";
102
102
  import "./catalog-KcLvtTfa.js";
103
- import "./plugin-registry-R7nyNT_4.js";
104
- import { n as resolveCliChannelOptions } from "./channel-options-Cr_if7it.js";
105
- import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-8cGjLTmN.js";
106
- import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-BiznuVYK.js";
103
+ import "./plugin-registry-Bn9Mj8mP.js";
104
+ import { n as resolveCliChannelOptions } from "./channel-options-Bqc2VCgt.js";
105
+ import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-ByZAz4st.js";
106
+ import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-BiRjJ2Sy.js";
107
107
  import { r as setProgramContext } from "./program-context-DeZ44oQ9.js";
108
108
  import { t as forceFreePort } from "./ports-DQg7kV5s.js";
109
- import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-DSRsscTp.js";
109
+ import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-Bf46tqiY.js";
110
110
  import { Command } from "commander";
111
111
 
112
112
  //#region src/cli/program/context.ts
@@ -214,7 +214,7 @@ function registerPreActionHooks(program, programVersion) {
214
214
  commandPath
215
215
  });
216
216
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
217
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-R7nyNT_4.js").then((n) => n.n);
217
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-Bn9Mj8mP.js").then((n) => n.n);
218
218
  ensurePluginRegistryLoaded();
219
219
  }
220
220
  });