@symerian/symi 3.4.25 → 3.4.26

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 (139) hide show
  1. package/dist/{agent-CQlyTNu-.js → agent-DQvcs-ag.js} +1 -1
  2. package/dist/{agent-N_J2cDO6.js → agent-DR2UU-2F.js} +2 -2
  3. package/dist/{agents-1xmRO246.js → agents-BewjExwR.js} +2 -2
  4. package/dist/{audit-DCwHws4M.js → audit-bjakulrx.js} +5 -5
  5. package/dist/{auth-choice-Ryx7oj6G.js → auth-choice-BkSsm1pk.js} +1 -1
  6. package/dist/{auth-choice-DwXdS4c2.js → auth-choice-L6_DvGSb.js} +2 -2
  7. package/dist/{banner-CxMQaUgh.js → banner-DoxWG0Rv.js} +1 -1
  8. package/dist/{browser-cli-C3hfJNZy.js → browser-cli-DdLN-X6g.js} +3 -3
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +2 -2
  11. package/dist/bundled/session-memory/handler.js +2 -2
  12. package/dist/{call-BouPakqe.js → call-BOE4s-tQ.js} +1 -1
  13. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  14. package/dist/{channel-options-n9C_ovb1.js → channel-options-CJOhNCrO.js} +1 -1
  15. package/dist/{channel-options-WR29vfWK.js → channel-options-X5Mgr-oH.js} +1 -1
  16. package/dist/{channels-cli-Cs-Uq67O.js → channels-cli-CBdy4UL6.js} +7 -7
  17. package/dist/{channels-cli-DbFGI3vF.js → channels-cli-Drn3JOc8.js} +17 -17
  18. package/dist/{chrome-B7-rO4i9.js → chrome-BKUACyeO.js} +7 -7
  19. package/dist/{chrome-rzK8edU7.js → chrome-xlyBE8q3.js} +7 -7
  20. package/dist/{cli-D55pCJ8Q.js → cli-DJA_Gm3_.js} +4 -4
  21. package/dist/{cli-7ceDvtPc.js → cli-S62cMO1-.js} +14 -14
  22. package/dist/{client-BzUAFrla.js → client-iv2QpsT1.js} +3 -3
  23. package/dist/{command-registry-DAy62yhH.js → command-registry-CZrQWdR_.js} +10 -10
  24. package/dist/{completion-cli-Bh-Y2NVp.js → completion-cli-CPiZTObN.js} +2 -2
  25. package/dist/{completion-cli-Bc1jojml.js → completion-cli-DvaCHwGr.js} +1 -1
  26. package/dist/{config-cli-DupKETmw.js → config-cli-CiTMrunf.js} +1 -1
  27. package/dist/{config-cli-BxRcn2oD.js → config-cli-Dhb3ZuZ6.js} +1 -1
  28. package/dist/{configure-BilM_Fgn.js → configure-CzAszDyQ.js} +2 -2
  29. package/dist/{configure-0XYm59w7.js → configure-DlLBbvyP.js} +6 -6
  30. package/dist/{control-service-Ry7Le68N.js → control-service-BgfKoTwJ.js} +3 -3
  31. package/dist/{cron-cli-DHFgjr_X.js → cron-cli-Bg9CiOss.js} +3 -3
  32. package/dist/{daemon-cli-fC2R9YZd.js → daemon-cli-wRBPfyuU.js} +2 -2
  33. package/dist/{deliver-oWGJwzFf.js → deliver-Cjyb6h4g.js} +4 -4
  34. package/dist/{devices-cli-DtkKN4l0.js → devices-cli-IoQV2hfa.js} +2 -2
  35. package/dist/{doctor-completion-B6OPl_GZ.js → doctor-completion-C4vmp9I7.js} +1 -1
  36. package/dist/{doctor-completion-BZJWX3Dr.js → doctor-completion-CBs1R4s0.js} +1 -1
  37. package/dist/entry.js +1 -1
  38. package/dist/{exec-approvals-cli-C3gZAwV8.js → exec-approvals-cli-D107mxRX.js} +4 -4
  39. package/dist/extensionAPI.js +4 -4
  40. package/dist/{gateway-cli-CyhLb-zS.js → gateway-cli-D6v-ok73.js} +25 -25
  41. package/dist/{gateway-cli-DQhYa6AL.js → gateway-cli-q8Mf3jQH.js} +10 -10
  42. package/dist/{gateway-rpc-DNq7EMhm.js → gateway-rpc-rNjNMA6y.js} +1 -1
  43. package/dist/{glass-ui-ws-SJVljtUx.js → glass-ui-ws-CC93azF2.js} +21 -21
  44. package/dist/{glass-ui-ws-CLDbMDPk.js → glass-ui-ws-CIm7LZ8W.js} +8 -8
  45. package/dist/{health-DZ0aipDZ.js → health-B92I0vwb.js} +1 -1
  46. package/dist/{hooks-cli-BVtdP5x7.js → hooks-cli-DCVYSJ8i.js} +5 -5
  47. package/dist/{hooks-cli-BMRj13QU.js → hooks-cli-DfFHpfYB.js} +15 -15
  48. package/dist/index.js +18 -18
  49. package/dist/llm-slug-generator.js +2 -2
  50. package/dist/{logs-cli-mdSEYBKS.js → logs-cli-DvPMH-Ur.js} +3 -3
  51. package/dist/{manager-BLg6zbeA.js → manager-C1bLWQJb.js} +1 -1
  52. package/dist/{manager-BhIaahpm.js → manager-CVP2spyx.js} +1 -1
  53. package/dist/{manager-BIt2_nlu.js → manager-Dj2dVPGR.js} +1 -1
  54. package/dist/{manager-DhHNnMyK.js → manager-Dz4nKG33.js} +1 -1
  55. package/dist/{memory-BENbCb4f.js → memory-BGLXu8Hn.js} +2 -2
  56. package/dist/{memory-B4DsKRSc.js → memory-D_CuTCAW.js} +2 -2
  57. package/dist/{memory-cli-BIjwqjBx.js → memory-cli-DLyBqCnp.js} +2 -2
  58. package/dist/{memory-cli-DotHyA76.js → memory-cli-XxOC0_-M.js} +2 -2
  59. package/dist/{models-CmToZKBp.js → models-Bf57T7rZ.js} +2 -2
  60. package/dist/{models-cli-Di7iKhD4.js → models-cli-BoUVPeOA.js} +6 -6
  61. package/dist/{models-cli-CZgkOUZB.js → models-cli-C7UZtCdE.js} +16 -16
  62. package/dist/{node-cli-BXv9SEDG.js → node-cli-DBa3SOQb.js} +6 -6
  63. package/dist/{nodes-cli-Cim3ANNU.js → nodes-cli-Dx8iwcda.js} +3 -3
  64. package/dist/{onboard-CuLvp4Ds.js → onboard-CvXaQ6g7.js} +3 -3
  65. package/dist/{onboard-BXI02b3e.js → onboard-CvspL8de.js} +1 -1
  66. package/dist/{onboard-channels-E5NIYGJz.js → onboard-channels-Bf0N23cr.js} +1 -1
  67. package/dist/{onboard-channels-A6_QP7MR.js → onboard-channels-MlbB9sk1.js} +1 -1
  68. package/dist/{onboard-helpers---sZ9pdZ.js → onboard-helpers-DP7FgSbE.js} +1 -1
  69. package/dist/{onboard-remote-BUB3VPBP.js → onboard-remote-KlZ04Ycj.js} +1 -1
  70. package/dist/{onboard-skills-Cs3BZ4VJ.js → onboard-skills-C2YVZLtY.js} +1 -1
  71. package/dist/{onboarding-BeYl1Egj.js → onboarding-Bkqm3GYG.js} +3 -3
  72. package/dist/{onboarding-BWMBA6cP.js → onboarding-Dhjsa9Kl.js} +7 -7
  73. package/dist/{onboarding.finalize-CH8dBgA2.js → onboarding.finalize-DEnbT-08.js} +13 -13
  74. package/dist/{onboarding.finalize-Bk-XW8b3.js → onboarding.finalize-Dj2kTz2P.js} +4 -4
  75. package/dist/{onboarding.gateway-config-arRNxrI9.js → onboarding.gateway-config-1PP2Esxt.js} +3 -3
  76. package/dist/{pi-embedded-0I7WdtRz.js → pi-embedded-DisxTf9Y.js} +50 -12
  77. package/dist/{pi-embedded-helpers-B5cWV7_y.js → pi-embedded-helpers-x7n6pMgT.js} +1 -1
  78. package/dist/{pi-tools.policy-BdGVEMZn.js → pi-tools.policy-J58A7qFU.js} +1 -1
  79. package/dist/{plugin-registry-CAdIrLmG.js → plugin-registry-BTkbl0FJ.js} +1 -1
  80. package/dist/{plugin-registry-DovNSdK0.js → plugin-registry-D-hgQT7P.js} +1 -1
  81. package/dist/plugin-sdk/agents/pi-tools.types.d.ts +1 -2
  82. package/dist/plugin-sdk/agents/tools/availability-filter.d.ts +10 -0
  83. package/dist/plugin-sdk/agents/tools/common.d.ts +30 -0
  84. package/dist/{plugins-cli-ZG4PxNTC.js → plugins-cli-Bh5QiPdZ.js} +15 -15
  85. package/dist/{plugins-cli-JzKO-vmR.js → plugins-cli-kV-uO1kp.js} +5 -5
  86. package/dist/{program-BbfU4idg.js → program-CbGjDDWP.js} +10 -10
  87. package/dist/{program-context-ByiEP1Lk.js → program-context-DFJyoCC0.js} +30 -30
  88. package/dist/{prompt-select-styled-DvrG_zWV.js → prompt-select-styled-DaVdKaBp.js} +8 -8
  89. package/dist/{prompt-select-styled-CWH2Mcrb.js → prompt-select-styled-p9o4e4m6.js} +4 -4
  90. package/dist/{provider-auth-helpers-2x7YxT5F.js → provider-auth-helpers-BCiBe4Q9.js} +1 -1
  91. package/dist/{provider-auth-helpers-CMQexdSl.js → provider-auth-helpers-CoGyeok2.js} +1 -1
  92. package/dist/{push-apns-CtWwPxRj.js → push-apns-BorKE_Qo.js} +1 -1
  93. package/dist/{push-apns-eGdGU3r7.js → push-apns-DzCR9bci.js} +1 -1
  94. package/dist/{pw-ai-tgngV3iZ.js → pw-ai-8E0uhtHT.js} +1 -1
  95. package/dist/{pw-ai-BOOB8qoi.js → pw-ai-BFS9ezWe.js} +1 -1
  96. package/dist/{register.agent-Dwkya1rv.js → register.agent-CaN-g4uZ.js} +19 -19
  97. package/dist/{register.agent-DZE9NBNx.js → register.agent-DydJFXJP.js} +9 -9
  98. package/dist/{register.configure-CD8WkXo8.js → register.configure-BVe4hnaS.js} +8 -8
  99. package/dist/{register.configure-DCpbCHR0.js → register.configure-DAy2cE8-.js} +22 -22
  100. package/dist/{register.maintenance-Bqjj77CZ.js → register.maintenance-DOPFPjF1.js} +20 -20
  101. package/dist/{register.maintenance-CxVeo_7j.js → register.maintenance-dg4F8WtF.js} +9 -9
  102. package/dist/{register.message-tcJN7-E3.js → register.message-BcVCnsvF.js} +5 -5
  103. package/dist/{register.message-uhAmNxoO.js → register.message-C142fUnJ.js} +15 -15
  104. package/dist/{register.onboard-F6d_Wrv1.js → register.onboard-JdqDBt_q.js} +6 -6
  105. package/dist/{register.onboard-Rm5t0yxX.js → register.onboard-rAsjY0XL.js} +2 -2
  106. package/dist/{register.setup-C2datfZK.js → register.setup--uV2P6Rv.js} +2 -2
  107. package/dist/{register.setup-CcHxpsUT.js → register.setup-D1aL4OSn.js} +6 -6
  108. package/dist/{register.status-health-sessions-DIUDRMqm.js → register.status-health-sessions-78J4b8E3.js} +13 -13
  109. package/dist/{register.status-health-sessions-DFVjS9Hy.js → register.status-health-sessions-CsaUl0vE.js} +3 -3
  110. package/dist/{register.subclis-D9uGnVGm.js → register.subclis-BVReTdEZ.js} +9 -9
  111. package/dist/{routes-C-rIjd8Z.js → routes-DIFuU49J.js} +2 -2
  112. package/dist/{rpc-BkFkeuJ6.js → rpc-DfaVxm4P.js} +1 -1
  113. package/dist/{run-main-HkbyvIDy.js → run-main-Crj9RFFj.js} +17 -17
  114. package/dist/{sandbox-Dx8IMw-E.js → sandbox-DR_uvPm8.js} +3 -3
  115. package/dist/{sandbox-cli-BFkLKdlk.js → sandbox-cli-we8HwKzB.js} +4 -4
  116. package/dist/{security-cli-BEpQ_rO1.js → security-cli-B3nmOCuA.js} +8 -8
  117. package/dist/{server-context--mmXXEkE.js → server-context-DZK_rfwz.js} +4 -4
  118. package/dist/{server-methods-DJ8eiTu1.js → server-methods-BR_LQLUr.js} +6 -6
  119. package/dist/{server-methods-RtjWUhkv.js → server-methods-qP6jEpBJ.js} +12 -12
  120. package/dist/{server-node-events-DQ1iCUgY.js → server-node-events-BLrBQ1Ix.js} +16 -16
  121. package/dist/{server-node-events-CT8fFtBQ.js → server-node-events-C9CEaVgd.js} +6 -6
  122. package/dist/{status-EAjzyREy.js → status-COihHYJZ.js} +1 -1
  123. package/dist/{status-CuMBp54T.js → status-DCL7G3Ib.js} +5 -5
  124. package/dist/{status-CoqGtHXq.js → status-DTQT3d18.js} +1 -1
  125. package/dist/{status-Cpz64Vy_.js → status-ORM-gYB7.js} +1 -1
  126. package/dist/{subagent-registry-Dkif1XYO.js → subagent-registry-8gdHiRIg.js} +43 -5
  127. package/dist/{synthesis-D3fpp3Vu.js → synthesis-CH82c52O.js} +4 -4
  128. package/dist/{synthesis-CKKZrrYd.js → synthesis-CppYEB8e.js} +14 -14
  129. package/dist/{synthesis-B0PXRiiM.js → synthesis-RrXFr-nJ.js} +2 -2
  130. package/dist/{synthesis-CpsURf9J.js → synthesis-SpZQv_zc.js} +4 -4
  131. package/dist/{system-cli-DMKzffe3.js → system-cli-DNR3YCgN.js} +3 -3
  132. package/dist/{tui-CqrM_Fj2.js → tui-BADAjgA5.js} +3 -3
  133. package/dist/{tui-cli-BsqRmqTX.js → tui-cli-3ZepuEPv.js} +8 -8
  134. package/dist/{unified-runner-DkPztkL8.js → unified-runner-97bDoU4e.js} +43 -5
  135. package/dist/{unified-runner-DZAjU6aB.js → unified-runner-DOYB1_-K.js} +53 -15
  136. package/dist/{update-cli-t7W6vcQY.js → update-cli-BTkGps8b.js} +21 -21
  137. package/dist/{update-cli-Bgk30eoA.js → update-cli-CKoIGU3l.js} +9 -9
  138. package/dist/{with-timeout-B5zAsivw.js → with-timeout-CGWq0-d5.js} +1 -1
  139. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { $ as applyBrowserProxyPaths, A as normalizePollInput, C as listTasksInWorkdir, D as resolveOutboundSessionRoute, E as ensureOutboundSessionEntry, F as normalizeCronJobCreate, Gt as resolveAgentTimeoutMs, Ht as listDescendantRunsForRequester, I as normalizeCronJobPatch, It as formatZonedTimestamp, Lt as isAbortTrigger, Mt as prepareAgentRun, Nt as BARE_SESSION_RESET_PROMPT, O as resolveOutboundTarget, Pt as normalizeGroupActivation, Rt as stopSubagentsForRequester, Ut as listSubagentRunsForRequester, Xt as clearSessionQueues, an as waitForEmbeddedPiRunEnd, b as buildAgentTurnParams, bt as applyVerboseOverride, en as onAgentEvent, et as persistBrowserProxyFiles, f as getChannelActivity, fn as resolveUserTimezone, g as buildGlassUiProfile, m as createReplyDispatcher, mt as resolveSendPolicy, ot as scheduleGatewaySigusr1Restart, pt as normalizeSendPolicy, rn as abortEmbeddedPiRun, s as loadSymiPlugins, tn as registerAgentRunContext, x as prepareReplyTurn, xt as parseVerboseOverride, y as runUnifiedTurn, yt as applyModelOverrideToSessionEntry } from "./unified-runner-DZAjU6aB.js";
