@symerian/symi 3.4.25 → 3.4.27

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 (221) hide show
  1. package/dist/{agent-N_J2cDO6.js → agent-CiqPWDUd.js} +18 -18
  2. package/dist/{agent-CQlyTNu-.js → agent-DOOj3Gzb.js} +1 -1
  3. package/dist/{agent-scope-DOrZjOnW.js → agent-scope-Bnsyyeci.js} +18 -18
  4. package/dist/{agents-1xmRO246.js → agents-BBQfFoen.js} +2 -2
  5. package/dist/{agents.config-BJ9RIQlb.js → agents.config-Dm3oLpYK.js} +1 -1
  6. package/dist/{audit-DCwHws4M.js → audit-BSX7fMfc.js} +20 -20
  7. package/dist/{auth-choice-Ryx7oj6G.js → auth-choice-BYbTjWcs.js} +1 -1
  8. package/dist/{auth-choice-DwXdS4c2.js → auth-choice-rhBmet5i.js} +11 -11
  9. package/dist/{auth-profiles-Ce7R_25e.js → auth-profiles-D5nYBj_Z.js} +2 -2
  10. package/dist/{auth-token-DgRRSbEX.js → auth-token-CAV1oLQG.js} +3 -3
  11. package/dist/{banner-CxMQaUgh.js → banner-C1qG5Rm9.js} +1 -1
  12. package/dist/{browser-cli-C3hfJNZy.js → browser-cli-De8jg4-F.js} +9 -9
  13. package/dist/build-info.json +3 -3
  14. package/dist/bundled/boot-md/handler.js +4 -4
  15. package/dist/bundled/session-memory/handler.js +4 -4
  16. package/dist/{call-BouPakqe.js → call-CW8U1BPq.js} +9 -9
  17. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  18. package/dist/{channel-options-n9C_ovb1.js → channel-options-BsXUgCMq.js} +1 -1
  19. package/dist/{channel-options-WR29vfWK.js → channel-options-CJD7jwYg.js} +1 -1
  20. package/dist/{channels-cli-DbFGI3vF.js → channels-cli-Bao4VNbH.js} +57 -57
  21. package/dist/{channels-cli-Cs-Uq67O.js → channels-cli-Dxn5n9e4.js} +7 -7
  22. package/dist/{chrome-B7-rO4i9.js → chrome-BKUACyeO.js} +7 -7
  23. package/dist/{chrome-C_I81hbq.js → chrome-DPjznJQ-.js} +7 -7
  24. package/dist/{chrome-rzK8edU7.js → chrome-pFBxO63W.js} +2 -2
  25. package/dist/{cli-D55pCJ8Q.js → cli-CrhLSz3t.js} +4 -4
  26. package/dist/{cli-7ceDvtPc.js → cli-WP38F9C5.js} +45 -45
  27. package/dist/{client-BzUAFrla.js → client-T5P9umyG.js} +1 -1
  28. package/dist/{command-registry-DAy62yhH.js → command-registry-DoXcG7FZ.js} +10 -10
  29. package/dist/{commands-registry-VfAQOVZO.js → commands-registry-BjcGLk4v.js} +1 -1
  30. package/dist/{completion-cli-Bc1jojml.js → completion-cli-C0SXi7ya.js} +12 -12
  31. package/dist/{completion-cli-Bh-Y2NVp.js → completion-cli-DaWi3_ux.js} +2 -2
  32. package/dist/{config-D7SS4vdk.js → config-D-PYSlE8.js} +2 -2
  33. package/dist/{config-cli-DupKETmw.js → config-cli-DS67KtKf.js} +4 -4
  34. package/dist/{config-cli-BxRcn2oD.js → config-cli-DXKm0pS5.js} +1 -1
  35. package/dist/{config-guard-BGAQzX2K.js → config-guard-xLTTFANi.js} +6 -6
  36. package/dist/{config-validation-COcIIMNe.js → config-validation-C4wGq3rz.js} +1 -1
  37. package/dist/{configure-0XYm59w7.js → configure-B99YJJb0.js} +14 -14
  38. package/dist/{configure-BilM_Fgn.js → configure-CzO4_jJJ.js} +2 -2
  39. package/dist/{consolidate-DI20-Wtn.js → consolidate-BB4BOQIN.js} +6 -6
  40. package/dist/{control-service-Ry7Le68N.js → control-service-y53w3Jzy.js} +4 -4
  41. package/dist/{control-ui-assets-DuDhl0co.js → control-ui-assets-Dryy7mCE.js} +1 -1
  42. package/dist/{cron-cli-DHFgjr_X.js → cron-cli-BMblAFRK.js} +7 -7
  43. package/dist/{daemon-cli-fC2R9YZd.js → daemon-cli-BJGNf5qV.js} +11 -11
  44. package/dist/{daemon-runtime-tZgIbDPz.js → daemon-runtime-u4p9jsEF.js} +10 -10
  45. package/dist/{deliver-DB4v0Tyl.js → deliver-C79-Umbk.js} +2 -2
  46. package/dist/{deliver-oWGJwzFf.js → deliver-Cjyb6h4g.js} +4 -4
  47. package/dist/{deliver-DyO3QD8O.js → deliver-DTRkeYm3.js} +4 -4
  48. package/dist/{deps-BlmO-MfQ.js → deps-UA1UBhl7.js} +1 -1
  49. package/dist/{devices-cli-DtkKN4l0.js → devices-cli-wsTs-nti.js} +6 -6
  50. package/dist/{diagnostics-tVJR9V0_.js → diagnostics-oW0LBW-t.js} +5 -5
  51. package/dist/{directory-cli-Bfy_ejW2.js → directory-cli-D8As6t8Z.js} +3 -3
  52. package/dist/{dm-policy-shared-CBlUyDSX.js → dm-policy-shared-DRJrFKqJ.js} +1 -1
  53. package/dist/{dns-cli-DzKaV6NZ.js → dns-cli-BKOTBn3n.js} +3 -3
  54. package/dist/{docs-cli-a90_8wuN.js → docs-cli-D5j7Nmz2.js} +1 -1
  55. package/dist/{doctor-completion-BZJWX3Dr.js → doctor-completion-B1YCzbvi.js} +1 -1
  56. package/dist/{doctor-completion-B6OPl_GZ.js → doctor-completion-mev5PRjN.js} +2 -2
  57. package/dist/{doctor-config-flow-30ZEvATb.js → doctor-config-flow-Uv41seME.js} +9 -9
  58. package/dist/entry.js +1 -1
  59. package/dist/{exec-approvals-cli-C3gZAwV8.js → exec-approvals-cli-B4ry9s5r.js} +13 -13
  60. package/dist/extensionAPI.js +4 -4
  61. package/dist/{file-lock-BVUYnlQv.js → file-lock-2AecMjCa.js} +8 -8
  62. package/dist/{fs-safe-BdejYjW8.js → fs-safe-B0Is-oLk.js} +6 -6
  63. package/dist/{gateway-cli-CyhLb-zS.js → gateway-cli-B3JVj_dv.js} +98 -98
  64. package/dist/{gateway-cli-DQhYa6AL.js → gateway-cli-Chnp6icp.js} +10 -10
  65. package/dist/{gateway-rpc-DNq7EMhm.js → gateway-rpc-CLzM6ugo.js} +1 -1
  66. package/dist/{glass-ui-ws-SJVljtUx.js → glass-ui-ws--GjxFRyX.js} +67 -67
  67. package/dist/{glass-ui-ws-CLDbMDPk.js → glass-ui-ws-5o8dvEZO.js} +8 -8
  68. package/dist/{health-DZ0aipDZ.js → health-D2th0Ip6.js} +4 -4
  69. package/dist/{hooks-cli-BMRj13QU.js → hooks-cli-B4Nvp9AV.js} +59 -59
  70. package/dist/{hooks-cli-BVtdP5x7.js → hooks-cli-B_sZth4r.js} +5 -5
  71. package/dist/{image-ops-L70xVnpG.js → image-ops-BzCBIakN.js} +10 -10
  72. package/dist/index.js +52 -52
  73. package/dist/{inspect-CXsOujVt.js → inspect-U3g9owQ8.js} +4 -4
  74. package/dist/{install-safe-path-D5gi-nfu.js → install-safe-path-BwMMOh9z.js} +11 -11
  75. package/dist/{installs-DF_LhGX6.js → installs-vdi1BESF.js} +10 -10
  76. package/dist/{internal-DVCddhhN.js → internal-csqU78gW.js} +9 -9
  77. package/dist/{lifecycle-core-Bvdl2ShM.js → lifecycle-core-BfmNlC-k.js} +5 -5
  78. package/dist/llm-slug-generator.js +4 -4
  79. package/dist/{local-roots-CgDCgCuM.js → local-roots-2Jb79HZ8.js} +1 -1
  80. package/dist/{logs-cli-mdSEYBKS.js → logs-cli-COZzdFu6.js} +7 -7
  81. package/dist/{manager-BhIaahpm.js → manager-BfbQb9qM.js} +1 -1
  82. package/dist/{manager-DhHNnMyK.js → manager-Bryhc0Ip.js} +1 -1
  83. package/dist/{manager-BIt2_nlu.js → manager-C5FGNRjL.js} +1 -1
  84. package/dist/{manager-BLg6zbeA.js → manager-DyYRwHZt.js} +15 -15
  85. package/dist/{memory-BENbCb4f.js → memory-Cypj1lBQ.js} +2 -2
  86. package/dist/{memory-B4DsKRSc.js → memory-DgDnTEcB.js} +5 -5
  87. package/dist/{memory-cli-DotHyA76.js → memory-cli-CfJkD7mO.js} +12 -12
  88. package/dist/{memory-cli-BIjwqjBx.js → memory-cli-DB7UIev4.js} +2 -2
  89. package/dist/{model-DsMHOvMn.js → model-DbILYCfo.js} +1 -1
  90. package/dist/{model-auth-1EAQvYRv.js → model-auth-_C07_3Yr.js} +2 -2
  91. package/dist/{model-catalog-DQTmHZK7.js → model-catalog-CeqDEWGz.js} +3 -3
  92. package/dist/{model-picker-D4TY_tPx.js → model-picker-C_f6MALt.js} +5 -5
  93. package/dist/{model-selection-7wdmO-Iw.js → model-selection-CCTzD29o.js} +1 -1
  94. package/dist/{models-CmToZKBp.js → models-Bpqeds64.js} +2 -2
  95. package/dist/{models-cli-CZgkOUZB.js → models-cli-BUWfj5iJ.js} +55 -55
  96. package/dist/{models-cli-Di7iKhD4.js → models-cli-Bc47WFhD.js} +6 -6
  97. package/dist/{models-config-CRnTzdFs.js → models-config-Dp5-tBqs.js} +8 -8
  98. package/dist/{node-cli-BXv9SEDG.js → node-cli-BdjmGI32.js} +27 -27
  99. package/dist/{node-service-CrDVFWQl.js → node-service-DphkTjBV.js} +1 -1
  100. package/dist/{nodes-cli-Cim3ANNU.js → nodes-cli-BChJzcKY.js} +10 -10
  101. package/dist/{nodes-screen-De9ma6e1.js → nodes-screen-Cp5QP3ET.js} +4 -4
  102. package/dist/{npm-registry-spec-YMWTMnm_.js → npm-registry-spec-CqVgiBCf.js} +9 -9
  103. package/dist/{onboard-BXI02b3e.js → onboard-BbfERyKU.js} +1 -1
  104. package/dist/{onboard-CuLvp4Ds.js → onboard-C0nMMiiS.js} +15 -15
  105. package/dist/{onboard-channels-A6_QP7MR.js → onboard-channels-CMp9YXHC.js} +1 -1
  106. package/dist/{onboard-channels-E5NIYGJz.js → onboard-channels-CmsfVut5.js} +4 -4
  107. package/dist/{onboard-custom-BrtjWDlX.js → onboard-custom-BfHczxx0.js} +3 -3
  108. package/dist/{onboard-helpers---sZ9pdZ.js → onboard-helpers-OB_xKQze.js} +8 -8
  109. package/dist/{onboard-hooks-CtIRdncr.js → onboard-hooks-BA22KYCG.js} +1 -1
  110. package/dist/{onboard-remote-BUB3VPBP.js → onboard-remote-Dv2Uz8Ru.js} +1 -1
  111. package/dist/{onboard-skills-Cs3BZ4VJ.js → onboard-skills-BzxofI4T.js} +3 -3
  112. package/dist/{onboarding-BeYl1Egj.js → onboarding-DoYMfCjS.js} +3 -3
  113. package/dist/{onboarding-BWMBA6cP.js → onboarding-vgZFhH5N.js} +12 -12
  114. package/dist/{onboarding.finalize-CH8dBgA2.js → onboarding.finalize-BYHDzz2i.js} +31 -31
  115. package/dist/{onboarding.finalize-Bk-XW8b3.js → onboarding.finalize-Dj0xG8pk.js} +4 -4
  116. package/dist/{onboarding.gateway-config-arRNxrI9.js → onboarding.gateway-config-CDRLfIZM.js} +8 -8
  117. package/dist/{openai-model-default-XudD4Xik.js → openai-model-default-Dl21Ivjc.js} +2 -2
  118. package/dist/{pairing-cli-NDavTm1_.js → pairing-cli-C2_Zobhz.js} +5 -5
  119. package/dist/{pairing-store-BNhJOnWn.js → pairing-store-Be-ZQK87.js} +1 -1
  120. package/dist/{pairing-token-Dcy37-4s.js → pairing-token-B703A1U3.js} +7 -7
  121. package/dist/{paths-DObzwe08.js → paths-BWqg8NZT.js} +1 -1
  122. package/dist/{pi-auth-json-Db8XJVGL.js → pi-auth-json-D-vdh-nY.js} +6 -6
  123. package/dist/{pi-embedded-0I7WdtRz.js → pi-embedded-C7mJzGIf.js} +59 -13
  124. package/dist/{pi-embedded-helpers-B5cWV7_y.js → pi-embedded-helpers-y3vJmW6T.js} +6 -6
  125. package/dist/{pi-tools.policy-BdGVEMZn.js → pi-tools.policy-ji-L-Mpv.js} +3 -3
  126. package/dist/{plugin-auto-enable-B_lNp6yM.js → plugin-auto-enable-Ctbn2w4Q.js} +1 -1
  127. package/dist/{plugin-registry-DovNSdK0.js → plugin-registry-D2ZbwBU_.js} +3 -3
  128. package/dist/{plugin-registry-CAdIrLmG.js → plugin-registry-pKaJ4ltN.js} +1 -1
  129. package/dist/plugin-sdk/agents/pi-tools.types.d.ts +1 -2
  130. package/dist/plugin-sdk/agents/tools/availability-filter.d.ts +10 -0
  131. package/dist/plugin-sdk/agents/tools/common.d.ts +30 -0
  132. package/dist/{plugins-cli-ZG4PxNTC.js → plugins-cli-CoHiV4BX.js} +54 -54
  133. package/dist/{plugins-cli-JzKO-vmR.js → plugins-cli-uo8lcB7v.js} +5 -5
  134. package/dist/{ports-gxLM5ahL.js → ports-CB_Iu83U.js} +2 -2
  135. package/dist/{ports-C3ZSkRGq.js → ports-ukrEAkOP.js} +1 -1
  136. package/dist/{program-context-ByiEP1Lk.js → program-context-B1ZbQmLL.js} +38 -38
  137. package/dist/{program-BbfU4idg.js → program-rzYjZKRz.js} +10 -10
  138. package/dist/{prompt-select-styled-DvrG_zWV.js → prompt-select-styled-CX0v66wx.js} +38 -38
  139. package/dist/{prompt-select-styled-CWH2Mcrb.js → prompt-select-styled-F6P-rvFI.js} +4 -4
  140. package/dist/{provider-auth-helpers-CMQexdSl.js → provider-auth-helpers-Ck98bkHV.js} +1 -1
  141. package/dist/{provider-auth-helpers-2x7YxT5F.js → provider-auth-helpers-_jn9PngO.js} +6 -6
  142. package/dist/{push-apns-CtWwPxRj.js → push-apns-BtMtpzEm.js} +1 -1
  143. package/dist/{push-apns-eGdGU3r7.js → push-apns-CmeoBcIQ.js} +4 -4
  144. package/dist/{pw-ai-BOOB8qoi.js → pw-ai-BFS9ezWe.js} +1 -1
  145. package/dist/{pw-ai-tgngV3iZ.js → pw-ai-CQJsGI1b.js} +7 -7
  146. package/dist/{pw-ai-Cx-Ko_FL.js → pw-ai-D2pEVS5n.js} +1 -1
  147. package/dist/{qmd-manager-qV_04VKG.js → qmd-manager-DawTY2mB.js} +19 -19
  148. package/dist/{qr-cli-Vo1XL6B2.js → qr-cli-DKowtQcM.js} +3 -3
  149. package/dist/{register.agent-Dwkya1rv.js → register.agent-0hWBZXD7.js} +67 -67
  150. package/dist/{register.agent-DZE9NBNx.js → register.agent-_UqSBmt5.js} +9 -9
  151. package/dist/{register.configure-DCpbCHR0.js → register.configure-CgQ6sqtQ.js} +70 -70
  152. package/dist/{register.configure-CD8WkXo8.js → register.configure-KrTtvKSp.js} +8 -8
  153. package/dist/{register.maintenance-CxVeo_7j.js → register.maintenance-DDSfzFoo.js} +9 -9
  154. package/dist/{register.maintenance-Bqjj77CZ.js → register.maintenance-DjZeknO6.js} +67 -67
  155. package/dist/{register.message-tcJN7-E3.js → register.message-DSwwDcGi.js} +5 -5
  156. package/dist/{register.message-uhAmNxoO.js → register.message-DTZJ5OiL.js} +47 -47
  157. package/dist/{register.onboard-F6d_Wrv1.js → register.onboard-B8k5phG7.js} +25 -25
  158. package/dist/{register.onboard-Rm5t0yxX.js → register.onboard-BToIZTIS.js} +2 -2
  159. package/dist/{register.setup-CcHxpsUT.js → register.setup-1fexz2oW.js} +28 -28
  160. package/dist/{register.setup-C2datfZK.js → register.setup-BdUewOo1.js} +2 -2
  161. package/dist/{register.status-health-sessions-DIUDRMqm.js → register.status-health-sessions-0RyA2cXf.js} +41 -41
  162. package/dist/{register.status-health-sessions-DFVjS9Hy.js → register.status-health-sessions-eBaeXIvo.js} +3 -3
  163. package/dist/{register.subclis-D9uGnVGm.js → register.subclis-tX3BslaT.js} +9 -9
  164. package/dist/{replies-DzsYQ8Md.js → replies-D3cffD5N.js} +1 -1
  165. package/dist/{reply-prefix-BFNeXT65.js → reply-prefix-CtZtkTJK.js} +1 -1
  166. package/dist/{resolve-route-Zww0Y-HJ.js → resolve-route-B0i_o4Fo.js} +1 -1
  167. package/dist/{routes-C-rIjd8Z.js → routes-zpAUwtCG.js} +10 -10
  168. package/dist/{rpc-BkFkeuJ6.js → rpc-DhsDKVo-.js} +1 -1
  169. package/dist/{run-main-HkbyvIDy.js → run-main-DIl_Kl0B.js} +17 -17
  170. package/dist/{sandbox-Dx8IMw-E.js → sandbox-DQCaejcD.js} +18 -18
  171. package/dist/{sandbox-cli-BFkLKdlk.js → sandbox-cli-CbvyZs1z.js} +13 -13
  172. package/dist/{security-cli-BEpQ_rO1.js → security-cli-CbJxNYZx.js} +29 -29
  173. package/dist/{send-Cxu1tl56.js → send-QscYkkNh.js} +7 -7
  174. package/dist/{server-context--mmXXEkE.js → server-context-CXVq7gZ7.js} +5 -5
  175. package/dist/{server-methods-DJ8eiTu1.js → server-methods-CpFBGxWI.js} +6 -6
  176. package/dist/{server-methods-RtjWUhkv.js → server-methods-DPxjPGr0.js} +58 -58
  177. package/dist/{server-node-events-CT8fFtBQ.js → server-node-events-2SUW10k3.js} +6 -6
  178. package/dist/{server-node-events-DQ1iCUgY.js → server-node-events-B_BPbi7z.js} +48 -48
  179. package/dist/{service-CyEDtYLq.js → service-Cm4-5AH9.js} +15 -15
  180. package/dist/{session-dirs-CXErIzZq.js → session-dirs-BypCYFN3.js} +2 -2
  181. package/dist/{session-utils-BZnPW904.js → session-utils-lXjJoBxe.js} +14 -14
  182. package/dist/{sessions-optZRB57.js → sessions-aSo5jsmg.js} +10 -10
  183. package/dist/{shared-DJFwvlUi.js → shared-BI-gOZsD.js} +3 -3
  184. package/dist/{shared-Ctok0Bcs.js → shared-DDX_4ypC.js} +1 -1
  185. package/dist/{skill-commands-yPirQFOb.js → skill-commands-C9WuAfb2.js} +4 -4
  186. package/dist/{skill-scanner-BBwesm0w.js → skill-scanner-CFqMkfZW.js} +5 -5
  187. package/dist/{skills-BwDmcZdt.js → skills-CYcBtLGH.js} +4 -4
  188. package/dist/{skills-cli-gC5ETdly.js → skills-cli-BgyaAQoj.js} +7 -7
  189. package/dist/{skills-install-CLN_Ks5r.js → skills-install-MGsx6q5Z.js} +3 -3
  190. package/dist/{skills-remote-bz71Bstn.js → skills-remote-BcRQTDsZ.js} +3 -3
  191. package/dist/{skills-status-iltfI_bO.js → skills-status-CbSdFlvm.js} +1 -1
  192. package/dist/{sqlite-Cod7C5ba.js → sqlite-BpogPlQW.js} +5 -5
  193. package/dist/{status-Cpz64Vy_.js → status-BVYDUlnp.js} +1 -1
  194. package/dist/{status-CuMBp54T.js → status-C-r9JpJf.js} +23 -23
  195. package/dist/{status-EAjzyREy.js → status-DIJvpgEm.js} +3 -3
  196. package/dist/{status-CoqGtHXq.js → status-DbNNmkNB.js} +1 -1
  197. package/dist/{status.update-F4CbQCxF.js → status.update-EyslEZkn.js} +3 -3
  198. package/dist/{subagent-registry-Dkif1XYO.js → subagent-registry-DWemyjbN.js} +52 -6
  199. package/dist/{symi-root-BQ0IpoW2.js → symi-root-DeCVdZB4.js} +2 -2
  200. package/dist/{synthesis-D3fpp3Vu.js → synthesis-BdTiornP.js} +4 -4
  201. package/dist/{synthesis-CpsURf9J.js → synthesis-BxYzOZUA.js} +4 -4
  202. package/dist/{synthesis-CKKZrrYd.js → synthesis-C7RlvHEs.js} +45 -45
  203. package/dist/{synthesis-B0PXRiiM.js → synthesis-DQ7Y6OE0.js} +4 -4
  204. package/dist/{system-cli-DMKzffe3.js → system-cli-DgOvK_kU.js} +7 -7
  205. package/dist/{systemd-DRpQb_L1.js → systemd-B2nTr3Y2.js} +5 -5
  206. package/dist/{systemd-hints-DR4u43WA.js → systemd-hints-DtOWJT_2.js} +6 -6
  207. package/dist/{systemd-linger-BQQl5RXN.js → systemd-linger-CWi5l8Nt.js} +1 -1
  208. package/dist/{tui-CqrM_Fj2.js → tui-D7ms_iQ4.js} +7 -7
  209. package/dist/{tui-cli-BsqRmqTX.js → tui-cli-DNvAqIYN.js} +19 -19
  210. package/dist/{unified-runner-DZAjU6aB.js → unified-runner-BIUJm_Iv.js} +150 -104
  211. package/dist/{unified-runner-DkPztkL8.js → unified-runner-DPWNhQQA.js} +59 -13
  212. package/dist/{update-check-CxBGAP1E.js → update-check-CduiCxPo.js} +5 -5
  213. package/dist/{update-cli-Bgk30eoA.js → update-cli-BM-A3cIZ.js} +9 -9
  214. package/dist/{update-cli-t7W6vcQY.js → update-cli-GKXF83cS.js} +77 -77
  215. package/dist/{update-CWEjB8uS.js → update-pddgyV7i.js} +3 -3
  216. package/dist/{update-runner-C4Uy75eP.js → update-runner-BMYqz1dl.js} +15 -15
  217. package/dist/{webhooks-cli-Dp-pp0Sf.js → webhooks-cli-BPPmnDCj.js} +4 -4
  218. package/dist/{with-timeout-B5zAsivw.js → with-timeout-D1qzvPE0.js} +1 -1
  219. package/dist/{workspace-dirs-jKFQf7of.js → workspace-dirs-DCICLTHx.js} +1 -1
  220. package/dist/{wsl-DMA0sTvh.js → wsl-Sed675xh.js} +2 -2
  221. package/package.json +1 -1
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as CONFIG_DIR } from "./utils-CTPsqyE_.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
4
4
  import { d as hasBinary } from "./frontmatter-B_jqcova.js";
