@symerian/symi 2.2.3 → 2.2.5
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/{acp-cli-Du8fRGBa.js → acp-cli-C39L0DlT.js} +3 -3
- package/dist/{acp-cli-Bna3MxOq.js → acp-cli-C3PXowAr.js} +3 -3
- package/dist/{agents-8RYg6m85.js → agents-nuS2h5ue.js} +8 -8
- package/dist/{agents.config-CiIQKRrQ.js → agents.config-3mkYv9BE.js} +1 -1
- package/dist/{agents.config-CdRLYtDT.js → agents.config-pj-OsrUT.js} +1 -1
- package/dist/{api-key-rotation-Bp9k7ZyG.js → api-key-rotation-CzuPlV2t.js} +1 -1
- package/dist/{audio-preflight-BRlpHcCR.js → audio-preflight-BsS_1f9-.js} +7 -7
- package/dist/{audio-preflight-BTscduRA.js → audio-preflight-Cv9Z1hfd.js} +7 -7
- package/dist/{audio-preflight-rOeZK01x.js → audio-preflight-D6xo_ucC.js} +13 -13
- package/dist/{audio-preflight-BKATxTck.js → audio-preflight-Dx82ytdb.js} +13 -13
- package/dist/{audit-C5u6Num8.js → audit-CbxXbquQ.js} +7 -7
- package/dist/{audit-D7aJvZXq.js → audit-F6tyY79q.js} +7 -7
- package/dist/{auth-choice-BozovyEs.js → auth-choice-BRJsVuNT.js} +7 -7
- package/dist/{auth-choice-emROIg2T.js → auth-choice-D3a-vonc.js} +7 -7
- package/dist/{auth-profiles-D50VvUSM.js → auth-profiles-Q1xTr5SX.js} +2 -2
- package/dist/{auth-token-D59CEpWW.js → auth-token-BnOynwk4.js} +1 -1
- package/dist/{auth-token-DozEQbVr.js → auth-token-Cmrk2TPo.js} +1 -1
- package/dist/{banner-CX6XrBN2.js → banner-Bb1_x1cQ.js} +1 -1
- package/dist/{browser-cli-C7Zfehg7.js → browser-cli-BsdB0_5b.js} +4 -4
- package/dist/{browser-cli-zKc4tfKu.js → browser-cli-CTQX5_tu.js} +4 -4
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +18 -18
- package/dist/bundled/session-memory/handler.js +18 -18
- package/dist/{call-LVvWprAt.js → call-BOIceRVF.js} +1 -1
- package/dist/{call-BVISvpgh.js → call-C7OJzLEL.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-zYvgEzYa.js → channel-options-CDZ4h6SP.js} +1 -1
- package/dist/{channel-options-CLvqMbli.js → channel-options-s4gZAPwl.js} +1 -1
- package/dist/{channel-web-D8wlUPuV.js → channel-web-CKn3vwF-.js} +8 -8
- package/dist/{channels-cli-CfDL9blS.js → channels-cli-BsRDVuN-.js} +39 -39
- package/dist/{channels-cli-BAXauOCT.js → channels-cli-C1ThSe3E.js} +38 -38
- package/dist/{chrome-UWTgM4pp.js → chrome-Bf5N4gMh.js} +8 -8
- package/dist/{chrome-CWZN2Wru.js → chrome-BtuJAYB6.js} +1 -1
- package/dist/{chrome-BrvzGNct.js → chrome-CCN6Uf1O.js} +1 -1
- package/dist/{chrome-Cls3DwAh.js → chrome-CQNK4Of4.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-gwKcIzjh.js → cli-CMonzisL.js} +34 -34
- package/dist/{cli-DAAn_Q1h.js → cli-CdwLjjyv.js} +33 -33
- package/dist/{command-registry-6-Epip50.js → command-registry-TnD0Wo00.js} +11 -11
- package/dist/{commands-registry-kLJ2gc7a.js → commands-registry-BT0-zzs3.js} +1 -1
- package/dist/{commands-registry-Yr7dFSYh.js → commands-registry-C_aYUwpl.js} +1 -1
- package/dist/{commands-registry-C6WYiYiF.js → commands-registry-D1K_inhv.js} +1 -1
- package/dist/{commands-registry-0NMRzaLN.js → commands-registry-D7CTCQPm.js} +1 -1
- package/dist/{completion-cli-BYtHEIw0.js → completion-cli-5kGhguIU.js} +1 -1
- package/dist/{completion-cli-TH7X9ADT.js → completion-cli-pvycADdj.js} +2 -2
- package/dist/{config-Dq_x99T6.js → config-Btm9gODl.js} +1 -1
- package/dist/{config-DUFzG8nk.js → config-CJigbfdK.js} +1 -1
- package/dist/{config-B4vvZ50j.js → config-CT6a99bQ.js} +1 -1
- package/dist/{config-BKHu57Z8.js → config-CkPct-ND.js} +1 -1
- package/dist/{config-cli-Bq-d4Bd3.js → config-cli-DWCX4dyC.js} +3 -3
- package/dist/{config-cli-ChkpKQKQ.js → config-cli-DxZEez4W.js} +3 -3
- package/dist/{config-guard-D71QEo4l.js → config-guard-Fe8ddF5U.js} +2 -2
- package/dist/{config-guard-D_Wa_VzR.js → config-guard-Q2nmK4Xy.js} +5 -5
- package/dist/{config-validation-C8Jovl_O.js → config-validation-CqVVl--v.js} +1 -1
- package/dist/{config-validation-BPwtp2ug.js → config-validation-DXA9-y5q.js} +1 -1
- package/dist/{configure-CgpKvTTe.js → configure-B90B0uFn.js} +11 -11
- package/dist/{configure-B_VM3Jn-.js → configure-kEIiLFLp.js} +11 -11
- package/dist/{control-service-Cp6YF9nL.js → control-service-D2-SfYYP.js} +4 -4
- package/dist/{control-service-Bqt8XaMU.js → control-service-DWy5T1wZ.js} +4 -4
- package/dist/control-ui/css/style.css +89 -0
- package/dist/control-ui/index.html +14 -0
- package/dist/control-ui/js/app.js +57 -55
- package/dist/control-ui/js/connections.js +0 -1
- package/dist/control-ui/js/render.js +3 -25
- package/dist/control-ui/js/symipulse.js +140 -0
- package/dist/{cron-cli-DGjJMAr1.js → cron-cli-BXgHvojs.js} +4 -4
- package/dist/{cron-cli-Fp34mxY5.js → cron-cli-DCjmF5-B.js} +4 -4
- package/dist/{daemon-cli-72GOx7bt.js → daemon-cli-2Xzn9zI0.js} +6 -6
- package/dist/{daemon-cli-DSOoqqBJ.js → daemon-cli-D-Ceof_K.js} +6 -6
- package/dist/{daemon-runtime-C7nsIPCx.js → daemon-runtime-Co0_hiZm.js} +1 -1
- package/dist/{daemon-runtime-Zn1biSyw.js → daemon-runtime-DpFImSwP.js} +1 -1
- package/dist/{deliver-kNQ9ZMDW.js → deliver-CBVqE05W.js} +2 -2
- package/dist/{deliver-CTDOQQuN.js → deliver-CeOnWRNZ.js} +2 -2
- package/dist/{deliver-BwCh5y_2.js → deliver-CuDHWgo8.js} +3 -3
- package/dist/{deliver-CwVfYbus.js → deliver-PKvGnPCv.js} +3 -3
- package/dist/{devices-cli-CWTIvH3R.js → devices-cli-Sgz97CCh.js} +3 -3
- package/dist/{devices-cli-DgHCg5LQ.js → devices-cli-gzdkKCIr.js} +3 -3
- package/dist/{directory-cli-P_wyCi1I.js → directory-cli-B3reyWxB.js} +2 -2
- package/dist/{directory-cli-37L93Ap1.js → directory-cli-B7qWiEB9.js} +2 -2
- package/dist/{dm-policy-shared-BgUzuk0U.js → dm-policy-shared-Bh3TbexU.js} +1 -1
- package/dist/{dm-policy-shared-FrHzH3Nr.js → dm-policy-shared-DJ-61hCT.js} +1 -1
- package/dist/{dns-cli-CUDSQTkQ.js → dns-cli-CAyakH9y.js} +2 -2
- package/dist/{dns-cli-CQtRCHmV.js → dns-cli-w2PtF7dQ.js} +2 -2
- package/dist/{doctor-completion-fbH54Jj7.js → doctor-completion-BOwgNORd.js} +1 -1
- package/dist/{doctor-completion-CnVoavC3.js → doctor-completion-Cye8oKIJ.js} +1 -1
- package/dist/{doctor-config-flow-DsAuXzqC.js → doctor-config-flow-Bvd_Aoem.js} +3 -3
- package/dist/{doctor-config-flow-DH_f8jHa.js → doctor-config-flow-q1cK5vqE.js} +3 -3
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-T4FR11m0.js → exec-approvals-cli-BGR981x_.js} +5 -5
- package/dist/{exec-approvals-cli-CYbEbEFa.js → exec-approvals-cli-qL61CX5W.js} +5 -5
- package/dist/extensionAPI.js +18 -18
- package/dist/{gateway-cli-5KbKvzin.js → gateway-cli-Ce2t7jof.js} +55 -52
- package/dist/{gateway-cli-BRyMIKxV.js → gateway-cli-DRYkJB-y.js} +54 -51
- package/dist/{gateway-rpc-BtafLVuS.js → gateway-rpc-DjjmZ7bN.js} +1 -1
- package/dist/{gateway-rpc-WcEYVx34.js → gateway-rpc-o-EndnYx.js} +1 -1
- package/dist/{gemini-auth-CzMTkYUR.js → gemini-auth-CSlZZ1Pw.js} +1 -1
- package/dist/{gemini-auth-DArMiiQ-.js → gemini-auth-CdSPHuLl.js} +1 -1
- package/dist/{gemini-auth-JxZPFBUa.js → gemini-auth-CgCIvUpe.js} +1 -1
- package/dist/{glass-ui-ws-0Ze44Jur.js → glass-ui-ws--I0WsG7s.js} +42 -42
- package/dist/{glass-ui-ws-Bv9UjE1a.js → glass-ui-ws-CRdvmB5D.js} +43 -43
- package/dist/{health-Qt9scNxY.js → health-C1DLgFhT.js} +5 -5
- package/dist/{health-D0lyZ3zu.js → health-CJoGuAfg.js} +5 -5
- package/dist/{hooks-cli-qZgPm5CY.js → hooks-cli-CrzS9jmd.js} +35 -35
- package/dist/{hooks-cli-CnbA8vtb.js → hooks-cli-EtlTf6l_.js} +34 -34
- package/dist/{image-BLbd_nuV.js → image-Bf75JOg6.js} +3 -3
- package/dist/{image-uMolleie.js → image-CAI2RIyk.js} +3 -3
- package/dist/{image-CxIpPVMR.js → image-CAUuNGNO.js} +3 -3
- package/dist/{image-BS8hxpGK.js → image-Crdjqg8r.js} +3 -3
- package/dist/index.js +42 -42
- package/dist/{lifecycle-core-C59n_KOw.js → lifecycle-core-D7Ye5Yes.js} +2 -2
- package/dist/{lifecycle-core-DRMfh4pQ.js → lifecycle-core-S8m0j4NY.js} +2 -2
- package/dist/llm-slug-generator.js +18 -18
- package/dist/{login-Dc0qnD6G.js → login-Bw5pRDS9.js} +2 -2
- package/dist/{login-D8fiJRuQ.js → login-CLDr2P2d.js} +2 -2
- package/dist/{login-BEfGwFAh.js → login-CrnzK7Rc.js} +2 -2
- package/dist/{login-Bj-KgOdg.js → login-Cy0xKkFK.js} +2 -2
- package/dist/{login-qr-CNhHa-OJ.js → login-qr-B1vLxxOr.js} +3 -3
- package/dist/{login-qr-Dj4yxJgE.js → login-qr-CJ3r_moH.js} +3 -3
- package/dist/{login-qr-CKrKt_Dk.js → login-qr-UgF5nhwc.js} +3 -3
- package/dist/{login-qr-BJt27ZTY.js → login-qr-x-m9V4_i.js} +3 -3
- package/dist/{logs-cli-Dy8RK1_B.js → logs-cli-DJIwkEZN.js} +4 -4
- package/dist/{logs-cli-D9d-QUhs.js → logs-cli-DoSU6ypE.js} +4 -4
- package/dist/{manager-D2-PGb1t.js → manager-D4LJSRyZ.js} +2 -2
- package/dist/{manager-Br0K1phy.js → manager-D_LwXbc6.js} +2 -2
- package/dist/{manager-BJ01W6wB.js → manager-Vb2F7vQq.js} +2 -2
- package/dist/{manager-CQEOBf7C.js → manager-jpn5vRTY.js} +2 -2
- package/dist/{memory-cli-pOnpK1k6.js → memory-cli-B1eBVFD2.js} +5 -5
- package/dist/{memory-cli-BWNSgR9o.js → memory-cli-DKU7WTEa.js} +5 -5
- package/dist/{model-CllpA6xj.js → model-DiCH8rkE.js} +1 -1
- package/dist/{model-auth-C0lf7ivI.js → model-auth-DK43VicI.js} +2 -2
- package/dist/{model-catalog-CFghbP-E.js → model-catalog-67tJywj6.js} +4 -4
- package/dist/{model-catalog-JMKNE8Wa.js → model-catalog-D2Q4fkGC.js} +4 -4
- package/dist/{model-picker-Cj2Q7Lbt.js → model-picker-C5-xr7Au.js} +3 -3
- package/dist/{model-picker-mNeRVvgh.js → model-picker-Cv_lMtfR.js} +3 -3
- package/dist/{model-selection-aj1WcjMo.js → model-selection-BQCG9ah0.js} +2 -2
- package/dist/{model-selection-BE-cZv7E.js → model-selection-CyFvYcRt.js} +2 -2
- package/dist/{model-DVbFpUdd.js → model-tWhwnFf8.js} +1 -1
- package/dist/{models-lsz0EsOf.js → models-DHCzr9eP.js} +14 -14
- package/dist/{models-cli-D7SsImNG.js → models-cli-C4ExoUXy.js} +40 -40
- package/dist/{models-cli-mpy8BpeZ.js → models-cli-C4ukQVHf.js} +39 -39
- package/dist/{models-config-DXXFe97G.js → models-config--wR0kLo6.js} +2 -2
- package/dist/{models-config-CEUYyXHv.js → models-config-CZKT8W0M.js} +2 -2
- package/dist/{node-cli-CDvMlq9-.js → node-cli-D8nG9EDD.js} +10 -10
- package/dist/{node-cli-CIHDUpyr.js → node-cli-DGmvLskU.js} +10 -10
- package/dist/{nodes-cli-CCrerGSI.js → nodes-cli-B058F0sZ.js} +4 -4
- package/dist/{nodes-cli-DOfUbvnE.js → nodes-cli-BZ5aitST.js} +4 -4
- package/dist/{onboard-DOc-Rmjx.js → onboard-CAcATXB3.js} +10 -10
- package/dist/{onboard-CKy5lv1_.js → onboard-QtMwCIU2.js} +10 -10
- package/dist/{onboard-channels-CqYJzdYN.js → onboard-channels-DDt5x3Xi.js} +2 -2
- package/dist/{onboard-channels-BTlSk2wA.js → onboard-channels-Iy7uyjqi.js} +2 -2
- package/dist/{onboard-custom-DNY7TE24.js → onboard-custom-Bcifi3N2.js} +3 -3
- package/dist/{onboard-custom-czPbiodI.js → onboard-custom-BiDvzYz-.js} +3 -3
- package/dist/{onboard-helpers-Dzgje2oV.js → onboard-helpers-Cammg0Xb.js} +2 -2
- package/dist/{onboard-helpers-kUQUE1Cd.js → onboard-helpers-DHgVt6rY.js} +2 -2
- package/dist/{onboard-remote-DAi8E8g1.js → onboard-remote-BnOKv_rG.js} +1 -1
- package/dist/{onboard-remote-Ctw4GIh3.js → onboard-remote-CPI1Dsgo.js} +1 -1
- package/dist/{onboard-skills-D8bU-3Js.js → onboard-skills-5R6rRZiZ.js} +2 -2
- package/dist/{onboard-skills-DarFLGte.js → onboard-skills-LkCNrrQL.js} +2 -2
- package/dist/{onboarding-Bofzcfdn.js → onboarding-CRU_W0dm.js} +11 -11
- package/dist/{onboarding-DigkL1Oj.js → onboarding-DtTOnF5l.js} +11 -11
- package/dist/{onboarding.finalize-D7dWjUit.js → onboarding.finalize-CKAIiDqs.js} +39 -39
- package/dist/{onboarding.finalize-CSqJR8R6.js → onboarding.finalize-DhDP0q8g.js} +41 -41
- package/dist/{onboarding.gateway-config-BeNoETxT.js → onboarding.gateway-config-BOUh5scQ.js} +5 -5
- package/dist/{onboarding.gateway-config-Ccb0_1Mn.js → onboarding.gateway-config-xF_Hfx5r.js} +5 -5
- package/dist/{openai-model-default-D0xjm6zL.js → openai-model-default-DAwnTUcK.js} +2 -2
- package/dist/{openai-model-default-DNQxoFym.js → openai-model-default-DMjQRsb1.js} +2 -2
- package/dist/{outbound-CqmyP2BZ.js → outbound-DHZ4Sktx.js} +1 -1
- package/dist/{outbound-DmgiPjHI.js → outbound-DeJ-MyLv.js} +1 -1
- package/dist/{outbound-BDOn8vmS.js → outbound-DzTvHYT8.js} +1 -1
- package/dist/{outbound-DrFB36oh.js → outbound-GuMlcXXN.js} +1 -1
- package/dist/{pairing-cli-C1CJ2_E9.js → pairing-cli-BunHc86C.js} +4 -4
- package/dist/{pairing-cli-DuuJZUhP.js → pairing-cli-DNAQqsxT.js} +4 -4
- package/dist/{pairing-labels-BvOA8Qlw.js → pairing-labels-2S6x2UoV.js} +1 -1
- package/dist/{pairing-labels-DsCwhxF-.js → pairing-labels-D1HDboV2.js} +1 -1
- package/dist/{pairing-store-KwCYH9ux.js → pairing-store-CK726Dzq.js} +1 -1
- package/dist/{pairing-store-ugF0IZu3.js → pairing-store-vpO8vXVN.js} +1 -1
- package/dist/{pi-auth-json-CtDSfbFY.js → pi-auth-json-0SYBFZTt.js} +1 -1
- package/dist/{pi-auth-json-r59THyDz.js → pi-auth-json-C3yexKNU.js} +2 -2
- package/dist/{pi-auth-json-lzYEshr3.js → pi-auth-json-CaX_1WHk.js} +1 -1
- package/dist/{pi-auth-json-sbK7mPXE.js → pi-auth-json-D6YbgrAe.js} +1 -1
- package/dist/{pi-embedded-C_flW2m-.js → pi-embedded-C4Cb6hc3.js} +39 -39
- package/dist/{pi-embedded-DwqWdFTp.js → pi-embedded-Cd7Gd0Am.js} +43 -43
- package/dist/{pi-embedded-helpers-D8GyPbyk.js → pi-embedded-helpers-B2k8Fh9T.js} +1 -1
- package/dist/{pi-embedded-helpers-DcLJnicV.js → pi-embedded-helpers-B86ZS0eB.js} +6 -6
- package/dist/{pi-embedded-helpers-DuCOfJu7.js → pi-embedded-helpers-UsrsQKwr.js} +1 -1
- package/dist/{pi-embedded-helpers-CzaYx8_A.js → pi-embedded-helpers-xjO9noTy.js} +6 -6
- package/dist/{pi-tools.policy-ClIVCXlH.js → pi-tools.policy-CwzwRugl.js} +2 -2
- package/dist/{pi-tools.policy-MSsHQel5.js → pi-tools.policy-DKHZCIA2.js} +2 -2
- package/dist/{plugin-auto-enable-Cw_nuOpK.js → plugin-auto-enable-BzX1uAKy.js} +1 -1
- package/dist/{plugin-auto-enable-BkVtC6kR.js → plugin-auto-enable-D6ENR3Xg.js} +1 -1
- package/dist/{plugin-registry-CFwpI3Y7.js → plugin-registry-CKzb-3wd.js} +2 -2
- package/dist/{plugin-registry-DDFQjbLJ.js → plugin-registry-ckK1Eqxg.js} +2 -2
- package/dist/plugin-sdk/{api-key-rotation-CchOozKE.js → api-key-rotation-CVBMpnPc.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-CdNOX24B.js → audio-preflight-B8X7BvQ5.js} +7 -7
- package/dist/plugin-sdk/{channel-web-D0CBJruk.js → channel-web-B92UQWLf.js} +7 -7
- package/dist/plugin-sdk/{chrome-C_9WhrOB.js → chrome-DxJPopF7.js} +8 -8
- package/dist/plugin-sdk/{commands-registry-_yxDQ5Xx.js → commands-registry-CQFbmUMs.js} +1 -1
- package/dist/plugin-sdk/{config-4elI-BUE.js → config-B0SemGqU.js} +1 -1
- package/dist/plugin-sdk/{deliver-DWPmtxzh.js → deliver-C51eaClJ.js} +2 -2
- package/dist/plugin-sdk/{image-DbCNxChF.js → image-VGrV0d09.js} +3 -3
- package/dist/plugin-sdk/index.js +22 -22
- package/dist/plugin-sdk/{login-uZVk2qt7.js → login-CG8p5_rW.js} +2 -2
- package/dist/plugin-sdk/{login-qr-cKOKfa5i.js → login-qr-buvA9Dp8.js} +3 -3
- package/dist/plugin-sdk/{manager-BmGtg73z.js → manager-DckktAQ3.js} +2 -2
- package/dist/plugin-sdk/{model-selection-DhdrndCp.js → model-selection-OpU8HN50.js} +2 -2
- package/dist/plugin-sdk/{outbound-DYygXVgC.js → outbound-LqNDFLO5.js} +1 -1
- package/dist/plugin-sdk/{pi-auth-json-C_RQt6td.js → pi-auth-json-CJk8t14T.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-DIdZLboH.js → pi-embedded-helpers-IkpqVZZa.js} +6 -6
- package/dist/plugin-sdk/{pw-ai-BhgdzdED.js → pw-ai-CjPImm6b.js} +3 -3
- package/dist/plugin-sdk/{replies-DJGIGbIp.js → replies-BLMuwbVf.js} +1 -1
- package/dist/plugin-sdk/{reply-aBWS5sqZ.js → reply-BS99Apig.js} +43 -43
- package/dist/plugin-sdk/{runner-Dr2rL8vY.js → runner-pmvwohi9.js} +5 -5
- package/dist/plugin-sdk/{send-CJlgePVD.js → send-BOrHNGsc.js} +2 -2
- package/dist/plugin-sdk/{send-BUekvBgs.js → send-BinD92v_.js} +1 -1
- package/dist/plugin-sdk/{send-CaQofsbH.js → send-D8Zs62CE.js} +1 -1
- package/dist/plugin-sdk/{send-PZUEjqiM.js → send-DOXV-BQw.js} +1 -1
- package/dist/plugin-sdk/{send-BJyVjY1K.js → send-cUp3Bf9t.js} +1 -1
- package/dist/plugin-sdk/{session-CVVArtnB.js → session-B0bWB4Wf.js} +1 -1
- package/dist/plugin-sdk/{skill-commands-DBjjY9pu.js → skill-commands-DCNXVERE.js} +1 -1
- package/dist/plugin-sdk/{web-C3bMug1V.js → web-CF79DBe3.js} +22 -22
- package/dist/plugin-sdk/{whatsapp-actions-CwiCEdXL.js → whatsapp-actions-Bp33E4JW.js} +3 -3
- package/dist/{plugins-cli-CxpFApSl.js → plugins-cli-4_vsyXjl.js} +35 -35
- package/dist/{plugins-cli-CL60mfoz.js → plugins-cli-B1wheurP.js} +34 -34
- package/dist/{program-qQuJQdDI.js → program-TcQJDsX0.js} +41 -41
- package/dist/{program-context-BTHHHljs.js → program-context-Dg2Np8Zw.js} +38 -38
- package/dist/{prompt-select-styled-BUEnh6q9.js → prompt-select-styled-CQjbqwvN.js} +17 -17
- package/dist/{prompt-select-styled-b_gxxAhH.js → prompt-select-styled-DAdS06gH.js} +17 -17
- package/dist/{provider-auth-helpers-DCcf4cSa.js → provider-auth-helpers-DB8QYTYh.js} +4 -4
- package/dist/{provider-auth-helpers-BA9lH2g_.js → provider-auth-helpers-DzN6dX9q.js} +4 -4
- package/dist/{push-apns-LrpKM6Qy.js → push-apns-CHAQFZbY.js} +1 -1
- package/dist/{push-apns-C1HykXHK.js → push-apns-ClGMwC80.js} +1 -1
- package/dist/{pw-ai-Dy-CzJEu.js → pw-ai-BcniFyZm.js} +3 -3
- package/dist/{pw-ai-wphyjQPg.js → pw-ai-C2hGnRfL.js} +3 -3
- package/dist/{pw-ai-Dh66TRm0.js → pw-ai-CsvxsEwI.js} +3 -3
- package/dist/{pw-ai-B1JS5-K8.js → pw-ai-DgDn1s1W.js} +3 -3
- package/dist/{qr-cli-BM7z1_6I.js → qr-cli-Deyb-bdE.js} +2 -2
- package/dist/{qr-cli-CjXoQzM4.js → qr-cli-DvDQ233a.js} +2 -2
- package/dist/{register.agent-xTXxldGl.js → register.agent-B7N-v5Mg.js} +45 -45
- package/dist/{register.agent-BmfKwUV5.js → register.agent-BQCR4CBb.js} +43 -43
- package/dist/{register.configure-etlb9YXm.js → register.configure-CL9nlXc3.js} +48 -48
- package/dist/{register.configure-CMroaJeb.js → register.configure-tbavr38Q.js} +47 -47
- package/dist/{register.maintenance-BSbhmeJh.js → register.maintenance-D4e74TuY.js} +46 -46
- package/dist/{register.maintenance-DgW15c7h.js → register.maintenance-JPUE9NXl.js} +44 -44
- package/dist/{register.message-DIp32vVg.js → register.message-BmGLezc2.js} +34 -34
- package/dist/{register.message-MJBHKOzK.js → register.message-D0Cq2x8X.js} +35 -35
- package/dist/{register.onboard-DIpGcHZL.js → register.onboard-ChTlfU6k.js} +42 -42
- package/dist/{register.onboard-D5oUBQSl.js → register.onboard-DDIJBTxd.js} +43 -43
- package/dist/{register.setup-DXPbMe96.js → register.setup-DDo_Kvoq.js} +42 -42
- package/dist/{register.setup-DjiM2uBG.js → register.setup-p9eaK45O.js} +43 -43
- package/dist/{register.status-health-sessions-BdWt3wS3.js → register.status-health-sessions-DHI7I-An.js} +38 -38
- package/dist/{register.status-health-sessions-x6I0mpWS.js → register.status-health-sessions-DT6gAamm.js} +40 -40
- package/dist/{register.subclis-Cy0DRsQJ.js → register.subclis-DF2GPUXO.js} +28 -28
- package/dist/{replies-DDSLbVxr.js → replies-9jiCJtyj.js} +1 -1
- package/dist/{replies-CPyxsh3K.js → replies-ByiY6ZyB.js} +1 -1
- package/dist/{replies-DvLDXI8K.js → replies-CVeSBasT.js} +1 -1
- package/dist/{replies-DOBqAjg4.js → replies-Dfqu9AXG.js} +1 -1
- package/dist/{reply-CZizwN7e.js → reply-BGBRWu_r.js} +51 -51
- package/dist/{routes-B2IYRtWd.js → routes-BZCzIvY1.js} +3 -3
- package/dist/{routes-He_Lcc27.js → routes-br_73dY_.js} +3 -3
- package/dist/{rpc-ch5bfWdL.js → rpc-BsIk35AA.js} +1 -1
- package/dist/{rpc-L5ss7Bo9.js → rpc-CbirYKS1.js} +1 -1
- package/dist/{run-main-lvbwfEwo.js → run-main-6Y8oxwjc.js} +53 -53
- package/dist/{runner-Bdtv6XzJ.js → runner-BPcjrrjx.js} +5 -5
- package/dist/{runner-CKvZjen4.js → runner-DFFbD4Jj.js} +5 -5
- package/dist/{runner-C8AqA95Y.js → runner-Iw-AU75D.js} +5 -5
- package/dist/{runner-DKpm5Nqy.js → runner-M7hSmkG1.js} +5 -5
- package/dist/{sandbox-BpdpRi0A.js → sandbox-BnivFdOs.js} +5 -5
- package/dist/{sandbox-B7Of-wfE.js → sandbox-C9zB9HTn.js} +5 -5
- package/dist/{sandbox-cli-C8hwWZl4.js → sandbox-cli-6RGP0CNN.js} +7 -7
- package/dist/{sandbox-cli-uIXHjK3F.js → sandbox-cli-Dl8IMlpe.js} +7 -7
- package/dist/{security-cli-Vf03GSG5.js → security-cli-BHG6kV1z.js} +12 -12
- package/dist/{security-cli-Rwjnm_r7.js → security-cli-CtgTAznE.js} +12 -12
- package/dist/{send-BVbXBG6J.js → send-B2c8xd6F.js} +2 -2
- package/dist/{send-ChYAgHWb.js → send-Bf-tLRDW.js} +1 -1
- package/dist/{send-GcFVIYJR.js → send-Bv3GF77o.js} +1 -1
- package/dist/{send-BPy71843.js → send-C1DE47RQ.js} +1 -1
- package/dist/{send-CBabC3y0.js → send-CU_BDzc0.js} +1 -1
- package/dist/{send-CMz8iBDv.js → send-CdxBNofn.js} +2 -2
- package/dist/{send-D2LU7Wa_.js → send-CkYljROn.js} +1 -1
- package/dist/{send-Yrv3sF64.js → send-DB2tDd9M.js} +1 -1
- package/dist/{send-B6wDmgF4.js → send-DKB9atcf.js} +2 -2
- package/dist/{send-uGvlClEs.js → send-DKvfyTNM.js} +2 -2
- package/dist/{send-2dWoqRZk.js → send-DP6zL1r4.js} +1 -1
- package/dist/{send-mDe6A7mv.js → send-DUWSrao-.js} +1 -1
- package/dist/{send-zjnzyLez.js → send-DoiQ-lVY.js} +1 -1
- package/dist/{send-DMID9Kcp.js → send-Dp3_Z9LN.js} +1 -1
- package/dist/{send-DYKLPlEb.js → send-Dv5K7btg.js} +1 -1
- package/dist/{send-Cy9JthBG.js → send-IjhsR55j.js} +1 -1
- package/dist/{send-BYWkG58g.js → send-KhJZHqoK.js} +1 -1
- package/dist/{send-Dxmb-0ON.js → send-Z6uznj5j.js} +1 -1
- package/dist/{send-D7cynZMN.js → send-rirP23D6.js} +1 -1
- package/dist/{send-CwysplvH.js → send-uxuOCFdA.js} +1 -1
- package/dist/{server-context-fHyIAV04.js → server-context-Bn72icrR.js} +5 -5
- package/dist/{server-context-UyRba8WQ.js → server-context-BogDcclm.js} +5 -5
- package/dist/{server-methods-DdjM2dv9.js → server-methods-Br0D7ovX.js} +18 -18
- package/dist/{server-methods-BBIlilxf.js → server-methods-D_xNgVRl.js} +17 -17
- package/dist/{server-node-events-BRIsAz4F.js → server-node-events-CYqlT8In.js} +35 -35
- package/dist/{server-node-events-Dy02_WmH.js → server-node-events-UAr71uwc.js} +34 -34
- package/dist/{session-B02fC-WF.js → session-BvpMfKh-.js} +1 -1
- package/dist/{session-CgmYnTf5.js → session-C4z7523K.js} +1 -1
- package/dist/{session-BxKKtLVP.js → session-CRf_exZ0.js} +1 -1
- package/dist/{session-CZlMukKd.js → session-eZHBxAr-.js} +1 -1
- package/dist/{session-utils-CJcP9cEU.js → session-utils-D5F7F--L.js} +4 -4
- package/dist/{sessions-COTTjj4F.js → sessions-B2cR2hug.js} +2 -2
- package/dist/{sessions-Cq-aIhgs.js → sessions-Cb4Hj78H.js} +2 -2
- package/dist/{sessions-DE5aAHEv.js → sessions-DHCZbuoQ.js} +4 -4
- package/dist/{shared-BvBUZqE7.js → shared-CxsYh_6Q.js} +2 -2
- package/dist/{shared-BqqimviE.js → shared-zPQArNFi.js} +2 -2
- package/dist/{skill-commands-9Y7jxVHU.js → skill-commands-BJMb_psG.js} +1 -1
- package/dist/{skill-commands-BAXjtPj2.js → skill-commands-C8BcwE33.js} +1 -1
- package/dist/{skill-commands-BIPiZz9a.js → skill-commands-Cxw-jNxU.js} +1 -1
- package/dist/{skill-commands-BqKG28Ce.js → skill-commands-DklY7Cj7.js} +1 -1
- package/dist/{skills-cli-GGRffIyw.js → skills-cli-XmXhTH3z.js} +2 -2
- package/dist/{skills-cli-CtYkmRm4.js → skills-cli-urhcJuu8.js} +2 -2
- package/dist/{status-BgH4j63J.js → status-B0E2EIVt.js} +12 -12
- package/dist/{status-5eYeRNCE.js → status-BGds6W9t.js} +11 -11
- package/dist/{status-CTzQL-0s.js → status-DT80WcHk.js} +2 -2
- package/dist/{status-BZA7vfQs.js → status-e8uWmyEb.js} +2 -2
- package/dist/{status.update-DupQRvLB.js → status.update-Cu6R3wwz.js} +1 -1
- package/dist/{status.update-BUxoElEK.js → status.update-D8lzj5TK.js} +1 -1
- package/dist/{subagent-registry-DHNK9d1m.js → subagent-registry-Bdq971iu.js} +52 -52
- package/dist/{system-cli-CAUY_GvP.js → system-cli-BXvpbG10.js} +4 -4
- package/dist/{system-cli-BWSa-o4A.js → system-cli-CD1cvYkc.js} +4 -4
- package/dist/{systemd-hints-ClRXWEEF.js → systemd-hints-BMl55p2_.js} +1 -1
- package/dist/{systemd-hints-naSOaBlo.js → systemd-hints-Cn-fd1AF.js} +1 -1
- package/dist/{tui-DonwHRm_.js → tui-DJefgPwz.js} +5 -5
- package/dist/{tui-RGUDm7lS.js → tui-OUhw8eT1.js} +5 -5
- package/dist/{tui-cli-DL6w96sX.js → tui-cli-C-CoSVeQ.js} +11 -11
- package/dist/{tui-cli-CyoMqz9z.js → tui-cli-_ohekmDR.js} +11 -11
- package/dist/{update-cli-DARwH4kJ.js → update-cli-Ck2MutZk.js} +49 -49
- package/dist/{update-cli-ZYFQv3jd.js → update-cli-DNIl7PnC.js} +47 -47
- package/dist/{update-runner-BIiMF1i9.js → update-runner-D6WDlrp3.js} +1 -1
- package/dist/{update-runner-CzhSqRfq.js → update-runner-FuqSMzV5.js} +1 -1
- package/dist/{web-Cm5HsIIH.js → web-0w8t_r2B.js} +21 -21
- package/dist/{web-QtUlpYa-.js → web-BZOpNSzC.js} +37 -37
- package/dist/{web-Ccv9W8Ql.js → web-HLh16mL2.js} +37 -37
- package/dist/{web-jB2hfwrH.js → web-UEqiaso9.js} +21 -21
- package/dist/{webhooks-cli-CT0RoY8j.js → webhooks-cli-B8gdUXw-.js} +2 -2
- package/dist/{webhooks-cli-Cvimziu7.js → webhooks-cli-DpiLQ_-A.js} +2 -2
- package/dist/{whatsapp-actions-DW2kOeIk.js → whatsapp-actions-BVZaCecm.js} +3 -3
- package/dist/{whatsapp-actions-C0jmRgGy.js → whatsapp-actions-D_KIOhRu.js} +3 -3
- package/dist/{whatsapp-actions-CZdlpIgv.js → whatsapp-actions-DrReF5st.js} +3 -3
- package/dist/{whatsapp-actions-IaHhTgMA.js → whatsapp-actions-xolxich-.js} +3 -3
- package/dist/{with-timeout-CGcFrCDs.js → with-timeout-DIHZxCIl.js} +1 -1
- package/dist/{with-timeout-CC84q-69.js → with-timeout-vknUanNX.js} +1 -1
- package/extensions/bluebubbles/node_modules/.bin/symi +2 -2
- package/extensions/copilot-proxy/node_modules/.bin/symi +2 -2
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +2 -2
- package/extensions/diagnostics-otel/node_modules/.bin/symi +2 -2
- package/extensions/discord/node_modules/.bin/symi +2 -2
- package/extensions/feishu/node_modules/.bin/symi +2 -2
- package/extensions/google-antigravity-auth/node_modules/.bin/symi +2 -2
- package/extensions/google-gemini-cli-auth/node_modules/.bin/symi +2 -2
- package/extensions/googlechat/node_modules/.bin/symi +2 -2
- package/extensions/imessage/node_modules/.bin/symi +2 -2
- package/extensions/irc/node_modules/.bin/symi +2 -2
- package/extensions/learning-loop/node_modules/.bin/symi +2 -2
- package/extensions/line/node_modules/.bin/symi +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it +2 -2
- package/extensions/matrix/node_modules/.bin/symi +2 -2
- package/extensions/mattermost/node_modules/.bin/symi +2 -2
- package/extensions/memory-core/node_modules/.bin/symi +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/symi +2 -2
- package/extensions/minimax-portal-auth/node_modules/.bin/symi +2 -2
- package/extensions/msteams/node_modules/.bin/symi +2 -2
- package/extensions/nextcloud-talk/node_modules/.bin/symi +2 -2
- package/extensions/nostr/node_modules/.bin/symi +2 -2
- package/extensions/nostr/node_modules/.bin/tsc +2 -2
- package/extensions/nostr/node_modules/.bin/tsserver +2 -2
- package/extensions/signal/node_modules/.bin/symi +2 -2
- package/extensions/slack/node_modules/.bin/symi +2 -2
- package/extensions/telegram/node_modules/.bin/symi +2 -2
- package/extensions/tlon/node_modules/.bin/symi +2 -2
- package/extensions/twitch/node_modules/.bin/symi +2 -2
- package/extensions/voice-call/node_modules/.bin/symi +2 -2
- package/extensions/whatsapp/node_modules/.bin/symi +2 -2
- package/extensions/zalo/node_modules/.bin/symi +2 -2
- package/extensions/zalouser/node_modules/.bin/symi +2 -2
- package/package.json +1 -1
- package/extensions/outlook/node_modules/.bin/symi +0 -21
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { Pt as CONFIG_PATH, Ut as resolveGatewayPort, _ as defaultRuntime, lt as shortenHomePath, ot as resolveUserPath } from "./entry.js";
|
|
3
|
-
import { b as ensureAuthProfileStore } from "./auth-profiles-
|
|
3
|
+
import { b as ensureAuthProfileStore } from "./auth-profiles-Q1xTr5SX.js";
|
|
4
4
|
import { t as formatCliCommand } from "./command-format-BtYOfWxC.js";
|
|
5
|
-
import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-
|
|
5
|
+
import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-CJigbfdK.js";
|
|
6
6
|
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
|
|
7
7
|
import { a as findTailscaleBinary } from "./tailscale-CbbvYNVw.js";
|
|
8
8
|
import { n as withProgress } from "./progress-BAHiAaDW.js";
|
|
9
|
-
import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-
|
|
9
|
+
import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-Cammg0Xb.js";
|
|
10
10
|
import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-DwCXob2h.js";
|
|
11
11
|
import { t as note$1 } from "./note-DDecZomM.js";
|
|
12
12
|
import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
|
|
13
13
|
import { t as createClackPrompter } from "./clack-prompter-B1aVoXd5.js";
|
|
14
|
-
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-
|
|
15
|
-
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-
|
|
14
|
+
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-Iy7uyjqi.js";
|
|
15
|
+
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Co0_hiZm.js";
|
|
16
16
|
import { t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
|
|
17
|
-
import { r as healthCommand } from "./health-
|
|
17
|
+
import { r as healthCommand } from "./health-C1DLgFhT.js";
|
|
18
18
|
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
|
|
19
19
|
import { n as logConfigUpdated } from "./logging-BGewRZy0.js";
|
|
20
20
|
import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-DVcYPG2v.js";
|
|
21
|
-
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-
|
|
22
|
-
import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-
|
|
21
|
+
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-BRJsVuNT.js";
|
|
22
|
+
import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-Cv_lMtfR.js";
|
|
23
23
|
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DA_LW52P.js";
|
|
24
|
-
import { a as promptCustomApiConfig } from "./onboard-custom-
|
|
24
|
+
import { a as promptCustomApiConfig } from "./onboard-custom-Bcifi3N2.js";
|
|
25
25
|
import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-B-xy96ST.js";
|
|
26
26
|
import { t as formatHealthCheckFailure } from "./health-format-CzgUHmmX.js";
|
|
27
|
-
import { n as promptRemoteGatewayConfig } from "./onboard-remote-
|
|
28
|
-
import { n as setupSkills } from "./onboard-skills-
|
|
27
|
+
import { n as promptRemoteGatewayConfig } from "./onboard-remote-BnOKv_rG.js";
|
|
28
|
+
import { n as setupSkills } from "./onboard-skills-LkCNrrQL.js";
|
|
29
29
|
import { confirm, intro, outro, select, text } from "@clack/prompts";
|
|
30
30
|
|
|
31
31
|
//#region src/commands/configure.shared.ts
|
|
@@ -2,32 +2,32 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
|
|
3
3
|
import { S as shortenHomePath, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
4
4
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
5
|
-
import { At as ensureAuthProfileStore } from "./model-selection-
|
|
5
|
+
import { At as ensureAuthProfileStore } from "./model-selection-CyFvYcRt.js";
|
|
6
6
|
import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
7
|
-
import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-
|
|
7
|
+
import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-CkPct-ND.js";
|
|
8
8
|
import { a as findTailscaleBinary } from "./tailscale-D5dKabOc.js";
|
|
9
9
|
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-DKDeQZF0.js";
|
|
10
10
|
import { n as withProgress } from "./progress-jIePzvGA.js";
|
|
11
|
-
import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-
|
|
11
|
+
import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, g as resolveControlUiLinks, h as randomToken, m as probeGatewayReachable, n as applyWizardMetadata, p as printWizardHeader, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as summarizeExistingConfig, y as validateGatewayPasswordInput } from "./onboard-helpers-DHgVt6rY.js";
|
|
12
12
|
import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-8JqOYj0q.js";
|
|
13
13
|
import { t as note$1 } from "./note-DeHoW7xO.js";
|
|
14
14
|
import { t as WizardCancelledError } from "./prompts-Xu2Sveka.js";
|
|
15
15
|
import { t as createClackPrompter } from "./clack-prompter-B7pN13HV.js";
|
|
16
|
-
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-
|
|
17
|
-
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-
|
|
16
|
+
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-DDt5x3Xi.js";
|
|
17
|
+
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DpFImSwP.js";
|
|
18
18
|
import { t as resolveGatewayService } from "./service-Cl74hx8J.js";
|
|
19
|
-
import { r as healthCommand } from "./health-
|
|
19
|
+
import { r as healthCommand } from "./health-CJoGuAfg.js";
|
|
20
20
|
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Z947tKLt.js";
|
|
21
21
|
import { n as logConfigUpdated } from "./logging-BzzwiKjv.js";
|
|
22
22
|
import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-BLzEBA1v.js";
|
|
23
|
-
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-
|
|
24
|
-
import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-
|
|
23
|
+
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-D3a-vonc.js";
|
|
24
|
+
import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-C5-xr7Au.js";
|
|
25
25
|
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-aQ75ZlXY.js";
|
|
26
|
-
import { a as promptCustomApiConfig } from "./onboard-custom-
|
|
26
|
+
import { a as promptCustomApiConfig } from "./onboard-custom-BiDvzYz-.js";
|
|
27
27
|
import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-CxY-xbsH.js";
|
|
28
28
|
import { t as formatHealthCheckFailure } from "./health-format-DSwnXZPU.js";
|
|
29
|
-
import { n as promptRemoteGatewayConfig } from "./onboard-remote-
|
|
30
|
-
import { n as setupSkills } from "./onboard-skills-
|
|
29
|
+
import { n as promptRemoteGatewayConfig } from "./onboard-remote-CPI1Dsgo.js";
|
|
30
|
+
import { n as setupSkills } from "./onboard-skills-5R6rRZiZ.js";
|
|
31
31
|
import { confirm, intro, outro, select, text } from "@clack/prompts";
|
|
32
32
|
|
|
33
33
|
//#region src/commands/configure.shared.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { o as createSubsystemLogger } from "./entry.js";
|
|
3
|
-
import { i as loadConfig } from "./config-
|
|
4
|
-
import { x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
5
|
-
import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-
|
|
3
|
+
import { i as loadConfig } from "./config-CJigbfdK.js";
|
|
4
|
+
import { x as ensureChromeExtensionRelayServer } from "./chrome-CCN6Uf1O.js";
|
|
5
|
+
import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-BogDcclm.js";
|
|
6
6
|
|
|
7
7
|
//#region src/browser/server-lifecycle.ts
|
|
8
8
|
async function ensureExtensionRelayForProfiles(params) {
|
|
@@ -80,7 +80,7 @@ async function stopBrowserControlService() {
|
|
|
80
80
|
});
|
|
81
81
|
state = null;
|
|
82
82
|
try {
|
|
83
|
-
await (await import("./pw-ai-
|
|
83
|
+
await (await import("./pw-ai-DgDn1s1W.js")).closePlaywrightBrowserConnection();
|
|
84
84
|
} catch {}
|
|
85
85
|
}
|
|
86
86
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
3
|
-
import { i as loadConfig } from "./config-
|
|
4
|
-
import { x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
5
|
-
import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-
|
|
3
|
+
import { i as loadConfig } from "./config-CkPct-ND.js";
|
|
4
|
+
import { x as ensureChromeExtensionRelayServer } from "./chrome-BtuJAYB6.js";
|
|
5
|
+
import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-Bn72icrR.js";
|
|
6
6
|
|
|
7
7
|
//#region src/browser/server-lifecycle.ts
|
|
8
8
|
async function ensureExtensionRelayForProfiles(params) {
|
|
@@ -80,7 +80,7 @@ async function stopBrowserControlService() {
|
|
|
80
80
|
});
|
|
81
81
|
state = null;
|
|
82
82
|
try {
|
|
83
|
-
await (await import("./pw-ai-
|
|
83
|
+
await (await import("./pw-ai-CsvxsEwI.js")).closePlaywrightBrowserConnection();
|
|
84
84
|
} catch {}
|
|
85
85
|
}
|
|
86
86
|
|
|
@@ -3720,6 +3720,95 @@ html, body {
|
|
|
3720
3720
|
padding: 2px 0 0;
|
|
3721
3721
|
}
|
|
3722
3722
|
|
|
3723
|
+
/* ── Symipulse Panel ────────────────────────────────────────────── */
|
|
3724
|
+
.symipulse-panel {
|
|
3725
|
+
cursor: pointer;
|
|
3726
|
+
transition: max-height 0.3s ease, border-color 0.3s;
|
|
3727
|
+
}
|
|
3728
|
+
|
|
3729
|
+
.symipulse-feed {
|
|
3730
|
+
max-height: 3.2em;
|
|
3731
|
+
overflow: hidden;
|
|
3732
|
+
transition: max-height 0.3s ease;
|
|
3733
|
+
font-size: 11px;
|
|
3734
|
+
line-height: 1.5;
|
|
3735
|
+
color: var(--text-dim);
|
|
3736
|
+
font-family: var(--font-mono);
|
|
3737
|
+
}
|
|
3738
|
+
|
|
3739
|
+
.symipulse-panel.expanded .symipulse-feed {
|
|
3740
|
+
max-height: 300px;
|
|
3741
|
+
overflow-y: auto;
|
|
3742
|
+
scrollbar-width: thin;
|
|
3743
|
+
scrollbar-color: rgba(0, 212, 255, 0.2) transparent;
|
|
3744
|
+
}
|
|
3745
|
+
.symipulse-panel.expanded .symipulse-feed::-webkit-scrollbar { width: 3px; }
|
|
3746
|
+
.symipulse-panel.expanded .symipulse-feed::-webkit-scrollbar-track { background: transparent; }
|
|
3747
|
+
.symipulse-panel.expanded .symipulse-feed::-webkit-scrollbar-thumb { background: rgba(0, 212, 255, 0.2); border-radius: 2px; }
|
|
3748
|
+
|
|
3749
|
+
.symipulse-entry {
|
|
3750
|
+
padding: 3px 0;
|
|
3751
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.04);
|
|
3752
|
+
white-space: nowrap;
|
|
3753
|
+
overflow: hidden;
|
|
3754
|
+
text-overflow: ellipsis;
|
|
3755
|
+
display: flex;
|
|
3756
|
+
align-items: baseline;
|
|
3757
|
+
gap: 6px;
|
|
3758
|
+
}
|
|
3759
|
+
.symipulse-entry:last-child { border-bottom: none; }
|
|
3760
|
+
|
|
3761
|
+
.symipulse-entry-time {
|
|
3762
|
+
color: var(--text-muted);
|
|
3763
|
+
font-size: 10px;
|
|
3764
|
+
flex-shrink: 0;
|
|
3765
|
+
}
|
|
3766
|
+
|
|
3767
|
+
.symipulse-entry-text {
|
|
3768
|
+
overflow: hidden;
|
|
3769
|
+
text-overflow: ellipsis;
|
|
3770
|
+
white-space: nowrap;
|
|
3771
|
+
color: var(--text-dim);
|
|
3772
|
+
}
|
|
3773
|
+
|
|
3774
|
+
.symipulse-panel.expanded .symipulse-entry {
|
|
3775
|
+
white-space: normal;
|
|
3776
|
+
word-break: break-word;
|
|
3777
|
+
}
|
|
3778
|
+
.symipulse-panel.expanded .symipulse-entry-text {
|
|
3779
|
+
white-space: normal;
|
|
3780
|
+
overflow: visible;
|
|
3781
|
+
}
|
|
3782
|
+
|
|
3783
|
+
.symipulse-live-dot {
|
|
3784
|
+
display: inline-block;
|
|
3785
|
+
width: 6px;
|
|
3786
|
+
height: 6px;
|
|
3787
|
+
border-radius: 50%;
|
|
3788
|
+
background: var(--accent-green);
|
|
3789
|
+
margin-left: 6px;
|
|
3790
|
+
vertical-align: middle;
|
|
3791
|
+
opacity: 0;
|
|
3792
|
+
transition: opacity 0.3s ease;
|
|
3793
|
+
}
|
|
3794
|
+
.symipulse-live-dot.active {
|
|
3795
|
+
opacity: 1;
|
|
3796
|
+
animation: pulse 1.2s ease-in-out infinite;
|
|
3797
|
+
}
|
|
3798
|
+
|
|
3799
|
+
.symipulse-empty {
|
|
3800
|
+
display: flex;
|
|
3801
|
+
align-items: center;
|
|
3802
|
+
justify-content: center;
|
|
3803
|
+
padding: 10px 0;
|
|
3804
|
+
color: var(--text-dim);
|
|
3805
|
+
}
|
|
3806
|
+
.symipulse-empty-text {
|
|
3807
|
+
font-size: 11px;
|
|
3808
|
+
font-family: var(--font-mono);
|
|
3809
|
+
opacity: 0.5;
|
|
3810
|
+
}
|
|
3811
|
+
|
|
3723
3812
|
/* ── Lazy-load sentinel ──────────────────────────────────────────── */
|
|
3724
3813
|
.load-more-sentinel {
|
|
3725
3814
|
text-align: center;
|
|
@@ -260,6 +260,19 @@
|
|
|
260
260
|
<span>Add Schedule</span>
|
|
261
261
|
</button>
|
|
262
262
|
</div>
|
|
263
|
+
|
|
264
|
+
<!-- Symipulse Panel -->
|
|
265
|
+
<div class="glass-panel symipulse-panel" id="symipulse-panel">
|
|
266
|
+
<div class="panel-label">
|
|
267
|
+
SYMIPULSE
|
|
268
|
+
<span class="symipulse-live-dot" id="symipulse-live-dot"></span>
|
|
269
|
+
</div>
|
|
270
|
+
<div class="symipulse-feed" id="symipulse-feed">
|
|
271
|
+
<div class="symipulse-empty" id="symipulse-empty">
|
|
272
|
+
<div class="symipulse-empty-text">No heartbeats yet</div>
|
|
273
|
+
</div>
|
|
274
|
+
</div>
|
|
275
|
+
</div>
|
|
263
276
|
</aside>
|
|
264
277
|
|
|
265
278
|
<!-- Response waterfall area -->
|
|
@@ -711,6 +724,7 @@
|
|
|
711
724
|
<script src="js/metrics.js"></script>
|
|
712
725
|
<script src="js/gateway.js"></script>
|
|
713
726
|
<script src="js/render.js"></script>
|
|
727
|
+
<script src="js/symipulse.js"></script>
|
|
714
728
|
<script src="js/app.js"></script>
|
|
715
729
|
<script src="js/menu.js"></script>
|
|
716
730
|
<script src="js/history.js"></script>
|
|
@@ -251,10 +251,13 @@ function handleRunFailure(reason) {
|
|
|
251
251
|
|
|
252
252
|
// ── Render history (on first connect) ─────────────────────────────
|
|
253
253
|
function renderHistory(messages) {
|
|
254
|
-
// Clear reasoning
|
|
254
|
+
// Clear reasoning + symipulse panels in sync with the feed — prevents double-entries on reconnect
|
|
255
255
|
if (typeof window.clearReasoningPanel === "function") {
|
|
256
256
|
window.clearReasoningPanel();
|
|
257
257
|
}
|
|
258
|
+
if (typeof window.clearSymipulsePanel === "function") {
|
|
259
|
+
window.clearSymipulsePanel();
|
|
260
|
+
}
|
|
258
261
|
responseArea.innerHTML = "";
|
|
259
262
|
responseArea.prepend(loadMoreSentinel);
|
|
260
263
|
for (const m of messages) {
|
|
@@ -284,30 +287,22 @@ function renderHistory(messages) {
|
|
|
284
287
|
continue;
|
|
285
288
|
}
|
|
286
289
|
|
|
287
|
-
// Route
|
|
288
|
-
if (
|
|
289
|
-
const
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
) ||
|
|
299
|
-
/^[A-Z_]+_OK$/i.test(txt) ||
|
|
300
|
-
/^\s*NO_REPLY\s*$/i.test(txt) ||
|
|
301
|
-
/^⚠️.*(heartbeat|Agent failed before reply)/i.test(txt)
|
|
302
|
-
) {
|
|
303
|
-
if (typeof window.appendToReasoningPanel === "function") {
|
|
304
|
-
window.appendToReasoningPanel({ type: "text", text: "[Symipulse]" });
|
|
305
|
-
}
|
|
306
|
-
continue;
|
|
290
|
+
// Route symipulse messages to dedicated Symipulse Panel
|
|
291
|
+
if (typeof window.isSymipulseMessage === "function" && window.isSymipulseMessage(m)) {
|
|
292
|
+
const txt = Array.isArray(m.content)
|
|
293
|
+
? m.content
|
|
294
|
+
.filter((b) => b.type === "text")
|
|
295
|
+
.map((b) => b.text ?? "")
|
|
296
|
+
.join("")
|
|
297
|
+
.trim()
|
|
298
|
+
: extractText(m.content).trim();
|
|
299
|
+
if (txt && typeof window.appendToSymipulsePanel === "function") {
|
|
300
|
+
window.appendToSymipulsePanel(txt, m.timestamp);
|
|
307
301
|
}
|
|
302
|
+
continue;
|
|
308
303
|
}
|
|
309
304
|
|
|
310
|
-
// Route
|
|
305
|
+
// Route plugin context user messages to Reasoning Panel
|
|
311
306
|
if (m.role === "user") {
|
|
312
307
|
const txt = Array.isArray(m.content)
|
|
313
308
|
? m.content
|
|
@@ -322,12 +317,6 @@ function renderHistory(messages) {
|
|
|
322
317
|
}
|
|
323
318
|
continue;
|
|
324
319
|
}
|
|
325
|
-
if (/^Read SYMIPULSE\.md/i.test(txt) || /SYMIPULSE_OK/i.test(txt)) {
|
|
326
|
-
if (typeof window.appendToReasoningPanel === "function") {
|
|
327
|
-
window.appendToReasoningPanel({ type: "text", text: "[Heartbeat poll]" });
|
|
328
|
-
}
|
|
329
|
-
continue;
|
|
330
|
-
}
|
|
331
320
|
if (/^Review your response against the original user request/i.test(txt)) {
|
|
332
321
|
if (typeof window.appendToReasoningPanel === "function") {
|
|
333
322
|
window.appendToReasoningPanel({ type: "text", text: "[Post-generation verification]" });
|
|
@@ -434,30 +423,22 @@ async function loadMoreHistory() {
|
|
|
434
423
|
if (m.role === "system") {
|
|
435
424
|
continue;
|
|
436
425
|
}
|
|
437
|
-
// Route
|
|
438
|
-
if (
|
|
439
|
-
const
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
) ||
|
|
449
|
-
/^[A-Z_]+_OK$/i.test(txt) ||
|
|
450
|
-
/^\s*NO_REPLY\s*$/i.test(txt) ||
|
|
451
|
-
/^⚠️.*(heartbeat|Agent failed before reply)/i.test(txt)
|
|
452
|
-
) {
|
|
453
|
-
if (typeof window.appendToReasoningPanel === "function") {
|
|
454
|
-
window.appendToReasoningPanel({ type: "text", text: "[Symipulse]" });
|
|
455
|
-
}
|
|
456
|
-
continue;
|
|
426
|
+
// Route symipulse messages to dedicated Symipulse Panel
|
|
427
|
+
if (typeof window.isSymipulseMessage === "function" && window.isSymipulseMessage(m)) {
|
|
428
|
+
const txt = Array.isArray(m.content)
|
|
429
|
+
? m.content
|
|
430
|
+
.filter((b) => b.type === "text")
|
|
431
|
+
.map((b) => b.text ?? "")
|
|
432
|
+
.join("")
|
|
433
|
+
.trim()
|
|
434
|
+
: extractText(m.content).trim();
|
|
435
|
+
if (txt && typeof window.appendToSymipulsePanel === "function") {
|
|
436
|
+
window.appendToSymipulsePanel(txt, m.timestamp);
|
|
457
437
|
}
|
|
438
|
+
continue;
|
|
458
439
|
}
|
|
459
440
|
|
|
460
|
-
// Route
|
|
441
|
+
// Route plugin context & verification user messages to Reasoning Panel
|
|
461
442
|
if (m.role === "user") {
|
|
462
443
|
const txt = Array.isArray(m.content)
|
|
463
444
|
? m.content
|
|
@@ -466,12 +447,6 @@ async function loadMoreHistory() {
|
|
|
466
447
|
.join("")
|
|
467
448
|
.trim()
|
|
468
449
|
: extractText(m.content).trim();
|
|
469
|
-
if (/^Read SYMIPULSE\.md/i.test(txt) || /SYMIPULSE_OK/i.test(txt)) {
|
|
470
|
-
if (typeof window.appendToReasoningPanel === "function") {
|
|
471
|
-
window.appendToReasoningPanel({ type: "text", text: "[Heartbeat poll]" });
|
|
472
|
-
}
|
|
473
|
-
continue;
|
|
474
|
-
}
|
|
475
450
|
if (/^Review your response against the original user request/i.test(txt)) {
|
|
476
451
|
if (typeof window.appendToReasoningPanel === "function") {
|
|
477
452
|
window.appendToReasoningPanel({ type: "text", text: "[Post-generation verification]" });
|
|
@@ -559,6 +534,18 @@ function handleGatewayEvent(event) {
|
|
|
559
534
|
}
|
|
560
535
|
|
|
561
536
|
if (p.state === "delta") {
|
|
537
|
+
// Route heartbeat/symipulse deltas to dedicated panel
|
|
538
|
+
if (p.isHeartbeat) {
|
|
539
|
+
const text = extractText(p.message);
|
|
540
|
+
if (text && typeof window.appendToSymipulsePanel === "function") {
|
|
541
|
+
window.appendToSymipulsePanel(text, Date.now());
|
|
542
|
+
}
|
|
543
|
+
if (typeof window.setSymipulseLiveDot === "function") {
|
|
544
|
+
window.setSymipulseLiveDot(true);
|
|
545
|
+
}
|
|
546
|
+
return;
|
|
547
|
+
}
|
|
548
|
+
|
|
562
549
|
// Capture runId on first delta so abort can target the exact run
|
|
563
550
|
if (p.runId && !currentRunId) {
|
|
564
551
|
currentRunId = p.runId;
|
|
@@ -585,6 +572,18 @@ function handleGatewayEvent(event) {
|
|
|
585
572
|
window.updateLiveThinking(thinkingText);
|
|
586
573
|
}
|
|
587
574
|
} else if (p.state === "final") {
|
|
575
|
+
// Route heartbeat/symipulse finals to dedicated panel
|
|
576
|
+
if (p.isHeartbeat) {
|
|
577
|
+
const text = extractText(p.message?.content ?? p.message);
|
|
578
|
+
if (text && typeof window.appendToSymipulsePanel === "function") {
|
|
579
|
+
window.appendToSymipulsePanel(text, Date.now());
|
|
580
|
+
}
|
|
581
|
+
if (typeof window.setSymipulseLiveDot === "function") {
|
|
582
|
+
window.setSymipulseLiveDot(false);
|
|
583
|
+
}
|
|
584
|
+
return;
|
|
585
|
+
}
|
|
586
|
+
|
|
588
587
|
stopElapsedTimer();
|
|
589
588
|
clearWatchdog();
|
|
590
589
|
if (typeof window.closeLiveThinking === "function") {
|
|
@@ -840,6 +839,9 @@ async function handleNewSession() {
|
|
|
840
839
|
if (typeof window.clearReasoningPanel === "function") {
|
|
841
840
|
window.clearReasoningPanel();
|
|
842
841
|
}
|
|
842
|
+
if (typeof window.clearSymipulsePanel === "function") {
|
|
843
|
+
window.clearSymipulsePanel();
|
|
844
|
+
}
|
|
843
845
|
|
|
844
846
|
// Show empty-state indicator
|
|
845
847
|
const cleared = document.createElement("div");
|
|
@@ -730,7 +730,7 @@ window.renderMessage = function (message) {
|
|
|
730
730
|
const { role, content, timestamp } = message;
|
|
731
731
|
const isUser = role === "user";
|
|
732
732
|
|
|
733
|
-
// ── Filter noisy/internal messages
|
|
733
|
+
// ── Filter noisy/internal messages ────────────────────────────────
|
|
734
734
|
const _msgText = Array.isArray(content)
|
|
735
735
|
? content
|
|
736
736
|
.filter((b) => b.type === "text")
|
|
@@ -739,19 +739,8 @@ window.renderMessage = function (message) {
|
|
|
739
739
|
.trim()
|
|
740
740
|
: extractText(content).trim();
|
|
741
741
|
|
|
742
|
-
//
|
|
743
|
-
if (
|
|
744
|
-
role === "assistant" &&
|
|
745
|
-
(/SYMIPULSE|heartbeat|System\s*Health|Pattern\s*Detection|systemHealth|count\s*→/i.test(
|
|
746
|
-
_msgText,
|
|
747
|
-
) ||
|
|
748
|
-
/^[A-Z_]+_OK$/i.test(_msgText) ||
|
|
749
|
-
/^\s*NO_REPLY\s*$/i.test(_msgText) ||
|
|
750
|
-
/^⚠️.*(heartbeat|Agent failed before reply)/i.test(_msgText))
|
|
751
|
-
) {
|
|
752
|
-
if (typeof window.appendToReasoningPanel === "function") {
|
|
753
|
-
window.appendToReasoningPanel({ type: "text", text: "[Symipulse]" });
|
|
754
|
-
}
|
|
742
|
+
// Symipulse messages → routed to Symipulse Panel by caller; guard here as safety net
|
|
743
|
+
if (typeof window.isSymipulseMessage === "function" && window.isSymipulseMessage(message)) {
|
|
755
744
|
return null;
|
|
756
745
|
}
|
|
757
746
|
|
|
@@ -763,17 +752,6 @@ window.renderMessage = function (message) {
|
|
|
763
752
|
return null;
|
|
764
753
|
}
|
|
765
754
|
|
|
766
|
-
// Heartbeat poll user messages
|
|
767
|
-
if (
|
|
768
|
-
role === "user" &&
|
|
769
|
-
(/^Read SYMIPULSE\.md/i.test(_msgText) || /SYMIPULSE_OK/i.test(_msgText))
|
|
770
|
-
) {
|
|
771
|
-
if (typeof window.appendToReasoningPanel === "function") {
|
|
772
|
-
window.appendToReasoningPanel({ type: "text", text: "[Heartbeat poll]" });
|
|
773
|
-
}
|
|
774
|
-
return null;
|
|
775
|
-
}
|
|
776
|
-
|
|
777
755
|
// Post-generation verification user messages
|
|
778
756
|
if (
|
|
779
757
|
role === "user" &&
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
// ── Symi UI — Symipulse Panel ─────────────────────────────────────────
|
|
2
|
+
// Dedicated panel for heartbeat/symipulse system health messages.
|
|
3
|
+
// Routes all symipulse traffic out of the main chat feed into a
|
|
4
|
+
// collapsible right-side panel.
|
|
5
|
+
|
|
6
|
+
const SYMIPULSE_MAX_ENTRIES = 50;
|
|
7
|
+
|
|
8
|
+
// ── Centralized classifier ────────────────────────────────────────────
|
|
9
|
+
// Checks server-side tag first (real-time), falls back to regex for
|
|
10
|
+
// history messages that predate the isHeartbeat flag.
|
|
11
|
+
window.isSymipulseMessage = function (message) {
|
|
12
|
+
if (message?.isHeartbeat === true) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const role = message?.role;
|
|
17
|
+
const txt = Array.isArray(message?.content)
|
|
18
|
+
? message.content
|
|
19
|
+
.filter((b) => b.type === "text")
|
|
20
|
+
.map((b) => b.text ?? "")
|
|
21
|
+
.join("")
|
|
22
|
+
.trim()
|
|
23
|
+
: (typeof message?.content === "string"
|
|
24
|
+
? message.content
|
|
25
|
+
: (window.extractText?.(message?.content) ?? "")
|
|
26
|
+
).trim();
|
|
27
|
+
|
|
28
|
+
if (!txt) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (role === "assistant") {
|
|
33
|
+
if (
|
|
34
|
+
/SYMIPULSE|heartbeat|System\s*Health|Pattern\s*Detection|systemHealth|count\s*→/i.test(txt)
|
|
35
|
+
) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
if (/^[A-Z_]+_OK$/i.test(txt)) {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
if (/^\s*NO_REPLY\s*$/i.test(txt)) {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
if (/^⚠️.*(heartbeat|Agent failed before reply)/i.test(txt)) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (role === "user") {
|
|
50
|
+
if (/^Read SYMIPULSE\.md/i.test(txt) || /SYMIPULSE_OK/i.test(txt)) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return false;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
// ── Panel DOM references ──────────────────────────────────────────────
|
|
59
|
+
const _spPanel = document.getElementById("symipulse-panel");
|
|
60
|
+
const _spFeed = document.getElementById("symipulse-feed");
|
|
61
|
+
const _spEmpty = document.getElementById("symipulse-empty");
|
|
62
|
+
const _spDot = document.getElementById("symipulse-live-dot");
|
|
63
|
+
|
|
64
|
+
// ── Append entry to Symipulse Panel ───────────────────────────────────
|
|
65
|
+
window.appendToSymipulsePanel = function (text, timestamp) {
|
|
66
|
+
if (!_spFeed || !text) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Remove empty placeholder
|
|
71
|
+
if (_spEmpty && _spEmpty.parentNode) {
|
|
72
|
+
_spEmpty.remove();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const entry = document.createElement("div");
|
|
76
|
+
entry.className = "symipulse-entry";
|
|
77
|
+
|
|
78
|
+
const time = timestamp
|
|
79
|
+
? new Date(typeof timestamp === "number" && timestamp < 1e12 ? timestamp * 1000 : timestamp)
|
|
80
|
+
: new Date();
|
|
81
|
+
const hhmm = time.toLocaleTimeString("en-US", {
|
|
82
|
+
hour: "2-digit",
|
|
83
|
+
minute: "2-digit",
|
|
84
|
+
hour12: false,
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
const timeSpan = document.createElement("span");
|
|
88
|
+
timeSpan.className = "symipulse-entry-time";
|
|
89
|
+
timeSpan.textContent = hhmm;
|
|
90
|
+
|
|
91
|
+
const textSpan = document.createElement("span");
|
|
92
|
+
textSpan.className = "symipulse-entry-text";
|
|
93
|
+
textSpan.textContent = text;
|
|
94
|
+
|
|
95
|
+
entry.appendChild(timeSpan);
|
|
96
|
+
entry.appendChild(textSpan);
|
|
97
|
+
_spFeed.appendChild(entry);
|
|
98
|
+
|
|
99
|
+
// Cap entries
|
|
100
|
+
while (_spFeed.querySelectorAll(".symipulse-entry").length > SYMIPULSE_MAX_ENTRIES) {
|
|
101
|
+
const oldest = _spFeed.querySelector(".symipulse-entry");
|
|
102
|
+
if (!oldest) {
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
oldest.remove();
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Auto-scroll when expanded
|
|
109
|
+
if (_spPanel?.classList.contains("expanded")) {
|
|
110
|
+
_spFeed.scrollTop = _spFeed.scrollHeight;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
// ── Clear panel (on new session) ──────────────────────────────────────
|
|
115
|
+
window.clearSymipulsePanel = function () {
|
|
116
|
+
if (!_spFeed) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
_spFeed.innerHTML = `
|
|
120
|
+
<div class="symipulse-empty" id="symipulse-empty">
|
|
121
|
+
<div class="symipulse-empty-text">No heartbeats yet</div>
|
|
122
|
+
</div>`;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
// ── Live dot control ──────────────────────────────────────────────────
|
|
126
|
+
window.setSymipulseLiveDot = function (active) {
|
|
127
|
+
if (_spDot) {
|
|
128
|
+
_spDot.classList.toggle("active", active);
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
// ── Toggle expand/collapse on click ───────────────────────────────────
|
|
133
|
+
if (_spPanel) {
|
|
134
|
+
_spPanel.addEventListener("click", () => {
|
|
135
|
+
_spPanel.classList.toggle("expanded");
|
|
136
|
+
if (_spPanel.classList.contains("expanded") && _spFeed) {
|
|
137
|
+
_spFeed.scrollTop = _spFeed.scrollHeight;
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}
|