@symerian/symi 3.0.12 → 3.0.13

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 (184) hide show
  1. package/dist/{agents-xbSFKxk1.js → agents-C1EHWbfj.js} +4 -4
  2. package/dist/{agents.config-Bs7UUe0R.js → agents.config-BzHsLIJT.js} +1 -1
  3. package/dist/{agents.config-tTbDCubC.js → agents.config-DUjv7eRL.js} +1 -1
  4. package/dist/{audio-preflight-DeOidVY9.js → audio-preflight-Cd4oBX_d.js} +4 -4
  5. package/dist/{auth-choice-B-sy9GJ3.js → auth-choice-CcbSp-5F.js} +1 -1
  6. package/dist/{auth-choice-Cr03ewiv.js → auth-choice-DlQFNChK.js} +1 -1
  7. package/dist/{banner-D1PQmpuP.js → banner-Dwc6cysD.js} +1 -1
  8. package/dist/build-info.json +3 -3
  9. package/dist/bundled/boot-md/handler.js +7 -7
  10. package/dist/bundled/session-memory/handler.js +7 -7
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/{channel-options-CR_Wk8eP.js → channel-options-Baxgs7Ac.js} +1 -1
  13. package/dist/{channel-options-DRtKFtZS.js → channel-options-cRW36Ig2.js} +1 -1
  14. package/dist/{channel-web-DQy6EOdz.js → channel-web-BXmHlcos.js} +1 -1
  15. package/dist/{channels-cli-maLqEQh7.js → channels-cli-BDVyJC_y.js} +6 -6
  16. package/dist/{channels-cli-CI_EDYQs.js → channels-cli-O7dsn4UZ.js} +6 -6
  17. package/dist/{chrome-cFjhP6kc.js → chrome-CqPheSG3.js} +7 -7
  18. package/dist/{cli-Cbe-5KnB.js → cli-BXOPJUyk.js} +3 -3
  19. package/dist/{cli-CwI9PVoY.js → cli-BZtnY7d6.js} +3 -3
  20. package/dist/{command-registry-CJjQMlj_.js → command-registry-C4fEo5jO.js} +10 -10
  21. package/dist/{completion-cli-CEknMySn.js → completion-cli-CTRhriVd.js} +1 -1
  22. package/dist/{completion-cli-vCFgly6i.js → completion-cli-D6k2XhFb.js} +2 -2
  23. package/dist/{config-cli-BUFk88DU.js → config-cli-CwufnTiJ.js} +1 -1
  24. package/dist/{config-cli-DLPWXbAt.js → config-cli-D-hgLpT3.js} +1 -1
  25. package/dist/{configure-BkoMFvEB.js → configure-C5t_r7sN.js} +3 -3
  26. package/dist/{configure-D80K613_.js → configure-DlSITc1U.js} +3 -3
  27. package/dist/{deliver-CgPAN0QZ.js → deliver-BVbveob8.js} +1 -1
  28. package/dist/{doctor-completion-BBDliPIB.js → doctor-completion-D31vWLKd.js} +1 -1
  29. package/dist/{doctor-completion-DVqUZPhO.js → doctor-completion-DLglYX3z.js} +1 -1
  30. package/dist/entry.js +1 -1
  31. package/dist/extensionAPI.js +2 -2
  32. package/dist/{gateway-cli-CIv75ODi.js → gateway-cli-BPpCax1I.js} +12 -12
  33. package/dist/{gateway-cli-DN9pqTkk.js → gateway-cli-D0b_yaeg.js} +12 -12
  34. package/dist/{glass-ui-ws-BBVOMP_3.js → glass-ui-ws-DIrqLWlg.js} +10 -10
  35. package/dist/{glass-ui-ws-DajvU2WU.js → glass-ui-ws-D_l8S-KZ.js} +10 -10
  36. package/dist/{health-DtWvvGSw.js → health-DxCLDRPA.js} +2 -2
  37. package/dist/{health-Dwt9mRYZ.js → health-dVQBgbn1.js} +2 -2
  38. package/dist/{heartbeat-visibility-o2h2sFYt.js → heartbeat-visibility-B2M69szZ.js} +1 -1
  39. package/dist/{heartbeat-visibility-Ot724yGm.js → heartbeat-visibility-B3jYfx_N.js} +1 -1
  40. package/dist/{hooks-cli-DgUKbUOY.js → hooks-cli-ClW2ErGr.js} +4 -4
  41. package/dist/{hooks-cli-COAJfD3O.js → hooks-cli-DkECWzYR.js} +4 -4
  42. package/dist/{image-DZQ_GyFY.js → image-CUTH9m-Y.js} +1 -1
  43. package/dist/index.js +9 -9
  44. package/dist/llm-slug-generator.js +7 -7
  45. package/dist/{manager-B4ilZbUQ.js → manager-B8S9zNM5.js} +1 -1
  46. package/dist/{manager-CoO0CGga.js → manager-CHLCClaz.js} +1 -1
  47. package/dist/{manager-BkUG5C_1.js → manager-CSbEQqJL.js} +1 -1
  48. package/dist/{manager-BeNDdeqW.js → manager-wiJTQCIl.js} +1 -1
  49. package/dist/{memory-cli-Wh36KC0B.js → memory-cli-DYjxP-KO.js} +3 -3
  50. package/dist/{memory-cli-C6UdaC7T.js → memory-cli-xeFyVyjI.js} +3 -3
  51. package/dist/{models-Bq57ZYdQ.js → models-Dv2h1wDZ.js} +2 -2
  52. package/dist/{models-cli-BoKH3H5E.js → models-cli--aTN9HGH.js} +5 -5
  53. package/dist/{models-cli-CPooQm_v.js → models-cli-CqZ7dJ9_.js} +4 -4
  54. package/dist/{onboard-CzuWVQbi.js → onboard-ClVlvvio.js} +2 -2
  55. package/dist/{onboard-BSIQryd_.js → onboard-DTRtoJuX.js} +2 -2
  56. package/dist/{onboard-channels-DJji_VgU.js → onboard-channels-D36jVNHS.js} +1 -1
  57. package/dist/{onboard-channels-C95U6eDf.js → onboard-channels-uTnRY9Xc.js} +1 -1
  58. package/dist/{onboarding-B3ULVn2b.js → onboarding-DSzOCClw.js} +3 -3
  59. package/dist/{onboarding-Cr4UYEKi.js → onboarding-UknWo-xb.js} +3 -3
  60. package/dist/{onboarding.finalize-B7GJ-KWP.js → onboarding.finalize-DHXICh0E.js} +9 -9
  61. package/dist/{onboarding.finalize-PgZt3gN6.js → onboarding.finalize-rOrwkS0W.js} +8 -8
  62. package/dist/{pi-embedded-helpers-B3csacnv.js → pi-embedded-helpers-Bp4JFTbe.js} +4 -4
  63. package/dist/{pi-embedded-D89dyS-z.js → pi-embedded-wrv2rBWt.js} +10 -53
  64. package/dist/{plugin-registry-B6MlsL7T.js → plugin-registry-CE-bQL5d.js} +1 -1
  65. package/dist/{plugin-registry-yCMeMFu0.js → plugin-registry-CtkGVd3t.js} +1 -1
  66. package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
  67. package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
  68. package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
  69. package/dist/plugin-sdk/{active-listener-BtNt_ynZ.js → active-listener-BaxIPBYG.js} +1 -1
  70. package/dist/plugin-sdk/{agent-scope-RSN8nr_m.js → agent-scope-BREbt-rZ.js} +2 -2
  71. package/dist/plugin-sdk/agents/system-prompt.d.ts +0 -8
  72. package/dist/plugin-sdk/{audio-preflight-DDbPGCW2.js → audio-preflight-DsZOzoTi.js} +24 -24
  73. package/dist/plugin-sdk/{bindings-DhPQDTtp.js → bindings-Da0i5ERM.js} +2 -2
  74. package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
  75. package/dist/plugin-sdk/{channel-web-ClaO3OHu.js → channel-web-C18g6B0w.js} +22 -22
  76. package/dist/plugin-sdk/{chrome-Cu2_tNPX.js → chrome-5vsWWgoJ.js} +3 -3
  77. package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
  78. package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
  79. package/dist/plugin-sdk/{commands-registry-DnaRR0It.js → commands-registry-CMJHsCzz.js} +4 -4
  80. package/dist/plugin-sdk/{config-BBf0mCzU.js → config-sW6sHEjP.js} +9 -9
  81. package/dist/plugin-sdk/{consolidate-BieO-_k_.js → consolidate-DHzE-Epp.js} +2 -2
  82. package/dist/plugin-sdk/{deliver-s5jR6Rm0.js → deliver-BjExSaDh.js} +9 -9
  83. package/dist/plugin-sdk/{diagnostic-fnIb_o_V.js → diagnostic-Jo7QixCi.js} +1 -1
  84. package/dist/plugin-sdk/{gemini-auth-DnMneaw7.js → gemini-auth-DoZCUeez.js} +1 -1
  85. package/dist/plugin-sdk/{image-Bn0ZvbCS.js → image-D5sxTO4B.js} +4 -4
  86. package/dist/plugin-sdk/{image-ops-C_3iBQe1.js → image-ops-DZ8OTT0B.js} +1 -1
  87. package/dist/plugin-sdk/index.js +54 -54
  88. package/dist/plugin-sdk/{ir-DrnNua4p.js → ir-DfsDN6C5.js} +4 -4
  89. package/dist/plugin-sdk/{local-roots-8f4AroIC.js → local-roots-CxzyCF23.js} +3 -3
  90. package/dist/plugin-sdk/{login-CYbFrIkH.js → login-Xauu2cKD.js} +7 -7
  91. package/dist/plugin-sdk/{login-qr-iiAx9Hzl.js → login-qr-DbdQzmX5.js} +9 -9
  92. package/dist/plugin-sdk/{manager-CrQHoLZe.js → manager-Ynxj9D_4.js} +9 -9
  93. package/dist/plugin-sdk/{manifest-registry-hy3Bn-r9.js → manifest-registry-BRx4JDK0.js} +1 -1
  94. package/dist/plugin-sdk/{markdown-tables-ivSTmsOn.js → markdown-tables-BBiVsk1q.js} +1 -1
  95. package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
  96. package/dist/plugin-sdk/{model-selection-jteJ6-KW.js → model-selection-DYUaACpE.js} +4 -4
  97. package/dist/plugin-sdk/{outbound-Do8D1BXN.js → outbound-BExtRVl2.js} +7 -7
  98. package/dist/plugin-sdk/{outbound-attachment-qB-kgb_3.js → outbound-attachment-V-8HPvXC.js} +2 -2
  99. package/dist/plugin-sdk/{pi-auth-json-h95g7KA6.js → pi-auth-json-Cx9o75_Z.js} +1 -1
  100. package/dist/plugin-sdk/{pi-embedded-helpers-DOSdFz8p.js → pi-embedded-helpers-BLEyEAp4.js} +17 -17
  101. package/dist/plugin-sdk/{plugins-muf5lfx-.js → plugins-DRWyzk5i.js} +4 -4
  102. package/dist/plugin-sdk/{pw-ai-N1dZncDF.js → pw-ai-llZdruth.js} +8 -8
  103. package/dist/plugin-sdk/{qmd-manager-Chj9aSN5.js → qmd-manager-BvQckdNY.js} +4 -4
  104. package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
  105. package/dist/plugin-sdk/{replies-Djt0Jtri.js → replies-55uBdcZx.js} +3 -3
  106. package/dist/plugin-sdk/{reply-prefix-CDeu1pum.js → reply-prefix-BKFQ9roP.js} +1 -1
  107. package/dist/plugin-sdk/{resolve-outbound-target-BkHNUpdB.js → resolve-outbound-target-BHmUS6gT.js} +2 -2
  108. package/dist/plugin-sdk/{resolve-route-kXW9e3Go.js → resolve-route-B34r6gNi.js} +3 -3
  109. package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
  110. package/dist/plugin-sdk/{runner-BEVT501x.js → runner-CMTjp93H.js} +9 -9
  111. package/dist/plugin-sdk/{send-COs8KoMe.js → send-9RblyyZd.js} +10 -10
  112. package/dist/plugin-sdk/{send-CpvF--s7.js → send-BQ5kyeDC.js} +10 -10
  113. package/dist/plugin-sdk/{send-BnLTM8JK.js → send-BpEesCa-.js} +7 -7
  114. package/dist/plugin-sdk/{send-n1cdSnDN.js → send-CsjaB4ba.js} +6 -6
  115. package/dist/plugin-sdk/{send-C6gdiUA_.js → send-DonsAKvn.js} +6 -6
  116. package/dist/plugin-sdk/{session-CDaxvhuc.js → session-BT2dgHI2.js} +4 -4
  117. package/dist/plugin-sdk/{skill-commands-Dmi3Y3Cd.js → skill-commands-BAuNo2vz.js} +5 -5
  118. package/dist/plugin-sdk/{skills-ksP6m2tL.js → skills-BDwS4XUE.js} +7 -7
  119. package/dist/plugin-sdk/{sqlite-BflKfcLD.js → sqlite-DLwYpBWC.js} +1 -1
  120. package/dist/plugin-sdk/{store-uf7TpQm3.js → store-Dt1oCaOn.js} +2 -2
  121. package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
  122. package/dist/plugin-sdk/{synthesis-9QefZm4s.js → synthesis-CO2ZQFu6.js} +49 -49
  123. package/dist/plugin-sdk/{tables-DE2W8BrP.js → tables-MCQfYFPK.js} +1 -1
  124. package/dist/plugin-sdk/{target-errors-Dqf_-SRz.js → target-errors-BGT90lj4.js} +2 -2
  125. package/dist/plugin-sdk/{thinking-Bq90REOa.js → thinking-qM2Kzm92.js} +5 -5
  126. package/dist/plugin-sdk/{tokens-D-HI9PZG.js → tokens-CVWPo-HD.js} +1 -1
  127. package/dist/plugin-sdk/{tool-images-DAXbRHJ1.js → tool-images-DvOrYSAO.js} +2 -2
  128. package/dist/plugin-sdk/{tool-loop-detection-DseOlBug.js → tool-loop-detection-gmtzSlNZ.js} +2 -2
  129. package/dist/plugin-sdk/{unified-runner-BPfXJ_-q.js → unified-runner-BUI9ninR.js} +83 -126
  130. package/dist/plugin-sdk/web-C_rB_m-e.js +66 -0
  131. package/dist/plugin-sdk/{whatsapp-actions-C25IYAot.js → whatsapp-actions-BT1wbCx9.js} +21 -21
  132. package/dist/{plugins-cli-DBM0eqIl.js → plugins-cli-B3YG8VEg.js} +4 -4
  133. package/dist/{plugins-cli-DnQRhfaI.js → plugins-cli-Bn8-8_23.js} +4 -4
  134. package/dist/{program-Dx8ddxuC.js → program-QzRBcmP4.js} +9 -9
  135. package/dist/{program-context-Kqz-xUms.js → program-context-CjPUq-R7.js} +18 -18
  136. package/dist/{prompt-select-styled-C-U7yJky.js → prompt-select-styled-d10JLxa3.js} +6 -6
  137. package/dist/{prompt-select-styled-BEZWd-py.js → prompt-select-styled-dqy-Baz2.js} +6 -6
  138. package/dist/{provider-auth-helpers-CJ108Rsr.js → provider-auth-helpers-CJPijGRq.js} +1 -1
  139. package/dist/{provider-auth-helpers-Dc3ug5a6.js → provider-auth-helpers-GQogKjFE.js} +1 -1
  140. package/dist/{push-apns-DasrMMsn.js → push-apns-DfSe7sOB.js} +1 -1
  141. package/dist/{push-apns-DRR-HRKQ.js → push-apns-UoRptSMP.js} +1 -1
  142. package/dist/{pw-ai-C_ZQ5KA2.js → pw-ai-BLFBlLvS.js} +1 -1
  143. package/dist/{register.agent-DF0zbJsS.js → register.agent-B5HMEuxb.js} +7 -7
  144. package/dist/{register.agent-Drr5pvPp.js → register.agent-B921Y-Xq.js} +8 -8
  145. package/dist/{register.configure-B7PDd52g.js → register.configure-CkrM0qTb.js} +9 -9
  146. package/dist/{register.configure-C4dZYkuQ.js → register.configure-DZ8PDClo.js} +9 -9
  147. package/dist/{register.maintenance-8F8uINLC.js → register.maintenance-B9YU5-GH.js} +11 -11
  148. package/dist/{register.maintenance-DkmjPWtb.js → register.maintenance-DIcuZbGe.js} +10 -10
  149. package/dist/{register.message-B1PiyGQ2.js → register.message-Bdq8-X7N.js} +4 -4
  150. package/dist/{register.message-CzyYuc7t.js → register.message-BmZ3x-eK.js} +4 -4
  151. package/dist/{register.onboard-DdYnTEjn.js → register.onboard-C96aB4BV.js} +7 -7
  152. package/dist/{register.onboard-BOmdO2qG.js → register.onboard-VpvDadRB.js} +7 -7
  153. package/dist/{register.setup-CnsgKGcx.js → register.setup-Btpke2Rx.js} +7 -7
  154. package/dist/{register.setup-CcyYgmFt.js → register.setup-a37lwmwS.js} +7 -7
  155. package/dist/{register.status-health-sessions-B1LYyJ5d.js → register.status-health-sessions-C2Wa5UnZ.js} +6 -6
  156. package/dist/{register.status-health-sessions-Dd-Lq7-v.js → register.status-health-sessions-ITqLC3Rb.js} +6 -6
  157. package/dist/{register.subclis-BN_La0-g.js → register.subclis-XCByhkDw.js} +9 -9
  158. package/dist/{run-main-DTa68vHK.js → run-main-BpWSzwB6.js} +17 -17
  159. package/dist/{runner-UgKupJ1D.js → runner-WxoM5P3c.js} +1 -1
  160. package/dist/{server-methods-DIxCrgKY.js → server-methods-CdYIBXWp.js} +9 -9
  161. package/dist/{server-methods-Ma0EgQYj.js → server-methods-DtNHC0b_.js} +9 -9
  162. package/dist/{server-node-events-Cw0XpTQ7.js → server-node-events-Dq1ZMCf6.js} +4 -4
  163. package/dist/{server-node-events-BhaLgVwj.js → server-node-events-yTZOzVQs.js} +4 -4
  164. package/dist/{status-WL5HKxk5.js → status-BF1RMYPZ.js} +1 -1
  165. package/dist/{status-CwoFZ1SN.js → status-C0MQarC1.js} +3 -3
  166. package/dist/{status-DSIeCLqw.js → status-DoHU1AjC.js} +3 -3
  167. package/dist/{status-SBqKRlSB.js → status-LPAgOj7a.js} +1 -1
  168. package/dist/{subagent-registry-Ci5g29Mp.js → subagent-registry-U0ugNIM_.js} +9 -52
  169. package/dist/{synthesis-CR7CavII.js → synthesis-BY2LWYcE.js} +3 -3
  170. package/dist/{synthesis-BcXONbp0.js → synthesis-CKPctksF.js} +7 -7
  171. package/dist/{synthesis-BeVG2lGs.js → synthesis-DT9QrCN7.js} +3 -3
  172. package/dist/{synthesis-YxmVZaLu.js → synthesis-DyJ5S1RD.js} +2 -2
  173. package/dist/{unified-runner-D_5_J0nE.js → unified-runner-BZ9aCu-a.js} +24 -67
  174. package/dist/{unified-runner-BXwSSfqN.js → unified-runner-CBI-Swnu.js} +9 -52
  175. package/dist/{update-cli-DA8fm8Rl.js → update-cli-BiI3lh2-.js} +10 -10
  176. package/dist/{update-cli-CLeCba_r.js → update-cli-C2P8Rlb9.js} +11 -11
  177. package/dist/{update-runner-CBhotLBj.js → update-runner-8kzamnJ4.js} +1 -1
  178. package/dist/{update-runner-CojT7WjB.js → update-runner-B8HeQMh9.js} +1 -1
  179. package/dist/{web-7whaNwuf.js → web-Bc4Wpswl.js} +4 -4
  180. package/dist/{web-DJLqJtdE.js → web-BlFUXBMY.js} +7 -7
  181. package/dist/{web-Bajdq5Wa.js → web-CkR_yCA_.js} +2 -2
  182. package/dist/{web-DDJKA0cd.js → web-D4YLetRH.js} +5 -5
  183. package/package.json +1 -1
  184. package/dist/plugin-sdk/web-BrBSoMpn.js +0 -66
