@symerian/symi 3.3.1 → 3.3.3
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-BI1-UXxQ.js → agent-9zPi5Bip.js} +2 -5
- package/dist/{agent-DeLysRUa.js → agent-M9EC02CI.js} +17 -20
- package/dist/{agent-scope-BjEBQhs0.js → agent-scope-B_oqIiaD.js} +18 -18
- package/dist/{agent-scope-DE5eEsvh.js → agent-scope-D_MtsuXX.js} +2 -2
- package/dist/{agents-BMRZpxNt.js → agents-CW9uf_n0.js} +2 -2
- package/dist/{agents.config-BFKM-a83.js → agents.config-B_LFeRQS.js} +1 -1
- package/dist/{audit-DQ_p2Pbq.js → audit-B_HL4UJ_.js} +20 -20
- package/dist/{auth-choice-BGZsmh6a.js → auth-choice-Bio1-QUP.js} +8 -8
- package/dist/{auth-choice-T77Ymi34.js → auth-choice-DS5oaUTz.js} +1 -1
- package/dist/{auth-profiles-BVtpxYtY.js → auth-profiles-CPlXilKu.js} +9 -9
- package/dist/{auth-profiles-B6ISm3Th.js → auth-profiles-duUuQXeC.js} +3 -3
- package/dist/{auth-token-CPluo60n.js → auth-token-DTj2WrbV.js} +1 -1
- package/dist/{banner-BJHky-bq.js → banner-0vT1O9w2.js} +1 -1
- package/dist/{browser-cli-O7Ic8DI3.js → browser-cli-C-Q0t9y_.js} +9 -9
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +29 -32
- package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
- package/dist/bundled/session-memory/handler.js +28 -28
- package/dist/{call-CdXXPXpo.js → call-Du4CT1Hp.js} +9 -9
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-BrDTgiiV.js → channel-options-CcGtiy0Q.js} +1 -1
- package/dist/{channel-options-C1yi5h7A.js → channel-options-DZ17japQ.js} +1 -1
- package/dist/{channels-cli-BYeGzy-G.js → channels-cli-BSvEpjOV.js} +10 -10
- package/dist/{channels-cli-Pxe1OINS.js → channels-cli-DxSXTCCh.js} +55 -55
- package/dist/{chrome-FAf5DZL2.js → chrome-C9mX2mtt.js} +3 -3
- package/dist/{chrome-NUKborg3.js → chrome-owBWinlj.js} +2 -2
- package/dist/{chunk-DX6VtywY.js → chunk-5H33X8qU.js} +1 -1
- package/dist/{cli-Dt-wfm_7.js → cli-CHk4wR-F.js} +7 -7
- package/dist/{cli-DFNOC2Ad.js → cli-Dn9ylBb2.js} +43 -43
- package/dist/{client-Bs2zB0rY.js → client-ZZqt0H0-.js} +1 -1
- package/dist/{command-registry-BwbT4ll7.js → command-registry-UxY6jjeo.js} +10 -10
- package/dist/{commands-registry-C5IdtVVy.js → commands-registry-DaPrWQSe.js} +4 -4
- package/dist/{commands-registry-DYk02tmt.js → commands-registry-W2GQIywv.js} +1 -1
- package/dist/{completion-cli-DiNUqrNY.js → completion-cli-DebZ6nSb.js} +12 -12
- package/dist/{completion-cli-CyOSA5xZ.js → completion-cli-m9L2Gv9t.js} +2 -2
- package/dist/{config-CW8aDVM0.js → config-CphS_6eg.js} +2 -2
- package/dist/{config-cli-DBU_S417.js → config-cli-D4_gO3Pd.js} +4 -4
- package/dist/{config-cli-DfG0nukz.js → config-cli-D9YdRiN2.js} +1 -1
- package/dist/{config-guard-CNmD3-IC.js → config-guard-B5BwQ-AP.js} +6 -6
- package/dist/{config-validation-Bz5CV181.js → config-validation-A2rXGvVY.js} +1 -1
- package/dist/{configure-BkH4ueot.js → configure-BXjJQG1p.js} +14 -14
- package/dist/{configure-BYu2DI_6.js → configure-D9NeIMjP.js} +2 -2
- package/dist/{consolidate-Cx7qF5Ht.js → consolidate-7Usm-b2g.js} +6 -6
- package/dist/{consolidate-dh1m3X1s.js → consolidate-C-HKdAJo.js} +2 -2
- package/dist/{control-service-Drd2sr2o.js → control-service-CMVDL3Yl.js} +4 -4
- package/dist/{control-ui-assets-D22DSxhv.js → control-ui-assets-DUhvOLUL.js} +1 -1
- package/dist/{cron-cli-BTAdnRhX.js → cron-cli-DR4W075u.js} +7 -7
- package/dist/{daemon-cli-BY9BFNuw.js → daemon-cli-B__05b-d.js} +11 -11
- package/dist/{daemon-runtime-BH3ZBZXS.js → daemon-runtime-BD-3XS8R.js} +10 -10
- package/dist/{deliver-DZ7ynJYH.js → deliver-63FtOVMC.js} +3 -3
- package/dist/{deliver-Dlq2X0K5.js → deliver-DSMNXd9k.js} +1 -1
- package/dist/{deliver-kmnOOp9j.js → deliver-DSv-Z24A.js} +16 -16
- package/dist/{deliver-CRqS1O8w.js → deliver-DcP6aVt4.js} +1 -1
- package/dist/{deps-i1g0Zpz4.js → deps-DD_ZCq3v.js} +1 -1
- package/dist/{devices-cli-Cqi6L8PH.js → devices-cli-CJom2K8b.js} +6 -6
- package/dist/{diagnostic-CQLyE7_n.js → diagnostic-D7z6O7v0.js} +1 -1
- package/dist/{diagnostics-nLP2i_BY.js → diagnostics-DxdqTfpW.js} +5 -5
- package/dist/{directory-cli-B0XsBWso.js → directory-cli-BwhEj1FE.js} +3 -3
- package/dist/{dm-policy-shared-CnKffdt_.js → dm-policy-shared-C1TQOlkZ.js} +1 -1
- package/dist/{dns-cli-BHWlCG31.js → dns-cli-DzQDEQM2.js} +3 -3
- package/dist/{docs-cli-DASNErN-.js → docs-cli--T-77Ujn.js} +1 -1
- package/dist/{doctor-completion-DqvmZZEo.js → doctor-completion--AgLv0kV.js} +1 -1
- package/dist/{doctor-completion-D_cwpDAq.js → doctor-completion-D1ImH_eM.js} +2 -2
- package/dist/{doctor-config-flow-BvHSaiFy.js → doctor-config-flow-4UT3396o.js} +9 -9
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-CyHTywue.js → exec-approvals-cli-D-MLmhzh.js} +13 -13
- package/dist/extensionAPI.js +5 -5
- package/dist/{frontmatter-BW7tVmn4.js → frontmatter-BzAaXBfE.js} +2 -2
- package/dist/{fs-safe-DjAKGGJ8.js → fs-safe-B6nMaZqV.js} +6 -6
- package/dist/{gateway-cli-BBqSqFGV.js → gateway-cli-5KVJJGFm.js} +97 -117
- package/dist/{gateway-cli-BYGA5ex3.js → gateway-cli-BjGvnfU3.js} +15 -35
- package/dist/{gateway-rpc-BJF1iDnx.js → gateway-rpc-CUIXRk2t.js} +1 -1
- package/dist/{glass-ui-ws-NJNiRFL3.js → glass-ui-ws-CwJdwqn6.js} +65 -65
- package/dist/{glass-ui-ws-DJnV8nJK.js → glass-ui-ws-f_OPXcN2.js} +11 -11
- package/dist/{health-D59E1VfO.js → health-BdxlhiXA.js} +4 -4
- package/dist/{hooks-cli-Bidz8ACz.js → hooks-cli-BfVq5C1p.js} +57 -57
- package/dist/{hooks-cli-CyjEjDSY.js → hooks-cli-CQ6rF_LQ.js} +8 -8
- package/dist/{image-ops-c7_of0HT.js → image-ops-C-gIIp7Q.js} +10 -10
- package/dist/index.js +50 -50
- package/dist/{inspect-op0Ov-v4.js → inspect-BDzd6yBs.js} +4 -4
- package/dist/{install-safe-path-B73BkVO3.js → install-safe-path-CQXx3s9R.js} +11 -11
- package/dist/{installs-ZXEjR9Sp.js → installs-CLp95gcX.js} +10 -10
- package/dist/{internal-C3o_xyzP.js → internal-CHnZdvRy.js} +9 -9
- package/dist/{lifecycle-core-zhQYm_ni.js → lifecycle-core-_BlNODTH.js} +5 -5
- package/dist/llm-slug-generator.js +28 -28
- package/dist/{local-roots-CTriU02e.js → local-roots-JhQs5w0I.js} +1 -1
- package/dist/{local-roots-Dm8-ErgQ.js → local-roots-WWcVq0Ma.js} +3 -3
- package/dist/{logs-cli-B7RJ57Dc.js → logs-cli-BEWOyW5R.js} +7 -7
- package/dist/{manager-CpBl-VGg.js → manager-BI8o6AGu.js} +1 -1
- package/dist/{manager-9dNT9kNF.js → manager-BQ5Wl5r-.js} +14 -14
- package/dist/{manager-t4GthPGw.js → manager-BUS2wGkQ.js} +1 -1
- package/dist/{manager-Dsdh0rGn.js → manager-D_AVoLu8.js} +6 -6
- package/dist/{manifest-registry-B2vClvK5.js → manifest-registry-DsTUFMvZ.js} +1 -1
- package/dist/{markdown-tables-BaWa2kOe.js → markdown-tables-ptfgMe6b.js} +1 -1
- package/dist/{memory-DcWXMzOH.js → memory-2OKjMT7V.js} +5 -5
- package/dist/{memory-B7TJXpqS.js → memory-CMKSFx1T.js} +2 -2
- package/dist/{memory-cli-xBZPEOeL.js → memory-cli-CmPcKzGZ.js} +12 -12
- package/dist/{memory-cli-C0WA_nRS.js → memory-cli-rdfaJrCS.js} +2 -2
- package/dist/{model-BXWgh5eZ.js → model-BKtw-Bqs.js} +1 -1
- package/dist/{model-catalog-BGVslwAT.js → model-catalog-DKBhNiWm.js} +4 -4
- package/dist/{model-picker-aTfyp_mP.js → model-picker-DKzvan7c.js} +3 -3
- package/dist/{models-IfAFy9bK.js → models-DRtgYyTB.js} +2 -2
- package/dist/{models-cli-h8h_qu3F.js → models-cli-183sPHZO.js} +53 -53
- package/dist/{models-cli-DiB4JqF2.js → models-cli-DN2zTFw9.js} +9 -9
- package/dist/{models-config-DRgHv7Ss.js → models-config-CFUwiu4W.js} +7 -7
- package/dist/{node-cli-BPkbqgRt.js → node-cli-CgWAxe-K.js} +27 -27
- package/dist/{node-service-DuN9eBL6.js → node-service-tPO_yUk7.js} +1 -1
- package/dist/{nodes-cli-C09c6nCf.js → nodes-cli-CprJ5K63.js} +10 -10
- package/dist/{nodes-screen-CT94yu_w.js → nodes-screen-JELuBMBi.js} +4 -4
- package/dist/{npm-registry-spec-B8X06AqB.js → npm-registry-spec-BXw_6vF6.js} +9 -9
- package/dist/{onboard-sMgEOBjV.js → onboard-CPHA8CdV.js} +13 -13
- package/dist/{onboard-iL7Z0wKJ.js → onboard-bTgNnEHK.js} +1 -1
- package/dist/{onboard-channels-Deq8QGnM.js → onboard-channels-B_iyN1qL.js} +4 -4
- package/dist/{onboard-channels-BfzW-9vo.js → onboard-channels-D5ugcgBE.js} +1 -1
- package/dist/{onboard-custom-DEdRdzNq.js → onboard-custom-Cla8O-Tv.js} +3 -3
- package/dist/{onboard-helpers-DZKHFY2J.js → onboard-helpers-D2mWJnFB.js} +8 -8
- package/dist/{onboard-hooks-DZZM8goM.js → onboard-hooks-DZD-nGLB.js} +1 -1
- package/dist/{onboard-remote-dn4L5WdE.js → onboard-remote-Bi2BNRnh.js} +1 -1
- package/dist/{onboard-skills-DGHye9Q3.js → onboard-skills-C0XDXvWw.js} +4 -4
- package/dist/{onboarding-BjXYbWlg.js → onboarding-D2SLzcWH.js} +12 -12
- package/dist/{onboarding-70YKbZi6.js → onboarding-ii3ok0Ih.js} +3 -3
- package/dist/{onboarding.finalize-dU_CtL43.js → onboarding.finalize-DOHv_Xe8.js} +31 -31
- package/dist/{onboarding.finalize-Ch3V08eY.js → onboarding.finalize-g-_d-wVY.js} +4 -4
- package/dist/{onboarding.gateway-config-DfF8Rxvn.js → onboarding.gateway-config-BmaAH8uo.js} +8 -8
- package/dist/{openai-model-default-D1NFHFF_.js → openai-model-default-BeRT9S75.js} +2 -2
- package/dist/{pairing-cli-CJv8LQfb.js → pairing-cli-DdtW6Nu-.js} +4 -4
- package/dist/{pairing-store-CxT0UGxd.js → pairing-store-mmeniyUt.js} +1 -1
- package/dist/{pairing-token-DorpwP8O.js → pairing-token-CURbSHdi.js} +7 -7
- package/dist/{paths-DaQrPPet.js → paths-Dc6A9_vI.js} +1 -1
- package/dist/{pi-auth-json-DGZH6URT.js → pi-auth-json-1Z1j1PDI.js} +5 -5
- package/dist/{pi-auth-json-BzuhVcKu.js → pi-auth-json-D4Bl4hBw.js} +1 -1
- package/dist/{pi-embedded-DOCVZrmx.js → pi-embedded-CvGL6bij.js} +39 -212
- package/dist/{pi-embedded-helpers-Be-EeyzH.js → pi-embedded-helpers-BRM8EM4P.js} +6 -6
- package/dist/{pi-tools.policy-qwS9SXOa.js → pi-tools.policy-BBHbN8Nh.js} +3 -3
- package/dist/{plugin-auto-enable-zDUaiaf2.js → plugin-auto-enable-BCwyDNSP.js} +1 -1
- package/dist/{plugin-registry-BgGVB3kW.js → plugin-registry-DSG-0min.js} +3 -3
- package/dist/{plugin-registry-CP2mbhwk.js → plugin-registry-Dl3HqI5J.js} +1 -1
- package/dist/plugin-sdk/agents/{symipulse-timeout.d.ts → idle-timeout.d.ts} +3 -3
- package/dist/plugin-sdk/agents/pi-embedded-runner/system-prompt.d.ts +0 -2
- package/dist/plugin-sdk/agents/system-prompt.d.ts +1 -2
- package/dist/plugin-sdk/auto-reply/reply/middleware-transcript-update.d.ts +1 -8
- package/dist/plugin-sdk/auto-reply/reply/normalize-reply.d.ts +1 -3
- package/dist/plugin-sdk/auto-reply/reply/reply-dispatcher.d.ts +0 -1
- package/dist/plugin-sdk/auto-reply/tokens.d.ts +0 -3
- package/dist/plugin-sdk/gateway/outbound-filter.d.ts +2 -4
- package/dist/{plugins-yymezpEd.js → plugins-CcVzjOo_.js} +1 -1
- package/dist/{plugins-cli-1wkCRsFe.js → plugins-cli-CEj-qNus.js} +8 -8
- package/dist/{plugins-cli-B_Gtx3LU.js → plugins-cli-CUTyMzoz.js} +52 -52
- package/dist/{ports-ChuJYhEL.js → ports-DRHSHvqY.js} +1 -1
- package/dist/{ports-EAVAOFyK.js → ports-DqxP-bXz.js} +2 -2
- package/dist/{program-UyCr49qs.js → program-CjZ65fN4.js} +13 -13
- package/dist/{program-context-C7uCS8z7.js → program-context-GaV454D6.js} +38 -38
- package/dist/{prompt-select-styled-DcMra8CK.js → prompt-select-styled-BkowcFQR.js} +36 -36
- package/dist/{prompt-select-styled-BRcRFLzB.js → prompt-select-styled-CwXc8EFB.js} +4 -4
- package/dist/{provider-auth-helpers-Xn1TAPPY.js → provider-auth-helpers-Bo1_RSEb.js} +5 -5
- package/dist/{provider-auth-helpers-BJTb9xI0.js → provider-auth-helpers-CRobCJR_.js} +1 -1
- package/dist/{push-apns-Aaqf9WKI.js → push-apns-BBym2pAw.js} +4 -4
- package/dist/{push-apns-Bfqnchj6.js → push-apns-Bv16DYOL.js} +1 -1
- package/dist/{pw-ai-C-ddUgTA.js → pw-ai-BW5obXRK.js} +7 -7
- package/dist/{pw-ai-DJrnU1ja.js → pw-ai-GICi0s74.js} +8 -8
- package/dist/{qmd-manager-D5kqCz-Y.js → qmd-manager-C-J9Sfjk.js} +19 -19
- package/dist/{qmd-manager-DrM6m9z1.js → qmd-manager-CTHJcHPq.js} +5 -5
- package/dist/{qr-cli-B_mw4i0R.js → qr-cli-BIdgVMK1.js} +3 -3
- package/dist/{register.agent-vAJ0_4m0.js → register.agent-QXqsCc-q.js} +12 -12
- package/dist/{register.agent-BqKNzdaW.js → register.agent-z4GJgPr-.js} +65 -65
- package/dist/{register.configure-BzgavjpU.js → register.configure-CYXErdjF.js} +11 -11
- package/dist/{register.configure-7TmTqCgU.js → register.configure-DaMmDTaj.js} +68 -68
- package/dist/{register.maintenance-BJO0RCk9.js → register.maintenance-CBGhJ5R9.js} +12 -12
- package/dist/{register.maintenance-6Wz4HXlm.js → register.maintenance-CcWTycM4.js} +65 -65
- package/dist/{register.message-XYivyrQJ.js → register.message-Bcvdcd3v.js} +45 -45
- package/dist/{register.message-CW9PahRi.js → register.message-EMkIi8Ga.js} +8 -8
- package/dist/{register.onboard-BgwkmP4D.js → register.onboard-CtcLKgR4.js} +22 -22
- package/dist/{register.onboard-MWRC29wD.js → register.onboard-lmLaYYZl.js} +2 -2
- package/dist/{register.setup-V-arsKvb.js → register.setup-Cu8R_HaH.js} +2 -2
- package/dist/{register.setup-7OoAqQG_.js → register.setup-D47FYXH2.js} +25 -25
- package/dist/{register.status-health-sessions-1VnuXhGM.js → register.status-health-sessions--q6ddHX9.js} +3 -3
- package/dist/{register.status-health-sessions-Bgg1sdY_.js → register.status-health-sessions-B9CINBWm.js} +38 -38
- package/dist/{register.subclis-DpPYIqkP.js → register.subclis-CHTY5PYx.js} +9 -9
- package/dist/{registry-9AaJQms1.js → registry-C-JddWwo.js} +2 -2
- package/dist/{replies-CgVOirGF.js → replies-BOy28KVL.js} +1 -1
- package/dist/{replies-pnMj7AtP.js → replies-BeK3uuQ8.js} +1 -1
- package/dist/{replies-BZN1LuJP.js → replies-C82xaXm3.js} +3 -3
- package/dist/{replies-Dqft-42v.js → replies-P7jbK6Bo.js} +2 -2
- package/dist/{reply-prefix-DkDTGwTs.js → reply-prefix-ChIeKp-P.js} +1 -1
- package/dist/{reply-prefix-CyLplifX.js → reply-prefix-xaWqfM9m.js} +1 -1
- package/dist/{resolve-route-CIA0TSsF.js → resolve-route-CIS2tjpz.js} +3 -3
- package/dist/{resolve-route-xpyI3enn.js → resolve-route-DKhx5C-P.js} +1 -1
- package/dist/{routes-xZZ99jJJ.js → routes-BJ2iXVJF.js} +10 -10
- package/dist/{rpc-BzR2wLkc.js → rpc-CSI4uFgj.js} +1 -1
- package/dist/{run-main-n0fjk-o5.js → run-main-Bzub4qvZ.js} +20 -20
- package/dist/{sandbox-DGG12SGo.js → sandbox-CQU7Gcb9.js} +18 -18
- package/dist/{sandbox-cli--d2MJPM2.js → sandbox-cli-Ci90LP_X.js} +13 -13
- package/dist/{security-cli-CeP9ss1g.js → security-cli-BfOZ_cJN.js} +28 -28
- package/dist/{send-BzUWmgQ9.js → send-BAKkoPOy.js} +7 -7
- package/dist/{send-BQJKg0bU.js → send-DulXmWcG.js} +7 -7
- package/dist/{server-context-BNbx1tUD.js → server-context-BsMQBnUG.js} +5 -5
- package/dist/{server-methods-BHg4GltA.js → server-methods-C2UnIkWU.js} +57 -57
- package/dist/{server-methods-DkZ2XtEo.js → server-methods-THO5vDXZ.js} +7 -7
- package/dist/{server-node-events-BXviL2UH.js → server-node-events-j4AWHS1m.js} +9 -9
- package/dist/{server-node-events-6dZ22EGj.js → server-node-events-mBi614x_.js} +46 -46
- package/dist/{service-9ItKCWWS.js → service-AP9pR9R5.js} +15 -15
- package/dist/{session-dirs-B6PWqKEf.js → session-dirs-Chh7bBGo.js} +2 -2
- package/dist/{session-utils-BVC8mmBv.js → session-utils-0F9pB5d6.js} +12 -12
- package/dist/{sessions-BaFVKzC2.js → sessions-DQMaURzb.js} +11 -11
- package/dist/{shared-DUmy8R4n.js → shared-4Z8Ut8Cs.js} +3 -3
- package/dist/{shared-ot5_jkpP.js → shared-DmYHvtn2.js} +1 -1
- package/dist/{skill-commands-DaNhP2Jb.js → skill-commands-Cwrebyvj.js} +5 -5
- package/dist/{skill-commands-X3T9Y9lT.js → skill-commands-DP1fshwh.js} +4 -4
- package/dist/{skill-scanner-DVq7ZopF.js → skill-scanner-qMQf6-FN.js} +5 -5
- package/dist/{skills-BMTJ2Tiq.js → skills-D0k4o0Ez.js} +6 -6
- package/dist/{skills-C_KgxpBD.js → skills-DL8DjveU.js} +4 -4
- package/dist/{skills-cli-DwYoPwkG.js → skills-cli-BkIH3HKr.js} +7 -7
- package/dist/{skills-install-U4FmCP8u.js → skills-install-C9uT4MR2.js} +3 -3
- package/dist/{skills-remote-C0gcKYWX.js → skills-remote-Db5Wwr4s.js} +3 -3
- package/dist/{skills-status-CdfQvU1h.js → skills-status-Dx3Lf5iU.js} +1 -1
- package/dist/{sqlite-C6MZhX4c.js → sqlite--aBEq1-J.js} +1 -1
- package/dist/{sqlite-BUXBg2yu.js → sqlite-DBEvS-Ne.js} +5 -5
- package/dist/{ssrf-BvjSIOlZ.js → ssrf-Dcgaqg3U.js} +9 -9
- package/dist/{status-CmoBgZ99.js → status-BtAHzMLu.js} +1 -1
- package/dist/{status-BK-ZK7SP.js → status-BuHx0FXI.js} +23 -23
- package/dist/{status-J_gR_zbh.js → status-FKqnkO3K.js} +1 -1
- package/dist/{status-BAnT_4qI.js → status-MkJRgsTJ.js} +3 -3
- package/dist/{status.update-Cvj7y384.js → status.update-CQ1vKrEg.js} +3 -3
- package/dist/{subagent-registry-CWolsN8K.js → subagent-registry-B1RgR3-0.js} +41 -218
- package/dist/{subsystem-DhOo2FZn.js → subsystem-DzRUKS9f.js} +1 -1
- package/dist/{symi-root-0MUhiNlM.js → symi-root-DueRHNOE.js} +2 -2
- package/dist/{synthesis-DTZGPpj5.js → synthesis-BEaISjwW.js} +5 -5
- package/dist/{synthesis-BSKiS446.js → synthesis-BSUjIY0v.js} +7 -7
- package/dist/{synthesis-CRQp5mTx.js → synthesis-BtlmxJ7w.js} +43 -43
- package/dist/{synthesis-D3wZX5g3.js → synthesis-DsYfiC2s.js} +28 -28
- package/dist/{system-cli-CUGyogmP.js → system-cli-5_JOcUt0.js} +7 -7
- package/dist/{systemd-8KKQdTO_.js → systemd-9LEEqibe.js} +5 -5
- package/dist/{systemd-hints-_ghBqtKo.js → systemd-hints-CeavseQh.js} +6 -6
- package/dist/{systemd-linger-CnKJZBUr.js → systemd-linger-PqG8iGCt.js} +1 -1
- package/dist/{thinking-BYtE7_UC.js → thinking-CMIo8E_E.js} +2 -2
- package/dist/{tokens-wW7opugV.js → tokens-BBh6tlmO.js} +2 -5
- package/dist/{tokens-DvvjOTxN.js → tokens-BKbemuIk.js} +1 -4
- package/dist/{tokens-CGqnWNmv.js → tokens-CJgPtOxz.js} +1 -4
- package/dist/{tokens-DJQ4rO24.js → tokens-K3kGchJA.js} +1 -4
- package/dist/{tool-loop-detection-DyZ0TWGh.js → tool-loop-detection-BR52lwOt.js} +2 -2
- package/dist/{tui-fKWqWqeq.js → tui-Bnusp3Vd.js} +7 -7
- package/dist/{tui-cli-BPOcMJ-f.js → tui-cli-BY8W9Yjm.js} +19 -19
- package/dist/{unified-runner-DftrstdI.js → unified-runner-BPyxPZv9.js} +75 -248
- package/dist/{unified-runner-Cdj1nLUh.js → unified-runner-Bn9vq7Zy.js} +132 -309
- package/dist/{update-XJWQZpV7.js → update-BvDXKE6K.js} +3 -3
- package/dist/{update-check-BdSIMYWq.js → update-check-CZxZhEXr.js} +5 -5
- package/dist/{update-cli-jQo-vg6S.js → update-cli-BXtHo0ox.js} +12 -12
- package/dist/{update-cli-D_MLjj6j.js → update-cli-DLx7LNVB.js} +75 -75
- package/dist/{update-runner-D_UHlPN0.js → update-runner-C8L4XRQb.js} +15 -15
- package/dist/{webhooks-cli-DgRLVVrD.js → webhooks-cli-CXbv4eB6.js} +4 -4
- package/dist/{with-timeout-DwVWQ2sN.js → with-timeout-C0UtpXBj.js} +1 -1
- package/dist/{workspace-OBnI5mKu.js → workspace-CsaDUuDn.js} +2 -2
- package/dist/{workspace-dirs-DStsDXra.js → workspace-dirs-gn_0yzFP.js} +1 -1
- package/dist/{wsl-DO9usEVV.js → wsl-ZWGwnnKI.js} +2 -2
- package/package.json +1 -1
- package/dist/plugin-sdk/auto-reply/heartbeat.d.ts +0 -26
- package/dist/plugin-sdk/auto-reply/reply/middleware-heartbeat-strip.d.ts +0 -25
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { a as resolveOAuthDir, c as expandHomePrefix, i as resolveGatewayPort, n as resolveConfigPath, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CE7eVGHg.js";
|
|
3
3
|
import { _ as isSubagentSessionKey, a as classifySessionKeyShape, c as resolveAgentIdFromSessionKey, d as DEFAULT_ACCOUNT_ID, f as normalizeAccountId, g as isCronSessionKey, h as isAcpSessionKey, l as resolveThreadSessionKeys, m as getSubagentDepth, o as normalizeAgentId, r as buildAgentMainSessionKey, s as normalizeMainKey, t as DEFAULT_AGENT_ID, u as sanitizeAgentId, v as parseAgentSessionKey, y as resolveThreadParentSessionKey } from "./session-key-BmQ2R1ev.js";
|
|
4
|
-
import { $ as sleep, A as theme, B as clampInt, C as logVerbose, D as warn, E as shouldLogVerbose, G as isRecord, H as ensureDir$3, I as normalizeLogLevel, O as colorize, Q as shortenHomePath, R as resolvePreferredSymiTmpDir, T as setVerbose, U as escapeRegExp, W as formatTerminalLink, X as safeParseJson, Y as resolveUserPath, Z as shortenHomeInString, a as normalizeAnyChannelId, b as danger, d as createPluginRegistry, et as sliceUtf16Safe, f as clearPluginCommands, g as createInternalHookEvent, h as matchPluginCommand, j as getChildLogger, k as isRich, m as listPluginCommands, n as CHAT_CHANNEL_ORDER, nt as isPlainObject, o as normalizeChannelId, p as executePluginCommand, tt as truncateUtf16Safe, u as setActivePluginRegistry, y as triggerInternalHook, z as CONFIG_DIR } from "./registry-
|
|
5
|
-
import { a as resolveAgentSkillsFilter, l as resolveSessionAgentId, n as resolveAgentConfig, o as resolveAgentWorkspaceDir, r as resolveAgentDir, s as resolveDefaultAgentId, u as resolveSessionAgentIds } from "./agent-scope-
|
|
6
|
-
import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-
|
|
7
|
-
import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, h as resolveSymiPackageRootSync, l as ensureAgentWorkspace, m as resolveSymiPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as logInfo, y as logDebug } from "./workspace-
|
|
8
|
-
import { $ as DEFAULT_MODEL, A as resolveThinkingDefault, B as requireApiKey, C as normalizeModelRef$1, D as resolveDefaultModelForAgent, E as resolveConfiguredModelRef, F as resolveImplicitProviders, G as normalizeSecretInput, H as resolveEnvApiKey, I as OLLAMA_NATIVE_BASE_URL, J as resolveShellEnvFallbackTimeoutMs, K as getShellPathFromLoginShell, L as createOllamaStreamFn, M as normalizeProviders, N as resolveImplicitBedrockProvider, O as resolveModelRefFromString, P as resolveImplicitCopilotProvider, Q as DEFAULT_CONTEXT_TOKENS, R as getApiKeyForModel, S as modelKey, U as resolveModelAuthMode, V as resolveApiKeyForProvider, Z as isTruthyEnvValue, _ as buildAllowedModelSet, a as markAuthProfileFailure, b as findNormalizedProviderValue, c as dedupeProfileIds, d as ensureAuthProfileStore, et as DEFAULT_PROVIDER, f as resolveAuthStorePathForDisplay, i as isProfileInCooldown, j as normalizeGoogleModelId, k as resolveSubagentSpawnModelSelection, l as listProfilesForProvider, m as withFileLock$1, n as resolveAuthProfileOrder, nt as resolveCliName, o as markAuthProfileUsed, p as resolveSymiAgentDir, r as getSoonestCooldownExpiry, rt as resolveAuthProfileDisplayLabel, s as resolveApiKeyForProfile, tt as formatCliCommand, u as markAuthProfileGood, v as buildConfiguredAllowlistKeys, w as normalizeProviderId, y as buildModelAliasIndex, z as getCustomProviderApiKey } from "./auth-profiles-
|
|
4
|
+
import { $ as sleep, A as theme, B as clampInt, C as logVerbose, D as warn, E as shouldLogVerbose, G as isRecord, H as ensureDir$3, I as normalizeLogLevel, O as colorize, Q as shortenHomePath, R as resolvePreferredSymiTmpDir, T as setVerbose, U as escapeRegExp, W as formatTerminalLink, X as safeParseJson, Y as resolveUserPath, Z as shortenHomeInString, a as normalizeAnyChannelId, b as danger, d as createPluginRegistry, et as sliceUtf16Safe, f as clearPluginCommands, g as createInternalHookEvent, h as matchPluginCommand, j as getChildLogger, k as isRich, m as listPluginCommands, n as CHAT_CHANNEL_ORDER, nt as isPlainObject, o as normalizeChannelId, p as executePluginCommand, tt as truncateUtf16Safe, u as setActivePluginRegistry, y as triggerInternalHook, z as CONFIG_DIR } from "./registry-C-JddWwo.js";
|
|
5
|
+
import { a as resolveAgentSkillsFilter, l as resolveSessionAgentId, n as resolveAgentConfig, o as resolveAgentWorkspaceDir, r as resolveAgentDir, s as resolveDefaultAgentId, u as resolveSessionAgentIds } from "./agent-scope-D_MtsuXX.js";
|
|
6
|
+
import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-DzRUKS9f.js";
|
|
7
|
+
import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, h as resolveSymiPackageRootSync, l as ensureAgentWorkspace, m as resolveSymiPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as logInfo, y as logDebug } from "./workspace-CsaDUuDn.js";
|
|
8
|
+
import { $ as DEFAULT_MODEL, A as resolveThinkingDefault, B as requireApiKey, C as normalizeModelRef$1, D as resolveDefaultModelForAgent, E as resolveConfiguredModelRef, F as resolveImplicitProviders, G as normalizeSecretInput, H as resolveEnvApiKey, I as OLLAMA_NATIVE_BASE_URL, J as resolveShellEnvFallbackTimeoutMs, K as getShellPathFromLoginShell, L as createOllamaStreamFn, M as normalizeProviders, N as resolveImplicitBedrockProvider, O as resolveModelRefFromString, P as resolveImplicitCopilotProvider, Q as DEFAULT_CONTEXT_TOKENS, R as getApiKeyForModel, S as modelKey, U as resolveModelAuthMode, V as resolveApiKeyForProvider, Z as isTruthyEnvValue, _ as buildAllowedModelSet, a as markAuthProfileFailure, b as findNormalizedProviderValue, c as dedupeProfileIds, d as ensureAuthProfileStore, et as DEFAULT_PROVIDER, f as resolveAuthStorePathForDisplay, i as isProfileInCooldown, j as normalizeGoogleModelId, k as resolveSubagentSpawnModelSelection, l as listProfilesForProvider, m as withFileLock$1, n as resolveAuthProfileOrder, nt as resolveCliName, o as markAuthProfileUsed, p as resolveSymiAgentDir, r as getSoonestCooldownExpiry, rt as resolveAuthProfileDisplayLabel, s as resolveApiKeyForProfile, tt as formatCliCommand, u as markAuthProfileGood, v as buildConfiguredAllowlistKeys, w as normalizeProviderId, y as buildModelAliasIndex, z as getCustomProviderApiKey } from "./auth-profiles-duUuQXeC.js";
|
|
9
9
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-B31ugq7R.js";
|
|
10
10
|
import { t as parseBooleanValue } from "./boolean-mcn6kL0s.js";
|
|
11
|
-
import { $ as resolveSandboxContext, $t as resolveBrowserControlAuth, A as isGoogleModelApi, At as resolveSessionResetPolicy, B as isCompactionFailureError, Bt as resolveGroupSessionKey, C as sanitizeImageBlocks, Ct as INPUT_PROVENANCE_KIND_VALUES, D as extractToolResultId, Dt as resolveSessionKey, E as extractToolCallsFromAssistant, Et as normalizeInputProvenance, F as formatRawAssistantErrorForUi, Ft as canonicalizeMainSessionAlias, G as isRateLimitAssistantError, Gt as resolveBrowserConfig, H as isFailoverAssistantError, Ht as resolveSessionLockMaxHoldFromTimeout, I as getApiErrorPayloadFingerprint, J as isTransientHttpError, Jt as saveMediaBuffer, K as isRawApiErrorPayload, Kt as resolveProfile, L as isAuthAssistantError, M as classifyFailoverReason, Mt as resolveThreadFlag, N as formatAssistantErrorText, Nt as DEFAULT_RESET_TRIGGERS, O as downgradeOpenAIReasoningBlocks, Ot as evaluateSessionFreshness, P as formatBillingErrorMessage, Pt as resolveFreshSessionTotalTokens, Q as ensureSandboxWorkspaceForSession, Qt as ensureBrowserControlAuth, R as isBillingAssistantError, Rt as resolveMainSessionKey, S as sanitizeSessionMessagesImages, St as extractToolCallNames, T as resolveImageSanitizationLimits, Tt as hasInterSessionUserProvenance, U as isFailoverErrorMessage, Ut as createBrowserRouteContext, V as isContextOverflowError, Vt as acquireSessionWriteLock, W as isLikelyContextOverflowError, Wt as registerBrowserRoutes, X as parseImageSizeError, Xt as resolveExistingPathsWithinRoot, Y as parseImageDimensionError, Yt as DEFAULT_UPLOAD_DIR, Z as sanitizeUserFacingText, Zt as getBridgeAuthForPort, _ as validateAnthropicTurns, _t as normalizeSessionDeliveryFields, an as mergeAlsoAllowPolicy, at as loadSessionStore, b as isMessagingToolDuplicateNormalized, bt as capArrayByJsonBytes, c as normalizeChannelTargetInput, cn as stripPluginOnlyAllowlist, ct as updateLastRoute, d as parseReplyDirectives, dn as buildBootstrapContextFiles, dt as isCacheEnabled, en as applyOwnerOnlyToolPolicy, et as resolveSandboxRuntimeStatus, f as MEDIA_TOKEN_RE, fn as ensureSessionHeader, ft as resolveCacheTtlMs$1, g as initializeGlobalHookRunner, gt as normalizeDeliveryContext, h as getGlobalHookRunner, hn as sanitizeGoogleTurnOrdering, ht as mergeDeliveryContext, in as expandToolGroups, it as resolveAndPersistSessionFile, j as BILLING_ERROR_USER_MESSAGE, jt as resolveSessionResetType, k as isAntigravityClaude, kt as resolveChannelResetConfig, l as normalizeTargetForProvider, ln as compileGlobPatterns, lt as updateSessionStore, m as parseInlineDirectives$1, mn as resolveBootstrapTotalMaxChars, mt as deliveryContextKey, nn as collectExplicitAllowlist, o as normalizeReplyPayloadsForDelivery, on as normalizeToolName$1, ot as readSessionUpdatedAt, p as splitMediaFromOutput, pn as resolveBootstrapMaxChars, pt as deliveryContextFromSession, q as isTimeoutErrorMessage, qt as getMediaDir, rn as expandPolicyWithPluginGroups, rt as appendAssistantMessageToSessionTranscript, s as buildTargetResolverSignature, sn as resolveToolProfilePolicy, st as recordSessionMetaFromInbound, t as deliverOutboundPayloads, tn as buildPluginToolGroups, tt as extractDeliveryInfo, u as throwIfAborted, un as matchesAnyGlobPattern, ut as updateSessionStoreEntry, v as validateGeminiTurns, w as sanitizeToolResultImages, wt as applyInputProvenanceToUserMessage, x as normalizeTextForComparison, xt as countToolResults, y as pickFallbackThinkingLevel, yt as archiveSessionTranscripts, z as isCloudCodeAssistFormatError, zt as deriveSessionMetaPatch } from "./deliver-
|
|
12
|
-
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-
|
|
13
|
-
import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-
|
|
14
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
15
|
-
import { l as parseFrontmatterBlock } from "./frontmatter-
|
|
16
|
-
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-
|
|
11
|
+
import { $ as resolveSandboxContext, $t as resolveBrowserControlAuth, A as isGoogleModelApi, At as resolveSessionResetPolicy, B as isCompactionFailureError, Bt as resolveGroupSessionKey, C as sanitizeImageBlocks, Ct as INPUT_PROVENANCE_KIND_VALUES, D as extractToolResultId, Dt as resolveSessionKey, E as extractToolCallsFromAssistant, Et as normalizeInputProvenance, F as formatRawAssistantErrorForUi, Ft as canonicalizeMainSessionAlias, G as isRateLimitAssistantError, Gt as resolveBrowserConfig, H as isFailoverAssistantError, Ht as resolveSessionLockMaxHoldFromTimeout, I as getApiErrorPayloadFingerprint, J as isTransientHttpError, Jt as saveMediaBuffer, K as isRawApiErrorPayload, Kt as resolveProfile, L as isAuthAssistantError, M as classifyFailoverReason, Mt as resolveThreadFlag, N as formatAssistantErrorText, Nt as DEFAULT_RESET_TRIGGERS, O as downgradeOpenAIReasoningBlocks, Ot as evaluateSessionFreshness, P as formatBillingErrorMessage, Pt as resolveFreshSessionTotalTokens, Q as ensureSandboxWorkspaceForSession, Qt as ensureBrowserControlAuth, R as isBillingAssistantError, Rt as resolveMainSessionKey, S as sanitizeSessionMessagesImages, St as extractToolCallNames, T as resolveImageSanitizationLimits, Tt as hasInterSessionUserProvenance, U as isFailoverErrorMessage, Ut as createBrowserRouteContext, V as isContextOverflowError, Vt as acquireSessionWriteLock, W as isLikelyContextOverflowError, Wt as registerBrowserRoutes, X as parseImageSizeError, Xt as resolveExistingPathsWithinRoot, Y as parseImageDimensionError, Yt as DEFAULT_UPLOAD_DIR, Z as sanitizeUserFacingText, Zt as getBridgeAuthForPort, _ as validateAnthropicTurns, _t as normalizeSessionDeliveryFields, an as mergeAlsoAllowPolicy, at as loadSessionStore, b as isMessagingToolDuplicateNormalized, bt as capArrayByJsonBytes, c as normalizeChannelTargetInput, cn as stripPluginOnlyAllowlist, ct as updateLastRoute, d as parseReplyDirectives, dn as buildBootstrapContextFiles, dt as isCacheEnabled, en as applyOwnerOnlyToolPolicy, et as resolveSandboxRuntimeStatus, f as MEDIA_TOKEN_RE, fn as ensureSessionHeader, ft as resolveCacheTtlMs$1, g as initializeGlobalHookRunner, gt as normalizeDeliveryContext, h as getGlobalHookRunner, hn as sanitizeGoogleTurnOrdering, ht as mergeDeliveryContext, in as expandToolGroups, it as resolveAndPersistSessionFile, j as BILLING_ERROR_USER_MESSAGE, jt as resolveSessionResetType, k as isAntigravityClaude, kt as resolveChannelResetConfig, l as normalizeTargetForProvider, ln as compileGlobPatterns, lt as updateSessionStore, m as parseInlineDirectives$1, mn as resolveBootstrapTotalMaxChars, mt as deliveryContextKey, nn as collectExplicitAllowlist, o as normalizeReplyPayloadsForDelivery, on as normalizeToolName$1, ot as readSessionUpdatedAt, p as splitMediaFromOutput, pn as resolveBootstrapMaxChars, pt as deliveryContextFromSession, q as isTimeoutErrorMessage, qt as getMediaDir, rn as expandPolicyWithPluginGroups, rt as appendAssistantMessageToSessionTranscript, s as buildTargetResolverSignature, sn as resolveToolProfilePolicy, st as recordSessionMetaFromInbound, t as deliverOutboundPayloads, tn as buildPluginToolGroups, tt as extractDeliveryInfo, u as throwIfAborted, un as matchesAnyGlobPattern, ut as updateSessionStoreEntry, v as validateGeminiTurns, w as sanitizeToolResultImages, wt as applyInputProvenanceToUserMessage, x as normalizeTextForComparison, xt as countToolResults, y as pickFallbackThinkingLevel, yt as archiveSessionTranscripts, z as isCloudCodeAssistFormatError, zt as deriveSessionMetaPatch } from "./deliver-DSv-Z24A.js";
|
|
12
|
+
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-Dcgaqg3U.js";
|
|
13
|
+
import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-DsTUFMvZ.js";
|
|
14
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-C9mX2mtt.js";
|
|
15
|
+
import { l as parseFrontmatterBlock } from "./frontmatter-BzAaXBfE.js";
|
|
16
|
+
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-D0k4o0Ez.js";
|
|
17
17
|
import { n as redactToolDetail } from "./redact-Dd8jrogi.js";
|
|
18
18
|
import { n as formatErrorMessage } from "./errors-BkfLlDKo.js";
|
|
19
|
-
import { _ as MAX_IMAGE_BYTES, d as extensionForMime, f as getFileExtension, g as normalizeMimeType$1, h as kindFromMime, l as resizeToJpeg, m as isAudioFileName, n as getDefaultMediaLocalRoots, o as getImageMetadata, p as imageMimeFromFormat, u as detectMime, y as mediaKindFromMime } from "./local-roots-
|
|
20
|
-
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-
|
|
21
|
-
import { C as GATEWAY_CLIENT_MODES, S as GATEWAY_CLIENT_IDS, _ as isMarkdownCapableMessageChannel, a as chunkText, b as resolveGatewayMessageChannel, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, g 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 listDeliverableMessageChannels, w as GATEWAY_CLIENT_NAMES, y as normalizeMessageChannel } from "./chunk-
|
|
19
|
+
import { _ as MAX_IMAGE_BYTES, d as extensionForMime, f as getFileExtension, g as normalizeMimeType$1, h as kindFromMime, l as resizeToJpeg, m as isAudioFileName, n as getDefaultMediaLocalRoots, o as getImageMetadata, p as imageMimeFromFormat, u as detectMime, y as mediaKindFromMime } from "./local-roots-WWcVq0Ma.js";
|
|
20
|
+
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-CMIo8E_E.js";
|
|
21
|
+
import { C as GATEWAY_CLIENT_MODES, S as GATEWAY_CLIENT_IDS, _ as isMarkdownCapableMessageChannel, a as chunkText, b as resolveGatewayMessageChannel, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, g 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 listDeliverableMessageChannels, w as GATEWAY_CLIENT_NAMES, y as normalizeMessageChannel } from "./chunk-5H33X8qU.js";
|
|
22
22
|
import { t as normalizeChatType } from "./chat-type-BPBtOjer.js";
|
|
23
23
|
import { n as resolveConversationLabel } from "./conversation-label-tLwAlqLf.js";
|
|
24
|
-
import { i as resolveSlackAccount, n as listChannelPlugins, o as resolveSlackAppToken, r as normalizeChannelId$1, s as resolveSlackBotToken, t as getChannelPlugin } from "./plugins-
|
|
25
|
-
import { _ as validateSlackBlocksArray, a as markdownToIRWithMeta, b as resolveSlackChannelId, c as MediaFetchError, d as fetchWithSsrFGuard, f as bindAbortRelay, g as parseSlackBlocksInput, h as resolveSlackWebClientOptions, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as createSlackWebClient, o as getDefaultLocalRoots, p as fetchWithTimeout, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit, v as buildSlackBlocksFallbackText, y as parseSlackTarget } from "./send-
|
|
24
|
+
import { i as resolveSlackAccount, n as listChannelPlugins, o as resolveSlackAppToken, r as normalizeChannelId$1, s as resolveSlackBotToken, t as getChannelPlugin } from "./plugins-CcVzjOo_.js";
|
|
25
|
+
import { _ as validateSlackBlocksArray, a as markdownToIRWithMeta, b as resolveSlackChannelId, c as MediaFetchError, d as fetchWithSsrFGuard, f as bindAbortRelay, g as parseSlackBlocksInput, h as resolveSlackWebClientOptions, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as createSlackWebClient, o as getDefaultLocalRoots, p as fetchWithTimeout, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit, v as buildSlackBlocksFallbackText, y as parseSlackTarget } from "./send-DulXmWcG.js";
|
|
26
26
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BeAyfCRg.js";
|
|
27
27
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-JGGQViao.js";
|
|
28
|
-
import {
|
|
29
|
-
import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-
|
|
28
|
+
import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-BBh6tlmO.js";
|
|
29
|
+
import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-D7z6O7v0.js";
|
|
30
30
|
import { n as getDiagnosticSessionState } from "./diagnostic-session-state-BkfiP_y6.js";
|
|
31
|
-
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-
|
|
32
|
-
import { a as resolveEffectiveMessagesConfig, i as resolveAckReaction, o as resolveHumanDelayConfig, r as resolveResponsePrefixTemplate, t as createReplyPrefixOptions } from "./reply-prefix-
|
|
33
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-
|
|
31
|
+
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-D4Bl4hBw.js";
|
|
32
|
+
import { a as resolveEffectiveMessagesConfig, i as resolveAckReaction, o as resolveHumanDelayConfig, r as resolveResponsePrefixTemplate, t as createReplyPrefixOptions } from "./reply-prefix-ChIeKp-P.js";
|
|
33
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-D_AVoLu8.js";
|
|
34
34
|
import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-Crkye5gI.js";
|
|
35
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
36
|
-
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-
|
|
37
|
-
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-
|
|
35
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-ptfgMe6b.js";
|
|
36
|
+
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-DaPrWQSe.js";
|
|
37
|
+
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-Cwrebyvj.js";
|
|
38
38
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CJj1VfzK.js";
|
|
39
39
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-B_aXYZv5.js";
|
|
40
|
-
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-
|
|
41
|
-
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
40
|
+
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CIS2tjpz.js";
|
|
41
|
+
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-C82xaXm3.js";
|
|
42
42
|
import { createRequire } from "node:module";
|
|
43
43
|
import * as path$1 from "node:path";
|
|
44
44
|
import path from "node:path";
|
|
@@ -48,7 +48,7 @@ import * as fs$2 from "node:fs/promises";
|
|
|
48
48
|
import fs$1 from "node:fs/promises";
|
|
49
49
|
import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
|
|
50
50
|
import { promisify } from "node:util";
|
|
51
|
-
import
|
|
51
|
+
import JSON5 from "json5";
|
|
52
52
|
import { fileURLToPath } from "node:url";
|
|
53
53
|
import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
|
|
54
54
|
import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
|
|
@@ -1020,17 +1020,11 @@ function resolveModelProfile(modelId, userProfiles) {
|
|
|
1020
1020
|
//#endregion
|
|
1021
1021
|
//#region src/gateway/outbound-filter.ts
|
|
1022
1022
|
const SILENT_REPLY_BARE_RE = new RegExp(`^\\s*(?:["'\`]|\\*+|_+)?\\s*${SILENT_REPLY_TOKEN}\\s*(?:["'\`]|\\*+|_+)?\\s*$`);
|
|
1023
|
-
const SYMIPULSE_BARE_RE = new RegExp(`^\\s*(?:["'\`]|\\*+|_+)?\\s*${SYMIPULSE_TOKEN}\\s*(?:["'\`]|\\*+|_+)?\\s*$`);
|
|
1024
1023
|
/** Strict-match check for the bare NO_REPLY token. */
|
|
1025
1024
|
function isBareSilentReply(text) {
|
|
1026
1025
|
if (!text) return false;
|
|
1027
1026
|
return SILENT_REPLY_BARE_RE.test(text);
|
|
1028
1027
|
}
|
|
1029
|
-
/** Strict-match check for the bare SYMIPULSE_OK token. */
|
|
1030
|
-
function isBareSymipulseAck(text) {
|
|
1031
|
-
if (!text) return false;
|
|
1032
|
-
return SYMIPULSE_BARE_RE.test(text);
|
|
1033
|
-
}
|
|
1034
1028
|
/**
|
|
1035
1029
|
* Classify an outbound assistant message at the gateway boundary.
|
|
1036
1030
|
*
|
|
@@ -1044,11 +1038,6 @@ function classifyOutboundMessage(rawText, _opts) {
|
|
|
1044
1038
|
output: "",
|
|
1045
1039
|
reason: "silent-reply-bare"
|
|
1046
1040
|
};
|
|
1047
|
-
if (isBareSymipulseAck(text)) return {
|
|
1048
|
-
action: "drop",
|
|
1049
|
-
output: "",
|
|
1050
|
-
reason: "symipulse-non-heartbeat-bare"
|
|
1051
|
-
};
|
|
1052
1041
|
return {
|
|
1053
1042
|
action: "deliver",
|
|
1054
1043
|
output: text,
|
|
@@ -2098,7 +2087,7 @@ async function getMemorySearchManager(params) {
|
|
|
2098
2087
|
if (cached) return { manager: cached };
|
|
2099
2088
|
}
|
|
2100
2089
|
try {
|
|
2101
|
-
const { QmdMemoryManager } = await import("./qmd-manager-
|
|
2090
|
+
const { QmdMemoryManager } = await import("./qmd-manager-CTHJcHPq.js");
|
|
2102
2091
|
const primary = await QmdMemoryManager.create({
|
|
2103
2092
|
cfg: params.cfg,
|
|
2104
2093
|
agentId: params.agentId,
|
|
@@ -2110,7 +2099,7 @@ async function getMemorySearchManager(params) {
|
|
|
2110
2099
|
const wrapper = new FallbackMemoryManager({
|
|
2111
2100
|
primary,
|
|
2112
2101
|
fallbackFactory: async () => {
|
|
2113
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
2102
|
+
const { MemoryIndexManager } = await import("./manager-D_AVoLu8.js").then((n) => n.t);
|
|
2114
2103
|
return await MemoryIndexManager.get(params);
|
|
2115
2104
|
}
|
|
2116
2105
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -2123,7 +2112,7 @@ async function getMemorySearchManager(params) {
|
|
|
2123
2112
|
}
|
|
2124
2113
|
}
|
|
2125
2114
|
try {
|
|
2126
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
2115
|
+
const { MemoryIndexManager } = await import("./manager-D_AVoLu8.js").then((n) => n.t);
|
|
2127
2116
|
return { manager: await MemoryIndexManager.get(params) };
|
|
2128
2117
|
} catch (err) {
|
|
2129
2118
|
return {
|
|
@@ -5018,8 +5007,6 @@ function buildAgentSystemPrompt(params) {
|
|
|
5018
5007
|
const reasoningLevel = params.reasoningLevel ?? "off";
|
|
5019
5008
|
const userTimezone = params.userTimezone?.trim();
|
|
5020
5009
|
const skillsPrompt = params.skillsPrompt?.trim();
|
|
5021
|
-
const heartbeatPrompt = params.heartbeatPrompt?.trim();
|
|
5022
|
-
const heartbeatPromptLine = heartbeatPrompt ? `Heartbeat prompt: ${heartbeatPrompt}` : "Heartbeat prompt: (configured)";
|
|
5023
5010
|
const runtimeInfo = params.runtimeInfo;
|
|
5024
5011
|
const runtimeChannel = runtimeInfo?.channel?.trim().toLowerCase();
|
|
5025
5012
|
const runtimeCapabilities = (runtimeInfo?.capabilities ?? []).map((cap) => String(cap).trim()).filter(Boolean);
|
|
@@ -5232,7 +5219,6 @@ function buildAgentSystemPrompt(params) {
|
|
|
5232
5219
|
for (const file of validContextFiles) lines.push(`## ${file.path}`, "", file.content, "");
|
|
5233
5220
|
}
|
|
5234
5221
|
if (!isMinimal && !isCoding) lines.push("## Silent Replies", `When you have nothing to say, respond with ONLY: ${SILENT_REPLY_TOKEN}`, "", "⚠️ Rules:", "- It must be your ENTIRE message — nothing else", `- Never append it to an actual response (never include "${SILENT_REPLY_TOKEN}" in real replies)`, "- Never wrap it in markdown or code blocks", "", `❌ Wrong: "Here's help... ${SILENT_REPLY_TOKEN}"`, `❌ Wrong: "${SILENT_REPLY_TOKEN}"`, `✅ Right: ${SILENT_REPLY_TOKEN}`, "");
|
|
5235
|
-
if (!isMinimal && !isCoding) lines.push("## Heartbeats", heartbeatPromptLine, "If you receive a heartbeat poll (a user message matching the heartbeat prompt above), and there is nothing that needs attention, reply exactly:", "SYMIPULSE_OK", "Symi treats a leading/trailing \"SYMIPULSE_OK\" as a heartbeat ack (and may discard it).", "If something needs attention, do NOT include \"SYMIPULSE_OK\"; reply with the alert text instead.", "");
|
|
5236
5222
|
lines.push("## Runtime", buildRuntimeLine(runtimeInfo, runtimeChannel, runtimeCapabilities, params.defaultThinkLevel), `Reasoning: ${reasoningLevel} (hidden unless on/stream). Toggle /reasoning; /status shows Reasoning when enabled.`);
|
|
5237
5223
|
return lines.filter(Boolean).join("\n");
|
|
5238
5224
|
}
|
|
@@ -5276,10 +5262,8 @@ function buildEmbeddedSystemPrompt(params) {
|
|
|
5276
5262
|
ownerDisplay: params.ownerDisplay,
|
|
5277
5263
|
ownerDisplaySecret: params.ownerDisplaySecret,
|
|
5278
5264
|
reasoningTagHint: params.reasoningTagHint,
|
|
5279
|
-
heartbeatPrompt: params.heartbeatPrompt,
|
|
5280
5265
|
skillsPrompt: params.skillsPrompt,
|
|
5281
5266
|
docsPath: params.docsPath,
|
|
5282
|
-
ttsHint: params.ttsHint,
|
|
5283
5267
|
workspaceNotes: params.workspaceNotes,
|
|
5284
5268
|
reactionGuidance: params.reactionGuidance,
|
|
5285
5269
|
promptMode: params.promptMode,
|
|
@@ -5346,7 +5330,7 @@ async function recordLoopOutcome(args) {
|
|
|
5346
5330
|
if (!args.ctx?.sessionKey) return;
|
|
5347
5331
|
try {
|
|
5348
5332
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BkfiP_y6.js").then((n) => n.t);
|
|
5349
|
-
const { recordToolCallOutcome } = await import("./tool-loop-detection-
|
|
5333
|
+
const { recordToolCallOutcome } = await import("./tool-loop-detection-BR52lwOt.js");
|
|
5350
5334
|
recordToolCallOutcome(getDiagnosticSessionState({
|
|
5351
5335
|
sessionKey: args.ctx.sessionKey,
|
|
5352
5336
|
sessionId: args.ctx?.agentId
|
|
@@ -5367,8 +5351,8 @@ async function runBeforeToolCallHook(args) {
|
|
|
5367
5351
|
const params = args.params;
|
|
5368
5352
|
if (args.ctx?.sessionKey) {
|
|
5369
5353
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BkfiP_y6.js").then((n) => n.t);
|
|
5370
|
-
const { logToolLoopAction } = await import("./diagnostic-
|
|
5371
|
-
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-
|
|
5354
|
+
const { logToolLoopAction } = await import("./diagnostic-D7z6O7v0.js").then((n) => n.n);
|
|
5355
|
+
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-BR52lwOt.js");
|
|
5372
5356
|
const sessionState = getDiagnosticSessionState({
|
|
5373
5357
|
sessionKey: args.ctx.sessionKey,
|
|
5374
5358
|
sessionId: args.ctx?.agentId
|
|
@@ -8367,97 +8351,6 @@ function clearSessionQueues(keys) {
|
|
|
8367
8351
|
};
|
|
8368
8352
|
}
|
|
8369
8353
|
|
|
8370
|
-
//#endregion
|
|
8371
|
-
//#region src/auto-reply/heartbeat.ts
|
|
8372
|
-
const DEFAULT_HEARTBEAT_ACK_MAX_CHARS = 300;
|
|
8373
|
-
function stripTokenAtEdges(raw) {
|
|
8374
|
-
let text = raw.trim();
|
|
8375
|
-
if (!text) return {
|
|
8376
|
-
text: "",
|
|
8377
|
-
didStrip: false
|
|
8378
|
-
};
|
|
8379
|
-
const token = SYMIPULSE_TOKEN;
|
|
8380
|
-
const tokenAtEndWithOptionalTrailingPunctuation = new RegExp(`${escapeRegExp(token)}[^\\w]{0,4}$`);
|
|
8381
|
-
if (!text.includes(token)) return {
|
|
8382
|
-
text,
|
|
8383
|
-
didStrip: false
|
|
8384
|
-
};
|
|
8385
|
-
let didStrip = false;
|
|
8386
|
-
let changed = true;
|
|
8387
|
-
while (changed) {
|
|
8388
|
-
changed = false;
|
|
8389
|
-
const next = text.trim();
|
|
8390
|
-
if (next.startsWith(token)) {
|
|
8391
|
-
text = next.slice(token.length).trimStart();
|
|
8392
|
-
didStrip = true;
|
|
8393
|
-
changed = true;
|
|
8394
|
-
continue;
|
|
8395
|
-
}
|
|
8396
|
-
if (tokenAtEndWithOptionalTrailingPunctuation.test(next)) {
|
|
8397
|
-
const idx = next.lastIndexOf(token);
|
|
8398
|
-
const before = next.slice(0, idx).trimEnd();
|
|
8399
|
-
if (!before) text = "";
|
|
8400
|
-
else text = `${before}${next.slice(idx + token.length).trimStart()}`.trimEnd();
|
|
8401
|
-
didStrip = true;
|
|
8402
|
-
changed = true;
|
|
8403
|
-
}
|
|
8404
|
-
}
|
|
8405
|
-
return {
|
|
8406
|
-
text: text.replace(/\s+/g, " ").trim(),
|
|
8407
|
-
didStrip
|
|
8408
|
-
};
|
|
8409
|
-
}
|
|
8410
|
-
function stripHeartbeatToken(raw, opts = {}) {
|
|
8411
|
-
if (!raw) return {
|
|
8412
|
-
shouldSkip: true,
|
|
8413
|
-
text: "",
|
|
8414
|
-
didStrip: false
|
|
8415
|
-
};
|
|
8416
|
-
const trimmed = raw.trim();
|
|
8417
|
-
if (!trimmed) return {
|
|
8418
|
-
shouldSkip: true,
|
|
8419
|
-
text: "",
|
|
8420
|
-
didStrip: false
|
|
8421
|
-
};
|
|
8422
|
-
const mode = opts.mode ?? "message";
|
|
8423
|
-
const maxAckCharsRaw = opts.maxAckChars;
|
|
8424
|
-
const parsedAckChars = typeof maxAckCharsRaw === "string" ? Number(maxAckCharsRaw) : maxAckCharsRaw;
|
|
8425
|
-
const maxAckChars = Math.max(0, typeof parsedAckChars === "number" && Number.isFinite(parsedAckChars) ? parsedAckChars : DEFAULT_HEARTBEAT_ACK_MAX_CHARS);
|
|
8426
|
-
const stripMarkup = (text) => text.replace(/<[^>]*>/g, " ").replace(/ /gi, " ").replace(/^[*`~_]+/, "").replace(/[*`~_]+$/, "");
|
|
8427
|
-
const trimmedNormalized = stripMarkup(trimmed);
|
|
8428
|
-
if (!(trimmed.includes(SYMIPULSE_TOKEN) || trimmedNormalized.includes(SYMIPULSE_TOKEN))) return {
|
|
8429
|
-
shouldSkip: false,
|
|
8430
|
-
text: trimmed,
|
|
8431
|
-
didStrip: false
|
|
8432
|
-
};
|
|
8433
|
-
const strippedOriginal = stripTokenAtEdges(trimmed);
|
|
8434
|
-
const strippedNormalized = stripTokenAtEdges(trimmedNormalized);
|
|
8435
|
-
const picked = strippedOriginal.didStrip && strippedOriginal.text ? strippedOriginal : strippedNormalized;
|
|
8436
|
-
if (!picked.didStrip) return {
|
|
8437
|
-
shouldSkip: false,
|
|
8438
|
-
text: trimmed,
|
|
8439
|
-
didStrip: false
|
|
8440
|
-
};
|
|
8441
|
-
if (!picked.text) return {
|
|
8442
|
-
shouldSkip: true,
|
|
8443
|
-
text: "",
|
|
8444
|
-
didStrip: true
|
|
8445
|
-
};
|
|
8446
|
-
const rest = picked.text.trim();
|
|
8447
|
-
if (mode === "heartbeat") {
|
|
8448
|
-
if (rest.length <= maxAckChars) return {
|
|
8449
|
-
shouldSkip: true,
|
|
8450
|
-
text: "",
|
|
8451
|
-
didStrip: true
|
|
8452
|
-
};
|
|
8453
|
-
}
|
|
8454
|
-
return {
|
|
8455
|
-
shouldSkip: false,
|
|
8456
|
-
text: rest,
|
|
8457
|
-
didStrip: true
|
|
8458
|
-
};
|
|
8459
|
-
}
|
|
8460
|
-
|
|
8461
8354
|
//#endregion
|
|
8462
8355
|
//#region src/auto-reply/reply/normalize-reply.ts
|
|
8463
8356
|
function normalizeReplyPayload(payload, opts = {}) {
|
|
@@ -8478,15 +8371,6 @@ function normalizeReplyPayload(payload, opts = {}) {
|
|
|
8478
8371
|
text = "";
|
|
8479
8372
|
}
|
|
8480
8373
|
if (text && !trimmed) text = "";
|
|
8481
|
-
if ((opts.stripHeartbeat ?? true) && text?.includes(HEARTBEAT_TOKEN)) {
|
|
8482
|
-
const stripped = stripHeartbeatToken(text, { mode: "message" });
|
|
8483
|
-
if (stripped.didStrip) opts.onHeartbeatStrip?.();
|
|
8484
|
-
if (stripped.shouldSkip && !hasMedia && !hasChannelData) {
|
|
8485
|
-
opts.onSkip?.("heartbeat");
|
|
8486
|
-
return null;
|
|
8487
|
-
}
|
|
8488
|
-
text = stripped.text;
|
|
8489
|
-
}
|
|
8490
8374
|
if (text) text = sanitizeUserFacingText(text, { errorContext: Boolean(payload.isError) });
|
|
8491
8375
|
if (!text?.trim() && !hasMedia && !hasChannelData) {
|
|
8492
8376
|
opts.onSkip?.("empty");
|
|
@@ -8497,7 +8381,7 @@ function normalizeReplyPayload(payload, opts = {}) {
|
|
|
8497
8381
|
text
|
|
8498
8382
|
};
|
|
8499
8383
|
const effectivePrefix = opts.responsePrefixContext ? resolveResponsePrefixTemplate(opts.responsePrefix, opts.responsePrefixContext) : opts.responsePrefix;
|
|
8500
|
-
if (effectivePrefix && text &&
|
|
8384
|
+
if (effectivePrefix && text && !text.startsWith(effectivePrefix)) text = `${effectivePrefix} ${text}`;
|
|
8501
8385
|
return {
|
|
8502
8386
|
...enrichedPayload,
|
|
8503
8387
|
text
|
|
@@ -8554,7 +8438,7 @@ async function routeReply(params) {
|
|
|
8554
8438
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
8555
8439
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
8556
8440
|
try {
|
|
8557
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
8441
|
+
const { deliverOutboundPayloads } = await import("./deliver-DSv-Z24A.js").then((n) => n.n);
|
|
8558
8442
|
return {
|
|
8559
8443
|
ok: true,
|
|
8560
8444
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -8840,7 +8724,7 @@ function normalizeSessionKey(value) {
|
|
|
8840
8724
|
function readSessionStore(storePath) {
|
|
8841
8725
|
try {
|
|
8842
8726
|
const raw = fs.readFileSync(storePath, "utf-8");
|
|
8843
|
-
const parsed =
|
|
8727
|
+
const parsed = JSON5.parse(raw);
|
|
8844
8728
|
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
|
|
8845
8729
|
} catch {}
|
|
8846
8730
|
return {};
|
|
@@ -16158,7 +16042,7 @@ async function loadModelCatalog(params) {
|
|
|
16158
16042
|
try {
|
|
16159
16043
|
const cfg = params?.config ?? loadConfig();
|
|
16160
16044
|
await ensureSymiModelsJson(cfg);
|
|
16161
|
-
await (await import("./pi-auth-json-
|
|
16045
|
+
await (await import("./pi-auth-json-D4Bl4hBw.js").then((n) => n.n)).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir(), { config: cfg });
|
|
16162
16046
|
const piSdk = await importPiSdk();
|
|
16163
16047
|
const agentDir = resolveSymiAgentDir();
|
|
16164
16048
|
const { join } = await import("node:path");
|
|
@@ -18291,7 +18175,7 @@ async function createModelSelectionState(params) {
|
|
|
18291
18175
|
}
|
|
18292
18176
|
}
|
|
18293
18177
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
18294
|
-
const { ensureAuthProfileStore } = await import("./auth-profiles-
|
|
18178
|
+
const { ensureAuthProfileStore } = await import("./auth-profiles-duUuQXeC.js").then((n) => n.t);
|
|
18295
18179
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
18296
18180
|
const providerKey = normalizeProviderId(provider);
|
|
18297
18181
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -26961,7 +26845,6 @@ async function resolveCommandsSystemPromptBundle(params) {
|
|
|
26961
26845
|
userTimeFormat,
|
|
26962
26846
|
contextFiles: injectedFiles,
|
|
26963
26847
|
skillsPrompt,
|
|
26964
|
-
heartbeatPrompt: void 0,
|
|
26965
26848
|
runtimeInfo,
|
|
26966
26849
|
sandboxInfo,
|
|
26967
26850
|
memoryCitationsMode: params.cfg?.memory?.citations
|
|
@@ -41406,7 +41289,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
41406
41289
|
return;
|
|
41407
41290
|
}
|
|
41408
41291
|
try {
|
|
41409
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
41292
|
+
const { deliverOutboundPayloads } = await import("./deliver-DSv-Z24A.js").then((n) => n.n);
|
|
41410
41293
|
await deliverOutboundPayloads({
|
|
41411
41294
|
cfg: params.cfg,
|
|
41412
41295
|
channel,
|
|
@@ -42914,54 +42797,6 @@ function withFastAbort(opts) {
|
|
|
42914
42797
|
};
|
|
42915
42798
|
}
|
|
42916
42799
|
|
|
42917
|
-
//#endregion
|
|
42918
|
-
//#region src/auto-reply/reply/middleware-heartbeat-strip.ts
|
|
42919
|
-
/**
|
|
42920
|
-
* Returns a PayloadMiddleware that strips heartbeat tokens, drops silent
|
|
42921
|
-
* replies, and sanitizes user-facing text. Reads `ctx.isHeartbeat` to
|
|
42922
|
-
* decide whether to strip; reads `payload.isError` to give the sanitizer
|
|
42923
|
-
* the right context flag.
|
|
42924
|
-
*
|
|
42925
|
-
* Equivalence claim (proven by tests): for every input shape the chain's
|
|
42926
|
-
* `normalizeStreamingText({text})` would have produced `{ skip, text }`,
|
|
42927
|
-
* this middleware produces the corresponding `PayloadDelivery`:
|
|
42928
|
-
*
|
|
42929
|
-
* skip=true → delivered=false (drop)
|
|
42930
|
-
* skip=false, text=undefined → delivered=true with payload.text undefined
|
|
42931
|
-
* (media-only carry-through case)
|
|
42932
|
-
* skip=false, text=string → delivered=true with payload.text=sanitized
|
|
42933
|
-
*/
|
|
42934
|
-
function withHeartbeatStrip(opts) {
|
|
42935
|
-
let didLogStrip = false;
|
|
42936
|
-
return (next) => async (payload, ctx) => {
|
|
42937
|
-
let text = payload.text;
|
|
42938
|
-
const hasMedia = Boolean(payload.mediaUrl) || (payload.mediaUrls?.length ?? 0) > 0;
|
|
42939
|
-
if (typeof text === "string" && text.includes("SYMIPULSE_OK")) {
|
|
42940
|
-
const stripped = stripHeartbeatToken(text, { mode: "message" });
|
|
42941
|
-
if (stripped.didStrip && !didLogStrip) {
|
|
42942
|
-
didLogStrip = true;
|
|
42943
|
-
opts?.onStrip?.();
|
|
42944
|
-
}
|
|
42945
|
-
if (stripped.shouldSkip && !hasMedia) return PayloadDelivery.drop(payload, "drop:heartbeat-token-bare");
|
|
42946
|
-
text = stripped.text;
|
|
42947
|
-
}
|
|
42948
|
-
if (isSilentReplyText(text, SILENT_REPLY_TOKEN)) return PayloadDelivery.drop(payload, "drop:silent-reply");
|
|
42949
|
-
if (!text) {
|
|
42950
|
-
if (hasMedia) return next({
|
|
42951
|
-
...payload,
|
|
42952
|
-
text: void 0
|
|
42953
|
-
}, ctx);
|
|
42954
|
-
return PayloadDelivery.drop(payload, "drop:empty");
|
|
42955
|
-
}
|
|
42956
|
-
const sanitized = sanitizeUserFacingText(text, { errorContext: Boolean(payload.isError) });
|
|
42957
|
-
if (!sanitized.trim()) return PayloadDelivery.drop(payload, "drop:empty-after-sanitize");
|
|
42958
|
-
return next({
|
|
42959
|
-
...payload,
|
|
42960
|
-
text: sanitized
|
|
42961
|
-
}, ctx);
|
|
42962
|
-
};
|
|
42963
|
-
}
|
|
42964
|
-
|
|
42965
42800
|
//#endregion
|
|
42966
42801
|
//#region src/infra/map-size.ts
|
|
42967
42802
|
function pruneMapToMaxSize(map, maxSize) {
|
|
@@ -43237,25 +43072,22 @@ function withToolResultSerialization(opts) {
|
|
|
43237
43072
|
* session transcript after the inner runner completes.
|
|
43238
43073
|
*
|
|
43239
43074
|
* Skip conditions:
|
|
43240
|
-
* - outbound.action === "drop" (NO_REPLY
|
|
43075
|
+
* - outbound.action === "drop" (NO_REPLY — no message)
|
|
43241
43076
|
* - empty / whitespace-only text
|
|
43242
|
-
* - outbound.action === "deliver-stripped" AND includeStripped=false
|
|
43243
43077
|
*
|
|
43244
43078
|
* The middleware does NOT mutate the turn result — the append is a
|
|
43245
43079
|
* post-turn side effect. The result is returned unchanged regardless of
|
|
43246
43080
|
* append success/failure.
|
|
43247
43081
|
*/
|
|
43248
43082
|
function withTranscriptUpdate(opts) {
|
|
43249
|
-
const includeStripped = opts.includeStripped !== false;
|
|
43250
43083
|
return (next) => async (params) => {
|
|
43251
43084
|
const result = await next(params);
|
|
43252
|
-
if (shouldAppend(result
|
|
43085
|
+
if (shouldAppend(result)) await runAppend(opts, params, result);
|
|
43253
43086
|
return result;
|
|
43254
43087
|
};
|
|
43255
43088
|
}
|
|
43256
|
-
function shouldAppend(result
|
|
43089
|
+
function shouldAppend(result) {
|
|
43257
43090
|
if (result.outbound.action === "drop") return false;
|
|
43258
|
-
if (result.outbound.action === "deliver-stripped" && !includeStripped) return false;
|
|
43259
43091
|
return (typeof result.text === "string" ? result.text.trim() : "").length > 0;
|
|
43260
43092
|
}
|
|
43261
43093
|
async function runAppend(opts, params, result) {
|
|
@@ -43339,7 +43171,6 @@ function buildChannelProfile(opts) {
|
|
|
43339
43171
|
],
|
|
43340
43172
|
payloadMiddlewares: [
|
|
43341
43173
|
withPayloadDropOnEmpty(),
|
|
43342
|
-
withHeartbeatStrip(),
|
|
43343
43174
|
...opts.typingSignaler ? [withTypingSignals({ signaler: opts.typingSignaler })] : [],
|
|
43344
43175
|
withToolResultSerialization(),
|
|
43345
43176
|
withChannelRouting({
|
|
@@ -43484,7 +43315,6 @@ function normalizeReplyPayloadInternal(payload, opts) {
|
|
|
43484
43315
|
return normalizeReplyPayload(payload, {
|
|
43485
43316
|
responsePrefix: opts.responsePrefix,
|
|
43486
43317
|
responsePrefixContext: prefixContext,
|
|
43487
|
-
onHeartbeatStrip: opts.onHeartbeatStrip,
|
|
43488
43318
|
onSkip: opts.onSkip
|
|
43489
43319
|
});
|
|
43490
43320
|
}
|
|
@@ -43507,7 +43337,6 @@ function createReplyDispatcher(options) {
|
|
|
43507
43337
|
responsePrefix: options.responsePrefix,
|
|
43508
43338
|
responsePrefixContext: options.responsePrefixContext,
|
|
43509
43339
|
responsePrefixContextProvider: options.responsePrefixContextProvider,
|
|
43510
|
-
onHeartbeatStrip: options.onHeartbeatStrip,
|
|
43511
43340
|
onSkip: (reason) => options.onSkip?.(payload, {
|
|
43512
43341
|
kind,
|
|
43513
43342
|
reason
|
|
@@ -48034,7 +47863,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
48034
47863
|
}
|
|
48035
47864
|
let commandsRegistry;
|
|
48036
47865
|
async function getCommandsRegistry() {
|
|
48037
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
47866
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DaPrWQSe.js").then((n) => n.t);
|
|
48038
47867
|
return commandsRegistry;
|
|
48039
47868
|
}
|
|
48040
47869
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -48376,11 +48205,11 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
48376
48205
|
const channelName = channelInfo?.name;
|
|
48377
48206
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
48378
48207
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
48379
|
-
import("./resolve-route-
|
|
48208
|
+
import("./resolve-route-CIS2tjpz.js").then((n) => n.r),
|
|
48380
48209
|
import("./inbound-context-CJj1VfzK.js").then((n) => n.n),
|
|
48381
48210
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
48382
48211
|
]);
|
|
48383
|
-
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-tLwAlqLf.js").then((n) => n.t), import("./reply-prefix-
|
|
48212
|
+
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-tLwAlqLf.js").then((n) => n.t), import("./reply-prefix-ChIeKp-P.js").then((n) => n.n)]);
|
|
48384
48213
|
const route = resolveAgentRoute({
|
|
48385
48214
|
cfg,
|
|
48386
48215
|
channel: "slack",
|
|
@@ -48437,9 +48266,9 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
48437
48266
|
});
|
|
48438
48267
|
const deliverSlashPayloads = async (replies) => {
|
|
48439
48268
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
48440
|
-
import("./replies-
|
|
48441
|
-
import("./chunk-
|
|
48442
|
-
import("./markdown-tables-
|
|
48269
|
+
import("./replies-C82xaXm3.js").then((n) => n.r),
|
|
48270
|
+
import("./chunk-5H33X8qU.js").then((n) => n.s),
|
|
48271
|
+
import("./markdown-tables-ptfgMe6b.js").then((n) => n.t)
|
|
48443
48272
|
]);
|
|
48444
48273
|
await deliverSlackSlashReplies({
|
|
48445
48274
|
replies,
|
|
@@ -48492,7 +48321,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
48492
48321
|
let nativeCommands = [];
|
|
48493
48322
|
if (nativeEnabled) {
|
|
48494
48323
|
reg = await getCommandsRegistry();
|
|
48495
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
48324
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Cwrebyvj.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
48496
48325
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
48497
48326
|
skillCommands,
|
|
48498
48327
|
provider: "slack"
|
|
@@ -53150,7 +52979,6 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
53150
52979
|
ownerDisplay: params.config?.commands?.ownerDisplay,
|
|
53151
52980
|
ownerDisplaySecret: params.config?.commands?.ownerDisplaySecret ?? params.config?.gateway?.auth?.token ?? params.config?.gateway?.remote?.token,
|
|
53152
52981
|
reasoningTagHint,
|
|
53153
|
-
heartbeatPrompt: void 0,
|
|
53154
52982
|
skillsPrompt,
|
|
53155
52983
|
docsPath: docsPath ?? void 0,
|
|
53156
52984
|
promptMode,
|
|
@@ -53606,6 +53434,31 @@ function createCacheTrace(params) {
|
|
|
53606
53434
|
};
|
|
53607
53435
|
}
|
|
53608
53436
|
|
|
53437
|
+
//#endregion
|
|
53438
|
+
//#region src/agents/idle-timeout.ts
|
|
53439
|
+
/**
|
|
53440
|
+
* Per-run idle timeout resolution.
|
|
53441
|
+
*
|
|
53442
|
+
* The idle timer resets on every model/tool activity signal (streaming
|
|
53443
|
+
* chunk, tool execution, compaction, etc.). It fires only when the run is
|
|
53444
|
+
* truly idle — distinguishing "model working slowly on large context" from
|
|
53445
|
+
* "model stuck / connection lost".
|
|
53446
|
+
*/
|
|
53447
|
+
const DEFAULT_IDLE_RATIO = .5;
|
|
53448
|
+
const MIN_IDLE_MS = 12e4;
|
|
53449
|
+
const MAX_IDLE_MS = 9e5;
|
|
53450
|
+
const ABSOLUTE_MIN_IDLE_MS = 3e4;
|
|
53451
|
+
const normalizeNumber = (value) => typeof value === "number" && Number.isFinite(value) ? Math.floor(value) : void 0;
|
|
53452
|
+
function resolveIdleTimeoutMs(opts) {
|
|
53453
|
+
const cap = Math.max(ABSOLUTE_MIN_IDLE_MS, opts.runTimeoutMs - 1e3);
|
|
53454
|
+
const modelMs = normalizeNumber(opts.modelSeconds != null ? opts.modelSeconds * 1e3 : void 0);
|
|
53455
|
+
if (modelMs !== void 0 && modelMs > 0) return Math.min(Math.max(modelMs, ABSOLUTE_MIN_IDLE_MS), cap);
|
|
53456
|
+
const configMs = normalizeNumber(opts.configSeconds != null ? opts.configSeconds * 1e3 : void 0);
|
|
53457
|
+
if (configMs !== void 0 && configMs > 0) return Math.min(Math.max(configMs, ABSOLUTE_MIN_IDLE_MS), cap);
|
|
53458
|
+
const computed = Math.floor(opts.runTimeoutMs * DEFAULT_IDLE_RATIO);
|
|
53459
|
+
return Math.min(Math.max(computed, MIN_IDLE_MS), Math.min(MAX_IDLE_MS, cap));
|
|
53460
|
+
}
|
|
53461
|
+
|
|
53609
53462
|
//#endregion
|
|
53610
53463
|
//#region src/agents/model-token-filter.ts
|
|
53611
53464
|
/**
|
|
@@ -56768,31 +56621,6 @@ function hasRepetition(text, minBlockSize) {
|
|
|
56768
56621
|
return text.indexOf(sample, searchStart) >= 0;
|
|
56769
56622
|
}
|
|
56770
56623
|
|
|
56771
|
-
//#endregion
|
|
56772
|
-
//#region src/agents/symipulse-timeout.ts
|
|
56773
|
-
/**
|
|
56774
|
-
* Symipulse inactivity timeout resolution.
|
|
56775
|
-
*
|
|
56776
|
-
* The symipulse timer resets on every model/tool activity signal (streaming
|
|
56777
|
-
* chunk, tool execution, compaction, etc.). It fires only when the run is
|
|
56778
|
-
* truly idle — distinguishing "model working slowly on large context" from
|
|
56779
|
-
* "model stuck / connection lost".
|
|
56780
|
-
*/
|
|
56781
|
-
const DEFAULT_SYMIPULSE_RATIO = .5;
|
|
56782
|
-
const MIN_SYMIPULSE_MS = 12e4;
|
|
56783
|
-
const MAX_SYMIPULSE_MS = 9e5;
|
|
56784
|
-
const SYMIPULSE_MIN_TIMEOUT_MS = 3e4;
|
|
56785
|
-
const normalizeNumber = (value) => typeof value === "number" && Number.isFinite(value) ? Math.floor(value) : void 0;
|
|
56786
|
-
function resolveSymipulseMs(opts) {
|
|
56787
|
-
const cap = Math.max(SYMIPULSE_MIN_TIMEOUT_MS, opts.runTimeoutMs - 1e3);
|
|
56788
|
-
const modelMs = normalizeNumber(opts.modelSeconds != null ? opts.modelSeconds * 1e3 : void 0);
|
|
56789
|
-
if (modelMs !== void 0 && modelMs > 0) return Math.min(Math.max(modelMs, SYMIPULSE_MIN_TIMEOUT_MS), cap);
|
|
56790
|
-
const configMs = normalizeNumber(opts.configSeconds != null ? opts.configSeconds * 1e3 : void 0);
|
|
56791
|
-
if (configMs !== void 0 && configMs > 0) return Math.min(Math.max(configMs, SYMIPULSE_MIN_TIMEOUT_MS), cap);
|
|
56792
|
-
const computed = Math.floor(opts.runTimeoutMs * DEFAULT_SYMIPULSE_RATIO);
|
|
56793
|
-
return Math.min(Math.max(computed, MIN_SYMIPULSE_MS), Math.min(MAX_SYMIPULSE_MS, cap));
|
|
56794
|
-
}
|
|
56795
|
-
|
|
56796
56624
|
//#endregion
|
|
56797
56625
|
//#region src/agents/pi-embedded-runner/abort.ts
|
|
56798
56626
|
/**
|
|
@@ -57624,7 +57452,6 @@ async function runEmbeddedAttempt(params) {
|
|
|
57624
57452
|
ownerDisplay: params.config?.commands?.ownerDisplay,
|
|
57625
57453
|
ownerDisplaySecret: params.config?.commands?.ownerDisplaySecret ?? params.config?.gateway?.auth?.token ?? params.config?.gateway?.remote?.token,
|
|
57626
57454
|
reasoningTagHint,
|
|
57627
|
-
heartbeatPrompt: void 0,
|
|
57628
57455
|
skillsPrompt,
|
|
57629
57456
|
docsPath: docsPath ?? void 0,
|
|
57630
57457
|
workspaceNotes,
|
|
@@ -57931,7 +57758,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
57931
57758
|
if (!key) return null;
|
|
57932
57759
|
return (params.config?.agents?.defaults?.models)?.[key]?.symipulseSeconds ?? null;
|
|
57933
57760
|
};
|
|
57934
|
-
const symipulseMs = params.symipulseMs ??
|
|
57761
|
+
const symipulseMs = params.symipulseMs ?? resolveIdleTimeoutMs({
|
|
57935
57762
|
runTimeoutMs: params.timeoutMs,
|
|
57936
57763
|
configSeconds: params.config?.agents?.defaults?.symipulseSeconds,
|
|
57937
57764
|
modelSeconds: resolveModelSymipulseSeconds()
|