@symerian/symi 3.4.2 → 3.4.7
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-CDUpwXQX.js → agent-BaSGoKPq.js} +8 -8
- package/dist/{agent-BcHmIY_n.js → agent-C8IIjDyn.js} +18 -18
- package/dist/{agent-scope-CKTVXF_1.js → agent-scope-DIjW66iO.js} +18 -18
- package/dist/{agents-Dx_B11LV.js → agents-D6Ygz9ED.js} +8 -8
- package/dist/{agents.config-D6lBCMyT.js → agents.config-D1nFwU81.js} +1 -1
- package/dist/{audit-CMPCYnHv.js → audit-BI8Rbs5q.js} +21 -21
- package/dist/{audit-FMN4BTKc.js → audit-nqP-JeOr.js} +8 -8
- package/dist/{auth-choice-s1SGAS0u.js → auth-choice-BBrEzoy2.js} +8 -8
- package/dist/{auth-choice-BJgf7XV6.js → auth-choice-Bx4Duu6u.js} +6 -6
- package/dist/{auth-choice-options-B5NLwpLs.js → auth-choice-options-BBYiPleR.js} +1 -1
- package/dist/{auth-choice-options-EWUh0VM6.js → auth-choice-options-C5b4PCvw.js} +1 -1
- package/dist/{auth-choice-prompt-BkTmN4sy.js → auth-choice-prompt-D8GvjOBX.js} +1 -1
- package/dist/{auth-choice-prompt-CXcrToaB.js → auth-choice-prompt-DBfm0y9l.js} +1 -1
- package/dist/{auth-profiles-BDvJK1Bg.js → auth-profiles-BFSVvFKy.js} +9 -9
- package/dist/{auth-token-BKp_ClDP.js → auth-token-SebYuqfR.js} +1 -1
- package/dist/{banner-C1DH2kVa.js → banner-l9GjW5Rm.js} +1 -1
- package/dist/{browser-cli-DW3CxkSc.js → browser-cli-BAxOL41p.js} +9 -9
- package/dist/{browser-cli-C6G2Ql9l.js → browser-cli-Bk8DxxeA.js} +4 -4
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +8 -8
- package/dist/bundled/session-memory/handler.js +7 -7
- package/dist/{call-Dy_T6f6d.js → call-5IE9ycvm.js} +2 -4
- package/dist/{call-BjHvYJx2.js → call-BPJn2_th.js} +9 -11
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-77nGDc70.js → channel-options-COanIUoQ.js} +1 -1
- package/dist/{channel-options-BMZyRh5E.js → channel-options-DGUqfnbP.js} +1 -1
- package/dist/{channels-cli-C048Z7h-.js → channels-cli-B1zmnm5a.js} +54 -54
- package/dist/{channels-cli-CjQ8Rfpv.js → channels-cli-CZ3M3yE1.js} +27 -27
- package/dist/{chrome-BxWRyWC_.js → chrome-B0wRtBRB.js} +1 -1
- package/dist/{chrome-C0vnHDyY.js → chrome-B4P7ycw5.js} +1 -1
- package/dist/{chrome-droANDig.js → chrome-CPSDqbK6.js} +8 -8
- package/dist/{chrome-BQoO4LXq.js → chrome-VbDUdW0_.js} +2 -2
- package/dist/{cli-CXAyZ9dx.js → cli-C7I5uEFC.js} +42 -42
- package/dist/{cli-CpmVizCT.js → cli-CC5GrdTI.js} +23 -23
- package/dist/{client-CAz5aPpp.js → client-Dp8LUTmF.js} +2 -5
- package/dist/{client-Bs2zB0rY.js → client-qjXXRKCO.js} +3 -6
- package/dist/{command-registry-B9TplwzB.js → command-registry-ByBvyNis.js} +11 -11
- package/dist/{commands-registry-CLePPNDW.js → commands-registry-BNCcZy2y.js} +1 -1
- package/dist/{completion-cli-Dv8CNTMW.js → completion-cli-BFBbL-u4.js} +2 -2
- package/dist/{completion-cli-ecfjoaIU.js → completion-cli-rzEsCzmE.js} +12 -12
- package/dist/{config-BEaq2Sb6.js → config-DqMsGcSQ.js} +2 -4
- package/dist/{config-cli-CAwWFZwh.js → config-cli-BqzjDmIH.js} +4 -4
- package/dist/{config-cli-zMpHOTSD.js → config-cli-DSDGwckX.js} +2 -2
- package/dist/{config-guard-29sjAeg8.js → config-guard-CJcSKMuP.js} +6 -6
- package/dist/{config-guard-B2j-KuUQ.js → config-guard-Cu-dwAgi.js} +2 -2
- package/dist/{config-Cw7uo7Dh.js → config-igdtSRrZ.js} +0 -2
- package/dist/{config-validation-Bp2AdKjN.js → config-validation-Bp2wJ610.js} +1 -1
- package/dist/{config-validation-MUkEKwbD.js → config-validation-Bs1Gp2oG.js} +1 -1
- package/dist/{configure-Bh0-A3hM.js → configure-BazJdwKU.js} +15 -15
- package/dist/{configure-DvVtZB1V.js → configure-Dl1f1Den.js} +18 -18
- package/dist/{consolidate-DeA11kIO.js → consolidate-7Usm-b2g.js} +6 -6
- package/dist/{control-service-BTydj9Kk.js → control-service-DO8FjrS6.js} +4 -4
- package/dist/{control-service-DhlgNQGb.js → control-service-Fn3d9AlH.js} +4 -4
- package/dist/{control-ui-assets-D22DSxhv.js → control-ui-assets-DUhvOLUL.js} +1 -1
- package/dist/{cron-cli-5souN2YC.js → cron-cli-DXgI5Lid.js} +7 -10
- package/dist/{cron-cli-Cr8hrEDQ.js → cron-cli-DZyH2BfZ.js} +10 -13
- package/dist/{daemon-cli-OZuuMobs.js → daemon-cli-C6FSROt1.js} +11 -11
- package/dist/{daemon-cli-AVJLjFd5.js → daemon-cli-DmMYx5Uf.js} +6 -6
- package/dist/daemon-cli.js +2 -9
- package/dist/{daemon-runtime-CkBw3gG5.js → daemon-runtime-2Y9RfgcP.js} +1 -1
- package/dist/{daemon-runtime-Dr_xKl0r.js → daemon-runtime-BpfA4d6Q.js} +10 -10
- package/dist/{deliver-BwcK0QD6.js → deliver-BkCYBlzi.js} +5 -5
- package/dist/{deliver-vzAN9mRl.js → deliver-Mqq3tgqB.js} +5 -5
- package/dist/{deliver-ccf_boim.js → deliver-RwovDEDy.js} +2 -2
- package/dist/{deliver-Cl2fWxx4.js → deliver-izdrXPr4.js} +1 -1
- package/dist/{deps-B6QYsl_-.js → deps-bCHNuszw.js} +1 -1
- package/dist/{devices-cli-DN3SH89Z.js → devices-cli-D6xXc9Ym.js} +6 -6
- package/dist/{devices-cli-BXaodSI7.js → devices-cli-IMv-0zor.js} +3 -3
- package/dist/{diagnostics-nLP2i_BY.js → diagnostics-DxdqTfpW.js} +5 -5
- package/dist/{directory-cli-cK6CHm4W.js → directory-cli-3wlYB9In.js} +1 -1
- package/dist/{directory-cli-B72WzWuP.js → directory-cli-ClbYhd6z.js} +3 -3
- package/dist/{dm-policy-shared-DiZ3lMtl.js → dm-policy-shared-5HLej1br.js} +1 -1
- package/dist/{dns-cli-DPO4AuUq.js → dns-cli-CY2voLuR.js} +3 -3
- package/dist/{dns-cli-D6uc55C9.js → dns-cli-CoVIqRWx.js} +1 -1
- package/dist/{docs-cli-C2BEC5yU.js → docs-cli-DjQ3SvBq.js} +1 -1
- package/dist/{doctor-completion-Cvu8koMQ.js → doctor-completion-B8cqL1A0.js} +2 -2
- package/dist/{doctor-completion-DwrIExJJ.js → doctor-completion-BqbhVdbe.js} +1 -1
- package/dist/{doctor-config-flow-Cu1ZuFHd.js → doctor-config-flow-CYDx1U0Z.js} +9 -9
- package/dist/{doctor-config-flow-BayEnbIy.js → doctor-config-flow-wvoEFNeZ.js} +2 -2
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-BN5OFwrg.js → exec-approvals-cli-B_P-1zVp.js} +13 -13
- package/dist/{exec-approvals-cli-BI9yAGI5.js → exec-approvals-cli-Dy1jvh2M.js} +5 -5
- package/dist/extensionAPI.js +6 -6
- package/dist/{fs-safe-DjAKGGJ8.js → fs-safe-B6nMaZqV.js} +6 -6
- package/dist/{gateway-cli-C_wDspkm.js → gateway-cli-DYJxZ5dh.js} +377 -9751
- package/dist/{gateway-cli-uquFQTQW.js → gateway-cli-DfRlFuH-.js} +334 -9708
- package/dist/{gateway-rpc-B5_ZCiHW.js → gateway-rpc-C1xjWlxu.js} +1 -1
- package/dist/{gateway-rpc-fQLZhzRK.js → gateway-rpc-DD_aXogj.js} +1 -1
- package/dist/glass-ui-ws-BNJkhJrL.js +346 -0
- package/dist/glass-ui-ws-BZvH4MBO.js +341 -0
- package/dist/{health-DUulgHFK.js → health-D8cKia4i.js} +5 -61
- package/dist/{health-D2CsIdFz.js → health-DdzNc1yA.js} +4 -60
- package/dist/{hooks-cli-6UBBpeAz.js → hooks-cli-DkP3Y4ou.js} +58 -58
- package/dist/{hooks-cli-C6XdXNdl.js → hooks-cli-qO421UdO.js} +26 -26
- package/dist/{hooks-status-DGjgoBZt.js → hooks-status-COU9Cw9_.js} +1 -1
- package/dist/{hooks-status-BQAuzmwT.js → hooks-status-uaFS2SUa.js} +1 -1
- package/dist/{image-ops-c7_of0HT.js → image-ops-C-gIIp7Q.js} +10 -10
- package/dist/index.js +49 -49
- 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-BzgwvqqQ.js → installs-DhSLZRT7.js} +10 -10
- package/dist/{internal-C3o_xyzP.js → internal-CHnZdvRy.js} +9 -9
- package/dist/{lifecycle-core-BmGPBj_P.js → lifecycle-core-BEmljRfh.js} +5 -5
- package/dist/{lifecycle-core-Dark4HHr.js → lifecycle-core-uN2bsrZs.js} +2 -2
- package/dist/llm-slug-generator.js +7 -7
- package/dist/{local-roots-CUKhHNCV.js → local-roots-BnDnugq3.js} +1 -1
- package/dist/{logs-cli-Dg7J424l.js → logs-cli-BB0Mq8D1.js} +4 -4
- package/dist/{logs-cli-BXBN6_Kf.js → logs-cli-Dbmzz8m_.js} +7 -7
- package/dist/{manager-WHZtXzz0.js → manager-BD_cpL9b.js} +1 -1
- package/dist/{manager-tYTYy-pH.js → manager-BQaZlWzK.js} +1 -1
- package/dist/{manager-C_5p8DxF.js → manager-DOiW-Koo.js} +14 -14
- package/dist/{manager-DOfc0hW0.js → manager-MbrGCH4o.js} +1 -1
- package/dist/{memory-CjpS9o50.js → memory-Cl4I_45k.js} +4 -4
- package/dist/{memory-cli-CbV91o_X.js → memory-cli-CszP57Ee.js} +3 -3
- package/dist/{memory-cli-4vj-LpgO.js → memory-cli-DkD_OD70.js} +12 -12
- package/dist/{memory-BZPO-RoX.js → memory-kIYeV9aO.js} +5 -5
- package/dist/{model-CbRy_3xW.js → model-BRcKPW49.js} +1 -1
- package/dist/{model-catalog-Ba4R_zVe.js → model-catalog-C2rNhRI4.js} +2 -2
- package/dist/{model-catalog-BrW9BL1p.js → model-catalog-CaGfL-2g.js} +4 -4
- package/dist/{model-picker-DAOOfQUH.js → model-picker-4NUXHy8M.js} +2 -2
- package/dist/{model-picker-UrQQVAuN.js → model-picker-CV56GE8A.js} +3 -3
- package/dist/{models-EthIDORJ.js → models-BYi0Fo1a.js} +13 -13
- package/dist/{models-cli-BRnmApgY.js → models-cli-Bn9M1TgO.js} +55 -55
- package/dist/{models-cli-DSW-aLCj.js → models-cli-EdjvkvFO.js} +29 -29
- package/dist/{models-config-Dh1tABIl.js → models-config-Unnduxgs.js} +7 -7
- package/dist/{models-config-C2OLw8vc.js → models-config-yKxNCn4V.js} +1 -1
- package/dist/{node-cli-DXCDRV3y.js → node-cli-39H0MZ8q.js} +28 -28
- package/dist/{node-cli-SMqarSas.js → node-cli-C8FYMIjN.js} +12 -12
- package/dist/{node-service-n6G8Ybbk.js → node-service-tPO_yUk7.js} +1 -1
- package/dist/{nodes-cli-Fyv-oG6A.js → nodes-cli-C-03nIJ0.js} +10 -10
- package/dist/{nodes-cli-BpG8jU6q.js → nodes-cli-CqxQexTU.js} +4 -4
- 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-CLSFAKKt.js → onboard-_3W1qIFk.js} +13 -13
- package/dist/{onboard-channels-LkgOp2vs.js → onboard-channels-B2l6OoMg.js} +1 -1
- package/dist/{onboard-channels-DqhDDHZ3.js → onboard-channels-D_uUQbem.js} +4 -4
- package/dist/{onboard-custom-BRFhBogJ.js → onboard-custom-B2fJvyxt.js} +3 -3
- package/dist/{onboard-custom-BD_6SIA8.js → onboard-custom-DcZ2SEUv.js} +2 -2
- package/dist/{onboard-helpers-C5YryU1N.js → onboard-helpers-Bm-oyLWy.js} +2 -2
- package/dist/{onboard-helpers-wgkj6qF2.js → onboard-helpers-CHfdRdZR.js} +8 -8
- package/dist/{onboard-hooks-CknstfLG.js → onboard-hooks-DBYkemjF.js} +3 -3
- package/dist/{onboard-hooks-DotvaUqG.js → onboard-hooks-DgRzMz0E.js} +2 -2
- package/dist/{onboard-CEyd79t_.js → onboard-kDOde8WJ.js} +16 -16
- package/dist/{onboard-remote-DR9mcFjZ.js → onboard-remote-ecyetiyL.js} +1 -1
- package/dist/{onboard-remote-B5rlIYUq.js → onboard-remote-z8XLK4M0.js} +1 -1
- package/dist/{onboard-skills-_6kHqhHz.js → onboard-skills-BLvL0KPR.js} +4 -4
- package/dist/{onboard-skills-5rA5bRSG.js → onboard-skills-C53RGq_5.js} +2 -2
- package/dist/{onboarding-CJuG6AyD.js → onboarding-BJ27gXxY.js} +15 -15
- package/dist/{onboarding-CREA0oQK.js → onboarding-CXaQnqxR.js} +16 -16
- package/dist/{onboarding.finalize-CkgL8Zde.js → onboarding.finalize-CSgYg74M.js} +32 -32
- package/dist/{onboarding.finalize-7iPylQyi.js → onboarding.finalize-CsyhJcuq.js} +19 -19
- package/dist/{onboarding.gateway-config-DtNG0As8.js → onboarding.gateway-config-3JMN1xRf.js} +9 -9
- package/dist/{onboarding.gateway-config-BzM2v2U5.js → onboarding.gateway-config-Ft3f6Jba.js} +6 -6
- package/dist/{openai-model-default-CSl0PZzK.js → openai-model-default-BVPmAuXK.js} +1 -1
- package/dist/{openai-model-default-DeTAMJKz.js → openai-model-default-CDDFpxUr.js} +2 -2
- package/dist/{outbound-send-deps-CBRh4LsL.js → outbound-send-deps-Dmc3B-LK.js} +1 -1
- package/dist/{pairing-cli-MwIIeBee.js → pairing-cli-B_icqS8Y.js} +1 -1
- package/dist/{pairing-cli-BvP6MoPZ.js → pairing-cli-CJGA4j6G.js} +4 -4
- package/dist/{pairing-store-S9CXOhSG.js → pairing-store-BGf29nPx.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-CVwNh4rb.js → pi-auth-json-SHGGQzOL.js} +5 -5
- package/dist/{pi-embedded-B7_uthwZ.js → pi-embedded-8Zh_Y5ur.js} +20 -41
- package/dist/{pi-embedded-helpers-BbBfO9m_.js → pi-embedded-helpers-BwBjqJM5.js} +1 -1
- package/dist/{pi-embedded-helpers-DGW2untm.js → pi-embedded-helpers-CAdI9wJ5.js} +6 -6
- package/dist/{pi-tools.policy--USPnaLr.js → pi-tools.policy-BaRznBvu.js} +2 -2
- package/dist/{pi-tools.policy-BcTgKDG6.js → pi-tools.policy-Dyx3nBmp.js} +3 -3
- package/dist/{plugin-auto-enable-BDPdHiLS.js → plugin-auto-enable-D2TNEv3x.js} +1 -1
- package/dist/{plugin-registry-5aIoUu-O.js → plugin-registry-D7ACpV2Y.js} +2 -2
- package/dist/{plugin-registry-bskbnEuW.js → plugin-registry-d4hMhLLZ.js} +3 -3
- package/dist/plugin-sdk/agents/system-prompt.d.ts +1 -1
- package/dist/plugin-sdk/agents/unified-runner.d.ts +5 -5
- package/dist/plugin-sdk/auto-reply/reply/turn-middleware.d.ts +2 -2
- package/dist/plugin-sdk/channels/plugins/types.adapters.d.ts +1 -21
- package/dist/plugin-sdk/channels/plugins/types.core.d.ts +1 -5
- package/dist/plugin-sdk/channels/plugins/types.d.ts +2 -2
- package/dist/plugin-sdk/channels/plugins/types.plugin.d.ts +1 -2
- package/dist/plugin-sdk/commands/health.d.ts +0 -12
- package/dist/plugin-sdk/config/types.base.d.ts +0 -1
- package/dist/plugin-sdk/config/types.hooks.d.ts +0 -1
- package/dist/plugin-sdk/config/types.tools.d.ts +1 -1
- package/dist/plugin-sdk/config/zod-schema.d.ts +0 -2
- package/dist/plugin-sdk/config/zod-schema.hooks.d.ts +0 -1
- package/dist/plugin-sdk/cron/service/ops.d.ts +0 -1
- package/dist/plugin-sdk/cron/service/state.d.ts +1 -1
- package/dist/plugin-sdk/cron/service/timer.d.ts +0 -1
- package/dist/plugin-sdk/cron/service.d.ts +0 -1
- package/dist/plugin-sdk/cron/types.d.ts +1 -1
- package/dist/plugin-sdk/gateway/protocol/index.d.ts +1 -2
- package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +0 -1
- package/dist/plugin-sdk/gateway/protocol/schema/cron.d.ts +3 -3
- package/dist/plugin-sdk/index.js +6 -8
- package/dist/plugin-sdk/plugin-sdk/index.d.ts +1 -1
- package/dist/{plugins-cli-LQUO7D2v.js → plugins-cli-CPf1hMaZ.js} +51 -51
- package/dist/{plugins-cli-DMCWSACj.js → plugins-cli-D1gd8p9T.js} +25 -25
- package/dist/{ports-ChuJYhEL.js → ports-DRHSHvqY.js} +1 -1
- package/dist/{ports-EAVAOFyK.js → ports-DqxP-bXz.js} +2 -2
- package/dist/{program-BgrmtnFn.js → program-BPcy7UBj.js} +31 -31
- package/dist/{program-context-C_uJXnZV.js → program-context-DYS38Clb.js} +39 -39
- package/dist/{prompt-select-styled-B3nTSykf.js → prompt-select-styled-Kgvc0-w2.js} +38 -37
- package/dist/{prompt-select-styled-CuGBQ9LO.js → prompt-select-styled-uUOSg6Qq.js} +20 -19
- package/dist/{provider-auth-helpers-MMYRbW_U.js → provider-auth-helpers-BUC4xGK9.js} +4 -4
- package/dist/{provider-auth-helpers-IsZNkaS0.js → provider-auth-helpers-DpRoNr_8.js} +6 -6
- package/dist/{push-apns-C7t2qAZ6.js → push-apns-Bm39oOO9.js} +4 -4
- package/dist/{push-apns-qCbh6Vhl.js → push-apns-DqmFEcqh.js} +1 -1
- package/dist/{pw-ai-DuPDo_Ia.js → pw-ai-B0-pgbYu.js} +2 -2
- package/dist/{pw-ai-YJhl5L-z.js → pw-ai-B2NuWIL7.js} +7 -7
- package/dist/{pw-ai-Bc5uzn_J.js → pw-ai-BsEf8C15.js} +2 -2
- package/dist/{pw-ai-Tm3pd-HP.js → pw-ai-w6Qalz1W.js} +2 -2
- package/dist/{qmd-manager-CrRvB46v.js → qmd-manager-358OTDns.js} +19 -19
- package/dist/{qr-cli-Bv4zF-WM.js → qr-cli-Cx7DYTSk.js} +1 -1
- package/dist/{qr-cli-D1U-qIkG.js → qr-cli-hPIeUYAT.js} +3 -3
- package/dist/{redact-identifier-QYENCXvy.js → redact-identifier-Cm1VfV7E.js} +1 -1
- package/dist/{register.agent-BblNQlzT.js → register.agent-CCKcgAXs.js} +66 -66
- package/dist/{register.agent-BWcxonR9.js → register.agent-DZuxoC0a.js} +37 -37
- package/dist/register.configure-CJErdFO_.js +129 -0
- package/dist/{register.configure-D0T0kOp7.js → register.configure-JT8T7HO5.js} +41 -41
- package/dist/{register.maintenance-DLJpeuc4.js → register.maintenance-BMswbbSL.js} +66 -66
- package/dist/{register.maintenance-w7sKxODf.js → register.maintenance-CNcd1-Vv.js} +38 -38
- package/dist/{register.message-CXEwBJ1O.js → register.message-CpOXi1rz.js} +45 -45
- package/dist/{register.message-C3dCPjVc.js → register.message-_bfhetTg.js} +25 -25
- package/dist/{register.onboard-DJmVC_6h.js → register.onboard-CRNjEhnQ.js} +19 -19
- package/dist/{register.onboard-B520Ixsd.js → register.onboard-DR2Wu59i.js} +24 -24
- package/dist/{register.setup-BTse4F3a.js → register.setup-Crrj2t2B.js} +26 -26
- package/dist/{register.setup-Br-aZ0qD.js → register.setup-Dbe-Z2xu.js} +18 -18
- package/dist/{register.status-health-sessions-Dbizirr2.js → register.status-health-sessions-DZnebsxZ.js} +38 -38
- package/dist/{register.status-health-sessions-4dxLj6hJ.js → register.status-health-sessions-DmX0DLAt.js} +22 -22
- package/dist/{register.subclis-CSJZQox4.js → register.subclis-BRPnstmu.js} +28 -28
- package/dist/{replies-CbipVshj.js → replies-B2O2eRh6.js} +1 -1
- package/dist/{replies-CH1VlYZQ.js → replies-Bnh0owwH.js} +1 -1
- package/dist/{replies-DIWartyA.js → replies-DIHkSwoW.js} +1 -1
- package/dist/{replies-CjSfYK97.js → replies-DU-fXkSk.js} +1 -1
- package/dist/{reply-prefix-DZQBodKF.js → reply-prefix-BOdARKaY.js} +1 -1
- package/dist/{resolve-route-BbUl3Hi7.js → resolve-route-CRWE36h5.js} +1 -1
- package/dist/{routes-DiqMB1cp.js → routes-BMShi_eY.js} +10 -10
- package/dist/{routes-CWYyvbxi.js → routes-Cio8is5Y.js} +3 -3
- package/dist/{rpc-DLfjbTSu.js → rpc-CEhoSTGo.js} +1 -1
- package/dist/{rpc-BcPBUUXl.js → rpc-D0Ldc6Hv.js} +1 -1
- package/dist/{run-main-DISYU1dh.js → run-main-CMQVjdht.js} +41 -41
- package/dist/{sandbox-B6P9-J8g.js → sandbox-B4RfQ7k1.js} +5 -5
- package/dist/{sandbox-DPn-s_K5.js → sandbox-C-UeHmuJ.js} +18 -18
- package/dist/{sandbox-cli-bOFig9Jd.js → sandbox-cli-B43FqqPT.js} +6 -6
- package/dist/{sandbox-cli-Bl5CMRjH.js → sandbox-cli-CNAPNXJ4.js} +13 -13
- package/dist/{security-cli-DuxEuSGr.js → security-cli-BSd8_Gsq.js} +28 -28
- package/dist/{security-cli-C7LBaB0e.js → security-cli-DDM0Z6IW.js} +11 -11
- package/dist/{send-6IYv-yRp.js → send-CGXxBSKh.js} +1 -1
- package/dist/{send-CYJucYob.js → send-DSK6O8SC.js} +7 -7
- package/dist/{send-C3ZXgOXw.js → send-EluKytgO.js} +1 -1
- package/dist/{server-context-Vd9sEFb9.js → server-context-CDTuNR-O.js} +5 -5
- package/dist/{server-context-BUbuOgNz.js → server-context-DFO6o83F.js} +5 -5
- package/dist/server-methods-Dz6NGEg3.js +9414 -0
- package/dist/server-methods-vp5zi6v5.js +9416 -0
- package/dist/{server-node-events-BH4-UlAH.js → server-node-events-4ufB_olv.js} +26 -26
- package/dist/{server-node-events-7ToqdaU5.js → server-node-events-B7UtUhkC.js} +46 -46
- package/dist/{service-9ItKCWWS.js → service-AP9pR9R5.js} +15 -15
- package/dist/session-dirs-Chh7bBGo.js +18 -0
- package/dist/session-dirs-Sl_x6tjD.js +18 -0
- package/dist/{session-utils-CqSXwGYa.js → session-utils-CgGDr4eh.js} +14 -14
- package/dist/{session-utils-CJfEkQQQ.js → session-utils-D1VcHni_.js} +5 -5
- package/dist/{sessions-BHrlpR92.js → sessions-BNEDanZO.js} +1 -1
- package/dist/{sessions-DorP6zY8.js → sessions-Dh88Kqd6.js} +11 -11
- package/dist/{sessions-Chjdz1Gx.js → sessions-iLfSd6VD.js} +3 -3
- package/dist/{shared-B-64oefu.js → shared-CIeW3aWF.js} +1 -1
- package/dist/{shared-ot5_jkpP.js → shared-DmYHvtn2.js} +1 -1
- package/dist/{shared-Z3KjnA8n.js → shared-_wwqvx84.js} +3 -3
- package/dist/{skill-commands-RbglvrSW.js → skill-commands-5QB5E8bv.js} +4 -4
- package/dist/{skill-scanner-CZK0TG9g.js → skill-scanner-YF2jR4RY.js} +5 -5
- package/dist/{skills-DS1Vdylm.js → skills-Bmjf5nFv.js} +4 -4
- package/dist/{skills-cli-DbhEEC78.js → skills-cli-BJDvUT_e.js} +1 -1
- package/dist/{skills-cli-BmIb-9--.js → skills-cli-Byp9MfZh.js} +7 -7
- package/dist/{skills-install-DcX1Txvp.js → skills-install-BB27sD4d.js} +3 -3
- package/dist/{skills-remote-BDSyRdyX.js → skills-remote-CqwR3Zvp.js} +3 -3
- package/dist/{skills-status-F7nlolZZ.js → skills-status-BNDqwHkP.js} +1 -1
- package/dist/{sqlite-BUXBg2yu.js → sqlite-DBEvS-Ne.js} +5 -5
- package/dist/{ssrf-CJor4ewC.js → ssrf-CBajKNWO.js} +0 -2
- package/dist/{ssrf-BzPY2FrA.js → ssrf-CeQ2Aub-.js} +0 -2
- package/dist/{status-CR4VgVZ0.js → status-B0HecH1s.js} +3 -3
- package/dist/{status-dHYcVtbb.js → status-BD8gFYKH.js} +14 -45
- package/dist/{status-Hf__QNbH.js → status-DEXnB1sw.js} +26 -57
- package/dist/{status-CeaJlVQK.js → status-MMLxoRgQ.js} +2 -2
- package/dist/{status.update-lna4Lub4.js → status.update-Be8PuHCh.js} +1 -1
- package/dist/{status.update-DOj5ifHZ.js → status.update-CB9e3eWW.js} +3 -3
- package/dist/{subagent-registry-BbQL79Gk.js → subagent-registry-C57PFGHU.js} +30 -46
- package/dist/{symi-root-0MUhiNlM.js → symi-root-DueRHNOE.js} +2 -2
- package/dist/{synthesis-CK0K7wFk.js → synthesis-CjsIBd8X.js} +42 -42
- package/dist/{synthesis-B4G0BnU5.js → synthesis-DSdF0vsi.js} +7 -7
- package/dist/{synthesis-C-IePZG6.js → synthesis-iB7TWRW4.js} +6 -6
- package/dist/{synthesis-DiPl8Usv.js → synthesis-j_kjlFo1.js} +23 -23
- package/dist/system-cli-BM8KbtUc.js +48 -0
- package/dist/system-cli-CQFH_HwX.js +43 -0
- package/dist/{systemd-8KKQdTO_.js → systemd-9LEEqibe.js} +5 -5
- package/dist/{systemd-hints-BefHB3bX.js → systemd-hints-A1W3AdVo.js} +6 -6
- package/dist/{systemd-hints-DQKA3tTS.js → systemd-hints-BejQ6J2Y.js} +1 -1
- package/dist/{systemd-linger-C0-G8yq4.js → systemd-linger-PqG8iGCt.js} +1 -1
- package/dist/{tui-C_yv1hvy.js → tui-B4Pd0T9l.js} +5 -15
- package/dist/{tui-BheB3rbE.js → tui-DBrpAw57.js} +7 -17
- package/dist/{tui-cli-D7wYLESM.js → tui-cli-B-obcHoZ.js} +10 -10
- package/dist/{tui-cli-BDcU-VgA.js → tui-cli-tbUaY-Pu.js} +19 -19
- package/dist/{unified-runner-BSdnT6eM.js → unified-runner-BNt7TQKM.js} +18 -39
- package/dist/{unified-runner-D6p4N2vu.js → unified-runner-DCiPB--z.js} +104 -120
- package/dist/{update-Djvyvehx.js → update-CjZgU686.js} +3 -3
- package/dist/{update-check-BdSIMYWq.js → update-check-CZxZhEXr.js} +5 -5
- package/dist/{update-cli-BmQuYKTw.js → update-cli-CUgElk5d.js} +42 -42
- package/dist/{update-cli-CwznFR5g.js → update-cli-Mpq0iwGk.js} +76 -76
- package/dist/{session-dirs-DONOhYc3.js → update-runner-Dq5UYQbo.js} +16 -30
- package/dist/{session-dirs-6atzU47U.js → update-runner-ENJw0Mco.js} +2 -16
- package/dist/{webhooks-cli-D_wAaLOU.js → webhooks-cli-Clx8DGfA.js} +5 -5
- package/dist/{webhooks-cli-B2_nrbvn.js → webhooks-cli-UfO_WffC.js} +2 -2
- package/dist/{with-timeout-CAUWEPmp.js → with-timeout-BE7lxhxW.js} +1 -1
- package/dist/{with-timeout-BhDKgIeU.js → with-timeout-BcL6qAbd.js} +1 -1
- package/dist/{workspace-dirs-QmSWJptJ.js → workspace-dirs-D5OnUmvw.js} +1 -1
- package/dist/{wsl-DO9usEVV.js → wsl-ZWGwnnKI.js} +2 -2
- package/package.json +1 -1
- package/dist/register.configure-BJ7xtOUZ.js +0 -129
- package/dist/system-cli-BKp2K0sb.js +0 -85
- package/dist/system-cli-C9uTFA4c.js +0 -80
- /package/dist/{agents.config-gkq5o5Hy.js → agents.config-D7cHU-OU.js} +0 -0
- /package/dist/{auth-choice-legacy-DlTku0W1.js → auth-choice-legacy-CsjluQCN.js} +0 -0
- /package/dist/{auth-choice-legacy-y8ZXjhDq.js → auth-choice-legacy-D9WcUI_J.js} +0 -0
- /package/dist/{auth-token-2yjfGFTo.js → auth-token-Brb1Askz.js} +0 -0
- /package/dist/{consolidate-CTKMVS1l.js → consolidate-D1GUJ5qq.js} +0 -0
- /package/dist/{dm-policy-shared-BcYwq7H9.js → dm-policy-shared-CSF4Tw_F.js} +0 -0
- /package/dist/{format-CUJQOEUj.js → format-BGzoTHhD.js} +0 -0
- /package/dist/{format-Cj8gNX2r.js → format-C-0EAOjI.js} +0 -0
- /package/dist/{gmail-setup-utils-C5QXoiTl.js → gmail-setup-utils-B1BYpISg.js} +0 -0
- /package/dist/{gmail-setup-utils-DO0-mXYp.js → gmail-setup-utils-fA1VaWLv.js} +0 -0
- /package/dist/{health-format-BQdYy0nL.js → health-format-39e76m9p.js} +0 -0
- /package/dist/{health-format-OIqaDZ2V.js → health-format-DaP03FBk.js} +0 -0
- /package/dist/{ipv4-CFw4fYIH.js → ipv4-CfVqgiTN.js} +0 -0
- /package/dist/{ipv4-DBwTCOBu.js → ipv4-DK4xoUQ-.js} +0 -0
- /package/dist/{logging-BA2NbxMy.js → logging-B96FQvnn.js} +0 -0
- /package/dist/{logging-Dt9kBzoO.js → logging-BeA4q4J_.js} +0 -0
- /package/dist/{model-param-b-CErLzOT8.js → model-param-b-B34yvxBN.js} +0 -0
- /package/dist/{model-param-b-DnsFCAGo.js → model-param-b-CmgmcGoJ.js} +0 -0
- /package/dist/{node-service-B7zf4WFE.js → node-service-DDDCEDdv.js} +0 -0
- /package/dist/{onboard-config-CIBKQuYV.js → onboard-config-Barp7MT9.js} +0 -0
- /package/dist/{onboard-config-D6L72_zg.js → onboard-config-DQkZqcyq.js} +0 -0
- /package/dist/{outbound-send-deps-pzO0D6kV.js → outbound-send-deps-BpziI1pC.js} +0 -0
- /package/dist/{ports-B3NnaSHu.js → ports-BAzQoIw0.js} +0 -0
- /package/dist/{qmd-manager-CX0jtKS5.js → qmd-manager--kGuC39q.js} +0 -0
- /package/dist/{skills-install-Q5hgZITy.js → skills-install-BzqoHn0x.js} +0 -0
- /package/dist/{system-run-command-XG1_P_la.js → system-run-command-QikSIqYG.js} +0 -0
- /package/dist/{systemd-linger-CoyAJEZx.js → systemd-linger-BM4qvprK.js} +0 -0
- /package/dist/{update-CbkItCeC.js → update-C1rkPV1C.js} +0 -0
- /package/dist/{workspace-2m2BLIbx.js → workspace-B3sO7QlN.js} +0 -0
- /package/dist/{workspace-CxAs2tsz.js → workspace-Bb1HX2I0.js} +0 -0
|
@@ -3,86 +3,86 @@ import { D as shouldLogVerbose, H as createInternalHookEvent, M as getChildLogge
|
|
|
3
3
|
import { g as resolveStateDir, u as resolveGatewayPort } from "./paths-BSzKwaxE.js";
|
|
4
4
|
import { S as isPlainObject, _ as shortenHomeInString, b as sliceUtf16Safe, c as escapeRegExp, h as resolveUserPath, r as clampInt, t as CONFIG_DIR, u as isRecord, v as shortenHomePath, x as truncateUtf16Safe, y as sleep } from "./utils-BU8jVQFM.js";
|
|
5
5
|
import { d as createNonExitingRuntime, f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
|
|
6
|
-
import { A as buildConfiguredAllowlistKeys, At as resolveShellEnvFallbackTimeoutMs, Ct as resolveEnvApiKey, Et as normalizeSecretInput, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef$1, K as resolveSubagentSpawnModelSelection, L as normalizeProviderId, M as findNormalizedProviderValue, Ot as getShellPathFromLoginShell, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _t as createOllamaStreamFn, a as markAuthProfileFailure, b as ensureAuthProfileStore, bt as requireApiKey, et as normalizeGoogleModelId, g as markAuthProfileGood, gt as OLLAMA_NATIVE_BASE_URL, h as listProfilesForProvider, i as isProfileInCooldown, j as buildModelAliasIndex, k as buildAllowedModelSet, n as resolveAuthProfileOrder, o as markAuthProfileUsed, q as resolveThinkingDefault, r as getSoonestCooldownExpiry, vt as getApiKeyForModel, w as resolveAuthStorePathForDisplay, wt as resolveModelAuthMode, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-
|
|
6
|
+
import { A as buildConfiguredAllowlistKeys, At as resolveShellEnvFallbackTimeoutMs, Ct as resolveEnvApiKey, Et as normalizeSecretInput, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef$1, K as resolveSubagentSpawnModelSelection, L as normalizeProviderId, M as findNormalizedProviderValue, Ot as getShellPathFromLoginShell, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _t as createOllamaStreamFn, a as markAuthProfileFailure, b as ensureAuthProfileStore, bt as requireApiKey, et as normalizeGoogleModelId, g as markAuthProfileGood, gt as OLLAMA_NATIVE_BASE_URL, h as listProfilesForProvider, i as isProfileInCooldown, j as buildModelAliasIndex, k as buildAllowedModelSet, n as resolveAuthProfileOrder, o as markAuthProfileUsed, q as resolveThinkingDefault, r as getSoonestCooldownExpiry, vt as getApiKeyForModel, w as resolveAuthStorePathForDisplay, wt as resolveModelAuthMode, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-BFSVvFKy.js";
|
|
7
7
|
import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
|
|
8
8
|
import { S as resolveThreadParentSessionKey, _ as isAcpSessionKey, a as classifySessionKeyShape, b as isSubagentSessionKey, c as resolveAgentIdFromSessionKey, g as getSubagentDepth, l as resolveThreadSessionKeys, m as normalizeAccountId, o as normalizeAgentId, p as DEFAULT_ACCOUNT_ID, r as buildAgentMainSessionKey, s as normalizeMainKey, t as DEFAULT_AGENT_ID, u as sanitizeAgentId, x as parseAgentSessionKey, y as isCronSessionKey } from "./session-key-B_ZVH1kE.js";
|
|
9
|
-
import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-
|
|
9
|
+
import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-DueRHNOE.js";
|
|
10
10
|
import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-DKyLtSjm.js";
|
|
11
|
-
import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentConfig, s as resolveAgentSkillsFilter, w as filterBootstrapFilesForSession } from "./agent-scope-
|
|
11
|
+
import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentConfig, s as resolveAgentSkillsFilter, w as filterBootstrapFilesForSession } from "./agent-scope-DIjW66iO.js";
|
|
12
12
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-BTNK6Tcd.js";
|
|
13
13
|
import { t as parseBooleanValue } from "./boolean-Wzu0-e0P.js";
|
|
14
14
|
import { t as isTruthyEnvValue } from "./env-B97Ms861.js";
|
|
15
|
-
import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-
|
|
16
|
-
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-
|
|
15
|
+
import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-CAdI9wJ5.js";
|
|
16
|
+
import { A as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, C as unsetConfigValueAtPath, N as VERSION, S as setConfigValueAtPath, _ as resetConfigOverrides, b as getConfigValueAtPath, c as resolveConfigSnapshotHash, f as parseDurationMs, g as getConfigOverrides, h as validateJsonSchemaValue, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, u as validateConfigObjectWithPlugins, v as setConfigOverride, x as parseConfigPath, y as unsetConfigOverride } from "./config-DqMsGcSQ.js";
|
|
17
17
|
import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-D_LsBSyt.js";
|
|
18
18
|
import { a as isPathInsideWithRealpath } from "./legacy-names-Catogrri.js";
|
|
19
|
-
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-
|
|
20
|
-
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-
|
|
21
|
-
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-
|
|
19
|
+
import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-C-UeHmuJ.js";
|
|
20
|
+
import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-VbDUdW0_.js";
|
|
21
|
+
import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-DFO6o83F.js";
|
|
22
22
|
import { l as parseFrontmatterBlock } from "./frontmatter-CHu3sfCM.js";
|
|
23
|
-
import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-
|
|
24
|
-
import { n as getMediaDir, r as saveMediaBuffer } from "./routes-
|
|
23
|
+
import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-Bmjf5nFv.js";
|
|
24
|
+
import { n as getMediaDir, r as saveMediaBuffer } from "./routes-BMShi_eY.js";
|
|
25
25
|
import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-Z-WkF18Q.js";
|
|
26
|
-
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-
|
|
26
|
+
import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-Dc6A9_vI.js";
|
|
27
27
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CC9kEPCT.js";
|
|
28
|
-
import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-
|
|
29
|
-
import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields } from "./sessions-
|
|
28
|
+
import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-C-gIIp7Q.js";
|
|
29
|
+
import { C as capArrayByJsonBytes, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields } from "./sessions-Dh88Kqd6.js";
|
|
30
30
|
import { c as normalizeStringEntries, i as resolveChannelGroupRequireMention, l as normalizeStringEntriesLower, n as listChannelDocks, o as normalizeAtHashSlug, r as resolveChannelGroupPolicy, s as normalizeHyphenSlug, t as getChannelDock } from "./dock-CnGWTXL4.js";
|
|
31
31
|
import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-C_V8IAYx.js";
|
|
32
32
|
import { t as normalizeChatType } from "./chat-type-B7XD_ESN.js";
|
|
33
33
|
import { n as resolveConversationLabel } from "./conversation-label-CS5Zjc4w.js";
|
|
34
34
|
import { a as resolveSlackAccount, c as resolveSlackBotToken, n as listChannelPlugins, r as normalizeChannelId$1, s as resolveSlackAppToken, t as getChannelPlugin } from "./plugins-DuuHorqi.js";
|
|
35
|
-
import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-
|
|
35
|
+
import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-DSK6O8SC.js";
|
|
36
36
|
import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CJcw9nbZ.js";
|
|
37
37
|
import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-DsLesw6T.js";
|
|
38
38
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-Ch7wLX-j.js";
|
|
39
39
|
import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-177f26eg.js";
|
|
40
40
|
import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-BKbemuIk.js";
|
|
41
|
-
import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-
|
|
41
|
+
import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-RwovDEDy.js";
|
|
42
42
|
import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-CwF3MnBL.js";
|
|
43
43
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-I4x9gPY4.js";
|
|
44
|
-
import { t as ensureSymiModelsJson } from "./models-config-
|
|
45
|
-
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-
|
|
44
|
+
import { t as ensureSymiModelsJson } from "./models-config-Unnduxgs.js";
|
|
45
|
+
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-SHGGQzOL.js";
|
|
46
46
|
import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary } from "./session-cost-usage-DYcv40ss.js";
|
|
47
|
-
import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-
|
|
48
|
-
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-
|
|
49
|
-
import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-
|
|
50
|
-
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-
|
|
51
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-
|
|
52
|
-
import { f as runTasksWithConcurrency } from "./internal-
|
|
47
|
+
import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-CgGDr4eh.js";
|
|
48
|
+
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-BE7lxhxW.js";
|
|
49
|
+
import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BOdARKaY.js";
|
|
50
|
+
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-kIYeV9aO.js";
|
|
51
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-DOiW-Koo.js";
|
|
52
|
+
import { f as runTasksWithConcurrency } from "./internal-CHnZdvRy.js";
|
|
53
53
|
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-DQGU0F8t.js";
|
|
54
54
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-GTLvbzuR.js";
|
|
55
55
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CgmRK282.js";
|
|
56
56
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-DG6T0ZdL.js";
|
|
57
|
-
import { n as getDefaultMediaLocalRoots } from "./local-roots-
|
|
57
|
+
import { n as getDefaultMediaLocalRoots } from "./local-roots-BnDnugq3.js";
|
|
58
58
|
import { i as resolveNativeSkillsEnabled, n as isRestartEnabled, r as resolveNativeCommandsEnabled, t as isCommandFlagEnabled } from "./commands-B3UrgxIz.js";
|
|
59
|
-
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-
|
|
60
|
-
import { Rt as SESSION_LABEL_MAX_LENGTH } from "./client-
|
|
61
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-
|
|
59
|
+
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-BNCcZy2y.js";
|
|
60
|
+
import { Rt as SESSION_LABEL_MAX_LENGTH } from "./client-qjXXRKCO.js";
|
|
61
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-BPJn2_th.js";
|
|
62
62
|
import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-Dr6VaTg5.js";
|
|
63
63
|
import { n as formatTimeAgo } from "./format-relative-Vm-Tqk0h.js";
|
|
64
64
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DqAyGDbE.js";
|
|
65
|
-
import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-
|
|
65
|
+
import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-CqwR3Zvp.js";
|
|
66
66
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DdkUSfiI.js";
|
|
67
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
68
|
-
import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-
|
|
69
|
-
import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-
|
|
67
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-CaGfL-2g.js";
|
|
68
|
+
import { i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames } from "./skill-commands-5QB5E8bv.js";
|
|
69
|
+
import { a as removeChannelAllowFromStoreEntry, c as listPairingChannels, i as readChannelAllowFromStore, o as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-BGf29nPx.js";
|
|
70
70
|
import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExecApprovals, f as resolveExecApprovalsFromFile, g as resolveSafeBins, h as evaluateShellAllowlist, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval, y as buildSafeBinsShellCommand } from "./exec-approvals-CZOc8M5w.js";
|
|
71
|
-
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-
|
|
71
|
+
import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-JELuBMBi.js";
|
|
72
72
|
import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-dNgkVIEe.js";
|
|
73
73
|
import { t as formatDurationCompact$1 } from "./format-duration-DbZRICyO.js";
|
|
74
74
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-2_Os41y-.js";
|
|
75
75
|
import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-Ca9K30TH.js";
|
|
76
76
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-DsZw7bas.js";
|
|
77
|
-
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-
|
|
77
|
+
import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-Fn3d9AlH.js";
|
|
78
78
|
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BhvnarfO.js";
|
|
79
79
|
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BvIcXQLj.js";
|
|
80
|
-
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-
|
|
80
|
+
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CRWE36h5.js";
|
|
81
81
|
import { t as parseTimeoutMs } from "./parse-timeout-CpgyC-LD.js";
|
|
82
|
-
import { n as registerMemoryCli } from "./memory-cli-
|
|
83
|
-
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
84
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-
|
|
85
|
-
import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-
|
|
82
|
+
import { n as registerMemoryCli } from "./memory-cli-DkD_OD70.js";
|
|
83
|
+
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-B2O2eRh6.js";
|
|
84
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-Dyx3nBmp.js";
|
|
85
|
+
import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-BRcKPW49.js";
|
|
86
86
|
import { createRequire } from "node:module";
|
|
87
87
|
import process$1 from "node:process";
|
|
88
88
|
import { fileURLToPath } from "node:url";
|
|
@@ -91,7 +91,7 @@ import path from "node:path";
|
|
|
91
91
|
import fs, { constants, existsSync, statSync } from "node:fs";
|
|
92
92
|
import os, { homedir } from "node:os";
|
|
93
93
|
import JSON5 from "json5";
|
|
94
|
-
import
|
|
94
|
+
import fs$1 from "node:fs/promises";
|
|
95
95
|
import { execFileSync, spawn, spawnSync } from "node:child_process";
|
|
96
96
|
import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
|
|
97
97
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
@@ -1841,7 +1841,7 @@ async function imageResult(params) {
|
|
|
1841
1841
|
}, params.label, params.imageSanitization);
|
|
1842
1842
|
}
|
|
1843
1843
|
async function imageResultFromFile(params) {
|
|
1844
|
-
const buf = await
|
|
1844
|
+
const buf = await fs$1.readFile(params.path);
|
|
1845
1845
|
const mimeType = await detectMime({ buffer: buf.slice(0, 256) }) ?? "image/png";
|
|
1846
1846
|
return await imageResult({
|
|
1847
1847
|
label: params.label,
|
|
@@ -5801,7 +5801,7 @@ async function routeReply(params) {
|
|
|
5801
5801
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
5802
5802
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
5803
5803
|
try {
|
|
5804
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
5804
|
+
const { deliverOutboundPayloads } = await import("./deliver-RwovDEDy.js").then((n) => n.n);
|
|
5805
5805
|
return {
|
|
5806
5806
|
ok: true,
|
|
5807
5807
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -7352,7 +7352,7 @@ function buildSubagentSystemPrompt(params) {
|
|
|
7352
7352
|
"## Rules",
|
|
7353
7353
|
"1. **Stay focused** - Do your assigned task, nothing else",
|
|
7354
7354
|
`2. **Complete the task** - Your final message will be automatically reported to the ${parentLabel}`,
|
|
7355
|
-
"3. **Don't initiate** - No
|
|
7355
|
+
"3. **Don't initiate** - No proactive actions, no side quests",
|
|
7356
7356
|
"4. **Be ephemeral** - You may be terminated after task completion. That's fine.",
|
|
7357
7357
|
"5. **Trust push-based completion** - Descendant results are auto-announced back to you; do not busy-poll for status.",
|
|
7358
7358
|
"6. **Recover from compacted/truncated tool output** - If you see `[compacted: tool output removed to free context]` or `[truncated: output exceeded context limit]`, assume prior output was reduced. Re-read only what you need using smaller chunks (`read` with offset/limit, or targeted `rg`/`head`/`tail`) instead of full-file `cat`.",
|
|
@@ -9755,10 +9755,6 @@ async function prependSystemEvents(params) {
|
|
|
9755
9755
|
const compactSystemEvent = (line) => {
|
|
9756
9756
|
const trimmed = line.trim();
|
|
9757
9757
|
if (!trimmed) return null;
|
|
9758
|
-
const lower = trimmed.toLowerCase();
|
|
9759
|
-
if (lower.includes("reason periodic")) return null;
|
|
9760
|
-
if (lower.startsWith("read symipulse.md")) return null;
|
|
9761
|
-
if (lower.includes("heartbeat poll") || lower.includes("heartbeat wake")) return null;
|
|
9762
9758
|
if (trimmed.startsWith("Node:")) return trimmed.replace(/ · last input [^·]+/i, "").trim();
|
|
9763
9759
|
return trimmed;
|
|
9764
9760
|
};
|
|
@@ -11645,7 +11641,7 @@ var MediaAttachmentCache = class {
|
|
|
11645
11641
|
const size = await this.ensureLocalStat(entry);
|
|
11646
11642
|
if (entry.resolvedPath) {
|
|
11647
11643
|
if (size !== void 0 && size > params.maxBytes) throw new MediaUnderstandingSkipError("maxBytes", `Attachment ${params.attachmentIndex + 1} exceeds maxBytes ${params.maxBytes}`);
|
|
11648
|
-
const buffer = await
|
|
11644
|
+
const buffer = await fs$1.readFile(entry.resolvedPath);
|
|
11649
11645
|
entry.buffer = buffer;
|
|
11650
11646
|
entry.bufferMime = entry.bufferMime ?? entry.attachment.mime ?? await detectMime({
|
|
11651
11647
|
buffer,
|
|
@@ -11715,10 +11711,10 @@ var MediaAttachmentCache = class {
|
|
|
11715
11711
|
prefix: "symi-media",
|
|
11716
11712
|
extension: path.extname(bufferResult.fileName || "") || ""
|
|
11717
11713
|
});
|
|
11718
|
-
await
|
|
11714
|
+
await fs$1.writeFile(tmpPath, bufferResult.buffer);
|
|
11719
11715
|
entry.tempPath = tmpPath;
|
|
11720
11716
|
entry.tempCleanup = async () => {
|
|
11721
|
-
await
|
|
11717
|
+
await fs$1.unlink(tmpPath).catch(() => {});
|
|
11722
11718
|
};
|
|
11723
11719
|
return {
|
|
11724
11720
|
path: tmpPath,
|
|
@@ -11765,12 +11761,12 @@ var MediaAttachmentCache = class {
|
|
|
11765
11761
|
if (entry.statSize !== void 0) return entry.statSize;
|
|
11766
11762
|
try {
|
|
11767
11763
|
const currentPath = entry.resolvedPath;
|
|
11768
|
-
const stat = await
|
|
11764
|
+
const stat = await fs$1.stat(currentPath);
|
|
11769
11765
|
if (!stat.isFile()) {
|
|
11770
11766
|
entry.resolvedPath = void 0;
|
|
11771
11767
|
return;
|
|
11772
11768
|
}
|
|
11773
|
-
const canonicalPath = await
|
|
11769
|
+
const canonicalPath = await fs$1.realpath(currentPath).catch(() => currentPath);
|
|
11774
11770
|
if (!isInboundPathAllowed({
|
|
11775
11771
|
filePath: canonicalPath,
|
|
11776
11772
|
roots: await this.getCanonicalLocalPathRoots()
|
|
@@ -11792,7 +11788,7 @@ var MediaAttachmentCache = class {
|
|
|
11792
11788
|
if (this.canonicalLocalPathRoots) return await this.canonicalLocalPathRoots;
|
|
11793
11789
|
this.canonicalLocalPathRoots = (async () => mergeInboundPathRoots(this.localPathRoots, await Promise.all(this.localPathRoots.map(async (root) => {
|
|
11794
11790
|
if (root.includes("*")) return root;
|
|
11795
|
-
return await
|
|
11791
|
+
return await fs$1.realpath(root).catch(() => root);
|
|
11796
11792
|
}))))();
|
|
11797
11793
|
return await this.canonicalLocalPathRoots;
|
|
11798
11794
|
}
|
|
@@ -11863,7 +11859,7 @@ function formatAudioTranscripts(outputs) {
|
|
|
11863
11859
|
async function fileExists(filePath) {
|
|
11864
11860
|
if (!filePath) return false;
|
|
11865
11861
|
try {
|
|
11866
|
-
await
|
|
11862
|
+
await fs$1.stat(filePath);
|
|
11867
11863
|
return true;
|
|
11868
11864
|
} catch {
|
|
11869
11865
|
return false;
|
|
@@ -11963,7 +11959,7 @@ async function resolveCliOutput(params) {
|
|
|
11963
11959
|
const commandId = commandBase(params.command);
|
|
11964
11960
|
const fileOutput = commandId === "whisper-cli" ? resolveWhisperCppOutputPath(params.args) : commandId === "whisper" ? resolveWhisperOutputPath(params.args, params.mediaPath) : null;
|
|
11965
11961
|
if (fileOutput && await fileExists(fileOutput)) try {
|
|
11966
|
-
const content = await
|
|
11962
|
+
const content = await fs$1.readFile(fileOutput, "utf8");
|
|
11967
11963
|
if (content.trim()) return content.trim();
|
|
11968
11964
|
} catch {}
|
|
11969
11965
|
if (commandId === "gemini") {
|
|
@@ -12254,7 +12250,7 @@ async function runCliEntry(params) {
|
|
|
12254
12250
|
maxBytes,
|
|
12255
12251
|
timeoutMs
|
|
12256
12252
|
});
|
|
12257
|
-
const outputDir = await
|
|
12253
|
+
const outputDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "symi-media-cli-"));
|
|
12258
12254
|
const mediaPath = pathResult.path;
|
|
12259
12255
|
const outputBase = path.join(outputDir, path.parse(mediaPath).name);
|
|
12260
12256
|
const templCtx = {
|
|
@@ -12288,7 +12284,7 @@ async function runCliEntry(params) {
|
|
|
12288
12284
|
model: command
|
|
12289
12285
|
};
|
|
12290
12286
|
} finally {
|
|
12291
|
-
await
|
|
12287
|
+
await fs$1.rm(outputDir, {
|
|
12292
12288
|
recursive: true,
|
|
12293
12289
|
force: true
|
|
12294
12290
|
}).catch(() => {});
|
|
@@ -12332,9 +12328,9 @@ function candidateBinaryNames(name) {
|
|
|
12332
12328
|
}
|
|
12333
12329
|
async function isExecutable$1(filePath) {
|
|
12334
12330
|
try {
|
|
12335
|
-
if (!(await
|
|
12331
|
+
if (!(await fs$1.stat(filePath)).isFile()) return false;
|
|
12336
12332
|
if (process.platform === "win32") return true;
|
|
12337
|
-
await
|
|
12333
|
+
await fs$1.access(filePath, constants.X_OK);
|
|
12338
12334
|
return true;
|
|
12339
12335
|
} catch {
|
|
12340
12336
|
return false;
|
|
@@ -14038,7 +14034,7 @@ async function createModelSelectionState(params) {
|
|
|
14038
14034
|
}
|
|
14039
14035
|
}
|
|
14040
14036
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
14041
|
-
const { ensureAuthProfileStore } = await import("./auth-profiles-
|
|
14037
|
+
const { ensureAuthProfileStore } = await import("./auth-profiles-BFSVvFKy.js").then((n) => n.t);
|
|
14042
14038
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
14043
14039
|
const providerKey = normalizeProviderId(provider);
|
|
14044
14040
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -17182,7 +17178,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
17182
17178
|
cwd: process.cwd(),
|
|
17183
17179
|
root: params.sandbox.workspaceDir
|
|
17184
17180
|
});
|
|
17185
|
-
if (!(await
|
|
17181
|
+
if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
|
|
17186
17182
|
const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
|
|
17187
17183
|
const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
|
|
17188
17184
|
return {
|
|
@@ -18196,13 +18192,13 @@ async function validateScriptFileForShellBleed(params) {
|
|
|
18196
18192
|
cwd: params.workdir,
|
|
18197
18193
|
root: params.workdir
|
|
18198
18194
|
});
|
|
18199
|
-
stat = await
|
|
18195
|
+
stat = await fs$1.stat(absPath);
|
|
18200
18196
|
} catch {
|
|
18201
18197
|
return;
|
|
18202
18198
|
}
|
|
18203
18199
|
if (!stat.isFile()) return;
|
|
18204
18200
|
if (stat.size > 512 * 1024) return;
|
|
18205
|
-
const content = await
|
|
18201
|
+
const content = await fs$1.readFile(absPath, "utf-8");
|
|
18206
18202
|
const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
|
|
18207
18203
|
if (first) {
|
|
18208
18204
|
const idx = first.index;
|
|
@@ -22878,7 +22874,7 @@ async function handleCommands(params) {
|
|
|
22878
22874
|
try {
|
|
22879
22875
|
const messages = [];
|
|
22880
22876
|
if (sessionFile) {
|
|
22881
|
-
const content = await
|
|
22877
|
+
const content = await fs$1.readFile(sessionFile, "utf-8");
|
|
22882
22878
|
for (const line of content.split("\n")) {
|
|
22883
22879
|
if (!line.trim()) continue;
|
|
22884
22880
|
try {
|
|
@@ -25065,7 +25061,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
25065
25061
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
|
|
25066
25062
|
throw new Error("jsonlPath outside allowed roots");
|
|
25067
25063
|
}
|
|
25068
|
-
const canonical = await
|
|
25064
|
+
const canonical = await fs$1.realpath(resolved).catch(() => resolved);
|
|
25069
25065
|
if (!isInboundPathAllowed({
|
|
25070
25066
|
filePath: canonical,
|
|
25071
25067
|
roots
|
|
@@ -25073,7 +25069,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
25073
25069
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
|
|
25074
25070
|
throw new Error("jsonlPath outside allowed roots");
|
|
25075
25071
|
}
|
|
25076
|
-
return await
|
|
25072
|
+
return await fs$1.readFile(canonical, "utf8");
|
|
25077
25073
|
}
|
|
25078
25074
|
const CanvasToolSchema = Type.Object({
|
|
25079
25075
|
action: stringEnum(CANVAS_ACTIONS),
|
|
@@ -25370,7 +25366,7 @@ function normalizeSessionTarget(raw) {
|
|
|
25370
25366
|
function normalizeWakeMode(raw) {
|
|
25371
25367
|
if (typeof raw !== "string") return;
|
|
25372
25368
|
const trimmed = raw.trim().toLowerCase();
|
|
25373
|
-
if (trimmed === "now" || trimmed === "next-heartbeat") return
|
|
25369
|
+
if (trimmed === "now" || trimmed === "next-heartbeat") return "now";
|
|
25374
25370
|
}
|
|
25375
25371
|
function copyTopLevelAgentTurnFields(next, payload) {
|
|
25376
25372
|
const copyString = (field) => {
|
|
@@ -25547,7 +25543,6 @@ const CRON_ACTIONS = [
|
|
|
25547
25543
|
"runs",
|
|
25548
25544
|
"wake"
|
|
25549
25545
|
];
|
|
25550
|
-
const CRON_WAKE_MODES = ["now", "next-heartbeat"];
|
|
25551
25546
|
const CRON_RUN_MODES = ["due", "force"];
|
|
25552
25547
|
const REMINDER_CONTEXT_MESSAGES_MAX = 10;
|
|
25553
25548
|
const REMINDER_CONTEXT_PER_MESSAGE_MAX = 220;
|
|
@@ -25564,7 +25559,6 @@ const CronToolSchema = Type.Object({
|
|
|
25564
25559
|
id: Type.Optional(Type.String()),
|
|
25565
25560
|
patch: Type.Optional(Type.Object({}, { additionalProperties: true })),
|
|
25566
25561
|
text: Type.Optional(Type.String()),
|
|
25567
|
-
mode: optionalStringEnum(CRON_WAKE_MODES),
|
|
25568
25562
|
runMode: optionalStringEnum(CRON_RUN_MODES),
|
|
25569
25563
|
contextMessages: Type.Optional(Type.Number({
|
|
25570
25564
|
minimum: 0,
|
|
@@ -25705,10 +25699,6 @@ CRITICAL CONSTRAINTS:
|
|
|
25705
25699
|
- For webhook callbacks, use delivery.mode="webhook" with delivery.to set to a URL.
|
|
25706
25700
|
Default: prefer isolated agentTurn jobs unless the user explicitly wants a main-session system event.
|
|
25707
25701
|
|
|
25708
|
-
WAKE MODES (for wake action):
|
|
25709
|
-
- "next-heartbeat" (default): Wake on next heartbeat
|
|
25710
|
-
- "now": Wake immediately
|
|
25711
|
-
|
|
25712
25702
|
Use jobId as the canonical identifier; id is accepted for compatibility. Use contextMessages (0-10) to add previous messages as context to the job text.`,
|
|
25713
25703
|
parameters: CronToolSchema,
|
|
25714
25704
|
execute: async (_toolCallId, args) => {
|
|
@@ -25829,13 +25819,7 @@ Use jobId as the canonical identifier; id is accepted for compatibility. Use con
|
|
|
25829
25819
|
if (!id) throw new Error("jobId required (id accepted for backward compatibility)");
|
|
25830
25820
|
return jsonResult(await callGateway("cron.runs", gatewayOpts, { id }));
|
|
25831
25821
|
}
|
|
25832
|
-
case "wake": {
|
|
25833
|
-
const text = readStringParam(params, "text", { required: true });
|
|
25834
|
-
return jsonResult(await callGateway("wake", gatewayOpts, {
|
|
25835
|
-
mode: params.mode === "now" || params.mode === "next-heartbeat" ? params.mode : "next-heartbeat",
|
|
25836
|
-
text
|
|
25837
|
-
}, { expectFinal: false }));
|
|
25838
|
-
}
|
|
25822
|
+
case "wake": return jsonResult(await callGateway("wake", gatewayOpts, { text: readStringParam(params, "text", { required: true }) }, { expectFinal: false }));
|
|
25839
25823
|
default: throw new Error(`Unknown action: ${action}`);
|
|
25840
25824
|
}
|
|
25841
25825
|
}
|
|
@@ -26616,7 +26600,7 @@ async function hydrateAttachmentPayload(params) {
|
|
|
26616
26600
|
accountId: params.accountId
|
|
26617
26601
|
}),
|
|
26618
26602
|
sandboxValidated: true,
|
|
26619
|
-
readFile: (filePath) =>
|
|
26603
|
+
readFile: (filePath) => fs$1.readFile(filePath)
|
|
26620
26604
|
});
|
|
26621
26605
|
params.args.buffer = media.buffer.toString("base64");
|
|
26622
26606
|
if (!contentTypeParam && media.contentType) params.args.contentType = media.contentType;
|
|
@@ -33110,7 +33094,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
33110
33094
|
return;
|
|
33111
33095
|
}
|
|
33112
33096
|
try {
|
|
33113
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
33097
|
+
const { deliverOutboundPayloads } = await import("./deliver-RwovDEDy.js").then((n) => n.n);
|
|
33114
33098
|
await deliverOutboundPayloads({
|
|
33115
33099
|
cfg: params.cfg,
|
|
33116
33100
|
channel,
|
|
@@ -33515,7 +33499,7 @@ async function stageSandboxMedia(params) {
|
|
|
33515
33499
|
};
|
|
33516
33500
|
try {
|
|
33517
33501
|
const destDir = sandbox ? path.join(effectiveWorkspaceDir, "media", "inbound") : effectiveWorkspaceDir;
|
|
33518
|
-
await
|
|
33502
|
+
await fs$1.mkdir(destDir, { recursive: true });
|
|
33519
33503
|
const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
|
|
33520
33504
|
cfg,
|
|
33521
33505
|
accountId: ctx.AccountId
|
|
@@ -33565,7 +33549,7 @@ async function stageSandboxMedia(params) {
|
|
|
33565
33549
|
usedNames.add(fileName);
|
|
33566
33550
|
const dest = path.join(destDir, fileName);
|
|
33567
33551
|
if (ctx.MediaRemoteHost) await scpFile(ctx.MediaRemoteHost, source, dest);
|
|
33568
|
-
else await
|
|
33552
|
+
else await fs$1.copyFile(source, dest);
|
|
33569
33553
|
const stagedPath = sandbox ? path.posix.join("media", "inbound", fileName) : dest;
|
|
33570
33554
|
staged.set(source, stagedPath);
|
|
33571
33555
|
}
|
|
@@ -35029,8 +35013,8 @@ function buildGlassUiProfile(opts) {
|
|
|
35029
35013
|
//#region src/auto-reply/run-channel-turn.ts
|
|
35030
35014
|
/**
|
|
35031
35015
|
* Deliver one or more early-reply payloads through the surface's payload
|
|
35032
|
-
* chain (
|
|
35033
|
-
*
|
|
35016
|
+
* chain (typing-signals → tool-result-serialization → channel-routing →
|
|
35017
|
+
* dispatcher). Used for prep-emitted finals
|
|
35034
35018
|
* (directive ack, inline action, auth rejection) and for the abort
|
|
35035
35019
|
* payload from `withFastAbort`.
|
|
35036
35020
|
*/
|
|
@@ -38876,7 +38860,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
38876
38860
|
}
|
|
38877
38861
|
let commandsRegistry;
|
|
38878
38862
|
async function getCommandsRegistry() {
|
|
38879
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
38863
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BNCcZy2y.js").then((n) => n.t);
|
|
38880
38864
|
return commandsRegistry;
|
|
38881
38865
|
}
|
|
38882
38866
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -39218,11 +39202,11 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39218
39202
|
const channelName = channelInfo?.name;
|
|
39219
39203
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
39220
39204
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
39221
|
-
import("./resolve-route-
|
|
39205
|
+
import("./resolve-route-CRWE36h5.js").then((n) => n.r),
|
|
39222
39206
|
import("./inbound-context-DqAyGDbE.js").then((n) => n.n),
|
|
39223
39207
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
39224
39208
|
]);
|
|
39225
|
-
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-CS5Zjc4w.js").then((n) => n.t), import("./reply-prefix-
|
|
39209
|
+
const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-CS5Zjc4w.js").then((n) => n.t), import("./reply-prefix-BOdARKaY.js").then((n) => n.n)]);
|
|
39226
39210
|
const route = resolveAgentRoute({
|
|
39227
39211
|
cfg,
|
|
39228
39212
|
channel: "slack",
|
|
@@ -39279,7 +39263,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39279
39263
|
});
|
|
39280
39264
|
const deliverSlashPayloads = async (replies) => {
|
|
39281
39265
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
39282
|
-
import("./replies-
|
|
39266
|
+
import("./replies-B2O2eRh6.js").then((n) => n.r),
|
|
39283
39267
|
import("./chunk-DQGU0F8t.js").then((n) => n.s),
|
|
39284
39268
|
import("./markdown-tables-GTLvbzuR.js").then((n) => n.t)
|
|
39285
39269
|
]);
|
|
@@ -39334,7 +39318,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
39334
39318
|
let nativeCommands = [];
|
|
39335
39319
|
if (nativeEnabled) {
|
|
39336
39320
|
reg = await getCommandsRegistry();
|
|
39337
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
39321
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-5QB5E8bv.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
39338
39322
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
39339
39323
|
skillCommands,
|
|
39340
39324
|
provider: "slack"
|
|
@@ -40467,7 +40451,7 @@ function resolvePluginTools(params) {
|
|
|
40467
40451
|
//#endregion
|
|
40468
40452
|
//#region src/agents/apply-patch-update.ts
|
|
40469
40453
|
async function defaultReadFile(filePath) {
|
|
40470
|
-
return
|
|
40454
|
+
return fs$1.readFile(filePath, "utf8");
|
|
40471
40455
|
}
|
|
40472
40456
|
async function applyUpdateHunk(filePath, chunks, options) {
|
|
40473
40457
|
const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
|
|
@@ -40711,10 +40695,10 @@ function resolvePatchFileOps(options) {
|
|
|
40711
40695
|
};
|
|
40712
40696
|
}
|
|
40713
40697
|
return {
|
|
40714
|
-
readFile: (filePath) =>
|
|
40715
|
-
writeFile: (filePath, content) =>
|
|
40716
|
-
remove: (filePath) =>
|
|
40717
|
-
mkdirp: (dir) =>
|
|
40698
|
+
readFile: (filePath) => fs$1.readFile(filePath, "utf8"),
|
|
40699
|
+
writeFile: (filePath, content) => fs$1.writeFile(filePath, content, "utf8"),
|
|
40700
|
+
remove: (filePath) => fs$1.rm(filePath),
|
|
40701
|
+
mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
|
|
40718
40702
|
};
|
|
40719
40703
|
}
|
|
40720
40704
|
async function ensureDir(filePath, ops) {
|
|
@@ -41881,7 +41865,7 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
41881
41865
|
};
|
|
41882
41866
|
let content;
|
|
41883
41867
|
try {
|
|
41884
|
-
content = await
|
|
41868
|
+
content = await fs$1.readFile(sessionFile, "utf-8");
|
|
41885
41869
|
} catch (err) {
|
|
41886
41870
|
if (err?.code === "ENOENT") return {
|
|
41887
41871
|
repaired: false,
|
|
@@ -41929,15 +41913,15 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
41929
41913
|
const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
|
|
41930
41914
|
const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
|
|
41931
41915
|
try {
|
|
41932
|
-
const stat = await
|
|
41933
|
-
await
|
|
41934
|
-
if (stat) await
|
|
41935
|
-
await
|
|
41936
|
-
if (stat) await
|
|
41937
|
-
await
|
|
41916
|
+
const stat = await fs$1.stat(sessionFile).catch(() => null);
|
|
41917
|
+
await fs$1.writeFile(backupPath, content, "utf-8");
|
|
41918
|
+
if (stat) await fs$1.chmod(backupPath, stat.mode);
|
|
41919
|
+
await fs$1.writeFile(tmpPath, cleaned, "utf-8");
|
|
41920
|
+
if (stat) await fs$1.chmod(tmpPath, stat.mode);
|
|
41921
|
+
await fs$1.rename(tmpPath, sessionFile);
|
|
41938
41922
|
} catch (err) {
|
|
41939
41923
|
try {
|
|
41940
|
-
await
|
|
41924
|
+
await fs$1.unlink(tmpPath);
|
|
41941
41925
|
} catch (cleanupErr) {
|
|
41942
41926
|
params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
|
|
41943
41927
|
}
|
|
@@ -43210,7 +43194,7 @@ async function prewarmSessionFile(sessionFile) {
|
|
|
43210
43194
|
if (!isSessionManagerCacheEnabled()) return;
|
|
43211
43195
|
if (isSessionManagerCached(sessionFile)) return;
|
|
43212
43196
|
try {
|
|
43213
|
-
const handle = await
|
|
43197
|
+
const handle = await fs$1.open(sessionFile, "r");
|
|
43214
43198
|
try {
|
|
43215
43199
|
const buffer = Buffer$1.alloc(4096);
|
|
43216
43200
|
await handle.read(buffer, 0, buffer.length, 0);
|
|
@@ -43350,7 +43334,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
43350
43334
|
} catch (err) {
|
|
43351
43335
|
return fail(describeUnknownError(err));
|
|
43352
43336
|
}
|
|
43353
|
-
await
|
|
43337
|
+
await fs$1.mkdir(resolvedWorkspace, { recursive: true });
|
|
43354
43338
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
43355
43339
|
const sandbox = await resolveSandboxContext({
|
|
43356
43340
|
config: params.config,
|
|
@@ -43358,7 +43342,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
43358
43342
|
workspaceDir: resolvedWorkspace
|
|
43359
43343
|
});
|
|
43360
43344
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
43361
|
-
await
|
|
43345
|
+
await fs$1.mkdir(effectiveWorkspace, { recursive: true });
|
|
43362
43346
|
await ensureSessionHeader({
|
|
43363
43347
|
sessionFile: params.sessionFile,
|
|
43364
43348
|
sessionId: params.sessionId,
|
|
@@ -43683,12 +43667,12 @@ function getQueuedFileWriter(writers, filePath) {
|
|
|
43683
43667
|
const existing = writers.get(filePath);
|
|
43684
43668
|
if (existing) return existing;
|
|
43685
43669
|
const dir = path.dirname(filePath);
|
|
43686
|
-
const ready =
|
|
43670
|
+
const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
|
|
43687
43671
|
let queue = Promise.resolve();
|
|
43688
43672
|
const writer = {
|
|
43689
43673
|
filePath,
|
|
43690
43674
|
write: (line) => {
|
|
43691
|
-
queue = queue.then(() => ready).then(() =>
|
|
43675
|
+
queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
|
|
43692
43676
|
}
|
|
43693
43677
|
};
|
|
43694
43678
|
writers.set(filePath, writer);
|
|
@@ -46868,7 +46852,7 @@ Use the message tool with buttons:
|
|
|
46868
46852
|
*/
|
|
46869
46853
|
async function readSessionFile(sessionFile) {
|
|
46870
46854
|
try {
|
|
46871
|
-
return await
|
|
46855
|
+
return await fs$1.readFile(sessionFile, "utf-8");
|
|
46872
46856
|
} catch {
|
|
46873
46857
|
return null;
|
|
46874
46858
|
}
|
|
@@ -46877,8 +46861,8 @@ async function writeAtomically(sessionFile, text) {
|
|
|
46877
46861
|
const dir = path.dirname(sessionFile);
|
|
46878
46862
|
const base = path.basename(sessionFile);
|
|
46879
46863
|
const tmp = path.join(dir, `.${base}.prune-${process.pid}-${Date.now()}.tmp`);
|
|
46880
|
-
await
|
|
46881
|
-
await
|
|
46864
|
+
await fs$1.writeFile(tmp, text, "utf-8");
|
|
46865
|
+
await fs$1.rename(tmp, sessionFile);
|
|
46882
46866
|
}
|
|
46883
46867
|
/**
|
|
46884
46868
|
* Remove empty assistant JSONL entries from the session file.
|
|
@@ -46980,7 +46964,7 @@ function isInPoisonRange(version) {
|
|
|
46980
46964
|
*/
|
|
46981
46965
|
async function checkSessionPoison(sessionFile) {
|
|
46982
46966
|
try {
|
|
46983
|
-
const firstLine = (await
|
|
46967
|
+
const firstLine = (await fs$1.readFile(sessionFile, "utf-8")).split("\n")[0];
|
|
46984
46968
|
if (!firstLine) return null;
|
|
46985
46969
|
const header = JSON.parse(firstLine);
|
|
46986
46970
|
if (header.type !== "session") return null;
|
|
@@ -46998,7 +46982,7 @@ async function checkSessionPoison(sessionFile) {
|
|
|
46998
46982
|
*/
|
|
46999
46983
|
async function archivePoisonedSession(sessionFile) {
|
|
47000
46984
|
const archiveName = `${sessionFile}.archived-poison.${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}`;
|
|
47001
|
-
await
|
|
46985
|
+
await fs$1.rename(sessionFile, archiveName);
|
|
47002
46986
|
return archiveName;
|
|
47003
46987
|
}
|
|
47004
46988
|
/**
|
|
@@ -47007,14 +46991,14 @@ async function archivePoisonedSession(sessionFile) {
|
|
|
47007
46991
|
*/
|
|
47008
46992
|
async function stampSessionVersion(sessionFile) {
|
|
47009
46993
|
try {
|
|
47010
|
-
const lines = (await
|
|
46994
|
+
const lines = (await fs$1.readFile(sessionFile, "utf-8")).split("\n");
|
|
47011
46995
|
if (lines.length === 0) return;
|
|
47012
46996
|
const header = JSON.parse(lines[0]);
|
|
47013
46997
|
if (header.type !== "session") return;
|
|
47014
46998
|
if (header.symiVersion === VERSION) return;
|
|
47015
46999
|
header.symiVersion = VERSION;
|
|
47016
47000
|
lines[0] = JSON.stringify(header);
|
|
47017
|
-
await
|
|
47001
|
+
await fs$1.writeFile(sessionFile, lines.join("\n"), "utf-8");
|
|
47018
47002
|
} catch {}
|
|
47019
47003
|
}
|
|
47020
47004
|
/**
|
|
@@ -47243,7 +47227,7 @@ async function prepareSessionManagerForRun(params) {
|
|
|
47243
47227
|
return;
|
|
47244
47228
|
}
|
|
47245
47229
|
if (params.hadSessionFile && header && !hasAssistant) {
|
|
47246
|
-
await
|
|
47230
|
+
await fs$1.writeFile(params.sessionFile, "", "utf-8");
|
|
47247
47231
|
sm.fileEntries = [header];
|
|
47248
47232
|
sm.byId?.clear?.();
|
|
47249
47233
|
sm.labelsById?.clear?.();
|
|
@@ -47801,7 +47785,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
47801
47785
|
const prevCwd = process.cwd();
|
|
47802
47786
|
const runAbortController = new AbortController();
|
|
47803
47787
|
log$7.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
|
|
47804
|
-
await
|
|
47788
|
+
await fs$1.mkdir(resolvedWorkspace, { recursive: true });
|
|
47805
47789
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
47806
47790
|
const sandbox = await resolveSandboxContext({
|
|
47807
47791
|
config: params.config,
|
|
@@ -47809,7 +47793,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
47809
47793
|
workspaceDir: resolvedWorkspace
|
|
47810
47794
|
});
|
|
47811
47795
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
47812
|
-
await
|
|
47796
|
+
await fs$1.mkdir(effectiveWorkspace, { recursive: true });
|
|
47813
47797
|
let restoreSkillEnv;
|
|
47814
47798
|
process.chdir(effectiveWorkspace);
|
|
47815
47799
|
try {
|
|
@@ -48018,7 +48002,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
48018
48002
|
sessionFile: params.sessionFile,
|
|
48019
48003
|
warn: (message) => log$7.warn(message)
|
|
48020
48004
|
});
|
|
48021
|
-
const hadSessionFile = await
|
|
48005
|
+
const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
|
|
48022
48006
|
const transcriptPolicy = resolveTranscriptPolicy({
|
|
48023
48007
|
modelApi: params.model?.api,
|
|
48024
48008
|
provider: params.provider,
|
|
@@ -49110,7 +49094,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
49110
49094
|
}
|
|
49111
49095
|
runLoopIterations += 1;
|
|
49112
49096
|
attemptedThinking.add(thinkLevel);
|
|
49113
|
-
await
|
|
49097
|
+
await fs$1.mkdir(resolvedWorkspace, { recursive: true });
|
|
49114
49098
|
const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
|
|
49115
49099
|
const attempt = await runEmbeddedAttempt({
|
|
49116
49100
|
sessionId: params.sessionId,
|