1
+ import { $ as applyBrowserProxyPaths, A as normalizePollInput, C as listTasksInWorkdir, D as resolveOutboundSessionRoute, E as ensureOutboundSessionEntry, F as normalizeCronJobCreate, Gt as resolveAgentTimeoutMs, Ht as listDescendantRunsForRequester, I as normalizeCronJobPatch, It as formatZonedTimestamp, Lt as isAbortTrigger, Mt as prepareAgentRun, Nt as BARE_SESSION_RESET_PROMPT, O as resolveOutboundTarget, Pt as normalizeGroupActivation, Rt as stopSubagentsForRequester, Ut as listSubagentRunsForRequester, Xt as clearSessionQueues, an as waitForEmbeddedPiRunEnd, b as buildAgentTurnParams, bt as applyVerboseOverride, en as onAgentEvent, et as persistBrowserProxyFiles, f as getChannelActivity, fn as resolveUserTimezone, g as buildGlassUiProfile, m as createReplyDispatcher, mt as resolveSendPolicy, ot as scheduleGatewaySigusr1Restart, pt as normalizeSendPolicy, rn as abortEmbeddedPiRun, s as loadSymiPlugins, tn as registerAgentRunContext, x as prepareReplyTurn, xt as parseVerboseOverride, y as runUnifiedTurn, yt as applyModelOverrideToSessionEntry } from "./unified-runner-DOYB1_-K.js";
2
2
  import { H as createInternalHookEvent, P as getResolvedLoggerSettings, W as triggerInternalHook, d as getActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL } from "./registry-Sbac4a4z.js";
