@symerian/symi 3.5.24 → 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 +2 -2
- package/dist/bundled/session-memory/handler.js +2 -2
- 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/{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 +177 -9
- 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-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 +2 -2
- 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-DDynl084.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/index.js +6 -6
- 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/{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-D91XE0n4.js → synthesis-CDPVZw2P.js} +2 -2
- 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-CdJx7yN8.js → unified-runner-Cppo8O8z.js} +50 -7
- 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 +12 -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,7 +1,7 @@
|
|
|
1
1
|
import { i as isPathInside } from "./legacy-names-BQ9vKISY.js";
|
|
2
2
|
import { i as hasErrnoCode } from "./errors-bI7Tdx75.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fsPromises from "node:fs/promises";
|
|
5
5
|
|
|
6
6
|
//#region src/security/skill-scanner.ts
|
|
7
7
|
const SCANNABLE_EXTENSIONS = new Set([
|
|
@@ -154,7 +154,7 @@ async function walkDirWithLimit(dirPath, maxFiles) {
|
|
|
154
154
|
while (stack.length > 0 && files.length < maxFiles) {
|
|
155
155
|
const currentDir = stack.pop();
|
|
156
156
|
if (!currentDir) break;
|
|
157
|
-
const entries = await
|
|
157
|
+
const entries = await fsPromises.readdir(currentDir, { withFileTypes: true });
|
|
158
158
|
for (const entry of entries) {
|
|
159
159
|
if (files.length >= maxFiles) break;
|
|
160
160
|
if (entry.name.startsWith(".") || entry.name === "node_modules") continue;
|
|
@@ -176,7 +176,7 @@ async function resolveForcedFiles(params) {
|
|
|
176
176
|
if (seen.has(includePath)) continue;
|
|
177
177
|
let st = null;
|
|
178
178
|
try {
|
|
179
|
-
st = await
|
|
179
|
+
st = await fsPromises.stat(includePath);
|
|
180
180
|
} catch (err) {
|
|
181
181
|
if (hasErrnoCode(err, "ENOENT")) continue;
|
|
182
182
|
throw err;
|
|
@@ -208,14 +208,14 @@ async function collectScannableFiles(dirPath, opts) {
|
|
|
208
208
|
async function readScannableSource(filePath, maxFileBytes) {
|
|
209
209
|
let st = null;
|
|
210
210
|
try {
|
|
211
|
-
st = await
|
|
211
|
+
st = await fsPromises.stat(filePath);
|
|
212
212
|
} catch (err) {
|
|
213
213
|
if (hasErrnoCode(err, "ENOENT")) return null;
|
|
214
214
|
throw err;
|
|
215
215
|
}
|
|
216
216
|
if (!st?.isFile() || st.size > maxFileBytes) return null;
|
|
217
217
|
try {
|
|
218
|
-
return await
|
|
218
|
+
return await fsPromises.readFile(filePath, "utf-8");
|
|
219
219
|
} catch (err) {
|
|
220
220
|
if (hasErrnoCode(err, "ENOENT")) return null;
|
|
221
221
|
throw err;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { h as resolveUserPath, t as CONFIG_DIR } from "./utils-CTPsqyE_.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
|
|
3
|
-
import { i as normalizeSkillFilter, n as resolveSymiPackageRootSync } from "./symi-root-
|
|
3
|
+
import { i as normalizeSkillFilter, n as resolveSymiPackageRootSync } from "./symi-root-DeCVdZB4.js";
|
|
4
4
|
import { d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, n as loadPluginManifestRegistry, u as normalizePluginsConfig } from "./manifest-registry-D1MLZEjS.js";
|
|
5
5
|
import { a as resolveSymiManifestBlock, c as resolveSymiManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseSymiManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList, o as resolveSymiManifestInstall, p as resolveRuntimePlatform, r as parseFrontmatterBool, s as resolveSymiManifestOs, t as getFrontmatterString, u as evaluateRuntimeRequires } from "./frontmatter-B_jqcova.js";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import fs from "node:fs";
|
|
9
9
|
import os from "node:os";
|
|
10
|
-
import
|
|
10
|
+
import fsPromises from "node:fs/promises";
|
|
11
11
|
import { formatSkillsForPrompt, loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
|
|
12
12
|
|
|
13
13
|
//#region src/agents/skills/frontmatter.ts
|
|
@@ -392,7 +392,7 @@ async function assertNoSymlinkEscape(relative, root, options) {
|
|
|
392
392
|
const isLast = idx === parts.length - 1;
|
|
393
393
|
current = path.join(current, part);
|
|
394
394
|
try {
|
|
395
|
-
if ((await
|
|
395
|
+
if ((await fsPromises.lstat(current)).isSymbolicLink()) {
|
|
396
396
|
if (options?.allowFinalSymlink && isLast) return;
|
|
397
397
|
const target = await tryRealpath(current);
|
|
398
398
|
if (!isPathInside(rootReal, target)) throw new Error(`Symlink escapes sandbox root (${shortPath(rootReal)}): ${shortPath(current)}`);
|
|
@@ -406,7 +406,7 @@ async function assertNoSymlinkEscape(relative, root, options) {
|
|
|
406
406
|
}
|
|
407
407
|
async function tryRealpath(value) {
|
|
408
408
|
try {
|
|
409
|
-
return await
|
|
409
|
+
return await fsPromises.realpath(value);
|
|
410
410
|
} catch {
|
|
411
411
|
return path.resolve(value);
|
|
412
412
|
}
|
|
@@ -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 { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-
|
|
8
|
-
import "./model-selection-
|
|
9
|
-
import { i as loadConfig } from "./config-
|
|
7
|
+
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-Bnsyyeci.js";
|
|
8
|
+
import "./model-selection-CCTzD29o.js";
|
|
9
|
+
import { i as loadConfig } from "./config-BngIfn5l.js";
|
|
10
10
|
import "./boolean-CbZoNRMn.js";
|
|
11
11
|
import "./env-BRnPI9sO.js";
|
|
12
12
|
import "./shell-env-Dc3iU7HK.js";
|
|
@@ -236,7 +236,7 @@ function registerSkillsCli(program) {
|
|
|
236
236
|
try {
|
|
237
237
|
const config = loadConfig();
|
|
238
238
|
const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
|
|
239
|
-
const { buildWorkspaceSkillStatus } = await import("./skills-status-
|
|
239
|
+
const { buildWorkspaceSkillStatus } = await import("./skills-status-DLnCHUZ2.js").then((n) => n.n);
|
|
240
240
|
const report = buildWorkspaceSkillStatus(workspaceDir, { config });
|
|
241
241
|
defaultRuntime.log(formatSkillsList(report, opts));
|
|
242
242
|
} catch (err) {
|
|
@@ -248,7 +248,7 @@ function registerSkillsCli(program) {
|
|
|
248
248
|
try {
|
|
249
249
|
const config = loadConfig();
|
|
250
250
|
const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
|
|
251
|
-
const { buildWorkspaceSkillStatus } = await import("./skills-status-
|
|
251
|
+
const { buildWorkspaceSkillStatus } = await import("./skills-status-DLnCHUZ2.js").then((n) => n.n);
|
|
252
252
|
const report = buildWorkspaceSkillStatus(workspaceDir, { config });
|
|
253
253
|
defaultRuntime.log(formatSkillInfo(report, name, opts));
|
|
254
254
|
} catch (err) {
|
|
@@ -260,7 +260,7 @@ function registerSkillsCli(program) {
|
|
|
260
260
|
try {
|
|
261
261
|
const config = loadConfig();
|
|
262
262
|
const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
|
|
263
|
-
const { buildWorkspaceSkillStatus } = await import("./skills-status-
|
|
263
|
+
const { buildWorkspaceSkillStatus } = await import("./skills-status-DLnCHUZ2.js").then((n) => n.n);
|
|
264
264
|
const report = buildWorkspaceSkillStatus(workspaceDir, { config });
|
|
265
265
|
defaultRuntime.log(formatSkillsCheck(report, opts));
|
|
266
266
|
} catch (err) {
|
|
@@ -272,7 +272,7 @@ function registerSkillsCli(program) {
|
|
|
272
272
|
try {
|
|
273
273
|
const config = loadConfig();
|
|
274
274
|
const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
|
|
275
|
-
const { buildWorkspaceSkillStatus } = await import("./skills-status-
|
|
275
|
+
const { buildWorkspaceSkillStatus } = await import("./skills-status-DLnCHUZ2.js").then((n) => n.n);
|
|
276
276
|
const report = buildWorkspaceSkillStatus(workspaceDir, { config });
|
|
277
277
|
defaultRuntime.log(formatSkillsList(report, {}));
|
|
278
278
|
} catch (err) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { h as resolveUserPath, p as resolveConfigDir, s as ensureDir } from "./utils-CTPsqyE_.js";
|
|
2
2
|
import { t as runCommandWithTimeout } from "./exec-DuYbft0z.js";
|
|
3
3
|
import { d as hasBinary } from "./frontmatter-B_jqcova.js";
|
|
4
|
-
import { i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, x as resolveSkillKey } from "./skills-
|
|
4
|
+
import { i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, x as resolveSkillKey } from "./skills-CYcBtLGH.js";
|
|
5
5
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-JHxT9355.js";
|
|
6
6
|
import { t as resolveBrewExecutable } from "./brew-DD55iLUe.js";
|
|
7
7
|
import { t as isWithinDir } from "./path-safety-CkXjT453.js";
|
|
8
|
-
import { a as extractArchive$1, d as resolveArchiveOutputPath, f as stripArchivePath, p as validateArchiveEntryPath, r as safePathSegmentHashed, u as isWindowsDrivePath } from "./install-safe-path-
|
|
9
|
-
import { t as scanDirectoryWithSummary } from "./skill-scanner-
|
|
8
|
+
import { a as extractArchive$1, d as resolveArchiveOutputPath, f as stripArchivePath, p as validateArchiveEntryPath, r as safePathSegmentHashed, u as isWindowsDrivePath } from "./install-safe-path-BrpA09f2.js";
|
|
9
|
+
import { t as scanDirectoryWithSummary } from "./skill-scanner-CIlHPszT.js";
|
|
10
10
|
import path from "node:path";
|
|
11
11
|
import fs from "node:fs";
|
|
12
12
|
import { pipeline } from "node:stream/promises";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { h as resolveUserPath, t as CONFIG_DIR } from "./utils-CTPsqyE_.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
|
|
3
|
-
import { i as loadWorkspaceSkillEntries, s as resolvePluginSkillDirs } from "./skills-
|
|
4
|
-
import { a as upsertPendingPairingRequest, c as writeJsonAtomic, i as resolvePairingPaths, n as verifyPairingToken, o as createAsyncLock, r as pruneExpiredPending, s as readJsonFile, t as generatePairingToken } from "./pairing-token-
|
|
5
|
-
import { t as listAgentWorkspaceDirs } from "./workspace-dirs-
|
|
3
|
+
import { i as loadWorkspaceSkillEntries, s as resolvePluginSkillDirs } from "./skills-CYcBtLGH.js";
|
|
4
|
+
import { a as upsertPendingPairingRequest, c as writeJsonAtomic, i as resolvePairingPaths, n as verifyPairingToken, o as createAsyncLock, r as pruneExpiredPending, s as readJsonFile, t as generatePairingToken } from "./pairing-token-B703A1U3.js";
|
|
5
|
+
import { t as listAgentWorkspaceDirs } from "./workspace-dirs-DCICLTHx.js";
|
|
6
6
|
import { randomUUID } from "node:crypto";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import os from "node:os";
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { t as CONFIG_DIR } from "./utils-CTPsqyE_.js";
|
|
3
3
|
import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
|
|
4
4
|
import { d as hasBinary } from "./frontmatter-B_jqcova.js";
|
|
5
|
-
import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-
|
|
5
|
+
import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-CYcBtLGH.js";
|
|
6
6
|
import { t as evaluateEntryMetadataRequirementsForCurrentPlatform } from "./entry-status-DnvpZhUd.js";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import { loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
|
|
2
2
|
import { n as redactSensitiveText } from "./redact-B3O-RBO1.js";
|
|
3
3
|
import { s as resolveSessionTranscriptsDirForAgent } from "./paths-BtvQ7JvU.js";
|
|
4
|
-
import { a as hashText } from "./internal-
|
|
4
|
+
import { a as hashText } from "./internal-csqU78gW.js";
|
|
5
5
|
import { createRequire } from "node:module";
|
|
6
6
|
import path from "node:path";
|
|
7
|
-
import
|
|
7
|
+
import fsPromises from "node:fs/promises";
|
|
8
8
|
|
|
9
9
|
//#region src/memory/session-files.ts
|
|
10
10
|
const log = createSubsystemLogger("memory");
|
|
11
11
|
async function listSessionFilesForAgent(agentId) {
|
|
12
12
|
const dir = resolveSessionTranscriptsDirForAgent(agentId);
|
|
13
13
|
try {
|
|
14
|
-
return (await
|
|
14
|
+
return (await fsPromises.readdir(dir, { withFileTypes: true })).filter((entry) => entry.isFile()).map((entry) => entry.name).filter((name) => name.endsWith(".jsonl")).map((name) => path.join(dir, name));
|
|
15
15
|
} catch {
|
|
16
16
|
return [];
|
|
17
17
|
}
|
|
@@ -41,8 +41,8 @@ function extractSessionText(content) {
|
|
|
41
41
|
}
|
|
42
42
|
async function buildSessionEntry(absPath) {
|
|
43
43
|
try {
|
|
44
|
-
const stat = await
|
|
45
|
-
const lines = (await
|
|
44
|
+
const stat = await fsPromises.stat(absPath);
|
|
45
|
+
const lines = (await fsPromises.readFile(absPath, "utf-8")).split("\n");
|
|
46
46
|
const collected = [];
|
|
47
47
|
const lineMap = [];
|
|
48
48
|
for (let jsonlIdx = 0; jsonlIdx < lines.length; jsonlIdx++) {
|
|
@@ -8,13 +8,13 @@ import { c as resolveAgentWorkspaceDir } from "./agent-scope-C-Jte08L.js";
|
|
|
8
8
|
import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, m as resolveConfiguredModelRef, w as DEFAULT_PROVIDER } from "./model-selection-CMx1evaF.js";
|
|
9
9
|
import { t as buildWorkspaceSkillStatus } from "./skills-status-g3ssrjuX.js";
|
|
10
10
|
import { N as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-D7TcU4qN.js";
|
|
11
|
-
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-
|
|
11
|
+
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DTshgdlW.js";
|
|
12
12
|
import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-Dn6VXn4p.js";
|
|
13
13
|
import { n as listChannelPlugins } from "./plugins-BsEhWvLn.js";
|
|
14
14
|
import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-FeJ1M0mP.js";
|
|
15
15
|
import { i as formatPortDiagnostics, n as inspectPortUsage } from "./ports-uA7P2qIK.js";
|
|
16
16
|
import { c as resolveStorePath } from "./paths-DtiEyjsC.js";
|
|
17
|
-
import { t as getMemorySearchManager } from "./memory-
|
|
17
|
+
import { t as getMemorySearchManager } from "./memory-C02Znuee.js";
|
|
18
18
|
import { n as formatTimeAgo } from "./format-relative-CxLpEQOX.js";
|
|
19
19
|
import { t as getRemoteSkillEligibility } from "./skills-remote-DSGpkPJE.js";
|
|
20
20
|
import { _ as peekSystemEvents, b as formatChannelAllowFrom, d as formatUsageReportLines, n as sha256HexPrefix, o as readRestartSentinel, s as summarizeRestartSentinel, u as loadProviderUsageSummary, v as buildChannelSummary, y as buildChannelAccountSnapshot } from "./redact-identifier-BOxAUdff.js";
|
|
@@ -23,13 +23,13 @@ import { r as formatDurationPrecise } from "./format-duration-CIjmjQST.js";
|
|
|
23
23
|
import { n as withProgress } from "./progress-CI19Xh3z.js";
|
|
24
24
|
import { t as resolveChannelDefaultAccountId } from "./helpers-CBCZwlBW.js";
|
|
25
25
|
import { t as collectChannelStatusIssues } from "./channels-status-issues-BTvrA4nx.js";
|
|
26
|
-
import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-
|
|
26
|
+
import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-t7tI9KSA.js";
|
|
27
27
|
import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-DYpU1ajf.js";
|
|
28
28
|
import { t as formatRuntimeStatusWithDetails } from "./runtime-status-BgZqic8M.js";
|
|
29
29
|
import { t as readLastGatewayErrorLine } from "./diagnostics-D2oNwzue.js";
|
|
30
30
|
import { t as renderTable } from "./table-D0JXlEhQ.js";
|
|
31
|
-
import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-
|
|
32
|
-
import { t as formatHealthChannelLines } from "./health-
|
|
31
|
+
import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-DyncRBKq.js";
|
|
32
|
+
import { t as formatHealthChannelLines } from "./health-Dkwuq8ta.js";
|
|
33
33
|
import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-DLOnLuop.js";
|
|
34
34
|
import { t as resolveNodeService } from "./node-service-CZlyWmxa.js";
|
|
35
35
|
import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-BcXs5iuf.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-
|
|
1
|
+
import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-CsadjpQa.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
|
|
3
|
-
import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-
|
|
4
|
-
import { i as loadConfig } from "./config-
|
|
3
|
+
import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-Bnsyyeci.js";
|
|
4
|
+
import { i as loadConfig } from "./config-BngIfn5l.js";
|
|
5
5
|
|
|
6
6
|
//#region src/plugins/status.ts
|
|
7
7
|
const log = createSubsystemLogger("plugins");
|
|
@@ -2,41 +2,41 @@ import { A as isRich, j as theme, x as info } from "./registry-Sbac4a4z.js";
|
|
|
2
2
|
import { u as resolveGatewayPort } from "./paths-By0XjHBk.js";
|
|
3
3
|
import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
|
|
4
4
|
import { x as parseAgentSessionKey } from "./session-key-DUSb7CCb.js";
|
|
5
|
-
import { t as resolveSymiPackageRoot } from "./symi-root-
|
|
5
|
+
import { t as resolveSymiPackageRoot } from "./symi-root-DeCVdZB4.js";
|
|
6
6
|
import { n as runExec } from "./exec-DuYbft0z.js";
|
|
7
|
-
import { c as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
8
|
-
import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, m as resolveConfiguredModelRef, w as DEFAULT_PROVIDER } from "./model-selection-
|
|
9
|
-
import { N as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-
|
|
7
|
+
import { c as resolveAgentWorkspaceDir } from "./agent-scope-Bnsyyeci.js";
|
|
8
|
+
import { C as DEFAULT_MODEL, S as DEFAULT_CONTEXT_TOKENS, m as resolveConfiguredModelRef, w as DEFAULT_PROVIDER } from "./model-selection-CCTzD29o.js";
|
|
9
|
+
import { N as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-BngIfn5l.js";
|
|
10
10
|
import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-DpKBMIvx.js";
|
|
11
|
-
import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-
|
|
12
|
-
import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-
|
|
11
|
+
import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-CB_Iu83U.js";
|
|
12
|
+
import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-BCc3THTm.js";
|
|
13
13
|
import { n as listChannelPlugins } from "./plugins-CF5skkHh.js";
|
|
14
14
|
import { c as resolveStorePath } from "./paths-BtvQ7JvU.js";
|
|
15
|
-
import { A as sha256HexPrefix, D as buildChannelAccountSnapshot, E as buildChannelSummary, O as formatChannelAllowFrom, T as peekSystemEvents, _ as loadProviderUsageSummary, l as resolveSessionModelRef, m as summarizeRestartSentinel, n as classifySessionKey, p as readRestartSentinel, r as listAgentsForGateway, v as formatUsageReportLines, x as lookupContextTokens } from "./session-utils-
|
|
16
|
-
import { t as getMemorySearchManager } from "./memory-
|
|
17
|
-
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-
|
|
15
|
+
import { A as sha256HexPrefix, D as buildChannelAccountSnapshot, E as buildChannelSummary, O as formatChannelAllowFrom, T as peekSystemEvents, _ as loadProviderUsageSummary, l as resolveSessionModelRef, m as summarizeRestartSentinel, n as classifySessionKey, p as readRestartSentinel, r as listAgentsForGateway, v as formatUsageReportLines, x as lookupContextTokens } from "./session-utils-CJhcRx3E.js";
|
|
16
|
+
import { t as getMemorySearchManager } from "./memory-fFc7GGPZ.js";
|
|
17
|
+
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-xUpyZDH4.js";
|
|
18
18
|
import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
|
|
19
|
-
import { t as getRemoteSkillEligibility } from "./skills-remote-
|
|
19
|
+
import { t as getRemoteSkillEligibility } from "./skills-remote-BcRQTDsZ.js";
|
|
20
20
|
import { r as formatDurationPrecise } from "./format-duration-CIjmjQST.js";
|
|
21
21
|
import { n as withProgress } from "./progress-swt2y17x.js";
|
|
22
|
-
import { t as buildWorkspaceSkillStatus } from "./skills-status-
|
|
22
|
+
import { t as buildWorkspaceSkillStatus } from "./skills-status-DLnCHUZ2.js";
|
|
23
23
|
import { t as resolveChannelDefaultAccountId } from "./helpers-G6zuddmF.js";
|
|
24
24
|
import { t as collectChannelStatusIssues } from "./channels-status-issues-DLIzUsjR.js";
|
|
25
|
-
import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-
|
|
26
|
-
import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-
|
|
25
|
+
import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-CJlheOSJ.js";
|
|
26
|
+
import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-CRZoXO_n.js";
|
|
27
27
|
import { t as formatRuntimeStatusWithDetails } from "./runtime-status-DV2uMNRb.js";
|
|
28
|
-
import { t as readLastGatewayErrorLine } from "./diagnostics-
|
|
28
|
+
import { t as readLastGatewayErrorLine } from "./diagnostics-CYkqD5lP.js";
|
|
29
29
|
import { t as renderTable } from "./table-0A3xKJVC.js";
|
|
30
|
-
import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-
|
|
31
|
-
import { t as formatHealthChannelLines } from "./health-
|
|
32
|
-
import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-
|
|
33
|
-
import { t as resolveNodeService } from "./node-service-
|
|
30
|
+
import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-CuwXq_EA.js";
|
|
31
|
+
import { t as formatHealthChannelLines } from "./health-Bc1wmAO5.js";
|
|
32
|
+
import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-u6Jgr1cz.js";
|
|
33
|
+
import { t as resolveNodeService } from "./node-service-Cc18m-uk.js";
|
|
34
34
|
import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-CZeGyu83.js";
|
|
35
|
-
import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-
|
|
35
|
+
import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-CKfyV6zw.js";
|
|
36
36
|
import path from "node:path";
|
|
37
37
|
import fs from "node:fs";
|
|
38
38
|
import os from "node:os";
|
|
39
|
-
import
|
|
39
|
+
import fsPromises from "node:fs/promises";
|
|
40
40
|
import { spawnSync } from "node:child_process";
|
|
41
41
|
|
|
42
42
|
//#region src/commands/gateway-presence.ts
|
|
@@ -125,7 +125,7 @@ function resolveOsSummary() {
|
|
|
125
125
|
//#region src/commands/status-all/agents.ts
|
|
126
126
|
async function fileExists$1(p) {
|
|
127
127
|
try {
|
|
128
|
-
await
|
|
128
|
+
await fsPromises.access(p);
|
|
129
129
|
return true;
|
|
130
130
|
} catch {
|
|
131
131
|
return false;
|
|
@@ -490,7 +490,7 @@ async function buildChannelsTable(cfg, opts) {
|
|
|
490
490
|
//#endregion
|
|
491
491
|
//#region src/commands/status-all/gateway.ts
|
|
492
492
|
async function readFileTailLines(filePath, maxLines) {
|
|
493
|
-
const raw = await
|
|
493
|
+
const raw = await fsPromises.readFile(filePath, "utf8").catch(() => "");
|
|
494
494
|
if (!raw.trim()) return [];
|
|
495
495
|
const lines = raw.replace(/\r/g, "").split("\n");
|
|
496
496
|
return lines.slice(Math.max(0, lines.length - maxLines)).map((line) => line.trimEnd()).filter((line) => line.trim().length > 0);
|
|
@@ -1256,7 +1256,7 @@ function resolveGatewayProbeAuth(cfg) {
|
|
|
1256
1256
|
//#region src/commands/status.agent-local.ts
|
|
1257
1257
|
async function fileExists(p) {
|
|
1258
1258
|
try {
|
|
1259
|
-
await
|
|
1259
|
+
await fsPromises.access(p);
|
|
1260
1260
|
return true;
|
|
1261
1261
|
} catch {
|
|
1262
1262
|
return false;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { o as createSubsystemLogger } from "./entry.js";
|
|
2
2
|
import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-C-Jte08L.js";
|
|
3
3
|
import { i as loadConfig } from "./config-D7TcU4qN.js";
|
|
4
|
-
import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-
|
|
4
|
+
import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-CVhLz4p3.js";
|
|
5
5
|
|
|
6
6
|
//#region src/plugins/status.ts
|
|
7
7
|
const log = createSubsystemLogger("plugins");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
|
|
2
|
-
import { t as resolveSymiPackageRoot } from "./symi-root-
|
|
3
|
-
import { N as VERSION } from "./config-
|
|
4
|
-
import { n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-
|
|
2
|
+
import { t as resolveSymiPackageRoot } from "./symi-root-DeCVdZB4.js";
|
|
3
|
+
import { N as VERSION } from "./config-BngIfn5l.js";
|
|
4
|
+
import { n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-u6Jgr1cz.js";
|
|
5
5
|
|
|
6
6
|
//#region src/commands/status.update.ts
|
|
7
7
|
async function getUpdateCheckResult(params) {
|
|
@@ -20,8 +20,8 @@ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as appl
|
|
|
20
20
|
import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-CVLmi8rz.js";
|
|
21
21
|
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-D7TcU4qN.js";
|
|
22
22
|
import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell } from "./shell-env-CTYaxUs_.js";
|
|
23
|
-
import { Ht as SESSION_LABEL_MAX_LENGTH } from "./client-
|
|
24
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-
|
|
23
|
+
import { Ht as SESSION_LABEL_MAX_LENGTH } from "./client-BOd5o3Kp.js";
|
|
24
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-DTshgdlW.js";
|
|
25
25
|
import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-DXToSaWK.js";
|
|
26
26
|
import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-BdV0rbga.js";
|
|
27
27
|
import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-Dn6VXn4p.js";
|
|
@@ -49,8 +49,8 @@ import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsX
|
|
|
49
49
|
import { i as resolveApiKeyForProvider, n as getCustomProviderApiKey, o as resolveEnvApiKey, r as requireApiKey, s as resolveModelAuthMode, t as getApiKeyForModel } from "./model-auth-Byr7Gic_.js";
|
|
50
50
|
import { b as OLLAMA_NATIVE_BASE_URL, c as normalizeGoogleModelId, t as ensureSymiModelsJson, x as createOllamaStreamFn } from "./models-config-CiR_RUxw.js";
|
|
51
51
|
import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DV3KhOhL.js";
|
|
52
|
-
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-
|
|
53
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-
|
|
52
|
+
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-C02Znuee.js";
|
|
53
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-DH00nlW8.js";
|
|
54
54
|
import { f as runTasksWithConcurrency } from "./internal-D3mEiuyB.js";
|
|
55
55
|
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-B2lBXhR0.js";
|
|
56
56
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-BEdkErjm.js";
|
|
@@ -83,7 +83,7 @@ import { t as emitSymframePush } from "./symframe-broadcast-BVxModY5.js";
|
|
|
83
83
|
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-CmU8iVio.js";
|
|
84
84
|
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BVJ4-d9c.js";
|
|
85
85
|
import { t as parseTimeoutMs } from "./parse-timeout-widuTpq9.js";
|
|
86
|
-
import { n as registerMemoryCli } from "./memory-cli-
|
|
86
|
+
import { n as registerMemoryCli } from "./memory-cli-083UJtVJ.js";
|
|
87
87
|
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-CLREUzzB.js";
|
|
88
88
|
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-06k__URR.js";
|
|
89
89
|
import { createRequire } from "node:module";
|
|
@@ -15427,6 +15427,12 @@ function buildAgentSystemPrompt(params) {
|
|
|
15427
15427
|
" - `recall` — re-summon a recently-released card (id optional → most-recent).",
|
|
15428
15428
|
" - `pin` — persist a card across reload + /new (user-curated; the user can also pin from the UI).",
|
|
15429
15429
|
" - `unpin` — remove the pin; does NOT drop the card.",
|
|
15430
|
+
"Panel modes (Stage D — `action: \"setMode\"` with `mode` and optional `focusedId`):",
|
|
15431
|
+
" - `ambient` (default) — substrate + cards + AWAITING all visible. Normal multi-task posture.",
|
|
15432
|
+
" - `focus` — one card centered, substrate dim, AWAITING hidden. Use when actively iterating on a single artifact (e.g. drafting an email). Pass `focusedId` to halo a specific card.",
|
|
15433
|
+
" - `awaiting` — footer prominent, cards collapsed to titles. Use when you've kicked off long-running work (subagents, scheduled tasks) and the user is waiting for results.",
|
|
15434
|
+
" - `quiet` — substrate only, cards + AWAITING hidden. Use when you're thinking and have nothing actionable to surface yet.",
|
|
15435
|
+
"Modes are sticky until you `setMode` again or the user overrides via the header chips. Default to `ambient`; pick `focus` only when you genuinely want a single card to dominate; pick `awaiting` only when waiting is the user's primary experience.",
|
|
15430
15436
|
"After pushing, briefly tell the user what's in the panel (e.g. \"Drafted the email — shown in your panel.\"). Don't repeat the full content in chat.",
|
|
15431
15437
|
"",
|
|
15432
15438
|
...compactMode ? [] : [
|
|
@@ -21049,7 +21055,14 @@ const ARTIFACT_ACTIONS = [
|
|
|
21049
21055
|
"release",
|
|
21050
21056
|
"recall",
|
|
21051
21057
|
"pin",
|
|
21052
|
-
"unpin"
|
|
21058
|
+
"unpin",
|
|
21059
|
+
"setMode"
|
|
21060
|
+
];
|
|
21061
|
+
const PANEL_MODES = [
|
|
21062
|
+
"ambient",
|
|
21063
|
+
"focus",
|
|
21064
|
+
"awaiting",
|
|
21065
|
+
"quiet"
|
|
21053
21066
|
];
|
|
21054
21067
|
/**
|
|
21055
21068
|
* Stage A: intent vocabulary added as orthogonal metadata to renderer type.
|
|
@@ -21097,7 +21110,9 @@ const DisplayArtifactSchema = Type.Object({
|
|
|
21097
21110
|
email: Type.Optional(EmailFieldsSchema),
|
|
21098
21111
|
actions: Type.Optional(Type.Array(ActionSchema)),
|
|
21099
21112
|
sticky: Type.Optional(Type.Boolean()),
|
|
21100
|
-
force: Type.Optional(Type.Boolean())
|
|
21113
|
+
force: Type.Optional(Type.Boolean()),
|
|
21114
|
+
mode: Type.Optional(stringEnum(PANEL_MODES)),
|
|
21115
|
+
focusedId: Type.Optional(Type.String())
|
|
21101
21116
|
});
|
|
21102
21117
|
function genCardId() {
|
|
21103
21118
|
return `sf-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
|
|
@@ -21106,12 +21121,32 @@ function createDisplayArtifactTool() {
|
|
|
21106
21121
|
return {
|
|
21107
21122
|
label: "Display Artifact",
|
|
21108
21123
|
name: "display_artifact",
|
|
21109
|
-
description: "Push a card into the Glass UI symframe — the right-column window into your mind. Use for content that represents what you're thinking about, holding, considering, or producing — drafts, references you're keeping in view, options being weighed, generated artifacts. Always set `intent` (holding | weighing | producing | drafted | reference | awaiting). Renderer `type`: text | markdown | code | email-draft | pdf | audio | video. Returns the card id; pass action=update with the same id to revise (set force:true to update a sticky card), action=remove to dismiss. Stage-C attention verbs (id-only, no card body): action=dwell pulls a card to the top with a brief highlight, action=release softly fades a card out (recoverable via recall), action=recall re-summons a recently-released card (id optional → most recent), action=pin persists across reload, action=unpin removes the pin.",
|
|
21124
|
+
description: "Push a card into the Glass UI symframe — the right-column window into your mind. Use for content that represents what you're thinking about, holding, considering, or producing — drafts, references you're keeping in view, options being weighed, generated artifacts. Always set `intent` (holding | weighing | producing | drafted | reference | awaiting). Renderer `type`: text | markdown | code | email-draft | pdf | audio | video. Returns the card id; pass action=update with the same id to revise (set force:true to update a sticky card), action=remove to dismiss. Stage-C attention verbs (id-only, no card body): action=dwell pulls a card to the top with a brief highlight, action=release softly fades a card out (recoverable via recall), action=recall re-summons a recently-released card (id optional → most recent), action=pin persists across reload, action=unpin removes the pin. Stage-D mode verb: action=setMode with mode=ambient|focus|awaiting|quiet (optional focusedId for focus) switches the panel's posture for the current task.",
|
|
21110
21125
|
parameters: DisplayArtifactSchema,
|
|
21111
21126
|
execute: async (_toolCallId, args) => {
|
|
21112
21127
|
const params = args;
|
|
21113
21128
|
const actionRaw = readStringParam(params, "action");
|
|
21114
21129
|
const action = ARTIFACT_ACTIONS.includes(actionRaw ?? "") ? actionRaw : "add";
|
|
21130
|
+
if (action === "setMode") {
|
|
21131
|
+
const modeRaw = readStringParam(params, "mode");
|
|
21132
|
+
if (!modeRaw || !PANEL_MODES.includes(modeRaw)) return jsonResult({
|
|
21133
|
+
ok: false,
|
|
21134
|
+
error: `setMode requires \`mode\` ∈ {${PANEL_MODES.join(" | ")}}`
|
|
21135
|
+
});
|
|
21136
|
+
const mode = modeRaw;
|
|
21137
|
+
const focusedId = readStringParam(params, "focusedId");
|
|
21138
|
+
emitSymframePush({
|
|
21139
|
+
action: "setMode",
|
|
21140
|
+
mode,
|
|
21141
|
+
focusedId: focusedId || void 0
|
|
21142
|
+
});
|
|
21143
|
+
return jsonResult({
|
|
21144
|
+
ok: true,
|
|
21145
|
+
action,
|
|
21146
|
+
mode,
|
|
21147
|
+
focusedId
|
|
21148
|
+
});
|
|
21149
|
+
}
|
|
21115
21150
|
const id = readStringParam(params, "id") || (action === "add" ? genCardId() : void 0);
|
|
21116
21151
|
if (action !== "add" && action !== "recall" && !id) return jsonResult({
|
|
21117
21152
|
ok: false,
|
|
@@ -5,18 +5,18 @@ import "./model-selection-CMx1evaF.js";
|
|
|
5
5
|
import "./manifest-registry-CVLmi8rz.js";
|
|
6
6
|
import "./config-D7TcU4qN.js";
|
|
7
7
|
import "./shell-env-CTYaxUs_.js";
|
|
8
|
-
import "./client-
|
|
9
|
-
import "./call-
|
|
8
|
+
import "./client-BOd5o3Kp.js";
|
|
9
|
+
import "./call-DTshgdlW.js";
|
|
10
10
|
import "./message-channel-DXToSaWK.js";
|
|
11
11
|
import "./pairing-token-B-OTYROz.js";
|
|
12
12
|
import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
|
|
13
13
|
import "./progress-CI19Xh3z.js";
|
|
14
|
-
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-
|
|
14
|
+
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DpRnrv_i.js";
|
|
15
15
|
import fs from "node:fs/promises";
|
|
16
16
|
|
|
17
17
|
//#region src/cli/symframe-cli.ts
|
|
18
18
|
function registerSymframeCli(program) {
|
|
19
|
-
addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove|dwell|release|recall|pin|unpin>", "Action (default: add). Stage-C verbs (dwell|release|recall|pin|unpin) are id-only — no card body.", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown | code | email-draft | pdf | audio | video", "text").option("--intent <intent>", "Card intent (mental-state slot) — holding | weighing | producing | awaiting | drafted | reference").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (code source if --type=code)").option("--file <path>", "Read body from file (overrides --body)").option("--language <lang>", "Language hint for --type=code (e.g. ts, py, sh)").option("--url <url>", "Media URL for --type=pdf|audio|video").option("--mime <type>", "MIME type for --type=audio|video (e.g. audio/mpeg)").option("--data <json>", "Extra structured fields merged into the card (e.g. email-draft uses { email: { from, to, subject, body } })").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--force", "Required to update or remove a sticky card (use sparingly)", false).option("--json", "Output JSON", false)).action(async (opts) => {
|
|
19
|
+
addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove|dwell|release|recall|pin|unpin|setMode>", "Action (default: add). Stage-C verbs (dwell|release|recall|pin|unpin) are id-only — no card body. Stage-D verb (setMode) needs --mode.", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown | code | email-draft | pdf | audio | video", "text").option("--intent <intent>", "Card intent (mental-state slot) — holding | weighing | producing | awaiting | drafted | reference").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (code source if --type=code)").option("--file <path>", "Read body from file (overrides --body)").option("--language <lang>", "Language hint for --type=code (e.g. ts, py, sh)").option("--url <url>", "Media URL for --type=pdf|audio|video").option("--mime <type>", "MIME type for --type=audio|video (e.g. audio/mpeg)").option("--data <json>", "Extra structured fields merged into the card (e.g. email-draft uses { email: { from, to, subject, body } })").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--force", "Required to update or remove a sticky card (use sparingly)", false).option("--mode <ambient|focus|awaiting|quiet>", "Panel posture for --action=setMode").option("--focused-id <id>", "Optional card id to halo when --mode=focus").option("--json", "Output JSON", false)).action(async (opts) => {
|
|
20
20
|
try {
|
|
21
21
|
const action = (opts.action ?? "add").trim();
|
|
22
22
|
if (!new Set([
|
|
@@ -27,13 +27,29 @@ function registerSymframeCli(program) {
|
|
|
27
27
|
"release",
|
|
28
28
|
"recall",
|
|
29
29
|
"pin",
|
|
30
|
-
"unpin"
|
|
31
|
-
|
|
30
|
+
"unpin",
|
|
31
|
+
"setMode"
|
|
32
|
+
]).has(action)) throw new Error(`--action must be one of: add | update | remove | dwell | release | recall | pin | unpin | setMode (got '${action}')`);
|
|
32
33
|
let bodyText = opts.body;
|
|
33
34
|
if (opts.file) bodyText = await fs.readFile(opts.file, "utf8");
|
|
34
35
|
const params = { action };
|
|
35
36
|
if (opts.id) params.id = opts.id;
|
|
36
37
|
if (opts.force) params.force = true;
|
|
38
|
+
if (action === "setMode") {
|
|
39
|
+
const VALID_MODES = new Set([
|
|
40
|
+
"ambient",
|
|
41
|
+
"focus",
|
|
42
|
+
"awaiting",
|
|
43
|
+
"quiet"
|
|
44
|
+
]);
|
|
45
|
+
if (!opts.mode || !VALID_MODES.has(opts.mode)) throw new Error("--mode is required for setMode and must be one of: ambient | focus | awaiting | quiet");
|
|
46
|
+
params.mode = opts.mode;
|
|
47
|
+
if (opts.focusedId) params.focusedId = opts.focusedId;
|
|
48
|
+
const result = await callGatewayFromCli("chat.symframe.push", opts, params, { expectFinal: false });
|
|
49
|
+
if (opts.json) defaultRuntime.log(JSON.stringify(result ?? { ok: true }, null, 2));
|
|
50
|
+
else defaultRuntime.log("ok");
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
37
53
|
const ID_ONLY_VERBS = new Set([
|
|
38
54
|
"remove",
|
|
39
55
|
"dwell",
|
|
@@ -3,25 +3,25 @@ import "./paths-By0XjHBk.js";
|
|
|
3
3
|
import "./utils-CTPsqyE_.js";
|
|
4
4
|
import { f as defaultRuntime } from "./subsystem-CHbO_DkH.js";
|
|
5
5
|
import "./exec-DuYbft0z.js";
|
|
6
|
-
import "./agent-scope-
|
|
7
|
-
import "./model-selection-
|
|
8
|
-
import "./config-
|
|
6
|
+
import "./agent-scope-Bnsyyeci.js";
|
|
7
|
+
import "./model-selection-CCTzD29o.js";
|
|
8
|
+
import "./config-BngIfn5l.js";
|
|
9
9
|
import "./boolean-CbZoNRMn.js";
|
|
10
10
|
import "./env-BRnPI9sO.js";
|
|
11
11
|
import "./shell-env-Dc3iU7HK.js";
|
|
12
12
|
import "./manifest-registry-D1MLZEjS.js";
|
|
13
13
|
import "./message-channel-DgjXWzf-.js";
|
|
14
|
-
import "./client-
|
|
15
|
-
import "./call-
|
|
16
|
-
import "./pairing-token-
|
|
14
|
+
import "./client-DiPa71im.js";
|
|
15
|
+
import "./call-xUpyZDH4.js";
|
|
16
|
+
import "./pairing-token-B703A1U3.js";
|
|
17
17
|
import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
|
|
18
18
|
import "./progress-swt2y17x.js";
|
|
19
|
-
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-
|
|
20
|
-
import
|
|
19
|
+
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DmFOiGIJ.js";
|
|
20
|
+
import fsPromises from "node:fs/promises";
|
|
21
21
|
|
|
22
22
|
//#region src/cli/symframe-cli.ts
|
|
23
23
|
function registerSymframeCli(program) {
|
|
24
|
-
addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove|dwell|release|recall|pin|unpin>", "Action (default: add). Stage-C verbs (dwell|release|recall|pin|unpin) are id-only — no card body.", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown | code | email-draft | pdf | audio | video", "text").option("--intent <intent>", "Card intent (mental-state slot) — holding | weighing | producing | awaiting | drafted | reference").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (code source if --type=code)").option("--file <path>", "Read body from file (overrides --body)").option("--language <lang>", "Language hint for --type=code (e.g. ts, py, sh)").option("--url <url>", "Media URL for --type=pdf|audio|video").option("--mime <type>", "MIME type for --type=audio|video (e.g. audio/mpeg)").option("--data <json>", "Extra structured fields merged into the card (e.g. email-draft uses { email: { from, to, subject, body } })").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--force", "Required to update or remove a sticky card (use sparingly)", false).option("--json", "Output JSON", false)).action(async (opts) => {
|
|
24
|
+
addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove|dwell|release|recall|pin|unpin|setMode>", "Action (default: add). Stage-C verbs (dwell|release|recall|pin|unpin) are id-only — no card body. Stage-D verb (setMode) needs --mode.", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown | code | email-draft | pdf | audio | video", "text").option("--intent <intent>", "Card intent (mental-state slot) — holding | weighing | producing | awaiting | drafted | reference").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (code source if --type=code)").option("--file <path>", "Read body from file (overrides --body)").option("--language <lang>", "Language hint for --type=code (e.g. ts, py, sh)").option("--url <url>", "Media URL for --type=pdf|audio|video").option("--mime <type>", "MIME type for --type=audio|video (e.g. audio/mpeg)").option("--data <json>", "Extra structured fields merged into the card (e.g. email-draft uses { email: { from, to, subject, body } })").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--force", "Required to update or remove a sticky card (use sparingly)", false).option("--mode <ambient|focus|awaiting|quiet>", "Panel posture for --action=setMode").option("--focused-id <id>", "Optional card id to halo when --mode=focus").option("--json", "Output JSON", false)).action(async (opts) => {
|
|
25
25
|
try {
|
|
26
26
|
const action = (opts.action ?? "add").trim();
|
|
27
27
|
if (!new Set([
|
|
@@ -32,13 +32,29 @@ function registerSymframeCli(program) {
|
|
|
32
32
|
"release",
|
|
33
33
|
"recall",
|
|
34
34
|
"pin",
|
|
35
|
-
"unpin"
|
|
36
|
-
|
|
35
|
+
"unpin",
|
|
36
|
+
"setMode"
|
|
37
|
+
]).has(action)) throw new Error(`--action must be one of: add | update | remove | dwell | release | recall | pin | unpin | setMode (got '${action}')`);
|
|
37
38
|
let bodyText = opts.body;
|
|
38
|
-
if (opts.file) bodyText = await
|
|
39
|
+
if (opts.file) bodyText = await fsPromises.readFile(opts.file, "utf8");
|
|
39
40
|
const params = { action };
|
|
40
41
|
if (opts.id) params.id = opts.id;
|
|
41
42
|
if (opts.force) params.force = true;
|
|
43
|
+
if (action === "setMode") {
|
|
44
|
+
const VALID_MODES = new Set([
|
|
45
|
+
"ambient",
|
|
46
|
+
"focus",
|
|
47
|
+
"awaiting",
|
|
48
|
+
"quiet"
|
|
49
|
+
]);
|
|
50
|
+
if (!opts.mode || !VALID_MODES.has(opts.mode)) throw new Error("--mode is required for setMode and must be one of: ambient | focus | awaiting | quiet");
|
|
51
|
+
params.mode = opts.mode;
|
|
52
|
+
if (opts.focusedId) params.focusedId = opts.focusedId;
|
|
53
|
+
const result = await callGatewayFromCli("chat.symframe.push", opts, params, { expectFinal: false });
|
|
54
|
+
if (opts.json) defaultRuntime.log(JSON.stringify(result ?? { ok: true }, null, 2));
|
|
55
|
+
else defaultRuntime.log("ok");
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
42
58
|
const ID_ONLY_VERBS = new Set([
|
|
43
59
|
"remove",
|
|
44
60
|
"dwell",
|