@symerian/symi 3.2.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agent-BAizavBj.js → agent-B2IkIBj2.js} +13 -13
- package/dist/{agent-CcMZZWTA.js → agent-BrIHHGnC.js} +4 -4
- package/dist/{agents-eZOTKidZ.js → agents-B57SUSPt.js} +5 -5
- package/dist/{audit-CqpgecVD.js → audit-B58SlbPa.js} +5 -5
- package/dist/{audit-CgO25stB.js → audit-DEXQlMwn.js} +11 -11
- package/dist/{auth-B2ihI_FW.js → auth-DIdzV4_r.js} +1 -1
- package/dist/{auth-choice-DAgO_iWS.js → auth-choice-B6iYCDVN.js} +2 -2
- package/dist/{auth-choice-Blb0tLr-.js → auth-choice-Z1qCZxwg.js} +5 -5
- package/dist/{banner-BkUQ7Jvs.js → banner-QsnCDxXH.js} +1 -1
- package/dist/{browser-cli-CEGXNjxz.js → browser-cli-CcKmOVu4.js} +5 -5
- package/dist/{browser-cli-U3MBFIug.js → browser-cli-_9G3GBJS.js} +3 -3
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +4 -4
- package/dist/{call-Ck5wfJH6.js → call-DLBaLOHo.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-C8HEh0Jh.js → channel-options-Cj-xJAMD.js} +2 -2
- package/dist/{channel-options-HrNuXx3g.js → channel-options-DckWOMWG.js} +1 -1
- package/dist/{channel-selection-BYRDrp1h.js → channel-selection-p35DYzAL.js} +1 -1
- package/dist/{channels-cli-DRXVUZVd.js → channels-cli-CIq4PFA0.js} +59 -59
- package/dist/{channels-cli-DTRTIR0y.js → channels-cli-Y8CGJ_qQ.js} +17 -17
- package/dist/{channels-status-issues-CCl5veUF.js → channels-status-issues-GSsGZvfn.js} +1 -1
- package/dist/{chrome-R_zreHQs.js → chrome-BgQbis3t.js} +7 -7
- package/dist/{chrome-DeANsMHC.js → chrome-DYKZHZ9k.js} +2 -2
- package/dist/{chrome-BSrczqdD.js → chrome-b556dOQ6.js} +9 -9
- package/dist/{chrome-Dpt5h40c.js → chrome-sQI2Ex5S.js} +7 -7
- package/dist/{cli-NVoyNwL_.js → cli--omJsLkl.js} +52 -52
- package/dist/{cli-t18ocz3t.js → cli-iz9sMJ9d.js} +14 -14
- package/dist/{client-3Wn4QAzR.js → client-D8iTVY4F.js} +3 -3
- package/dist/{command-registry-Dq-URnUH.js → command-registry-bozDt85D.js} +11 -11
- package/dist/{commands-DEQrzkzc.js → commands-CHkx0oTl.js} +1 -1
- package/dist/{commands-registry-DN1LiqOB.js → commands-registry-BO62ZyK2.js} +2 -2
- package/dist/{commands-registry-CfoaeBjv.js → commands-registry-CY-QAK3n.js} +3 -3
- package/dist/{completion-cli-DTUgu6s6.js → completion-cli-9qQYFUPk.js} +2 -2
- package/dist/{completion-cli-Ognzzh5u.js → completion-cli-FXkVKM19.js} +1 -1
- package/dist/{config-cli-BhUF3oku.js → config-cli-BexhS7Qb.js} +1 -1
- package/dist/{config-cli-CWhQ62DB.js → config-cli-C3D7beGW.js} +1 -1
- package/dist/{config-guard-C_uscuUh.js → config-guard-I1mvbCOr.js} +1 -1
- package/dist/{configure-DzNIkSm_.js → configure-0e3ty1G9.js} +6 -6
- package/dist/{configure-C4pZmiRa.js → configure-BWXNd2TO.js} +10 -10
- package/dist/{consolidate-Dl8KwVc8.js → consolidate-D1GUJ5qq.js} +1 -1
- package/dist/{control-service-D_yArX3I.js → control-service-BDMq-0pg.js} +3 -3
- package/dist/{control-service-B_cTcCiN.js → control-service-D3BYG-FJ.js} +3 -3
- package/dist/{conversation-label-D9In_j9D.js → conversation-label-CPUfoQmh.js} +1 -1
- package/dist/{conversation-label-ErntvxLV.js → conversation-label-CfwDE1_Q.js} +1 -1
- package/dist/{cron-cli-Baox5Ek2.js → cron-cli-A0c5t2V9.js} +1 -1
- package/dist/{cron-cli-DojoU32-.js → cron-cli-DvDr2Uxo.js} +3 -3
- package/dist/{daemon-cli-DbP7O7HT.js → daemon-cli-CbqjLPV8.js} +3 -3
- package/dist/{daemon-cli-BA_y7Ul0.js → daemon-cli-DiLogoCM.js} +2 -2
- package/dist/{deliver-DmDZ-ctY.js → deliver-B_Gz2_tA.js} +13 -13
- package/dist/{deliver-hSoD8wz7.js → deliver-B_jXI55b.js} +4 -4
- package/dist/{deliver-CspEtj74.js → deliver-CRqS1O8w.js} +5 -5
- package/dist/{devices-cli-DYdWxU06.js → devices-cli-BFPrh5bu.js} +2 -2
- package/dist/{devices-cli-DWZAzDCp.js → devices-cli-BRqbjkNA.js} +1 -1
- package/dist/{diagnostic-ntB3cjZB.js → diagnostic-BevbDWGa.js} +1 -1
- package/dist/{diagnostic-DqlT8R50.js → diagnostic-BvZmqxYI.js} +1 -1
- package/dist/{directory-cli-C0reFcyU.js → directory-cli-rhATy7j5.js} +2 -2
- package/dist/{dm-policy-shared-D65DpO9M.js → dm-policy-shared-CC_pbZzd.js} +2 -2
- package/dist/{dock-CNe0XqQg.js → dock-Cq5LxV1L.js} +1 -1
- package/dist/{docs-cli-wk6KuHiF.js → docs-cli-D2hhvfad.js} +2 -2
- package/dist/{doctor-completion-BRWDuSW_.js → doctor-completion-CcHk8myN.js} +1 -1
- package/dist/{doctor-completion-BMnWLOlk.js → doctor-completion-K1dL1s3P.js} +1 -1
- package/dist/{doctor-config-flow-CIk-HHyn.js → doctor-config-flow-DlX_L8Y-.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{errors-BEU7IHU6.js → errors-C6sHIFo_.js} +1 -1
- package/dist/{errors-D1uOCNHg.js → errors-TVUWuVoP.js} +1 -1
- package/dist/{exec-approvals-DhYCjuCW.js → exec-approvals-B8n8es8o.js} +1 -1
- package/dist/{exec-approvals-cli-CnUE6k76.js → exec-approvals-cli-DxvIsIQi.js} +2 -2
- package/dist/{exec-approvals-cli-Ygr7-96O.js → exec-approvals-cli-SDF4LICf.js} +4 -4
- package/dist/extensionAPI.js +21 -21
- package/dist/{fetch-guard-CwHhFING.js → fetch-guard--i1VgM2O.js} +2 -2
- package/dist/format-relative-Cyq001S7.js +55 -0
- package/dist/{gateway-cli-Td7zBs4m.js → gateway-cli-CAFWFnSX.js} +32 -135
- package/dist/{gateway-cli-wUaprQur.js → gateway-cli-CzD6faIt.js} +78 -181
- package/dist/{gateway-rpc-NAHyafFD.js → gateway-rpc-o8CJkHuM.js} +1 -1
- package/dist/{glass-ui-ws-CxvVsiJq.js → glass-ui-ws-Bbs2mIij.js} +67 -67
- package/dist/{glass-ui-ws-BjkYXSwe.js → glass-ui-ws-Dsez9bGF.js} +24 -24
- package/dist/{health-CIzrf_uX.js → health-CvdEEMPS.js} +14 -33
- package/dist/{health-CNPl11m6.js → health-iJ9JzccO.js} +11 -30
- package/dist/{hooks-cli-Bk8dDCle.js → hooks-cli-BEYoHsqh.js} +15 -15
- package/dist/{hooks-cli-D8MQxNS9.js → hooks-cli-DNlmk6eB.js} +53 -53
- package/dist/{inbound-context-hLZdoPqa.js → inbound-context-BtKMS2C8.js} +2 -2
- package/dist/{inbound-context-oMKUczD-.js → inbound-context-OpYa4EXl.js} +2 -2
- package/dist/index.js +18 -18
- package/dist/{installs-DgzIQM1_.js → installs-D0_bsQwa.js} +1 -1
- package/dist/llm-slug-generator.js +4 -4
- package/dist/{logs-cli-CHRBJi-e.js → logs-cli--Wek899G.js} +3 -3
- package/dist/{manager-DjOT_gPA.js → manager-9Rt8-xIT.js} +6 -6
- package/dist/{manager-D6TMbS9L.js → manager-Bmh-pcUv.js} +1 -1
- package/dist/{manager-CuY92F3I.js → manager-CS1vxold.js} +1 -1
- package/dist/{manager-BYyUh3ad.js → manager-Do0-i7vp.js} +3 -3
- package/dist/{markdown-tables-D5SmTwnx.js → markdown-tables-BtWlyyt1.js} +1 -1
- package/dist/{markdown-tables-Cguh6m77.js → markdown-tables-CCOfinlW.js} +1 -1
- package/dist/{memory-BSbaqEiH.js → memory-BduQaKuC.js} +4 -4
- package/dist/{memory-cli-BR0HDrhc.js → memory-cli-BCz9iNCM.js} +5 -5
- package/dist/{memory-cli-CMfGKcfs.js → memory-cli-LXH0BNmI.js} +2 -2
- package/dist/{memory-D70bi98u.js → memory-ofHIUCzf.js} +2 -2
- package/dist/{model-catalog-DkDIZfHs.js → model-catalog-zuX3pwF5.js} +1 -1
- package/dist/{model-picker-DhjQC0WT.js → model-picker-DCkIP0W7.js} +1 -1
- package/dist/{models-BH8EXme8.js → models-DTHdIg0A.js} +7 -7
- package/dist/{models-cli-LCDfv_g7.js → models-cli-CdL5Tf5E.js} +55 -55
- package/dist/{models-cli-BfqpHV6D.js → models-cli-DrJsggrX.js} +16 -16
- package/dist/{node-cli-BSUx_E8m.js → node-cli-CjA21eC1.js} +17 -17
- package/dist/{node-cli-B8qXf9pn.js → node-cli-Dl-lvH1N.js} +6 -6
- package/dist/{nodes-cli-CVCNx2XE.js → nodes-cli-C9pjIduh.js} +3 -3
- package/dist/{nodes-cli-1Ox4zC7f.js → nodes-cli-DHcCJ6Jo.js} +4 -4
- package/dist/{onboard-DMa4CEAw.js → onboard-3VcPRZV5.js} +6 -6
- package/dist/{onboard-CejQrDu1.js → onboard-Cr1Rd93U.js} +3 -3
- package/dist/{onboard-channels-AEIKTueF.js → onboard-channels-CXqIlUcV.js} +1 -1
- package/dist/{onboard-channels-DMzIMYs2.js → onboard-channels-DmvTuYe_.js} +3 -3
- package/dist/{onboard-custom-BJL976dk.js → onboard-custom-C0GtEEDP.js} +2 -2
- package/dist/{onboard-helpers-BhDEF1N9.js → onboard-helpers-C5J9vSm2.js} +1 -1
- package/dist/{onboard-helpers-B7dgGjmj.js → onboard-helpers-LbRPhqLj.js} +1 -1
- package/dist/{onboard-remote-Nz0oZ9Y1.js → onboard-remote-D3CWFQ0_.js} +1 -1
- package/dist/{onboard-remote-DjtEL91M.js → onboard-remote-DRnsw2VC.js} +1 -1
- package/dist/{onboard-skills-VKqXJgZC.js → onboard-skills-C6FIDEFz.js} +2 -2
- package/dist/{onboard-skills-4w2Z-aN7.js → onboard-skills-CTv0hBJv.js} +1 -1
- package/dist/{onboarding-i6cOoB8w.js → onboarding-Bop5peq2.js} +7 -7
- package/dist/{onboarding-DY2WmtMY.js → onboarding-D_wPq7hv.js} +10 -10
- package/dist/{onboarding.finalize-_5bvtIQq.js → onboarding.finalize-DGwAMlRi.js} +30 -30
- package/dist/{onboarding.finalize-Bg5mQNb8.js → onboarding.finalize-Pa0bEFjp.js} +13 -13
- package/dist/{onboarding.gateway-config-H4bMrlmu.js → onboarding.gateway-config-BT8nU-bQ.js} +6 -6
- package/dist/{onboarding.gateway-config-ByjssyeH.js → onboarding.gateway-config-aIrdqmcQ.js} +3 -3
- package/dist/{openai-model-default-DPRLcgQH.js → openai-model-default-BiSllV8d.js} +1 -1
- package/dist/{outbound-send-deps-BRozM9Qu.js → outbound-send-deps-WKDU2JsO.js} +1 -1
- package/dist/{pairing-cli-CE196_ar.js → pairing-cli-C7HoBU3D.js} +2 -2
- package/dist/{pairing-store-D2taxx-V.js → pairing-store-CtYJcUUv.js} +1 -1
- package/dist/{path-env-BnawVaJZ.js → path-env-DmaMvYrK.js} +1 -1
- package/dist/{paths-FR_Zltu5.js → paths-CsQkeUQ3.js} +1 -1
- package/dist/{pi-embedded-helpers-qwidIQ0-.js → pi-embedded-helpers-DnAXWUyj.js} +3 -3
- package/dist/{pi-embedded-helpers-CBbg0u1B.js → pi-embedded-helpers-VZo1D4Ck.js} +1 -1
- package/dist/{pi-embedded-2uW-V2_B.js → pi-embedded-hri4e4ie.js} +134 -146
- package/dist/{pi-tools.policy-D9pOmEQ-.js → pi-tools.policy-D-WJTlz8.js} +2 -2
- package/dist/{pi-tools.policy-iVo2Y8pC.js → pi-tools.policy-DrRZdkk0.js} +1 -1
- package/dist/{plugin-registry-DesFs-lT.js → plugin-registry-CYEwOWqU.js} +1 -1
- package/dist/{plugin-registry-BTnpe85A.js → plugin-registry-q_UuFncy.js} +1 -1
- package/dist/plugin-sdk/commands/health.d.ts +9 -2
- package/dist/plugin-sdk/cron/service/state.d.ts +0 -19
- package/dist/plugin-sdk/gateway/server-chat.d.ts +4 -2
- package/dist/plugin-sdk/index.js +6 -6
- package/dist/{plugins-CYQsm6Gy.js → plugins-Bq-Msc8Z.js} +1 -1
- package/dist/{plugins-B7WCtuxh.js → plugins-Cp39v6b_.js} +1 -1
- package/dist/{plugins-cli-CDzxsvz1.js → plugins-cli-CR1PAkGv.js} +15 -15
- package/dist/{plugins-cli--tOOkoDQ.js → plugins-cli-DE_0PdqM.js} +56 -56
- package/dist/{ports-l6UxKpOs.js → ports-BAzQoIw0.js} +1 -1
- package/dist/{ports-zGrc4d1W.js → ports-Cv4kt1bT.js} +1 -1
- package/dist/{program-context-BY8NYfiK.js → program-context-CvgJOZ3Q.js} +30 -30
- package/dist/{program-BZhol11z.js → program-x8XxEZXE.js} +60 -60
- package/dist/{prompt-select-styled-B2aJWja2.js → prompt-select-styled-BFV2QYJC.js} +17 -17
- package/dist/{prompt-select-styled-C3nimTHU.js → prompt-select-styled-CFeLUnsr.js} +9 -9
- package/dist/{provider-auth-helpers-Bj1nZPu8.js → provider-auth-helpers-C-Cv3SZA.js} +1 -1
- package/dist/{provider-auth-helpers-CH6VuvFG.js → provider-auth-helpers-D2GLBV7U.js} +1 -1
- package/dist/{push-apns-CeHCKJbK.js → push-apns-9XQgEWxs.js} +2 -2
- package/dist/{push-apns-CtKaAgsq.js → push-apns-DTqLWoEj.js} +1 -1
- package/dist/{pw-ai-ClV-zlpc.js → pw-ai-BFZrohva.js} +5 -5
- package/dist/{pw-ai-CJKI3qHq.js → pw-ai-Bb4P23-n.js} +1 -1
- package/dist/{pw-ai-rXNKcFeh.js → pw-ai-Cnc8PGzN.js} +5 -5
- package/dist/{pw-ai-DPc3vKQE.js → pw-ai-D5WlMgqy.js} +1 -1
- package/dist/{qmd-manager-DI6Vda-c.js → qmd-manager-94nTSYk_.js} +2 -2
- package/dist/{qmd-manager-M1vvSTXY.js → qmd-manager-DKAr0zp6.js} +4 -4
- package/dist/{redact-identifier-CfInlG0d.js → redact-identifier-gZfj5mH2.js} +3 -3
- package/dist/{register.agent-nDeqoEBI.js → register.agent-C-p6kDhf.js} +19 -19
- package/dist/{register.agent-CHXxDzgP.js → register.agent-D9FfFyh0.js} +63 -63
- package/dist/{register.configure-CLzf9xIS.js → register.configure-CtbO9t7v.js} +66 -66
- package/dist/{register.configure-Cz88IOI3.js → register.configure-D69HXLo4.js} +22 -22
- package/dist/{register.maintenance-BmefpzAo.js → register.maintenance-Dy8l8hKt.js} +22 -22
- package/dist/{register.maintenance-BlwrUHuN.js → register.maintenance-h-CVvMpP.js} +64 -64
- package/dist/{register.message-381Gzih6.js → register.message-CaOagrcp.js} +15 -15
- package/dist/{register.message-CNVSGcGw.js → register.message-DFytf1Dr.js} +54 -54
- package/dist/{register.onboard-BrP6ecWc.js → register.onboard-BAQSWmTB.js} +15 -15
- package/dist/{register.onboard-BRGrlQ6x.js → register.onboard-SunldfQB.js} +6 -6
- package/dist/{register.setup-T-EUrPCt.js → register.setup-BnuPTj2h.js} +15 -15
- package/dist/{register.setup-CGrdvPa6.js → register.setup-D3uuohUQ.js} +6 -6
- package/dist/{register.status-health-sessions-CoGgKqEf.js → register.status-health-sessions-CPcQpUNU.js} +15 -15
- package/dist/{register.status-health-sessions-Bx_iO3kS.js → register.status-health-sessions-azKiEST-.js} +37 -37
- package/dist/{register.subclis-qyJoKa4o.js → register.subclis-Di2DRNVF.js} +21 -21
- package/dist/{replies-OFj_EOj5.js → replies-CgVOirGF.js} +3 -3
- package/dist/{replies-DSI8-9wG.js → replies-pnMj7AtP.js} +5 -5
- package/dist/{resolve-route-B9mYSvxa.js → resolve-route-BoF_Jubb.js} +1 -1
- package/dist/{resolve-route-CIfYQ5xq.js → resolve-route-D0TboSMz.js} +1 -1
- package/dist/{routes-NdLw86IB.js → routes-BFfAPz_0.js} +2 -2
- package/dist/{routes-CAawDNn6.js → routes-MX2zYTZX.js} +5 -5
- package/dist/{rpc-CDODOtj5.js → rpc-CQUsmQ6_.js} +1 -1
- package/dist/{run-main-BHMJnAMQ.js → run-main-BhJ6M7oy.js} +70 -70
- package/dist/{sandbox-CNDuaUiX.js → sandbox-DzRvFxeE.js} +4 -4
- package/dist/{sandbox-cli-BlHtlDaZ.js → sandbox-cli-Dyh_eqHp.js} +4 -4
- package/dist/{sandbox-cli-Cz20gLjw.js → sandbox-cli-WYHWWki_.js} +18 -18
- package/dist/{sandbox-CTHB6H4C.js → sandbox-sayuve7z.js} +3 -3
- package/dist/{security-cli-DylPM6Ig.js → security-cli-B5XGCe-n.js} +8 -8
- package/dist/{security-cli-MDg9FjM6.js → security-cli-qZaxHyoZ.js} +24 -24
- package/dist/{send-mIYdlk2s.js → send-CLJ2KPVT.js} +7 -7
- package/dist/{server-context-rB9SYwsp.js → server-context-CCPE_W8C.js} +8 -8
- package/dist/{server-context-k4u5vRZi.js → server-context-hxl_K7eY.js} +4 -4
- package/dist/{server-methods-ghMYekWt.js → server-methods-3uA_KwN4.js} +42 -110
- package/dist/{server-methods-CdvcMCRG.js → server-methods-MUFuMWc_.js} +29 -97
- package/dist/{server-node-events-BNSYLnuV.js → server-node-events-DkbyHj1T.js} +55 -56
- package/dist/{server-node-events-BVkXlMva.js → server-node-events-FUPulMjB.js} +16 -17
- package/dist/{session-cost-usage-CfsM7H0Q.js → session-cost-usage-Cj3vd7lZ.js} +2 -2
- package/dist/{session-utils-C0bflN4H.js → session-utils-i74hYiQl.js} +3 -3
- package/dist/{sessions-BPopgS75.js → sessions-7jk0D1BI.js} +7 -7
- package/dist/{sessions-CYQHaOxG.js → sessions-CC1W02Uv.js} +4 -4
- package/dist/{skill-commands-z0KmSE3J.js → skill-commands-CEY0MdSm.js} +2 -2
- package/dist/{skill-commands-DeC3iib8.js → skill-commands-DzodvMO3.js} +1 -1
- package/dist/{skill-scanner-B8r_rZEC.js → skill-scanner-DkITukAS.js} +1 -1
- package/dist/{skills-install-ClrjL0Ky.js → skills-install-BMhIk6vI.js} +3 -3
- package/dist/{skills-DfN7C42D.js → skills-xmXjOnAV.js} +1 -1
- package/dist/{sqlite-Byzf46k1.js → sqlite-jFnvSfLz.js} +1 -1
- package/dist/{sqlite-BbZDaxh_.js → sqlite-l3CZYU6t.js} +3 -3
- package/dist/{ssrf-_EUCeS6M.js → ssrf-BJZIZ4yo.js} +1 -1
- package/dist/{status-CA91ksCO.js → status-B-XD80Yl.js} +15 -32
- package/dist/{status-DiACHWF5.js → status-BNH-f3PA.js} +1 -1
- package/dist/{status-Di-HVgWZ.js → status-C7F7r-qN.js} +23 -40
- package/dist/{status-Cb3Z8-6G.js → status-CCgqMBwp.js} +1 -1
- package/dist/{status.update-CWfIVmkl.js → status.update-B9WCVHPy.js} +1 -1
- package/dist/{status.update-CvLaHuo8.js → status.update-CN2XgChL.js} +1 -1
- package/dist/{subagent-registry-DBEoimsW.js → subagent-registry-z08a8MUS.js} +158 -170
- package/dist/{synthesis-CUkTal9I.js → synthesis-ByjLMHMS.js} +21 -21
- package/dist/{synthesis-BN721xB_.js → synthesis-CjFmYp54.js} +14 -14
- package/dist/{synthesis-Bns-7weZ.js → synthesis-D4iCZvKx.js} +52 -52
- package/dist/{synthesis-DUSKxRis.js → synthesis-Dlweuq0p.js} +4 -4
- package/dist/{system-cli-BmxEcLwZ.js → system-cli-Ccu9utFt.js} +3 -3
- package/dist/{thinking-BOmbt-UE.js → thinking-BKsvyjWX.js} +1 -1
- package/dist/{local-roots-_IZuPEVo.js → tokens-CGqnWNmv.js} +14 -14
- package/dist/{tool-display-DEnDm47O.js → tool-display-wSdT0Ynz.js} +1 -1
- package/dist/{tui-CTTzBqcG.js → tui-DqMRn1zF.js} +3 -3
- package/dist/{tui-DsWy0Fh9.js → tui-JznxMYj0.js} +6 -6
- package/dist/{tui-cli-DFXREWDD.js → tui-cli-Cc_TS4LH.js} +24 -24
- package/dist/{tui-cli-CDwT7lxE.js → tui-cli-sRKxOjmC.js} +8 -8
- package/dist/{unified-runner-DjK_xANW.js → unified-runner-CBVGL54b.js} +13 -25
- package/dist/{unified-runner-CDyedWS-.js → unified-runner-Uyw1gZOm.js} +16 -28
- package/dist/{update-DwUiNQcY.js → update-JtKX2Yl3.js} +1 -1
- package/dist/{update-check-D-VbogcH.js → update-check-C1JNxsic.js} +1 -1
- package/dist/{update-cli-DHiMZjnT.js → update-cli-BbtFbkK5.js} +24 -24
- package/dist/{update-cli-4gg0S9NF.js → update-cli-CH7SLjSd.js} +69 -69
- package/dist/{update-runner-Bhpg9A9O.js → update-runner-B0L2a2rW.js} +1 -1
- package/dist/{update-runner-B4AuR2P1.js → update-runner-BGhhL2R8.js} +2 -2
- package/dist/{with-timeout-BxFWn7qW.js → with-timeout-BsavN1IH.js} +1 -1
- package/dist/{with-timeout-4X39bfAZ.js → with-timeout-Bxn0qVBQ.js} +1 -1
- package/package.json +1 -1
- package/dist/plugin-sdk/infra/heartbeat-runner.d.ts +0 -38
- package/dist/plugin-sdk/infra/heartbeat-visibility.d.ts +0 -12
- package/dist/plugin-sdk/infra/heartbeat-wake.d.ts +0 -25
- /package/dist/{brew-ChhP5U7g.js → brew-B5ek79r9.js} +0 -0
- /package/dist/{chat-type-Coeec2xt.js → chat-type-BYHUZIi_.js} +0 -0
- /package/dist/{chat-type-DedJJ5qX.js → chat-type-C_KiWNAH.js} +0 -0
- /package/dist/{chunk-Dsb1i5-M.js → chunk-BjnT3w_x.js} +0 -0
- /package/dist/{chunk-DSZSgT0v.js → chunk-BySyfaEr.js} +0 -0
- /package/dist/{diagnostic-session-state-CXCbqRxw.js → diagnostic-session-state-CWtaDOiK.js} +0 -0
- /package/dist/{diagnostic-session-state-C9jKr8qI.js → diagnostic-session-state-Zw87xFym.js} +0 -0
- /package/dist/{fetch-timeout-BL0dTnkh.js → fetch-timeout-PV2_ySyb.js} +0 -0
- /package/dist/{fs-safe-DWwr539k.js → fs-safe-DzJT_iD4.js} +0 -0
- /package/dist/{image-ops-BnrOBRvo.js → image-ops-CZPSKxgE.js} +0 -0
- /package/dist/{internal-JPGteS8Q.js → internal-BuBDa4KX.js} +0 -0
- /package/dist/{local-roots-B5gzKk2b.js → local-roots-CkcUju_2.js} +0 -0
- /package/dist/{manifest-registry-Cb-8fZPE.js → manifest-registry-BV_2TbGz.js} +0 -0
- /package/dist/{models-config-BtqIc3fj.js → models-config-BfmuswQ_.js} +0 -0
- /package/dist/{paths-DftOuF96.js → paths-CNexk5_o.js} +0 -0
- /package/dist/{redact-Dx6iZvON.js → redact-KvsGzUFH.js} +0 -0
- /package/dist/{redact-DSOAcWMe.js → redact-ojHFHOAb.js} +0 -0
- /package/dist/{reply-prefix-BRb0MDfZ.js → reply-prefix-CRdCnS44.js} +0 -0
- /package/dist/{shell-argv-osL1ekUp.js → shell-argv-N_ZB4iHX.js} +0 -0
- /package/dist/{ssrf-HJ6PoEEw.js → ssrf-jKt8PSDl.js} +0 -0
- /package/dist/{tailscale-BDyCAsla.js → tailscale-BsA0YClX.js} +0 -0
- /package/dist/{thinking-C72VJ9y9.js → thinking-BDh5LPh-.js} +0 -0
- /package/dist/{tokens-CjSCsuyC.js → tokens-DJQ4rO24.js} +0 -0
- /package/dist/{transcript-events-DhcCZGEX.js → transcript-events-C1GkbPky.js} +0 -0
- /package/dist/{transcript-tools-cLCK4A-E.js → transcript-tools-Cxxsyxgt.js} +0 -0
- /package/dist/{trash-GNdXK_zw.js → trash-CF1G530Y.js} +0 -0
- /package/dist/{update-check-DFfE95SZ.js → update-check-CC111uwU.js} +0 -0
|
@@ -7,32 +7,32 @@ import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as cre
|
|
|
7
7
|
import { $ as resolveCliName, B as resolveApiKeyForProfile, C as requireApiKey, D as getShellPathFromLoginShell, E as resolveModelAuthMode, F as resolveAuthProfileOrder, G as resolveAuthStorePathForDisplay, H as listProfilesForProvider, I as getSoonestCooldownExpiry, K as resolveSymiAgentDir, L as isProfileInCooldown, M as isTruthyEnvValue, N as parseBooleanValue, Q as formatCliCommand, R as markAuthProfileFailure, S as getCustomProviderApiKey, T as resolveEnvApiKey, U as markAuthProfileGood, V as dedupeProfileIds, W as ensureAuthProfileStore, Z as normalizeSecretInput, _ as resolveImplicitCopilotProvider, a as modelKey, b as createOllamaStreamFn, d as resolveModelRefFromString, et as resolveAuthProfileDisplayLabel, f as resolveSubagentSpawnModelSelection, g as resolveImplicitBedrockProvider, h as normalizeProviders, i as findNormalizedProviderValue, k as resolveShellEnvFallbackTimeoutMs, l as resolveConfiguredModelRef, m as normalizeGoogleModelId, n as buildConfiguredAllowlistKeys, nt as DEFAULT_MODEL, o as normalizeModelRef$1, p as resolveThinkingDefault, q as withFileLock$1, r as buildModelAliasIndex, rt as DEFAULT_PROVIDER, s as normalizeProviderId, t as buildAllowedModelSet, tt as DEFAULT_CONTEXT_TOKENS, u as resolveDefaultModelForAgent, v as resolveImplicitProviders, w as resolveApiKeyForProvider, x as getApiKeyForModel, y as OLLAMA_NATIVE_BASE_URL, z as markAuthProfileUsed } from "./model-selection-BE83O-pv.js";
|
|
8
8
|
import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BqgLflxO.js";
|
|
9
9
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-BbsJ0Qbo.js";
|
|
10
|
-
import {
|
|
11
|
-
import { t as
|
|
12
|
-
import { i as
|
|
13
|
-
import { S as
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { S as
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import { n as
|
|
23
|
-
import { n as
|
|
24
|
-
import { _ as normalizeHyphenSlug, a as normalizeReasoningLevel, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as normalizeAtHashSlug, h as resolveChannelGroupToolsPolicy, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupRequireMention, n as formatXHighModelHint, o as normalizeThinkLevel, p as resolveChannelGroupPolicy, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeStringEntries, y as normalizeStringEntriesLower } from "./thinking-
|
|
25
|
-
import { n as resolveConversationLabel } from "./conversation-label-
|
|
10
|
+
import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
|
|
11
|
+
import { i as resolveSlackAccount, n as listChannelPlugins, o as resolveSlackAppToken, r as normalizeChannelId$1, s as resolveSlackBotToken, t as getChannelPlugin } from "./plugins-Cp39v6b_.js";
|
|
12
|
+
import { S as resolveSlackChannelId, _ as resolveSlackWebClientOptions, a as sendMessageSlack, b as buildSlackBlocksFallbackText, c as getDefaultLocalRoots, d as fetchRemoteMedia, f as readResponseWithLimit, g as createSlackWebClient, h as fetchWithTimeout, i as resolveSlackThreadTs, l as loadWebMedia, m as bindAbortRelay, n as deliverReplies, o as renderMarkdownWithMarkers, p as fetchWithSsrFGuard, s as markdownToIRWithMeta, t as createSlackReplyDeliveryPlan, u as MediaFetchError, v as parseSlackBlocksInput, x as parseSlackTarget, y as validateSlackBlocksArray } from "./replies-pnMj7AtP.js";
|
|
13
|
+
import { $ as loadSessionStore, $t as resolveToolProfilePolicy, A as formatRawAssistantErrorForUi, At as resolveMainSessionKey, B as isRateLimitAssistantError, Bt as saveMediaBuffer, C as downgradeOpenAIReasoningBlocks, Ct as resolveChannelResetConfig, D as classifyFailoverReason, Dt as DEFAULT_RESET_TRIGGERS, E as BILLING_ERROR_USER_MESSAGE, Et as resolveThreadFlag, F as isCompactionFailureError, Ft as createBrowserRouteContext, G as parseImageSizeError, Gt as resolveBrowserControlAuth, H as isTimeoutErrorMessage, Ht as resolveExistingPathsWithinRoot, I as isContextOverflowError, It as registerBrowserRoutes, J as resolveSandboxContext, Jt as collectExplicitAllowlist, K as sanitizeUserFacingText, Kt as applyOwnerOnlyToolPolicy, L as isFailoverAssistantError, Lt as resolveBrowserConfig, M as isAuthAssistantError, Mt as resolveGroupSessionKey, N as isBillingAssistantError, Nt as acquireSessionWriteLock, O as formatAssistantErrorText, Ot as resolveFreshSessionTotalTokens, P as isCloudCodeAssistFormatError, Pt as resolveSessionLockMaxHoldFromTimeout, Q as resolveAndPersistSessionFile, Qt as normalizeToolName$1, R as isFailoverErrorMessage, Rt as resolveProfile, S as extractToolResultId, St as evaluateSessionFreshness, T as isGoogleModelApi, Tt as resolveSessionResetType, U as isTransientHttpError, Ut as getBridgeAuthForPort, V as isRawApiErrorPayload, Vt as DEFAULT_UPLOAD_DIR, W as parseImageDimensionError, Wt as ensureBrowserControlAuth, X as extractDeliveryInfo, Xt as expandToolGroups, Y as resolveSandboxRuntimeStatus, Yt as expandPolicyWithPluginGroups, Z as appendAssistantMessageToSessionTranscript, Zt as mergeAlsoAllowPolicy, _ as sanitizeSessionMessagesImages, _t as INPUT_PROVENANCE_KIND_VALUES, a as normalizeChannelTargetInput, an as resolveBootstrapMaxChars, at as updateSessionStoreEntry, b as resolveImageSanitizationLimits, bt as normalizeInputProvenance, c as parseReplyDirectives, cn as getGlobalHookRunner, ct as deliveryContextFromSession, d as parseInlineDirectives$1, dt as normalizeDeliveryContext, en as stripPluginOnlyAllowlist, et as readSessionUpdatedAt, f as validateAnthropicTurns, ft as normalizeSessionDeliveryFields, g as normalizeTextForComparison, gt as extractToolCallNames, h as isMessagingToolDuplicateNormalized, ht as countToolResults, i as buildTargetResolverSignature, in as ensureSessionHeader, it as updateSessionStore, j as getApiErrorPayloadFingerprint, jt as deriveSessionMetaPatch, k as formatBillingErrorMessage, kt as canonicalizeMainSessionAlias, l as MEDIA_TOKEN_RE, ln as initializeGlobalHookRunner, lt as deliveryContextKey, m as pickFallbackThinkingLevel, mt as capArrayByJsonBytes, nn as matchesAnyGlobPattern, o as normalizeTargetForProvider, on as resolveBootstrapTotalMaxChars, ot as isCacheEnabled, p as validateGeminiTurns, pt as archiveSessionTranscripts, q as ensureSandboxWorkspaceForSession, qt as buildPluginToolGroups, r as normalizeReplyPayloadsForDelivery, rn as buildBootstrapContextFiles, rt as updateLastRoute, s as throwIfAborted, sn as sanitizeGoogleTurnOrdering, st as resolveCacheTtlMs$1, t as deliverOutboundPayloads, tn as compileGlobPatterns, tt as recordSessionMetaFromInbound, u as splitMediaFromOutput, ut as mergeDeliveryContext, v as sanitizeImageBlocks, vt as applyInputProvenanceToUserMessage, w as isAntigravityClaude, wt as resolveSessionResetPolicy, x as extractToolCallsFromAssistant, xt as resolveSessionKey, y as sanitizeToolResultImages, yt as hasInterSessionUserProvenance, z as isLikelyContextOverflowError, zt as getMediaDir } from "./deliver-B_Gz2_tA.js";
|
|
14
|
+
import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-BvZmqxYI.js";
|
|
15
|
+
import { n as getDiagnosticSessionState } from "./diagnostic-session-state-CWtaDOiK.js";
|
|
16
|
+
import { S as GATEWAY_CLIENT_NAMES, _ as listDeliverableMessageChannels, a as chunkText, b as GATEWAY_CLIENT_IDS, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, g as isMarkdownCapableMessageChannel, h as isInternalMessageChannel, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, m as isDeliverableMessageChannel, o as chunkTextWithMode, p as INTERNAL_MESSAGE_CHANNEL, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt, v as normalizeMessageChannel, x as GATEWAY_CLIENT_MODES, y as resolveGatewayMessageChannel } from "./chunk-BjnT3w_x.js";
|
|
17
|
+
import { C as unsetConfigValueAtPath, S as setConfigValueAtPath, T as VERSION, _ as resetConfigOverrides, b as getConfigValueAtPath, c as loadConfig, d as writeConfigFile, f as validateConfigObjectWithPlugins, g as getConfigOverrides, h as validateJsonSchemaValue, i as isBlockedHostnameOrIp, l as readConfigFileSnapshot, m as parseDurationMs, o as normalizeHostname, t as SsrFBlockedError, u as resolveConfigSnapshotHash, v as setConfigOverride, w as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, x as parseConfigPath, y as unsetConfigOverride } from "./ssrf-BJZIZ4yo.js";
|
|
18
|
+
import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-BV_2TbGz.js";
|
|
19
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-b556dOQ6.js";
|
|
20
|
+
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, h as parseFrontmatterBlock, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-xmXjOnAV.js";
|
|
21
|
+
import { n as redactToolDetail } from "./redact-ojHFHOAb.js";
|
|
22
|
+
import { n as formatErrorMessage } from "./errors-C6sHIFo_.js";
|
|
23
|
+
import { C as mediaKindFromMime, _ as imageMimeFromFormat, b as normalizeMimeType$1, g as getFileExtension, h as extensionForMime, i as isSilentReplyText, m as detectMime, n as SILENT_REPLY_TOKEN, o as getDefaultMediaLocalRoots, p as resizeToJpeg, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN, u as getImageMetadata, v as isAudioFileName, x as MAX_IMAGE_BYTES, y as kindFromMime } from "./tokens-CGqnWNmv.js";
|
|
24
|
+
import { _ as normalizeHyphenSlug, a as normalizeReasoningLevel, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as normalizeAtHashSlug, h as resolveChannelGroupToolsPolicy, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupRequireMention, n as formatXHighModelHint, o as normalizeThinkLevel, p as resolveChannelGroupPolicy, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeStringEntries, y as normalizeStringEntriesLower } from "./thinking-BKsvyjWX.js";
|
|
25
|
+
import { n as resolveConversationLabel } from "./conversation-label-CPUfoQmh.js";
|
|
26
26
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-N698mtPE.js";
|
|
27
27
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-fUhPZcB5.js";
|
|
28
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-
|
|
28
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-Do0-i7vp.js";
|
|
29
29
|
import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-DWs9CjHs.js";
|
|
30
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
31
|
-
import { a as shouldHandleTextCommands, c as resolveNativeCommandsEnabled, i as normalizeCommandBody, l as resolveNativeSkillsEnabled, n as listChatCommands, o as isCommandFlagEnabled, r as listChatCommandsForConfig, s as isRestartEnabled } from "./commands-registry-
|
|
32
|
-
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile$1, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-
|
|
33
|
-
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-
|
|
30
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-BtWlyyt1.js";
|
|
31
|
+
import { a as shouldHandleTextCommands, c as resolveNativeCommandsEnabled, i as normalizeCommandBody, l as resolveNativeSkillsEnabled, n as listChatCommands, o as isCommandFlagEnabled, r as listChatCommandsForConfig, s as isRestartEnabled } from "./commands-registry-BO62ZyK2.js";
|
|
32
|
+
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile$1, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-CEY0MdSm.js";
|
|
33
|
+
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-OpYa4EXl.js";
|
|
34
34
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DZDhVxut.js";
|
|
35
|
-
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-
|
|
35
|
+
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-D0TboSMz.js";
|
|
36
36
|
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-BXOVPAoA.js";
|
|
37
37
|
import { createRequire } from "node:module";
|
|
38
38
|
import * as path$1 from "node:path";
|
|
@@ -49,7 +49,7 @@ import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUI
|
|
|
49
49
|
import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
|
|
50
50
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
51
51
|
import AjvPkg from "ajv";
|
|
52
|
-
import { WebSocket
|
|
52
|
+
import { WebSocket } from "ws";
|
|
53
53
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
54
54
|
import { createJiti } from "jiti";
|
|
55
55
|
import { Type } from "@sinclair/typebox";
|
|
@@ -59,101 +59,6 @@ import { spinner } from "@clack/prompts";
|
|
|
59
59
|
import { createOscProgressController, supportsOscProgress } from "osc-progress";
|
|
60
60
|
import SlackBolt from "@slack/bolt";
|
|
61
61
|
|
|
62
|
-
//#region src/auto-reply/heartbeat.ts
|
|
63
|
-
const HEARTBEAT_PROMPT = "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.";
|
|
64
|
-
const DEFAULT_HEARTBEAT_ACK_MAX_CHARS = 300;
|
|
65
|
-
function resolveHeartbeatPrompt(raw) {
|
|
66
|
-
return (typeof raw === "string" ? raw.trim() : "") || HEARTBEAT_PROMPT;
|
|
67
|
-
}
|
|
68
|
-
function stripTokenAtEdges(raw) {
|
|
69
|
-
let text = raw.trim();
|
|
70
|
-
if (!text) return {
|
|
71
|
-
text: "",
|
|
72
|
-
didStrip: false
|
|
73
|
-
};
|
|
74
|
-
const token = SYMIPULSE_TOKEN;
|
|
75
|
-
const tokenAtEndWithOptionalTrailingPunctuation = new RegExp(`${escapeRegExp(token)}[^\\w]{0,4}$`);
|
|
76
|
-
if (!text.includes(token)) return {
|
|
77
|
-
text,
|
|
78
|
-
didStrip: false
|
|
79
|
-
};
|
|
80
|
-
let didStrip = false;
|
|
81
|
-
let changed = true;
|
|
82
|
-
while (changed) {
|
|
83
|
-
changed = false;
|
|
84
|
-
const next = text.trim();
|
|
85
|
-
if (next.startsWith(token)) {
|
|
86
|
-
text = next.slice(token.length).trimStart();
|
|
87
|
-
didStrip = true;
|
|
88
|
-
changed = true;
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
if (tokenAtEndWithOptionalTrailingPunctuation.test(next)) {
|
|
92
|
-
const idx = next.lastIndexOf(token);
|
|
93
|
-
const before = next.slice(0, idx).trimEnd();
|
|
94
|
-
if (!before) text = "";
|
|
95
|
-
else text = `${before}${next.slice(idx + token.length).trimStart()}`.trimEnd();
|
|
96
|
-
didStrip = true;
|
|
97
|
-
changed = true;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return {
|
|
101
|
-
text: text.replace(/\s+/g, " ").trim(),
|
|
102
|
-
didStrip
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
function stripHeartbeatToken(raw, opts = {}) {
|
|
106
|
-
if (!raw) return {
|
|
107
|
-
shouldSkip: true,
|
|
108
|
-
text: "",
|
|
109
|
-
didStrip: false
|
|
110
|
-
};
|
|
111
|
-
const trimmed = raw.trim();
|
|
112
|
-
if (!trimmed) return {
|
|
113
|
-
shouldSkip: true,
|
|
114
|
-
text: "",
|
|
115
|
-
didStrip: false
|
|
116
|
-
};
|
|
117
|
-
const mode = opts.mode ?? "message";
|
|
118
|
-
const maxAckCharsRaw = opts.maxAckChars;
|
|
119
|
-
const parsedAckChars = typeof maxAckCharsRaw === "string" ? Number(maxAckCharsRaw) : maxAckCharsRaw;
|
|
120
|
-
const maxAckChars = Math.max(0, typeof parsedAckChars === "number" && Number.isFinite(parsedAckChars) ? parsedAckChars : DEFAULT_HEARTBEAT_ACK_MAX_CHARS);
|
|
121
|
-
const stripMarkup = (text) => text.replace(/<[^>]*>/g, " ").replace(/ /gi, " ").replace(/^[*`~_]+/, "").replace(/[*`~_]+$/, "");
|
|
122
|
-
const trimmedNormalized = stripMarkup(trimmed);
|
|
123
|
-
if (!(trimmed.includes(SYMIPULSE_TOKEN) || trimmedNormalized.includes(SYMIPULSE_TOKEN))) return {
|
|
124
|
-
shouldSkip: false,
|
|
125
|
-
text: trimmed,
|
|
126
|
-
didStrip: false
|
|
127
|
-
};
|
|
128
|
-
const strippedOriginal = stripTokenAtEdges(trimmed);
|
|
129
|
-
const strippedNormalized = stripTokenAtEdges(trimmedNormalized);
|
|
130
|
-
const picked = strippedOriginal.didStrip && strippedOriginal.text ? strippedOriginal : strippedNormalized;
|
|
131
|
-
if (!picked.didStrip) return {
|
|
132
|
-
shouldSkip: false,
|
|
133
|
-
text: trimmed,
|
|
134
|
-
didStrip: false
|
|
135
|
-
};
|
|
136
|
-
if (!picked.text) return {
|
|
137
|
-
shouldSkip: true,
|
|
138
|
-
text: "",
|
|
139
|
-
didStrip: true
|
|
140
|
-
};
|
|
141
|
-
const rest = picked.text.trim();
|
|
142
|
-
if (mode === "heartbeat") {
|
|
143
|
-
if (rest.length <= maxAckChars) return {
|
|
144
|
-
shouldSkip: true,
|
|
145
|
-
text: "",
|
|
146
|
-
didStrip: true
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
return {
|
|
150
|
-
shouldSkip: false,
|
|
151
|
-
text: rest,
|
|
152
|
-
didStrip: true
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
//#endregion
|
|
157
62
|
//#region src/channels/channel-config.ts
|
|
158
63
|
function applyChannelMatchMeta(result, match) {
|
|
159
64
|
if (match.matchKey && match.matchSource) {
|
|
@@ -1111,7 +1016,7 @@ async function getMemorySearchManager(params) {
|
|
|
1111
1016
|
if (cached) return { manager: cached };
|
|
1112
1017
|
}
|
|
1113
1018
|
try {
|
|
1114
|
-
const { QmdMemoryManager } = await import("./qmd-manager-
|
|
1019
|
+
const { QmdMemoryManager } = await import("./qmd-manager-94nTSYk_.js");
|
|
1115
1020
|
const primary = await QmdMemoryManager.create({
|
|
1116
1021
|
cfg: params.cfg,
|
|
1117
1022
|
agentId: params.agentId,
|
|
@@ -1123,7 +1028,7 @@ async function getMemorySearchManager(params) {
|
|
|
1123
1028
|
const wrapper = new FallbackMemoryManager({
|
|
1124
1029
|
primary,
|
|
1125
1030
|
fallbackFactory: async () => {
|
|
1126
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
1031
|
+
const { MemoryIndexManager } = await import("./manager-Do0-i7vp.js").then((n) => n.t);
|
|
1127
1032
|
return await MemoryIndexManager.get(params);
|
|
1128
1033
|
}
|
|
1129
1034
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -1136,7 +1041,7 @@ async function getMemorySearchManager(params) {
|
|
|
1136
1041
|
}
|
|
1137
1042
|
}
|
|
1138
1043
|
try {
|
|
1139
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
1044
|
+
const { MemoryIndexManager } = await import("./manager-Do0-i7vp.js").then((n) => n.t);
|
|
1140
1045
|
return { manager: await MemoryIndexManager.get(params) };
|
|
1141
1046
|
} catch (err) {
|
|
1142
1047
|
return {
|
|
@@ -3652,7 +3557,7 @@ var GatewayClient = class {
|
|
|
3652
3557
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
3653
3558
|
});
|
|
3654
3559
|
}
|
|
3655
|
-
this.ws = new WebSocket
|
|
3560
|
+
this.ws = new WebSocket(url, wsOptions);
|
|
3656
3561
|
this.ws.on("open", () => {
|
|
3657
3562
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
3658
3563
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -3871,7 +3776,7 @@ var GatewayClient = class {
|
|
|
3871
3776
|
return null;
|
|
3872
3777
|
}
|
|
3873
3778
|
async request(method, params, opts) {
|
|
3874
|
-
if (!this.ws || this.ws.readyState !== WebSocket
|
|
3779
|
+
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
3875
3780
|
const id = randomUUID();
|
|
3876
3781
|
const frame = {
|
|
3877
3782
|
type: "req",
|
|
@@ -4735,6 +4640,97 @@ function clearSessionQueues(keys) {
|
|
|
4735
4640
|
};
|
|
4736
4641
|
}
|
|
4737
4642
|
|
|
4643
|
+
//#endregion
|
|
4644
|
+
//#region src/auto-reply/heartbeat.ts
|
|
4645
|
+
const DEFAULT_HEARTBEAT_ACK_MAX_CHARS = 300;
|
|
4646
|
+
function stripTokenAtEdges(raw) {
|
|
4647
|
+
let text = raw.trim();
|
|
4648
|
+
if (!text) return {
|
|
4649
|
+
text: "",
|
|
4650
|
+
didStrip: false
|
|
4651
|
+
};
|
|
4652
|
+
const token = SYMIPULSE_TOKEN;
|
|
4653
|
+
const tokenAtEndWithOptionalTrailingPunctuation = new RegExp(`${escapeRegExp(token)}[^\\w]{0,4}$`);
|
|
4654
|
+
if (!text.includes(token)) return {
|
|
4655
|
+
text,
|
|
4656
|
+
didStrip: false
|
|
4657
|
+
};
|
|
4658
|
+
let didStrip = false;
|
|
4659
|
+
let changed = true;
|
|
4660
|
+
while (changed) {
|
|
4661
|
+
changed = false;
|
|
4662
|
+
const next = text.trim();
|
|
4663
|
+
if (next.startsWith(token)) {
|
|
4664
|
+
text = next.slice(token.length).trimStart();
|
|
4665
|
+
didStrip = true;
|
|
4666
|
+
changed = true;
|
|
4667
|
+
continue;
|
|
4668
|
+
}
|
|
4669
|
+
if (tokenAtEndWithOptionalTrailingPunctuation.test(next)) {
|
|
4670
|
+
const idx = next.lastIndexOf(token);
|
|
4671
|
+
const before = next.slice(0, idx).trimEnd();
|
|
4672
|
+
if (!before) text = "";
|
|
4673
|
+
else text = `${before}${next.slice(idx + token.length).trimStart()}`.trimEnd();
|
|
4674
|
+
didStrip = true;
|
|
4675
|
+
changed = true;
|
|
4676
|
+
}
|
|
4677
|
+
}
|
|
4678
|
+
return {
|
|
4679
|
+
text: text.replace(/\s+/g, " ").trim(),
|
|
4680
|
+
didStrip
|
|
4681
|
+
};
|
|
4682
|
+
}
|
|
4683
|
+
function stripHeartbeatToken(raw, opts = {}) {
|
|
4684
|
+
if (!raw) return {
|
|
4685
|
+
shouldSkip: true,
|
|
4686
|
+
text: "",
|
|
4687
|
+
didStrip: false
|
|
4688
|
+
};
|
|
4689
|
+
const trimmed = raw.trim();
|
|
4690
|
+
if (!trimmed) return {
|
|
4691
|
+
shouldSkip: true,
|
|
4692
|
+
text: "",
|
|
4693
|
+
didStrip: false
|
|
4694
|
+
};
|
|
4695
|
+
const mode = opts.mode ?? "message";
|
|
4696
|
+
const maxAckCharsRaw = opts.maxAckChars;
|
|
4697
|
+
const parsedAckChars = typeof maxAckCharsRaw === "string" ? Number(maxAckCharsRaw) : maxAckCharsRaw;
|
|
4698
|
+
const maxAckChars = Math.max(0, typeof parsedAckChars === "number" && Number.isFinite(parsedAckChars) ? parsedAckChars : DEFAULT_HEARTBEAT_ACK_MAX_CHARS);
|
|
4699
|
+
const stripMarkup = (text) => text.replace(/<[^>]*>/g, " ").replace(/ /gi, " ").replace(/^[*`~_]+/, "").replace(/[*`~_]+$/, "");
|
|
4700
|
+
const trimmedNormalized = stripMarkup(trimmed);
|
|
4701
|
+
if (!(trimmed.includes(SYMIPULSE_TOKEN) || trimmedNormalized.includes(SYMIPULSE_TOKEN))) return {
|
|
4702
|
+
shouldSkip: false,
|
|
4703
|
+
text: trimmed,
|
|
4704
|
+
didStrip: false
|
|
4705
|
+
};
|
|
4706
|
+
const strippedOriginal = stripTokenAtEdges(trimmed);
|
|
4707
|
+
const strippedNormalized = stripTokenAtEdges(trimmedNormalized);
|
|
4708
|
+
const picked = strippedOriginal.didStrip && strippedOriginal.text ? strippedOriginal : strippedNormalized;
|
|
4709
|
+
if (!picked.didStrip) return {
|
|
4710
|
+
shouldSkip: false,
|
|
4711
|
+
text: trimmed,
|
|
4712
|
+
didStrip: false
|
|
4713
|
+
};
|
|
4714
|
+
if (!picked.text) return {
|
|
4715
|
+
shouldSkip: true,
|
|
4716
|
+
text: "",
|
|
4717
|
+
didStrip: true
|
|
4718
|
+
};
|
|
4719
|
+
const rest = picked.text.trim();
|
|
4720
|
+
if (mode === "heartbeat") {
|
|
4721
|
+
if (rest.length <= maxAckChars) return {
|
|
4722
|
+
shouldSkip: true,
|
|
4723
|
+
text: "",
|
|
4724
|
+
didStrip: true
|
|
4725
|
+
};
|
|
4726
|
+
}
|
|
4727
|
+
return {
|
|
4728
|
+
shouldSkip: false,
|
|
4729
|
+
text: rest,
|
|
4730
|
+
didStrip: true
|
|
4731
|
+
};
|
|
4732
|
+
}
|
|
4733
|
+
|
|
4738
4734
|
//#endregion
|
|
4739
4735
|
//#region src/auto-reply/reply/normalize-reply.ts
|
|
4740
4736
|
function normalizeReplyPayload(payload, opts = {}) {
|
|
@@ -4831,7 +4827,7 @@ async function routeReply(params) {
|
|
|
4831
4827
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
4832
4828
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
4833
4829
|
try {
|
|
4834
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
4830
|
+
const { deliverOutboundPayloads } = await import("./deliver-B_Gz2_tA.js").then((n) => n.n);
|
|
4835
4831
|
return {
|
|
4836
4832
|
ok: true,
|
|
4837
4833
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -18801,10 +18797,6 @@ function maxAsk(a, b) {
|
|
|
18801
18797
|
return order[a] >= order[b] ? a : b;
|
|
18802
18798
|
}
|
|
18803
18799
|
|
|
18804
|
-
//#endregion
|
|
18805
|
-
//#region src/infra/heartbeat-wake.ts
|
|
18806
|
-
function requestHeartbeatNow(_opts) {}
|
|
18807
|
-
|
|
18808
18800
|
//#endregion
|
|
18809
18801
|
//#region src/infra/path-prepend.ts
|
|
18810
18802
|
function normalizePathPrepend(entries) {
|
|
@@ -19824,7 +19816,6 @@ function maybeNotifyOnExit(session, status) {
|
|
|
19824
19816
|
const output = compactNotifyOutput(tail(session.tail || session.aggregated || "", DEFAULT_NOTIFY_TAIL_CHARS));
|
|
19825
19817
|
if (status === "completed" && !output && session.notifyOnExitEmptySuccess !== true) return;
|
|
19826
19818
|
enqueueSystemEvent(output ? `Exec ${status} (${session.id.slice(0, 8)}, ${exitLabel}) :: ${output}` : `Exec ${status} (${session.id.slice(0, 8)}, ${exitLabel})`, { sessionKey });
|
|
19827
|
-
/* @__PURE__ */ requestHeartbeatNow({ reason: `exec:${session.id}:exit` });
|
|
19828
19819
|
}
|
|
19829
19820
|
function createApprovalSlug(id) {
|
|
19830
19821
|
return id.slice(0, APPROVAL_SLUG_LENGTH);
|
|
@@ -19841,7 +19832,6 @@ function emitExecSystemEvent(text, opts) {
|
|
|
19841
19832
|
sessionKey,
|
|
19842
19833
|
contextKey: opts.contextKey
|
|
19843
19834
|
});
|
|
19844
|
-
/* @__PURE__ */ requestHeartbeatNow({ reason: "exec-event" });
|
|
19845
19835
|
}
|
|
19846
19836
|
async function runExecProcess(opts) {
|
|
19847
19837
|
const startedAt = Date.now();
|
|
@@ -38917,7 +38907,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
38917
38907
|
return;
|
|
38918
38908
|
}
|
|
38919
38909
|
try {
|
|
38920
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
38910
|
+
const { deliverOutboundPayloads } = await import("./deliver-B_Gz2_tA.js").then((n) => n.n);
|
|
38921
38911
|
await deliverOutboundPayloads({
|
|
38922
38912
|
cfg: params.cfg,
|
|
38923
38913
|
channel,
|
|
@@ -43725,7 +43715,7 @@ function shouldEmitLoopWarning(state, warningKey, count) {
|
|
|
43725
43715
|
async function recordLoopOutcome(args) {
|
|
43726
43716
|
if (!args.ctx?.sessionKey) return;
|
|
43727
43717
|
try {
|
|
43728
|
-
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-
|
|
43718
|
+
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-CWtaDOiK.js").then((n) => n.t);
|
|
43729
43719
|
const { recordToolCallOutcome } = await import("./tool-loop-detection-BHtN0mXg.js");
|
|
43730
43720
|
recordToolCallOutcome(getDiagnosticSessionState({
|
|
43731
43721
|
sessionKey: args.ctx.sessionKey,
|
|
@@ -43746,8 +43736,8 @@ async function runBeforeToolCallHook(args) {
|
|
|
43746
43736
|
const toolName = normalizeToolName$1(args.toolName || "tool");
|
|
43747
43737
|
const params = args.params;
|
|
43748
43738
|
if (args.ctx?.sessionKey) {
|
|
43749
|
-
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-
|
|
43750
|
-
const { logToolLoopAction } = await import("./diagnostic-
|
|
43739
|
+
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-CWtaDOiK.js").then((n) => n.t);
|
|
43740
|
+
const { logToolLoopAction } = await import("./diagnostic-BvZmqxYI.js").then((n) => n.n);
|
|
43751
43741
|
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-BHtN0mXg.js");
|
|
43752
43742
|
const sessionState = getDiagnosticSessionState({
|
|
43753
43743
|
sessionKey: args.ctx.sessionKey,
|
|
@@ -48362,7 +48352,6 @@ async function runEmbeddedAttempt(params) {
|
|
|
48362
48352
|
channelActions
|
|
48363
48353
|
}
|
|
48364
48354
|
});
|
|
48365
|
-
const isDefaultAgent = sessionAgentId === defaultAgentId;
|
|
48366
48355
|
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
|
|
48367
48356
|
const docsPath = await resolveSymiDocsPath({
|
|
48368
48357
|
workspaceDir: effectiveWorkspace,
|
|
@@ -48379,7 +48368,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
48379
48368
|
ownerDisplay: params.config?.commands?.ownerDisplay,
|
|
48380
48369
|
ownerDisplaySecret: params.config?.commands?.ownerDisplaySecret ?? params.config?.gateway?.auth?.token ?? params.config?.gateway?.remote?.token,
|
|
48381
48370
|
reasoningTagHint,
|
|
48382
|
-
heartbeatPrompt:
|
|
48371
|
+
heartbeatPrompt: void 0,
|
|
48383
48372
|
skillsPrompt,
|
|
48384
48373
|
docsPath: docsPath ?? void 0,
|
|
48385
48374
|
workspaceNotes,
|
|
@@ -55894,7 +55883,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
55894
55883
|
}
|
|
55895
55884
|
let commandsRegistry;
|
|
55896
55885
|
async function getCommandsRegistry() {
|
|
55897
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
55886
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BO62ZyK2.js").then((n) => n.t);
|
|
55898
55887
|
return commandsRegistry;
|
|
55899
55888
|
}
|
|
55900
55889
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -56236,11 +56225,11 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
56236
56225
|
const channelName = channelInfo?.name;
|
|
56237
56226
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
56238
56227
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
56239
|
-
import("./resolve-route-
|
|
56240
|
-
import("./inbound-context-
|
|
56228
|
+
import("./resolve-route-D0TboSMz.js").then((n) => n.r),
|
|
56229
|
+
import("./inbound-context-OpYa4EXl.js").then((n) => n.n),
|
|
56241
56230
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
56242
56231
|
]);
|
|
56243
|
-
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-
|
|
56232
|
+
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-CPUfoQmh.js").then((n) => n.t), import("./reply-prefix-BqgLflxO.js").then((n) => n.n)]);
|
|
56244
56233
|
const route = resolveAgentRoute({
|
|
56245
56234
|
cfg,
|
|
56246
56235
|
channel: "slack",
|
|
@@ -56297,9 +56286,9 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
56297
56286
|
});
|
|
56298
56287
|
const deliverSlashPayloads = async (replies) => {
|
|
56299
56288
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
56300
|
-
import("./replies-
|
|
56301
|
-
import("./chunk-
|
|
56302
|
-
import("./markdown-tables-
|
|
56289
|
+
import("./replies-pnMj7AtP.js").then((n) => n.r),
|
|
56290
|
+
import("./chunk-BjnT3w_x.js").then((n) => n.s),
|
|
56291
|
+
import("./markdown-tables-BtWlyyt1.js").then((n) => n.t)
|
|
56303
56292
|
]);
|
|
56304
56293
|
await deliverSlackSlashReplies({
|
|
56305
56294
|
replies,
|
|
@@ -56352,7 +56341,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
56352
56341
|
let nativeCommands = [];
|
|
56353
56342
|
if (nativeEnabled) {
|
|
56354
56343
|
reg = await getCommandsRegistry();
|
|
56355
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
56344
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-CEY0MdSm.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
56356
56345
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
56357
56346
|
skillCommands,
|
|
56358
56347
|
provider: "slack"
|
|
@@ -59335,7 +59324,6 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
59335
59324
|
sessionKey: params.sessionKey,
|
|
59336
59325
|
config: params.config
|
|
59337
59326
|
});
|
|
59338
|
-
const isDefaultAgent = sessionAgentId === defaultAgentId;
|
|
59339
59327
|
const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
|
|
59340
59328
|
const docsPath = await resolveSymiDocsPath({
|
|
59341
59329
|
workspaceDir: effectiveWorkspace,
|
|
@@ -59352,7 +59340,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
59352
59340
|
ownerDisplay: params.config?.commands?.ownerDisplay,
|
|
59353
59341
|
ownerDisplaySecret: params.config?.commands?.ownerDisplaySecret ?? params.config?.gateway?.auth?.token ?? params.config?.gateway?.remote?.token,
|
|
59354
59342
|
reasoningTagHint,
|
|
59355
|
-
heartbeatPrompt:
|
|
59343
|
+
heartbeatPrompt: void 0,
|
|
59356
59344
|
skillsPrompt,
|
|
59357
59345
|
docsPath: docsPath ?? void 0,
|
|
59358
59346
|
promptMode,
|
|
@@ -2,8 +2,8 @@ import { S as resolveThreadParentSessionKey, c as resolveAgentIdFromSessionKey }
|
|
|
2
2
|
import { r as resolveAgentConfig } from "./agent-scope-8LjCKvga.js";
|
|
3
3
|
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-B91360jE.js";
|
|
4
4
|
import { l as normalizeMessageChannel } from "./message-channel-CNPAq1Tl.js";
|
|
5
|
-
import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-
|
|
6
|
-
import { a as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-
|
|
5
|
+
import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-DzRvFxeE.js";
|
|
6
|
+
import { a as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-Cq5LxV1L.js";
|
|
7
7
|
|
|
8
8
|
//#region src/agents/sandbox-tool-policy.ts
|
|
9
9
|
function unionAllow(base, extra) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { S as resolveThreadParentSessionKey, c as resolveAgentIdFromSessionKey } from "./session-key-DUSb7CCb.js";
|
|
2
2
|
import { r as resolveAgentConfig } from "./agent-scope-2la27US0.js";
|
|
3
3
|
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-fTqqDRAc.js";
|
|
4
|
-
import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-
|
|
4
|
+
import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-sayuve7z.js";
|
|
5
5
|
import { a as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-n_MeJBcj.js";
|
|
6
6
|
import { l as normalizeMessageChannel } from "./message-channel-j44ChSJV.js";
|
|
7
7
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { s as loadSymiPlugins } from "./unified-runner-
|
|
2
|
+
import { s as loadSymiPlugins } from "./unified-runner-Uyw1gZOm.js";
|
|
3
3
|
import { d as getActivePluginRegistry } from "./registry-CtguoMhn.js";
|
|
4
4
|
import { t as createSubsystemLogger } from "./subsystem-CgepNOk5.js";
|
|
5
5
|
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-2la27US0.js";
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
|
|
3
3
|
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-8LjCKvga.js";
|
|
4
4
|
import { i as loadConfig } from "./config-B91360jE.js";
|
|
5
|
-
import { m as loadSymiPlugins } from "./subagent-registry-
|
|
5
|
+
import { m as loadSymiPlugins } from "./subagent-registry-z08a8MUS.js";
|
|
6
6
|
|
|
7
7
|
//#region src/cli/plugin-registry.ts
|
|
8
8
|
var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { SymiConfig } from "../config/config.js";
|
|
2
|
-
import { type HeartbeatSummary } from "../infra/heartbeat-runner.js";
|
|
3
2
|
import type { RuntimeEnv } from "../runtime.js";
|
|
4
3
|
export type ChannelAccountHealthSummary = {
|
|
5
4
|
accountId: string;
|
|
@@ -13,7 +12,15 @@ export type ChannelAccountHealthSummary = {
|
|
|
13
12
|
export type ChannelHealthSummary = ChannelAccountHealthSummary & {
|
|
14
13
|
accounts?: Record<string, ChannelAccountHealthSummary>;
|
|
15
14
|
};
|
|
16
|
-
export type AgentHeartbeatSummary =
|
|
15
|
+
export type AgentHeartbeatSummary = {
|
|
16
|
+
enabled: boolean;
|
|
17
|
+
every: string | undefined;
|
|
18
|
+
everyMs: number | null;
|
|
19
|
+
prompt: string;
|
|
20
|
+
target: string;
|
|
21
|
+
model?: string;
|
|
22
|
+
ackMaxChars: number;
|
|
23
|
+
};
|
|
17
24
|
export type AgentHealthSummary = {
|
|
18
25
|
agentId: string;
|
|
19
26
|
name?: string;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { CronConfig } from "../../config/types.cron.js";
|
|
2
|
-
import type { HeartbeatRunResult } from "../../infra/heartbeat-wake.js";
|
|
3
2
|
import type { CronJob, CronJobCreate, CronJobPatch, CronRunOutcome, CronRunStatus, CronRunTelemetry, CronStoreFile } from "../types.js";
|
|
4
3
|
export type CronEvent = {
|
|
5
4
|
jobId: string;
|
|
@@ -37,24 +36,6 @@ export type CronServiceDeps = {
|
|
|
37
36
|
sessionKey?: string;
|
|
38
37
|
contextKey?: string;
|
|
39
38
|
}) => void;
|
|
40
|
-
requestHeartbeatNow: (opts?: {
|
|
41
|
-
reason?: string;
|
|
42
|
-
agentId?: string;
|
|
43
|
-
sessionKey?: string;
|
|
44
|
-
}) => void;
|
|
45
|
-
runHeartbeatOnce?: (opts?: {
|
|
46
|
-
reason?: string;
|
|
47
|
-
agentId?: string;
|
|
48
|
-
sessionKey?: string;
|
|
49
|
-
}) => Promise<HeartbeatRunResult>;
|
|
50
|
-
/**
|
|
51
|
-
* WakeMode=now: max time to wait for runHeartbeatOnce to stop returning
|
|
52
|
-
* { status:"skipped", reason:"requests-in-flight" } before falling back to
|
|
53
|
-
* requestHeartbeatNow.
|
|
54
|
-
*/
|
|
55
|
-
wakeNowHeartbeatBusyMaxWaitMs?: number;
|
|
56
|
-
/** WakeMode=now: delay between runHeartbeatOnce retries while busy. */
|
|
57
|
-
wakeNowHeartbeatBusyRetryDelayMs?: number;
|
|
58
39
|
runIsolatedAgentJob: (params: {
|
|
59
40
|
job: CronJob;
|
|
60
41
|
message: string;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { type AgentEventPayload } from "../infra/agent-events.js";
|
|
2
|
-
export declare function resolveHeartbeatContext(
|
|
1
|
+
import { type AgentEventPayload, getAgentRunContext } from "../infra/agent-events.js";
|
|
2
|
+
export declare function resolveHeartbeatContext(_runId: string, _sourceRunId?: string): (ReturnType<typeof getAgentRunContext> & {
|
|
3
|
+
isHeartbeat?: boolean;
|
|
4
|
+
}) | undefined;
|
|
3
5
|
export type ChatRunEntry = {
|
|
4
6
|
sessionKey: string;
|
|
5
7
|
clientRunId: string;
|
package/dist/plugin-sdk/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import path from "node:path";
|
|
|
3
3
|
import fs, { constants, readFileSync } from "node:fs";
|
|
4
4
|
import os from "node:os";
|
|
5
5
|
import { Logger } from "tslog";
|
|
6
|
-
import
|
|
6
|
+
import json5 from "json5";
|
|
7
7
|
import chalk, { Chalk } from "chalk";
|
|
8
8
|
import fs$1, { mkdtemp, rm } from "node:fs/promises";
|
|
9
9
|
import { z } from "zod";
|
|
@@ -473,7 +473,7 @@ function readLoggingConfig() {
|
|
|
473
473
|
try {
|
|
474
474
|
if (!fs.existsSync(configPath)) return;
|
|
475
475
|
const raw = fs.readFileSync(configPath, "utf-8");
|
|
476
|
-
const logging =
|
|
476
|
+
const logging = json5.parse(raw)?.logging;
|
|
477
477
|
if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
|
|
478
478
|
return logging;
|
|
479
479
|
} catch {
|
|
@@ -7409,7 +7409,7 @@ function safeRealpath(target) {
|
|
|
7409
7409
|
}
|
|
7410
7410
|
const defaultResolver = {
|
|
7411
7411
|
readFile: (p) => fs.readFileSync(p, "utf-8"),
|
|
7412
|
-
parseJson: (raw) =>
|
|
7412
|
+
parseJson: (raw) => json5.parse(raw)
|
|
7413
7413
|
};
|
|
7414
7414
|
/**
|
|
7415
7415
|
* Resolves all $include directives in a parsed config object.
|
|
@@ -10661,7 +10661,7 @@ function resolveConfigPathForDeps(deps) {
|
|
|
10661
10661
|
function normalizeDeps(overrides = {}) {
|
|
10662
10662
|
return {
|
|
10663
10663
|
fs: overrides.fs ?? fs,
|
|
10664
|
-
json5: overrides.json5 ??
|
|
10664
|
+
json5: overrides.json5 ?? json5,
|
|
10665
10665
|
env: overrides.env ?? process.env,
|
|
10666
10666
|
homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
|
|
10667
10667
|
configPath: overrides.configPath ?? "",
|
|
@@ -10672,11 +10672,11 @@ function maybeLoadDotEnvForConfig(env) {
|
|
|
10672
10672
|
if (env !== process.env) return;
|
|
10673
10673
|
loadDotEnv({ quiet: true });
|
|
10674
10674
|
}
|
|
10675
|
-
function parseConfigJson5(raw, json5 =
|
|
10675
|
+
function parseConfigJson5(raw, json5$1 = json5) {
|
|
10676
10676
|
try {
|
|
10677
10677
|
return {
|
|
10678
10678
|
ok: true,
|
|
10679
|
-
parsed: json5.parse(raw)
|
|
10679
|
+
parsed: json5$1.parse(raw)
|
|
10680
10680
|
};
|
|
10681
10681
|
} catch (err) {
|
|
10682
10682
|
return {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { C as CHAT_CHANNEL_ORDER, N as requireActivePluginRegistry, k as normalizeAnyChannelId } from "./entry.js";
|
|
3
3
|
import { m as normalizeAccountId, p as DEFAULT_ACCOUNT_ID } from "./session-key-BfskPVEs.js";
|
|
4
|
-
import { t as normalizeChatType } from "./chat-type-
|
|
4
|
+
import { t as normalizeChatType } from "./chat-type-BYHUZIi_.js";
|
|
5
5
|
|
|
6
6
|
//#region src/channels/plugins/account-helpers.ts
|
|
7
7
|
function createAccountListHelpers(channelKey) {
|