@symerian/symi 3.5.25 → 3.5.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agent-DgVWcnlD.js → agent-CB5yb-7V.js} +1 -1
- package/dist/{agent-CBfp75J4.js → agent-CoHzNs_e.js} +18 -18
- package/dist/{agent-scope-DOrZjOnW.js → agent-scope-Bnsyyeci.js} +18 -18
- package/dist/{agents-Dlcpc1K3.js → agents-DtRd3yEb.js} +3 -3
- package/dist/{agents.config-B7sNDvhz.js → agents.config-DA0ISLi7.js} +1 -1
- package/dist/{audit-Ce-u6aaR.js → audit-CuwXq_EA.js} +20 -20
- package/dist/{audit-CPloCzEZ.js → audit-DyncRBKq.js} +2 -2
- package/dist/{auth-choice--DymOp5O.js → auth-choice-5SLfZiQ7.js} +2 -2
- package/dist/{auth-choice-CUvx59kv.js → auth-choice-DKRHawfp.js} +11 -11
- package/dist/{auth-profiles-Ce7R_25e.js → auth-profiles-D5nYBj_Z.js} +2 -2
- package/dist/{auth-token-Cr28IDKY.js → auth-token-fgnCQEHT.js} +3 -3
- package/dist/{banner-CY_9VW7E.js → banner-B_P_FrmA.js} +1 -1
- package/dist/{browser-cli-Ibgld3mA.js → browser-cli-BI81RlI8.js} +9 -9
- package/dist/{browser-cli-C5VVk6C9.js → browser-cli-CcCYZtag.js} +3 -3
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +4 -4
- package/dist/bundled/session-memory/handler.js +4 -4
- package/dist/{call-C2urR5Fj.js → call-DTshgdlW.js} +1 -1
- package/dist/{call-xdEE97oU.js → call-xUpyZDH4.js} +9 -9
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-rFgJaKzJ.js → channel-options-8NGYZjfd.js} +1 -1
- package/dist/{channel-options-DCmWOAc0.js → channel-options-vjcKi2yl.js} +1 -1
- package/dist/{channels-cli-QMHCRAb5.js → channels-cli-Bx90nSmB.js} +9 -9
- package/dist/{channels-cli-Cs1Z0dn8.js → channels-cli-CfBFa-VO.js} +57 -57
- package/dist/{chrome-DJChpTwP.js → chrome-38OnGyuN.js} +2 -2
- package/dist/{chrome-OTJg3QKn.js → chrome-CmQwGAuL.js} +7 -7
- package/dist/{cli-BafqEuaj.js → cli-DHG9iZJi.js} +6 -6
- package/dist/{cli-CadU09SC.js → cli-qf0qK7oi.js} +45 -45
- package/dist/{client-yVTJ5jx5.js → client-BOd5o3Kp.js} +9 -1
- package/dist/{client-Cs9Bh-G0.js → client-DiPa71im.js} +10 -2
- package/dist/{command-registry-CLm8TAH3.js → command-registry-DBbzZvh6.js} +11 -11
- package/dist/{commands-registry-Ca5hh7nh.js → commands-registry-CwXsDVuO.js} +1 -1
- package/dist/{completion-cli-Dd56ibFZ.js → completion-cli-Ddfrnilx.js} +12 -12
- package/dist/{completion-cli-DOBXkVwG.js → completion-cli-DoQrkCAd.js} +2 -2
- package/dist/{config-B4jkreCN.js → config-BngIfn5l.js} +2 -2
- package/dist/{config-cli-BgHYqFH1.js → config-cli-9a5qBcdo.js} +1 -1
- package/dist/{config-cli-GwUJEapt.js → config-cli-JVGYyfYA.js} +4 -4
- package/dist/{config-guard-BRm3RiOi.js → config-guard-DStz4_V2.js} +6 -6
- package/dist/{config-validation-Cdyg1BZB.js → config-validation-Dxj9LRzr.js} +1 -1
- package/dist/{configure-5md67tCP.js → configure-Bqz2Hvnf.js} +14 -14
- package/dist/{configure-DmzM0S7L.js → configure-ryB8EvyP.js} +6 -6
- package/dist/{consolidate-DymnvvYm.js → consolidate-CO32_TEx.js} +6 -6
- package/dist/{control-service-D8kKOts5.js → control-service-CUreKVeY.js} +4 -4
- package/dist/control-ui/css/style.css +152 -0
- package/dist/control-ui/index.html +42 -0
- package/dist/control-ui/js/symframe-modes.js +65 -0
- package/dist/control-ui/js/symframe.js +139 -0
- package/dist/{control-ui-assets-CJQ97d4u.js → control-ui-assets-B8B9z_Ll.js} +1 -1
- package/dist/{cost-cli-DWiVCOCx.js → cost-cli-D-ssjcRF.js} +3 -3
- package/dist/{cron-cli-BNBs3zue.js → cron-cli-DsGkkt1s.js} +3 -3
- package/dist/{cron-cli-CE9bV9Et.js → cron-cli-pZ_7Wzhj.js} +7 -7
- package/dist/{daemon-cli-BYiG4GOU.js → daemon-cli-BDzcfcu_.js} +11 -11
- package/dist/{daemon-cli-DDqeG2nd.js → daemon-cli-dbAPTgGm.js} +2 -2
- package/dist/daemon-cli.js +9 -1
- package/dist/{daemon-runtime-DlQla_dA.js → daemon-runtime-CKn0wmCk.js} +10 -10
- package/dist/{deliver-BiWlR84Y.js → deliver-B04yNX82.js} +4 -4
- package/dist/{deliver-lTZLIQqf.js → deliver-CWMFmMCv.js} +2 -2
- package/dist/{deps-Bf9dt2UO.js → deps-CdibsPMx.js} +1 -1
- package/dist/{devices-cli-Bhr6jGtH.js → devices-cli-BIZbo_Pt.js} +6 -6
- package/dist/{devices-cli-BJ3rVWOw.js → devices-cli-CIAuYH4P.js} +2 -2
- package/dist/{diagnostics-DlZODdRf.js → diagnostics-CYkqD5lP.js} +5 -5
- package/dist/{directory-cli-Bm5QYEo-.js → directory-cli-giqTe8Yg.js} +3 -3
- package/dist/{dm-policy-shared-CeFt0nch.js → dm-policy-shared-B61_yf6G.js} +1 -1
- package/dist/{dns-cli-CubLq4j9.js → dns-cli-Dssz4RqF.js} +3 -3
- package/dist/{docs-cli-PS8m1er7.js → docs-cli-Ct1STieY.js} +1 -1
- package/dist/{doctor-completion-k0HiL05o.js → doctor-completion-Bk55g4MP.js} +1 -1
- package/dist/{doctor-completion-BpUGRguQ.js → doctor-completion-eh7aImCx.js} +2 -2
- package/dist/{doctor-config-flow-C52W1uUK.js → doctor-config-flow-ljVnQJjo.js} +9 -9
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-CzvIqBUd.js → exec-approvals-cli-B2UY9dZC.js} +13 -13
- package/dist/{exec-approvals-cli-Cau1vPQI.js → exec-approvals-cli-BiXeyPPz.js} +4 -4
- package/dist/extensionAPI.js +2 -2
- package/dist/{file-lock-BVUYnlQv.js → file-lock-2AecMjCa.js} +8 -8
- package/dist/{fs-safe-BdejYjW8.js → fs-safe-B0Is-oLk.js} +6 -6
- package/dist/{gateway-cli-DgmGygc6.js → gateway-cli-BGMVOW2G.js} +16 -16
- package/dist/{gateway-cli-D1d5YAt0.js → gateway-cli-BwPy7u0B.js} +98 -98
- package/dist/{gateway-rpc-BTGT1SuZ.js → gateway-rpc-DmFOiGIJ.js} +1 -1
- package/dist/{gateway-rpc-Kv0-8W2E.js → gateway-rpc-DpRnrv_i.js} +1 -1
- package/dist/{glass-ui-ws-BH9WH_VN.js → glass-ui-ws-CwOiILiY.js} +67 -67
- package/dist/{glass-ui-ws-Dl45d7eU.js → glass-ui-ws-Z-W33_mF.js} +13 -13
- package/dist/{health-DpE9GWGn.js → health-Bc1wmAO5.js} +4 -4
- package/dist/{health-znS85U-F.js → health-Dkwuq8ta.js} +1 -1
- package/dist/{hooks-cli-Cb9BzCOY.js → hooks-cli-Bn6x6Jnj.js} +7 -7
- package/dist/{hooks-cli-D7xxbEwI.js → hooks-cli-DOjHV2fF.js} +59 -59
- package/dist/{image-ops-L70xVnpG.js → image-ops-BzCBIakN.js} +10 -10
- package/dist/index.js +52 -52
- package/dist/{inspect-CGKsaVZ4.js → inspect-DzYUb_Dl.js} +4 -4
- package/dist/{install-safe-path-B2JrFspY.js → install-safe-path-BrpA09f2.js} +11 -11
- package/dist/{installs-D890uIIW.js → installs-bnDlOSq2.js} +10 -10
- package/dist/{internal-DVCddhhN.js → internal-csqU78gW.js} +9 -9
- package/dist/{lifecycle-core-wFwnK_mD.js → lifecycle-core-cSR_xiIO.js} +5 -5
- package/dist/llm-slug-generator.js +4 -4
- package/dist/{local-roots-CgDCgCuM.js → local-roots-2Jb79HZ8.js} +1 -1
- package/dist/{logs-cli-LiAjkog2.js → logs-cli-CJLJ745C.js} +3 -3
- package/dist/{logs-cli-DvIVuW0d.js → logs-cli-CYFlhj51.js} +7 -7
- package/dist/{manager-V4UCf0Av.js → manager-BHddoe4T.js} +1 -1
- package/dist/{manager-CceVgXHV.js → manager-DH00nlW8.js} +1 -1
- package/dist/{manager-CoCX7L5u.js → manager-DuWp0CTD.js} +15 -15
- package/dist/{manager-Cv4xI8sP.js → manager-F0-SHT1B.js} +1 -1
- package/dist/{memory-A2D5e8dL.js → memory-C02Znuee.js} +2 -2
- package/dist/{memory-cli-1zjVJITN.js → memory-cli-083UJtVJ.js} +2 -2
- package/dist/{memory-cli-D8Z_5-Nz.js → memory-cli-BnBKckEk.js} +12 -12
- package/dist/{memory-B067LTL9.js → memory-fFc7GGPZ.js} +5 -5
- package/dist/{model-MUMSB_7d.js → model-Cwbcw-km.js} +1 -1
- package/dist/{model-auth-1EAQvYRv.js → model-auth-_C07_3Yr.js} +2 -2
- package/dist/{model-catalog-IWi6-nY9.js → model-catalog-BWurV7gl.js} +3 -3
- package/dist/{model-picker-Cf6UgQEh.js → model-picker-Dpkr5xBW.js} +5 -5
- package/dist/{model-selection-7wdmO-Iw.js → model-selection-CCTzD29o.js} +1 -1
- package/dist/{models-BYev6YAG.js → models-Bh_frCup.js} +3 -3
- package/dist/{models-cli-Fa5r1QYP.js → models-cli-BhBu4Dwm.js} +9 -9
- package/dist/{models-cli-C979SN3Z.js → models-cli-DVdb_TUS.js} +55 -55
- package/dist/{models-config-B5Xxy-c-.js → models-config-DlXge3Sd.js} +8 -8
- package/dist/{node-cli-DGybtex_.js → node-cli-B0ePfMUr.js} +27 -27
- package/dist/{node-cli-Cv7x1gGu.js → node-cli-CBW_ECu_.js} +1 -1
- package/dist/{node-service-BH08wY5j.js → node-service-Cc18m-uk.js} +1 -1
- package/dist/{nodes-cli-DaHOBbd4.js → nodes-cli-CJ0gxF5n.js} +3 -3
- package/dist/{nodes-cli-C-mEw2av.js → nodes-cli-L0gy-26E.js} +10 -10
- package/dist/{nodes-screen-De9ma6e1.js → nodes-screen-Cp5QP3ET.js} +4 -4
- package/dist/{npm-registry-spec-DTqn-NXZ.js → npm-registry-spec-C-muP97-.js} +9 -9
- package/dist/{onboard-D-m6WTZl.js → onboard-BSxqEQfo.js} +3 -3
- package/dist/{onboard-CotuAZi6.js → onboard-D6GZ2t-L.js} +15 -15
- package/dist/{onboard-channels-Z-Jkrk5-.js → onboard-channels-BkR3MKMp.js} +1 -1
- package/dist/{onboard-channels-DSyynpou.js → onboard-channels-DVS9vciR.js} +4 -4
- package/dist/{onboard-custom-BcRYreNG.js → onboard-custom-DnDrvxSg.js} +3 -3
- package/dist/{onboard-helpers-CLXJ8zp0.js → onboard-helpers-CJlheOSJ.js} +8 -8
- package/dist/{onboard-helpers-Dhr98nj8.js → onboard-helpers-t7tI9KSA.js} +1 -1
- package/dist/{onboard-hooks-2SCajRKc.js → onboard-hooks-D9jHwImb.js} +1 -1
- package/dist/{onboard-remote-BYBai0w3.js → onboard-remote-CVZ8l58S.js} +1 -1
- package/dist/{onboard-remote-DZdMxd1Q.js → onboard-remote-DH3bPYbE.js} +1 -1
- package/dist/{onboard-skills-2SUv-W7i.js → onboard-skills-Bjf7kWvg.js} +1 -1
- package/dist/{onboard-skills-BxJlS1Bk.js → onboard-skills-MgcaLiE6.js} +3 -3
- package/dist/{onboarding-BckHLQMV.js → onboarding-CrCGoZ4H.js} +7 -7
- package/dist/{onboarding-BnoGiOh3.js → onboarding-D-mzwQ_f.js} +12 -12
- package/dist/{onboarding.finalize-CbH_ShIW.js → onboarding.finalize-BYzduVFA.js} +9 -9
- package/dist/{onboarding.finalize-g86Q4433.js → onboarding.finalize-DBFL76p0.js} +31 -31
- package/dist/{onboarding.gateway-config-CEXjbEM0.js → onboarding.gateway-config-BCDgsFl8.js} +8 -8
- package/dist/{onboarding.gateway-config-sNSeEykB.js → onboarding.gateway-config-xWUSbtoY.js} +3 -3
- package/dist/{openai-model-default-BkuuK-Di.js → openai-model-default-De-UAjwg.js} +2 -2
- package/dist/{pairing-cli-Rsae0KnN.js → pairing-cli-CBMMCNnx.js} +5 -5
- package/dist/{pairing-store-BNhJOnWn.js → pairing-store-Be-ZQK87.js} +1 -1
- package/dist/{pairing-token-Dcy37-4s.js → pairing-token-B703A1U3.js} +7 -7
- package/dist/{paths-DObzwe08.js → paths-BWqg8NZT.js} +1 -1
- package/dist/{pi-auth-json-Db8XJVGL.js → pi-auth-json-D-vdh-nY.js} +6 -6
- package/dist/{pi-embedded-B9rtlNMc.js → pi-embedded-DGnpyHm-.js} +50 -7
- package/dist/{pi-embedded-helpers-D-OFjhdI.js → pi-embedded-helpers-j1JrlsI0.js} +6 -6
- package/dist/{pi-tools.policy-H2t-Xkfc.js → pi-tools.policy-CvAqjEH9.js} +3 -3
- package/dist/{plugin-auto-enable-DJBhDIMq.js → plugin-auto-enable-BXSJTxI7.js} +1 -1
- package/dist/{plugin-registry-CS4WgHbu.js → plugin-registry-B74FBx4U.js} +1 -1
- package/dist/{plugin-registry-AsC9gydF.js → plugin-registry-KP94aK4z.js} +3 -3
- package/dist/plugin-sdk/agents/tools/browser-tool.schema.d.ts +1 -1
- package/dist/plugin-sdk/gateway/protocol/schema/logs-chat.d.ts +5 -1
- package/dist/plugin-sdk/infra/symframe-broadcast.d.ts +7 -2
- package/dist/{plugins-cli-CbByGz8z.js → plugins-cli-B4ljapU5.js} +54 -54
- package/dist/{plugins-cli-BY42hyHP.js → plugins-cli-Cmf3kRf5.js} +7 -7
- package/dist/{ports-r7LBic2V.js → ports-Bi3V_3n9.js} +1 -1
- package/dist/{ports-gxLM5ahL.js → ports-CB_Iu83U.js} +2 -2
- package/dist/{program-P9F1DxBa.js → program-CGuYYumL.js} +12 -12
- package/dist/{program-context-CiyK6MfV.js → program-context-BzqGUxMS.js} +40 -40
- package/dist/{prompt-select-styled-DaNQ_GgB.js → prompt-select-styled-BVkRteee.js} +38 -38
- package/dist/{prompt-select-styled-B2ah467m.js → prompt-select-styled-b752FPLG.js} +7 -7
- package/dist/{provider-auth-helpers-Bgb_Bfp9.js → provider-auth-helpers-BKveYcEH.js} +1 -1
- package/dist/{provider-auth-helpers-D2FDvwT5.js → provider-auth-helpers-C6GjAO-s.js} +6 -6
- package/dist/{push-apns-va-DRu4U.js → push-apns-CbbWM63o.js} +4 -4
- package/dist/{push-apns-DnSCjFu7.js → push-apns-HNg0rTkI.js} +1 -1
- package/dist/{pw-ai-BiBvIJzd.js → pw-ai-CP5pn3eU.js} +7 -7
- package/dist/{pw-ai-DY_6l11g.js → pw-ai-DLsdzdgc.js} +1 -1
- package/dist/{qmd-manager-C8-M4Pru.js → qmd-manager-Dxyue7B1.js} +19 -19
- package/dist/{qr-cli-1sCVaPcF.js → qr-cli-DHw6muwK.js} +3 -3
- package/dist/{register.agent-BuEcmVg0.js → register.agent-DbPYGG3u.js} +12 -12
- package/dist/{register.agent-BqdQ0s30.js → register.agent-DhS2lmWo.js} +67 -67
- package/dist/{register.configure-YDKJ-KQg.js → register.configure-B0M15y31.js} +14 -14
- package/dist/{register.configure-Dhwi-4FG.js → register.configure-ChjzXxh8.js} +70 -70
- package/dist/{register.maintenance-BiGvpEj-.js → register.maintenance-bzLNOqch.js} +13 -13
- package/dist/{register.maintenance-iMjNw9uy.js → register.maintenance-frHWf6Xs.js} +67 -67
- package/dist/{register.message-BIuLbESM.js → register.message-Bfukmte_.js} +7 -7
- package/dist/{register.message-Ao_b9s2g.js → register.message-DWB4eVII.js} +47 -47
- package/dist/{register.onboard-ymhSAezZ.js → register.onboard-4P8ud4Sw.js} +25 -25
- package/dist/{register.onboard-C4vIASed.js → register.onboard-CDsSVoFI.js} +6 -6
- package/dist/{register.setup-D-Jt2e1d.js → register.setup-Bp8rYeRx.js} +6 -6
- package/dist/{register.setup-CKs9mqtD.js → register.setup-D0I7sEGc.js} +28 -28
- package/dist/{register.status-health-sessions-U-azRmpb.js → register.status-health-sessions-69Gigo_H.js} +41 -41
- package/dist/{register.status-health-sessions-BY9hMD1s.js → register.status-health-sessions-DE2db_Uo.js} +8 -8
- package/dist/{register.subclis-Cibmeapc.js → register.subclis-QXO75pUm.js} +20 -20
- package/dist/{replies-CbXXjn9X.js → replies-B_3j7R_Q.js} +1 -1
- package/dist/{reply-prefix-BFNeXT65.js → reply-prefix-CtZtkTJK.js} +1 -1
- package/dist/{resolve-route-C1IIA6kH.js → resolve-route-Du0VftVs.js} +1 -1
- package/dist/{routes-ivqbutvM.js → routes-BwTUoI5h.js} +10 -10
- package/dist/{rpc-BnAKPQDB.js → rpc-BBtNUyxN.js} +1 -1
- package/dist/{rpc-DjqFrbOc.js → rpc-DTqyJZKO.js} +1 -1
- package/dist/{run-main-BhEQjKtM.js → run-main-MD8Z8ydF.js} +20 -20
- package/dist/{sandbox-BkznAPKO.js → sandbox-CZGTCone.js} +18 -18
- package/dist/{sandbox-cli-Bb9cBtBH.js → sandbox-cli-DEtGT_4y.js} +13 -13
- package/dist/{security-cli-CS-ZT1LE.js → security-cli-DZ-6QDRB.js} +3 -3
- package/dist/{security-cli-JKsf9SIu.js → security-cli-iJpHPABF.js} +29 -29
- package/dist/{send-B0jHSNMF.js → send-CxjvucMO.js} +7 -7
- package/dist/{server-context-ChcbJgNo.js → server-context-DXdk410X.js} +5 -5
- package/dist/{server-methods-B2tykucj.js → server-methods-DHWxmfIu.js} +67 -61
- package/dist/{server-methods-CWxr5b-w.js → server-methods-DTkVQH8Q.js} +18 -12
- package/dist/{server-node-events-ClDEcUTJ.js → server-node-events-C0smPxrR.js} +8 -8
- package/dist/{server-node-events-BKqszk_a.js → server-node-events-DHSiqnRS.js} +48 -48
- package/dist/{service-e6MzlLCd.js → service-CRZoXO_n.js} +15 -15
- package/dist/{session-dirs-C9E2G0yZ.js → session-dirs-a00Ad2SO.js} +2 -2
- package/dist/{session-utils-Cs1jlD-q.js → session-utils-CJhcRx3E.js} +14 -14
- package/dist/{sessions-Dxf5Kjig.js → sessions-BCc3THTm.js} +10 -10
- package/dist/{shared-1xPo9ygd.js → shared-C39SiDDJ.js} +1 -1
- package/dist/{shared-COtpr3Ad.js → shared-Dh-O8nRd.js} +3 -3
- package/dist/{skill-commands-DDGGlq68.js → skill-commands-DWvXs3lz.js} +4 -4
- package/dist/{skill-scanner-BCgVcIwi.js → skill-scanner-CIlHPszT.js} +5 -5
- package/dist/{skills-BwDmcZdt.js → skills-CYcBtLGH.js} +4 -4
- package/dist/{skills-cli-B-7TY-vS.js → skills-cli-CD9s3cgm.js} +7 -7
- package/dist/{skills-install-Dwzsjoc8.js → skills-install-BTa9IuQ6.js} +3 -3
- package/dist/{skills-remote-bz71Bstn.js → skills-remote-BcRQTDsZ.js} +3 -3
- package/dist/{skills-status-BKX1PjCc.js → skills-status-DLnCHUZ2.js} +1 -1
- package/dist/{sqlite-Cod7C5ba.js → sqlite-BpogPlQW.js} +5 -5
- package/dist/{status-ojZB_Lrf.js → status-BEZotN01.js} +5 -5
- package/dist/{status-DPGFZPpp.js → status-DUbs9rVu.js} +3 -3
- package/dist/{status-DHBVIMyL.js → status-ISN-LC9F.js} +23 -23
- package/dist/{status-K1k4g3Ai.js → status-OTYFx93W.js} +1 -1
- package/dist/{status.update-DGJi0OLl.js → status.update-CKfyV6zw.js} +3 -3
- package/dist/{subagent-registry-BOt7g9hn.js → subagent-registry-CVhLz4p3.js} +43 -8
- package/dist/{symframe-cli-CrUtJw_7.js → symframe-cli-BSAQ05fb.js} +22 -6
- package/dist/{symframe-cli-CX3dINPw.js → symframe-cli-CPE5nxuJ.js} +28 -12
- package/dist/{symi-root-BQ0IpoW2.js → symi-root-DeCVdZB4.js} +2 -2
- package/dist/{synthesis-Bc2QkGvt.js → synthesis-C1mZnGqD.js} +2 -2
- package/dist/{synthesis-yl24Ovw4.js → synthesis-CDPVZw2P.js} +4 -4
- package/dist/{synthesis-DmqicCsT.js → synthesis-DkHCk0El.js} +45 -45
- package/dist/{synthesis-BIQLrbys.js → synthesis-RhT991Ni.js} +6 -6
- package/dist/{system-cli-CvN-Wq9U.js → system-cli-Dy6_0Qp7.js} +3 -3
- package/dist/{system-cli-DUHzCGfK.js → system-cli-nWJwLo85.js} +7 -7
- package/dist/{systemd-CUIM0n5P.js → systemd-CsoVnIbM.js} +5 -5
- package/dist/{systemd-hints-CsrzMCTD.js → systemd-hints-QISwLlFU.js} +6 -6
- package/dist/{systemd-linger-BzYk7A6M.js → systemd-linger-BnhuRdbt.js} +1 -1
- package/dist/{tui-DCqVZ6sC.js → tui-ZL7IGA7l.js} +7 -7
- package/dist/{tui-cli-DqvgN5ng.js → tui-cli-B-DKpOxE.js} +3 -3
- package/dist/{tui-cli-CI-P3sei.js → tui-cli-CEpMtmhP.js} +19 -19
- package/dist/{tui-BxgdImL_.js → tui-h57L-YTX.js} +2 -2
- package/dist/{unified-runner-BV5TdNFv.js → unified-runner-Cppo8O8z.js} +57 -14
- package/dist/{unified-runner-CznU7Ad0.js → unified-runner-CsadjpQa.js} +139 -104
- package/dist/{update-yYduAjKd.js → update-Cb0Fmxic.js} +3 -3
- package/dist/{update-check-BCL_K7kx.js → update-check-u6Jgr1cz.js} +5 -5
- package/dist/{update-cli-DBoIBDNe.js → update-cli-48-Nah-Y.js} +77 -77
- package/dist/{update-cli-Dn6QQZLd.js → update-cli-D9g9s187.js} +14 -14
- package/dist/{update-runner-BLV8SI96.js → update-runner-G2YgEATs.js} +15 -15
- package/dist/{webhooks-cli-D5k-Y2A8.js → webhooks-cli-DjUITimx.js} +4 -4
- package/dist/{with-timeout-DPR4A2dx.js → with-timeout-CLrF-Yr_.js} +1 -1
- package/dist/{workspace-dirs-jKFQf7of.js → workspace-dirs-DCICLTHx.js} +1 -1
- package/dist/{wsl-CglTdtlb.js → wsl-DTi7eX-V.js} +2 -2
- package/extensions/memory-core/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { Qt as getPrimaryCommand, tn as hasHelpOrVersion } from "./entry.js";
|
|
3
|
-
import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-
|
|
3
|
+
import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-QXO75pUm.js";
|
|
4
4
|
|
|
5
5
|
//#region src/cli/program/command-registry.ts
|
|
6
6
|
var command_registry_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -22,7 +22,7 @@ const coreEntries = [
|
|
|
22
22
|
hasSubcommands: false
|
|
23
23
|
}],
|
|
24
24
|
register: async ({ program }) => {
|
|
25
|
-
(await import("./register.setup-
|
|
25
|
+
(await import("./register.setup-Bp8rYeRx.js")).registerSetupCommand(program);
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
{
|
|
@@ -32,7 +32,7 @@ const coreEntries = [
|
|
|
32
32
|
hasSubcommands: false
|
|
33
33
|
}],
|
|
34
34
|
register: async ({ program }) => {
|
|
35
|
-
(await import("./register.onboard-
|
|
35
|
+
(await import("./register.onboard-CDsSVoFI.js")).registerOnboardCommand(program);
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
{
|
|
@@ -42,7 +42,7 @@ const coreEntries = [
|
|
|
42
42
|
hasSubcommands: false
|
|
43
43
|
}],
|
|
44
44
|
register: async ({ program }) => {
|
|
45
|
-
(await import("./register.configure-
|
|
45
|
+
(await import("./register.configure-B0M15y31.js")).registerConfigureCommand(program);
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
48
|
{
|
|
@@ -52,7 +52,7 @@ const coreEntries = [
|
|
|
52
52
|
hasSubcommands: true
|
|
53
53
|
}],
|
|
54
54
|
register: async ({ program }) => {
|
|
55
|
-
(await import("./config-cli-
|
|
55
|
+
(await import("./config-cli-9a5qBcdo.js")).registerConfigCli(program);
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
58
|
{
|
|
@@ -79,7 +79,7 @@ const coreEntries = [
|
|
|
79
79
|
}
|
|
80
80
|
],
|
|
81
81
|
register: async ({ program }) => {
|
|
82
|
-
(await import("./register.maintenance-
|
|
82
|
+
(await import("./register.maintenance-bzLNOqch.js")).registerMaintenanceCommands(program);
|
|
83
83
|
}
|
|
84
84
|
},
|
|
85
85
|
{
|
|
@@ -89,7 +89,7 @@ const coreEntries = [
|
|
|
89
89
|
hasSubcommands: true
|
|
90
90
|
}],
|
|
91
91
|
register: async ({ program, ctx }) => {
|
|
92
|
-
(await import("./register.message-
|
|
92
|
+
(await import("./register.message-Bfukmte_.js")).registerMessageCommands(program, ctx);
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
{
|
|
@@ -99,7 +99,7 @@ const coreEntries = [
|
|
|
99
99
|
hasSubcommands: true
|
|
100
100
|
}],
|
|
101
101
|
register: async ({ program }) => {
|
|
102
|
-
(await import("./memory-cli-
|
|
102
|
+
(await import("./memory-cli-083UJtVJ.js").then((n) => n.t)).registerMemoryCli(program);
|
|
103
103
|
}
|
|
104
104
|
},
|
|
105
105
|
{
|
|
@@ -113,7 +113,7 @@ const coreEntries = [
|
|
|
113
113
|
hasSubcommands: true
|
|
114
114
|
}],
|
|
115
115
|
register: async ({ program, ctx }) => {
|
|
116
|
-
(await import("./register.agent-
|
|
116
|
+
(await import("./register.agent-DbPYGG3u.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
|
|
117
117
|
}
|
|
118
118
|
},
|
|
119
119
|
{
|
|
@@ -135,7 +135,7 @@ const coreEntries = [
|
|
|
135
135
|
}
|
|
136
136
|
],
|
|
137
137
|
register: async ({ program }) => {
|
|
138
|
-
(await import("./register.status-health-sessions-
|
|
138
|
+
(await import("./register.status-health-sessions-DE2db_Uo.js")).registerStatusHealthSessionsCommands(program);
|
|
139
139
|
}
|
|
140
140
|
},
|
|
141
141
|
{
|
|
@@ -145,7 +145,7 @@ const coreEntries = [
|
|
|
145
145
|
hasSubcommands: true
|
|
146
146
|
}],
|
|
147
147
|
register: async ({ program }) => {
|
|
148
|
-
(await import("./browser-cli-
|
|
148
|
+
(await import("./browser-cli-CcCYZtag.js")).registerBrowserCli(program);
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { d as getActivePluginRegistry } from "./registry-Sbac4a4z.js";
|
|
3
3
|
import { c as escapeRegExp } from "./utils-CTPsqyE_.js";
|
|
4
|
-
import { C as DEFAULT_MODEL, m as resolveConfiguredModelRef, w as DEFAULT_PROVIDER } from "./model-selection-
|
|
4
|
+
import { C as DEFAULT_MODEL, m as resolveConfiguredModelRef, w as DEFAULT_PROVIDER } from "./model-selection-CCTzD29o.js";
|
|
5
5
|
import { n as listChannelDocks } from "./dock-hF45sewN.js";
|
|
6
6
|
import { i as listThinkingLevels } from "./thinking-COroyVA5.js";
|
|
7
7
|
import { t as isCommandFlagEnabled } from "./commands-DUzLGgEZ.js";
|
|
@@ -2,10 +2,10 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { _ as resolveStateDir } from "./paths-By0XjHBk.js";
|
|
3
3
|
import { f as pathExists } from "./utils-CTPsqyE_.js";
|
|
4
4
|
import { i as routeLogsToStderr } from "./subsystem-CHbO_DkH.js";
|
|
5
|
-
import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-
|
|
5
|
+
import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-BzqGUxMS.js";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import os from "node:os";
|
|
8
|
-
import
|
|
8
|
+
import fsPromises from "node:fs/promises";
|
|
9
9
|
import { Option } from "commander";
|
|
10
10
|
|
|
11
11
|
//#region src/cli/completion-cli.ts
|
|
@@ -62,11 +62,11 @@ function getCompletionScript(shell, program) {
|
|
|
62
62
|
}
|
|
63
63
|
async function writeCompletionCache(params) {
|
|
64
64
|
const cacheDir = resolveCompletionCacheDir();
|
|
65
|
-
await
|
|
65
|
+
await fsPromises.mkdir(cacheDir, { recursive: true });
|
|
66
66
|
for (const shell of params.shells) {
|
|
67
67
|
const script = getCompletionScript(shell, params.program);
|
|
68
68
|
const targetPath = resolveCompletionCachePath(shell, params.binName);
|
|
69
|
-
await
|
|
69
|
+
await fsPromises.writeFile(targetPath, script, "utf-8");
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
function formatCompletionSourceLine(shell, binName, cachePath) {
|
|
@@ -124,7 +124,7 @@ async function isCompletionInstalled(shell, binName = "symi") {
|
|
|
124
124
|
if (!await pathExists(profilePath)) return false;
|
|
125
125
|
const cachePathCandidate = resolveCompletionCachePath(shell, binName);
|
|
126
126
|
const cachedPath = await pathExists(cachePathCandidate) ? cachePathCandidate : null;
|
|
127
|
-
return (await
|
|
127
|
+
return (await fsPromises.readFile(profilePath, "utf-8")).split("\n").some((line) => isCompletionProfileHeader(line) || isCompletionProfileLine(line, binName, cachedPath));
|
|
128
128
|
}
|
|
129
129
|
/**
|
|
130
130
|
* Check if the profile uses the slow dynamic completion pattern.
|
|
@@ -134,7 +134,7 @@ async function usesSlowDynamicCompletion(shell, binName = "symi") {
|
|
|
134
134
|
const profilePath = getShellProfilePath(shell);
|
|
135
135
|
if (!await pathExists(profilePath)) return false;
|
|
136
136
|
const cachePath = resolveCompletionCachePath(shell, binName);
|
|
137
|
-
const lines = (await
|
|
137
|
+
const lines = (await fsPromises.readFile(profilePath, "utf-8")).split("\n");
|
|
138
138
|
for (const line of lines) if (isSlowDynamicCompletionLine(line, binName) && !line.includes(cachePath)) return true;
|
|
139
139
|
return false;
|
|
140
140
|
}
|
|
@@ -183,7 +183,7 @@ async function installCompletion(shell, yes, binName = "symi") {
|
|
|
183
183
|
} else if (shell === "bash") {
|
|
184
184
|
profilePath = path.join(home, ".bashrc");
|
|
185
185
|
try {
|
|
186
|
-
await
|
|
186
|
+
await fsPromises.access(profilePath);
|
|
187
187
|
} catch {
|
|
188
188
|
profilePath = path.join(home, ".bash_profile");
|
|
189
189
|
}
|
|
@@ -197,13 +197,13 @@ async function installCompletion(shell, yes, binName = "symi") {
|
|
|
197
197
|
}
|
|
198
198
|
try {
|
|
199
199
|
try {
|
|
200
|
-
await
|
|
200
|
+
await fsPromises.access(profilePath);
|
|
201
201
|
} catch {
|
|
202
202
|
if (!yes) console.warn(`Profile not found at ${profilePath}. Created a new one.`);
|
|
203
|
-
await
|
|
204
|
-
await
|
|
203
|
+
await fsPromises.mkdir(path.dirname(profilePath), { recursive: true });
|
|
204
|
+
await fsPromises.writeFile(profilePath, "", "utf-8");
|
|
205
205
|
}
|
|
206
|
-
const update = updateCompletionProfile(await
|
|
206
|
+
const update = updateCompletionProfile(await fsPromises.readFile(profilePath, "utf-8"), binName, cachePath, sourceLine);
|
|
207
207
|
if (!update.changed) {
|
|
208
208
|
if (!yes) console.log(`Completion already installed in ${profilePath}`);
|
|
209
209
|
return;
|
|
@@ -212,7 +212,7 @@ async function installCompletion(shell, yes, binName = "symi") {
|
|
|
212
212
|
const action = update.hadExisting ? "Updating" : "Installing";
|
|
213
213
|
console.log(`${action} completion in ${profilePath}...`);
|
|
214
214
|
}
|
|
215
|
-
await
|
|
215
|
+
await fsPromises.writeFile(profilePath, update.next, "utf-8");
|
|
216
216
|
if (!yes) console.log(`Completion installed. Restart your shell or run: source ${profilePath}`);
|
|
217
217
|
} catch (err) {
|
|
218
218
|
console.error(`Failed to install completion: ${err}`);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { Mt as pathExists, l as routeLogsToStderr, yt as resolveStateDir } from "./entry.js";
|
|
3
|
-
import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-
|
|
4
|
-
import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-
|
|
3
|
+
import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-QXO75pUm.js";
|
|
4
|
+
import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-DBbzZvh6.js";
|
|
5
5
|
import { t as getProgramContext } from "./program-context-B_0V80zV.js";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import path from "node:path";
|
|
@@ -3,8 +3,8 @@ import { t as CHANNEL_IDS } from "./registry-Sbac4a4z.js";
|
|
|
3
3
|
import { _ as resolveStateDir, a as resolveCanonicalConfigPath, b as resolveRequiredHomeDir, c as resolveDefaultConfigCandidates, d as resolveIsNixMode, f as resolveLegacyStateDir, g as resolveOAuthPath, h as resolveOAuthDir, i as isNixMode, l as resolveGatewayLockDir, m as resolveNewStateDir, n as DEFAULT_GATEWAY_PORT, o as resolveConfigPath, p as resolveLegacyStateDirs, r as STATE_DIR, s as resolveConfigPathCandidate, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-By0XjHBk.js";
|
|
4
4
|
import { S as isPlainObject$1, h as resolveUserPath, p as resolveConfigDir, u as isRecord } from "./utils-CTPsqyE_.js";
|
|
5
5
|
import { o as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-DUSb7CCb.js";
|
|
6
|
-
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-
|
|
7
|
-
import { S as DEFAULT_CONTEXT_TOKENS, d as parseModelRef } from "./model-selection-
|
|
6
|
+
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-Bnsyyeci.js";
|
|
7
|
+
import { S as DEFAULT_CONTEXT_TOKENS, d as parseModelRef } from "./model-selection-CCTzD29o.js";
|
|
8
8
|
import { a as shouldDeferShellEnvFallback, i as resolveShellEnvFallbackTimeoutMs, o as shouldEnableShellEnvFallback, r as loadShellEnvFallback } from "./shell-env-Dc3iU7HK.js";
|
|
9
9
|
import { d as resolveEnableState, f as resolveMemorySlotDecision, g as normalizeEnvVarKey, h as isDangerousHostEnvVarName, n as loadPluginManifestRegistry, u as normalizePluginsConfig } from "./manifest-registry-D1MLZEjS.js";
|
|
10
10
|
import { i as isPathInside } from "./legacy-names-BQ9vKISY.js";
|
|
@@ -201,7 +201,7 @@ async function runConfigUnset(opts) {
|
|
|
201
201
|
}
|
|
202
202
|
function registerConfigCli(program) {
|
|
203
203
|
const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
|
|
204
|
-
const { configureCommandFromSectionsArg } = await import("./configure-
|
|
204
|
+
const { configureCommandFromSectionsArg } = await import("./configure-ryB8EvyP.js").then((n) => n.t);
|
|
205
205
|
await configureCommandFromSectionsArg(opts.section, defaultRuntime);
|
|
206
206
|
});
|
|
207
207
|
cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
|
|
@@ -4,9 +4,9 @@ import { v as shortenHomePath } from "./utils-CTPsqyE_.js";
|
|
|
4
4
|
import { f as defaultRuntime } from "./subsystem-CHbO_DkH.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
|
|
6
6
|
import "./exec-DuYbft0z.js";
|
|
7
|
-
import "./agent-scope-
|
|
8
|
-
import "./model-selection-
|
|
9
|
-
import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-
|
|
7
|
+
import "./agent-scope-Bnsyyeci.js";
|
|
8
|
+
import "./model-selection-CCTzD29o.js";
|
|
9
|
+
import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-BngIfn5l.js";
|
|
10
10
|
import "./boolean-CbZoNRMn.js";
|
|
11
11
|
import "./env-BRnPI9sO.js";
|
|
12
12
|
import "./shell-env-Dc3iU7HK.js";
|
|
@@ -206,7 +206,7 @@ async function runConfigUnset(opts) {
|
|
|
206
206
|
}
|
|
207
207
|
function registerConfigCli(program) {
|
|
208
208
|
const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset). Run without subcommand for the setup wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.symi.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
|
|
209
|
-
const { configureCommandFromSectionsArg } = await import("./configure-
|
|
209
|
+
const { configureCommandFromSectionsArg } = await import("./configure-Bqz2Hvnf.js").then((n) => n.t);
|
|
210
210
|
await configureCommandFromSectionsArg(opts.section, defaultRuntime);
|
|
211
211
|
});
|
|
212
212
|
cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
|
|
@@ -4,14 +4,14 @@ import { v as shortenHomePath } from "./utils-CTPsqyE_.js";
|
|
|
4
4
|
import "./subsystem-CHbO_DkH.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
|
|
6
6
|
import "./exec-DuYbft0z.js";
|
|
7
|
-
import "./agent-scope-
|
|
8
|
-
import "./model-selection-
|
|
9
|
-
import { o as readConfigFileSnapshot } from "./config-
|
|
7
|
+
import "./agent-scope-Bnsyyeci.js";
|
|
8
|
+
import "./model-selection-CCTzD29o.js";
|
|
9
|
+
import { o as readConfigFileSnapshot } from "./config-BngIfn5l.js";
|
|
10
10
|
import "./boolean-CbZoNRMn.js";
|
|
11
11
|
import "./env-BRnPI9sO.js";
|
|
12
12
|
import "./shell-env-Dc3iU7HK.js";
|
|
13
13
|
import "./manifest-registry-D1MLZEjS.js";
|
|
14
|
-
import "./sessions-
|
|
14
|
+
import "./sessions-BCc3THTm.js";
|
|
15
15
|
import "./dock-hF45sewN.js";
|
|
16
16
|
import "./message-channel-DgjXWzf-.js";
|
|
17
17
|
import "./plugins-CF5skkHh.js";
|
|
@@ -20,8 +20,8 @@ import { c as shouldMigrateStateFromPath } from "./argv-D6PT4jl6.js";
|
|
|
20
20
|
import "./catalog-BptA-dUv.js";
|
|
21
21
|
import "./prompt-style-olk5zI5k.js";
|
|
22
22
|
import "./note-D9FXI2qW.js";
|
|
23
|
-
import "./plugin-auto-enable-
|
|
24
|
-
import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-
|
|
23
|
+
import "./plugin-auto-enable-BXSJTxI7.js";
|
|
24
|
+
import { t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-ljVnQJjo.js";
|
|
25
25
|
|
|
26
26
|
//#region src/cli/program/config-guard.ts
|
|
27
27
|
const ALLOWED_INVALID_COMMANDS = new Set([
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
|
|
2
|
-
import { o as readConfigFileSnapshot } from "./config-
|
|
2
|
+
import { o as readConfigFileSnapshot } from "./config-BngIfn5l.js";
|
|
3
3
|
|
|
4
4
|
//#region src/commands/config-validation.ts
|
|
5
5
|
async function requireValidConfigSnapshot(runtime) {
|
|
@@ -2,9 +2,9 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-By0XjHBk.js";
|
|
3
3
|
import { h as resolveUserPath, v as shortenHomePath } from "./utils-CTPsqyE_.js";
|
|
4
4
|
import { f as defaultRuntime } from "./subsystem-CHbO_DkH.js";
|
|
5
|
-
import { b as ensureAuthProfileStore } from "./auth-profiles-
|
|
5
|
+
import { b as ensureAuthProfileStore } from "./auth-profiles-D5nYBj_Z.js";
|
|
6
6
|
import { t as formatCliCommand } from "./command-format-BzjsXBTi.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-BngIfn5l.js";
|
|
8
8
|
import { a as findTailscaleBinary } from "./tailscale-DpKBMIvx.js";
|
|
9
9
|
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CF5skkHh.js";
|
|
10
10
|
import { n as withProgress } from "./progress-swt2y17x.js";
|
|
@@ -12,22 +12,22 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
|
|
|
12
12
|
import { t as note$1 } from "./note-D9FXI2qW.js";
|
|
13
13
|
import { t as WizardCancelledError } from "./prompts-CNzp9M83.js";
|
|
14
14
|
import { t as createClackPrompter } from "./clack-prompter-BpcKjPIh.js";
|
|
15
|
-
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-
|
|
16
|
-
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-
|
|
17
|
-
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-
|
|
18
|
-
import { t as resolveGatewayService } from "./service-
|
|
19
|
-
import { r as healthCommand } from "./health-
|
|
20
|
-
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-
|
|
15
|
+
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-DVS9vciR.js";
|
|
16
|
+
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-CKn0wmCk.js";
|
|
17
|
+
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-CJlheOSJ.js";
|
|
18
|
+
import { t as resolveGatewayService } from "./service-CRZoXO_n.js";
|
|
19
|
+
import { r as healthCommand } from "./health-Bc1wmAO5.js";
|
|
20
|
+
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B8B9z_Ll.js";
|
|
21
21
|
import { n as logConfigUpdated } from "./logging-DDnP1BTp.js";
|
|
22
22
|
import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-BAFfYZeR.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-
|
|
25
|
-
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-
|
|
26
|
-
import { a as promptCustomApiConfig } from "./onboard-custom-
|
|
23
|
+
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-DKRHawfp.js";
|
|
24
|
+
import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-Dpkr5xBW.js";
|
|
25
|
+
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-BnhuRdbt.js";
|
|
26
|
+
import { a as promptCustomApiConfig } from "./onboard-custom-DnDrvxSg.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-C_NtZ3JP.js";
|
|
28
28
|
import { t as formatHealthCheckFailure } from "./health-format-Bxg84_f4.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-CVZ8l58S.js";
|
|
30
|
+
import { n as setupSkills } from "./onboard-skills-MgcaLiE6.js";
|
|
31
31
|
import { confirm, intro, outro, select, text } from "@clack/prompts";
|
|
32
32
|
|
|
33
33
|
//#region src/commands/configure.shared.ts
|
|
@@ -10,22 +10,22 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
|
|
|
10
10
|
import { t as note$1 } from "./note-BIAQpZxi.js";
|
|
11
11
|
import { t as WizardCancelledError } from "./prompts-D4yOwSll.js";
|
|
12
12
|
import { t as createClackPrompter } from "./clack-prompter-BMQT37oC.js";
|
|
13
|
-
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-
|
|
13
|
+
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-BkR3MKMp.js";
|
|
14
14
|
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-AkgOtHR6.js";
|
|
15
|
-
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-
|
|
15
|
+
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-t7tI9KSA.js";
|
|
16
16
|
import { t as resolveGatewayService } from "./service-DYpU1ajf.js";
|
|
17
|
-
import { r as healthCommand } from "./health-
|
|
17
|
+
import { r as healthCommand } from "./health-Dkwuq8ta.js";
|
|
18
18
|
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Dnz69KRU.js";
|
|
19
19
|
import { n as logConfigUpdated } from "./logging-Ev3fNJEG.js";
|
|
20
20
|
import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-D6A5uuj3.js";
|
|
21
|
-
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice
|
|
21
|
+
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-5SLfZiQ7.js";
|
|
22
22
|
import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-DvP8ViSf.js";
|
|
23
23
|
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-CctFkWNE.js";
|
|
24
24
|
import { a as promptCustomApiConfig } from "./onboard-custom-CfKvdcJ5.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-qGjACkoi.js";
|
|
26
26
|
import { t as formatHealthCheckFailure } from "./health-format-6tfMqkNX.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-DH3bPYbE.js";
|
|
28
|
+
import { n as setupSkills } from "./onboard-skills-Bjf7kWvg.js";
|
|
29
29
|
import { confirm, intro, outro, select, text } from "@clack/prompts";
|
|
30
30
|
|
|
31
31
|
//#region src/commands/configure.shared.ts
|
|
@@ -2,10 +2,10 @@ import "./registry-Sbac4a4z.js";
|
|
|
2
2
|
import "./paths-By0XjHBk.js";
|
|
3
3
|
import "./utils-CTPsqyE_.js";
|
|
4
4
|
import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
|
|
5
|
-
import { l as parseEmbedding, r as cosineSimilarity } from "./internal-
|
|
5
|
+
import { l as parseEmbedding, r as cosineSimilarity } from "./internal-csqU78gW.js";
|
|
6
6
|
import crypto from "node:crypto";
|
|
7
7
|
import path from "node:path";
|
|
8
|
-
import
|
|
8
|
+
import fsPromises from "node:fs/promises";
|
|
9
9
|
|
|
10
10
|
//#region src/memory/consolidate.ts
|
|
11
11
|
const log = createSubsystemLogger("memory/consolidate");
|
|
@@ -346,7 +346,7 @@ async function stagePromote(params) {
|
|
|
346
346
|
};
|
|
347
347
|
const now = params.now ?? Date.now();
|
|
348
348
|
const memoryDir = path.join(params.workspaceDir, "memory");
|
|
349
|
-
await
|
|
349
|
+
await fsPromises.mkdir(memoryDir, { recursive: true }).catch(() => {});
|
|
350
350
|
const corePath = path.join(memoryDir, "symi-core.md");
|
|
351
351
|
const beliefsPath = path.join(memoryDir, "symi-beliefs.md");
|
|
352
352
|
params.db.prepare(`UPDATE chunks SET promoted_to = NULL WHERE promoted_to = ?`).run(SYMI_CORE_PATH);
|
|
@@ -386,7 +386,7 @@ async function stagePromote(params) {
|
|
|
386
386
|
sections: sectionLines,
|
|
387
387
|
now
|
|
388
388
|
});
|
|
389
|
-
await
|
|
389
|
+
await fsPromises.writeFile(corePath, symiCoreContent, "utf-8");
|
|
390
390
|
const merged = mergeBeliefs({
|
|
391
391
|
existing: await readExistingBeliefs(beliefsPath),
|
|
392
392
|
fresh: params.synthesizedBeliefs ?? [],
|
|
@@ -396,7 +396,7 @@ async function stagePromote(params) {
|
|
|
396
396
|
beliefs: merged,
|
|
397
397
|
now
|
|
398
398
|
});
|
|
399
|
-
await
|
|
399
|
+
await fsPromises.writeFile(beliefsPath, symiBeliefsContent, "utf-8");
|
|
400
400
|
log.debug("consolidate.promote", {
|
|
401
401
|
promoted,
|
|
402
402
|
sections: CORE_SECTIONS.length,
|
|
@@ -596,7 +596,7 @@ function mergeBeliefs(params) {
|
|
|
596
596
|
return [...byHash.values()].toSorted((a, b) => b.confidence - a.confidence).slice(0, params.cap);
|
|
597
597
|
}
|
|
598
598
|
async function readExistingBeliefs(filePath) {
|
|
599
|
-
const content = await
|
|
599
|
+
const content = await fsPromises.readFile(filePath, "utf-8").catch(() => "");
|
|
600
600
|
if (!content) return [];
|
|
601
601
|
const out = [];
|
|
602
602
|
for (const rawLine of content.split("\n")) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.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-BngIfn5l.js";
|
|
4
|
+
import { x as ensureChromeExtensionRelayServer } from "./chrome-38OnGyuN.js";
|
|
5
|
+
import { a as resolveProfile, i as resolveBrowserConfig, n as listKnownProfileNames, p as ensureBrowserControlAuth, t as createBrowserRouteContext } from "./server-context-DXdk410X.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-CP5pn3eU.js")).closePlaywrightBrowserConnection();
|
|
84
84
|
} catch {}
|
|
85
85
|
}
|
|
86
86
|
|
|
@@ -909,6 +909,158 @@ body {
|
|
|
909
909
|
line-height: 1.4;
|
|
910
910
|
}
|
|
911
911
|
|
|
912
|
+
/* ── Stage D (3.5.26) mode chips + per-mode layout ───────────────── */
|
|
913
|
+
.symframe-modes {
|
|
914
|
+
display: flex;
|
|
915
|
+
align-items: center;
|
|
916
|
+
gap: 6px;
|
|
917
|
+
margin-top: 6px;
|
|
918
|
+
}
|
|
919
|
+
.mode-chip {
|
|
920
|
+
width: 10px;
|
|
921
|
+
height: 10px;
|
|
922
|
+
border-radius: 50%;
|
|
923
|
+
border: 1px solid rgba(0, 212, 255, 0.32);
|
|
924
|
+
background: transparent;
|
|
925
|
+
padding: 0;
|
|
926
|
+
cursor: pointer;
|
|
927
|
+
transition:
|
|
928
|
+
background 0.2s ease,
|
|
929
|
+
border-color 0.2s ease,
|
|
930
|
+
transform 0.15s ease;
|
|
931
|
+
flex-shrink: 0;
|
|
932
|
+
}
|
|
933
|
+
.mode-chip:hover {
|
|
934
|
+
border-color: var(--accent-cyan);
|
|
935
|
+
background: rgba(0, 212, 255, 0.15);
|
|
936
|
+
transform: scale(1.15);
|
|
937
|
+
}
|
|
938
|
+
.mode-chip.active {
|
|
939
|
+
background: var(--accent-cyan);
|
|
940
|
+
border-color: var(--accent-cyan);
|
|
941
|
+
box-shadow: 0 0 6px rgba(0, 212, 255, 0.5);
|
|
942
|
+
}
|
|
943
|
+
.mode-auto {
|
|
944
|
+
margin-left: auto;
|
|
945
|
+
padding: 2px 8px;
|
|
946
|
+
font-family: var(--font-mono);
|
|
947
|
+
font-size: 8px;
|
|
948
|
+
font-weight: 700;
|
|
949
|
+
letter-spacing: 0.12em;
|
|
950
|
+
color: var(--accent-cyan);
|
|
951
|
+
background: rgba(0, 212, 255, 0.08);
|
|
952
|
+
border: 1px solid rgba(0, 212, 255, 0.32);
|
|
953
|
+
border-radius: 8px;
|
|
954
|
+
cursor: pointer;
|
|
955
|
+
transition:
|
|
956
|
+
background 0.15s ease,
|
|
957
|
+
color 0.15s ease;
|
|
958
|
+
}
|
|
959
|
+
.mode-auto:hover {
|
|
960
|
+
background: rgba(0, 212, 255, 0.2);
|
|
961
|
+
color: var(--text);
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
/* ── Per-mode layout overrides ───────────────────────────────── */
|
|
965
|
+
/* Default (ambient): inherits the base .symframe grid above —
|
|
966
|
+
auto / 1fr / auto rows. No override needed. */
|
|
967
|
+
|
|
968
|
+
/* Focus mode: hide AWAITING; dim substrate to a soft texture; the
|
|
969
|
+
foreground card takes the visual stage. If a focusedId is set, the
|
|
970
|
+
matching card gets a cyan halo + others fade out. */
|
|
971
|
+
.symframe[data-mode="focus"] {
|
|
972
|
+
grid-template-rows: auto 1fr 0;
|
|
973
|
+
}
|
|
974
|
+
.symframe[data-mode="focus"] .symframe-awaiting {
|
|
975
|
+
display: none;
|
|
976
|
+
}
|
|
977
|
+
.symframe[data-mode="focus"] .symframe-substrate {
|
|
978
|
+
opacity: 0.2;
|
|
979
|
+
pointer-events: none;
|
|
980
|
+
filter: blur(2px);
|
|
981
|
+
transition:
|
|
982
|
+
opacity 0.4s ease,
|
|
983
|
+
filter 0.4s ease;
|
|
984
|
+
}
|
|
985
|
+
/* When focusedId is set, dim non-matching cards. */
|
|
986
|
+
.symframe[data-mode="focus"][data-focus-id] .symframe-card-dynamic {
|
|
987
|
+
opacity: 0.25;
|
|
988
|
+
transition: opacity 0.4s ease;
|
|
989
|
+
}
|
|
990
|
+
.symframe[data-mode="focus"][data-focus-id] .symframe-card-dynamic:hover {
|
|
991
|
+
opacity: 0.6;
|
|
992
|
+
}
|
|
993
|
+
/* The focused card gets a halo and stays sharp. Selector is built
|
|
994
|
+
dynamically by symframe.js via the [data-focus-id] attribute and
|
|
995
|
+
the card's own [data-card-id]; CSS can't directly match across
|
|
996
|
+
them, so we use a generic "the card whose id matches" pattern via
|
|
997
|
+
:has() (when supported) plus a fallback class added by JS. */
|
|
998
|
+
.symframe[data-mode="focus"] .symframe-card-focused {
|
|
999
|
+
opacity: 1 !important;
|
|
1000
|
+
box-shadow:
|
|
1001
|
+
0 0 24px rgba(0, 212, 255, 0.35),
|
|
1002
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.06),
|
|
1003
|
+
0 4px 12px rgba(0, 0, 0, 0.25);
|
|
1004
|
+
border-color: var(--accent-cyan) !important;
|
|
1005
|
+
transform: scale(1.02);
|
|
1006
|
+
transform-origin: center;
|
|
1007
|
+
transition:
|
|
1008
|
+
box-shadow 0.4s ease,
|
|
1009
|
+
border-color 0.4s ease,
|
|
1010
|
+
transform 0.4s ease;
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
/* Awaiting mode: footer dominant; cards collapse to title strips;
|
|
1014
|
+
substrate dims to a status band. */
|
|
1015
|
+
.symframe[data-mode="awaiting"] {
|
|
1016
|
+
grid-template-rows: auto minmax(60px, 1fr) 4fr;
|
|
1017
|
+
}
|
|
1018
|
+
.symframe[data-mode="awaiting"] .symframe-substrate {
|
|
1019
|
+
opacity: 0.35;
|
|
1020
|
+
}
|
|
1021
|
+
.symframe[data-mode="awaiting"] .symframe-card-dynamic {
|
|
1022
|
+
max-height: 38px;
|
|
1023
|
+
overflow: hidden;
|
|
1024
|
+
transition:
|
|
1025
|
+
max-height 0.4s ease,
|
|
1026
|
+
opacity 0.4s ease;
|
|
1027
|
+
}
|
|
1028
|
+
.symframe[data-mode="awaiting"] .symframe-card-dynamic .symframe-card-body,
|
|
1029
|
+
.symframe[data-mode="awaiting"] .symframe-card-dynamic .symframe-card-actions {
|
|
1030
|
+
display: none;
|
|
1031
|
+
}
|
|
1032
|
+
.symframe[data-mode="awaiting"] .symframe-awaiting {
|
|
1033
|
+
max-height: none;
|
|
1034
|
+
background: rgba(0, 212, 255, 0.04);
|
|
1035
|
+
border-radius: 10px;
|
|
1036
|
+
margin-top: 8px;
|
|
1037
|
+
}
|
|
1038
|
+
.symframe[data-mode="awaiting"] .awaiting-list {
|
|
1039
|
+
max-height: none;
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
/* Quiet mode: only the substrate breathes. Cards + AWAITING hidden.
|
|
1043
|
+
This is the "deep think" or "nothing to surface" posture. */
|
|
1044
|
+
.symframe[data-mode="quiet"] {
|
|
1045
|
+
grid-template-rows: auto 1fr;
|
|
1046
|
+
}
|
|
1047
|
+
.symframe[data-mode="quiet"] .symframe-cards,
|
|
1048
|
+
.symframe[data-mode="quiet"] .symframe-awaiting {
|
|
1049
|
+
display: none;
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
/* Reduced-motion: drop the per-mode transitions. The data-mode
|
|
1053
|
+
attribute still flips; just no animated handoff between modes. */
|
|
1054
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1055
|
+
.symframe[data-mode="focus"] .symframe-substrate,
|
|
1056
|
+
.symframe[data-mode="focus"][data-focus-id] .symframe-card-dynamic,
|
|
1057
|
+
.symframe[data-mode="focus"] .symframe-card-focused,
|
|
1058
|
+
.symframe[data-mode="awaiting"] .symframe-substrate,
|
|
1059
|
+
.symframe[data-mode="awaiting"] .symframe-card-dynamic {
|
|
1060
|
+
transition: none;
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
|
|
912
1064
|
/* The stack — substrate + cards share a single grid cell so they
|
|
913
1065
|
overlap on the z-axis. Cards on top (z:1) with backdrop-filter let
|
|
914
1066
|
the substrate (z:0) show through.
|
|
@@ -202,6 +202,47 @@
|
|
|
202
202
|
<span class="reasoning-live-dot" id="reasoning-live-dot"></span>
|
|
203
203
|
<span class="symframe-count" id="symframe-count"></span>
|
|
204
204
|
</div>
|
|
205
|
+
<!-- Stage D (3.5.26): mode selector chips. Agent picks via -->
|
|
206
|
+
<!-- display_artifact setMode; user can override by clicking a chip. -->
|
|
207
|
+
<!-- The AUTO pill appears only while userOverride is active; click -->
|
|
208
|
+
<!-- it to release control back to the agent. -->
|
|
209
|
+
<div class="symframe-modes" id="symframe-modes" role="tablist" aria-label="Panel mode">
|
|
210
|
+
<button
|
|
211
|
+
type="button"
|
|
212
|
+
class="mode-chip"
|
|
213
|
+
data-mode="ambient"
|
|
214
|
+
role="tab"
|
|
215
|
+
title="Ambient — substrate + cards + awaiting visible"
|
|
216
|
+
aria-label="Ambient mode"
|
|
217
|
+
></button>
|
|
218
|
+
<button
|
|
219
|
+
type="button"
|
|
220
|
+
class="mode-chip"
|
|
221
|
+
data-mode="focus"
|
|
222
|
+
role="tab"
|
|
223
|
+
title="Focus — one card centered, substrate dim, footer hidden"
|
|
224
|
+
aria-label="Focus mode"
|
|
225
|
+
></button>
|
|
226
|
+
<button
|
|
227
|
+
type="button"
|
|
228
|
+
class="mode-chip"
|
|
229
|
+
data-mode="awaiting"
|
|
230
|
+
role="tab"
|
|
231
|
+
title="Awaiting — footer prominent, cards collapsed"
|
|
232
|
+
aria-label="Awaiting mode"
|
|
233
|
+
></button>
|
|
234
|
+
<button
|
|
235
|
+
type="button"
|
|
236
|
+
class="mode-chip"
|
|
237
|
+
data-mode="quiet"
|
|
238
|
+
role="tab"
|
|
239
|
+
title="Quiet — substrate only, cards + footer hidden"
|
|
240
|
+
aria-label="Quiet mode"
|
|
241
|
+
></button>
|
|
242
|
+
<button type="button" class="mode-auto" id="mode-auto" hidden title="Release to agent">
|
|
243
|
+
AUTO
|
|
244
|
+
</button>
|
|
245
|
+
</div>
|
|
205
246
|
<div class="symframe-sub">window into the agent's mind</div>
|
|
206
247
|
</div>
|
|
207
248
|
<div class="symframe-stack">
|
|
@@ -987,5 +1028,6 @@
|
|
|
987
1028
|
<script src="js/symframe.js"></script>
|
|
988
1029
|
<script src="js/symframe-substrate.js"></script>
|
|
989
1030
|
<script src="js/symframe-awaiting.js"></script>
|
|
1031
|
+
<script src="js/symframe-modes.js"></script>
|
|
990
1032
|
</body>
|
|
991
1033
|
</html>
|