3
3
  import { _ as resolveStateDir, t as CONFIG_PATH } from "./paths-By0XjHBk.js";
4
4
  import { S as isPlainObject, h as resolveUserPath, n as clamp } from "./utils-CTPsqyE_.js";
@@ -21,16 +21,16 @@ import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsX
21
21
  import { h as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-DB4v0Tyl.js";
22
22
  import { i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, t as discoverAllSessions } from "./session-cost-usage-D6Ocwmq1.js";
23
23
  import { C as enqueueSystemEvent, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, w as isSystemEventContextChanged } from "./session-utils-BZnPW904.js";
24
- import { n as createBrowserRouteDispatcher } from "./with-timeout-B5zAsivw.js";
24
+ import { n as createBrowserRouteDispatcher } from "./with-timeout-CGWq0-d5.js";
25
25
  import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-BFNeXT65.js";
26
- import { t as getMemorySearchManager } from "./memory-B4DsKRSc.js";
27
- import { $ as validateNodePairListParams, A as validateCronRunsParams, At as validateWebLoginStartParams, Bt as parseSessionLabel, C as validateConfigSchemaParams, Ct as validateSkillsStatusParams, D as validateCronListParams, Dt as validateTasksListParams, E as validateCronAddParams, Et as validateTalkModeParams, F as validateDevicePairRejectParams, Ft as validateWizardStatusParams, G as validateLogsTailParams, Gt as listDevicePairing, H as validateExecApprovalsNodeGetParams, Ht as approveDevicePairing, I as validateDevicePairRemoveParams, J as validateNodeEventParams, K as validateModelsListParams, Kt as rejectDevicePairing, L as validateDeviceTokenRevokeParams, Lt as ErrorCodes, M as validateCronUpdateParams, Mt as validateWizardCancelParams, N as validateDevicePairApproveParams, Nt as validateWizardNextParams, O as validateCronRemoveParams, Ot as validateUpdateRunParams, P as validateDevicePairListParams, Pt as validateWizardStartParams, Q as validateNodePairApproveParams, R as validateDeviceTokenRotateParams, Rt as errorShape, S as validateConfigPatchParams, St as validateSkillsInstallParams, Tt as validateTalkConfigParams, U as validateExecApprovalsNodeSetParams, V as validateExecApprovalsGetParams, W as validateExecApprovalsSetParams, X as validateNodeInvokeResultParams, Xt as rotateDeviceToken, Y as validateNodeInvokeParams, Yt as revokeDeviceToken, Z as validateNodeListParams, Zt as summarizeDeviceTokens, _ as validateChatHistoryParams, _t as validateSessionsResolveParams, a as validateAgentWaitParams, at as validatePushTestParams, b as validateConfigApplyParams, bt as validateSessionsUsageParams, c as validateAgentsFilesGetParams, ct as validateSessionsAdoptFileParams, d as validateAgentsListParams, dt as validateSessionsDeleteParams, et as validateNodePairRejectParams, f as validateAgentsUpdateParams, ft as validateSessionsFavoriteFileParams, g as validateChatCommandsListParams, gt as validateSessionsResetParams, h as validateChatAbortParams, ht as validateSessionsPreviewParams, i as validateAgentParams, it as validatePollParams, j as validateCronStatusParams, jt as validateWebLoginWaitParams, k as validateCronRunParams, kt as validateWakeParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsPatchParams, n as formatValidationErrors, nt as validateNodePairVerifyParams, o as validateAgentsCreateParams, p as validateChannelsLogoutParams, pt as validateSessionsListParams, q as validateNodeDescribeParams, qt as removePairedDevice, r as validateAgentIdentityParams, rt as validateNodeRenameParams, s as validateAgentsDeleteParams, st as validateSendParams, tt as validateNodePairRequestParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteFileParams, v as validateChatInjectParams, vt as validateSessionsRestoreParams, w as validateConfigSetParams, wt as validateSkillsUpdateParams, x as validateConfigGetParams, xt as validateSkillsBinsParams, y as validateChatSendParams, yt as validateSessionsSearchParams } from "./client-BzUAFrla.js";
28
- import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-BouPakqe.js";
26
+ import { t as getMemorySearchManager } from "./memory-D_CuTCAW.js";
27
+ import { $ as validateNodePairListParams, A as validateCronRunsParams, At as validateWebLoginStartParams, Bt as parseSessionLabel, C as validateConfigSchemaParams, Ct as validateSkillsStatusParams, D as validateCronListParams, Dt as validateTasksListParams, E as validateCronAddParams, Et as validateTalkModeParams, F as validateDevicePairRejectParams, Ft as validateWizardStatusParams, G as validateLogsTailParams, Gt as listDevicePairing, H as validateExecApprovalsNodeGetParams, Ht as approveDevicePairing, I as validateDevicePairRemoveParams, J as validateNodeEventParams, K as validateModelsListParams, Kt as rejectDevicePairing, L as validateDeviceTokenRevokeParams, Lt as ErrorCodes, M as validateCronUpdateParams, Mt as validateWizardCancelParams, N as validateDevicePairApproveParams, Nt as validateWizardNextParams, O as validateCronRemoveParams, Ot as validateUpdateRunParams, P as validateDevicePairListParams, Pt as validateWizardStartParams, Q as validateNodePairApproveParams, R as validateDeviceTokenRotateParams, Rt as errorShape, S as validateConfigPatchParams, St as validateSkillsInstallParams, Tt as validateTalkConfigParams, U as validateExecApprovalsNodeSetParams, V as validateExecApprovalsGetParams, W as validateExecApprovalsSetParams, X as validateNodeInvokeResultParams, Xt as rotateDeviceToken, Y as validateNodeInvokeParams, Yt as revokeDeviceToken, Z as validateNodeListParams, Zt as summarizeDeviceTokens, _ as validateChatHistoryParams, _t as validateSessionsResolveParams, a as validateAgentWaitParams, at as validatePushTestParams, b as validateConfigApplyParams, bt as validateSessionsUsageParams, c as validateAgentsFilesGetParams, ct as validateSessionsAdoptFileParams, d as validateAgentsListParams, dt as validateSessionsDeleteParams, et as validateNodePairRejectParams, f as validateAgentsUpdateParams, ft as validateSessionsFavoriteFileParams, g as validateChatCommandsListParams, gt as validateSessionsResetParams, h as validateChatAbortParams, ht as validateSessionsPreviewParams, i as validateAgentParams, it as validatePollParams, j as validateCronStatusParams, jt as validateWebLoginWaitParams, k as validateCronRunParams, kt as validateWakeParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsPatchParams, n as formatValidationErrors, nt as validateNodePairVerifyParams, o as validateAgentsCreateParams, p as validateChannelsLogoutParams, pt as validateSessionsListParams, q as validateNodeDescribeParams, qt as removePairedDevice, r as validateAgentIdentityParams, rt as validateNodeRenameParams, s as validateAgentsDeleteParams, st as validateSendParams, tt as validateNodePairRequestParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteFileParams, v as validateChatInjectParams, vt as validateSessionsRestoreParams, w as validateConfigSetParams, wt as validateSkillsUpdateParams, x as validateConfigGetParams, xt as validateSkillsBinsParams, y as validateChatSendParams, yt as validateSessionsSearchParams } from "./client-iv2QpsT1.js";
28
+ import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-BOE4s-tQ.js";
29
29
  import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Dcy37-4s.js";
30
30
  import { c as approveNodePairing, d as renamePairedNode, f as requestNodePairing, l as listNodePairing, m as verifyNodeToken, t as getRemoteSkillEligibility, u as rejectNodePairing } from "./skills-remote-bz71Bstn.js";
31
31
  import { t as listAgentWorkspaceDirs } from "./workspace-dirs-jKFQf7of.js";
32
32
  import { a as mergeExecApprovalsSocketDefaults, c as readExecApprovalsSnapshot, p as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals } from "./exec-approvals-DioSaIeH.js";
33
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-Ry7Le68N.js";
33
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-BgfKoTwJ.js";
34
34
  import { i as parseAbsoluteTimeMs } from "./stagger-DUVGiPYV.js";
35
35
  import { n as createOutboundSendDeps } from "./deps-BlmO-MfQ.js";
36
36
  import { t as buildChannelUiCatalog } from "./catalog-DsC3JTw1.js";
@@ -38,12 +38,12 @@ import { t as buildWorkspaceSkillStatus } from "./skills-status-iltfI_bO.js";
38
38
  import { t as WizardCancelledError } from "./prompts-GoDC3iAV.js";
39
39
  import { t as resolveChannelDefaultAccountId } from "./helpers-DgsKk072.js";
40
40
  import { t as buildChannelAccountSnapshot } from "./status-BvbsaoNZ.js";
41
- import { w as resolveAssistantAvatarUrl } from "./onboard-helpers---sZ9pdZ.js";
42
- import { c as resolveNodeCommandAllowlist, s as isNodeCommandAllowed } from "./audit-DCwHws4M.js";
43
- import { n as getStatusSummary } from "./status-CuMBp54T.js";
41
+ import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-DP7FgSbE.js";
42
+ import { c as resolveNodeCommandAllowlist, s as isNodeCommandAllowed } from "./audit-bjakulrx.js";
43
+ import { n as getStatusSummary } from "./status-DCL7G3Ib.js";
44
44
  import { m as normalizeUpdateChannel } from "./update-check-CxBGAP1E.js";
45
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-eGdGU3r7.js";
46
- import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-N_J2cDO6.js";
45
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-DzCR9bci.js";
46
+ import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-DR2UU-2F.js";
47
47
  import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BJ9RIQlb.js";
48
48
  import { t as resolveSystemRunCommand } from "./system-run-command-Craglj8T.js";
49
49
  import { t as installSkill } from "./skills-install-CLN_Ks5r.js";
@@ -7466,7 +7466,7 @@ const nodeHandlers = {
7466
7466
  const p = params;
7467
7467
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
7468
7468
  await respondUnavailableOnThrow(respond, async () => {
7469
- const { handleNodeEvent } = await import("./server-node-events-DQ1iCUgY.js");
7469
+ const { handleNodeEvent } = await import("./server-node-events-BLrBQ1Ix.js");
7470
7470
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
7471
7471
  await handleNodeEvent({
7472
7472
  deps: context.deps,
@@ -1,4 +1,4 @@
1
- import { O as resolveOutboundTarget } from "./unified-runner-DZAjU6aB.js";
1
+ import { O as resolveOutboundTarget } from "./unified-runner-DOYB1_-K.js";
2
2
  import "./registry-Sbac4a4z.js";
3
3
  import "./paths-By0XjHBk.js";
4
4
  import "./utils-CTPsqyE_.js";
@@ -10,20 +10,20 @@ import { d as resolveSessionAgentId } from "./agent-scope-DOrZjOnW.js";
10
10
  import "./model-selection-7wdmO-Iw.js";
11
11
  import "./file-lock-BVUYnlQv.js";
12
12
  import "./agent-paths-BbZSGrUA.js";
13
- import "./pi-embedded-helpers-B5cWV7_y.js";
13
+ import "./pi-embedded-helpers-x7n6pMgT.js";
14
14
  import { i as loadConfig } from "./config-D7SS4vdk.js";
15
15
  import "./boolean-CbZoNRMn.js";
16
16
  import "./env-BRnPI9sO.js";
17
17
  import "./shell-env-Dc3iU7HK.js";
18
18
  import "./manifest-registry-D1MLZEjS.js";
19
- import "./sandbox-Dx8IMw-E.js";
20
- import "./chrome-rzK8edU7.js";
19
+ import "./sandbox-DR_uvPm8.js";
20
+ import "./chrome-xlyBE8q3.js";
21
21
  import "./tailscale-DpKBMIvx.js";
22
22
  import "./auth-Bkx-QuRN.js";
23
- import "./server-context--mmXXEkE.js";
23
+ import "./server-context-DZK_rfwz.js";
24
24
  import "./frontmatter-B_jqcova.js";
25
25
  import "./skills-BwDmcZdt.js";
26
- import "./routes-C-rIjd8Z.js";
26
+ import "./routes-DIFuU49J.js";
27
27
  import "./redact-B3O-RBO1.js";
28
28
  import "./errors-bI7Tdx75.js";
29
29
  import "./fs-safe-BdejYjW8.js";
@@ -49,10 +49,10 @@ import "./models-config-CRnTzdFs.js";
49
49
  import "./pi-auth-json-Db8XJVGL.js";
50
50
  import "./session-cost-usage-D6Ocwmq1.js";
51
51
  import { C as enqueueSystemEvent, c as resolveGatewaySessionStoreTarget, o as loadSessionEntry, s as pruneLegacyStoreKeys } from "./session-utils-BZnPW904.js";
52
- import "./with-timeout-B5zAsivw.js";
52
+ import "./with-timeout-CGWq0-d5.js";
53
53
  import "./reply-prefix-BFNeXT65.js";
54
- import "./memory-B4DsKRSc.js";
55
- import "./manager-BLg6zbeA.js";
54
+ import "./memory-D_CuTCAW.js";
55
+ import "./manager-C1bLWQJb.js";
56
56
  import "./sqlite-Cod7C5ba.js";
57
57
  import "./chunk-BxfKjCUx.js";
58
58
  import "./markdown-tables-CS1Tvb3z.js";
@@ -60,8 +60,8 @@ import "./fetch-guard-JHxT9355.js";
60
60
  import "./local-roots-CgDCgCuM.js";
61
61
  import "./commands-DUzLGgEZ.js";
62
62
  import "./commands-registry-VfAQOVZO.js";
63
- import "./client-BzUAFrla.js";
64
- import "./call-BouPakqe.js";
63
+ import "./client-iv2QpsT1.js";
64
+ import "./call-BOE4s-tQ.js";
65
65
  import "./pairing-token-Dcy37-4s.js";
66
66
  import "./tool-display-DFOL6UQ9.js";
67
67
  import "./skills-remote-bz71Bstn.js";
@@ -72,7 +72,7 @@ import "./skill-commands-yPirQFOb.js";
72
72
  import "./pairing-store-BNhJOnWn.js";
73
73
  import "./exec-approvals-DioSaIeH.js";
74
74
  import "./nodes-screen-De9ma6e1.js";
75
- import "./control-service-Ry7Le68N.js";
75
+ import "./control-service-BgfKoTwJ.js";
76
76
  import "./stagger-DUVGiPYV.js";
77
77
  import "./channel-selection-DF4bza2Q.js";
78
78
  import "./delivery-queue-RUd4NhRw.js";
@@ -82,14 +82,14 @@ import "./links-TQwptN6q.js";
82
82
  import "./cli-utils-tNdOjVQI.js";
83
83
  import "./help-format-CPT6NY3h.js";
84
84
  import "./progress-HNhsbm0E.js";
85
- import "./memory-cli-DotHyA76.js";
85
+ import "./memory-cli-XxOC0_-M.js";
86
86
  import "./logging-Czh4x_NQ.js";
87
87
  import "./replies-DzsYQ8Md.js";
88
- import "./pi-tools.policy-BdGVEMZn.js";
88
+ import "./pi-tools.policy-J58A7qFU.js";
89
89
  import "./model-DsMHOvMn.js";
90
90
  import "./deps-BlmO-MfQ.js";
91
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-eGdGU3r7.js";
92
- import { t as agentCommand } from "./agent-N_J2cDO6.js";
91
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-DzCR9bci.js";
92
+ import { t as agentCommand } from "./agent-DR2UU-2F.js";
93
93
  import { t as createOutboundSendDeps } from "./outbound-send-deps-CocVWWDn.js";
94
94
  import { randomUUID } from "node:crypto";
95
95
 
@@ -18,7 +18,7 @@ import "./client-BqT7xONl.js";
18
18
  import "./call-GzGqMHAx.js";
19
19
  import "./message-channel-DXToSaWK.js";
20
20
  import "./pairing-token-B-OTYROz.js";
21
- import { H as resolveOutboundTarget } from "./subagent-registry-Dkif1XYO.js";
21
+ import { H as resolveOutboundTarget } from "./subagent-registry-8gdHiRIg.js";
22
22
  import { d as updateSessionStore } from "./sessions-DHPf5TzB.js";
23
23
  import { r as normalizeChannelId } from "./plugins-BsEhWvLn.js";
24
24
  import "./send-BBfSp-8Q.js";
@@ -48,8 +48,8 @@ import "./model-auth-Byr7Gic_.js";
48
48
  import "./github-copilot-token-B5y4__YM.js";
49
49
  import "./models-config-Br7EjqgG.js";
50
50
  import "./reply-prefix-DV3KhOhL.js";
51
- import "./memory-BENbCb4f.js";
52
- import "./manager-BhIaahpm.js";
51
+ import "./memory-BGLXu8Hn.js";
52
+ import "./manager-CVP2spyx.js";
53
53
  import "./sqlite-9jF_eajd.js";
54
54
  import "./chunk-B2lBXhR0.js";
55
55
  import "./markdown-tables-BEdkErjm.js";
@@ -79,13 +79,13 @@ import "./links-BDe4dm1J.js";
79
79
  import "./cli-utils-BhfE5XS2.js";
80
80
  import "./help-format-CbgFRc-H.js";
81
81
  import "./progress-CqV5lJkt.js";
82
- import "./memory-cli-BIjwqjBx.js";
82
+ import "./memory-cli-DLyBqCnp.js";
83
83
  import "./logging-BeW3kpQA.js";
84
84
  import "./replies-LM-arXEE.js";
85
85
  import "./pi-tools.policy-4gtz_Ipq.js";
86
86
  import { t as createOutboundSendDeps } from "./outbound-send-deps-Bms6Lw6N.js";
87
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CtWwPxRj.js";
88
- import { t as agentCommand } from "./agent-CQlyTNu-.js";
87
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-BorKE_Qo.js";
88
+ import { t as agentCommand } from "./agent-DQvcs-ag.js";
89
89
  import { randomUUID } from "node:crypto";
90
90
 
91
91
  //#region src/gateway/server-node-events.ts
@@ -1,4 +1,4 @@
1
- import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-DZAjU6aB.js";
1
+ import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-DOYB1_-K.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
3
3
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-DOrZjOnW.js";
4
4
  import { i as loadConfig } from "./config-D7SS4vdk.js";
@@ -13,8 +13,8 @@ import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as l
13
13
  import { n as listChannelPlugins } from "./plugins-CF5skkHh.js";
14
14
  import { c as resolveStorePath } from "./paths-BtvQ7JvU.js";
15
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";
16
+ import { t as getMemorySearchManager } from "./memory-D_CuTCAW.js";
17
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BOE4s-tQ.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
19
19
  import { t as getRemoteSkillEligibility } from "./skills-remote-bz71Bstn.js";
20
20
  import { r as formatDurationPrecise } from "./format-duration-CIjmjQST.js";
@@ -22,13 +22,13 @@ import { n as withProgress } from "./progress-HNhsbm0E.js";
22
22
  import { t as buildWorkspaceSkillStatus } from "./skills-status-iltfI_bO.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";
25
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-DP7FgSbE.js";
26
26
  import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-CyEDtYLq.js";
27
27
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-BgZqic8M.js";
28
28
  import { t as readLastGatewayErrorLine } from "./diagnostics-tVJR9V0_.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";
30
+ import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-bjakulrx.js";
31
+ import { t as formatHealthChannelLines } from "./health-B92I0vwb.js";
32
32
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-CxBGAP1E.js";
33
33
  import { t as resolveNodeService } from "./node-service-CrDVFWQl.js";
34
34
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-Bxjkt5ce.js";
@@ -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-8gdHiRIg.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -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-BGLXu8Hn.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";
@@ -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-BGLXu8Hn.js";
53
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-CVP2spyx.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-DLyBqCnp.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";
@@ -47321,6 +47321,44 @@ function applyToolPolicyPipeline(params) {
47321
47321
  return filtered;
47322
47322
  }
47323
47323
 
47324
+ //#endregion
47325
+ //#region src/agents/tools/availability-filter.ts
47326
+ const FORCE_ALL_TOOLS_ENV = "SYMI_FORCE_ALL_TOOLS";
47327
+ /**
47328
+ * Filter the tool palette by each tool's `checkFn`. Tools without a
47329
+ * checkFn pass through unchanged. Throwing checkFns are treated as
47330
+ * available (defensive). The `SYMI_FORCE_ALL_TOOLS=1` env bypasses the
47331
+ * filter entirely.
47332
+ *
47333
+ * Pure function — does not mutate the input array.
47334
+ */
47335
+ function filterToolsByAvailability(tools) {
47336
+ if (isTruthyEnvValue(process.env[FORCE_ALL_TOOLS_ENV])) return [...tools];
47337
+ const out = [];
47338
+ for (const tool of tools) {
47339
+ if (!tool.checkFn) {
47340
+ out.push(tool);
47341
+ continue;
47342
+ }
47343
+ let available;
47344
+ try {
47345
+ available = tool.checkFn();
47346
+ } catch (err) {
47347
+ logVerbose(`tool availability: checkFn for "${getToolName(tool)}" threw — including tool anyway. ${String(err)}`);
47348
+ out.push(tool);
47349
+ continue;
47350
+ }
47351
+ if (available) out.push(tool);
47352
+ else logVerbose(`tool availability: filtered out "${getToolName(tool)}" — checkFn returned false. Set ${FORCE_ALL_TOOLS_ENV}=1 to bypass this filter.`);
47353
+ }
47354
+ return out;
47355
+ }
47356
+ function getToolName(tool) {
47357
+ const definition = tool.definition;
47358
+ if (definition && typeof definition.name === "string") return definition.name;
47359
+ return "(unknown tool)";
47360
+ }
47361
+
47324
47362
  //#endregion
47325
47363
  //#region src/agents/pi-tools.ts
47326
47364
  function isOpenAIProvider(provider) {
@@ -47540,7 +47578,7 @@ function createSymiCodingTools(options) {
47540
47578
  root: sandboxRoot,
47541
47579
  bridge: sandboxFsBridge
47542
47580
  }), readEditTracker) : null;
47543
- const withHooks = applyToolPolicyPipeline({
47581
+ const withHooks = filterToolsByAvailability(applyToolPolicyPipeline({
47544
47582
  tools: applyOwnerOnlyToolPolicy([
47545
47583
  ...base,
47546
47584
  ...sandboxRoot ? allowWorkspaceWrites && sandboxedEditTool && sandboxedWriteTool ? [workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedEditTool, sandboxRoot) : sandboxedEditTool, workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedWriteTool, sandboxRoot) : sandboxedWriteTool] : [] : [],
@@ -47612,7 +47650,7 @@ function createSymiCodingTools(options) {
47612
47650
  label: "subagent tools.allow"
47613
47651
  }
47614
47652
  ]
47615
- }).map((tool) => normalizeToolParameters(tool, { modelProvider: options?.modelProvider })).map((tool) => wrapToolWithBeforeToolCallHook(tool, {
47653
+ })).map((tool) => normalizeToolParameters(tool, { modelProvider: options?.modelProvider })).map((tool) => wrapToolWithBeforeToolCallHook(tool, {
47616
47654
  agentId,
47617
47655
  sessionKey: options?.sessionKey,
47618
47656
  loopDetection: resolveToolLoopDetectionConfig({
@@ -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-DisxTf9Y.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-Dz4nKG33.js";
27
27
  import "./github-copilot-token-dYUr1mDQ.js";
28
28
  import "./sqlite-D8iYC_CU.js";
29
29
  import "./markdown-tables-jQzXAsf3.js";
@@ -1,4 +1,4 @@
1
- import { t as runAgentTurn } from "./unified-runner-DZAjU6aB.js";
1
+ import { t as runAgentTurn } from "./unified-runner-DOYB1_-K.js";
2
2
  import "./registry-Sbac4a4z.js";
3
3
  import "./paths-By0XjHBk.js";
4
4
  import "./utils-CTPsqyE_.js";
@@ -9,20 +9,20 @@ import "./agent-scope-DOrZjOnW.js";
9
9
  import "./model-selection-7wdmO-Iw.js";
10
10
  import "./file-lock-BVUYnlQv.js";
11
11
  import "./agent-paths-BbZSGrUA.js";
12
- import "./pi-embedded-helpers-B5cWV7_y.js";
12
+ import "./pi-embedded-helpers-x7n6pMgT.js";
13
13
  import "./config-D7SS4vdk.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-DR_uvPm8.js";
19
+ import "./chrome-xlyBE8q3.js";
20
20
  import "./tailscale-DpKBMIvx.js";
21
21
  import "./auth-Bkx-QuRN.js";
22
- import "./server-context--mmXXEkE.js";
22
+ import "./server-context-DZK_rfwz.js";
23
23
  import "./frontmatter-B_jqcova.js";
24
24
  import "./skills-BwDmcZdt.js";
25
- import "./routes-C-rIjd8Z.js";
25
+ import "./routes-DIFuU49J.js";
26
26
  import "./redact-B3O-RBO1.js";
27
27
  import "./errors-bI7Tdx75.js";
28
28
  import "./fs-safe-BdejYjW8.js";
@@ -48,10 +48,10 @@ import "./models-config-CRnTzdFs.js";
48
48
  import "./pi-auth-json-Db8XJVGL.js";
49
49
  import "./session-cost-usage-D6Ocwmq1.js";
50
50
  import "./session-utils-BZnPW904.js";
51
- import "./with-timeout-B5zAsivw.js";
51
+ import "./with-timeout-CGWq0-d5.js";
52
52
  import "./reply-prefix-BFNeXT65.js";
53
- import "./memory-B4DsKRSc.js";
54
- import "./manager-BLg6zbeA.js";
53
+ import "./memory-D_CuTCAW.js";
54
+ import "./manager-C1bLWQJb.js";
55
55
  import "./sqlite-Cod7C5ba.js";
56
56
  import "./chunk-BxfKjCUx.js";
57
57
  import "./markdown-tables-CS1Tvb3z.js";
@@ -59,8 +59,8 @@ import "./fetch-guard-JHxT9355.js";
59
59
  import "./local-roots-CgDCgCuM.js";
60
60
  import "./commands-DUzLGgEZ.js";
61
61
  import "./commands-registry-VfAQOVZO.js";
62
- import "./client-BzUAFrla.js";
63
- import "./call-BouPakqe.js";
62
+ import "./client-iv2QpsT1.js";
63
+ import "./call-BOE4s-tQ.js";
64
64
  import "./pairing-token-Dcy37-4s.js";
65
65
  import "./tool-display-DFOL6UQ9.js";
66
66
  import "./skills-remote-bz71Bstn.js";
@@ -71,7 +71,7 @@ import "./skill-commands-yPirQFOb.js";
71
71
  import "./pairing-store-BNhJOnWn.js";
72
72
  import "./exec-approvals-DioSaIeH.js";
73
73
  import "./nodes-screen-De9ma6e1.js";
74
- import "./control-service-Ry7Le68N.js";
74
+ import "./control-service-BgfKoTwJ.js";
75
75
  import "./stagger-DUVGiPYV.js";
76
76
  import "./channel-selection-DF4bza2Q.js";
77
77
  import "./delivery-queue-RUd4NhRw.js";
@@ -81,10 +81,10 @@ 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-XxOC0_-M.js";
85
85
  import "./logging-Czh4x_NQ.js";
86
86
  import "./replies-DzsYQ8Md.js";
87
- import "./pi-tools.policy-BdGVEMZn.js";
87
+ import "./pi-tools.policy-J58A7qFU.js";
88
88
  import "./model-DsMHOvMn.js";
89
89
 
90
90
  //#region src/memory/synthesis.ts
@@ -3,7 +3,7 @@ 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-97bDoU4e.js";
7
7
  import "./auth-profiles-BSw0aQND.js";
8
8
  import "./model-selection-BqshlIZc.js";
9
9
  import "./deliver-DyO3QD8O.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-Dj2dVPGR.js";
29
29
  import "./github-copilot-token-uhEBNQfj.js";
30
30
  import "./pi-auth-json-DCGR3yfh.js";
31
31
  import "./reply-prefix-D0NzzC4I.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-8gdHiRIg.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-BGLXu8Hn.js";
51
+ import "./manager-CVP2spyx.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-DLyBqCnp.js";
82
82
  import "./logging-BeW3kpQA.js";
83
83
  import "./replies-LM-arXEE.js";
84
84
  import "./pi-tools.policy-4gtz_Ipq.js";
@@ -11,12 +11,12 @@ 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";
14
+ import "./client-iv2QpsT1.js";
15
+ import "./call-BOE4s-tQ.js";
16
16
  import "./pairing-token-Dcy37-4s.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-rNjNMA6y.js";
20
20
 
21
21
  //#region src/cli/system-cli.ts
22
22
  function registerSystemCli(program) {
@@ -1,14 +1,14 @@
1
1
  import { l as stripAnsi, u as visibleWidth } from "./subsystem-CHbO_DkH.js";
2
2
  import { o as normalizeAgentId, r as buildAgentMainSessionKey, s as normalizeMainKey, x as parseAgentSessionKey } from "./session-key-DUSb7CCb.js";
3
3
  import { l as resolveDefaultAgentId } from "./agent-scope-DOrZjOnW.js";
4
- import { y as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-B5cWV7_y.js";
4
+ import { y as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-x7n6pMgT.js";
5
5
  import { N as VERSION, i as loadConfig } from "./config-D7SS4vdk.js";
6
6
  import { k as stripLeadingInboundMetadata } from "./sessions-optZRB57.js";
7
7
  import { f as GATEWAY_CLIENT_CAPS, h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DgjXWzf-.js";
8
8
  import { c as normalizeUsageDisplay, r as listThinkingLevelLabels, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-COroyVA5.js";
9
9
  import { n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-VfAQOVZO.js";
10
- import { It as PROTOCOL_VERSION, t as GatewayClient } from "./client-BzUAFrla.js";
11
- import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-BouPakqe.js";
10
+ import { It as PROTOCOL_VERSION, t as GatewayClient } from "./client-iv2QpsT1.js";
11
+ import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-BOE4s-tQ.js";
12
12
  import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-DFOL6UQ9.js";
13
13
  import { n as formatTimeAgo, t as formatRelativeTimestamp } from "./format-relative-D4GQsWlP.js";
14
14
  import { n as formatTokenCount } from "./usage-format-_37Bn-Jb.js";
@@ -5,20 +5,20 @@ import { f as defaultRuntime } from "./subsystem-CHbO_DkH.js";
5
5
  import "./exec-DuYbft0z.js";
6
6
  import "./agent-scope-DOrZjOnW.js";
7
7
  import "./model-selection-7wdmO-Iw.js";
8
- import "./pi-embedded-helpers-B5cWV7_y.js";
8
+ import "./pi-embedded-helpers-x7n6pMgT.js";
9
9
  import "./config-D7SS4vdk.js";
10
10
  import "./boolean-CbZoNRMn.js";
11
11
  import "./env-BRnPI9sO.js";
12
12
  import "./shell-env-Dc3iU7HK.js";
13
13
  import "./manifest-registry-D1MLZEjS.js";
14
- import "./sandbox-Dx8IMw-E.js";
15
- import "./chrome-rzK8edU7.js";
14
+ import "./sandbox-DR_uvPm8.js";
15
+ import "./chrome-xlyBE8q3.js";
16
16
  import "./tailscale-DpKBMIvx.js";
17
17
  import "./auth-Bkx-QuRN.js";
18
- import "./server-context--mmXXEkE.js";
18
+ import "./server-context-DZK_rfwz.js";
19
19
  import "./frontmatter-B_jqcova.js";
20
20
  import "./skills-BwDmcZdt.js";
21
- import "./routes-C-rIjd8Z.js";
21
+ import "./routes-DIFuU49J.js";
22
22
  import "./redact-B3O-RBO1.js";
23
23
  import "./errors-bI7Tdx75.js";
24
24
  import "./fs-safe-BdejYjW8.js";
@@ -35,13 +35,13 @@ import "./paths-BtvQ7JvU.js";
35
35
  import "./thinking-COroyVA5.js";
36
36
  import "./commands-DUzLGgEZ.js";
37
37
  import "./commands-registry-VfAQOVZO.js";
38
- import "./client-BzUAFrla.js";
39
- import "./call-BouPakqe.js";
38
+ import "./client-iv2QpsT1.js";
39
+ import "./call-BOE4s-tQ.js";
40
40
  import "./pairing-token-Dcy37-4s.js";
41
41
  import "./tool-display-DFOL6UQ9.js";
42
42
  import { t as parseTimeoutMs } from "./parse-timeout-DUdeaMqF.js";
43
43
  import { t as formatDocsLink } from "./links-TQwptN6q.js";
44
- import { t as runTui } from "./tui-CqrM_Fj2.js";
44
+ import { t as runTui } from "./tui-BADAjgA5.js";
45
45
 
46
46
  //#region src/cli/tui-cli.ts
47
47
  function registerTuiCli(program) {