@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.
- package/dist/{agent-N_J2cDO6.js → agent-CiqPWDUd.js} +18 -18
- package/dist/{agent-CQlyTNu-.js → agent-DOOj3Gzb.js} +1 -1
- package/dist/{agent-scope-DOrZjOnW.js → agent-scope-Bnsyyeci.js} +18 -18
- package/dist/{agents-1xmRO246.js → agents-BBQfFoen.js} +2 -2
- package/dist/{agents.config-BJ9RIQlb.js → agents.config-Dm3oLpYK.js} +1 -1
- package/dist/{audit-DCwHws4M.js → audit-BSX7fMfc.js} +20 -20
- package/dist/{auth-choice-Ryx7oj6G.js → auth-choice-BYbTjWcs.js} +1 -1
- package/dist/{auth-choice-DwXdS4c2.js → auth-choice-rhBmet5i.js} +11 -11
- package/dist/{auth-profiles-Ce7R_25e.js → auth-profiles-D5nYBj_Z.js} +2 -2
- package/dist/{auth-token-DgRRSbEX.js → auth-token-CAV1oLQG.js} +3 -3
- package/dist/{banner-CxMQaUgh.js → banner-C1qG5Rm9.js} +1 -1
- package/dist/{browser-cli-C3hfJNZy.js → browser-cli-De8jg4-F.js} +9 -9
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +4 -4
- package/dist/bundled/session-memory/handler.js +4 -4
- package/dist/{call-BouPakqe.js → call-CW8U1BPq.js} +9 -9
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-n9C_ovb1.js → channel-options-BsXUgCMq.js} +1 -1
- package/dist/{channel-options-WR29vfWK.js → channel-options-CJD7jwYg.js} +1 -1
- package/dist/{channels-cli-DbFGI3vF.js → channels-cli-Bao4VNbH.js} +57 -57
- package/dist/{channels-cli-Cs-Uq67O.js → channels-cli-Dxn5n9e4.js} +7 -7
- package/dist/{chrome-B7-rO4i9.js → chrome-BKUACyeO.js} +7 -7
- package/dist/{chrome-C_I81hbq.js → chrome-DPjznJQ-.js} +7 -7
- package/dist/{chrome-rzK8edU7.js → chrome-pFBxO63W.js} +2 -2
- package/dist/{cli-D55pCJ8Q.js → cli-CrhLSz3t.js} +4 -4
- package/dist/{cli-7ceDvtPc.js → cli-WP38F9C5.js} +45 -45
- package/dist/{client-BzUAFrla.js → client-T5P9umyG.js} +1 -1
- package/dist/{command-registry-DAy62yhH.js → command-registry-DoXcG7FZ.js} +10 -10
- package/dist/{commands-registry-VfAQOVZO.js → commands-registry-BjcGLk4v.js} +1 -1
- package/dist/{completion-cli-Bc1jojml.js → completion-cli-C0SXi7ya.js} +12 -12
- package/dist/{completion-cli-Bh-Y2NVp.js → completion-cli-DaWi3_ux.js} +2 -2
- package/dist/{config-D7SS4vdk.js → config-D-PYSlE8.js} +2 -2
- package/dist/{config-cli-DupKETmw.js → config-cli-DS67KtKf.js} +4 -4
- package/dist/{config-cli-BxRcn2oD.js → config-cli-DXKm0pS5.js} +1 -1
- package/dist/{config-guard-BGAQzX2K.js → config-guard-xLTTFANi.js} +6 -6
- package/dist/{config-validation-COcIIMNe.js → config-validation-C4wGq3rz.js} +1 -1
- package/dist/{configure-0XYm59w7.js → configure-B99YJJb0.js} +14 -14
- package/dist/{configure-BilM_Fgn.js → configure-CzO4_jJJ.js} +2 -2
- package/dist/{consolidate-DI20-Wtn.js → consolidate-BB4BOQIN.js} +6 -6
- package/dist/{control-service-Ry7Le68N.js → control-service-y53w3Jzy.js} +4 -4
- package/dist/{control-ui-assets-DuDhl0co.js → control-ui-assets-Dryy7mCE.js} +1 -1
- package/dist/{cron-cli-DHFgjr_X.js → cron-cli-BMblAFRK.js} +7 -7
- package/dist/{daemon-cli-fC2R9YZd.js → daemon-cli-BJGNf5qV.js} +11 -11
- package/dist/{daemon-runtime-tZgIbDPz.js → daemon-runtime-u4p9jsEF.js} +10 -10
- package/dist/{deliver-DB4v0Tyl.js → deliver-C79-Umbk.js} +2 -2
- package/dist/{deliver-oWGJwzFf.js → deliver-Cjyb6h4g.js} +4 -4
- package/dist/{deliver-DyO3QD8O.js → deliver-DTRkeYm3.js} +4 -4
- package/dist/{deps-BlmO-MfQ.js → deps-UA1UBhl7.js} +1 -1
- package/dist/{devices-cli-DtkKN4l0.js → devices-cli-wsTs-nti.js} +6 -6
- package/dist/{diagnostics-tVJR9V0_.js → diagnostics-oW0LBW-t.js} +5 -5
- package/dist/{directory-cli-Bfy_ejW2.js → directory-cli-D8As6t8Z.js} +3 -3
- package/dist/{dm-policy-shared-CBlUyDSX.js → dm-policy-shared-DRJrFKqJ.js} +1 -1
- package/dist/{dns-cli-DzKaV6NZ.js → dns-cli-BKOTBn3n.js} +3 -3
- package/dist/{docs-cli-a90_8wuN.js → docs-cli-D5j7Nmz2.js} +1 -1
- package/dist/{doctor-completion-BZJWX3Dr.js → doctor-completion-B1YCzbvi.js} +1 -1
- package/dist/{doctor-completion-B6OPl_GZ.js → doctor-completion-mev5PRjN.js} +2 -2
- package/dist/{doctor-config-flow-30ZEvATb.js → doctor-config-flow-Uv41seME.js} +9 -9
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-C3gZAwV8.js → exec-approvals-cli-B4ry9s5r.js} +13 -13
- package/dist/extensionAPI.js +4 -4
- package/dist/{file-lock-BVUYnlQv.js → file-lock-2AecMjCa.js} +8 -8
- package/dist/{fs-safe-BdejYjW8.js → fs-safe-B0Is-oLk.js} +6 -6
- package/dist/{gateway-cli-CyhLb-zS.js → gateway-cli-B3JVj_dv.js} +98 -98
- package/dist/{gateway-cli-DQhYa6AL.js → gateway-cli-Chnp6icp.js} +10 -10
- package/dist/{gateway-rpc-DNq7EMhm.js → gateway-rpc-CLzM6ugo.js} +1 -1
- package/dist/{glass-ui-ws-SJVljtUx.js → glass-ui-ws--GjxFRyX.js} +67 -67
- package/dist/{glass-ui-ws-CLDbMDPk.js → glass-ui-ws-5o8dvEZO.js} +8 -8
- package/dist/{health-DZ0aipDZ.js → health-D2th0Ip6.js} +4 -4
- package/dist/{hooks-cli-BMRj13QU.js → hooks-cli-B4Nvp9AV.js} +59 -59
- package/dist/{hooks-cli-BVtdP5x7.js → hooks-cli-B_sZth4r.js} +5 -5
- package/dist/{image-ops-L70xVnpG.js → image-ops-BzCBIakN.js} +10 -10
- package/dist/index.js +52 -52
- package/dist/{inspect-CXsOujVt.js → inspect-U3g9owQ8.js} +4 -4
- package/dist/{install-safe-path-D5gi-nfu.js → install-safe-path-BwMMOh9z.js} +11 -11
- package/dist/{installs-DF_LhGX6.js → installs-vdi1BESF.js} +10 -10
- package/dist/{internal-DVCddhhN.js → internal-csqU78gW.js} +9 -9
- package/dist/{lifecycle-core-Bvdl2ShM.js → lifecycle-core-BfmNlC-k.js} +5 -5
- package/dist/llm-slug-generator.js +4 -4
- package/dist/{local-roots-CgDCgCuM.js → local-roots-2Jb79HZ8.js} +1 -1
- package/dist/{logs-cli-mdSEYBKS.js → logs-cli-COZzdFu6.js} +7 -7
- package/dist/{manager-BhIaahpm.js → manager-BfbQb9qM.js} +1 -1
- package/dist/{manager-DhHNnMyK.js → manager-Bryhc0Ip.js} +1 -1
- package/dist/{manager-BIt2_nlu.js → manager-C5FGNRjL.js} +1 -1
- package/dist/{manager-BLg6zbeA.js → manager-DyYRwHZt.js} +15 -15
- package/dist/{memory-BENbCb4f.js → memory-Cypj1lBQ.js} +2 -2
- package/dist/{memory-B4DsKRSc.js → memory-DgDnTEcB.js} +5 -5
- package/dist/{memory-cli-DotHyA76.js → memory-cli-CfJkD7mO.js} +12 -12
- package/dist/{memory-cli-BIjwqjBx.js → memory-cli-DB7UIev4.js} +2 -2
- package/dist/{model-DsMHOvMn.js → model-DbILYCfo.js} +1 -1
- package/dist/{model-auth-1EAQvYRv.js → model-auth-_C07_3Yr.js} +2 -2
- package/dist/{model-catalog-DQTmHZK7.js → model-catalog-CeqDEWGz.js} +3 -3
- package/dist/{model-picker-D4TY_tPx.js → model-picker-C_f6MALt.js} +5 -5
- package/dist/{model-selection-7wdmO-Iw.js → model-selection-CCTzD29o.js} +1 -1
- package/dist/{models-CmToZKBp.js → models-Bpqeds64.js} +2 -2
- package/dist/{models-cli-CZgkOUZB.js → models-cli-BUWfj5iJ.js} +55 -55
- package/dist/{models-cli-Di7iKhD4.js → models-cli-Bc47WFhD.js} +6 -6
- package/dist/{models-config-CRnTzdFs.js → models-config-Dp5-tBqs.js} +8 -8
- package/dist/{node-cli-BXv9SEDG.js → node-cli-BdjmGI32.js} +27 -27
- package/dist/{node-service-CrDVFWQl.js → node-service-DphkTjBV.js} +1 -1
- package/dist/{nodes-cli-Cim3ANNU.js → nodes-cli-BChJzcKY.js} +10 -10
- package/dist/{nodes-screen-De9ma6e1.js → nodes-screen-Cp5QP3ET.js} +4 -4
- package/dist/{npm-registry-spec-YMWTMnm_.js → npm-registry-spec-CqVgiBCf.js} +9 -9
- package/dist/{onboard-BXI02b3e.js → onboard-BbfERyKU.js} +1 -1
- package/dist/{onboard-CuLvp4Ds.js → onboard-C0nMMiiS.js} +15 -15
- package/dist/{onboard-channels-A6_QP7MR.js → onboard-channels-CMp9YXHC.js} +1 -1
- package/dist/{onboard-channels-E5NIYGJz.js → onboard-channels-CmsfVut5.js} +4 -4
- package/dist/{onboard-custom-BrtjWDlX.js → onboard-custom-BfHczxx0.js} +3 -3
- package/dist/{onboard-helpers---sZ9pdZ.js → onboard-helpers-OB_xKQze.js} +8 -8
- package/dist/{onboard-hooks-CtIRdncr.js → onboard-hooks-BA22KYCG.js} +1 -1
- package/dist/{onboard-remote-BUB3VPBP.js → onboard-remote-Dv2Uz8Ru.js} +1 -1
- package/dist/{onboard-skills-Cs3BZ4VJ.js → onboard-skills-BzxofI4T.js} +3 -3
- package/dist/{onboarding-BeYl1Egj.js → onboarding-DoYMfCjS.js} +3 -3
- package/dist/{onboarding-BWMBA6cP.js → onboarding-vgZFhH5N.js} +12 -12
- package/dist/{onboarding.finalize-CH8dBgA2.js → onboarding.finalize-BYHDzz2i.js} +31 -31
- package/dist/{onboarding.finalize-Bk-XW8b3.js → onboarding.finalize-Dj0xG8pk.js} +4 -4
- package/dist/{onboarding.gateway-config-arRNxrI9.js → onboarding.gateway-config-CDRLfIZM.js} +8 -8
- package/dist/{openai-model-default-XudD4Xik.js → openai-model-default-Dl21Ivjc.js} +2 -2
- package/dist/{pairing-cli-NDavTm1_.js → pairing-cli-C2_Zobhz.js} +5 -5
- package/dist/{pairing-store-BNhJOnWn.js → pairing-store-Be-ZQK87.js} +1 -1
- package/dist/{pairing-token-Dcy37-4s.js → pairing-token-B703A1U3.js} +7 -7
- package/dist/{paths-DObzwe08.js → paths-BWqg8NZT.js} +1 -1
- package/dist/{pi-auth-json-Db8XJVGL.js → pi-auth-json-D-vdh-nY.js} +6 -6
- package/dist/{pi-embedded-0I7WdtRz.js → pi-embedded-C7mJzGIf.js} +59 -13
- package/dist/{pi-embedded-helpers-B5cWV7_y.js → pi-embedded-helpers-y3vJmW6T.js} +6 -6
- package/dist/{pi-tools.policy-BdGVEMZn.js → pi-tools.policy-ji-L-Mpv.js} +3 -3
- package/dist/{plugin-auto-enable-B_lNp6yM.js → plugin-auto-enable-Ctbn2w4Q.js} +1 -1
- package/dist/{plugin-registry-DovNSdK0.js → plugin-registry-D2ZbwBU_.js} +3 -3
- package/dist/{plugin-registry-CAdIrLmG.js → plugin-registry-pKaJ4ltN.js} +1 -1
- package/dist/plugin-sdk/agents/pi-tools.types.d.ts +1 -2
- package/dist/plugin-sdk/agents/tools/availability-filter.d.ts +10 -0
- package/dist/plugin-sdk/agents/tools/common.d.ts +30 -0
- package/dist/{plugins-cli-ZG4PxNTC.js → plugins-cli-CoHiV4BX.js} +54 -54
- package/dist/{plugins-cli-JzKO-vmR.js → plugins-cli-uo8lcB7v.js} +5 -5
- package/dist/{ports-gxLM5ahL.js → ports-CB_Iu83U.js} +2 -2
- package/dist/{ports-C3ZSkRGq.js → ports-ukrEAkOP.js} +1 -1
- package/dist/{program-context-ByiEP1Lk.js → program-context-B1ZbQmLL.js} +38 -38
- package/dist/{program-BbfU4idg.js → program-rzYjZKRz.js} +10 -10
- package/dist/{prompt-select-styled-DvrG_zWV.js → prompt-select-styled-CX0v66wx.js} +38 -38
- package/dist/{prompt-select-styled-CWH2Mcrb.js → prompt-select-styled-F6P-rvFI.js} +4 -4
- package/dist/{provider-auth-helpers-CMQexdSl.js → provider-auth-helpers-Ck98bkHV.js} +1 -1
- package/dist/{provider-auth-helpers-2x7YxT5F.js → provider-auth-helpers-_jn9PngO.js} +6 -6
- package/dist/{push-apns-CtWwPxRj.js → push-apns-BtMtpzEm.js} +1 -1
- package/dist/{push-apns-eGdGU3r7.js → push-apns-CmeoBcIQ.js} +4 -4
- package/dist/{pw-ai-BOOB8qoi.js → pw-ai-BFS9ezWe.js} +1 -1
- package/dist/{pw-ai-tgngV3iZ.js → pw-ai-CQJsGI1b.js} +7 -7
- package/dist/{pw-ai-Cx-Ko_FL.js → pw-ai-D2pEVS5n.js} +1 -1
- package/dist/{qmd-manager-qV_04VKG.js → qmd-manager-DawTY2mB.js} +19 -19
- package/dist/{qr-cli-Vo1XL6B2.js → qr-cli-DKowtQcM.js} +3 -3
- package/dist/{register.agent-Dwkya1rv.js → register.agent-0hWBZXD7.js} +67 -67
- package/dist/{register.agent-DZE9NBNx.js → register.agent-_UqSBmt5.js} +9 -9
- package/dist/{register.configure-DCpbCHR0.js → register.configure-CgQ6sqtQ.js} +70 -70
- package/dist/{register.configure-CD8WkXo8.js → register.configure-KrTtvKSp.js} +8 -8
- package/dist/{register.maintenance-CxVeo_7j.js → register.maintenance-DDSfzFoo.js} +9 -9
- package/dist/{register.maintenance-Bqjj77CZ.js → register.maintenance-DjZeknO6.js} +67 -67
- package/dist/{register.message-tcJN7-E3.js → register.message-DSwwDcGi.js} +5 -5
- package/dist/{register.message-uhAmNxoO.js → register.message-DTZJ5OiL.js} +47 -47
- package/dist/{register.onboard-F6d_Wrv1.js → register.onboard-B8k5phG7.js} +25 -25
- package/dist/{register.onboard-Rm5t0yxX.js → register.onboard-BToIZTIS.js} +2 -2
- package/dist/{register.setup-CcHxpsUT.js → register.setup-1fexz2oW.js} +28 -28
- package/dist/{register.setup-C2datfZK.js → register.setup-BdUewOo1.js} +2 -2
- package/dist/{register.status-health-sessions-DIUDRMqm.js → register.status-health-sessions-0RyA2cXf.js} +41 -41
- package/dist/{register.status-health-sessions-DFVjS9Hy.js → register.status-health-sessions-eBaeXIvo.js} +3 -3
- package/dist/{register.subclis-D9uGnVGm.js → register.subclis-tX3BslaT.js} +9 -9
- package/dist/{replies-DzsYQ8Md.js → replies-D3cffD5N.js} +1 -1
- package/dist/{reply-prefix-BFNeXT65.js → reply-prefix-CtZtkTJK.js} +1 -1
- package/dist/{resolve-route-Zww0Y-HJ.js → resolve-route-B0i_o4Fo.js} +1 -1
- package/dist/{routes-C-rIjd8Z.js → routes-zpAUwtCG.js} +10 -10
- package/dist/{rpc-BkFkeuJ6.js → rpc-DhsDKVo-.js} +1 -1
- package/dist/{run-main-HkbyvIDy.js → run-main-DIl_Kl0B.js} +17 -17
- package/dist/{sandbox-Dx8IMw-E.js → sandbox-DQCaejcD.js} +18 -18
- package/dist/{sandbox-cli-BFkLKdlk.js → sandbox-cli-CbvyZs1z.js} +13 -13
- package/dist/{security-cli-BEpQ_rO1.js → security-cli-CbJxNYZx.js} +29 -29
- package/dist/{send-Cxu1tl56.js → send-QscYkkNh.js} +7 -7
- package/dist/{server-context--mmXXEkE.js → server-context-CXVq7gZ7.js} +5 -5
- package/dist/{server-methods-DJ8eiTu1.js → server-methods-CpFBGxWI.js} +6 -6
- package/dist/{server-methods-RtjWUhkv.js → server-methods-DPxjPGr0.js} +58 -58
- package/dist/{server-node-events-CT8fFtBQ.js → server-node-events-2SUW10k3.js} +6 -6
- package/dist/{server-node-events-DQ1iCUgY.js → server-node-events-B_BPbi7z.js} +48 -48
- package/dist/{service-CyEDtYLq.js → service-Cm4-5AH9.js} +15 -15
- package/dist/{session-dirs-CXErIzZq.js → session-dirs-BypCYFN3.js} +2 -2
- package/dist/{session-utils-BZnPW904.js → session-utils-lXjJoBxe.js} +14 -14
- package/dist/{sessions-optZRB57.js → sessions-aSo5jsmg.js} +10 -10
- package/dist/{shared-DJFwvlUi.js → shared-BI-gOZsD.js} +3 -3
- package/dist/{shared-Ctok0Bcs.js → shared-DDX_4ypC.js} +1 -1
- package/dist/{skill-commands-yPirQFOb.js → skill-commands-C9WuAfb2.js} +4 -4
- package/dist/{skill-scanner-BBwesm0w.js → skill-scanner-CFqMkfZW.js} +5 -5
- package/dist/{skills-BwDmcZdt.js → skills-CYcBtLGH.js} +4 -4
- package/dist/{skills-cli-gC5ETdly.js → skills-cli-BgyaAQoj.js} +7 -7
- package/dist/{skills-install-CLN_Ks5r.js → skills-install-MGsx6q5Z.js} +3 -3
- package/dist/{skills-remote-bz71Bstn.js → skills-remote-BcRQTDsZ.js} +3 -3
- package/dist/{skills-status-iltfI_bO.js → skills-status-CbSdFlvm.js} +1 -1
- package/dist/{sqlite-Cod7C5ba.js → sqlite-BpogPlQW.js} +5 -5
- package/dist/{status-Cpz64Vy_.js → status-BVYDUlnp.js} +1 -1
- package/dist/{status-CuMBp54T.js → status-C-r9JpJf.js} +23 -23
- package/dist/{status-EAjzyREy.js → status-DIJvpgEm.js} +3 -3
- package/dist/{status-CoqGtHXq.js → status-DbNNmkNB.js} +1 -1
- package/dist/{status.update-F4CbQCxF.js → status.update-EyslEZkn.js} +3 -3
- package/dist/{subagent-registry-Dkif1XYO.js → subagent-registry-DWemyjbN.js} +52 -6
- package/dist/{symi-root-BQ0IpoW2.js → symi-root-DeCVdZB4.js} +2 -2
- package/dist/{synthesis-D3fpp3Vu.js → synthesis-BdTiornP.js} +4 -4
- package/dist/{synthesis-CpsURf9J.js → synthesis-BxYzOZUA.js} +4 -4
- package/dist/{synthesis-CKKZrrYd.js → synthesis-C7RlvHEs.js} +45 -45
- package/dist/{synthesis-B0PXRiiM.js → synthesis-DQ7Y6OE0.js} +4 -4
- package/dist/{system-cli-DMKzffe3.js → system-cli-DgOvK_kU.js} +7 -7
- package/dist/{systemd-DRpQb_L1.js → systemd-B2nTr3Y2.js} +5 -5
- package/dist/{systemd-hints-DR4u43WA.js → systemd-hints-DtOWJT_2.js} +6 -6
- package/dist/{systemd-linger-BQQl5RXN.js → systemd-linger-CWi5l8Nt.js} +1 -1
- package/dist/{tui-CqrM_Fj2.js → tui-D7ms_iQ4.js} +7 -7
- package/dist/{tui-cli-BsqRmqTX.js → tui-cli-DNvAqIYN.js} +19 -19
- package/dist/{unified-runner-DZAjU6aB.js → unified-runner-BIUJm_Iv.js} +150 -104
- package/dist/{unified-runner-DkPztkL8.js → unified-runner-DPWNhQQA.js} +59 -13
- package/dist/{update-check-CxBGAP1E.js → update-check-CduiCxPo.js} +5 -5
- package/dist/{update-cli-Bgk30eoA.js → update-cli-BM-A3cIZ.js} +9 -9
- package/dist/{update-cli-t7W6vcQY.js → update-cli-GKXF83cS.js} +77 -77
- package/dist/{update-CWEjB8uS.js → update-pddgyV7i.js} +3 -3
- package/dist/{update-runner-C4Uy75eP.js → update-runner-BMYqz1dl.js} +15 -15
- package/dist/{webhooks-cli-Dp-pp0Sf.js → webhooks-cli-BPPmnDCj.js} +4 -4
- package/dist/{with-timeout-B5zAsivw.js → with-timeout-D1qzvPE0.js} +1 -1
- package/dist/{workspace-dirs-jKFQf7of.js → workspace-dirs-DCICLTHx.js} +1 -1
- package/dist/{wsl-DMA0sTvh.js → wsl-Sed675xh.js} +2 -2
- package/package.json +1 -1
package/dist/{onboarding.gateway-config-arRNxrI9.js → onboarding.gateway-config-CDRLfIZM.js}
RENAMED
|
@@ -3,24 +3,24 @@ import "./paths-By0XjHBk.js";
|
|
|
3
3
|
import "./utils-CTPsqyE_.js";
|
|
4
4
|
import "./subsystem-CHbO_DkH.js";
|
|
5
5
|
import "./exec-DuYbft0z.js";
|
|
6
|
-
import "./agent-scope-
|
|
7
|
-
import "./model-selection-
|
|
8
|
-
import "./config-
|
|
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 { a as findTailscaleBinary } from "./tailscale-DpKBMIvx.js";
|
|
14
|
-
import "./sessions-
|
|
14
|
+
import "./sessions-aSo5jsmg.js";
|
|
15
15
|
import "./dock-hF45sewN.js";
|
|
16
16
|
import "./message-channel-DgjXWzf-.js";
|
|
17
17
|
import "./plugins-CF5skkHh.js";
|
|
18
18
|
import "./paths-BtvQ7JvU.js";
|
|
19
|
-
import "./client-
|
|
20
|
-
import "./call-
|
|
21
|
-
import "./pairing-token-
|
|
19
|
+
import "./client-T5P9umyG.js";
|
|
20
|
+
import "./call-CW8U1BPq.js";
|
|
21
|
+
import "./pairing-token-B703A1U3.js";
|
|
22
22
|
import "./prompt-style-BEDZROvQ.js";
|
|
23
|
-
import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers
|
|
23
|
+
import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-OB_xKQze.js";
|
|
24
24
|
import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-Coaw2jro.js";
|
|
25
25
|
|
|
26
26
|
//#region src/wizard/onboarding.gateway-config.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as escapeRegExp, p as resolveConfigDir } from "./utils-CTPsqyE_.js";
|
|
2
|
-
import { p as resolveAllowlistModelKey, w as DEFAULT_PROVIDER } from "./model-selection-
|
|
2
|
+
import { p as resolveAllowlistModelKey, w as DEFAULT_PROVIDER } from "./model-selection-CCTzD29o.js";
|
|
3
3
|
import { n as fetchWithTimeout } from "./fetch-timeout-BhdrdVp5.js";
|
|
4
|
-
import { St as ZAI_GLOBAL_BASE_URL, bt as ZAI_CODING_CN_BASE_URL, xt as ZAI_CODING_GLOBAL_BASE_URL, yt as ZAI_CN_BASE_URL } from "./auth-token-
|
|
4
|
+
import { St as ZAI_GLOBAL_BASE_URL, bt as ZAI_CODING_CN_BASE_URL, xt as ZAI_CODING_GLOBAL_BASE_URL, yt as ZAI_CN_BASE_URL } from "./auth-token-CAV1oLQG.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import fs from "node:fs";
|
|
7
7
|
|
|
@@ -4,16 +4,16 @@ import "./utils-CTPsqyE_.js";
|
|
|
4
4
|
import { f as defaultRuntime } from "./subsystem-CHbO_DkH.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
|
|
6
6
|
import "./exec-DuYbft0z.js";
|
|
7
|
-
import "./agent-scope-
|
|
8
|
-
import "./model-selection-
|
|
9
|
-
import "./file-lock-
|
|
10
|
-
import { i as loadConfig } from "./config-
|
|
7
|
+
import "./agent-scope-Bnsyyeci.js";
|
|
8
|
+
import "./model-selection-CCTzD29o.js";
|
|
9
|
+
import "./file-lock-2AecMjCa.js";
|
|
10
|
+
import { i as loadConfig } from "./config-D-PYSlE8.js";
|
|
11
11
|
import "./boolean-CbZoNRMn.js";
|
|
12
12
|
import "./env-BRnPI9sO.js";
|
|
13
13
|
import "./shell-env-Dc3iU7HK.js";
|
|
14
14
|
import "./manifest-registry-D1MLZEjS.js";
|
|
15
15
|
import { r as normalizeChannelId } from "./plugins-CF5skkHh.js";
|
|
16
|
-
import { c as listPairingChannels, l as notifyPairingApproved, n as approveChannelPairingCode, r as listChannelPairingRequests, s as getPairingAdapter } from "./pairing-store-
|
|
16
|
+
import { c as listPairingChannels, l as notifyPairingApproved, n as approveChannelPairingCode, r as listChannelPairingRequests, s as getPairingAdapter } from "./pairing-store-Be-ZQK87.js";
|
|
17
17
|
import { t as formatDocsLink } from "./links-TQwptN6q.js";
|
|
18
18
|
import { t as renderTable } from "./table-D902H0x3.js";
|
|
19
19
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { _ as resolveStateDir, b as resolveRequiredHomeDir, h as resolveOAuthDir } from "./paths-By0XjHBk.js";
|
|
2
2
|
import { g as safeParseJson } from "./utils-CTPsqyE_.js";
|
|
3
|
-
import { t as withFileLock$1 } from "./file-lock-
|
|
3
|
+
import { t as withFileLock$1 } from "./file-lock-2AecMjCa.js";
|
|
4
4
|
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CF5skkHh.js";
|
|
5
5
|
import crypto from "node:crypto";
|
|
6
6
|
import path from "node:path";
|
|
@@ -2,12 +2,12 @@ import { _ as resolveStateDir } from "./paths-By0XjHBk.js";
|
|
|
2
2
|
import { t as safeEqualSecret } from "./secret-equal-CbntzRkh.js";
|
|
3
3
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import
|
|
5
|
+
import fsPromises from "node:fs/promises";
|
|
6
6
|
|
|
7
7
|
//#region src/infra/json-files.ts
|
|
8
8
|
async function readJsonFile(filePath) {
|
|
9
9
|
try {
|
|
10
|
-
const raw = await
|
|
10
|
+
const raw = await fsPromises.readFile(filePath, "utf8");
|
|
11
11
|
return JSON.parse(raw);
|
|
12
12
|
} catch {
|
|
13
13
|
return null;
|
|
@@ -16,15 +16,15 @@ async function readJsonFile(filePath) {
|
|
|
16
16
|
async function writeJsonAtomic(filePath, value, options) {
|
|
17
17
|
const mode = options?.mode ?? 384;
|
|
18
18
|
const dir = path.dirname(filePath);
|
|
19
|
-
await
|
|
19
|
+
await fsPromises.mkdir(dir, { recursive: true });
|
|
20
20
|
const tmp = `${filePath}.${randomUUID()}.tmp`;
|
|
21
|
-
await
|
|
21
|
+
await fsPromises.writeFile(tmp, JSON.stringify(value, null, 2), "utf8");
|
|
22
22
|
try {
|
|
23
|
-
await
|
|
23
|
+
await fsPromises.chmod(tmp, mode);
|
|
24
24
|
} catch {}
|
|
25
|
-
await
|
|
25
|
+
await fsPromises.rename(tmp, filePath);
|
|
26
26
|
try {
|
|
27
|
-
await
|
|
27
|
+
await fsPromises.chmod(filePath, mode);
|
|
28
28
|
} catch {}
|
|
29
29
|
}
|
|
30
30
|
function createAsyncLock() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { B as resolvePreferredSymiTmpDir } from "./registry-Sbac4a4z.js";
|
|
2
|
-
import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-
|
|
2
|
+
import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-B0Is-oLk.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
|
|
5
5
|
//#region src/browser/paths.ts
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { b as ensureAuthProfileStore } from "./auth-profiles-
|
|
3
|
-
import { u as normalizeProviderId } from "./model-selection-
|
|
2
|
+
import { b as ensureAuthProfileStore } from "./auth-profiles-D5nYBj_Z.js";
|
|
3
|
+
import { u as normalizeProviderId } from "./model-selection-CCTzD29o.js";
|
|
4
4
|
import { t as normalizeOptionalSecretInput } from "./normalize-secret-input-DjGU5EXe.js";
|
|
5
5
|
import path from "node:path";
|
|
6
|
-
import
|
|
6
|
+
import fsPromises from "node:fs/promises";
|
|
7
7
|
|
|
8
8
|
//#region src/agents/pi-auth-json.ts
|
|
9
9
|
var pi_auth_json_exports = /* @__PURE__ */ __exportAll({ ensurePiAuthJsonFromAuthProfiles: () => ensurePiAuthJsonFromAuthProfiles });
|
|
10
10
|
async function readAuthJson(filePath) {
|
|
11
11
|
try {
|
|
12
|
-
const raw = await
|
|
12
|
+
const raw = await fsPromises.readFile(filePath, "utf8");
|
|
13
13
|
const parsed = JSON.parse(raw);
|
|
14
14
|
if (!parsed || typeof parsed !== "object") return {};
|
|
15
15
|
return parsed;
|
|
@@ -120,11 +120,11 @@ async function ensurePiAuthJsonFromAuthProfiles(agentDir, options) {
|
|
|
120
120
|
wrote: false,
|
|
121
121
|
authPath
|
|
122
122
|
};
|
|
123
|
-
await
|
|
123
|
+
await fsPromises.mkdir(agentDir, {
|
|
124
124
|
recursive: true,
|
|
125
125
|
mode: 448
|
|
126
126
|
});
|
|
127
|
-
await
|
|
127
|
+
await fsPromises.writeFile(authPath, `${JSON.stringify(existing, null, 2)}\n`, { mode: 384 });
|
|
128
128
|
return {
|
|
129
129
|
wrote: true,
|
|
130
130
|
authPath
|
|
@@ -9,7 +9,7 @@ import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as reso
|
|
|
9
9
|
import { t as normalizeChatType } from "./chat-type-Acj2OK2p.js";
|
|
10
10
|
import { i as resolveSlackAccount, n as listChannelPlugins, o as resolveSlackAppToken, r as normalizeChannelId$1, s as resolveSlackBotToken, t as getChannelPlugin } from "./plugins-CZ_mYwXq.js";
|
|
11
11
|
import { S as resolveSlackChannelId, _ as resolveSlackWebClientOptions, a as sendMessageSlack, b as buildSlackBlocksFallbackText, c as getDefaultLocalRoots, d as fetchRemoteMedia, f as readResponseWithLimit, g as createSlackWebClient, h as fetchWithTimeout, i as resolveSlackThreadTs, l as loadWebMedia, m as bindAbortRelay, n as deliverReplies, o as renderMarkdownWithMarkers, p as fetchWithSsrFGuard, s as markdownToIRWithMeta, t as createSlackReplyDeliveryPlan, u as MediaFetchError, v as parseSlackBlocksInput, x as parseSlackTarget, y as validateSlackBlocksArray } from "./replies-BYF1gbJf.js";
|
|
12
|
-
import { $ as loadSessionStore, $t as resolveToolProfilePolicy, A as formatRawAssistantErrorForUi, At as resolveMainSessionKey, B as isRateLimitAssistantError, Bt as saveMediaBuffer, C as downgradeOpenAIReasoningBlocks, Ct as resolveChannelResetConfig, D as classifyFailoverReason, Dt as DEFAULT_RESET_TRIGGERS, E as BILLING_ERROR_USER_MESSAGE, Et as resolveThreadFlag, F as isCompactionFailureError, Ft as createBrowserRouteContext, G as parseImageSizeError, Gt as resolveBrowserControlAuth, H as isTimeoutErrorMessage, Ht as resolveExistingPathsWithinRoot, I as isContextOverflowError, It as registerBrowserRoutes, J as resolveSandboxContext, Jt as collectExplicitAllowlist, K as sanitizeUserFacingText, Kt as applyOwnerOnlyToolPolicy, L as isFailoverAssistantError, Lt as resolveBrowserConfig, M as isAuthAssistantError, Mt as resolveGroupSessionKey, N as isBillingAssistantError, Nt as acquireSessionWriteLock, O as formatAssistantErrorText, Ot as resolveFreshSessionTotalTokens, P as isCloudCodeAssistFormatError, Pt as resolveSessionLockMaxHoldFromTimeout, Q as resolveAndPersistSessionFile, Qt as normalizeToolName$1, R as isFailoverErrorMessage, Rt as resolveProfile, S as extractToolResultId, St as evaluateSessionFreshness, T as isGoogleModelApi, Tt as resolveSessionResetType, U as isTransientHttpError, Ut as getBridgeAuthForPort, V as isRawApiErrorPayload, Vt as DEFAULT_UPLOAD_DIR, W as parseImageDimensionError, Wt as ensureBrowserControlAuth, X as extractDeliveryInfo, Xt as expandToolGroups, Y as resolveSandboxRuntimeStatus, Yt as expandPolicyWithPluginGroups, Z as appendAssistantMessageToSessionTranscript, Zt as mergeAlsoAllowPolicy, _ as sanitizeSessionMessagesImages, _t as INPUT_PROVENANCE_KIND_VALUES, a as normalizeChannelTargetInput, an as resolveBootstrapMaxChars, at as updateSessionStoreEntry, b as resolveImageSanitizationLimits, bt as normalizeInputProvenance, c as parseReplyDirectives, cn as getGlobalHookRunner, ct as deliveryContextFromSession, d as parseInlineDirectives$1, dt as normalizeDeliveryContext, en as stripPluginOnlyAllowlist, et as readSessionUpdatedAt, f as validateAnthropicTurns, ft as normalizeSessionDeliveryFields, g as normalizeTextForComparison, gt as extractToolCallNames, h as isMessagingToolDuplicateNormalized, ht as countToolResults, i as buildTargetResolverSignature, in as ensureSessionHeader, it as updateSessionStore, j as getApiErrorPayloadFingerprint, jt as deriveSessionMetaPatch, k as formatBillingErrorMessage, kt as canonicalizeMainSessionAlias, l as MEDIA_TOKEN_RE, ln as initializeGlobalHookRunner, lt as deliveryContextKey, m as pickFallbackThinkingLevel, mt as capArrayByJsonBytes, nn as matchesAnyGlobPattern, o as normalizeTargetForProvider, on as resolveBootstrapTotalMaxChars, ot as isCacheEnabled, p as validateGeminiTurns, pt as archiveSessionTranscripts, q as ensureSandboxWorkspaceForSession, qt as buildPluginToolGroups, r as normalizeReplyPayloadsForDelivery, rn as buildBootstrapContextFiles, rt as updateLastRoute, s as throwIfAborted, sn as sanitizeGoogleTurnOrdering, st as resolveCacheTtlMs$1, t as deliverOutboundPayloads, tn as compileGlobPatterns, tt as recordSessionMetaFromInbound, u as splitMediaFromOutput, ut as mergeDeliveryContext, v as sanitizeImageBlocks, vt as applyInputProvenanceToUserMessage, w as isAntigravityClaude, wt as resolveSessionResetPolicy, x as extractToolCallsFromAssistant, xt as resolveSessionKey, y as sanitizeToolResultImages, yt as hasInterSessionUserProvenance, z as isLikelyContextOverflowError, zt as getMediaDir } from "./deliver-
|
|
12
|
+
import { $ as loadSessionStore, $t as resolveToolProfilePolicy, A as formatRawAssistantErrorForUi, At as resolveMainSessionKey, B as isRateLimitAssistantError, Bt as saveMediaBuffer, C as downgradeOpenAIReasoningBlocks, Ct as resolveChannelResetConfig, D as classifyFailoverReason, Dt as DEFAULT_RESET_TRIGGERS, E as BILLING_ERROR_USER_MESSAGE, Et as resolveThreadFlag, F as isCompactionFailureError, Ft as createBrowserRouteContext, G as parseImageSizeError, Gt as resolveBrowserControlAuth, H as isTimeoutErrorMessage, Ht as resolveExistingPathsWithinRoot, I as isContextOverflowError, It as registerBrowserRoutes, J as resolveSandboxContext, Jt as collectExplicitAllowlist, K as sanitizeUserFacingText, Kt as applyOwnerOnlyToolPolicy, L as isFailoverAssistantError, Lt as resolveBrowserConfig, M as isAuthAssistantError, Mt as resolveGroupSessionKey, N as isBillingAssistantError, Nt as acquireSessionWriteLock, O as formatAssistantErrorText, Ot as resolveFreshSessionTotalTokens, P as isCloudCodeAssistFormatError, Pt as resolveSessionLockMaxHoldFromTimeout, Q as resolveAndPersistSessionFile, Qt as normalizeToolName$1, R as isFailoverErrorMessage, Rt as resolveProfile, S as extractToolResultId, St as evaluateSessionFreshness, T as isGoogleModelApi, Tt as resolveSessionResetType, U as isTransientHttpError, Ut as getBridgeAuthForPort, V as isRawApiErrorPayload, Vt as DEFAULT_UPLOAD_DIR, W as parseImageDimensionError, Wt as ensureBrowserControlAuth, X as extractDeliveryInfo, Xt as expandToolGroups, Y as resolveSandboxRuntimeStatus, Yt as expandPolicyWithPluginGroups, Z as appendAssistantMessageToSessionTranscript, Zt as mergeAlsoAllowPolicy, _ as sanitizeSessionMessagesImages, _t as INPUT_PROVENANCE_KIND_VALUES, a as normalizeChannelTargetInput, an as resolveBootstrapMaxChars, at as updateSessionStoreEntry, b as resolveImageSanitizationLimits, bt as normalizeInputProvenance, c as parseReplyDirectives, cn as getGlobalHookRunner, ct as deliveryContextFromSession, d as parseInlineDirectives$1, dt as normalizeDeliveryContext, en as stripPluginOnlyAllowlist, et as readSessionUpdatedAt, f as validateAnthropicTurns, ft as normalizeSessionDeliveryFields, g as normalizeTextForComparison, gt as extractToolCallNames, h as isMessagingToolDuplicateNormalized, ht as countToolResults, i as buildTargetResolverSignature, in as ensureSessionHeader, it as updateSessionStore, j as getApiErrorPayloadFingerprint, jt as deriveSessionMetaPatch, k as formatBillingErrorMessage, kt as canonicalizeMainSessionAlias, l as MEDIA_TOKEN_RE, ln as initializeGlobalHookRunner, lt as deliveryContextKey, m as pickFallbackThinkingLevel, mt as capArrayByJsonBytes, nn as matchesAnyGlobPattern, o as normalizeTargetForProvider, on as resolveBootstrapTotalMaxChars, ot as isCacheEnabled, p as validateGeminiTurns, pt as archiveSessionTranscripts, q as ensureSandboxWorkspaceForSession, qt as buildPluginToolGroups, r as normalizeReplyPayloadsForDelivery, rn as buildBootstrapContextFiles, rt as updateLastRoute, s as throwIfAborted, sn as sanitizeGoogleTurnOrdering, st as resolveCacheTtlMs$1, t as deliverOutboundPayloads, tn as compileGlobPatterns, tt as recordSessionMetaFromInbound, u as splitMediaFromOutput, ut as mergeDeliveryContext, v as sanitizeImageBlocks, vt as applyInputProvenanceToUserMessage, w as isAntigravityClaude, wt as resolveSessionResetPolicy, x as extractToolCallsFromAssistant, xt as resolveSessionKey, y as sanitizeToolResultImages, yt as hasInterSessionUserProvenance, z as isLikelyContextOverflowError, zt as getMediaDir } from "./deliver-Cjyb6h4g.js";
|
|
13
13
|
import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-BdRnGknC.js";
|
|
14
14
|
import { n as getDiagnosticSessionState } from "./diagnostic-session-state-DpxCUzoM.js";
|
|
15
15
|
import { S as GATEWAY_CLIENT_NAMES, _ as listDeliverableMessageChannels, a as chunkText, b as GATEWAY_CLIENT_IDS, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, g as isMarkdownCapableMessageChannel, h as isInternalMessageChannel, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, m as isDeliverableMessageChannel, o as chunkTextWithMode, p as INTERNAL_MESSAGE_CHANNEL, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt, v as normalizeMessageChannel, x as GATEWAY_CLIENT_MODES, y as resolveGatewayMessageChannel } from "./chunk-CAZujdOi.js";
|
|
@@ -18,7 +18,7 @@ import { C as unsetConfigValueAtPath, S as setConfigValueAtPath, T as VERSION, _
|
|
|
18
18
|
import { t as parseBooleanValue } from "./boolean-BW6OTjPi.js";
|
|
19
19
|
import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell, s as isTruthyEnvValue } from "./shell-env-DgjeObDZ.js";
|
|
20
20
|
import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-CAWGTwb5.js";
|
|
21
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
21
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-BKUACyeO.js";
|
|
22
22
|
import { n as resolveCliName, t as formatCliCommand } from "./command-format-DPd9RN2g.js";
|
|
23
23
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, h as parseFrontmatterBlock, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DO7WNsVJ.js";
|
|
24
24
|
import { n as redactToolDetail } from "./redact-DSOAcWMe.js";
|
|
@@ -29,7 +29,7 @@ import { n as resolveConversationLabel } from "./conversation-label-DTTqF8gH.js"
|
|
|
29
29
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BsT3BvfH.js";
|
|
30
30
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-ChU6IQwp.js";
|
|
31
31
|
import { n as saveJsonFile, t as loadJsonFile } from "./json-file-B7D44OOV.js";
|
|
32
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, d as requireApiKey, f as resolveApiKeyForProvider, h as resolveModelAuthMode, i as resolveOllamaBaseUrl, l as getApiKeyForModel, m as resolveEnvApiKey, n as retryAsync, o as collectProviderApiKeysForExecution, p as resolveAwsSdkEnvVarName, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation, u as getCustomProviderApiKey } from "./manager-
|
|
32
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, d as requireApiKey, f as resolveApiKeyForProvider, h as resolveModelAuthMode, i as resolveOllamaBaseUrl, l as getApiKeyForModel, m as resolveEnvApiKey, n as retryAsync, o as collectProviderApiKeysForExecution, p as resolveAwsSdkEnvVarName, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation, u as getCustomProviderApiKey } from "./manager-Bryhc0Ip.js";
|
|
33
33
|
import { r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-dYUr1mDQ.js";
|
|
34
34
|
import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-Ce-sg7EN.js";
|
|
35
35
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-jQzXAsf3.js";
|
|
@@ -53,7 +53,7 @@ import { fileURLToPath } from "node:url";
|
|
|
53
53
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
54
54
|
import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
|
|
55
55
|
import AjvPkg from "ajv";
|
|
56
|
-
import { WebSocket
|
|
56
|
+
import { WebSocket } from "ws";
|
|
57
57
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
58
58
|
import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
|
|
59
59
|
import { BedrockClient, ListFoundationModelsCommand } from "@aws-sdk/client-bedrock";
|
|
@@ -3390,7 +3390,7 @@ async function getMemorySearchManager(params) {
|
|
|
3390
3390
|
const wrapper = new FallbackMemoryManager({
|
|
3391
3391
|
primary,
|
|
3392
3392
|
fallbackFactory: async () => {
|
|
3393
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
3393
|
+
const { MemoryIndexManager } = await import("./manager-Bryhc0Ip.js").then((n) => n.t);
|
|
3394
3394
|
return await MemoryIndexManager.get(params);
|
|
3395
3395
|
}
|
|
3396
3396
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -3403,7 +3403,7 @@ async function getMemorySearchManager(params) {
|
|
|
3403
3403
|
}
|
|
3404
3404
|
}
|
|
3405
3405
|
try {
|
|
3406
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
3406
|
+
const { MemoryIndexManager } = await import("./manager-Bryhc0Ip.js").then((n) => n.t);
|
|
3407
3407
|
return { manager: await MemoryIndexManager.get(params) };
|
|
3408
3408
|
} catch (err) {
|
|
3409
3409
|
return {
|
|
@@ -5918,7 +5918,7 @@ var GatewayClient = class {
|
|
|
5918
5918
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
5919
5919
|
});
|
|
5920
5920
|
}
|
|
5921
|
-
this.ws = new WebSocket
|
|
5921
|
+
this.ws = new WebSocket(url, wsOptions);
|
|
5922
5922
|
this.ws.on("open", () => {
|
|
5923
5923
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
5924
5924
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -6137,7 +6137,7 @@ var GatewayClient = class {
|
|
|
6137
6137
|
return null;
|
|
6138
6138
|
}
|
|
6139
6139
|
async request(method, params, opts) {
|
|
6140
|
-
if (!this.ws || this.ws.readyState !== WebSocket
|
|
6140
|
+
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
6141
6141
|
const id = randomUUID();
|
|
6142
6142
|
const frame = {
|
|
6143
6143
|
type: "req",
|
|
@@ -7084,7 +7084,7 @@ async function routeReply(params) {
|
|
|
7084
7084
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
7085
7085
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
7086
7086
|
try {
|
|
7087
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
7087
|
+
const { deliverOutboundPayloads } = await import("./deliver-Cjyb6h4g.js").then((n) => n.n);
|
|
7088
7088
|
return {
|
|
7089
7089
|
ok: true,
|
|
7090
7090
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -40590,11 +40590,19 @@ function createWebSearchTool(options) {
|
|
|
40590
40590
|
const provider = resolveSearchProvider(search);
|
|
40591
40591
|
const perplexityConfig = resolvePerplexityConfig(search);
|
|
40592
40592
|
const grokConfig = resolveGrokConfig(search);
|
|
40593
|
+
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.";
|
|
40594
|
+
const resolveActiveApiKey = () => {
|
|
40595
|
+
if (provider === "perplexity") return resolvePerplexityApiKey(perplexityConfig)?.apiKey;
|
|
40596
|
+
if (provider === "grok") return resolveGrokApiKey(grokConfig);
|
|
40597
|
+
return resolveSearchApiKey(search);
|
|
40598
|
+
};
|
|
40593
40599
|
return {
|
|
40594
40600
|
label: "Web Search",
|
|
40595
40601
|
name: "web_search",
|
|
40596
|
-
description
|
|
40602
|
+
description,
|
|
40597
40603
|
parameters: WebSearchSchema,
|
|
40604
|
+
checkFn: () => Boolean(resolveActiveApiKey()),
|
|
40605
|
+
requiredEnv: provider === "perplexity" ? ["PERPLEXITY_API_KEY", "OPENROUTER_API_KEY"] : provider === "grok" ? ["XAI_API_KEY"] : ["BRAVE_API_KEY"],
|
|
40598
40606
|
execute: async (_toolCallId, args) => {
|
|
40599
40607
|
const perplexityAuth = provider === "perplexity" ? resolvePerplexityApiKey(perplexityConfig) : void 0;
|
|
40600
40608
|
const apiKey = provider === "perplexity" ? perplexityAuth?.apiKey : provider === "grok" ? resolveGrokApiKey(grokConfig) : resolveSearchApiKey(search);
|
|
@@ -41140,7 +41148,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
41140
41148
|
return;
|
|
41141
41149
|
}
|
|
41142
41150
|
try {
|
|
41143
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
41151
|
+
const { deliverOutboundPayloads } = await import("./deliver-Cjyb6h4g.js").then((n) => n.n);
|
|
41144
41152
|
await deliverOutboundPayloads({
|
|
41145
41153
|
cfg: params.cfg,
|
|
41146
41154
|
channel,
|
|
@@ -60903,6 +60911,44 @@ function applyToolPolicyPipeline(params) {
|
|
|
60903
60911
|
return filtered;
|
|
60904
60912
|
}
|
|
60905
60913
|
|
|
60914
|
+
//#endregion
|
|
60915
|
+
//#region src/agents/tools/availability-filter.ts
|
|
60916
|
+
const FORCE_ALL_TOOLS_ENV = "SYMI_FORCE_ALL_TOOLS";
|
|
60917
|
+
/**
|
|
60918
|
+
* Filter the tool palette by each tool's `checkFn`. Tools without a
|
|
60919
|
+
* checkFn pass through unchanged. Throwing checkFns are treated as
|
|
60920
|
+
* available (defensive). The `SYMI_FORCE_ALL_TOOLS=1` env bypasses the
|
|
60921
|
+
* filter entirely.
|
|
60922
|
+
*
|
|
60923
|
+
* Pure function — does not mutate the input array.
|
|
60924
|
+
*/
|
|
60925
|
+
function filterToolsByAvailability(tools) {
|
|
60926
|
+
if (isTruthyEnvValue(process.env[FORCE_ALL_TOOLS_ENV])) return [...tools];
|
|
60927
|
+
const out = [];
|
|
60928
|
+
for (const tool of tools) {
|
|
60929
|
+
if (!tool.checkFn) {
|
|
60930
|
+
out.push(tool);
|
|
60931
|
+
continue;
|
|
60932
|
+
}
|
|
60933
|
+
let available;
|
|
60934
|
+
try {
|
|
60935
|
+
available = tool.checkFn();
|
|
60936
|
+
} catch (err) {
|
|
60937
|
+
logVerbose(`tool availability: checkFn for "${getToolName(tool)}" threw — including tool anyway. ${String(err)}`);
|
|
60938
|
+
out.push(tool);
|
|
60939
|
+
continue;
|
|
60940
|
+
}
|
|
60941
|
+
if (available) out.push(tool);
|
|
60942
|
+
else logVerbose(`tool availability: filtered out "${getToolName(tool)}" — checkFn returned false. Set ${FORCE_ALL_TOOLS_ENV}=1 to bypass this filter.`);
|
|
60943
|
+
}
|
|
60944
|
+
return out;
|
|
60945
|
+
}
|
|
60946
|
+
function getToolName(tool) {
|
|
60947
|
+
const definition = tool.definition;
|
|
60948
|
+
if (definition && typeof definition.name === "string") return definition.name;
|
|
60949
|
+
return "(unknown tool)";
|
|
60950
|
+
}
|
|
60951
|
+
|
|
60906
60952
|
//#endregion
|
|
60907
60953
|
//#region src/agents/pi-tools.ts
|
|
60908
60954
|
function isOpenAIProvider(provider) {
|
|
@@ -61122,7 +61168,7 @@ function createSymiCodingTools(options) {
|
|
|
61122
61168
|
root: sandboxRoot,
|
|
61123
61169
|
bridge: sandboxFsBridge
|
|
61124
61170
|
}), readEditTracker) : null;
|
|
61125
|
-
const withHooks = applyToolPolicyPipeline({
|
|
61171
|
+
const withHooks = filterToolsByAvailability(applyToolPolicyPipeline({
|
|
61126
61172
|
tools: applyOwnerOnlyToolPolicy([
|
|
61127
61173
|
...base,
|
|
61128
61174
|
...sandboxRoot ? allowWorkspaceWrites && sandboxedEditTool && sandboxedWriteTool ? [workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedEditTool, sandboxRoot) : sandboxedEditTool, workspaceOnly ? wrapToolWorkspaceRootGuard(sandboxedWriteTool, sandboxRoot) : sandboxedWriteTool] : [] : [],
|
|
@@ -61194,7 +61240,7 @@ function createSymiCodingTools(options) {
|
|
|
61194
61240
|
label: "subagent tools.allow"
|
|
61195
61241
|
}
|
|
61196
61242
|
]
|
|
61197
|
-
}).map((tool) => normalizeToolParameters(tool, { modelProvider: options?.modelProvider })).map((tool) => wrapToolWithBeforeToolCallHook(tool, {
|
|
61243
|
+
})).map((tool) => normalizeToolParameters(tool, { modelProvider: options?.modelProvider })).map((tool) => wrapToolWithBeforeToolCallHook(tool, {
|
|
61198
61244
|
agentId,
|
|
61199
61245
|
sessionKey: options?.sessionKey,
|
|
61200
61246
|
loopDetection: resolveToolLoopDetectionConfig({
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { x as truncateUtf16Safe } from "./utils-CTPsqyE_.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
|
|
3
|
-
import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-
|
|
4
|
-
import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-
|
|
3
|
+
import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-DQCaejcD.js";
|
|
4
|
+
import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BzCBIakN.js";
|
|
5
5
|
import { s as normalizeThinkLevel } from "./thinking-COroyVA5.js";
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
7
7
|
import path from "node:path";
|
|
8
|
-
import
|
|
8
|
+
import fsPromises from "node:fs/promises";
|
|
9
9
|
|
|
10
10
|
//#region src/agents/pi-embedded-helpers/bootstrap.ts
|
|
11
11
|
function isBase64Signature(value) {
|
|
@@ -102,10 +102,10 @@ function clampToBudget(content, budget) {
|
|
|
102
102
|
async function ensureSessionHeader(params) {
|
|
103
103
|
const file = params.sessionFile;
|
|
104
104
|
try {
|
|
105
|
-
await
|
|
105
|
+
await fsPromises.stat(file);
|
|
106
106
|
return;
|
|
107
107
|
} catch {}
|
|
108
|
-
await
|
|
108
|
+
await fsPromises.mkdir(path.dirname(file), { recursive: true });
|
|
109
109
|
const entry = {
|
|
110
110
|
type: "session",
|
|
111
111
|
version: 2,
|
|
@@ -113,7 +113,7 @@ async function ensureSessionHeader(params) {
|
|
|
113
113
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
114
114
|
cwd: params.cwd
|
|
115
115
|
};
|
|
116
|
-
await
|
|
116
|
+
await fsPromises.writeFile(file, `${JSON.stringify(entry)}\n`, "utf-8");
|
|
117
117
|
}
|
|
118
118
|
function buildBootstrapContextFiles(files, opts) {
|
|
119
119
|
const maxChars = opts?.maxChars ?? DEFAULT_BOOTSTRAP_MAX_CHARS;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { S as resolveThreadParentSessionKey, c as resolveAgentIdFromSessionKey } from "./session-key-DUSb7CCb.js";
|
|
2
|
-
import { r as resolveAgentConfig } from "./agent-scope-
|
|
3
|
-
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-
|
|
4
|
-
import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-
|
|
2
|
+
import { r as resolveAgentConfig } from "./agent-scope-Bnsyyeci.js";
|
|
3
|
+
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-D-PYSlE8.js";
|
|
4
|
+
import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-DQCaejcD.js";
|
|
5
5
|
import { a as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-hF45sewN.js";
|
|
6
6
|
import { l as normalizeMessageChannel } from "./message-channel-DgjXWzf-.js";
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as getChatChannelMeta, s as listChatChannels, u as normalizeChatChannelId } from "./registry-Sbac4a4z.js";
|
|
2
2
|
import { u as isRecord } from "./utils-CTPsqyE_.js";
|
|
3
|
-
import { u as normalizeProviderId } from "./model-selection-
|
|
3
|
+
import { u as normalizeProviderId } from "./model-selection-CCTzD29o.js";
|
|
4
4
|
import { n as getChannelPluginCatalogEntry, r as listChannelPluginCatalogEntries } from "./catalog-DsC3JTw1.js";
|
|
5
5
|
import { t as ensurePluginAllowlisted } from "./plugins-allowlist-CWCQC08H.js";
|
|
6
6
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { s as loadSymiPlugins } from "./unified-runner-
|
|
2
|
+
import { s as loadSymiPlugins } from "./unified-runner-BIUJm_Iv.js";
|
|
3
3
|
import { d as getActivePluginRegistry } from "./registry-Sbac4a4z.js";
|
|
4
4
|
import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
|
|
5
|
-
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-
|
|
6
|
-
import { i as loadConfig } from "./config-
|
|
5
|
+
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-Bnsyyeci.js";
|
|
6
|
+
import { i as loadConfig } from "./config-D-PYSlE8.js";
|
|
7
7
|
|
|
8
8
|
//#region src/cli/plugin-registry.ts
|
|
9
9
|
var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
|
|
3
3
|
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-C-Jte08L.js";
|
|
4
4
|
import { i as loadConfig } from "./config-_DaupjQd.js";
|
|
5
|
-
import { m as loadSymiPlugins } from "./subagent-registry-
|
|
5
|
+
import { m as loadSymiPlugins } from "./subagent-registry-DWemyjbN.js";
|
|
6
6
|
|
|
7
7
|
//#region src/cli/plugin-registry.ts
|
|
8
8
|
var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export type AnyAgentTool = AgentTool<any, unknown>;
|
|
1
|
+
export type { AnyAgentTool } from "./tools/common.js";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AnyAgentTool } from "./common.js";
|
|
2
|
+
/**
|
|
3
|
+
* Filter the tool palette by each tool's `checkFn`. Tools without a
|
|
4
|
+
* checkFn pass through unchanged. Throwing checkFns are treated as
|
|
5
|
+
* available (defensive). The `SYMI_FORCE_ALL_TOOLS=1` env bypasses the
|
|
6
|
+
* filter entirely.
|
|
7
|
+
*
|
|
8
|
+
* Pure function — does not mutate the input array.
|
|
9
|
+
*/
|
|
10
|
+
export declare function filterToolsByAvailability(tools: readonly AnyAgentTool[]): AnyAgentTool[];
|
|
@@ -2,6 +2,36 @@ import type { AgentTool, AgentToolResult } from "@mariozechner/pi-agent-core";
|
|
|
2
2
|
import type { ImageSanitizationLimits } from "../image-sanitization.js";
|
|
3
3
|
export type AnyAgentTool = AgentTool<any, unknown> & {
|
|
4
4
|
ownerOnly?: boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Optional runtime availability check. If defined and returns `false`,
|
|
7
|
+
* the tool is filtered out of the agent's palette before the LLM ever
|
|
8
|
+
* sees it — preventing wasted turns on tools that can't actually run
|
|
9
|
+
* (e.g., a search tool with no API key configured).
|
|
10
|
+
*
|
|
11
|
+
* **Defensive design rules**:
|
|
12
|
+
* - Default behavior (when not defined) is "always available" — tools
|
|
13
|
+
* without checkFn are NEVER filtered. Existing tools keep working
|
|
14
|
+
* exactly as before.
|
|
15
|
+
* - When implementing checkFn, only return `false` if the tool is
|
|
16
|
+
* CERTAIN to fail. When uncertain, return `true` and let the agent
|
|
17
|
+
* try — better to surface the real error than to wrongly hide a
|
|
18
|
+
* working tool.
|
|
19
|
+
* - For multi-credential tools (e.g., web_search has 4 providers),
|
|
20
|
+
* return `true` if ANY credential path is available.
|
|
21
|
+
* - The user can bypass all checkFn filtering by setting the env var
|
|
22
|
+
* `SYMI_FORCE_ALL_TOOLS=1` — useful when our check is wrong and
|
|
23
|
+
* the user knows their setup works.
|
|
24
|
+
*/
|
|
25
|
+
checkFn?: () => boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Optional declarative list of env var names this tool may use. Pure
|
|
28
|
+
* metadata — the gateway uses it to answer "Why isn't tool X
|
|
29
|
+
* available?" by listing which env vars would enable it. Not consumed
|
|
30
|
+
* for actual gating (that's checkFn's job). When the tool accepts
|
|
31
|
+
* credentials from multiple sources (env, config, profile store),
|
|
32
|
+
* list every env var name it ever consults.
|
|
33
|
+
*/
|
|
34
|
+
requiredEnv?: readonly string[];
|
|
5
35
|
};
|
|
6
36
|
export type StringParamOptions = {
|
|
7
37
|
required?: boolean;
|