@@ -10,10 +10,10 @@ import { $ as DEFAULT_PROVIDER, A as resolveThinkingDefault, B as requireApiKey,
10
10
  import { n as formatCliCommand, r as resolveCliName, t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
11
11
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-cCYzSU9h.js";
12
12
  import { t as parseBooleanValue$1 } from "./boolean-CE7i9tBR.js";
13
- import { $ as normalizeSessionDeliveryFields, A as parseImageDimensionError, At as resolveExistingPathsWithinRoot, B as resolveAndPersistSessionFile, Bt as normalizeToolName, C as isFailoverAssistantError, Ct as acquireSessionWriteLock, D as isRawApiErrorPayload, Dt as resolveBrowserConfig, E as isRateLimitAssistantError, Et as registerBrowserRoutes, F as resolveSandboxRuntimeStatus, Ft as buildPluginToolGroups, G as updateSessionStore, Gt as buildBootstrapContextFiles, H as readSessionUpdatedAt, Ht as stripPluginOnlyAllowlist, I as extractDeliveryInfo, It as collectExplicitAllowlist, J as resolveCacheTtlMs$1, Jt as resolveBootstrapTotalMaxChars, K as updateSessionStoreEntry, Kt as ensureSessionHeader, L as parseSessionThreadInfo, Lt as expandPolicyWithPluginGroups, M as sanitizeUserFacingText, Mt as ensureBrowserControlAuth, N as ensureSandboxWorkspaceForSession, Nt as resolveBrowserControlAuth, O as isTimeoutErrorMessage, Ot as resolveProfile, P as resolveSandboxContext, Pt as applyOwnerOnlyToolPolicy, Q as normalizeDeliveryContext, R as appendAssistantMessageToSessionTranscript, Rt as expandToolGroups, S as isContextOverflowError, St as resolveGroupSessionKey, T as isLikelyContextOverflowError, Tt as createBrowserRouteContext, U as recordSessionMetaFromInbound, Ut as compileGlobPatterns, V as loadSessionStore, Vt as resolveToolProfilePolicy, W as updateLastRoute, Wt as matchesAnyGlobPattern, X as deliveryContextKey, Y as deliveryContextFromSession, Yt as sanitizeGoogleTurnOrdering, Z as mergeDeliveryContext, _ as getApiErrorPayloadFingerprint, _t as canonicalizeMainSessionAlias, a as normalizeTextForComparison, at as INPUT_PROVENANCE_KIND_VALUES, b as isCloudCodeAssistFormatError, bt as resolveMainSessionKey, c as extractToolResultId, ct as normalizeInputProvenance, d as isGoogleModelApi, dt as resolveChannelResetConfig, et as normalizeAccountId$3, f as BILLING_ERROR_USER_MESSAGE, ft as resolveSessionResetPolicy, g as formatRawAssistantErrorForUi, gt as resolveFreshSessionTotalTokens, h as formatBillingErrorMessage, ht as DEFAULT_RESET_TRIGGERS, i as isMessagingToolDuplicateNormalized, it as extractToolCallNames, j as parseImageSizeError, jt as getBridgeAuthForPort, k as isTransientHttpError, kt as DEFAULT_UPLOAD_DIR, l as downgradeOpenAIReasoningBlocks, lt as resolveSessionKey, m as formatAssistantErrorText, mt as resolveThreadFlag, n as validateGeminiTurns, nt as capArrayByJsonBytes, o as sanitizeSessionMessagesImages, ot as applyInputProvenanceToUserMessage, p as classifyFailoverReason, pt as resolveSessionResetType, q as isCacheEnabled, qt as resolveBootstrapMaxChars, r as pickFallbackThinkingLevel, rt as countToolResults, s as extractToolCallsFromAssistant, st as hasInterSessionUserProvenance, t as validateAnthropicTurns, tt as archiveSessionTranscripts, u as isAntigravityClaude, ut as evaluateSessionFreshness, v as isAuthAssistantError, w as isFailoverErrorMessage, wt as resolveSessionLockMaxHoldFromTimeout, x as isCompactionFailureError, xt as deriveSessionMetaPatch, y as isBillingAssistantError, yt as resolveExplicitAgentSessionKey, zt as mergeAlsoAllowPolicy } from "./pi-embedded-helpers-B3csacnv.js";
13
+ import { $ as normalizeSessionDeliveryFields, A as parseImageDimensionError, At as resolveExistingPathsWithinRoot, B as resolveAndPersistSessionFile, Bt as normalizeToolName, C as isFailoverAssistantError, Ct as acquireSessionWriteLock, D as isRawApiErrorPayload, Dt as resolveBrowserConfig, E as isRateLimitAssistantError, Et as registerBrowserRoutes, F as resolveSandboxRuntimeStatus, Ft as buildPluginToolGroups, G as updateSessionStore, Gt as buildBootstrapContextFiles, H as readSessionUpdatedAt, Ht as stripPluginOnlyAllowlist, I as extractDeliveryInfo, It as collectExplicitAllowlist, J as resolveCacheTtlMs$1, Jt as resolveBootstrapTotalMaxChars, K as updateSessionStoreEntry, Kt as ensureSessionHeader, L as parseSessionThreadInfo, Lt as expandPolicyWithPluginGroups, M as sanitizeUserFacingText, Mt as ensureBrowserControlAuth, N as ensureSandboxWorkspaceForSession, Nt as resolveBrowserControlAuth, O as isTimeoutErrorMessage, Ot as resolveProfile, P as resolveSandboxContext, Pt as applyOwnerOnlyToolPolicy, Q as normalizeDeliveryContext, R as appendAssistantMessageToSessionTranscript, Rt as expandToolGroups, S as isContextOverflowError, St as resolveGroupSessionKey, T as isLikelyContextOverflowError, Tt as createBrowserRouteContext, U as recordSessionMetaFromInbound, Ut as compileGlobPatterns, V as loadSessionStore, Vt as resolveToolProfilePolicy, W as updateLastRoute, Wt as matchesAnyGlobPattern, X as deliveryContextKey, Y as deliveryContextFromSession, Yt as sanitizeGoogleTurnOrdering, Z as mergeDeliveryContext, _ as getApiErrorPayloadFingerprint, _t as canonicalizeMainSessionAlias, a as normalizeTextForComparison, at as INPUT_PROVENANCE_KIND_VALUES, b as isCloudCodeAssistFormatError, bt as resolveMainSessionKey, c as extractToolResultId, ct as normalizeInputProvenance, d as isGoogleModelApi, dt as resolveChannelResetConfig, et as normalizeAccountId$3, f as BILLING_ERROR_USER_MESSAGE, ft as resolveSessionResetPolicy, g as formatRawAssistantErrorForUi, gt as resolveFreshSessionTotalTokens, h as formatBillingErrorMessage, ht as DEFAULT_RESET_TRIGGERS, i as isMessagingToolDuplicateNormalized, it as extractToolCallNames, j as parseImageSizeError, jt as getBridgeAuthForPort, k as isTransientHttpError, kt as DEFAULT_UPLOAD_DIR, l as downgradeOpenAIReasoningBlocks, lt as resolveSessionKey, m as formatAssistantErrorText, mt as resolveThreadFlag, n as validateGeminiTurns, nt as capArrayByJsonBytes, o as sanitizeSessionMessagesImages, ot as applyInputProvenanceToUserMessage, p as classifyFailoverReason, pt as resolveSessionResetType, q as isCacheEnabled, qt as resolveBootstrapMaxChars, r as pickFallbackThinkingLevel, rt as countToolResults, s as extractToolCallsFromAssistant, st as hasInterSessionUserProvenance, t as validateAnthropicTurns, tt as archiveSessionTranscripts, u as isAntigravityClaude, ut as evaluateSessionFreshness, v as isAuthAssistantError, w as isFailoverErrorMessage, wt as resolveSessionLockMaxHoldFromTimeout, x as isCompactionFailureError, xt as deriveSessionMetaPatch, y as isBillingAssistantError, yt as resolveExplicitAgentSessionKey, zt as mergeAlsoAllowPolicy } from "./pi-embedded-helpers-Bp4JFTbe.js";
14
14
  import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-DHXmZSyF.js";
15
15
  import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-CBCGTsIb.js";
16
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-cFjhP6kc.js";
16
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CqPheSG3.js";
17
17
  import { l as parseFrontmatterBlock } from "./frontmatter-CTR5f_Ez.js";
18
18
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DjtoXuuJ.js";
19
19
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-XIsvXeC-.js";
@@ -33,15 +33,15 @@ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as lis
33
33
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BrogUBLf.js";
34
34
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-rfRgaULw.js";
35
35
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-CiD-DaWf.js";
36
- import { a as normalizeOutboundPayloadsForJson, c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, i as normalizeOutboundPayloads, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, r as formatOutboundPayloadLog, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-CgPAN0QZ.js";
36
+ import { a as normalizeOutboundPayloadsForJson, c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, i as normalizeOutboundPayloads, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, r as formatOutboundPayloadLog, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-BVbveob8.js";
37
37
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, o as logMessageQueued, p as isDiagnosticsEnabled, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-BjfiehUF.js";
38
38
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C9jKr8qI.js";
39
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-DZQ_GyFY.js";
39
+ import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-CUTH9m-Y.js";
40
40
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-C-V1QD3n.js";
41
41
  import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-DzMyrwxn.js";
42
42
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CuZX_Q4t.js";
43
43
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-C1Tw2ERK.js";
44
- import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-B4ilZbUQ.js";
44
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-B8S9zNM5.js";
45
45
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-DjnxpF_K.js";
46
46
  import { n as retryAsync } from "./retry-B-y5suGA.js";
47
47
  import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-Bp-kjJP5.js";
@@ -51,7 +51,7 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CVCB
51
51
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-jzqRdkXA.js";
52
52
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-CC6LUYsV.js";
53
53
  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-CHvMCyWU.js";
54
- import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-UgKupJ1D.js";
54
+ import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-WxoM5P3c.js";
55
55
  import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-Bz_D9EmH.js";
56
56
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DZQU0r3y.js";
57
57
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-ClslA6GS.js";
@@ -82,7 +82,7 @@ import AjvPkg from "ajv";
82
82
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
83
83
  import { createServer } from "node:http";
84
84
  import { ProxyAgent, fetch as fetch$1 } from "undici";
85
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
85
+ import WebSocket$1, { WebSocket } from "ws";
86
86
  import { Buffer as Buffer$1 } from "node:buffer";
87
87
  import { EdgeTTS } from "node-edge-tts";
88
88
  import { createJiti } from "jiti";
@@ -4616,7 +4616,7 @@ async function getMemorySearchManager(params) {
4616
4616
  const wrapper = new FallbackMemoryManager({
4617
4617
  primary,
4618
4618
  fallbackFactory: async () => {
4619
- const { MemoryIndexManager } = await import("./manager-B4ilZbUQ.js").then((n) => n.t);
4619
+ const { MemoryIndexManager } = await import("./manager-B8S9zNM5.js").then((n) => n.t);
4620
4620
  return await MemoryIndexManager.get(params);
4621
4621
  }
4622
4622
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -4629,7 +4629,7 @@ async function getMemorySearchManager(params) {
4629
4629
  }
4630
4630
  }
4631
4631
  try {
4632
- const { MemoryIndexManager } = await import("./manager-B4ilZbUQ.js").then((n) => n.t);
4632
+ const { MemoryIndexManager } = await import("./manager-B8S9zNM5.js").then((n) => n.t);
4633
4633
  return { manager: await MemoryIndexManager.get(params) };
4634
4634
  } catch (err) {
4635
4635
  return {
@@ -7095,40 +7095,6 @@ function buildSkillsJitBlocks(opts) {
7095
7095
 
7096
7096
  //#endregion
7097
7097
  //#region src/agents/system-prompt.ts
7098
- /**
7099
- * Read up to `limit` markdown filenames from `<workspaceDir>/memory/`,
7100
- * sorted by mtime descending. Returns relative names (e.g. "2026-04-30.md")
7101
- * for inlining into the system prompt — gives the agent the actual file
7102
- * surface so it doesn't speculate names like "memory/2026-04-30.md" from
7103
- * training-data priors. Resilient: missing dir → [], unreadable → [].
7104
- */
7105
- function listWorkspaceMemoryFiles(workspaceDir, limit = 10) {
7106
- if (!workspaceDir) return [];
7107
- const memoryDir = path.join(workspaceDir, "memory");
7108
- let entries;
7109
- try {
7110
- entries = fs.readdirSync(memoryDir, { withFileTypes: true });
7111
- } catch {
7112
- return [];
7113
- }
7114
- const files = [];
7115
- for (const entry of entries) {
7116
- if (!entry.isFile()) continue;
7117
- if (!entry.name.toLowerCase().endsWith(".md")) continue;
7118
- let mtimeMs = 0;
7119
- try {
7120
- mtimeMs = fs.statSync(path.join(memoryDir, entry.name)).mtimeMs;
7121
- } catch {
7122
- mtimeMs = 0;
7123
- }
7124
- files.push({
7125
- name: entry.name,
7126
- mtimeMs
7127
- });
7128
- }
7129
- files.sort((a, b) => b.mtimeMs - a.mtimeMs);
7130
- return files.slice(0, limit).map((f) => f.name);
7131
- }
7132
7098
  function buildSkillsSection(params) {
7133
7099
  if (params.isMinimal) return [];
7134
7100
  if (params.dropCatalog) return [];
@@ -7152,21 +7118,13 @@ function buildMemorySection(params) {
7152
7118
  "## Memory Recall",
7153
7119
  "Before answering anything about prior work, decisions, dates, people, preferences, or todos: run memory_search on MEMORY.md + memory/*.md; then use memory_get to pull only the needed lines. If low confidence after search, say you checked.",
7154
7120
  "",
7155
- "**Never speculate memory file paths.** Use memory_search to find content; do not construct paths like `memory/<date>.md` from training-data priors and call read on them — that produces ENOENT spam and trips the consecutive-tool-error breaker.",
7156
- "",
7157
7121
  "Memory is split into two layers you will see as files:",
7158
7122
  "- `MEMORY.md` — user-authored short-term memory. Hand-edited by the user; treat as ground truth they wrote themselves. Never rewrite it yourself.",
7159
- "- `memory/symi-core.md` + `memory/symi-beliefs.md` — long-term memory automatically consolidated from repeated observations (your evolving self). Do NOT hand-edit these files: they are regenerated each consolidation cycle. When the files disagree with a fresh user statement, trust the fresh statement and write a new observation. The cycle will reconcile them.",
7160
- "- New observations go in dated daily files (e.g. `memory/<today>.md`); use `memory_search` to discover what already exists rather than guessing filenames."
7123
+ "- `memory/symi-core.md` + `memory/symi-beliefs.md` — long-term memory automatically consolidated from repeated observations (your evolving self). Do NOT hand-edit these files: they are regenerated each consolidation cycle. When the files disagree with a fresh user statement, trust the fresh statement and write a new observation to `memory/YYYY-MM-DD.md` the cycle will reconcile them.",
7124
+ "- `memory/YYYY-MM-DD.md` daily append-only observations. This is where new memories land.",
7125
+ "",
7126
+ "When the user explicitly asks to *remember* or *always remember* something, after writing the observation also call `memory_pin` with a distinctive query so the fact survives pruning. Call `memory_unpin` when the user says to forget it."
7161
7127
  ];
7162
- const memoryFiles = (params.workspaceMemoryFiles ?? []).filter(Boolean);
7163
- if (memoryFiles.length > 0) {
7164
- lines.push("");
7165
- lines.push("Existing memory files in this workspace (most-recently-modified first):");
7166
- for (const name of memoryFiles) lines.push(`- \`memory/${name}\``);
7167
- }
7168
- lines.push("");
7169
- lines.push("When the user explicitly asks to *remember* or *always remember* something, after writing the observation also call `memory_pin` with a distinctive query so the fact survives pruning. Call `memory_unpin` when the user says to forget it.");
7170
7128
  if (params.citationsMode === "off") lines.push("Citations are disabled: do not mention file paths or line numbers in replies unless the user explicitly asks.");
7171
7129
  else lines.push("Citations: include Source: <path#line> when it helps the user verify memory snippets.");
7172
7130
  lines.push("");
@@ -7455,8 +7413,7 @@ function buildAgentSystemPrompt(params) {
7455
7413
  const memorySection = buildMemorySection({
7456
7414
  isMinimal,
7457
7415
  availableTools,
7458
- citationsMode: params.memoryCitationsMode,
7459
- workspaceMemoryFiles: listWorkspaceMemoryFiles(params.workspaceDir)
7416
+ citationsMode: params.memoryCitationsMode
7460
7417
  });
7461
7418
  const docsSection = buildDocsSection({
7462
7419
  docsPath: params.docsPath,
@@ -9680,7 +9637,7 @@ var GatewayClient = class {
9680
9637
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
9681
9638
  });
9682
9639
  }
9683
- this.ws = new WebSocket$1(url, wsOptions);
9640
+ this.ws = new WebSocket(url, wsOptions);
9684
9641
  this.ws.on("open", () => {
9685
9642
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
9686
9643
  const tlsError = this.validateTlsFingerprint();
@@ -9899,7 +9856,7 @@ var GatewayClient = class {
9899
9856
  return null;
9900
9857
  }
9901
9858
  async request(method, params, opts) {
9902
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
9859
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
9903
9860
  const id = randomUUID();
9904
9861
  const frame = {
9905
9862
  type: "req",
@@ -11098,7 +11055,7 @@ async function routeReply(params) {
11098
11055
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
11099
11056
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
11100
11057
  try {
11101
- const { deliverOutboundPayloads } = await import("./deliver-CgPAN0QZ.js").then((n) => n.n);
11058
+ const { deliverOutboundPayloads } = await import("./deliver-BVbveob8.js").then((n) => n.n);
11102
11059
  return {
11103
11060
  ok: true,
11104
11061
  messageId: (await deliverOutboundPayloads({
@@ -41979,7 +41936,7 @@ async function deliverSessionMaintenanceWarning(params) {
41979
41936
  return;
41980
41937
  }
41981
41938
  try {
41982
- const { deliverOutboundPayloads } = await import("./deliver-CgPAN0QZ.js").then((n) => n.n);
41939
+ const { deliverOutboundPayloads } = await import("./deliver-BVbveob8.js").then((n) => n.n);
41983
41940
  await deliverOutboundPayloads({
41984
41941
  cfg: params.cfg,
41985
41942
  channel,
@@ -46180,7 +46137,7 @@ async function describeStickerImage(params) {
46180
46137
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
46181
46138
  try {
46182
46139
  const buffer = await fs$1.readFile(imagePath);
46183
- const { describeImageWithModel } = await import("./image-DZQ_GyFY.js").then((n) => n.n);
46140
+ const { describeImageWithModel } = await import("./image-CUTH9m-Y.js").then((n) => n.n);
46184
46141
  return (await describeImageWithModel({
46185
46142
  buffer,
46186
46143
  fileName: "sticker.webp",
@@ -48929,7 +48886,7 @@ async function preflightDiscordMessage(params) {
48929
48886
  let preflightTranscript;
48930
48887
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
48931
48888
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
48932
- const { transcribeFirstAudio } = await import("./audio-preflight-DeOidVY9.js");
48889
+ const { transcribeFirstAudio } = await import("./audio-preflight-Cd4oBX_d.js");
48933
48890
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
48934
48891
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
48935
48892
  ctx: {
@@ -53675,7 +53632,7 @@ function setCliSessionId(entry, provider, sessionId) {
53675
53632
  function createDefaultDeps() {
53676
53633
  return {
53677
53634
  sendMessageWhatsApp: async (...args) => {
53678
- const { sendMessageWhatsApp } = await import("./web-DJLqJtdE.js");
53635
+ const { sendMessageWhatsApp } = await import("./web-BlFUXBMY.js");
53679
53636
  return await sendMessageWhatsApp(...args);
53680
53637
  },
53681
53638
  sendMessageTelegram: async (...args) => {
@@ -56580,7 +56537,7 @@ function createDiscordGatewayPlugin(params) {
56580
56537
  super(options);
56581
56538
  }
56582
56539
  createWebSocket(url) {
56583
- return new WebSocket(url, { agent });
56540
+ return new WebSocket$1(url, { agent });
56584
56541
  }
56585
56542
  }
56586
56543
  return new ProxyGatewayPlugin();
@@ -66798,7 +66755,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
66798
66755
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
66799
66756
  let preflightTranscript;
66800
66757
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
66801
- const { transcribeFirstAudio } = await import("./audio-preflight-DeOidVY9.js");
66758
+ const { transcribeFirstAudio } = await import("./audio-preflight-Cd4oBX_d.js");
66802
66759
  preflightTranscript = await transcribeFirstAudio({
66803
66760
  ctx: {
66804
66761
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -68955,7 +68912,7 @@ function loadWebLoginQr() {
68955
68912
  return webLoginQrPromise;
68956
68913
  }
68957
68914
  function loadWebChannel() {
68958
- webChannelPromise ??= import("./web-DJLqJtdE.js");
68915
+ webChannelPromise ??= import("./web-BlFUXBMY.js");
68959
68916
  return webChannelPromise;
68960
68917
  }
68961
68918
  function loadWhatsAppActions() {
@@ -54,8 +54,8 @@ import { A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as
54
54
  import { a as buildModelAliasLines, n as resolveModel } from "./model-BoA0I9Z3.js";
55
55
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CXXH7biP.js";
56
56
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DnXliXio.js";
57
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-C6UdaC7T.js";
58
- import { i as resolveMemorySearchConfig } from "./manager-BeNDdeqW.js";
57
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-xeFyVyjI.js";
58
+ import { i as resolveMemorySearchConfig } from "./manager-wiJTQCIl.js";
59
59
  import { f as runTasksWithConcurrency } from "./internal-7ow_5D0m.js";
60
60
  import { n as retryAsync } from "./retry-DYICeae5.js";
61
61
  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-T0R2wR5q.js";
@@ -6432,40 +6432,6 @@ function buildSkillsJitBlocks(opts) {
6432
6432
 
6433
6433
  //#endregion
6434
6434
  //#region src/agents/system-prompt.ts
6435
- /**
6436
- * Read up to `limit` markdown filenames from `<workspaceDir>/memory/`,
6437
- * sorted by mtime descending. Returns relative names (e.g. "2026-04-30.md")
6438
- * for inlining into the system prompt — gives the agent the actual file
6439
- * surface so it doesn't speculate names like "memory/2026-04-30.md" from
6440
- * training-data priors. Resilient: missing dir → [], unreadable → [].
6441
- */
6442
- function listWorkspaceMemoryFiles(workspaceDir, limit = 10) {
6443
- if (!workspaceDir) return [];
6444
- const memoryDir = path.join(workspaceDir, "memory");
6445
- let entries;
6446
- try {
6447
- entries = fs.readdirSync(memoryDir, { withFileTypes: true });
6448
- } catch {
6449
- return [];
6450
- }
6451
- const files = [];
6452
- for (const entry of entries) {
6453
- if (!entry.isFile()) continue;
6454
- if (!entry.name.toLowerCase().endsWith(".md")) continue;
6455
- let mtimeMs = 0;
6456
- try {
6457
- mtimeMs = fs.statSync(path.join(memoryDir, entry.name)).mtimeMs;
6458
- } catch {
6459
- mtimeMs = 0;
6460
- }
6461
- files.push({
6462
- name: entry.name,
6463
- mtimeMs
6464
- });
6465
- }
6466
- files.sort((a, b) => b.mtimeMs - a.mtimeMs);
6467
- return files.slice(0, limit).map((f) => f.name);
6468
- }
6469
6435
  function buildSkillsSection(params) {
6470
6436
  if (params.isMinimal) return [];
6471
6437
  if (params.dropCatalog) return [];
@@ -6489,21 +6455,13 @@ function buildMemorySection(params) {
6489
6455
  "## Memory Recall",
6490
6456
  "Before answering anything about prior work, decisions, dates, people, preferences, or todos: run memory_search on MEMORY.md + memory/*.md; then use memory_get to pull only the needed lines. If low confidence after search, say you checked.",
6491
6457
  "",
6492
- "**Never speculate memory file paths.** Use memory_search to find content; do not construct paths like `memory/<date>.md` from training-data priors and call read on them — that produces ENOENT spam and trips the consecutive-tool-error breaker.",
6493
- "",
6494
6458
  "Memory is split into two layers you will see as files:",
6495
6459
  "- `MEMORY.md` — user-authored short-term memory. Hand-edited by the user; treat as ground truth they wrote themselves. Never rewrite it yourself.",
6496
- "- `memory/symi-core.md` + `memory/symi-beliefs.md` — long-term memory automatically consolidated from repeated observations (your evolving self). Do NOT hand-edit these files: they are regenerated each consolidation cycle. When the files disagree with a fresh user statement, trust the fresh statement and write a new observation. The cycle will reconcile them.",
6497
- "- New observations go in dated daily files (e.g. `memory/<today>.md`); use `memory_search` to discover what already exists rather than guessing filenames."
6460
+ "- `memory/symi-core.md` + `memory/symi-beliefs.md` — long-term memory automatically consolidated from repeated observations (your evolving self). Do NOT hand-edit these files: they are regenerated each consolidation cycle. When the files disagree with a fresh user statement, trust the fresh statement and write a new observation to `memory/YYYY-MM-DD.md` the cycle will reconcile them.",
6461
+ "- `memory/YYYY-MM-DD.md` daily append-only observations. This is where new memories land.",
6462
+ "",
6463
+ "When the user explicitly asks to *remember* or *always remember* something, after writing the observation also call `memory_pin` with a distinctive query so the fact survives pruning. Call `memory_unpin` when the user says to forget it."
6498
6464
  ];
6499
- const memoryFiles = (params.workspaceMemoryFiles ?? []).filter(Boolean);
6500
- if (memoryFiles.length > 0) {
6501
- lines.push("");
6502
- lines.push("Existing memory files in this workspace (most-recently-modified first):");
6503
- for (const name of memoryFiles) lines.push(`- \`memory/${name}\``);
6504
- }
6505
- lines.push("");
6506
- lines.push("When the user explicitly asks to *remember* or *always remember* something, after writing the observation also call `memory_pin` with a distinctive query so the fact survives pruning. Call `memory_unpin` when the user says to forget it.");
6507
6465
  if (params.citationsMode === "off") lines.push("Citations are disabled: do not mention file paths or line numbers in replies unless the user explicitly asks.");
6508
6466
  else lines.push("Citations: include Source: <path#line> when it helps the user verify memory snippets.");
6509
6467
  lines.push("");
@@ -6792,8 +6750,7 @@ function buildAgentSystemPrompt(params) {
6792
6750
  const memorySection = buildMemorySection({
6793
6751
  isMinimal,
6794
6752
  availableTools,
6795
- citationsMode: params.memoryCitationsMode,
6796
- workspaceMemoryFiles: listWorkspaceMemoryFiles(params.workspaceDir)
6753
+ citationsMode: params.memoryCitationsMode
6797
6754
  });
6798
6755
  const docsSection = buildDocsSection({
6799
6756
  docsPath: params.docsPath,
@@ -48491,7 +48448,7 @@ function setCliSessionId(entry, provider, sessionId) {
48491
48448
  function createDefaultDeps() {
48492
48449
  return {
48493
48450
  sendMessageWhatsApp: async (...args) => {
48494
- const { sendMessageWhatsApp } = await import("./web-DDJKA0cd.js");
48451
+ const { sendMessageWhatsApp } = await import("./web-D4YLetRH.js");
48495
48452
  return await sendMessageWhatsApp(...args);
48496
48453
  },
48497
48454
  sendMessageTelegram: async (...args) => {
@@ -63805,7 +63762,7 @@ function loadWebLoginQr() {
63805
63762
  return webLoginQrPromise;
63806
63763
  }
63807
63764
  function loadWebChannel() {
63808
- webChannelPromise ??= import("./web-DDJKA0cd.js");
63765
+ webChannelPromise ??= import("./web-D4YLetRH.js");
63809
63766
  return webChannelPromise;
63810
63767
  }
63811
63768
  function loadWhatsAppActions() {
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, h as pathExists } from "./utils-B-0b9bGM.js";
3
3
  import "./tokens-Cz6cgZ7r.js";
4
- import { vt as trimLogTail } from "./unified-runner-BXwSSfqN.js";
4
+ import { vt as trimLogTail } from "./unified-runner-CBI-Swnu.js";
5
5
  import "./registry-ClO_zVv-.js";
6
6
  import { f as defaultRuntime } from "./subsystem-zqierDLj.js";
7
7
  import "./auth-profiles-CrvwoJwJ.js";
@@ -57,8 +57,8 @@ import "./send-Bi3X5tzR.js";
57
57
  import "./model-BoA0I9Z3.js";
58
58
  import "./pi-model-discovery-CXXH7biP.js";
59
59
  import "./reply-prefix-DnXliXio.js";
60
- import "./memory-cli-C6UdaC7T.js";
61
- import "./manager-BeNDdeqW.js";
60
+ import "./memory-cli-xeFyVyjI.js";
61
+ import "./manager-wiJTQCIl.js";
62
62
  import "./gemini-auth-BqFJSb7o.js";
63
63
  import "./retry-DYICeae5.js";
64
64
  import "./sqlite-CRogFEk1.js";
@@ -106,9 +106,9 @@ import "./onboard-helpers-D6hypSND.js";
106
106
  import { n as stylePromptMessage } from "./prompt-style-CSNJI4MG.js";
107
107
  import "./pairing-labels-Bgr9UPYm.js";
108
108
  import "./pi-tools.policy-jStbD7w8.js";
109
- import "./heartbeat-visibility-o2h2sFYt.js";
109
+ import "./heartbeat-visibility-B2M69szZ.js";
110
110
  import { r as parseSemver } from "./runtime-guard-dBbuLE2m.js";
111
- import "./program-context-Kqz-xUms.js";
111
+ import "./program-context-CjPUq-R7.js";
112
112
  import "./catalog-pt1jhhyb.js";
113
113
  import "./skills-status-DzvtNke3.js";
114
114
  import { n as inheritOptionFromParent } from "./command-options-DOOvAdsg.js";
@@ -119,7 +119,7 @@ import "./npm-registry-spec-DzwsFqwv.js";
119
119
  import "./skill-scanner-DI28Pqv5.js";
120
120
  import "./installs-DH3fKGSH.js";
121
121
  import "./channels-status-issues-Crr1XNY1.js";
122
- import { r as installCompletion } from "./completion-cli-CEknMySn.js";
122
+ import { r as installCompletion } from "./completion-cli-CTRhriVd.js";
123
123
  import "./daemon-runtime-1___eZD6.js";
124
124
  import "./systemd-z4aO4iTi.js";
125
125
  import { t as resolveGatewayService } from "./service-CW2RUNzh.js";
@@ -128,19 +128,19 @@ import "./systemd-hints-BbIMMwC2.js";
128
128
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-D_FRSjNN.js";
129
129
  import "./diagnostics-D40jPn_9.js";
130
130
  import { t as renderTable } from "./table-Cg6YZXv9.js";
131
- import "./health-DtWvvGSw.js";
131
+ import "./health-DxCLDRPA.js";
132
132
  import "./control-ui-assets-CtKVON4w.js";
133
133
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-BIE5FLmi.js";
134
134
  import "./dm-policy-shared-DEYoaOHB.js";
135
135
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-BurJg0Rd.js";
136
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-CBhotLBj.js";
136
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-8kzamnJ4.js";
137
137
  import "./logging-CZuxhCZR.js";
138
138
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-BnkusEA2.js";
139
139
  import "./doctor-config-flow--1xOWHy7.js";
140
140
  import "./systemd-linger-Bl13Nbce.js";
141
141
  import "./health-format-Ct4VWeSk.js";
142
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BEZWd-py.js";
143
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BBDliPIB.js";
142
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-dqy-Baz2.js";
143
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-D31vWLKd.js";
144
144
  import os from "node:os";
145
145
  import path from "node:path";
146
146
  import fs from "node:fs/promises";
@@ -17,7 +17,7 @@ import "./client-CJIMV1WD.js";
17
17
  import "./call-kDKyoL1-.js";
18
18
  import "./message-channel-C9dERklz.js";
19
19
  import "./pairing-token-Byh6drgn.js";
20
- import { Ot as trimLogTail } from "./subagent-registry-Ci5g29Mp.js";
20
+ import { Ot as trimLogTail } from "./subagent-registry-U0ugNIM_.js";
21
21
  import "./sessions-BTIQHLw1.js";
22
22
  import "./tokens-BEvOiQ65.js";
23
23
  import "./plugins-DTKQE9kt.js";
@@ -55,8 +55,8 @@ import "./tool-images-CVLISeRT.js";
55
55
  import "./thinking-8sKPnzpp.js";
56
56
  import "./models-config-rmCpMKFF.js";
57
57
  import "./reply-prefix-Pz-5t5RS.js";
58
- import "./memory-cli-Wh36KC0B.js";
59
- import "./manager-BkUG5C_1.js";
58
+ import "./memory-cli-DYjxP-KO.js";
59
+ import "./manager-CSbEQqJL.js";
60
60
  import "./gemini-auth-DJu92wJe.js";
61
61
  import "./retry-C4Q_VPOo.js";
62
62
  import "./sqlite-BP8tiuca.js";
@@ -103,7 +103,7 @@ import "./onboard-helpers-8VqZn_a3.js";
103
103
  import { n as stylePromptMessage } from "./prompt-style-BxVdnrLq.js";
104
104
  import "./pairing-labels-dpL8GGa5.js";
105
105
  import "./pi-tools.policy-CPzRWC47.js";
106
- import "./heartbeat-visibility-Ot724yGm.js";
106
+ import "./heartbeat-visibility-B3jYfx_N.js";
107
107
  import { n as inheritOptionFromParent } from "./command-options-DbRrl8qF.js";
108
108
  import "./catalog-KcLvtTfa.js";
109
109
  import "./note-DewoEWtc.js";
@@ -113,10 +113,10 @@ import "./npm-registry-spec-PuS2I1Em.js";
113
113
  import "./skill-scanner-BV3QHmsf.js";
114
114
  import "./installs-B4sNNRaW.js";
115
115
  import "./channels-status-issues-BICbi-81.js";
116
- import "./register.subclis-BN_La0-g.js";
117
- import "./command-registry-CJjQMlj_.js";
116
+ import "./register.subclis-XCByhkDw.js";
117
+ import "./command-registry-C4fEo5jO.js";
118
118
  import "./program-context-DeZ44oQ9.js";
119
- import { r as installCompletion } from "./completion-cli-vCFgly6i.js";
119
+ import { r as installCompletion } from "./completion-cli-D6k2XhFb.js";
120
120
  import "./daemon-runtime-CPBdJhrm.js";
121
121
  import { r as parseSemver } from "./runtime-guard-BofkqBu7.js";
122
122
  import "./systemd-CJ5L2ee4.js";
@@ -126,19 +126,19 @@ import "./systemd-hints-DXJUprUP.js";
126
126
  import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-OCKGnqX1.js";
127
127
  import "./diagnostics-C6xPE2ln.js";
128
128
  import { t as renderTable } from "./table-Bka4fasy.js";
129
- import "./health-Dwt9mRYZ.js";
129
+ import "./health-dVQBgbn1.js";
130
130
  import "./control-ui-assets-DKcwWWGv.js";
131
131
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-BNjupSIM.js";
132
132
  import "./dm-policy-shared-T-NSMbHG.js";
133
133
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-BJNbmYAJ.js";
134
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-CojT7WjB.js";
134
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-B8HeQMh9.js";
135
135
  import "./logging-PVQxLC6I.js";
136
136
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DticqU4-.js";
137
137
  import "./doctor-config-flow-Cx621UYt.js";
138
138
  import "./systemd-linger-ipoPa7o0.js";
139
139
  import "./health-format-DkjSgkDx.js";
140
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-C-U7yJky.js";
141
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-DVqUZPhO.js";
140
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-d10JLxa3.js";
141
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-DLglYX3z.js";
142
142
  import { spawn, spawnSync } from "node:child_process";
143
143
  import os from "node:os";
144
144
  import path from "node:path";
@@ -1,5 +1,5 @@
1
1
  import { h as pathExists } from "./utils-B-0b9bGM.js";
2
- import { vt as trimLogTail } from "./unified-runner-BXwSSfqN.js";
2
+ import { vt as trimLogTail } from "./unified-runner-CBI-Swnu.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-q6BX_N9b.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-CtKVON4w.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-BIE5FLmi.js";
@@ -1,6 +1,6 @@
1
1
  import { nt as pathExists } from "./entry.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CBKBIMpA.js";
3
- import { Ot as trimLogTail } from "./subagent-registry-Ci5g29Mp.js";
3
+ import { Ot as trimLogTail } from "./subagent-registry-U0ugNIM_.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-DKcwWWGv.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-BNjupSIM.js";
6
6
  import os from "node:os";
@@ -16,7 +16,7 @@ import "./client-CJIMV1WD.js";
16
16
  import "./call-kDKyoL1-.js";
17
17
  import "./message-channel-C9dERklz.js";
18
18
  import "./pairing-token-Byh6drgn.js";
19
- import { $n as buildMentionRegexes, B as shouldAckReactionForWhatsApp, F as buildPairingReply, Gn as resolveInboundDebounceMs, Hn as normalizeGroupActivation, I as resolveMentionGating, K as createDedupeCache, Kn as formatInboundEnvelope, L as DEFAULT_GROUP_HISTORY_LIMIT, Pn as enqueueSystemEvent, R as buildHistoryContextFromEntries, Un as parseActivationCommand, V as dispatchReplyWithBufferedBlockDispatcher, Wn as createInboundDebouncer, Xn as shouldComputeCommandAuthorized, Yn as hasControlCommand, b as sleepWithAbort, er as normalizeMentionText, qn as resolveEnvelopeFormatOptions, y as computeBackoff, z as recordPendingHistoryEntryIfEnabled } from "./subagent-registry-Ci5g29Mp.js";
19
+ import { $n as buildMentionRegexes, B as shouldAckReactionForWhatsApp, F as buildPairingReply, Gn as resolveInboundDebounceMs, Hn as normalizeGroupActivation, I as resolveMentionGating, K as createDedupeCache, Kn as formatInboundEnvelope, L as DEFAULT_GROUP_HISTORY_LIMIT, Pn as enqueueSystemEvent, R as buildHistoryContextFromEntries, Un as parseActivationCommand, V as dispatchReplyWithBufferedBlockDispatcher, Wn as createInboundDebouncer, Xn as shouldComputeCommandAuthorized, Yn as hasControlCommand, b as sleepWithAbort, er as normalizeMentionText, qn as resolveEnvelopeFormatOptions, y as computeBackoff, z as recordPendingHistoryEntryIfEnabled } from "./subagent-registry-U0ugNIM_.js";
20
20
  import { B as resolveGroupSessionKey, c as recordSessionMetaFromInbound, o as loadSessionStore, s as readSessionUpdatedAt, u as updateLastRoute } from "./sessions-BTIQHLw1.js";
21
21
  import "./tokens-BEvOiQ65.js";
22
22
  import "./plugins-DTKQE9kt.js";
@@ -54,8 +54,8 @@ import "./tool-images-CVLISeRT.js";
54
54
  import "./thinking-8sKPnzpp.js";
55
55
  import "./models-config-rmCpMKFF.js";
56
56
  import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createReplyPrefixOptions } from "./reply-prefix-Pz-5t5RS.js";
57
- import "./memory-cli-Wh36KC0B.js";
58
- import "./manager-BkUG5C_1.js";
57
+ import "./memory-cli-DYjxP-KO.js";
58
+ import "./manager-CSbEQqJL.js";
59
59
  import "./gemini-auth-DJu92wJe.js";
60
60
  import "./retry-C4Q_VPOo.js";
61
61
  import "./sqlite-BP8tiuca.js";
@@ -104,7 +104,7 @@ import "./pairing-labels-dpL8GGa5.js";
104
104
  import { r as setActiveWebListener } from "./active-listener-DEi7sEFa.js";
105
105
  import "./pi-tools.policy-CPzRWC47.js";
106
106
  import { i as markdownToWhatsApp, n as sendMessageWhatsApp, r as sendReactionWhatsApp } from "./outbound-DoVZqGGP.js";
107
- import "./heartbeat-visibility-Ot724yGm.js";
107
+ import "./heartbeat-visibility-B3jYfx_N.js";
108
108
  import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-BDT2jt49.js";
109
109
  import { t as loginWeb } from "./login-DmlKhKUK.js";
110
110
  import { randomUUID } from "node:crypto";
@@ -5,15 +5,15 @@ import "./agent-scope-Ddr0Ws7u.js";
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
6
6
  import "./workspace-CarmeCYN.js";
7
7
  import "./tokens-DLGDtW5r.js";
8
- import { C as hasControlCommand, E as normalizeMentionText, S as resolveEnvelopeFormatOptions, T as buildMentionRegexes, _ as normalizeGroupActivation, b as resolveInboundDebounceMs, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as enqueueSystemEvent, h as formatDurationPrecise, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as parseActivationCommand, w as shouldComputeCommandAuthorized, x as formatInboundEnvelope, y as createInboundDebouncer } from "./unified-runner-D_5_J0nE.js";
8
+ import { C as hasControlCommand, E as normalizeMentionText, S as resolveEnvelopeFormatOptions, T as buildMentionRegexes, _ as normalizeGroupActivation, b as resolveInboundDebounceMs, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as enqueueSystemEvent, h as formatDurationPrecise, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as parseActivationCommand, w as shouldComputeCommandAuthorized, x as formatInboundEnvelope, y as createInboundDebouncer } from "./unified-runner-BZ9aCu-a.js";
9
9
  import "./auth-profiles-k8e6j7Im.js";
10
10
  import { n as formatCliCommand } from "./env-BDXYbTKj.js";
11
11
  import "./github-copilot-token-cCYzSU9h.js";
12
12
  import "./boolean-CE7i9tBR.js";
13
- import { H as readSessionUpdatedAt, St as resolveGroupSessionKey, U as recordSessionMetaFromInbound, V as loadSessionStore, W as updateLastRoute } from "./pi-embedded-helpers-B3csacnv.js";
13
+ import { H as readSessionUpdatedAt, St as resolveGroupSessionKey, U as recordSessionMetaFromInbound, V as loadSessionStore, W as updateLastRoute } from "./pi-embedded-helpers-Bp4JFTbe.js";
14
14
  import { n as loadConfig } from "./config-DHXmZSyF.js";
15
15
  import "./manifest-registry-CBCGTsIb.js";
16
- import "./chrome-cFjhP6kc.js";
16
+ import "./chrome-CqPheSG3.js";
17
17
  import "./frontmatter-CTR5f_Ez.js";
18
18
  import "./skills-DjtoXuuJ.js";
19
19
  import "./redact-BDMXB06K.js";
@@ -32,15 +32,15 @@ import "./send-B6uG_VMn.js";
32
32
  import "./send-DR-zuFs1.js";
33
33
  import { s as resolveStorePath } from "./paths-BrogUBLf.js";
34
34
  import "./tool-images-CiD-DaWf.js";
35
- import "./deliver-CgPAN0QZ.js";
35
+ import "./deliver-BVbveob8.js";
36
36
  import "./diagnostic-BjfiehUF.js";
37
37
  import "./diagnostic-session-state-C9jKr8qI.js";
38
- import "./image-DZQ_GyFY.js";
38
+ import "./image-CUTH9m-Y.js";
39
39
  import "./pi-auth-json-C-V1QD3n.js";
40
40
  import { G as formatLocationText, J as readChannelAllowFromStore, K as toLocationContext, X as upsertChannelPairingRequest } from "./send-DzMyrwxn.js";
41
41
  import "./pi-model-discovery-CuZX_Q4t.js";
42
42
  import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createReplyPrefixOptions } from "./reply-prefix-C1Tw2ERK.js";
43
- import "./manager-B4ilZbUQ.js";
43
+ import "./manager-B8S9zNM5.js";
44
44
  import "./gemini-auth-wyzssEnn.js";
45
45
  import "./retry-B-y5suGA.js";
46
46
  import "./sqlite-VBmM_OHS.js";
@@ -51,7 +51,7 @@ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-jzqRdkXA.js";
51
51
  import { a as loadWebMedia } from "./ir-CC6LUYsV.js";
52
52
  import "./render-D1xvLuGo.js";
53
53
  import "./commands-registry-CHvMCyWU.js";
54
- import { y as registerUnhandledRejectionHandler } from "./runner-UgKupJ1D.js";
54
+ import { y as registerUnhandledRejectionHandler } from "./runner-WxoM5P3c.js";
55
55
  import "./skill-commands-Bz_D9EmH.js";
56
56
  import { t as finalizeInboundContext } from "./inbound-context-DZQU0r3y.js";
57
57
  import "./fetch-ClslA6GS.js";
@@ -8,7 +8,7 @@ import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createR
8
8
  import "./github-copilot-token-BbsJ0Qbo.js";
9
9
  import { r as formatCliCommand } from "./env-CQ_DQOwT.js";
10
10
  import "./tokens-DRIIdGfF.js";
11
- import { C as shouldComputeCommandAuthorized, S as hasControlCommand, T as normalizeMentionText, _ as parseActivationCommand, a as DEFAULT_GROUP_HISTORY_LIMIT, b as formatInboundEnvelope, c as shouldAckReactionForWhatsApp, d as createDedupeCache, g as normalizeGroupActivation, h as enqueueSystemEvent, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, m as formatDurationPrecise, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as createInboundDebouncer, w as buildMentionRegexes, x as resolveEnvelopeFormatOptions, y as resolveInboundDebounceMs } from "./pi-embedded-D89dyS-z.js";
11
+ import { C as shouldComputeCommandAuthorized, S as hasControlCommand, T as normalizeMentionText, _ as parseActivationCommand, a as DEFAULT_GROUP_HISTORY_LIMIT, b as formatInboundEnvelope, c as shouldAckReactionForWhatsApp, d as createDedupeCache, g as normalizeGroupActivation, h as enqueueSystemEvent, i as resolveMentionGating, l as dispatchReplyWithBufferedBlockDispatcher, m as formatDurationPrecise, n as sleepWithAbort, o as buildHistoryContextFromEntries, r as buildPairingReply, s as recordPendingHistoryEntryIfEnabled, t as computeBackoff, v as createInboundDebouncer, w as buildMentionRegexes, x as resolveEnvelopeFormatOptions, y as resolveInboundDebounceMs } from "./pi-embedded-wrv2rBWt.js";
12
12
  import "./plugins-CpxUKuIt.js";
13
13
  import { i as logWebSelfId, l as readWebSelfId, n as WA_WEB_AUTH_DIR, p as webAuthExists, r as getWebAuthAgeMs, s as pickWebChannel, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
14
14
  import "./bindings-pK-Lzohb.js";
@@ -36,7 +36,7 @@ import "./accounts-DImOt9jX.js";
36
36
  import { s as resolveStorePath } from "./paths-DkMamAQ-.js";
37
37
  import "./tool-images-CdTyeTEN.js";
38
38
  import "./image-GcVW1pD-.js";
39
- import "./manager-CoO0CGga.js";
39
+ import "./manager-CHLCClaz.js";
40
40
  import "./gemini-auth-CMS7GdsN.js";
41
41
  import "./retry-QGp0jvVi.js";
42
42
  import "./sqlite-Bo4pHfp8.js";