@symerian/symi 2.3.3 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{accounts-Cd816n6l.js → accounts-DDuIpcln.js} +7 -7
- package/dist/{accounts-mN_EcgxC.js → accounts-DyJN4_vR.js} +1 -1
- package/dist/{accounts-CokRskCl.js → accounts-bK-Yqdwx.js} +1 -1
- package/dist/{acp-cli-BgyJMtqt.js → acp-cli-Cu4icbJT.js} +6 -6
- package/dist/{agent-scope-BRwEc2pG.js → agent-scope-CgUHAtCo.js} +18 -18
- package/dist/{agents-DjLt6jc3.js → agents-CI3xxYc_.js} +4 -4
- package/dist/{agents.config-u_ibObha.js → agents.config-DCE3RGr9.js} +2 -2
- package/dist/{agents.config-Dt7B_P5o.js → agents.config-DTUAM1AG.js} +1 -1
- package/dist/{api-key-rotation-CEr3lKih.js → api-key-rotation-CzuPlV2t.js} +1 -1
- package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-C40mKAp7.js} +4 -4
- package/dist/{audio-preflight-CjysqO8U.js → audio-preflight-CWnxkaac.js} +28 -28
- package/dist/{audio-preflight-D02HwB-I.js → audio-preflight-O3ASWbaG.js} +4 -4
- package/dist/{audit-BSB9NPSO.js → audit-CrITRV6w.js} +23 -23
- package/dist/{auth-choice-DmSG7c8J.js → auth-choice-DuQwRfJc.js} +8 -8
- package/dist/{auth-choice-DUUu6Nhg.js → auth-choice-IiIysHGO.js} +1 -1
- package/dist/{auth-token-DC5w1WoS.js → auth-token-BnOynwk4.js} +1 -1
- package/dist/{banner-BiAcdT2T.js → banner-xhDZu_ZJ.js} +1 -1
- package/dist/{bindings-ChzePa8q.js → bindings-DFaVVCsf.js} +1 -1
- package/dist/{browser-cli-C4D9Ql3c.js → browser-cli-BG4qPxpM.js} +9 -9
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/{call-Dd7-bkfG.js → call-CJaS1iRF.js} +9 -9
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-vQREpu-n.js → channel-options-D3gGVwBd.js} +2 -2
- package/dist/{channel-options-ClfXE1B7.js → channel-options-Dvxd7eJY.js} +1 -1
- package/dist/{channel-selection-DjfBv8kq.js → channel-selection-DuWs0Aak.js} +1 -1
- package/dist/{channel-web-y6pd_GHr.js → channel-web-a5tX1YI3.js} +17 -17
- package/dist/{channels-cli-CjYD1_OO.js → channels-cli-BLUkl5Li.js} +75 -75
- package/dist/{channels-cli-suXRcyfF.js → channels-cli-C9wBYmDe.js} +4 -4
- package/dist/{channels-status-issues-BoH1ZJPN.js → channels-status-issues-B_kBkl_u.js} +1 -1
- package/dist/{chrome-EyvdASWt.js → chrome-BFekevcE.js} +7 -7
- package/dist/{chrome-D2SKJnR7.js → chrome-CDJYxX5a.js} +7 -7
- package/dist/{chrome-r4RThPxq.js → chrome-DtPkPq9T.js} +2 -2
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-mbfUlFn3.js → cli-CaEE46xi.js} +1 -1
- package/dist/{cli-B-911QZL.js → cli-Cw45F0yJ.js} +62 -62
- package/dist/{client-BsrZnuSi.js → client-CQSyCS4M.js} +1 -1
- package/dist/{command-registry-y8CXSD5O.js → command-registry-ea9SD1eA.js} +9 -9
- package/dist/{commands-CtocZ4Lg.js → commands-BNLCWX6e.js} +1 -1
- package/dist/{commands-registry-BZ0ZSQpM.js → commands-registry-BT0-zzs3.js} +3 -3
- package/dist/{completion-cli-BLrwUAyo.js → completion-cli-CMJmUQbI.js} +12 -12
- package/dist/{completion-cli-2Mi5hts2.js → completion-cli-DVkiEAEA.js} +2 -2
- package/dist/{config-CJMcIRQM.js → config-CHwyw6l5.js} +2 -2
- package/dist/{config-cli-CF-wdLkO.js → config-cli-B2d28_hb.js} +4 -4
- package/dist/{config-cli-tYZAnvgQ.js → config-cli-VIg0PSyq.js} +1 -1
- package/dist/{config-guard-C1Rs8NZG.js → config-guard-BflmO0t7.js} +12 -12
- package/dist/{config-validation-ChQQVndI.js → config-validation-CmimHAES.js} +1 -1
- package/dist/{configure-si19m30s.js → configure-C_TVBt76.js} +3 -3
- package/dist/{configure-BHKdqhLb.js → configure-D-3FiJbK.js} +15 -15
- package/dist/{control-service-B8H3Bqpv.js → control-service-Bz7rxLWq.js} +4 -4
- package/dist/{control-ui-assets-DqGziq7x.js → control-ui-assets-Z947tKLt.js} +1 -1
- package/dist/{cron-cli-YrMWJCkm.js → cron-cli-DBIlCvp3.js} +10 -10
- package/dist/{daemon-cli-Dx4SXRyp.js → daemon-cli-DscwlsKW.js} +11 -11
- package/dist/{daemon-runtime--RiRUx_2.js → daemon-runtime-2mwX-jqj.js} +10 -10
- package/dist/{deliver-C-37cZUe.js → deliver-BH0l3UKW.js} +1 -1
- package/dist/{deliver-Um8yyhRA.js → deliver-CceEhg3d.js} +7 -7
- package/dist/{deliver-D1ZN6-fl.js → deliver-CvCK5Mm9.js} +1 -1
- package/dist/{devices-cli-DAJ84AOe.js → devices-cli-Dds-25Ve.js} +6 -6
- package/dist/{diagnostics-D2yUMZN1.js → diagnostics-BAMlsVVX.js} +5 -5
- package/dist/{directory-cli-C4h8KQLH.js → directory-cli-CpUByQew.js} +7 -7
- package/dist/{dm-policy-shared-BCSw0GJS.js → dm-policy-shared-Bh3TbexU.js} +2 -2
- package/dist/{dns-cli-s0ZWvTPm.js → dns-cli-Beyzdh3S.js} +3 -3
- package/dist/{dock-BYiRZSgZ.js → dock-BhS32F6E.js} +4 -4
- package/dist/{docs-cli-BfPfHTDs.js → docs-cli-BpnEOtJi.js} +1 -1
- package/dist/{doctor-completion-C19QYsQN.js → doctor-completion-CJHJYIwQ.js} +2 -2
- package/dist/{doctor-completion-Dn_Kn4gz.js → doctor-completion-DeRX6gkI.js} +1 -1
- package/dist/{doctor-config-flow-D05HlWdn.js → doctor-config-flow-QnaBd8kL.js} +10 -10
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-Df1lyRyE.js → exec-approvals-cli-BliRl8VB.js} +13 -13
- package/dist/extensionAPI.js +6 -6
- package/dist/{fs-safe-CTDvb1DF.js → fs-safe-CUjO1ca2.js} +6 -6
- package/dist/{gateway-cli-B7khyAHs.js → gateway-cli-BDDHBfYP.js} +126 -121
- package/dist/{gateway-cli-DG_Mdw0H.js → gateway-cli-DiDJ6Z2d.js} +22 -17
- package/dist/{gateway-rpc-DFeD8pZh.js → gateway-rpc-BxkKeCZ0.js} +1 -1
- package/dist/{glass-ui-ws-BmQAULMj.js → glass-ui-ws-Bj1IuJXt.js} +82 -82
- package/dist/{glass-ui-ws-BAub_JoN.js → glass-ui-ws-rGIAkViC.js} +7 -7
- package/dist/{health-CboWXJkq.js → health-Bst5HnLF.js} +1 -1
- package/dist/{health-DkKXiUEF.js → health-CypF_2ZD.js} +13 -13
- package/dist/{hooks-cli-DLM_5caf.js → hooks-cli-CDMcqTy4.js} +2 -2
- package/dist/{hooks-cli-BrO_9pas.js → hooks-cli-CfsqqxPX.js} +76 -76
- package/dist/{image-Cp3JDEBB.js → image-B0wGflxA.js} +1 -1
- package/dist/{image-DcpMiprB.js → image-CHzdaNJ4.js} +1 -1
- package/dist/{image-BiY-PfMh.js → image-D9uvDTrc.js} +3 -3
- package/dist/{image-ops-DYbDWaIA.js → image-ops-1OJMSAUX.js} +10 -10
- package/dist/index.js +72 -72
- package/dist/{inspect-ZJkNX0WL.js → inspect-CllGjsWo.js} +4 -4
- package/dist/{install-safe-path-Qqr_t_tH.js → install-safe-path-tCLiMpmO.js} +11 -11
- package/dist/{installs-O9KlRu9h.js → installs-C1Cebk97.js} +10 -10
- package/dist/{ir-Dt4hOzxG.js → ir-DZam9q5M.js} +6 -6
- package/dist/{lifecycle-core-BkPSoGM2.js → lifecycle-core-D6LYXpFj.js} +5 -5
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{local-roots-BBeKX7PX.js → local-roots-aAFLQGkY.js} +2 -2
- package/dist/{login-1sleXoB4.js → login-dIlDkG4X.js} +3 -3
- package/dist/{login-qr-wCWBOMwB.js → login-qr-pbXdFORv.js} +5 -5
- package/dist/{logs-cli-DVeEdUCU.js → logs-cli-xOzIPrHm.js} +7 -7
- package/dist/{manager-C1CfGzZ2.js → manager-D4LJSRyZ.js} +13 -13
- package/dist/{markdown-tables-ZwP14ydw.js → markdown-tables-CEbN0fEm.js} +1 -1
- package/dist/{memory-cli-lk6fRiwy.js → memory-cli-Ca5r9AUb.js} +14 -14
- package/dist/{model-catalog-C3NLvWC2.js → model-catalog-DvBJ8pMD.js} +4 -4
- package/dist/{model-picker-LKZLY2DL.js → model-picker-Ddo3jHe-.js} +3 -3
- package/dist/{model-selection-X1oLh3CE.js → model-selection-CyFvYcRt.js} +9 -9
- package/dist/{model-CeeOcylL.js → model-tWhwnFf8.js} +1 -1
- package/dist/{models-BmiRYEVd.js → models-ZEOGlFx7.js} +2 -2
- package/dist/{models-cli-Tf61I97Q.js → models-cli-BM1QyeXr.js} +3 -3
- package/dist/{models-cli-4vQrbW6G.js → models-cli-BwOQhZ_c.js} +72 -72
- package/dist/{models-config-CqDdkHJq.js → models-config-qyOXrOli.js} +7 -7
- package/dist/{node-cli-Jj2LTGzF.js → node-cli-C_G-Q3h-.js} +28 -28
- package/dist/{node-service-CJygtY5M.js → node-service-Cxz4e-Qd.js} +1 -1
- package/dist/{nodes-cli-C43ifECe.js → nodes-cli-BcnuJajV.js} +10 -10
- package/dist/{nodes-screen-C99kfE1u.js → nodes-screen-VBGXKdLk.js} +4 -4
- package/dist/{npm-registry-spec-DR_at_Hp.js → npm-registry-spec-C2JDdSZS.js} +9 -9
- package/dist/{onboard-FpptSqHZ.js → onboard-CU-pntZD.js} +2 -2
- package/dist/{onboard-D8uxVvMq.js → onboard-DQ34giB5.js} +13 -13
- package/dist/{onboard-channels-DOKid2w1.js → onboard-channels-BOBxxhHX.js} +5 -5
- package/dist/{onboard-channels-Q_xxgZ8O.js → onboard-channels-g5cvwJpx.js} +1 -1
- package/dist/{onboard-custom-DPJiy9aT.js → onboard-custom-C7O-zfQ1.js} +3 -3
- package/dist/{onboard-helpers-Dixh6cNh.js → onboard-helpers-ZmZYzlq3.js} +8 -8
- package/dist/{onboard-hooks-lsws7g2s.js → onboard-hooks-BAA8CoVv.js} +1 -1
- package/dist/{onboard-remote-B66ZWtkN.js → onboard-remote-zUjD7UtM.js} +1 -1
- package/dist/{onboard-skills-B0IA09ig.js → onboard-skills-BB0YhUmF.js} +4 -4
- package/dist/{onboarding-CdlGKa0U.js → onboarding-CXWUjdM5.js} +13 -13
- package/dist/{onboarding-DhIEUmp5.js → onboarding-DWs6tHZ9.js} +3 -3
- package/dist/{onboarding.finalize-CEYLIXkq.js → onboarding.finalize-CAYf88mf.js} +6 -6
- package/dist/{onboarding.finalize-DyBsPxXJ.js → onboarding.finalize-vupGASMK.js} +74 -74
- package/dist/{onboarding.gateway-config-CCJqI0kw.js → onboarding.gateway-config-CJUgDC6Y.js} +14 -14
- package/dist/{openai-model-default-BJ1IZ3TN.js → openai-model-default-DMjQRsb1.js} +2 -2
- package/dist/{outbound-NJCy0h4x.js → outbound-DB5Zus0-.js} +4 -4
- package/dist/{outbound-attachment-D62E0xDI.js → outbound-attachment-D_QuKi8U.js} +2 -2
- package/dist/{pairing-cli-CcW0ndhB.js → pairing-cli-CBLfGvqW.js} +8 -8
- package/dist/{pairing-labels-27SOKDzJ.js → pairing-labels-2S6x2UoV.js} +1 -1
- package/dist/{pairing-store-B8ktu-6j.js → pairing-store-CK726Dzq.js} +2 -2
- package/dist/{pairing-token-AV-MMfVE.js → pairing-token-CX3NN_qj.js} +7 -7
- package/dist/{paths-CT6jsi4E.js → paths-BBm9fwuG.js} +1 -1
- package/dist/{pi-auth-json-CCneTXUh.js → pi-auth-json-DayrlDg_.js} +3 -3
- package/dist/{pi-embedded-wr4HXhzm.js → pi-embedded-CJsSOG2j.js} +147 -185
- package/dist/{pi-embedded-BThV36aG.js → pi-embedded-DwbQz0MC.js} +147 -185
- package/dist/{pi-embedded-helpers-DO6u9K2t.js → pi-embedded-helpers-CNPyv_ax.js} +6 -6
- package/dist/{pi-embedded-helpers-ag2bosuj.js → pi-embedded-helpers-DLFjnVBb.js} +4 -4
- package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-lgx_U5KS.js} +4 -4
- package/dist/{pi-tools.policy-juZV2uUv.js → pi-tools.policy-CIDBbw6x.js} +4 -4
- package/dist/{plugin-auto-enable-Bbm7MwFV.js → plugin-auto-enable-BzX1uAKy.js} +2 -2
- package/dist/{plugin-registry-DvWWctC9.js → plugin-registry-BDpdOTei.js} +1 -1
- package/dist/{plugin-registry-lWWSu9UD.js → plugin-registry-CZeHSx_c.js} +3 -3
- package/dist/plugin-sdk/agents/model-aware-stream.d.ts +41 -0
- package/dist/plugin-sdk/agents/model-token-filter.d.ts +11 -0
- package/dist/plugin-sdk/agents/pi-embedded-runner/extra-params.d.ts +13 -0
- package/dist/plugin-sdk/{channel-web-BnrTC55Y.js → channel-web-uUypcT9Q.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-kuMxu6Q4.js → reply-DTKTuCrn.js} +133 -171
- package/dist/plugin-sdk/{web-TMIhKQyF.js → web-Dh6Youzv.js} +2 -2
- package/dist/{plugins-BAyxWQSz.js → plugins-DKDeQZF0.js} +2 -2
- package/dist/{plugins-cli-BHfzYAq6.js → plugins-cli-CCQ3skeQ.js} +71 -71
- package/dist/{plugins-cli-wlWRx4Oj.js → plugins-cli-D_RzeRoE.js} +2 -2
- package/dist/{ports-OZQlocB7.js → ports-BOmtxoTv.js} +2 -2
- package/dist/{ports-b36gHZbA.js → ports-BX0kKI0g.js} +1 -1
- package/dist/{program-CKy7s-bm.js → program-Cl9i8ubQ.js} +7 -7
- package/dist/{program-context-D4gbh6dg.js → program-context-BbmYGW-V.js} +39 -39
- package/dist/{prompt-select-styled-bh0GLMiQ.js → prompt-select-styled-BN0T6GxF.js} +4 -4
- package/dist/{prompt-select-styled-DlGPNq9c.js → prompt-select-styled-BfuyvChh.js} +38 -38
- package/dist/{provider-auth-helpers-B-YsKbwc.js → provider-auth-helpers-CkmLFHXL.js} +1 -1
- package/dist/{provider-auth-helpers-Bd5VVReu.js → provider-auth-helpers-CuT5EHza.js} +5 -5
- package/dist/{push-apns-ByyOJyDl.js → push-apns-CFkFVwEz.js} +1 -1
- package/dist/{push-apns-0et2AR44.js → push-apns-DeJt9kAO.js} +4 -4
- package/dist/{pw-ai-Ch7liUOW.js → pw-ai-BnAKvSuw.js} +1 -1
- package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
- package/dist/{pw-ai-MVzi113V.js → pw-ai-DqL87js3.js} +7 -7
- package/dist/{qmd-manager-BP2r8b1D.js → qmd-manager-D85GJrir.js} +18 -18
- package/dist/{qr-cli-17laLZm_.js → qr-cli-jd9LdZpq.js} +3 -3
- package/dist/{register.agent-oKma6YjU.js → register.agent-BQm4YmZp.js} +6 -6
- package/dist/{register.agent-Dhijhxr5.js → register.agent-BygseJ7t.js} +81 -81
- package/dist/register.configure-C2fhjZze.js +147 -0
- package/dist/{register.configure-BX8vQ2Np.js → register.configure-Cj95vB2U.js} +6 -6
- package/dist/{register.maintenance-OJCduNdt.js → register.maintenance-CClfXq5e.js} +8 -8
- package/dist/{register.maintenance-B3TPb969.js → register.maintenance-K1x3E7OS.js} +84 -84
- package/dist/{register.message-CX8C_Fds.js → register.message-BSr-kUvJ.js} +2 -2
- package/dist/{register.message-D0aswsGo.js → register.message-CSRzBl-c.js} +63 -63
- package/dist/{register.onboard-CSepiSPt.js → register.onboard-Bd6wPydW.js} +4 -4
- package/dist/{register.onboard-BHTyEs6d.js → register.onboard-TsU21RR7.js} +74 -74
- package/dist/{register.setup-uhpgkBjU.js → register.setup-C9gu0W5l.js} +77 -77
- package/dist/{register.setup-lZSHKiGQ.js → register.setup-DK-zsne2.js} +4 -4
- package/dist/{register.status-health-sessions-Cbavf8do.js → register.status-health-sessions-DN5Ui3V0.js} +3 -3
- package/dist/{register.status-health-sessions-v1KN3eEp.js → register.status-health-sessions-rZsuoqtr.js} +75 -75
- package/dist/{register.subclis-DBEv5xOP.js → register.subclis-DnzHFtLz.js} +9 -9
- package/dist/{replies-BL7IBg12.js → replies-vgss3_QA.js} +1 -1
- package/dist/{reply-DVxU0AMq.js → reply-Ca3slrA3.js} +262 -300
- package/dist/{reply-prefix-BLOOs1aW.js → reply-prefix-CE2YmmsD.js} +1 -1
- package/dist/{resolve-route-BcnaXYvh.js → resolve-route-BMoTaVAH.js} +2 -2
- package/dist/{routes-CE-ohckF.js → routes-Ba9CUQ8M.js} +8 -8
- package/dist/{rpc-wovSCB5v.js → rpc-BfhojW8g.js} +1 -1
- package/dist/{run-main-DspjiCY1.js → run-main-DlHh5iOO.js} +14 -14
- package/dist/{runner-Cen70krW.js → runner-CUglpiFP.js} +20 -20
- package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
- package/dist/{runner-D0QUGA_X.js → runner-odEv83vv.js} +1 -1
- package/dist/{sandbox-BzNrUHpt.js → sandbox-C-T6hOMv.js} +18 -18
- package/dist/{sandbox-cli-CZrMO34w.js → sandbox-cli-BllVdQzR.js} +20 -20
- package/dist/{security-cli-CeBoEmeN.js → security-cli-BFLtWWHy.js} +36 -36
- package/dist/{send-dH0xroTu.js → send-CPF8hSFp.js} +4 -4
- package/dist/{send-C95ZRvja.js → send-CXxQ_f7L.js} +6 -6
- package/dist/{send-BnuIB59F.js → send-CZr1hVHY.js} +13 -13
- package/dist/{send-BEeuDXqy.js → send-Cutb0ZDY.js} +6 -6
- package/dist/{send-BjdAgYLu.js → send-tanEMpHN.js} +6 -6
- package/dist/{server-context-DUXqnh6l.js → server-context-CEpFjqSk.js} +5 -5
- package/dist/{server-methods-BgBq7KRL.js → server-methods-BYOkyf-q.js} +54 -54
- package/dist/{server-methods-B9alalq5.js → server-methods-b_Qod4tt.js} +7 -7
- package/dist/{server-node-events-BrBsrcCd.js → server-node-events-60nWpTh1.js} +63 -63
- package/dist/{server-node-events-DWG81_Fo.js → server-node-events-oU4Amei7.js} +2 -2
- package/dist/{service--qMN5DPm.js → service-Cl74hx8J.js} +15 -15
- package/dist/{session-CsIk0Sqq.js → session-DIBTkyvE.js} +2 -2
- package/dist/{sessions-D5a7H247.js → sessions-DgYpBvse.js} +13 -13
- package/dist/{shared-Jm_QdQJQ.js → shared-BJvwnR5z.js} +1 -1
- package/dist/{shared-Gi3l7nlY.js → shared-Knv1hy6h.js} +3 -3
- package/dist/{skill-commands-ZXbEITKi.js → skill-commands-Cxw-jNxU.js} +5 -5
- package/dist/{skill-scanner-CXg9eeyc.js → skill-scanner-CLs8u6vQ.js} +5 -5
- package/dist/{skills-DqQUtOph.js → skills-6jdJQ5ZL.js} +4 -4
- package/dist/{skills-cli-D1JL_utC.js → skills-cli-BZTBLQTt.js} +7 -7
- package/dist/{skills-install-DjcTy3CT.js → skills-install-D67isO1L.js} +3 -3
- package/dist/{skills-status-DS-NZQiq.js → skills-status-CURJKnyY.js} +1 -1
- package/dist/{sqlite-BV5ILFtC.js → sqlite-Dx3J_aSE.js} +12 -12
- package/dist/{status-CgPPKk09.js → status-BXW5l4sd.js} +25 -25
- package/dist/{status-DxodHhzX.js → status-BxbbINLV.js} +2 -2
- package/dist/{status-DqMwkAnF.js → status-D3-lP2_9.js} +1 -1
- package/dist/{status-CkJV2sl6.js → status-kdz9P3tw.js} +3 -3
- package/dist/{status.update-CmGpjKSr.js → status.update-DtwCUTf-.js} +3 -3
- package/dist/{store-DvtcmOKj.js → store-r1DJSDq-.js} +5 -5
- package/dist/{subagent-registry-CBklD0OL.js → subagent-registry-CbTbJKLs.js} +133 -171
- package/dist/{symi-root-MF6_6SCS.js → symi-root-CrGJbkzf.js} +2 -2
- package/dist/{system-cli-Buhvt_H5.js → system-cli-UMsMEurS.js} +11 -11
- package/dist/{systemd-hints-Db0oImvK.js → systemd-hints-BR6gChwm.js} +6 -6
- package/dist/{systemd-linger-BXwqn1jL.js → systemd-linger-aQ75ZlXY.js} +1 -1
- package/dist/{systemd-AhJEsmIk.js → systemd-riq8uNJQ.js} +5 -5
- package/dist/{tables-C38rzF6E.js → tables-BEzT0Da4.js} +1 -1
- package/dist/{target-errors-CCz79CmV.js → target-errors-7AvoVa10.js} +4 -4
- package/dist/{tool-images-B-pqX3nX.js → tool-images-DvUBlqjX.js} +1 -1
- package/dist/{tui-C0A9W969.js → tui-CriznorL.js} +7 -7
- package/dist/{tui-cli-tCnkNdSx.js → tui-cli-CSIdfCTR.js} +28 -28
- package/dist/{update-check-C0oYCI89.js → update-check-CtckACbb.js} +5 -5
- package/dist/{update-cli-DYrpyu4a.js → update-cli-B5TI650v.js} +94 -94
- package/dist/{update-cli-BqdgQuYp.js → update-cli-Cy0gdWRf.js} +8 -8
- package/dist/{update-runner-CmZW3aeK.js → update-runner-B0NdgPvD.js} +1 -1
- package/dist/{update-runner-BgzyPjF5.js → update-runner-Bacq0oLK.js} +15 -15
- package/dist/{update-Df4sEKtI.js → update-rw7wJwHd.js} +3 -3
- package/dist/{web-GL_nqURg.js → web-D-oCzJTU.js} +1 -1
- package/dist/{web-CfZp0Jv6.js → web-DWNtg4iV.js} +6 -6
- package/dist/web-DmED3zDP.js +109 -0
- package/dist/{web-DNQzo8ao.js → web-QVwKg99Q.js} +6 -6
- package/dist/{webhooks-cli-Bp-7Rs2Y.js → webhooks-cli-cD58DWAE.js} +4 -4
- package/dist/{whatsapp-actions-CFXNPLco.js → whatsapp-actions-DbcsdOH3.js} +15 -15
- package/dist/{with-timeout-Cs6_LnHB.js → with-timeout-gmK6RciS.js} +1 -1
- package/dist/{workspace-dirs-DKu48umx.js → workspace-dirs-GpkFi6Kw.js} +1 -1
- package/dist/{wsl-BbXxnokd.js → wsl-C4424szg.js} +2 -2
- package/package.json +1 -1
- package/dist/register.configure-BcZ-7Yir.js +0 -147
- package/dist/session-dirs-D3qlvucD.js +0 -18
- package/dist/web-DsCqmzyk.js +0 -109
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { constants } from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import
|
|
3
|
+
import fs$1 from "node:fs/promises";
|
|
4
4
|
|
|
5
5
|
//#region src/infra/fs-safe.ts
|
|
6
6
|
var SafeOpenError = class extends Error {
|
|
@@ -20,19 +20,19 @@ const isSymlinkOpenError = (err) => isNodeError(err) && (err.code === "ELOOP" ||
|
|
|
20
20
|
async function openVerifiedLocalFile(filePath) {
|
|
21
21
|
let handle;
|
|
22
22
|
try {
|
|
23
|
-
handle = await
|
|
23
|
+
handle = await fs$1.open(filePath, OPEN_READ_FLAGS);
|
|
24
24
|
} catch (err) {
|
|
25
25
|
if (isNotFoundError(err)) throw new SafeOpenError("not-found", "file not found");
|
|
26
26
|
if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
|
|
27
27
|
throw err;
|
|
28
28
|
}
|
|
29
29
|
try {
|
|
30
|
-
const [stat, lstat] = await Promise.all([handle.stat(),
|
|
30
|
+
const [stat, lstat] = await Promise.all([handle.stat(), fs$1.lstat(filePath)]);
|
|
31
31
|
if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
|
|
32
32
|
if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
|
|
33
33
|
if (stat.ino !== lstat.ino || stat.dev !== lstat.dev) throw new SafeOpenError("path-mismatch", "path changed during read");
|
|
34
|
-
const realPath = await
|
|
35
|
-
const realStat = await
|
|
34
|
+
const realPath = await fs$1.realpath(filePath);
|
|
35
|
+
const realStat = await fs$1.stat(realPath);
|
|
36
36
|
if (stat.ino !== realStat.ino || stat.dev !== realStat.dev) throw new SafeOpenError("path-mismatch", "path mismatch");
|
|
37
37
|
return {
|
|
38
38
|
handle,
|
|
@@ -49,7 +49,7 @@ async function openVerifiedLocalFile(filePath) {
|
|
|
49
49
|
async function openFileWithinRoot(params) {
|
|
50
50
|
let rootReal;
|
|
51
51
|
try {
|
|
52
|
-
rootReal = await
|
|
52
|
+
rootReal = await fs$1.realpath(params.rootDir);
|
|
53
53
|
} catch (err) {
|
|
54
54
|
if (isNotFoundError(err)) throw new SafeOpenError("not-found", "root dir not found");
|
|
55
55
|
throw err;
|
|
@@ -1,155 +1,155 @@
|
|
|
1
1
|
import { _ as expandHomePrefix, g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, E as truncateUtf16Safe, H as getLogger, P as setVerbose, R as colorize, S as shortenHomePath, U as getResolvedLoggerSettings, V as getChildLogger, c as ensureDir, t as CONFIG_DIR, y as resolveUserPath, z as isRich } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import { d as supportsXHighThinking, l as normalizeVerboseLevel, s as normalizeThinkLevel } from "./thinking-EAliFiVK.js";
|
|
4
|
-
import { $ as normalizeOptionalSessionKey, An as countActiveRunsForSession, Ar as extractFileContentFromSource, At as computeBackoff, B as setPreRestartDeferralCheck, Bn as onAgentEvent, Bt as createOutboundSendDeps, C as loadSessionEntry, Dr as DEFAULT_INPUT_IMAGE_MIMES, Dt as handleSlackHttpRequest, Er as DEFAULT_INPUT_IMAGE_MAX_BYTES, F as emitGatewayRestart, Fn as runSubagentAnnounceFlow, Fr as resolveAgentTimeoutMs, G as summarizeRestartSentinel, Gt as runWithModelFallback, I as isGatewaySigusr1RestartExternallyAllowed, In as readLatestAssistantReply, J as normalizeHttpWebhookUrl, Jt as runCliAgent, Kt as getCliSessionId, L as markGatewaySigusr1RestartHandled, Ln as clearAgentRunContext, Mn as listDescendantRunsForRequester, Mr as normalizeMimeList, Mt as agentCommand, N as consumeGatewaySigusr1RestartAuthorization, Nr as resolveInputFileLimits, Or as DEFAULT_INPUT_MAX_REDIRECTS, Ot as readJsonBodyWithLimit, P as deferGatewayRestartUntilIdle, Q as normalizeOptionalAgentId, Rn as emitAgentEvent, Rt as resolveOutboundTarget, Sr as enqueueSystemEvent, U as formatRestartSentinelMessage, Ut as createDefaultDeps, V as consumeRestartSentinel, Vn as registerAgentRunContext, Z as inferLegacyName, Zt as resolveAgentAvatar, _ as resolveAnnounceTargetFromKey, ar as resetAllLanes, at as hasLegacyDeliveryHints, cr as CommandLane, d as getActiveEmbeddedRunCount, et as normalizeOptionalText, ft as stripModelTokens, g as createSymiTools, gn as getTotalPendingReplies, gt as getPluginToolMeta, h as buildDefaultToolPolicyPipelineSteps, i as resolveCronStyleNow, in as isExternalHookSession, ir as getTotalQueueSize, it as buildDeliveryFromLegacyPayload, j as resetDirectoryCache, jn as initSubagentRegistry, jr as extractImageContentFromSource, jt as sleepWithAbort, k as resolveOutboundSessionRoute, kn as countActiveDescendantRuns, kr as DEFAULT_INPUT_TIMEOUT_MS, kt as requestBodyErrorToText, l as runEmbeddedPiAgent, ln as buildHistoryContextFromEntries, lr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, m as applyToolPolicyPipeline, mr as lookupContextTokens, nn as detectSuspiciousPatterns, nr as getActiveTaskCount, nt as normalizeRequiredName, or as setCommandLaneConcurrency, ot as stripLegacyDeliveryFields, p as resolveModelProfile, pr as stripHeartbeatToken, pt as requestHeartbeatNow, qt as setCliSessionId, rn as getHookType, rt as migrateLegacyCronPayload, sr as waitForActiveTasks, tn as buildSafeExternalPrompt, tt as normalizePayloadToSystemText, vt as loadSymiPlugins, z as setGatewaySigusr1RestartPolicy, zn as getAgentRunContext, zt as resolveSessionDeliveryTarget } from "./reply-
|
|
4
|
+
import { $ as normalizeOptionalSessionKey, An as countActiveRunsForSession, Ar as extractFileContentFromSource, At as computeBackoff, B as setPreRestartDeferralCheck, Bn as onAgentEvent, Bt as createOutboundSendDeps, C as loadSessionEntry, Dr as DEFAULT_INPUT_IMAGE_MIMES, Dt as handleSlackHttpRequest, Er as DEFAULT_INPUT_IMAGE_MAX_BYTES, F as emitGatewayRestart, Fn as runSubagentAnnounceFlow, Fr as resolveAgentTimeoutMs, G as summarizeRestartSentinel, Gt as runWithModelFallback, I as isGatewaySigusr1RestartExternallyAllowed, In as readLatestAssistantReply, J as normalizeHttpWebhookUrl, Jt as runCliAgent, Kt as getCliSessionId, L as markGatewaySigusr1RestartHandled, Ln as clearAgentRunContext, Mn as listDescendantRunsForRequester, Mr as normalizeMimeList, Mt as agentCommand, N as consumeGatewaySigusr1RestartAuthorization, Nr as resolveInputFileLimits, Or as DEFAULT_INPUT_MAX_REDIRECTS, Ot as readJsonBodyWithLimit, P as deferGatewayRestartUntilIdle, Q as normalizeOptionalAgentId, Rn as emitAgentEvent, Rt as resolveOutboundTarget, Sr as enqueueSystemEvent, U as formatRestartSentinelMessage, Ut as createDefaultDeps, V as consumeRestartSentinel, Vn as registerAgentRunContext, Z as inferLegacyName, Zt as resolveAgentAvatar, _ as resolveAnnounceTargetFromKey, ar as resetAllLanes, at as hasLegacyDeliveryHints, cr as CommandLane, d as getActiveEmbeddedRunCount, et as normalizeOptionalText, ft as stripModelTokens, g as createSymiTools, gn as getTotalPendingReplies, gt as getPluginToolMeta, h as buildDefaultToolPolicyPipelineSteps, i as resolveCronStyleNow, in as isExternalHookSession, ir as getTotalQueueSize, it as buildDeliveryFromLegacyPayload, j as resetDirectoryCache, jn as initSubagentRegistry, jr as extractImageContentFromSource, jt as sleepWithAbort, k as resolveOutboundSessionRoute, kn as countActiveDescendantRuns, kr as DEFAULT_INPUT_TIMEOUT_MS, kt as requestBodyErrorToText, l as runEmbeddedPiAgent, ln as buildHistoryContextFromEntries, lr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, m as applyToolPolicyPipeline, mr as lookupContextTokens, nn as detectSuspiciousPatterns, nr as getActiveTaskCount, nt as normalizeRequiredName, or as setCommandLaneConcurrency, ot as stripLegacyDeliveryFields, p as resolveModelProfile, pr as stripHeartbeatToken, pt as requestHeartbeatNow, qt as setCliSessionId, rn as getHookType, rt as migrateLegacyCronPayload, sr as waitForActiveTasks, tn as buildSafeExternalPrompt, tt as normalizePayloadToSystemText, vt as loadSymiPlugins, z as setGatewaySigusr1RestartPolicy, zn as getAgentRunContext, zt as resolveSessionDeliveryTarget } from "./reply-Ca3slrA3.js";
|
|
5
5
|
import { S as parseAgentSessionKey, c as normalizeMainKey, f as toAgentRequestSessionKey, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, p as toAgentStoreSessionKey, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isSubagentSessionKey, y as isCronRunSessionKey } from "./session-key-DCt45XZa.js";
|
|
6
|
-
import { r as matchesSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-
|
|
6
|
+
import { r as matchesSkillFilter, t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
7
7
|
import { C as createInternalHookEvent, S as clearInternalHooks, T as triggerInternalHook, m as createEmptyPluginRegistry, r as DEFAULT_CHAT_CHANNEL, w as registerInternalHook } from "./registry-Cja8eT7G.js";
|
|
8
8
|
import { a as setConsoleSubsystemFilter, f as defaultRuntime, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
9
9
|
import { i as logDebug, n as runExec, s as logWarn, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
|
|
10
|
-
import { C as ensureAgentWorkspace, D as resolveDefaultAgentWorkspaceDir, O as resolveWorkspaceTemplateDir, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, r as resolveAgentConfig, s as resolveAgentSkillsFilter } from "./agent-scope-
|
|
11
|
-
import { Gt as DEFAULT_MODEL, Kt as DEFAULT_PROVIDER, Rt as isPidAlive, Wt as DEFAULT_CONTEXT_TOKENS, a as getModelRefStatus, d as resolveAllowedModelRef, h as resolveHooksGmailModel, o as isCliProvider, p as resolveConfiguredModelRef, y as resolveThinkingDefault } from "./model-selection-
|
|
10
|
+
import { C as ensureAgentWorkspace, D as resolveDefaultAgentWorkspaceDir, O as resolveWorkspaceTemplateDir, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, r as resolveAgentConfig, s as resolveAgentSkillsFilter } from "./agent-scope-CgUHAtCo.js";
|
|
11
|
+
import { Gt as DEFAULT_MODEL, Kt as DEFAULT_PROVIDER, Rt as isPidAlive, Wt as DEFAULT_CONTEXT_TOKENS, a as getModelRefStatus, d as resolveAllowedModelRef, h as resolveHooksGmailModel, o as isCliProvider, p as resolveConfiguredModelRef, y as resolveThinkingDefault } from "./model-selection-CyFvYcRt.js";
|
|
12
12
|
import "./github-copilot-token-DAu1a6BX.js";
|
|
13
13
|
import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
14
14
|
import "./boolean-BsqeuxE6.js";
|
|
15
15
|
import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
|
|
16
16
|
import { _ as normalizeGatewayClientMode, h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, p as GATEWAY_CLIENT_IDS, r as isGatewayCliClient, s as isWebchatClient } from "./message-channel-aT-I_DTX.js";
|
|
17
|
-
import "./send-
|
|
18
|
-
import { B as resolveAgentMaxConcurrent, C as parseDurationMs, H as VERSION, U as resolveRuntimeServiceVersion, V as resolveSubagentMaxConcurrent, i as loadConfig, l as writeConfigFile, n as migrateLegacyConfig, o as readConfigFileSnapshot, r as createConfigIO } from "./config-
|
|
17
|
+
import "./send-CZr1hVHY.js";
|
|
18
|
+
import { B as resolveAgentMaxConcurrent, C as parseDurationMs, H as VERSION, U as resolveRuntimeServiceVersion, V as resolveSubagentMaxConcurrent, i as loadConfig, l as writeConfigFile, n as migrateLegacyConfig, o as readConfigFileSnapshot, r as createConfigIO } from "./config-CHwyw6l5.js";
|
|
19
19
|
import { l as isTestDefaultMemorySlotDisabled } from "./manifest-registry-C4BxOMWX.js";
|
|
20
20
|
import { a as isPathInsideWithRealpath } from "./legacy-names-Be3msDZo.js";
|
|
21
|
-
import { d as registerUnhandledRejectionHandler } from "./runner-
|
|
22
|
-
import "./image-
|
|
23
|
-
import "./models-config-
|
|
21
|
+
import { d as registerUnhandledRejectionHandler } from "./runner-CUglpiFP.js";
|
|
22
|
+
import "./image-D9uvDTrc.js";
|
|
23
|
+
import "./models-config-qyOXrOli.js";
|
|
24
24
|
import "./pi-model-discovery-4uUnLc3n.js";
|
|
25
|
-
import "./pi-embedded-helpers-
|
|
26
|
-
import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-
|
|
27
|
-
import "./chrome-
|
|
25
|
+
import "./pi-embedded-helpers-CNPyv_ax.js";
|
|
26
|
+
import { S as resolveToolProfilePolicy, _ as collectExplicitAllowlist, b as mergeAlsoAllowPolicy } from "./sandbox-C-T6hOMv.js";
|
|
27
|
+
import "./chrome-DtPkPq9T.js";
|
|
28
28
|
import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-D5dKabOc.js";
|
|
29
29
|
import { t as safeEqualSecret } from "./secret-equal-D7A3Bol7.js";
|
|
30
30
|
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-B2SPYrh4.js";
|
|
31
31
|
import { a as isTrustedProxyAddress, d as resolveGatewayListenHosts, f as resolveHostName, l as resolveClientIp, n as isLoopbackAddress, o as isValidIPv4, r as isLoopbackHost, s as normalizeHostHeader, t as rawDataToString, u as resolveGatewayBindHost } from "./ws-C7EXRv8z.js";
|
|
32
32
|
import { a as resolveGatewayAuth, c as createAuthRateLimiter, i as isLocalDirectRequest, n as authorizeHttpGatewayConnect, o as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, r as authorizeWsControlUiGatewayConnect, s as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, t as assertGatewayAuthConfigured } from "./auth-B741uFtk.js";
|
|
33
|
-
import { g as mergeGatewayTailscaleConfig, h as ensureGatewayStartupAuth } from "./server-context-
|
|
33
|
+
import { g as mergeGatewayTailscaleConfig, h as ensureGatewayStartupAuth } from "./server-context-CEpFjqSk.js";
|
|
34
34
|
import { d as hasBinary } from "./frontmatter-DWQhtOo7.js";
|
|
35
|
-
import { r as buildWorkspaceSkillSnapshot } from "./skills-
|
|
36
|
-
import "./routes-
|
|
35
|
+
import { r as buildWorkspaceSkillSnapshot } from "./skills-6jdJQ5ZL.js";
|
|
36
|
+
import "./routes-Ba9CUQ8M.js";
|
|
37
37
|
import "./redact-f-Q-hFt_.js";
|
|
38
38
|
import { a as isErrno, n as formatErrorMessage } from "./errors-BF3TeRH2.js";
|
|
39
|
-
import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-
|
|
40
|
-
import "./paths-
|
|
39
|
+
import { n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-CUjO1ca2.js";
|
|
40
|
+
import "./paths-BBm9fwuG.js";
|
|
41
41
|
import { t as SsrFBlockedError } from "./ssrf-BCYMnxkM.js";
|
|
42
|
-
import { c as detectMime } from "./image-ops-
|
|
43
|
-
import "./store-
|
|
44
|
-
import { a as inspectPortUsage, r as ensurePortAvailable, s as formatPortDiagnostics } from "./ports-
|
|
42
|
+
import { c as detectMime } from "./image-ops-1OJMSAUX.js";
|
|
43
|
+
import "./store-r1DJSDq-.js";
|
|
44
|
+
import { a as inspectPortUsage, r as ensurePortAvailable, s as formatPortDiagnostics } from "./ports-BOmtxoTv.js";
|
|
45
45
|
import "./trash-DcMh1i4B.js";
|
|
46
|
-
import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, M as evaluateSessionFreshness, P as resolveSessionResetPolicy, U as resolveMainSessionKeyFromConfig, Y as cleanStaleLockFiles, _ as mergeDeliveryContext, d as updateSessionStore, h as deliveryContextFromSession, n as parseSessionThreadInfo, o as loadSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-
|
|
47
|
-
import "./dock-
|
|
48
|
-
import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-
|
|
49
|
-
import { n as resolveWhatsAppAccount } from "./accounts-
|
|
50
|
-
import "./accounts-
|
|
51
|
-
import "./accounts-
|
|
52
|
-
import { t as buildChannelAccountBindings } from "./bindings-
|
|
46
|
+
import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, M as evaluateSessionFreshness, P as resolveSessionResetPolicy, U as resolveMainSessionKeyFromConfig, Y as cleanStaleLockFiles, _ as mergeDeliveryContext, d as updateSessionStore, h as deliveryContextFromSession, n as parseSessionThreadInfo, o as loadSessionStore, z as canonicalizeMainSessionAlias } from "./sessions-DgYpBvse.js";
|
|
47
|
+
import "./dock-BhS32F6E.js";
|
|
48
|
+
import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DKDeQZF0.js";
|
|
49
|
+
import { n as resolveWhatsAppAccount } from "./accounts-DDuIpcln.js";
|
|
50
|
+
import "./accounts-bK-Yqdwx.js";
|
|
51
|
+
import "./accounts-DyJN4_vR.js";
|
|
52
|
+
import { t as buildChannelAccountBindings } from "./bindings-DFaVVCsf.js";
|
|
53
53
|
import "./logging-w5jq5901.js";
|
|
54
|
-
import "./send-
|
|
54
|
+
import "./send-CPF8hSFp.js";
|
|
55
55
|
import { c as resolveStorePath, i as resolveSessionTranscriptPath } from "./paths-CyhzMxFA.js";
|
|
56
|
-
import "./tool-images-
|
|
56
|
+
import "./tool-images-DvUBlqjX.js";
|
|
57
57
|
import "./tool-display-D8N3rsYt.js";
|
|
58
58
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
|
|
59
|
-
import "./api-key-rotation-
|
|
60
|
-
import "./local-roots-
|
|
61
|
-
import "./sqlite-
|
|
62
|
-
import { n as loadModelCatalog } from "./model-catalog-
|
|
59
|
+
import "./api-key-rotation-CzuPlV2t.js";
|
|
60
|
+
import "./local-roots-aAFLQGkY.js";
|
|
61
|
+
import "./sqlite-Dx3J_aSE.js";
|
|
62
|
+
import { n as loadModelCatalog } from "./model-catalog-DvBJ8pMD.js";
|
|
63
63
|
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-BuceUQDl.js";
|
|
64
|
-
import { r as getMachineDisplayName } from "./with-timeout-
|
|
65
|
-
import { C as getGlobalHookRunner, T as runGlobalGatewayStopSafely, t as deliverOutboundPayloads } from "./deliver-
|
|
64
|
+
import { r as getMachineDisplayName } from "./with-timeout-gmK6RciS.js";
|
|
65
|
+
import { C as getGlobalHookRunner, T as runGlobalGatewayStopSafely, t as deliverOutboundPayloads } from "./deliver-CceEhg3d.js";
|
|
66
66
|
import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-DjBRPfu9.js";
|
|
67
67
|
import "./diagnostic-session-state-CUslJyKP.js";
|
|
68
|
-
import "./send-
|
|
69
|
-
import "./model-
|
|
70
|
-
import { a as resolveAgentIdentity } from "./reply-prefix-
|
|
71
|
-
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-
|
|
72
|
-
import { i as resolveMemorySearchConfig } from "./manager-
|
|
68
|
+
import "./send-Cutb0ZDY.js";
|
|
69
|
+
import "./model-tWhwnFf8.js";
|
|
70
|
+
import { a as resolveAgentIdentity } from "./reply-prefix-CE2YmmsD.js";
|
|
71
|
+
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-Ca5r9AUb.js";
|
|
72
|
+
import { i as resolveMemorySearchConfig } from "./manager-D4LJSRyZ.js";
|
|
73
73
|
import "./retry-BoS4e4X_.js";
|
|
74
|
-
import { a as ToolInputError } from "./target-errors-
|
|
74
|
+
import { a as ToolInputError } from "./target-errors-7AvoVa10.js";
|
|
75
75
|
import "./chunk-1dhPX1NK.js";
|
|
76
|
-
import "./markdown-tables-
|
|
77
|
-
import "./ir-
|
|
76
|
+
import "./markdown-tables-CEbN0fEm.js";
|
|
77
|
+
import "./ir-DZam9q5M.js";
|
|
78
78
|
import "./render-CXDO_kgw.js";
|
|
79
|
-
import { r as isRestartEnabled } from "./commands-
|
|
80
|
-
import "./commands-registry-
|
|
81
|
-
import { At as ErrorCodes, Ft as approveDevicePairing, Gt as updatePairedDeviceMetadata, It as ensureDeviceToken, Kt as verifyDeviceToken, Lt as getPairedDevice, Pt as buildDeviceAuthPayload, Qt as verifyDeviceSignature, R as validateExecApprovalRequestParams, Vt as requestDevicePairing, Yt as deriveDeviceIdFromPublicKey, Zt as normalizeDevicePublicKeyBase64Url, at as validateRequestFrame, jt as errorShape, kt as PROTOCOL_VERSION, n as formatValidationErrors, qt as roleScopesAllow, w as validateConnectParams, z as validateExecApprovalResolveParams } from "./client-
|
|
82
|
-
import { f as loadGatewayTlsRuntime$1, n as callGateway } from "./call-
|
|
83
|
-
import "./pairing-token-
|
|
79
|
+
import { r as isRestartEnabled } from "./commands-BNLCWX6e.js";
|
|
80
|
+
import "./commands-registry-BT0-zzs3.js";
|
|
81
|
+
import { At as ErrorCodes, Ft as approveDevicePairing, Gt as updatePairedDeviceMetadata, It as ensureDeviceToken, Kt as verifyDeviceToken, Lt as getPairedDevice, Pt as buildDeviceAuthPayload, Qt as verifyDeviceSignature, R as validateExecApprovalRequestParams, Vt as requestDevicePairing, Yt as deriveDeviceIdFromPublicKey, Zt as normalizeDevicePublicKeyBase64Url, at as validateRequestFrame, jt as errorShape, kt as PROTOCOL_VERSION, n as formatValidationErrors, qt as roleScopesAllow, w as validateConnectParams, z as validateExecApprovalResolveParams } from "./client-CQSyCS4M.js";
|
|
82
|
+
import { f as loadGatewayTlsRuntime$1, n as callGateway } from "./call-CJaS1iRF.js";
|
|
83
|
+
import "./pairing-token-CX3NN_qj.js";
|
|
84
84
|
import "./channel-activity-BOiuJS3t.js";
|
|
85
85
|
import "./fetch-DTNGXEzX.js";
|
|
86
|
-
import "./tables-
|
|
87
|
-
import "./send-
|
|
88
|
-
import { a as readChannelAllowFromStoreSync } from "./pairing-store-
|
|
86
|
+
import "./tables-BEzT0Da4.js";
|
|
87
|
+
import "./send-tanEMpHN.js";
|
|
88
|
+
import { a as readChannelAllowFromStoreSync } from "./pairing-store-CK726Dzq.js";
|
|
89
89
|
import "./proxy-DU7W9XSc.js";
|
|
90
90
|
import { t as formatDocsLink } from "./links-3i1eUga4.js";
|
|
91
91
|
import { n as runCommandWithRuntime } from "./cli-utils-DN_hM6ov.js";
|
|
92
92
|
import { t as formatHelpExamples } from "./help-format-B_-M23wP.js";
|
|
93
93
|
import { n as withProgress } from "./progress-jIePzvGA.js";
|
|
94
|
-
import "./resolve-route-
|
|
95
|
-
import "./replies-
|
|
96
|
-
import { S as registerSkillsChangeListener, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, l as refreshRemoteBinsForConnectedNodes, o as getRemoteSkillEligibility, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion } from "./skill-commands-
|
|
97
|
-
import "./workspace-dirs-
|
|
98
|
-
import "./outbound-attachment-
|
|
94
|
+
import "./resolve-route-BMoTaVAH.js";
|
|
95
|
+
import "./replies-vgss3_QA.js";
|
|
96
|
+
import { S as registerSkillsChangeListener, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, l as refreshRemoteBinsForConnectedNodes, o as getRemoteSkillEligibility, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion } from "./skill-commands-Cxw-jNxU.js";
|
|
97
|
+
import "./workspace-dirs-GpkFi6Kw.js";
|
|
98
|
+
import "./outbound-attachment-D_QuKi8U.js";
|
|
99
99
|
import "./delivery-queue-Df1uodAG.js";
|
|
100
100
|
import { c as hasNonzeroUsage, s as deriveSessionTotalTokens } from "./session-cost-usage-BG4AXrGN.js";
|
|
101
|
-
import "./send-
|
|
102
|
-
import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-
|
|
101
|
+
import "./send-CXxQ_f7L.js";
|
|
102
|
+
import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-ZmZYzlq3.js";
|
|
103
103
|
import "./prompt-style-8JqOYj0q.js";
|
|
104
|
-
import "./pairing-labels-
|
|
104
|
+
import "./pairing-labels-2S6x2UoV.js";
|
|
105
105
|
import { n as formatTokenCount, r as formatUsd } from "./usage-format-BzKEDn0q.js";
|
|
106
106
|
import { t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-Kn31mBcW.js";
|
|
107
|
-
import "./nodes-screen-
|
|
108
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-
|
|
109
|
-
import "./control-service-
|
|
107
|
+
import "./nodes-screen-VBGXKdLk.js";
|
|
108
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-CIDBbw6x.js";
|
|
109
|
+
import "./control-service-Bz7rxLWq.js";
|
|
110
110
|
import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BUClb97_.js";
|
|
111
|
-
import { n as resolveMessageChannelSelection } from "./channel-selection-
|
|
111
|
+
import { n as resolveMessageChannelSelection } from "./channel-selection-DuWs0Aak.js";
|
|
112
112
|
import { i as onHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-U4BL57eQ.js";
|
|
113
113
|
import { t as ensureSymiCliOnPath } from "./path-env-MnzRq6nD.js";
|
|
114
114
|
import "./runtime-guard-B37eizu-.js";
|
|
115
|
-
import { t as forceFreePortAndWait } from "./ports-
|
|
115
|
+
import { t as forceFreePortAndWait } from "./ports-BX0kKI0g.js";
|
|
116
116
|
import "./catalog-RiADx7MA.js";
|
|
117
|
-
import "./skills-status-
|
|
117
|
+
import "./skills-status-CURJKnyY.js";
|
|
118
118
|
import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-BL-M3lPt.js";
|
|
119
119
|
import { n as inheritOptionFromParent } from "./command-options-BtDai3oC.js";
|
|
120
120
|
import { t as resolveChannelDefaultAccountId } from "./helpers-BcGbMZD1.js";
|
|
121
|
-
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-
|
|
122
|
-
import "./install-safe-path-
|
|
123
|
-
import "./skill-scanner-
|
|
124
|
-
import "./channels-status-issues-
|
|
125
|
-
import "./daemon-runtime
|
|
126
|
-
import "./systemd-
|
|
127
|
-
import "./service
|
|
128
|
-
import "./lifecycle-core-
|
|
129
|
-
import "./systemd-hints-
|
|
121
|
+
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BzX1uAKy.js";
|
|
122
|
+
import "./install-safe-path-tCLiMpmO.js";
|
|
123
|
+
import "./skill-scanner-CLs8u6vQ.js";
|
|
124
|
+
import "./channels-status-issues-B_kBkl_u.js";
|
|
125
|
+
import "./daemon-runtime-2mwX-jqj.js";
|
|
126
|
+
import "./systemd-riq8uNJQ.js";
|
|
127
|
+
import "./service-Cl74hx8J.js";
|
|
128
|
+
import "./lifecycle-core-D6LYXpFj.js";
|
|
129
|
+
import "./systemd-hints-BR6gChwm.js";
|
|
130
130
|
import { t as parsePort$1 } from "./parse-port-Vm8F7Kus.js";
|
|
131
|
-
import { n as addGatewayServiceCommands } from "./daemon-cli-
|
|
132
|
-
import "./diagnostics-
|
|
131
|
+
import { n as addGatewayServiceCommands } from "./daemon-cli-DscwlsKW.js";
|
|
132
|
+
import "./diagnostics-BAMlsVVX.js";
|
|
133
133
|
import "./table-BTgkRafz.js";
|
|
134
134
|
import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-DzLerlJb.js";
|
|
135
|
-
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-
|
|
136
|
-
import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-
|
|
135
|
+
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BJvwnR5z.js";
|
|
136
|
+
import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-CrITRV6w.js";
|
|
137
137
|
import { t as discoverGatewayBeacons } from "./bonjour-discovery-BHTF5p0X.js";
|
|
138
|
-
import { r as pickGatewaySelfPresence } from "./status-
|
|
139
|
-
import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-
|
|
140
|
-
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-
|
|
141
|
-
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-
|
|
142
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
143
|
-
import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-
|
|
144
|
-
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-
|
|
138
|
+
import { r as pickGatewaySelfPresence } from "./status-BXW5l4sd.js";
|
|
139
|
+
import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-CypF_2ZD.js";
|
|
140
|
+
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Z947tKLt.js";
|
|
141
|
+
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-CtckACbb.js";
|
|
142
|
+
import { t as runOnboardingWizard } from "./onboarding-CXWUjdM5.js";
|
|
143
|
+
import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-BYOkyf-q.js";
|
|
144
|
+
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-DeJt9kAO.js";
|
|
145
145
|
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-Bv0M7ka7.js";
|
|
146
|
-
import "./agents.config-
|
|
147
|
-
import "./dm-policy-shared-
|
|
148
|
-
import "./node-service-
|
|
149
|
-
import "./status.update-
|
|
150
|
-
import "./skills-install-
|
|
151
|
-
import "./update-runner-
|
|
152
|
-
import { t as resolveAgentSessionDirs } from "./session-dirs-
|
|
146
|
+
import "./agents.config-DCE3RGr9.js";
|
|
147
|
+
import "./dm-policy-shared-Bh3TbexU.js";
|
|
148
|
+
import "./node-service-Cxz4e-Qd.js";
|
|
149
|
+
import "./status.update-DtwCUTf-.js";
|
|
150
|
+
import "./skills-install-D67isO1L.js";
|
|
151
|
+
import "./update-runner-Bacq0oLK.js";
|
|
152
|
+
import { t as resolveAgentSessionDirs } from "./session-dirs-DWgIYmAt.js";
|
|
153
153
|
import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-CYxdoAlY.js";
|
|
154
154
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
155
155
|
import * as fsSync from "node:fs";
|
|
@@ -158,7 +158,7 @@ import os from "node:os";
|
|
|
158
158
|
import path from "node:path";
|
|
159
159
|
import JSON5 from "json5";
|
|
160
160
|
import chalk from "chalk";
|
|
161
|
-
import
|
|
161
|
+
import fs$1 from "node:fs/promises";
|
|
162
162
|
import { spawn } from "node:child_process";
|
|
163
163
|
import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
164
164
|
import { z } from "zod";
|
|
@@ -1151,7 +1151,7 @@ function shouldSkipCheck(allowInTests) {
|
|
|
1151
1151
|
}
|
|
1152
1152
|
async function readState(statePath) {
|
|
1153
1153
|
try {
|
|
1154
|
-
const raw = await
|
|
1154
|
+
const raw = await fs$1.readFile(statePath, "utf-8");
|
|
1155
1155
|
const parsed = JSON.parse(raw);
|
|
1156
1156
|
return parsed && typeof parsed === "object" ? parsed : {};
|
|
1157
1157
|
} catch {
|
|
@@ -1159,8 +1159,8 @@ async function readState(statePath) {
|
|
|
1159
1159
|
}
|
|
1160
1160
|
}
|
|
1161
1161
|
async function writeState(statePath, state) {
|
|
1162
|
-
await
|
|
1163
|
-
await
|
|
1162
|
+
await fs$1.mkdir(path.dirname(statePath), { recursive: true });
|
|
1163
|
+
await fs$1.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
|
|
1164
1164
|
}
|
|
1165
1165
|
function sameUpdateAvailable(a, b) {
|
|
1166
1166
|
if (a === b) return true;
|
|
@@ -1866,17 +1866,22 @@ function createChannelManager(opts) {
|
|
|
1866
1866
|
//#region src/gateway/server-chat.ts
|
|
1867
1867
|
/**
|
|
1868
1868
|
* Strip Gemma's self-verification monologue blocks from the final text.
|
|
1869
|
-
*
|
|
1869
|
+
* Gemma produces several variants of this pattern:
|
|
1870
1870
|
* "I have addressed the request fully.\n**Verification:**\n..."
|
|
1871
|
+
* "I've reviewed my response against your request:\n1. Requirements:..."
|
|
1872
|
+
* "**Verification:**\n1. **Address requirements:**..."
|
|
1871
1873
|
*/
|
|
1872
|
-
const
|
|
1873
|
-
|
|
1874
|
+
const MONOLOGUE_PATTERNS = [
|
|
1875
|
+
/\n*I have addressed the request fully\.?\s*(?:\n[\s\S]*)?$/,
|
|
1876
|
+
/\n*I['']ve reviewed my response[\s\S]*$/,
|
|
1877
|
+
/\n*\*?\*?Verification:?\*?\*?\s*\n[\s\S]*?(?:Everything is correct|All requirements met)\.?\s*✅?\s*$/,
|
|
1878
|
+
/\n*(?:\*?\*?)?(?:Status Check|Address requirements|Requirements):?(?:\*?\*?)?\s*\n[\s\S]*?(?:Everything is correct|All requirements met|is correct)\.?\s*✅?\s*$/,
|
|
1879
|
+
/\n*\d+\.\s*\*?\*?Requirements:?\*?\*?[\s\S]*?\d+\.\s*\*?\*?Verification:?\*?\*?[\s\S]*$/
|
|
1880
|
+
];
|
|
1874
1881
|
function suppressMonologueBlock(text) {
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
result = text.replace(pattern, "");
|
|
1879
|
-
if (result !== text) return result.trim();
|
|
1882
|
+
for (const pattern of MONOLOGUE_PATTERNS) {
|
|
1883
|
+
const result = text.replace(pattern, "");
|
|
1884
|
+
if (result !== text && result.trim()) return result.trim();
|
|
1880
1885
|
}
|
|
1881
1886
|
return text;
|
|
1882
1887
|
}
|
|
@@ -6473,7 +6478,7 @@ function normalizeAgentPayload(payload) {
|
|
|
6473
6478
|
async function startBrowserControlServerIfEnabled() {
|
|
6474
6479
|
if (isTruthyEnvValue(process.env.SYMI_SKIP_BROWSER_CONTROL_SERVER)) return null;
|
|
6475
6480
|
const override = process.env.SYMI_BROWSER_CONTROL_MODULE?.trim();
|
|
6476
|
-
const mod = override ? await import(override) : await import("./control-service-
|
|
6481
|
+
const mod = override ? await import(override) : await import("./control-service-Bz7rxLWq.js").then((n) => n.t);
|
|
6477
6482
|
const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
|
|
6478
6483
|
const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
|
|
6479
6484
|
if (!start) return null;
|
|
@@ -6701,7 +6706,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
|
|
|
6701
6706
|
if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
|
|
6702
6707
|
const candidate = path.join(rootReal, rel);
|
|
6703
6708
|
try {
|
|
6704
|
-
const st = await
|
|
6709
|
+
const st = await fs$1.lstat(candidate);
|
|
6705
6710
|
if (st.isSymbolicLink()) return null;
|
|
6706
6711
|
if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
|
|
6707
6712
|
} catch {}
|
|
@@ -6738,8 +6743,8 @@ async function resolveA2uiRoot() {
|
|
|
6738
6743
|
for (const dir of candidates) try {
|
|
6739
6744
|
const indexPath = path.join(dir, "index.html");
|
|
6740
6745
|
const bundlePath = path.join(dir, "a2ui.bundle.js");
|
|
6741
|
-
await
|
|
6742
|
-
await
|
|
6746
|
+
await fs$1.stat(indexPath);
|
|
6747
|
+
await fs$1.stat(bundlePath);
|
|
6743
6748
|
return dir;
|
|
6744
6749
|
} catch {}
|
|
6745
6750
|
return null;
|
|
@@ -6748,7 +6753,7 @@ async function resolveA2uiRootReal() {
|
|
|
6748
6753
|
if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
|
|
6749
6754
|
if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
|
|
6750
6755
|
const root = await resolveA2uiRoot();
|
|
6751
|
-
cachedA2uiRootReal = root ? await
|
|
6756
|
+
cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
|
|
6752
6757
|
cachedA2uiResolvedAtMs = Date.now();
|
|
6753
6758
|
resolvingA2uiRoot = null;
|
|
6754
6759
|
return cachedA2uiRootReal;
|
|
@@ -6969,13 +6974,13 @@ function normalizeBasePath(rawPath) {
|
|
|
6969
6974
|
}
|
|
6970
6975
|
async function prepareCanvasRoot(rootDir) {
|
|
6971
6976
|
await ensureDir(rootDir);
|
|
6972
|
-
const rootReal = await
|
|
6977
|
+
const rootReal = await fs$1.realpath(rootDir);
|
|
6973
6978
|
try {
|
|
6974
6979
|
const indexPath = path.join(rootReal, "index.html");
|
|
6975
|
-
await
|
|
6980
|
+
await fs$1.stat(indexPath);
|
|
6976
6981
|
} catch {
|
|
6977
6982
|
try {
|
|
6978
|
-
await
|
|
6983
|
+
await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
|
|
6979
6984
|
} catch {}
|
|
6980
6985
|
}
|
|
6981
6986
|
return rootReal;
|
|
@@ -9669,7 +9674,7 @@ function resolveGatewayOwnerStatus(pid, payload, platform) {
|
|
|
9669
9674
|
}
|
|
9670
9675
|
async function readLockPayload(lockPath) {
|
|
9671
9676
|
try {
|
|
9672
|
-
const raw = await
|
|
9677
|
+
const raw = await fs$1.readFile(lockPath, "utf8");
|
|
9673
9678
|
const parsed = JSON.parse(raw);
|
|
9674
9679
|
if (typeof parsed.pid !== "number") return null;
|
|
9675
9680
|
if (typeof parsed.createdAt !== "string") return null;
|
|
@@ -9703,11 +9708,11 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
9703
9708
|
const staleMs = opts.staleMs ?? DEFAULT_STALE_MS;
|
|
9704
9709
|
const platform = opts.platform ?? process.platform;
|
|
9705
9710
|
const { lockPath, configPath } = resolveGatewayLockPath(env);
|
|
9706
|
-
await
|
|
9711
|
+
await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
|
|
9707
9712
|
const startedAt = Date.now();
|
|
9708
9713
|
let lastPayload = null;
|
|
9709
9714
|
while (Date.now() - startedAt < timeoutMs) try {
|
|
9710
|
-
const handle = await
|
|
9715
|
+
const handle = await fs$1.open(lockPath, "wx");
|
|
9711
9716
|
const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
|
|
9712
9717
|
const payload = {
|
|
9713
9718
|
pid: process.pid,
|
|
@@ -9721,7 +9726,7 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
9721
9726
|
configPath,
|
|
9722
9727
|
release: async () => {
|
|
9723
9728
|
await handle.close().catch(() => void 0);
|
|
9724
|
-
await
|
|
9729
|
+
await fs$1.rm(lockPath, { force: true });
|
|
9725
9730
|
}
|
|
9726
9731
|
};
|
|
9727
9732
|
} catch (err) {
|
|
@@ -9730,7 +9735,7 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
9730
9735
|
const ownerPid = lastPayload?.pid;
|
|
9731
9736
|
const ownerStatus = ownerPid ? resolveGatewayOwnerStatus(ownerPid, lastPayload, platform) : "unknown";
|
|
9732
9737
|
if (ownerStatus === "dead" && ownerPid) {
|
|
9733
|
-
await
|
|
9738
|
+
await fs$1.rm(lockPath, { force: true });
|
|
9734
9739
|
continue;
|
|
9735
9740
|
}
|
|
9736
9741
|
if (ownerStatus !== "alive") {
|
|
@@ -9740,13 +9745,13 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
9740
9745
|
stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
|
|
9741
9746
|
}
|
|
9742
9747
|
if (!stale) try {
|
|
9743
|
-
const st = await
|
|
9748
|
+
const st = await fs$1.stat(lockPath);
|
|
9744
9749
|
stale = Date.now() - st.mtimeMs > staleMs;
|
|
9745
9750
|
} catch {
|
|
9746
9751
|
stale = true;
|
|
9747
9752
|
}
|
|
9748
9753
|
if (stale) {
|
|
9749
|
-
await
|
|
9754
|
+
await fs$1.rm(lockPath, { force: true });
|
|
9750
9755
|
continue;
|
|
9751
9756
|
}
|
|
9752
9757
|
}
|
|
@@ -11651,7 +11656,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
11651
11656
|
if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
|
|
11652
11657
|
if (!minimalTestGateway) (async () => {
|
|
11653
11658
|
const { recoverPendingDeliveries } = await import("./delivery-queue-Df1uodAG.js").then((n) => n.n);
|
|
11654
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
11659
|
+
const { deliverOutboundPayloads } = await import("./deliver-CceEhg3d.js").then((n) => n.n);
|
|
11655
11660
|
await recoverPendingDeliveries({
|
|
11656
11661
|
deliver: deliverOutboundPayloads,
|
|
11657
11662
|
log: log.child("delivery-recovery"),
|
|
@@ -11724,7 +11729,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
11724
11729
|
});
|
|
11725
11730
|
let glassUiBridgeCleanup = null;
|
|
11726
11731
|
if (!minimalTestGateway) {
|
|
11727
|
-
const { createGlassUiBridge } = await import("./glass-ui-ws-
|
|
11732
|
+
const { createGlassUiBridge } = await import("./glass-ui-ws-Bj1IuJXt.js");
|
|
11728
11733
|
glassUiBridgeCleanup = createGlassUiBridge({
|
|
11729
11734
|
wss: glassUiWss,
|
|
11730
11735
|
context: gatewayRequestContext,
|
|
@@ -21,7 +21,7 @@ import "./pairing-token-Byh6drgn.js";
|
|
|
21
21
|
import { t as safeEqualSecret } from "./secret-equal-CbntzRkh.js";
|
|
22
22
|
import { a as isValidIPv4, c as resolveClientIp, d as resolveHostName, f as rawDataToString, i as isTrustedProxyAddress, l as resolveGatewayBindHost, n as isLoopbackHost, o as normalizeHostHeader, t as isLoopbackAddress, u as resolveGatewayListenHosts } from "./net-DZ5Ayk-W.js";
|
|
23
23
|
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-Cmumpn76.js";
|
|
24
|
-
import { $ as resolveCronStyleNow, $t as setGatewaySigusr1RestartPolicy, An as DEFAULT_INPUT_MAX_REDIRECTS, At as normalizeOptionalAgentId, C as readJsonBodyWithLimit, Cr as getAgentRunContext, Ct as summarizeRestartSentinel, D as agentCommand, E as sleepWithAbort, Et as normalizeHttpWebhookUrl, Fn as resolveInputFileLimits, Ft as migrateLegacyCronPayload, Ht as detectSuspiciousPatterns, It as buildDeliveryFromLegacyPayload, J as getTotalPendingReplies, Jt as deferGatewayRestartUntilIdle, Ln as resolveAgentTimeoutMs, Lt as hasLegacyDeliveryHints, M as createDefaultDeps, Mn as extractFileContentFromSource, Mt as normalizeOptionalText, Nn as extractImageContentFromSource, Nt as normalizePayloadToSystemText, On as DEFAULT_INPUT_IMAGE_MAX_BYTES, P as resolveAgentAvatar, Pn as normalizeMimeList, Pt as normalizeRequiredName, Rt as stripLegacyDeliveryFields, S as handleSlackHttpRequest, Sr as emitAgentEvent, T as computeBackoff, Tr as registerAgentRunContext, Ut as getHookType, V as buildHistoryContextFromEntries, Vt as buildSafeExternalPrompt, Wt as isExternalHookSession, Xt as isGatewaySigusr1RestartExternallyAllowed, Yt as emitGatewayRestart, Zt as markGatewaySigusr1RestartHandled, _ as stripModelTokens, _t as runWithModelFallback, at as readLatestAssistantReply, b as loadSymiPlugins, br as stripHeartbeatToken, d as getActiveEmbeddedRunCount, dr as getTotalQueueSize, en as setPreRestartDeferralCheck, et as getCliSessionId, fn as requestHeartbeatNow, fr as resetAllLanes, ft as resolveOutboundTarget, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, h as buildDefaultToolPolicyPipelineSteps, hr as CommandLane, ht as resetDirectoryCache, i as listDescendantRunsForRequester, it as createSymiTools, j as createOutboundSendDeps, jn as DEFAULT_INPUT_TIMEOUT_MS, jt as normalizeOptionalSessionKey, kn as DEFAULT_INPUT_IMAGE_MIMES, kt as inferLegacyName, l as runEmbeddedPiAgent, lr as getActiveTaskCount, lt as resolveOutboundSessionRoute, m as applyToolPolicyPipeline, mr as waitForActiveTasks, n as countActiveRunsForSession, nt as runCliAgent, ot as resolveAnnounceTargetFromKey, p as resolveModelProfile, pr as setCommandLaneConcurrency, pt as resolveSessionDeliveryTarget, qt as consumeGatewaySigusr1RestartAuthorization, r as initSubagentRegistry, s as runSubagentAnnounceFlow, t as countActiveDescendantRuns, tt as setCliSessionId, v as getPluginToolMeta, w as requestBodyErrorToText, wn as enqueueSystemEvent, wr as onAgentEvent, xr as clearAgentRunContext, xt as formatRestartSentinelMessage, yt as consumeRestartSentinel } from "./subagent-registry-
|
|
24
|
+
import { $ as resolveCronStyleNow, $t as setGatewaySigusr1RestartPolicy, An as DEFAULT_INPUT_MAX_REDIRECTS, At as normalizeOptionalAgentId, C as readJsonBodyWithLimit, Cr as getAgentRunContext, Ct as summarizeRestartSentinel, D as agentCommand, E as sleepWithAbort, Et as normalizeHttpWebhookUrl, Fn as resolveInputFileLimits, Ft as migrateLegacyCronPayload, Ht as detectSuspiciousPatterns, It as buildDeliveryFromLegacyPayload, J as getTotalPendingReplies, Jt as deferGatewayRestartUntilIdle, Ln as resolveAgentTimeoutMs, Lt as hasLegacyDeliveryHints, M as createDefaultDeps, Mn as extractFileContentFromSource, Mt as normalizeOptionalText, Nn as extractImageContentFromSource, Nt as normalizePayloadToSystemText, On as DEFAULT_INPUT_IMAGE_MAX_BYTES, P as resolveAgentAvatar, Pn as normalizeMimeList, Pt as normalizeRequiredName, Rt as stripLegacyDeliveryFields, S as handleSlackHttpRequest, Sr as emitAgentEvent, T as computeBackoff, Tr as registerAgentRunContext, Ut as getHookType, V as buildHistoryContextFromEntries, Vt as buildSafeExternalPrompt, Wt as isExternalHookSession, Xt as isGatewaySigusr1RestartExternallyAllowed, Yt as emitGatewayRestart, Zt as markGatewaySigusr1RestartHandled, _ as stripModelTokens, _t as runWithModelFallback, at as readLatestAssistantReply, b as loadSymiPlugins, br as stripHeartbeatToken, d as getActiveEmbeddedRunCount, dr as getTotalQueueSize, en as setPreRestartDeferralCheck, et as getCliSessionId, fn as requestHeartbeatNow, fr as resetAllLanes, ft as resolveOutboundTarget, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, h as buildDefaultToolPolicyPipelineSteps, hr as CommandLane, ht as resetDirectoryCache, i as listDescendantRunsForRequester, it as createSymiTools, j as createOutboundSendDeps, jn as DEFAULT_INPUT_TIMEOUT_MS, jt as normalizeOptionalSessionKey, kn as DEFAULT_INPUT_IMAGE_MIMES, kt as inferLegacyName, l as runEmbeddedPiAgent, lr as getActiveTaskCount, lt as resolveOutboundSessionRoute, m as applyToolPolicyPipeline, mr as waitForActiveTasks, n as countActiveRunsForSession, nt as runCliAgent, ot as resolveAnnounceTargetFromKey, p as resolveModelProfile, pr as setCommandLaneConcurrency, pt as resolveSessionDeliveryTarget, qt as consumeGatewaySigusr1RestartAuthorization, r as initSubagentRegistry, s as runSubagentAnnounceFlow, t as countActiveDescendantRuns, tt as setCliSessionId, v as getPluginToolMeta, w as requestBodyErrorToText, wn as enqueueSystemEvent, wr as onAgentEvent, xr as clearAgentRunContext, xt as formatRestartSentinelMessage, yt as consumeRestartSentinel } from "./subagent-registry-CbTbJKLs.js";
|
|
25
25
|
import { D as resolveSessionResetPolicy, F as resolveMainSessionKey, H as cleanStaleLockFiles, I as resolveMainSessionKeyFromConfig, K as mergeDeliveryContext, M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, T as evaluateSessionFreshness, W as deliveryContextFromSession, d as updateSessionStore, n as parseSessionThreadInfo, o as loadSessionStore } from "./sessions-CJXnZVjR.js";
|
|
26
26
|
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Csntmwwn.js";
|
|
27
27
|
import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
|
|
@@ -130,20 +130,20 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
|
|
|
130
130
|
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BtG9rny3.js";
|
|
131
131
|
import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-Byo5jCLN.js";
|
|
132
132
|
import { t as discoverGatewayBeacons } from "./bonjour-discovery-CA_XIzr_.js";
|
|
133
|
-
import { i as pickGatewaySelfPresence } from "./status-
|
|
134
|
-
import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-
|
|
133
|
+
import { i as pickGatewaySelfPresence } from "./status-BxbbINLV.js";
|
|
134
|
+
import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-Bst5HnLF.js";
|
|
135
135
|
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
|
|
136
136
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
|
|
137
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
138
|
-
import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-
|
|
139
|
-
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-
|
|
137
|
+
import { t as runOnboardingWizard } from "./onboarding-DWs6tHZ9.js";
|
|
138
|
+
import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-b_Qod4tt.js";
|
|
139
|
+
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-CFkFVwEz.js";
|
|
140
140
|
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CzWeiE-Y.js";
|
|
141
|
-
import "./agents.config-
|
|
141
|
+
import "./agents.config-DTUAM1AG.js";
|
|
142
142
|
import "./dm-policy-shared-DJ-61hCT.js";
|
|
143
143
|
import "./node-service-fcZExd22.js";
|
|
144
144
|
import "./status.update-DbmZz0Aq.js";
|
|
145
145
|
import "./skills-install-1ZdwGTnh.js";
|
|
146
|
-
import "./update-runner-
|
|
146
|
+
import "./update-runner-B0NdgPvD.js";
|
|
147
147
|
import { t as resolveAgentSessionDirs } from "./session-dirs-DWgIYmAt.js";
|
|
148
148
|
import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B51TF6q3.js";
|
|
149
149
|
import { n as forceFreePortAndWait } from "./ports-Dn122MUd.js";
|
|
@@ -1862,17 +1862,22 @@ function createChannelManager(opts) {
|
|
|
1862
1862
|
//#region src/gateway/server-chat.ts
|
|
1863
1863
|
/**
|
|
1864
1864
|
* Strip Gemma's self-verification monologue blocks from the final text.
|
|
1865
|
-
*
|
|
1865
|
+
* Gemma produces several variants of this pattern:
|
|
1866
1866
|
* "I have addressed the request fully.\n**Verification:**\n..."
|
|
1867
|
+
* "I've reviewed my response against your request:\n1. Requirements:..."
|
|
1868
|
+
* "**Verification:**\n1. **Address requirements:**..."
|
|
1867
1869
|
*/
|
|
1868
|
-
const
|
|
1869
|
-
|
|
1870
|
+
const MONOLOGUE_PATTERNS = [
|
|
1871
|
+
/\n*I have addressed the request fully\.?\s*(?:\n[\s\S]*)?$/,
|
|
1872
|
+
/\n*I['']ve reviewed my response[\s\S]*$/,
|
|
1873
|
+
/\n*\*?\*?Verification:?\*?\*?\s*\n[\s\S]*?(?:Everything is correct|All requirements met)\.?\s*✅?\s*$/,
|
|
1874
|
+
/\n*(?:\*?\*?)?(?:Status Check|Address requirements|Requirements):?(?:\*?\*?)?\s*\n[\s\S]*?(?:Everything is correct|All requirements met|is correct)\.?\s*✅?\s*$/,
|
|
1875
|
+
/\n*\d+\.\s*\*?\*?Requirements:?\*?\*?[\s\S]*?\d+\.\s*\*?\*?Verification:?\*?\*?[\s\S]*$/
|
|
1876
|
+
];
|
|
1870
1877
|
function suppressMonologueBlock(text) {
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
result = text.replace(pattern, "");
|
|
1875
|
-
if (result !== text) return result.trim();
|
|
1878
|
+
for (const pattern of MONOLOGUE_PATTERNS) {
|
|
1879
|
+
const result = text.replace(pattern, "");
|
|
1880
|
+
if (result !== text && result.trim()) return result.trim();
|
|
1876
1881
|
}
|
|
1877
1882
|
return text;
|
|
1878
1883
|
}
|
|
@@ -11720,7 +11725,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
11720
11725
|
});
|
|
11721
11726
|
let glassUiBridgeCleanup = null;
|
|
11722
11727
|
if (!minimalTestGateway) {
|
|
11723
|
-
const { createGlassUiBridge } = await import("./glass-ui-ws-
|
|
11728
|
+
const { createGlassUiBridge } = await import("./glass-ui-ws-rGIAkViC.js");
|
|
11724
11729
|
glassUiBridgeCleanup = createGlassUiBridge({
|
|
11725
11730
|
wss: glassUiWss,
|
|
11726
11731
|
context: gatewayRequestContext,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-aT-I_DTX.js";
|
|
2
|
-
import { n as callGateway } from "./call-
|
|
2
|
+
import { n as callGateway } from "./call-CJaS1iRF.js";
|
|
3
3
|
import { n as withProgress } from "./progress-jIePzvGA.js";
|
|
4
4
|
|
|
5
5
|
//#region src/cli/gateway-rpc.ts
|