@symerian/symi 3.4.3 → 3.4.8
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-CKmM2vyY.js → agent-BaSGoKPq.js} +8 -8
- package/dist/{agent--IK5M1T9.js → agent-C8IIjDyn.js} +8 -8
- package/dist/{agents-CyR_QeUn.js → agents-D6Ygz9ED.js} +5 -5
- package/dist/{audit-o0s717ob.js → audit-BI8Rbs5q.js} +6 -6
- package/dist/{audit-DQpLuCNP.js → audit-nqP-JeOr.js} +6 -6
- package/dist/{auth-choice-WduOdkq8.js → auth-choice-BBrEzoy2.js} +4 -4
- package/dist/{auth-choice-CUs4WmYv.js → auth-choice-Bx4Duu6u.js} +4 -4
- package/dist/{banner-CJWij079.js → banner-l9GjW5Rm.js} +1 -1
- package/dist/{browser-cli-BdYqssco.js → browser-cli-BAxOL41p.js} +4 -4
- package/dist/{browser-cli-C6G2Ql9l.js → browser-cli-Bk8DxxeA.js} +4 -4
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +8 -8
- package/dist/bundled/session-memory/handler.js +7 -7
- package/dist/{call-Dy_T6f6d.js → call-5IE9ycvm.js} +2 -4
- package/dist/{call-CbF18cyd.js → call-BPJn2_th.js} +2 -4
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-CDA0OfJ3.js → channel-options-COanIUoQ.js} +1 -1
- package/dist/{channel-options-CZEn3Cel.js → channel-options-DGUqfnbP.js} +1 -1
- package/dist/{channels-cli-C84jkCS9.js → channels-cli-B1zmnm5a.js} +26 -26
- package/dist/{channels-cli-veDmkOnJ.js → channels-cli-CZ3M3yE1.js} +27 -27
- package/dist/{chrome-BxWRyWC_.js → chrome-B0wRtBRB.js} +1 -1
- package/dist/{chrome-C0vnHDyY.js → chrome-B4P7ycw5.js} +1 -1
- package/dist/{chrome-BWQSyLHT.js → chrome-CQn8fDIy.js} +8 -8
- package/dist/{chrome-D5UEEo4y.js → chrome-VbDUdW0_.js} +1 -1
- package/dist/{cli-BBd1ZRun.js → cli-C7I5uEFC.js} +22 -22
- package/dist/{cli-SeEQuQkN.js → cli-CC5GrdTI.js} +23 -23
- package/dist/{client-CAz5aPpp.js → client-Dp8LUTmF.js} +2 -5
- package/dist/{client-ZZqt0H0-.js → client-qjXXRKCO.js} +2 -5
- package/dist/{command-registry-CVsOBck9.js → command-registry-D8fj6th4.js} +11 -11
- package/dist/{completion-cli-B5bq51hT.js → completion-cli-BxspmuYm.js} +2 -2
- package/dist/{completion-cli-BoD_MZfu.js → completion-cli-C-85b5b8.js} +1 -1
- package/dist/{config-MU0QT0xu.js → config-DqMsGcSQ.js} +0 -2
- package/dist/{config-cli-Bbb6yrgS.js → config-cli-BqzjDmIH.js} +2 -2
- package/dist/{config-cli--_Qaef5L.js → config-cli-DSDGwckX.js} +2 -2
- package/dist/{config-guard-BFH1qNlf.js → config-guard-CJcSKMuP.js} +3 -3
- package/dist/{config-guard-DQgHcGdp.js → config-guard-Cu-dwAgi.js} +2 -2
- package/dist/{config-Cw7uo7Dh.js → config-igdtSRrZ.js} +0 -2
- package/dist/{config-validation-BkJh21Ko.js → config-validation-Bp2wJ610.js} +1 -1
- package/dist/{config-validation-MUkEKwbD.js → config-validation-Bs1Gp2oG.js} +1 -1
- package/dist/{configure-C-39fnS7.js → configure-BazJdwKU.js} +10 -10
- package/dist/{configure-B64O-IVQ.js → configure-Dl1f1Den.js} +10 -10
- package/dist/{control-service-BTydj9Kk.js → control-service-DO8FjrS6.js} +4 -4
- package/dist/{control-service-D1aZqS0Q.js → control-service-Fn3d9AlH.js} +4 -4
- package/dist/control-ui/js/metrics.js +0 -10
- package/dist/{cron-cli-5souN2YC.js → cron-cli-DXgI5Lid.js} +7 -10
- package/dist/{cron-cli-Ch8MwxYs.js → cron-cli-DZyH2BfZ.js} +7 -10
- package/dist/{daemon-cli-DbwmIQAj.js → daemon-cli-C6FSROt1.js} +6 -6
- package/dist/{daemon-cli-AVJLjFd5.js → daemon-cli-DmMYx5Uf.js} +6 -6
- package/dist/daemon-cli.js +2 -9
- package/dist/{daemon-runtime-CkBw3gG5.js → daemon-runtime-2Y9RfgcP.js} +1 -1
- package/dist/{daemon-runtime-DDwhgI7i.js → daemon-runtime-BpfA4d6Q.js} +1 -1
- package/dist/{deliver-BwcK0QD6.js → deliver-BkCYBlzi.js} +5 -5
- package/dist/{deliver-BBoTRer2.js → deliver-DvW5xHHr.js} +5 -5
- package/dist/{deliver-BX3IOm7k.js → deliver-RwovDEDy.js} +1 -1
- package/dist/{deliver-Cl2fWxx4.js → deliver-izdrXPr4.js} +1 -1
- package/dist/{deps-BCywDAi0.js → deps-bCHNuszw.js} +1 -1
- package/dist/{devices-cli-ZiU2HGbP.js → devices-cli-D6xXc9Ym.js} +3 -3
- package/dist/{devices-cli-BXaodSI7.js → devices-cli-IMv-0zor.js} +3 -3
- package/dist/{directory-cli-cK6CHm4W.js → directory-cli-3wlYB9In.js} +1 -1
- package/dist/{directory-cli-DJnKldBM.js → directory-cli-ClbYhd6z.js} +1 -1
- package/dist/{dns-cli-LhrwMgGE.js → dns-cli-CY2voLuR.js} +1 -1
- package/dist/{dns-cli-D6uc55C9.js → dns-cli-CoVIqRWx.js} +1 -1
- package/dist/{doctor-completion-BmJ6Xtlu.js → doctor-completion-BwHbIZjF.js} +1 -1
- package/dist/{doctor-completion-CUC2jl4R.js → doctor-completion-CX7LjkOD.js} +1 -1
- package/dist/{doctor-config-flow-DJrfwr2x.js → doctor-config-flow-CYDx1U0Z.js} +2 -2
- package/dist/{doctor-config-flow-BXjmJyRY.js → doctor-config-flow-wvoEFNeZ.js} +2 -2
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-DqWFmApk.js → exec-approvals-cli-B_P-1zVp.js} +5 -5
- package/dist/{exec-approvals-cli-BI9yAGI5.js → exec-approvals-cli-Dy1jvh2M.js} +5 -5
- package/dist/extensionAPI.js +6 -6
- package/dist/{gateway-cli-DtWLXC5j.js → gateway-cli-CTcK1Az2.js} +47 -72
- package/dist/{gateway-cli-D3MIV11i.js → gateway-cli-CW-Z71cE.js} +48 -73
- package/dist/{gateway-rpc-B5_ZCiHW.js → gateway-rpc-C1xjWlxu.js} +1 -1
- package/dist/{gateway-rpc-RZAJMB1i.js → gateway-rpc-DD_aXogj.js} +1 -1
- package/dist/{glass-ui-ws-BzGjkdgV.js → glass-ui-ws-BNJkhJrL.js} +32 -32
- package/dist/{glass-ui-ws-C4tW88dG.js → glass-ui-ws-BZvH4MBO.js} +33 -33
- package/dist/{health-DnOYGIFp.js → health-D8cKia4i.js} +4 -60
- package/dist/{health-D2CsIdFz.js → health-DdzNc1yA.js} +4 -60
- package/dist/{hooks-cli-XjhtoSGz.js → hooks-cli-DkP3Y4ou.js} +23 -23
- package/dist/{hooks-cli-PSE_YjYr.js → hooks-cli-qO421UdO.js} +24 -24
- package/dist/index.js +28 -28
- package/dist/{lifecycle-core-B9_prcP5.js → lifecycle-core-BEmljRfh.js} +2 -2
- package/dist/{lifecycle-core-Dark4HHr.js → lifecycle-core-uN2bsrZs.js} +2 -2
- package/dist/llm-slug-generator.js +7 -7
- package/dist/{logs-cli-CVBGriNc.js → logs-cli-BB0Mq8D1.js} +4 -4
- package/dist/{logs-cli-Dqq-1RM5.js → logs-cli-Dbmzz8m_.js} +4 -4
- package/dist/{manager-WHZtXzz0.js → manager-BD_cpL9b.js} +1 -1
- package/dist/{manager-z92Qfa3m.js → manager-BQaZlWzK.js} +1 -1
- package/dist/{manager-GRHfrG3p.js → manager-D0NIHMuQ.js} +1 -1
- package/dist/{manager-BFOp2VHW.js → manager-DOiW-Koo.js} +1 -1
- package/dist/{memory-CUt9fSz8.js → memory-Cl4I_45k.js} +3 -3
- package/dist/{memory-cli-BlBxrZF2.js → memory-cli-CszP57Ee.js} +3 -3
- package/dist/{memory-cli-DXmGAhFX.js → memory-cli-DkD_OD70.js} +3 -3
- package/dist/{memory-cQbfKDAe.js → memory-kIYeV9aO.js} +3 -3
- package/dist/{model-catalog-Ba4R_zVe.js → model-catalog-C2rNhRI4.js} +2 -2
- package/dist/{model-catalog-De1c8o1y.js → model-catalog-CaGfL-2g.js} +2 -2
- package/dist/{model-picker-BQrdlRCb.js → model-picker-4NUXHy8M.js} +2 -2
- package/dist/{model-picker-C4xfgSwe.js → model-picker-CV56GE8A.js} +2 -2
- package/dist/{models-CBuTLoD4.js → models-BYi0Fo1a.js} +9 -9
- package/dist/{models-cli-DLc8lwUF.js → models-cli-Bn9M1TgO.js} +26 -26
- package/dist/{models-cli-D0reLJxf.js → models-cli-EdjvkvFO.js} +27 -27
- package/dist/{models-config-C-VjjDXg.js → models-config-Unnduxgs.js} +1 -1
- package/dist/{models-config-C2OLw8vc.js → models-config-yKxNCn4V.js} +1 -1
- package/dist/{node-cli-C4uJ1LcV.js → node-cli-39H0MZ8q.js} +10 -10
- package/dist/{node-cli-MO_9MCpD.js → node-cli-C8FYMIjN.js} +10 -10
- package/dist/{nodes-cli-C52eXJSX.js → nodes-cli-C-03nIJ0.js} +4 -4
- package/dist/{nodes-cli-C70ejrs0.js → nodes-cli-CqxQexTU.js} +4 -4
- package/dist/{onboard-RyyCiCgk.js → onboard-C8IQnigm.js} +7 -7
- package/dist/{onboard-Dky6Vgqw.js → onboard-CAIujkV7.js} +7 -7
- package/dist/{onboard-channels-jAqPucaS.js → onboard-channels-B2l6OoMg.js} +1 -1
- package/dist/{onboard-channels-B7nvfziF.js → onboard-channels-D_uUQbem.js} +1 -1
- package/dist/{onboard-custom-CEBV-OCa.js → onboard-custom-B2fJvyxt.js} +2 -2
- package/dist/{onboard-custom-CMle6THh.js → onboard-custom-DcZ2SEUv.js} +2 -2
- package/dist/{onboard-helpers-C5YryU1N.js → onboard-helpers-Bm-oyLWy.js} +2 -2
- package/dist/{onboard-helpers-DpIB1xVU.js → onboard-helpers-CHfdRdZR.js} +2 -2
- package/dist/{onboard-remote-BDvWSzRz.js → onboard-remote-ecyetiyL.js} +1 -1
- package/dist/{onboard-remote-DZa5gKRe.js → onboard-remote-z8XLK4M0.js} +1 -1
- package/dist/{onboard-skills-5Ty3AuY6.js → onboard-skills-BLvL0KPR.js} +1 -1
- package/dist/{onboard-skills-Bv4-MQ7C.js → onboard-skills-C53RGq_5.js} +1 -1
- package/dist/{onboarding-BxybJPim.js → onboarding-4v9LJueP.js} +10 -10
- package/dist/{onboarding-B7vTX33U.js → onboarding-BIq5BxG0.js} +10 -10
- package/dist/{onboarding.finalize-Cjck4WX4.js → onboarding.finalize-Bkcwe5RS.js} +16 -16
- package/dist/{onboarding.finalize-Cm8jc2yf.js → onboarding.finalize-CXAQzVXM.js} +17 -17
- package/dist/{onboarding.gateway-config-BDJ4tufO.js → onboarding.gateway-config-3JMN1xRf.js} +5 -5
- package/dist/{onboarding.gateway-config-DP9rTU6-.js → onboarding.gateway-config-Ft3f6Jba.js} +5 -5
- package/dist/{outbound-send-deps-CBRh4LsL.js → outbound-send-deps-Dmc3B-LK.js} +1 -1
- package/dist/{pairing-cli-mM4XdTk0.js → pairing-cli-B_icqS8Y.js} +1 -1
- package/dist/{pairing-cli-WOgnEerl.js → pairing-cli-CJGA4j6G.js} +1 -1
- package/dist/{pi-embedded-BvMMjrvj.js → pi-embedded-CGebiST2.js} +20 -41
- package/dist/{pi-embedded-helpers-BbBfO9m_.js → pi-embedded-helpers-BwBjqJM5.js} +1 -1
- package/dist/{pi-embedded-helpers-D4cxQiPr.js → pi-embedded-helpers-CAdI9wJ5.js} +1 -1
- package/dist/{pi-tools.policy--USPnaLr.js → pi-tools.policy-BaRznBvu.js} +2 -2
- package/dist/{pi-tools.policy-NmG0EGEY.js → pi-tools.policy-Dyx3nBmp.js} +2 -2
- package/dist/{plugin-registry-D9f4FfDL.js → plugin-registry-D7ACpV2Y.js} +2 -2
- package/dist/{plugin-registry-DOQyKvh2.js → plugin-registry-d4hMhLLZ.js} +2 -2
- package/dist/plugin-sdk/agents/system-prompt.d.ts +1 -1
- package/dist/plugin-sdk/agents/unified-runner.d.ts +5 -5
- package/dist/plugin-sdk/auto-reply/reply/turn-middleware.d.ts +2 -2
- package/dist/plugin-sdk/channels/plugins/types.adapters.d.ts +1 -21
- package/dist/plugin-sdk/channels/plugins/types.core.d.ts +1 -5
- package/dist/plugin-sdk/channels/plugins/types.d.ts +2 -2
- package/dist/plugin-sdk/channels/plugins/types.plugin.d.ts +1 -2
- package/dist/plugin-sdk/commands/health.d.ts +0 -12
- package/dist/plugin-sdk/config/types.base.d.ts +0 -1
- package/dist/plugin-sdk/config/types.hooks.d.ts +0 -1
- package/dist/plugin-sdk/config/types.tools.d.ts +1 -1
- package/dist/plugin-sdk/config/zod-schema.d.ts +0 -2
- package/dist/plugin-sdk/config/zod-schema.hooks.d.ts +0 -1
- package/dist/plugin-sdk/cron/service/ops.d.ts +0 -1
- package/dist/plugin-sdk/cron/service/state.d.ts +1 -1
- package/dist/plugin-sdk/cron/service/timer.d.ts +0 -1
- package/dist/plugin-sdk/cron/service.d.ts +0 -1
- package/dist/plugin-sdk/cron/types.d.ts +1 -1
- package/dist/plugin-sdk/gateway/protocol/index.d.ts +1 -2
- package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +0 -1
- package/dist/plugin-sdk/gateway/protocol/schema/cron.d.ts +3 -3
- package/dist/plugin-sdk/index.js +0 -2
- package/dist/plugin-sdk/plugin-sdk/index.d.ts +1 -1
- package/dist/{plugins-cli-R-ZE64Cv.js → plugins-cli-CPf1hMaZ.js} +23 -23
- package/dist/{plugins-cli-Biq9COww.js → plugins-cli-D1gd8p9T.js} +24 -24
- package/dist/{program-Cg53oQfq.js → program-C19G7o-Q.js} +30 -30
- package/dist/{program-context-CLtVUsa6.js → program-context-BSUkEz3n.js} +38 -38
- package/dist/{prompt-select-styled-CGS3IQAy.js → prompt-select-styled-B5wlPYN5.js} +15 -15
- package/dist/{prompt-select-styled-2-MTlOry.js → prompt-select-styled-CnYM7W0j.js} +15 -15
- package/dist/{provider-auth-helpers-DTc5TSWH.js → provider-auth-helpers-BUC4xGK9.js} +2 -2
- package/dist/{provider-auth-helpers-BHqejuN7.js → provider-auth-helpers-DpRoNr_8.js} +2 -2
- package/dist/{push-apns-9QCL6OFW.js → push-apns-Bm39oOO9.js} +1 -1
- package/dist/{push-apns-DFKohq1V.js → push-apns-DqmFEcqh.js} +1 -1
- package/dist/{pw-ai-DuPDo_Ia.js → pw-ai-B0-pgbYu.js} +2 -2
- package/dist/{pw-ai-CyCnG_Kj.js → pw-ai-B2NuWIL7.js} +2 -2
- package/dist/{pw-ai-CNOE7SUx.js → pw-ai-BB1pJj9_.js} +2 -2
- package/dist/{pw-ai-Bc5uzn_J.js → pw-ai-BsEf8C15.js} +2 -2
- package/dist/{qr-cli-D5Gl0wH3.js → qr-cli-Cx7DYTSk.js} +1 -1
- package/dist/{qr-cli-BXf1ID0g.js → qr-cli-hPIeUYAT.js} +1 -1
- package/dist/{redact-identifier-QYENCXvy.js → redact-identifier-Cm1VfV7E.js} +1 -1
- package/dist/{register.agent-Bf-zNnpf.js → register.agent-CCKcgAXs.js} +31 -31
- package/dist/{register.agent-CUEmf_fe.js → register.agent-DZuxoC0a.js} +33 -33
- package/dist/{register.configure-CbUszoWU.js → register.configure-CJErdFO_.js} +34 -34
- package/dist/{register.configure-BX1pnvZN.js → register.configure-JT8T7HO5.js} +35 -35
- package/dist/{register.maintenance-ck4eLkWr.js → register.maintenance-CKsv0lok.js} +34 -34
- package/dist/{register.maintenance-B6Hf-dFR.js → register.maintenance-DDzKUGYJ.js} +32 -32
- package/dist/{register.message-B6A5GxKa.js → register.message-CpOXi1rz.js} +24 -24
- package/dist/{register.message-DUtzKXxY.js → register.message-_bfhetTg.js} +25 -25
- package/dist/{register.onboard-ppi11I2H.js → register.onboard-BHtTh0b_.js} +14 -14
- package/dist/{register.onboard-Lt0JI36k.js → register.onboard-CkIM3hU7.js} +14 -14
- package/dist/{register.setup-p3Bv9cvy.js → register.setup-CLhdFQHW.js} +14 -14
- package/dist/{register.setup-D--UK_mz.js → register.setup-CYtYDKMU.js} +14 -14
- package/dist/{register.status-health-sessions-s4im2lAy.js → register.status-health-sessions-DZnebsxZ.js} +18 -18
- package/dist/{register.status-health-sessions-DEGk6Zeg.js → register.status-health-sessions-DmX0DLAt.js} +20 -20
- package/dist/{register.subclis-Bhsc6TUP.js → register.subclis-CnDo2jzv.js} +28 -28
- package/dist/{replies-t5bPemnD.js → replies-B2O2eRh6.js} +1 -1
- package/dist/{replies-CH1VlYZQ.js → replies-Bnh0owwH.js} +1 -1
- package/dist/{replies-DIWartyA.js → replies-DIHkSwoW.js} +1 -1
- package/dist/{replies-CjSfYK97.js → replies-DU-fXkSk.js} +1 -1
- package/dist/{routes-CTOYLhQ1.js → routes-BMShi_eY.js} +3 -3
- package/dist/{routes-CWYyvbxi.js → routes-Cio8is5Y.js} +3 -3
- package/dist/{rpc-DLfjbTSu.js → rpc-CEhoSTGo.js} +1 -1
- package/dist/{rpc-BLUOZg0H.js → rpc-D0Ldc6Hv.js} +1 -1
- package/dist/{run-main-BbCFxhFG.js → run-main-BIRbWKyA.js} +41 -41
- package/dist/{sandbox-B6P9-J8g.js → sandbox-B4RfQ7k1.js} +5 -5
- package/dist/{sandbox-CpZmnHRC.js → sandbox-C-UeHmuJ.js} +5 -5
- package/dist/{sandbox-cli-kmVLo1NO.js → sandbox-cli-B43FqqPT.js} +6 -6
- package/dist/{sandbox-cli-DGcyrD_y.js → sandbox-cli-CNAPNXJ4.js} +6 -6
- package/dist/{security-cli-DwBo5cRE.js → security-cli-BSd8_Gsq.js} +10 -10
- package/dist/{security-cli-ub7VEaGq.js → security-cli-DDM0Z6IW.js} +10 -10
- package/dist/{send-6IYv-yRp.js → send-CGXxBSKh.js} +1 -1
- package/dist/{send-zbkImdk9.js → send-DSK6O8SC.js} +1 -1
- package/dist/{send-C3ZXgOXw.js → send-EluKytgO.js} +1 -1
- package/dist/{server-context-Vd9sEFb9.js → server-context-CDTuNR-O.js} +5 -5
- package/dist/{server-context-Dytgl6ZD.js → server-context-DFO6o83F.js} +5 -5
- package/dist/{server-methods-CZIqJLhS.js → server-methods-Dz6NGEg3.js} +24 -42
- package/dist/{server-methods-B_5RRPVi.js → server-methods-vp5zi6v5.js} +23 -41
- package/dist/{server-node-events-lQu3U-Wr.js → server-node-events-4ufB_olv.js} +26 -26
- package/dist/{server-node-events-CIsCdDxa.js → server-node-events-B7UtUhkC.js} +25 -25
- package/dist/{session-utils-NOQiGgMD.js → session-utils-CgGDr4eh.js} +5 -5
- package/dist/{session-utils-CJfEkQQQ.js → session-utils-D1VcHni_.js} +5 -5
- package/dist/{sessions-BHrlpR92.js → sessions-BNEDanZO.js} +1 -1
- package/dist/{sessions-B7Of0Rqm.js → sessions-Dh88Kqd6.js} +1 -1
- package/dist/{sessions-1BZvXUIa.js → sessions-iLfSd6VD.js} +3 -3
- package/dist/{shared-ByldVglV.js → shared-CIeW3aWF.js} +1 -1
- package/dist/{shared-Bvjz11ts.js → shared-_wwqvx84.js} +1 -1
- package/dist/{skills-cli-CFMRYyuc.js → skills-cli-BJDvUT_e.js} +1 -1
- package/dist/{skills-cli-BypZ_n-i.js → skills-cli-Byp9MfZh.js} +1 -1
- package/dist/{ssrf-CJor4ewC.js → ssrf-CBajKNWO.js} +0 -2
- package/dist/{ssrf-BzPY2FrA.js → ssrf-CeQ2Aub-.js} +0 -2
- package/dist/{status-BhH4w6Rh.js → status-B0HecH1s.js} +2 -2
- package/dist/{status-Dz-fz0Sg.js → status-BD8gFYKH.js} +12 -43
- package/dist/{status-BJpznKU1.js → status-DEXnB1sw.js} +11 -42
- package/dist/{status-DjbQ_4aI.js → status-MMLxoRgQ.js} +2 -2
- package/dist/{status.update-BoxoMaxX.js → status.update-Be8PuHCh.js} +1 -1
- package/dist/{status.update-C45HhTTL.js → status.update-CB9e3eWW.js} +1 -1
- package/dist/{subagent-registry-DexfLiQ_.js → subagent-registry-C57PFGHU.js} +30 -46
- package/dist/{synthesis-DcGTICel.js → synthesis-CQdzrLFL.js} +6 -6
- package/dist/{synthesis-BKdyZilP.js → synthesis-CjsIBd8X.js} +22 -22
- package/dist/{synthesis-B4G0BnU5.js → synthesis-DSdF0vsi.js} +7 -7
- package/dist/{synthesis-B_uoS8jb.js → synthesis-j_kjlFo1.js} +23 -23
- package/dist/system-cli-BM8KbtUc.js +48 -0
- package/dist/system-cli-CQFH_HwX.js +43 -0
- package/dist/{systemd-hints-RoqMZFFM.js → systemd-hints-A1W3AdVo.js} +1 -1
- package/dist/{systemd-hints-DQKA3tTS.js → systemd-hints-BejQ6J2Y.js} +1 -1
- package/dist/{tui-BrE4FemN.js → tui-D0j61PXx.js} +6 -16
- package/dist/{tui-CckiZT5A.js → tui-DFuScHlA.js} +6 -16
- package/dist/{tui-cli-SrnAqI8U.js → tui-cli-25xTveHh.js} +10 -10
- package/dist/{tui-cli-e0WhCXvw.js → tui-cli-C3dXNtPo.js} +10 -10
- package/dist/{unified-runner-BSdnT6eM.js → unified-runner-BNt7TQKM.js} +18 -39
- package/dist/{unified-runner-IQkrAem7.js → unified-runner-DCiPB--z.js} +29 -45
- package/dist/{update-cli-jbW8hE0j.js → update-cli-CWufRpkr.js} +35 -35
- package/dist/{update-cli-BiRyfmPL.js → update-cli-Dl_QbjXc.js} +37 -37
- package/dist/{update-runner-Dbiosgid.js → update-runner-Dq5UYQbo.js} +1 -1
- package/dist/{update-runner-CXpAiQuF.js → update-runner-ENJw0Mco.js} +1 -1
- package/dist/{webhooks-cli-DqJnNdFt.js → webhooks-cli-Clx8DGfA.js} +1 -1
- package/dist/{webhooks-cli-DofAY6FK.js → webhooks-cli-UfO_WffC.js} +1 -1
- package/dist/{with-timeout-COajnkmj.js → with-timeout-BE7lxhxW.js} +1 -1
- package/dist/{with-timeout-BhDKgIeU.js → with-timeout-BcL6qAbd.js} +1 -1
- package/docs/reference/templates/AGENTS.dev.md +0 -4
- package/docs/reference/templates/AGENTS.md +7 -68
- package/docs/reference/templates/CONFIG-SCHEMA.md +0 -7
- package/extensions/shared/resolve-target-test-helpers.ts +1 -1
- package/package.json +1 -1
- package/skills/coding-agent/SKILL.md +2 -2
- package/dist/system-cli-BdG41gcY.js +0 -80
- package/dist/system-cli-BdITqp7I.js +0 -85
- package/docs/reference/templates/SYMIPULSE.md +0 -103
|
@@ -12,26 +12,26 @@ import "./frontmatter-B4levtVg.js";
|
|
|
12
12
|
import "./skills-BP6p7GnN.js";
|
|
13
13
|
import "./manifest-registry-DJcKcUQ9.js";
|
|
14
14
|
import "./skills-status-01KNlWUS.js";
|
|
15
|
-
import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-
|
|
16
|
-
import "./client-
|
|
17
|
-
import "./call-
|
|
15
|
+
import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-igdtSRrZ.js";
|
|
16
|
+
import "./client-Dp8LUTmF.js";
|
|
17
|
+
import "./call-5IE9ycvm.js";
|
|
18
18
|
import "./message-channel-CNPAq1Tl.js";
|
|
19
19
|
import "./pairing-token-Bnr7QjVF.js";
|
|
20
|
-
import "./subagent-registry-
|
|
21
|
-
import "./sessions-
|
|
20
|
+
import "./subagent-registry-C57PFGHU.js";
|
|
21
|
+
import "./sessions-BNEDanZO.js";
|
|
22
22
|
import "./plugins-Bq-Msc8Z.js";
|
|
23
|
-
import "./send-
|
|
24
|
-
import "./with-timeout-
|
|
25
|
-
import "./deliver-
|
|
23
|
+
import "./send-EluKytgO.js";
|
|
24
|
+
import "./with-timeout-BcL6qAbd.js";
|
|
25
|
+
import "./deliver-izdrXPr4.js";
|
|
26
26
|
import "./diagnostic-BevbDWGa.js";
|
|
27
27
|
import "./diagnostic-session-state-Zw87xFym.js";
|
|
28
|
-
import "./pi-embedded-helpers-
|
|
29
|
-
import "./sandbox-
|
|
30
|
-
import "./chrome-
|
|
28
|
+
import "./pi-embedded-helpers-BwBjqJM5.js";
|
|
29
|
+
import "./sandbox-B4RfQ7k1.js";
|
|
30
|
+
import "./chrome-B0wRtBRB.js";
|
|
31
31
|
import "./tailscale-BsA0YClX.js";
|
|
32
32
|
import "./auth-DIdzV4_r.js";
|
|
33
|
-
import "./server-context-
|
|
34
|
-
import "./routes-
|
|
33
|
+
import "./server-context-CDTuNR-O.js";
|
|
34
|
+
import "./routes-Cio8is5Y.js";
|
|
35
35
|
import "./redact-KvsGzUFH.js";
|
|
36
36
|
import "./errors-TVUWuVoP.js";
|
|
37
37
|
import "./fs-safe-DzJT_iD4.js";
|
|
@@ -43,10 +43,10 @@ import "./trash-CF1G530Y.js";
|
|
|
43
43
|
import "./dock-Cq5LxV1L.js";
|
|
44
44
|
import "./paths-CNexk5_o.js";
|
|
45
45
|
import "./thinking-BDh5LPh-.js";
|
|
46
|
-
import "./models-config-
|
|
46
|
+
import "./models-config-yKxNCn4V.js";
|
|
47
47
|
import "./reply-prefix-B7pYEiW_.js";
|
|
48
|
-
import "./memory-
|
|
49
|
-
import "./manager-
|
|
48
|
+
import "./memory-Cl4I_45k.js";
|
|
49
|
+
import "./manager-BQaZlWzK.js";
|
|
50
50
|
import "./sqlite-l3CZYU6t.js";
|
|
51
51
|
import "./chunk-BySyfaEr.js";
|
|
52
52
|
import "./markdown-tables-CCOfinlW.js";
|
|
@@ -57,10 +57,10 @@ import "./commands-registry-Bccp0eH5.js";
|
|
|
57
57
|
import "./tool-display-wSdT0Ynz.js";
|
|
58
58
|
import "./tokens-K3kGchJA.js";
|
|
59
59
|
import "./skills-remote-DHfuS68n.js";
|
|
60
|
-
import { c as trimLogTail } from "./redact-identifier-
|
|
60
|
+
import { c as trimLogTail } from "./redact-identifier-Cm1VfV7E.js";
|
|
61
61
|
import "./workspace-dirs-23IYtZj2.js";
|
|
62
|
-
import "./model-catalog-
|
|
63
|
-
import "./session-utils-
|
|
62
|
+
import "./model-catalog-C2rNhRI4.js";
|
|
63
|
+
import "./session-utils-D1VcHni_.js";
|
|
64
64
|
import "./skill-commands-CcCCVblU.js";
|
|
65
65
|
import "./pairing-store-CtBnCGHZ.js";
|
|
66
66
|
import "./exec-approvals-B8n8es8o.js";
|
|
@@ -68,7 +68,7 @@ import "./nodes-screen-Bkq2kswx.js";
|
|
|
68
68
|
import { r as formatDurationPrecise } from "./format-duration-DbZRICyO.js";
|
|
69
69
|
import "./session-cost-usage-Cj3vd7lZ.js";
|
|
70
70
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName } from "./constants-C0e51aio.js";
|
|
71
|
-
import "./control-service-
|
|
71
|
+
import "./control-service-DO8FjrS6.js";
|
|
72
72
|
import "./stagger-C2kEx8j9.js";
|
|
73
73
|
import "./channel-selection-p35DYzAL.js";
|
|
74
74
|
import "./delivery-queue-nheCYaMd.js";
|
|
@@ -78,10 +78,10 @@ import { t as formatDocsLink } from "./links-Db3Rw0Tg.js";
|
|
|
78
78
|
import "./cli-utils-BqMwAlgf.js";
|
|
79
79
|
import { t as formatHelpExamples } from "./help-format-DbbIlOje.js";
|
|
80
80
|
import "./progress-C4ck6JXh.js";
|
|
81
|
-
import "./memory-cli-
|
|
81
|
+
import "./memory-cli-CszP57Ee.js";
|
|
82
82
|
import "./logging-D0L9TWhE.js";
|
|
83
|
-
import "./replies-
|
|
84
|
-
import "./pi-tools.policy
|
|
83
|
+
import "./replies-DIHkSwoW.js";
|
|
84
|
+
import "./pi-tools.policy-BaRznBvu.js";
|
|
85
85
|
import { n as inheritOptionFromParent } from "./command-options-BtJGezJl.js";
|
|
86
86
|
import "./catalog-CJzUbDcX.js";
|
|
87
87
|
import { n as stylePromptMessage } from "./prompt-style-Z2ZizQap.js";
|
|
@@ -92,33 +92,33 @@ import "./npm-registry-spec-NLo2PCol.js";
|
|
|
92
92
|
import "./skill-scanner-CuoStu03.js";
|
|
93
93
|
import "./installs-cPraL4Dg.js";
|
|
94
94
|
import "./channels-status-issues-GSsGZvfn.js";
|
|
95
|
-
import "./register.subclis-
|
|
96
|
-
import "./command-registry-
|
|
95
|
+
import "./register.subclis-CnDo2jzv.js";
|
|
96
|
+
import "./command-registry-D8fj6th4.js";
|
|
97
97
|
import "./program-context-BFKw4l9I.js";
|
|
98
|
-
import { r as installCompletion } from "./completion-cli-
|
|
99
|
-
import "./daemon-runtime-
|
|
98
|
+
import { r as installCompletion } from "./completion-cli-BxspmuYm.js";
|
|
99
|
+
import "./daemon-runtime-2Y9RfgcP.js";
|
|
100
100
|
import { r as parseSemver } from "./runtime-guard-p4-FMx0l.js";
|
|
101
|
-
import "./onboard-helpers-
|
|
101
|
+
import "./onboard-helpers-Bm-oyLWy.js";
|
|
102
102
|
import "./systemd-p_nEAkHC.js";
|
|
103
103
|
import { t as resolveGatewayService } from "./service-BIixwO-v.js";
|
|
104
|
-
import "./lifecycle-core-
|
|
105
|
-
import "./systemd-hints-
|
|
106
|
-
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-
|
|
104
|
+
import "./lifecycle-core-uN2bsrZs.js";
|
|
105
|
+
import "./systemd-hints-BejQ6J2Y.js";
|
|
106
|
+
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-DmMYx5Uf.js";
|
|
107
107
|
import "./diagnostics-DELEpbg2.js";
|
|
108
108
|
import { t as renderTable } from "./table-CSEp22Mk.js";
|
|
109
|
-
import "./health-
|
|
109
|
+
import "./health-DdzNc1yA.js";
|
|
110
110
|
import "./control-ui-assets-B5BrwGRs.js";
|
|
111
111
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-C1JNxsic.js";
|
|
112
112
|
import "./dm-policy-shared-CSF4Tw_F.js";
|
|
113
|
-
import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-
|
|
114
|
-
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-
|
|
113
|
+
import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-Be8PuHCh.js";
|
|
114
|
+
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-ENJw0Mco.js";
|
|
115
115
|
import "./logging-BeA4q4J_.js";
|
|
116
116
|
import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-C1rkPV1C.js";
|
|
117
|
-
import "./doctor-config-flow-
|
|
117
|
+
import "./doctor-config-flow-wvoEFNeZ.js";
|
|
118
118
|
import "./systemd-linger-BM4qvprK.js";
|
|
119
119
|
import "./health-format-DaP03FBk.js";
|
|
120
|
-
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-
|
|
121
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
120
|
+
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CnYM7W0j.js";
|
|
121
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CX7LjkOD.js";
|
|
122
122
|
import { spawn, spawnSync } from "node:child_process";
|
|
123
123
|
import os from "node:os";
|
|
124
124
|
import path from "node:path";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { f as pathExists } from "./utils-BU8jVQFM.js";
|
|
2
2
|
import { t as runCommandWithTimeout } from "./exec-DKyLtSjm.js";
|
|
3
|
-
import { h as trimLogTail } from "./session-utils-
|
|
3
|
+
import { h as trimLogTail } from "./session-utils-CgGDr4eh.js";
|
|
4
4
|
import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-DUhvOLUL.js";
|
|
5
5
|
import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-CZxZhEXr.js";
|
|
6
6
|
import path from "node:path";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jt as pathExists } from "./entry.js";
|
|
2
2
|
import { t as runCommandWithTimeout } from "./exec-B6oWJSJW.js";
|
|
3
|
-
import { c as trimLogTail } from "./redact-identifier-
|
|
3
|
+
import { c as trimLogTail } from "./redact-identifier-Cm1VfV7E.js";
|
|
4
4
|
import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-B5BrwGRs.js";
|
|
5
5
|
import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-C1JNxsic.js";
|
|
6
6
|
import os from "node:os";
|
|
@@ -9,7 +9,7 @@ import "./agent-scope-DIjW66iO.js";
|
|
|
9
9
|
import "./github-copilot-token-BTNK6Tcd.js";
|
|
10
10
|
import "./boolean-Wzu0-e0P.js";
|
|
11
11
|
import "./env-B97Ms861.js";
|
|
12
|
-
import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins } from "./config-
|
|
12
|
+
import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins } from "./config-DqMsGcSQ.js";
|
|
13
13
|
import "./manifest-registry-D_LsBSyt.js";
|
|
14
14
|
import "./frontmatter-CHu3sfCM.js";
|
|
15
15
|
import "./skills-Bmjf5nFv.js";
|
|
@@ -7,7 +7,7 @@ import "./github-copilot-token-a6a53zx_.js";
|
|
|
7
7
|
import "./frontmatter-B4levtVg.js";
|
|
8
8
|
import "./skills-BP6p7GnN.js";
|
|
9
9
|
import "./manifest-registry-DJcKcUQ9.js";
|
|
10
|
-
import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins } from "./config-
|
|
10
|
+
import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins } from "./config-igdtSRrZ.js";
|
|
11
11
|
import { t as formatDocsLink } from "./links-Db3Rw0Tg.js";
|
|
12
12
|
import { C as normalizeServePath, S as normalizeHooksPath, T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, a as ensureTopic, b as generateHookToken, c as DEFAULT_GMAIL_LABEL, d as DEFAULT_GMAIL_SERVE_BIND, f as DEFAULT_GMAIL_SERVE_PATH, g as buildDefaultHookUrl, h as DEFAULT_GMAIL_TOPIC, i as ensureTailscaleEndpoint, l as DEFAULT_GMAIL_MAX_BYTES, m as DEFAULT_GMAIL_SUBSCRIPTION, n as ensureGcloudAuth, o as resolveProjectIdFromGogCredentials, p as DEFAULT_GMAIL_SERVE_PORT, r as ensureSubscription, s as runGcloud, t as ensureDependency, u as DEFAULT_GMAIL_RENEW_MINUTES, v as buildGogWatchStartArgs, w as parseTopicPath, x as mergeHookPresets, y as buildTopicPath } from "./gmail-setup-utils-B1BYpISg.js";
|
|
13
13
|
import { spawn } from "node:child_process";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { c as escapeRegExp } from "./utils-BU8jVQFM.js";
|
|
2
|
-
import { t as registerBrowserRoutes } from "./routes-
|
|
2
|
+
import { t as registerBrowserRoutes } from "./routes-BMShi_eY.js";
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import { promisify } from "node:util";
|
|
5
5
|
import { execFile } from "node:child_process";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Dt as escapeRegExp } from "./entry.js";
|
|
2
|
-
import { t as registerBrowserRoutes } from "./routes-
|
|
2
|
+
import { t as registerBrowserRoutes } from "./routes-Cio8is5Y.js";
|
|
3
3
|
import { execFile } from "node:child_process";
|
|
4
4
|
import os from "node:os";
|
|
5
5
|
import { promisify } from "node:util";
|
|
@@ -38,10 +38,6 @@ git commit -m "Add agent workspace"
|
|
|
38
38
|
- On session start, read today + yesterday if present.
|
|
39
39
|
- Capture durable facts, preferences, and decisions; avoid secrets.
|
|
40
40
|
|
|
41
|
-
## Heartbeats (optional)
|
|
42
|
-
|
|
43
|
-
- SYMIPULSE.md can hold a tiny checklist for heartbeat runs; keep it small.
|
|
44
|
-
|
|
45
41
|
## Customize
|
|
46
42
|
|
|
47
43
|
- Add your preferred style, rules, and "memory" here.
|
|
@@ -190,88 +190,27 @@ Skills provide your tools. When you need one, check its `SKILL.md`. Keep local n
|
|
|
190
190
|
|
|
191
191
|
- **WhatsApp:** No headers — use **bold** or CAPS for emphasis
|
|
192
192
|
|
|
193
|
-
##
|
|
193
|
+
## ⏰ Periodic Work — Use Cron
|
|
194
194
|
|
|
195
|
-
|
|
195
|
+
For scheduled or periodic tasks, use the cron tool. Examples:
|
|
196
196
|
|
|
197
|
-
|
|
198
|
-
`Read SYMIPULSE.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply SYMIPULSE_OK.`
|
|
199
|
-
|
|
200
|
-
You are free to edit `SYMIPULSE.md` with a short checklist or reminders. Keep it small to limit token burn.
|
|
201
|
-
|
|
202
|
-
### Heartbeat vs Cron: When to Use Each
|
|
203
|
-
|
|
204
|
-
**Use heartbeat when:**
|
|
205
|
-
|
|
206
|
-
- Multiple checks can batch together (inbox + calendar + notifications in one turn)
|
|
207
|
-
- You need conversational context from recent messages
|
|
208
|
-
- Timing can drift slightly (every ~30 min is fine, not exact)
|
|
209
|
-
- You want to reduce API calls by combining periodic checks
|
|
210
|
-
|
|
211
|
-
**Use cron when:**
|
|
212
|
-
|
|
213
|
-
- Exact timing matters ("9:00 AM sharp every Monday")
|
|
197
|
+
- Exact timing ("9:00 AM sharp every Monday")
|
|
214
198
|
- Task needs isolation from main session history
|
|
215
|
-
-
|
|
199
|
+
- A different model or thinking level for the task
|
|
216
200
|
- One-shot reminders ("remind me in 20 minutes")
|
|
217
201
|
- Output should deliver directly to a channel without main session involvement
|
|
218
202
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
**Things to check (rotate through these, 2-4 times per day):**
|
|
222
|
-
|
|
223
|
-
- **Emails** - Any urgent unread messages?
|
|
224
|
-
- **Calendar** - Upcoming events in next 24-48h?
|
|
225
|
-
- **Mentions** - Twitter/social notifications?
|
|
226
|
-
- **Weather** - Relevant if your human might go out?
|
|
227
|
-
|
|
228
|
-
**Track your checks** in `memory/heartbeat-state.json`:
|
|
203
|
+
## 🔄 Memory Maintenance
|
|
229
204
|
|
|
230
|
-
|
|
231
|
-
{
|
|
232
|
-
"lastChecks": {
|
|
233
|
-
"email": 1703275200,
|
|
234
|
-
"calendar": 1703260800,
|
|
235
|
-
"weather": null
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
```
|
|
205
|
+
L3 consolidation runs automatically after each memory-flush. You don't hand-roll it. What you _can_ do:
|
|
239
206
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
- Important email arrived
|
|
243
|
-
- Calendar event coming up (<2h)
|
|
244
|
-
- Something interesting you found
|
|
245
|
-
- It's been >8h since you said anything
|
|
246
|
-
|
|
247
|
-
**When to stay quiet (SYMIPULSE_OK):**
|
|
248
|
-
|
|
249
|
-
- Late night (23:00-08:00) unless urgent
|
|
250
|
-
- Human is clearly busy
|
|
251
|
-
- Nothing new since last check
|
|
252
|
-
- You just checked <30 minutes ago
|
|
253
|
-
|
|
254
|
-
**Proactive work you can do without asking:**
|
|
255
|
-
|
|
256
|
-
- Read and organize memory files
|
|
257
|
-
- Check on projects (git status, etc.)
|
|
258
|
-
- Update documentation
|
|
259
|
-
- Commit and push your own changes
|
|
260
|
-
- **Review recent daily memory** (see below)
|
|
261
|
-
|
|
262
|
-
### 🔄 Memory Maintenance (During Heartbeats)
|
|
263
|
-
|
|
264
|
-
L3 consolidation runs automatically after each memory-flush. You don't hand-roll it. What you _can_ do on a heartbeat:
|
|
265
|
-
|
|
266
|
-
1. Read through recent `memory/YYYY-MM-DD.md` files for context.
|
|
207
|
+
1. Read recent `memory/YYYY-MM-DD.md` files for context.
|
|
267
208
|
2. Read `memory/symi-core.md` + `memory/symi-beliefs.md` to see what has stabilized about you and the user.
|
|
268
209
|
3. Notice when a recurring pattern hasn't been pinned yet — if the human has said the same preference three times over different days, call `memory_pin` on it.
|
|
269
210
|
4. If `symi-core.md` contains a stale belief contradicted by recent events, write the correction into today's `memory/YYYY-MM-DD.md` and (if the human is present) mention you've updated. The next L3 cycle will reconcile.
|
|
270
211
|
|
|
271
212
|
Daily files are raw observations. `symi-core.md` is your curated evolving self, rewritten by L3 each cycle. `MEMORY.md` is the human's own notes — read it, don't rewrite it.
|
|
272
213
|
|
|
273
|
-
The goal: Be helpful without being annoying. Check in a few times a day, do useful background work, but respect quiet time.
|
|
274
|
-
|
|
275
214
|
## Make It Yours
|
|
276
215
|
|
|
277
216
|
This is a starting point. Add your own conventions, style, and rules as you figure out what works.
|
|
@@ -76,13 +76,6 @@ Use `symi config get` (no args) to see all top-level keys.
|
|
|
76
76
|
| `memory.backend` | string | `"builtin"`, `"qmd"` |
|
|
77
77
|
| `memory.citations` | string | `"auto"`, `"on"`, `"off"` |
|
|
78
78
|
|
|
79
|
-
## Symipulse (Heartbeat)
|
|
80
|
-
|
|
81
|
-
| Path | Type | Example |
|
|
82
|
-
| ------------------------------------------- | ------- | ------- |
|
|
83
|
-
| `agents.defaults.heartbeat.enabled` | boolean | `true` |
|
|
84
|
-
| `agents.defaults.heartbeat.intervalMinutes` | number | `30` |
|
|
85
|
-
|
|
86
79
|
## Tool Access Control
|
|
87
80
|
|
|
88
81
|
| Path | Type | Example |
|
package/package.json
CHANGED
|
@@ -253,13 +253,13 @@ This prevents the user from seeing only "Agent failed before reply" and having n
|
|
|
253
253
|
|
|
254
254
|
## Auto-Notify on Completion
|
|
255
255
|
|
|
256
|
-
For long-running background tasks, append a wake trigger to your prompt so Symi gets notified immediately when the agent finishes
|
|
256
|
+
For long-running background tasks, append a wake trigger to your prompt so Symi gets notified immediately when the agent finishes:
|
|
257
257
|
|
|
258
258
|
```
|
|
259
259
|
... your task here.
|
|
260
260
|
|
|
261
261
|
When completely finished, run this command to notify me:
|
|
262
|
-
symi system event --text "Done: [brief summary of what was built]"
|
|
262
|
+
symi system event --text "Done: [brief summary of what was built]"
|
|
263
263
|
```
|
|
264
264
|
|
|
265
265
|
**Example:**
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { Q as theme, V as danger, _ as defaultRuntime } from "./entry.js";
|
|
2
|
-
import "./auth-profiles-Bs5D0GUv.js";
|
|
3
|
-
import "./exec-B6oWJSJW.js";
|
|
4
|
-
import "./agent-scope-B6p555mP.js";
|
|
5
|
-
import "./github-copilot-token-a6a53zx_.js";
|
|
6
|
-
import "./manifest-registry-DJcKcUQ9.js";
|
|
7
|
-
import "./config-Cw7uo7Dh.js";
|
|
8
|
-
import "./client-CAz5aPpp.js";
|
|
9
|
-
import "./call-Dy_T6f6d.js";
|
|
10
|
-
import "./message-channel-CNPAq1Tl.js";
|
|
11
|
-
import "./pairing-token-Bnr7QjVF.js";
|
|
12
|
-
import { t as formatDocsLink } from "./links-Db3Rw0Tg.js";
|
|
13
|
-
import "./progress-C4ck6JXh.js";
|
|
14
|
-
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-B5_ZCiHW.js";
|
|
15
|
-
|
|
16
|
-
//#region src/cli/system-cli.ts
|
|
17
|
-
const normalizeWakeMode = (raw) => {
|
|
18
|
-
const mode = typeof raw === "string" ? raw.trim() : "";
|
|
19
|
-
if (!mode) return "next-heartbeat";
|
|
20
|
-
if (mode === "now" || mode === "next-heartbeat") return mode;
|
|
21
|
-
throw new Error("--mode must be now or next-heartbeat");
|
|
22
|
-
};
|
|
23
|
-
function registerSystemCli(program) {
|
|
24
|
-
const system = program.command("system").description("System tools (events, heartbeat, presence)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/system", "docs.symi.ai/cli/system")}\n`);
|
|
25
|
-
addGatewayClientOptions(system.command("event").description("Enqueue a system event and optionally trigger a heartbeat").requiredOption("--text <text>", "System event text").option("--mode <mode>", "Wake mode (now|next-heartbeat)", "next-heartbeat").option("--json", "Output JSON", false)).action(async (opts) => {
|
|
26
|
-
try {
|
|
27
|
-
const text = typeof opts.text === "string" ? opts.text.trim() : "";
|
|
28
|
-
if (!text) throw new Error("--text is required");
|
|
29
|
-
const result = await callGatewayFromCli("wake", opts, {
|
|
30
|
-
mode: normalizeWakeMode(opts.mode),
|
|
31
|
-
text
|
|
32
|
-
}, { expectFinal: false });
|
|
33
|
-
if (opts.json) defaultRuntime.log(JSON.stringify(result, null, 2));
|
|
34
|
-
else defaultRuntime.log("ok");
|
|
35
|
-
} catch (err) {
|
|
36
|
-
defaultRuntime.error(danger(String(err)));
|
|
37
|
-
defaultRuntime.exit(1);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
const heartbeat = system.command("heartbeat").description("Heartbeat controls");
|
|
41
|
-
addGatewayClientOptions(heartbeat.command("last").description("Show the last heartbeat event").option("--json", "Output JSON", false)).action(async (opts) => {
|
|
42
|
-
try {
|
|
43
|
-
const result = await callGatewayFromCli("last-heartbeat", opts, void 0, { expectFinal: false });
|
|
44
|
-
defaultRuntime.log(JSON.stringify(result, null, 2));
|
|
45
|
-
} catch (err) {
|
|
46
|
-
defaultRuntime.error(danger(String(err)));
|
|
47
|
-
defaultRuntime.exit(1);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
addGatewayClientOptions(heartbeat.command("enable").description("Enable heartbeats").option("--json", "Output JSON", false)).action(async (opts) => {
|
|
51
|
-
try {
|
|
52
|
-
const result = await callGatewayFromCli("set-heartbeats", opts, { enabled: true }, { expectFinal: false });
|
|
53
|
-
defaultRuntime.log(JSON.stringify(result, null, 2));
|
|
54
|
-
} catch (err) {
|
|
55
|
-
defaultRuntime.error(danger(String(err)));
|
|
56
|
-
defaultRuntime.exit(1);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
addGatewayClientOptions(heartbeat.command("disable").description("Disable heartbeats").option("--json", "Output JSON", false)).action(async (opts) => {
|
|
60
|
-
try {
|
|
61
|
-
const result = await callGatewayFromCli("set-heartbeats", opts, { enabled: false }, { expectFinal: false });
|
|
62
|
-
defaultRuntime.log(JSON.stringify(result, null, 2));
|
|
63
|
-
} catch (err) {
|
|
64
|
-
defaultRuntime.error(danger(String(err)));
|
|
65
|
-
defaultRuntime.exit(1);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
addGatewayClientOptions(system.command("presence").description("List system presence entries").option("--json", "Output JSON", false)).action(async (opts) => {
|
|
69
|
-
try {
|
|
70
|
-
const result = await callGatewayFromCli("system-presence", opts, void 0, { expectFinal: false });
|
|
71
|
-
defaultRuntime.log(JSON.stringify(result, null, 2));
|
|
72
|
-
} catch (err) {
|
|
73
|
-
defaultRuntime.error(danger(String(err)));
|
|
74
|
-
defaultRuntime.exit(1);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
//#endregion
|
|
80
|
-
export { registerSystemCli };
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { b as danger, j as theme } from "./registry-DKJLAPDB.js";
|
|
2
|
-
import "./paths-BSzKwaxE.js";
|
|
3
|
-
import "./utils-BU8jVQFM.js";
|
|
4
|
-
import { f as defaultRuntime } from "./subsystem-CtH6J8AV.js";
|
|
5
|
-
import "./auth-profiles-BFSVvFKy.js";
|
|
6
|
-
import "./exec-DKyLtSjm.js";
|
|
7
|
-
import "./agent-scope-DIjW66iO.js";
|
|
8
|
-
import "./github-copilot-token-BTNK6Tcd.js";
|
|
9
|
-
import "./boolean-Wzu0-e0P.js";
|
|
10
|
-
import "./env-B97Ms861.js";
|
|
11
|
-
import "./config-MU0QT0xu.js";
|
|
12
|
-
import "./manifest-registry-D_LsBSyt.js";
|
|
13
|
-
import "./message-channel-C_V8IAYx.js";
|
|
14
|
-
import "./client-ZZqt0H0-.js";
|
|
15
|
-
import "./call-CbF18cyd.js";
|
|
16
|
-
import "./pairing-token-CURbSHdi.js";
|
|
17
|
-
import { t as formatDocsLink } from "./links-CSaUKNKm.js";
|
|
18
|
-
import "./progress-CyPyGCDn.js";
|
|
19
|
-
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-RZAJMB1i.js";
|
|
20
|
-
|
|
21
|
-
//#region src/cli/system-cli.ts
|
|
22
|
-
const normalizeWakeMode = (raw) => {
|
|
23
|
-
const mode = typeof raw === "string" ? raw.trim() : "";
|
|
24
|
-
if (!mode) return "next-heartbeat";
|
|
25
|
-
if (mode === "now" || mode === "next-heartbeat") return mode;
|
|
26
|
-
throw new Error("--mode must be now or next-heartbeat");
|
|
27
|
-
};
|
|
28
|
-
function registerSystemCli(program) {
|
|
29
|
-
const system = program.command("system").description("System tools (events, heartbeat, presence)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/system", "docs.symi.ai/cli/system")}\n`);
|
|
30
|
-
addGatewayClientOptions(system.command("event").description("Enqueue a system event and optionally trigger a heartbeat").requiredOption("--text <text>", "System event text").option("--mode <mode>", "Wake mode (now|next-heartbeat)", "next-heartbeat").option("--json", "Output JSON", false)).action(async (opts) => {
|
|
31
|
-
try {
|
|
32
|
-
const text = typeof opts.text === "string" ? opts.text.trim() : "";
|
|
33
|
-
if (!text) throw new Error("--text is required");
|
|
34
|
-
const result = await callGatewayFromCli("wake", opts, {
|
|
35
|
-
mode: normalizeWakeMode(opts.mode),
|
|
36
|
-
text
|
|
37
|
-
}, { expectFinal: false });
|
|
38
|
-
if (opts.json) defaultRuntime.log(JSON.stringify(result, null, 2));
|
|
39
|
-
else defaultRuntime.log("ok");
|
|
40
|
-
} catch (err) {
|
|
41
|
-
defaultRuntime.error(danger(String(err)));
|
|
42
|
-
defaultRuntime.exit(1);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
const heartbeat = system.command("heartbeat").description("Heartbeat controls");
|
|
46
|
-
addGatewayClientOptions(heartbeat.command("last").description("Show the last heartbeat event").option("--json", "Output JSON", false)).action(async (opts) => {
|
|
47
|
-
try {
|
|
48
|
-
const result = await callGatewayFromCli("last-heartbeat", opts, void 0, { expectFinal: false });
|
|
49
|
-
defaultRuntime.log(JSON.stringify(result, null, 2));
|
|
50
|
-
} catch (err) {
|
|
51
|
-
defaultRuntime.error(danger(String(err)));
|
|
52
|
-
defaultRuntime.exit(1);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
addGatewayClientOptions(heartbeat.command("enable").description("Enable heartbeats").option("--json", "Output JSON", false)).action(async (opts) => {
|
|
56
|
-
try {
|
|
57
|
-
const result = await callGatewayFromCli("set-heartbeats", opts, { enabled: true }, { expectFinal: false });
|
|
58
|
-
defaultRuntime.log(JSON.stringify(result, null, 2));
|
|
59
|
-
} catch (err) {
|
|
60
|
-
defaultRuntime.error(danger(String(err)));
|
|
61
|
-
defaultRuntime.exit(1);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
addGatewayClientOptions(heartbeat.command("disable").description("Disable heartbeats").option("--json", "Output JSON", false)).action(async (opts) => {
|
|
65
|
-
try {
|
|
66
|
-
const result = await callGatewayFromCli("set-heartbeats", opts, { enabled: false }, { expectFinal: false });
|
|
67
|
-
defaultRuntime.log(JSON.stringify(result, null, 2));
|
|
68
|
-
} catch (err) {
|
|
69
|
-
defaultRuntime.error(danger(String(err)));
|
|
70
|
-
defaultRuntime.exit(1);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
addGatewayClientOptions(system.command("presence").description("List system presence entries").option("--json", "Output JSON", false)).action(async (opts) => {
|
|
74
|
-
try {
|
|
75
|
-
const result = await callGatewayFromCli("system-presence", opts, void 0, { expectFinal: false });
|
|
76
|
-
defaultRuntime.log(JSON.stringify(result, null, 2));
|
|
77
|
-
} catch (err) {
|
|
78
|
-
defaultRuntime.error(danger(String(err)));
|
|
79
|
-
defaultRuntime.exit(1);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
//#endregion
|
|
85
|
-
export { registerSystemCli };
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "SYMIPULSE.md Template"
|
|
3
|
-
summary: "Workspace template for SYMIPULSE.md"
|
|
4
|
-
read_when:
|
|
5
|
-
- Bootstrapping a workspace manually
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# SYMIPULSE.md - Periodic Tasks
|
|
9
|
-
|
|
10
|
-
## Daily Journaling (Every Heartbeat — Priority 1)
|
|
11
|
-
|
|
12
|
-
Before anything else, write to today's daily log (`memory/YYYY-MM-DD.md`; create `memory/` if needed).
|
|
13
|
-
|
|
14
|
-
### What to journal
|
|
15
|
-
|
|
16
|
-
Review the current session transcript since the last heartbeat. If there were any user interactions, tool uses, decisions, errors, or notable events — append a brief entry:
|
|
17
|
-
|
|
18
|
-
```markdown
|
|
19
|
-
## Session: [short label] (HH:MM TZ)
|
|
20
|
-
|
|
21
|
-
- [1-3 bullet points: what happened, what was decided, what was learned]
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
### Rules
|
|
25
|
-
|
|
26
|
-
- **APPEND only** — never overwrite existing entries in the file
|
|
27
|
-
- Skip if the only activity since last heartbeat was another heartbeat (no user interaction)
|
|
28
|
-
- Keep entries concise: 2-5 lines per session block
|
|
29
|
-
- Include timestamps so entries are traceable
|
|
30
|
-
- If truly nothing happened (no user messages, no tool calls), skip journaling and move to consolidation
|
|
31
|
-
|
|
32
|
-
## Memory Consolidation (Priority 2)
|
|
33
|
-
|
|
34
|
-
Every heartbeat, check if consolidation is needed. Run consolidation when:
|
|
35
|
-
|
|
36
|
-
- It's been more than 24 hours since the last consolidation (check `memory/heartbeat-state.json` → `lastChecks.memoryConsolidation`)
|
|
37
|
-
- There are 3+ daily log files that haven't been distilled into MEMORY.md
|
|
38
|
-
|
|
39
|
-
### Consolidation Steps
|
|
40
|
-
|
|
41
|
-
1. **Read all recent daily logs** (`memory/YYYY-MM-DD*.md` from last 7 days)
|
|
42
|
-
2. **Distill into structured MEMORY.md sections:**
|
|
43
|
-
- `## User` — name, timezone, preferences, working style, communication patterns
|
|
44
|
-
- `## Projects` — active projects, status, key decisions, blockers
|
|
45
|
-
- `## Preferences` — technical choices, tool preferences, response style
|
|
46
|
-
- `## Lessons Learned` — what worked, what didn't, mistakes to avoid
|
|
47
|
-
- `## People & Contacts` — names, roles, relationships mentioned
|
|
48
|
-
- `## Open Items` — pending tasks, follow-ups, things to remember
|
|
49
|
-
3. **Keep MEMORY.md under 2000 tokens** — be ruthlessly concise. Use bullet points, not prose. Every line should be a retrievable fact.
|
|
50
|
-
4. **Remove stale entries** — delete items from MEMORY.md that are resolved, outdated, or superseded
|
|
51
|
-
5. **Archive old daily logs** — files older than 14 days: extract any unrecorded insights, then move to `memory/archive/` (create if needed)
|
|
52
|
-
6. **Update heartbeat state** — set `lastChecks.memoryConsolidation` to current timestamp
|
|
53
|
-
|
|
54
|
-
### MEMORY.md Format (Target)
|
|
55
|
-
|
|
56
|
-
```markdown
|
|
57
|
-
## User
|
|
58
|
-
|
|
59
|
-
- Name: [name], TZ: [timezone]
|
|
60
|
-
- Prefers: [concise/detailed], [practical/theoretical]
|
|
61
|
-
- Working on: [current focus]
|
|
62
|
-
|
|
63
|
-
## Projects
|
|
64
|
-
|
|
65
|
-
- [project]: [status] — [key decision or note]
|
|
66
|
-
|
|
67
|
-
## Preferences
|
|
68
|
-
|
|
69
|
-
- [preference]: [detail]
|
|
70
|
-
|
|
71
|
-
## Lessons Learned
|
|
72
|
-
|
|
73
|
-
- [lesson]: [context]
|
|
74
|
-
|
|
75
|
-
## Open Items
|
|
76
|
-
|
|
77
|
-
- [ ] [task or follow-up]
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
### Why This Matters
|
|
81
|
-
|
|
82
|
-
MEMORY.md is injected into every system prompt. A bloated or disorganized MEMORY.md wastes tokens and degrades recall quality. A tight, structured one makes the model contextually aware on every turn.
|
|
83
|
-
|
|
84
|
-
## Pattern Detection (Every 5th Heartbeat)
|
|
85
|
-
|
|
86
|
-
- Search recent conversations for repeated themes: "always", "never", "prefer", "don't like"
|
|
87
|
-
- Identify new communication or technical preferences
|
|
88
|
-
- Update MEMORY.md Preferences section
|
|
89
|
-
- Look for: time patterns, recurring tasks, common frustrations
|
|
90
|
-
|
|
91
|
-
## Self-Assessment (Every 10th Heartbeat)
|
|
92
|
-
|
|
93
|
-
- Verify MEMORY.md preferences are being followed in recent interactions
|
|
94
|
-
- Check if past mistakes are being repeated
|
|
95
|
-
- Remove any MEMORY.md entries that are no longer accurate
|
|
96
|
-
|
|
97
|
-
## Execution Rules
|
|
98
|
-
|
|
99
|
-
- Only run consolidation in main session (not group chats)
|
|
100
|
-
- If nothing needs consolidation, reply SYMIPULSE_OK
|
|
101
|
-
- Keep all updates concise — quality over quantity
|
|
102
|
-
- Archive, don't delete — raw logs may be useful later
|
|
103
|
-
- After consolidation, briefly note what was updated in the daily log
|