5
- import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-BwDmcZdt.js";
5
+ import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-CYcBtLGH.js";
6
6
  import { t as evaluateEntryMetadataRequirementsForCurrentPlatform } from "./entry-status-B63VEeeK.js";
7
7
  import path from "node:path";
8
8
  import { loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
@@ -1,17 +1,17 @@
1
1
  import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
2
2
  import { n as redactSensitiveText } from "./redact-B3O-RBO1.js";
3
3
  import { s as resolveSessionTranscriptsDirForAgent } from "./paths-BtvQ7JvU.js";
4
- import { a as hashText } from "./internal-DVCddhhN.js";
4
+ import { a as hashText } from "./internal-csqU78gW.js";
5
5
  import { createRequire } from "node:module";
6
6
  import path from "node:path";
7
- import fs from "node:fs/promises";
7
+ import fsPromises from "node:fs/promises";
8
8
 
9
9
  //#region src/memory/session-files.ts
10
10
  const log = createSubsystemLogger("memory");
11
11
  async function listSessionFilesForAgent(agentId) {
12
12
  const dir = resolveSessionTranscriptsDirForAgent(agentId);
13
13
  try {
14
- return (await fs.readdir(dir, { withFileTypes: true })).filter((entry) => entry.isFile()).map((entry) => entry.name).filter((name) => name.endsWith(".jsonl")).map((name) => path.join(dir, name));
14
+ return (await fsPromises.readdir(dir, { withFileTypes: true })).filter((entry) => entry.isFile()).map((entry) => entry.name).filter((name) => name.endsWith(".jsonl")).map((name) => path.join(dir, name));
15
15
  } catch {
16
16
  return [];
17
17
  }
@@ -41,8 +41,8 @@ function extractSessionText(content) {
41
41
  }
42
42
  async function buildSessionEntry(absPath) {
43
43
  try {
44
- const stat = await fs.stat(absPath);
45
- const lines = (await fs.readFile(absPath, "utf-8")).split("\n");
44
+ const stat = await fsPromises.stat(absPath);
45
+ const lines = (await fsPromises.readFile(absPath, "utf-8")).split("\n");
46
46
  const collected = [];
47
47
  const lineMap = [];
48
48
  for (let jsonlIdx = 0; jsonlIdx < lines.length; jsonlIdx++) {
@@ -14,7 +14,7 @@ import { n as listChannelPlugins } from "./plugins-BsEhWvLn.js";
14
14
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-FeJ1M0mP.js";
15
15
  import { i as formatPortDiagnostics, n as inspectPortUsage } from "./ports-uA7P2qIK.js";
16
16
  import { c as resolveStorePath } from "./paths-DtiEyjsC.js";
17
- import { t as getMemorySearchManager } from "./memory-BENbCb4f.js";
17
+ import { t as getMemorySearchManager } from "./memory-Cypj1lBQ.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-CxLpEQOX.js";
19
19
  import { t as getRemoteSkillEligibility } from "./skills-remote-DSGpkPJE.js";
20
20
  import { _ as peekSystemEvents, b as formatChannelAllowFrom, d as formatUsageReportLines, n as sha256HexPrefix, o as readRestartSentinel, s as summarizeRestartSentinel, u as loadProviderUsageSummary, v as buildChannelSummary, y as buildChannelAccountSnapshot } from "./redact-identifier-CXvHJXk9.js";
@@ -2,41 +2,41 @@ import { A as isRich, j as theme, x as info } from "./registry-Sbac4a4z.js";
2
2
  import { u as resolveGatewayPort } from "./paths-By0XjHBk.js";
3
3
  import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
4
4
  import { x as parseAgentSessionKey } from "./session-key-DUSb7CCb.js";
5
- import { t as resolveSymiPackageRoot } from "./symi-root-BQ0IpoW2.js";
5
+ import { t as resolveSymiPackageRoot } from "./symi-root-DeCVdZB4.js";
6
6
  import { n as runExec } from "./exec-DuYbft0z.js";
7
- import { c as resolveAgentWorkspaceDir } from "./agent-scope-DOrZjOnW.js";
8
- import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, m as resolveConfiguredModelRef, w as DEFAULT_PROVIDER } from "./model-selection-7wdmO-Iw.js";
9
- import { N as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-D7SS4vdk.js";
7
+ import { c as resolveAgentWorkspaceDir } from "./agent-scope-Bnsyyeci.js";
8
+ import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, m as resolveConfiguredModelRef, w as DEFAULT_PROVIDER } from "./model-selection-CCTzD29o.js";
9
+ import { N as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-D-PYSlE8.js";
10
10
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-DpKBMIvx.js";
11
- import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-gxLM5ahL.js";
12
- import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-optZRB57.js";
11
+ import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-CB_Iu83U.js";
12
+ import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-aSo5jsmg.js";
13
13
  import { n as listChannelPlugins } from "./plugins-CF5skkHh.js";
14
14
  import { c as resolveStorePath } from "./paths-BtvQ7JvU.js";
15
- import { A as sha256HexPrefix, D as buildChannelAccountSnapshot, E as buildChannelSummary, O as formatChannelAllowFrom, T as peekSystemEvents, _ as loadProviderUsageSummary, l as resolveSessionModelRef, m as summarizeRestartSentinel, n as classifySessionKey, p as readRestartSentinel, r as listAgentsForGateway, v as formatUsageReportLines, x as lookupContextTokens } from "./session-utils-BZnPW904.js";
16
- import { t as getMemorySearchManager } from "./memory-B4DsKRSc.js";
17
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BouPakqe.js";
15
+ import { A as sha256HexPrefix, D as buildChannelAccountSnapshot, E as buildChannelSummary, O as formatChannelAllowFrom, T as peekSystemEvents, _ as loadProviderUsageSummary, l as resolveSessionModelRef, m as summarizeRestartSentinel, n as classifySessionKey, p as readRestartSentinel, r as listAgentsForGateway, v as formatUsageReportLines, x as lookupContextTokens } from "./session-utils-lXjJoBxe.js";
16
+ import { t as getMemorySearchManager } from "./memory-DgDnTEcB.js";
17
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CW8U1BPq.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
19
- import { t as getRemoteSkillEligibility } from "./skills-remote-bz71Bstn.js";
19
+ import { t as getRemoteSkillEligibility } from "./skills-remote-BcRQTDsZ.js";
20
20
  import { r as formatDurationPrecise } from "./format-duration-CIjmjQST.js";
21
21
  import { n as withProgress } from "./progress-HNhsbm0E.js";
22
- import { t as buildWorkspaceSkillStatus } from "./skills-status-iltfI_bO.js";
22
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-CbSdFlvm.js";
23
23
  import { t as resolveChannelDefaultAccountId } from "./helpers-DgsKk072.js";
24
24
  import { t as collectChannelStatusIssues } from "./channels-status-issues-mROqdfm_.js";
25
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers---sZ9pdZ.js";
26
- import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-CyEDtYLq.js";
25
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-OB_xKQze.js";
26
+ import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-Cm4-5AH9.js";
27
27
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-BgZqic8M.js";
28
- import { t as readLastGatewayErrorLine } from "./diagnostics-tVJR9V0_.js";
28
+ import { t as readLastGatewayErrorLine } from "./diagnostics-oW0LBW-t.js";
29
29
  import { t as renderTable } from "./table-D902H0x3.js";
30
- import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-DCwHws4M.js";
31
- import { t as formatHealthChannelLines } from "./health-DZ0aipDZ.js";
32
- import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-CxBGAP1E.js";
33
- import { t as resolveNodeService } from "./node-service-CrDVFWQl.js";
30
+ import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-BSX7fMfc.js";
31
+ import { t as formatHealthChannelLines } from "./health-D2th0Ip6.js";
32
+ import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-CduiCxPo.js";
33
+ import { t as resolveNodeService } from "./node-service-DphkTjBV.js";
34
34
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-Bxjkt5ce.js";
35
- import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-F4CbQCxF.js";
35
+ import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-EyslEZkn.js";
36
36
  import path from "node:path";
37
37
  import fs from "node:fs";
38
38
  import os from "node:os";
39
- import fs$1 from "node:fs/promises";
39
+ import fsPromises from "node:fs/promises";
40
40
  import { spawnSync } from "node:child_process";
41
41
 
42
42
  //#region src/commands/gateway-presence.ts
@@ -125,7 +125,7 @@ function resolveOsSummary() {
125
125
  //#region src/commands/status-all/agents.ts
126
126
  async function fileExists$1(p) {
127
127
  try {
128
- await fs$1.access(p);
128
+ await fsPromises.access(p);
129
129
  return true;
130
130
  } catch {
131
131
  return false;
@@ -490,7 +490,7 @@ async function buildChannelsTable(cfg, opts) {
490
490
  //#endregion
491
491
  //#region src/commands/status-all/gateway.ts
492
492
  async function readFileTailLines(filePath, maxLines) {
493
- const raw = await fs$1.readFile(filePath, "utf8").catch(() => "");
493
+ const raw = await fsPromises.readFile(filePath, "utf8").catch(() => "");
494
494
  if (!raw.trim()) return [];
495
495
  const lines = raw.replace(/\r/g, "").split("\n");
496
496
  return lines.slice(Math.max(0, lines.length - maxLines)).map((line) => line.trimEnd()).filter((line) => line.trim().length > 0);
@@ -1256,7 +1256,7 @@ function resolveGatewayProbeAuth(cfg) {
1256
1256
  //#region src/commands/status.agent-local.ts
1257
1257
  async function fileExists(p) {
1258
1258
  try {
1259
- await fs$1.access(p);
1259
+ await fsPromises.access(p);
1260
1260
  return true;
1261
1261
  } catch {
1262
1262
  return false;
@@ -1,7 +1,7 @@
1
- import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-DZAjU6aB.js";
1
+ import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-BIUJm_Iv.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
3
- import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-DOrZjOnW.js";
4
- import { i as loadConfig } from "./config-D7SS4vdk.js";
3
+ import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-Bnsyyeci.js";
4
+ import { i as loadConfig } from "./config-D-PYSlE8.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,7 +1,7 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
2
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-C-Jte08L.js";
3
3
  import { i as loadConfig } from "./config-_DaupjQd.js";
4
- import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-Dkif1XYO.js";
4
+ import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-DWemyjbN.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,7 +1,7 @@
1
1
  import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
2
- import { t as resolveSymiPackageRoot } from "./symi-root-BQ0IpoW2.js";
3
- import { N as VERSION } from "./config-D7SS4vdk.js";
4
- import { n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-CxBGAP1E.js";
2
+ import { t as resolveSymiPackageRoot } from "./symi-root-DeCVdZB4.js";
3
+ import { N as VERSION } from "./config-D-PYSlE8.js";
4
+ import { n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-CduiCxPo.js";
5
5
 
6
6
  //#region src/commands/status.update.ts
7
7
  async function getUpdateCheckResult(params) {
@@ -49,8 +49,8 @@ import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsX
49
49
  import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-Byr7Gic_.js";
50
50
  import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-Br7EjqgG.js";
51
51
  import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DV3KhOhL.js";
52
- import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-BENbCb4f.js";
53
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-BhIaahpm.js";
52
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-Cypj1lBQ.js";
53
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-BfbQb9qM.js";
54
54
  import { f as runTasksWithConcurrency } from "./internal-D3mEiuyB.js";
55
55
  import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-B2lBXhR0.js";
56
56
  import { n as resolveMarkdownTableMode } from "./markdown-tables-BEdkErjm.js";
@@ -81,7 +81,7 @@ import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normal
81
81
  import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BiYW5XI-.js";
82
82
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CmZ7XjmB.js";
83
83
  import { t as parseTimeoutMs } from "./parse-timeout-DKY8YAUj.js";
84
- import { n as registerMemoryCli } from "./memory-cli-BIjwqjBx.js";
84
+ import { n as registerMemoryCli } from "./memory-cli-DB7UIev4.js";
85
85
  import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-LM-arXEE.js";
86
86
  import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-4gtz_Ipq.js";
87
87
  import { createRequire } from "node:module";
@@ -28321,11 +28321,19 @@ function createWebSearchTool(options) {
28321
28321
  const provider = resolveSearchProvider(search);
28322
28322
  const perplexityConfig = resolvePerplexityConfig(search);
28323
28323
  const grokConfig = resolveGrokConfig(search);
28324
+ const description = provider === "perplexity" ? "Search the web using Perplexity Sonar (direct or via OpenRouter). Returns AI-synthesized answers with citations from real-time web search." : provider === "grok" ? "Search the web using xAI Grok. Returns AI-synthesized answers with citations from real-time web search." : "Search the web using Brave Search API. Supports region-specific and localized search via country and language parameters. Returns titles, URLs, and snippets for fast research.";
28325
+ const resolveActiveApiKey = () => {
28326
+ if (provider === "perplexity") return resolvePerplexityApiKey(perplexityConfig)?.apiKey;
28327
+ if (provider === "grok") return resolveGrokApiKey(grokConfig);
28328
+ return resolveSearchApiKey(search);
28329
+ };
28324
28330
  return {
28325
28331
  label: "Web Search",
28326
28332
  name: "web_search",
28327
- description: provider === "perplexity" ? "Search the web using Perplexity Sonar (direct or via OpenRouter). Returns AI-synthesized answers with citations from real-time web search." : provider === "grok" ? "Search the web using xAI Grok. Returns AI-synthesized answers with citations from real-time web search." : "Search the web using Brave Search API. Supports region-specific and localized search via country and language parameters. Returns titles, URLs, and snippets for fast research.",
28333
+ description,
28328
28334
  parameters: WebSearchSchema,
28335
+ checkFn: () => Boolean(resolveActiveApiKey()),
28336
+ requiredEnv: provider === "perplexity" ? ["PERPLEXITY_API_KEY", "OPENROUTER_API_KEY"] : provider === "grok" ? ["XAI_API_KEY"] : ["BRAVE_API_KEY"],
28329
28337
  execute: async (_toolCallId, args) => {
28330
28338
  const perplexityAuth = provider === "perplexity" ? resolvePerplexityApiKey(perplexityConfig) : void 0;
28331
28339
  const apiKey = provider === "perplexity" ? perplexityAuth?.apiKey : provider === "grok" ? resolveGrokApiKey(grokConfig) : resolveSearchApiKey(search);
@@ -47321,6 +47329,44 @@ function applyToolPolicyPipeline(params) {
47321
47329
  return filtered;
47322
47330
  }
47323
47331
 
47332
+ //#endregion
47333
+ //#region src/agents/tools/availability-filter.ts
47334
+ const FORCE_ALL_TOOLS_ENV = "SYMI_FORCE_ALL_TOOLS";
47335
+ /**
47336
+ * Filter the tool palette by each tool's `checkFn`. Tools without a
47337
+ * checkFn pass through unchanged. Throwing checkFns are treated as
47338
+ * available (defensive). The `SYMI_FORCE_ALL_TOOLS=1` env bypasses the
47339
+ * filter entirely.
47340
+ *
47341
+ * Pure function — does not mutate the input array.
47342
+ */
47343
+ function filterToolsByAvailability(tools) {
47344
+ if (isTruthyEnvValue(process.env[FORCE_ALL_TOOLS_ENV])) return [...tools];
47345
+ const out = [];
47346
+ for (const tool of tools) {
47347
+ if (!tool.checkFn) {
47348
+ out.push(tool);
47349
+ continue;
47350
+ }
47351
+ let available;
47352
+ try {
47353
+ available = tool.checkFn();
47354
+ } catch (err) {
47355
+ logVerbose(`tool availability: checkFn for "${getToolName(tool)}" threw — including tool anyway. ${String(err)}`);
47356
+ out.push(tool);
47357
+ continue;
47358
+ }
47359
+ if (available) out.push(tool);
47360
+ else logVerbose(`tool availability: filtered out "${getToolName(tool)}" — checkFn returned false. Set ${FORCE_ALL_TOOLS_ENV}=1 to bypass this filter.`);
47361
+ }
47362
+ return out;
47363
+ }
47364
+ function getToolName(tool) {
47365
+ const definition = tool.definition;
47366
+ if (definition && typeof definition.name === "string") return definition.name;
47367
+ return "(unknown tool)";
47368
+ }
47369
+
47324
47370
  //#endregion
47325
47371
  //#region src/agents/pi-tools.ts
47326
47372
  function isOpenAIProvider(provider) {
@@ -47540,7 +47586,7 @@ function createSymiCodingTools(options) {
47540
47586
  root: sandboxRoot,
47541
47587
  bridge: sandboxFsBridge
47542
47588
  }), readEditTracker) : null;
47543
- const withHooks = applyToolPolicyPipeline({
47589
+ const withHooks = filterToolsByAvailability(applyToolPolicyPipeline({
47544
47590
  tools: applyOwnerOnlyToolPolicy([
47545
47591
  ...base,
47546
47592
  ...sandboxRoot ? allowWorkspaceWrites && sandboxedEditTool && sandboxedWriteTool ? [workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedEditTool, sandboxRoot) : sandboxedEditTool, workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedWriteTool, sandboxRoot) : sandboxedWriteTool] : [] : [],
@@ -47612,7 +47658,7 @@ function createSymiCodingTools(options) {
47612
47658
  label: "subagent tools.allow"
47613
47659
  }
47614
47660
  ]
47615
- }).map((tool) => normalizeToolParameters(tool, { modelProvider: options?.modelProvider })).map((tool) => wrapToolWithBeforeToolCallHook(tool, {
47661
+ })).map((tool) => normalizeToolParameters(tool, { modelProvider: options?.modelProvider })).map((tool) => wrapToolWithBeforeToolCallHook(tool, {
47616
47662
  agentId,
47617
47663
  sessionKey: options?.sessionKey,
47618
47664
  loopDetection: resolveToolLoopDetectionConfig({
@@ -1,7 +1,7 @@
1
1
  import { fileURLToPath } from "node:url";
2
2
  import path from "node:path";
3
3
  import fs from "node:fs";
4
- import fs$1 from "node:fs/promises";
4
+ import fsPromises from "node:fs/promises";
5
5
 
6
6
  //#region src/agents/skills/filter.ts
7
7
  function normalizeSkillFilter(skillFilter) {
@@ -26,7 +26,7 @@ function matchesSkillFilter(cached, next) {
26
26
  const CORE_PACKAGE_NAMES = new Set(["symi", "@symerian/symi"]);
27
27
  async function readPackageName(dir) {
28
28
  try {
29
- const raw = await fs$1.readFile(path.join(dir, "package.json"), "utf-8");
29
+ const raw = await fsPromises.readFile(path.join(dir, "package.json"), "utf-8");
30
30
  const parsed = JSON.parse(raw);
31
31
  return typeof parsed.name === "string" ? parsed.name : null;
32
32
  } catch {
@@ -6,8 +6,8 @@ import "./model-selection-BisYvTBb.js";
6
6
  import "./reply-prefix-i-FPYcoQ.js";
7
7
  import "./plugins-CZ_mYwXq.js";
8
8
  import "./replies-BYF1gbJf.js";
9
- import { n as runAgentTurn } from "./pi-embedded-0I7WdtRz.js";
10
- import "./deliver-oWGJwzFf.js";
9
+ import { n as runAgentTurn } from "./pi-embedded-C7mJzGIf.js";
10
+ import "./deliver-Cjyb6h4g.js";
11
11
  import "./diagnostic-BdRnGknC.js";
12
12
  import "./diagnostic-session-state-DpxCUzoM.js";
13
13
  import "./chunk-CAZujdOi.js";
@@ -16,14 +16,14 @@ import "./ssrf-q6hBiAOi.js";
16
16
  import "./boolean-BW6OTjPi.js";
17
17
  import "./shell-env-DgjeObDZ.js";
18
18
  import "./manifest-registry-CAWGTwb5.js";
19
- import "./chrome-B7-rO4i9.js";
19
+ import "./chrome-BKUACyeO.js";
20
20
  import "./skills-DO7WNsVJ.js";
21
21
  import "./redact-DSOAcWMe.js";
22
22
  import "./errors-BEU7IHU6.js";
23
23
  import "./tokens-yWO1wD7Z.js";
24
24
  import "./thinking-DgjGxdSP.js";
25
25
  import "./paths-BsT3BvfH.js";
26
- import "./manager-DhHNnMyK.js";
26
+ import "./manager-Bryhc0Ip.js";
27
27
  import "./github-copilot-token-dYUr1mDQ.js";
28
28
  import "./sqlite-D8iYC_CU.js";
29
29
  import "./markdown-tables-jQzXAsf3.js";
@@ -17,7 +17,7 @@ import "./client-BqT7xONl.js";
17
17
  import "./call-GzGqMHAx.js";
18
18
  import "./message-channel-DXToSaWK.js";
19
19
  import "./pairing-token-B-OTYROz.js";
20
- import { T as runAgentTurn } from "./subagent-registry-Dkif1XYO.js";
20
+ import { T as runAgentTurn } from "./subagent-registry-DWemyjbN.js";
21
21
  import "./sessions-DHPf5TzB.js";
22
22
  import "./plugins-BsEhWvLn.js";
23
23
  import "./send-BBfSp-8Q.js";
@@ -47,8 +47,8 @@ import "./model-auth-Byr7Gic_.js";
47
47
  import "./github-copilot-token-B5y4__YM.js";
48
48
  import "./models-config-Br7EjqgG.js";
49
49
  import "./reply-prefix-DV3KhOhL.js";
50
- import "./memory-BENbCb4f.js";
51
- import "./manager-BhIaahpm.js";
50
+ import "./memory-Cypj1lBQ.js";
51
+ import "./manager-BfbQb9qM.js";
52
52
  import "./sqlite-9jF_eajd.js";
53
53
  import "./chunk-B2lBXhR0.js";
54
54
  import "./markdown-tables-BEdkErjm.js";
@@ -78,7 +78,7 @@ import "./links-BDe4dm1J.js";
78
78
  import "./cli-utils-BhfE5XS2.js";
79
79
  import "./help-format-CbgFRc-H.js";
80
80
  import "./progress-CqV5lJkt.js";
81
- import "./memory-cli-BIjwqjBx.js";
81
+ import "./memory-cli-DB7UIev4.js";
82
82
  import "./logging-BeW3kpQA.js";
83
83
  import "./replies-LM-arXEE.js";
84
84
  import "./pi-tools.policy-4gtz_Ipq.js";
@@ -1,91 +1,91 @@
1
- import { t as runAgentTurn } from "./unified-runner-DZAjU6aB.js";
1
+ import { t as runAgentTurn } from "./unified-runner-BIUJm_Iv.js";
2
2
  import "./registry-Sbac4a4z.js";
3
3
  import "./paths-By0XjHBk.js";
4
4
  import "./utils-CTPsqyE_.js";
5
5
  import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
6
- import "./auth-profiles-Ce7R_25e.js";
6
+ import "./auth-profiles-D5nYBj_Z.js";
7
7
  import "./exec-DuYbft0z.js";
8
- import "./agent-scope-DOrZjOnW.js";
9
- import "./model-selection-7wdmO-Iw.js";
10
- import "./file-lock-BVUYnlQv.js";
8
+ import "./agent-scope-Bnsyyeci.js";
9
+ import "./model-selection-CCTzD29o.js";
10
+ import "./file-lock-2AecMjCa.js";
11
11
  import "./agent-paths-BbZSGrUA.js";
12
- import "./pi-embedded-helpers-B5cWV7_y.js";
13
- import "./config-D7SS4vdk.js";
12
+ import "./pi-embedded-helpers-y3vJmW6T.js";
13
+ import "./config-D-PYSlE8.js";
14
14
  import "./boolean-CbZoNRMn.js";
15
15
  import "./env-BRnPI9sO.js";
16
16
  import "./shell-env-Dc3iU7HK.js";
17
17
  import "./manifest-registry-D1MLZEjS.js";
18
- import "./sandbox-Dx8IMw-E.js";
19
- import "./chrome-rzK8edU7.js";
18
+ import "./sandbox-DQCaejcD.js";
19
+ import "./chrome-pFBxO63W.js";
20
20
  import "./tailscale-DpKBMIvx.js";
21
21
  import "./auth-Bkx-QuRN.js";
22
- import "./server-context--mmXXEkE.js";
22
+ import "./server-context-CXVq7gZ7.js";
23
23
  import "./frontmatter-B_jqcova.js";
24
- import "./skills-BwDmcZdt.js";
25
- import "./routes-C-rIjd8Z.js";
24
+ import "./skills-CYcBtLGH.js";
25
+ import "./routes-zpAUwtCG.js";
26
26
  import "./redact-B3O-RBO1.js";
27
27
  import "./errors-bI7Tdx75.js";
28
- import "./fs-safe-BdejYjW8.js";
29
- import "./paths-DObzwe08.js";
28
+ import "./fs-safe-B0Is-oLk.js";
29
+ import "./paths-BWqg8NZT.js";
30
30
  import "./ssrf-DOZRI5XH.js";
31
- import "./image-ops-L70xVnpG.js";
32
- import "./ports-gxLM5ahL.js";
31
+ import "./image-ops-BzCBIakN.js";
32
+ import "./ports-CB_Iu83U.js";
33
33
  import "./trash-_YhavPQI.js";
34
- import "./sessions-optZRB57.js";
34
+ import "./sessions-aSo5jsmg.js";
35
35
  import "./dock-hF45sewN.js";
36
36
  import "./message-channel-DgjXWzf-.js";
37
37
  import "./plugins-CF5skkHh.js";
38
- import "./send-Cxu1tl56.js";
38
+ import "./send-QscYkkNh.js";
39
39
  import "./paths-BtvQ7JvU.js";
40
40
  import "./thinking-COroyVA5.js";
41
41
  import "./tokens-0yh2UnJq.js";
42
- import "./deliver-DB4v0Tyl.js";
42
+ import "./deliver-C79-Umbk.js";
43
43
  import "./diagnostic-DbT9t0Sh.js";
44
44
  import "./diagnostic-session-state-DnkpMfCl.js";
45
- import "./model-auth-1EAQvYRv.js";
45
+ import "./model-auth-_C07_3Yr.js";
46
46
  import "./github-copilot-token-D-FdDfee.js";
47
- import "./models-config-CRnTzdFs.js";
48
- import "./pi-auth-json-Db8XJVGL.js";
47
+ import "./models-config-Dp5-tBqs.js";
48
+ import "./pi-auth-json-D-vdh-nY.js";
49
49
  import "./session-cost-usage-D6Ocwmq1.js";
50
- import "./session-utils-BZnPW904.js";
51
- import "./with-timeout-B5zAsivw.js";
52
- import "./reply-prefix-BFNeXT65.js";
53
- import "./memory-B4DsKRSc.js";
54
- import "./manager-BLg6zbeA.js";
55
- import "./sqlite-Cod7C5ba.js";
50
+ import "./session-utils-lXjJoBxe.js";
51
+ import "./with-timeout-D1qzvPE0.js";
52
+ import "./reply-prefix-CtZtkTJK.js";
53
+ import "./memory-DgDnTEcB.js";
54
+ import "./manager-DyYRwHZt.js";
55
+ import "./sqlite-BpogPlQW.js";
56
56
  import "./chunk-BxfKjCUx.js";
57
57
  import "./markdown-tables-CS1Tvb3z.js";
58
58
  import "./fetch-guard-JHxT9355.js";
59
- import "./local-roots-CgDCgCuM.js";
59
+ import "./local-roots-2Jb79HZ8.js";
60
60
  import "./commands-DUzLGgEZ.js";
61
- import "./commands-registry-VfAQOVZO.js";
62
- import "./client-BzUAFrla.js";
63
- import "./call-BouPakqe.js";
64
- import "./pairing-token-Dcy37-4s.js";
61
+ import "./commands-registry-BjcGLk4v.js";
62
+ import "./client-T5P9umyG.js";
63
+ import "./call-CW8U1BPq.js";
64
+ import "./pairing-token-B703A1U3.js";
65
65
  import "./tool-display-DFOL6UQ9.js";
66
- import "./skills-remote-bz71Bstn.js";
67
- import "./workspace-dirs-jKFQf7of.js";
66
+ import "./skills-remote-BcRQTDsZ.js";
67
+ import "./workspace-dirs-DCICLTHx.js";
68
68
  import "./pi-model-discovery-ClQLvlCW.js";
69
- import "./model-catalog-DQTmHZK7.js";
70
- import "./skill-commands-yPirQFOb.js";
71
- import "./pairing-store-BNhJOnWn.js";
69
+ import "./model-catalog-CeqDEWGz.js";
70
+ import "./skill-commands-C9WuAfb2.js";
71
+ import "./pairing-store-Be-ZQK87.js";
72
72
  import "./exec-approvals-DioSaIeH.js";
73
- import "./nodes-screen-De9ma6e1.js";
74
- import "./control-service-Ry7Le68N.js";
73
+ import "./nodes-screen-Cp5QP3ET.js";
74
+ import "./control-service-y53w3Jzy.js";
75
75
  import "./stagger-DUVGiPYV.js";
76
76
  import "./channel-selection-DF4bza2Q.js";
77
77
  import "./delivery-queue-RUd4NhRw.js";
78
78
  import "./bindings-CLS_owm_.js";
79
- import "./resolve-route-Zww0Y-HJ.js";
79
+ import "./resolve-route-B0i_o4Fo.js";
80
80
  import "./links-TQwptN6q.js";
81
81
  import "./cli-utils-tNdOjVQI.js";
82
82
  import "./help-format-CPT6NY3h.js";
83
83
  import "./progress-HNhsbm0E.js";
84
- import "./memory-cli-DotHyA76.js";
84
+ import "./memory-cli-CfJkD7mO.js";
85
85
  import "./logging-Czh4x_NQ.js";
86
- import "./replies-DzsYQ8Md.js";
87
- import "./pi-tools.policy-BdGVEMZn.js";
88
- import "./model-DsMHOvMn.js";
86
+ import "./replies-D3cffD5N.js";
87
+ import "./pi-tools.policy-ji-L-Mpv.js";
88
+ import "./model-DbILYCfo.js";
89
89
 
90
90
  //#region src/memory/synthesis.ts
91
91
  const log = createSubsystemLogger("memory/synthesis");
@@ -3,15 +3,15 @@ import "./registry-C-JddWwo.js";
3
3
  import "./agent-scope-B1Ina6jV.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-DzRUKS9f.js";
5
5
  import "./workspace-CsaDUuDn.js";
6
- import { t as runAgentTurn } from "./unified-runner-DkPztkL8.js";
6
+ import { t as runAgentTurn } from "./unified-runner-DPWNhQQA.js";
7
7
  import "./auth-profiles-BSw0aQND.js";
8
8
  import "./model-selection-BqshlIZc.js";
9
- import "./deliver-DyO3QD8O.js";
9
+ import "./deliver-DTRkeYm3.js";
10
10
  import "./ssrf-oI58TMOb.js";
11
11
  import "./boolean-BsqeuxE6.js";
12
12
  import "./shell-env-B1lDWz4t.js";
13
13
  import "./manifest-registry-BGJu2aC-.js";
14
- import "./chrome-C_I81hbq.js";
14
+ import "./chrome-DPjznJQ-.js";
15
15
  import "./frontmatter-CJEX1BrH.js";
16
16
  import "./skills-Dm4gX4Tl.js";
17
17
  import "./redact-CSGZUFxa.js";
@@ -25,7 +25,7 @@ import "./paths-BsT3BvfH.js";
25
25
  import "./tokens-D_vCJSzF.js";
26
26
  import "./diagnostic-BALvP9wI.js";
27
27
  import "./diagnostic-session-state-BDfanaOY.js";
28
- import "./manager-BIt2_nlu.js";
28
+ import "./manager-C5FGNRjL.js";
29
29
  import "./github-copilot-token-uhEBNQfj.js";
30
30
  import "./pi-auth-json-DCGR3yfh.js";
31
31
  import "./reply-prefix-D0NzzC4I.js";
@@ -3,20 +3,20 @@ import "./paths-By0XjHBk.js";
3
3
  import "./utils-CTPsqyE_.js";
4
4
  import { f as defaultRuntime } from "./subsystem-CHbO_DkH.js";
5
5
  import "./exec-DuYbft0z.js";
6
- import "./agent-scope-DOrZjOnW.js";
7
- import "./model-selection-7wdmO-Iw.js";
8
- import "./config-D7SS4vdk.js";
6
+ import "./agent-scope-Bnsyyeci.js";
7
+ import "./model-selection-CCTzD29o.js";
8
+ import "./config-D-PYSlE8.js";
9
9
  import "./boolean-CbZoNRMn.js";
10
10
  import "./env-BRnPI9sO.js";
11
11
  import "./shell-env-Dc3iU7HK.js";
12
12
  import "./manifest-registry-D1MLZEjS.js";
13
13
  import "./message-channel-DgjXWzf-.js";
14
- import "./client-BzUAFrla.js";
15
- import "./call-BouPakqe.js";
16
- import "./pairing-token-Dcy37-4s.js";
14
+ import "./client-T5P9umyG.js";
15
+ import "./call-CW8U1BPq.js";
16
+ import "./pairing-token-B703A1U3.js";
17
17
  import { t as formatDocsLink } from "./links-TQwptN6q.js";
18
18
  import "./progress-HNhsbm0E.js";
19
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DNq7EMhm.js";
19
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-CLzM6ugo.js";
20
20
 
21
21
  //#region src/cli/system-cli.ts
22
22
  function registerSystemCli(program) {
@@ -3,7 +3,7 @@ import { n as runExec, t as runCommandWithTimeout } from "./exec-DuYbft0z.js";
3
3
  import { d as resolveGatewaySystemdServiceName, l as resolveGatewayProfileSuffix, u as resolveGatewayServiceDescription } from "./constants-ChnKXZKi.js";
4
4
  import path from "node:path";
5
5
  import os from "node:os";
6
- import fs from "node:fs/promises";
6
+ import fsPromises from "node:fs/promises";
7
7
  import { execFile } from "node:child_process";
8
8
 
9
9
  //#region src/daemon/exec-file.ts
@@ -289,7 +289,7 @@ function resolveSystemdUserUnitPath(env) {
289
289
  async function readSystemdServiceExecStart(env) {
290
290
  const unitPath = resolveSystemdUnitPath(env);
291
291
  try {
292
- const content = await fs.readFile(unitPath, "utf8");
292
+ const content = await fsPromises.readFile(unitPath, "utf8");
293
293
  let execStart = "";
294
294
  let workingDirectory = "";
295
295
  const environment = {};
@@ -360,7 +360,7 @@ async function assertSystemdAvailable() {
360
360
  async function installSystemdService({ env, stdout, programArguments, workingDirectory, environment, description }) {
361
361
  await assertSystemdAvailable();
362
362
  const unitPath = resolveSystemdUnitPath(env);
363
- await fs.mkdir(path.dirname(unitPath), { recursive: true });
363
+ await fsPromises.mkdir(path.dirname(unitPath), { recursive: true });
364
364
  const unit = buildSystemdUnit({
365
365
  description: resolveGatewayServiceDescription({
366
366
  env,
@@ -371,7 +371,7 @@ async function installSystemdService({ env, stdout, programArguments, workingDir
371
371
  workingDirectory,
372
372
  environment
373
373
  });
374
- await fs.writeFile(unitPath, unit, "utf8");
374
+ await fsPromises.writeFile(unitPath, unit, "utf8");
375
375
  const unitName = `${resolveGatewaySystemdServiceName(env.SYMI_PROFILE)}.service`;
376
376
  const reload = await execSystemctl(["--user", "daemon-reload"]);
377
377
  if (reload.code !== 0) throw new Error(`systemctl daemon-reload failed: ${reload.stderr || reload.stdout}`.trim());
@@ -403,7 +403,7 @@ async function uninstallSystemdService({ env, stdout }) {
403
403
  ]);
404
404
  const unitPath = resolveSystemdUnitPath(env);
405
405
  try {
406
- await fs.unlink(unitPath);
406
+ await fsPromises.unlink(unitPath);
407
407
  stdout.write(`${formatLine("Removed systemd service", unitPath)}\n`);
408
408
  } catch {
409
409
  stdout.write(`Systemd service not found at ${unitPath}\n`);