wednesdayai 0.6.1-dev.7 → 0.6.1-dev.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agent-scope-BtUvImH3.js → agent-scope-CCWcV-mm.js} +1 -1
- package/dist/{agent-scope-Baake9Zw.js → agent-scope-CmMflllE.js} +18 -18
- package/dist/{agent-scope-mW_bIVxB.js → agent-scope-Km9kFpGZ.js} +2 -2
- package/dist/{agent-turn-execute-FvKDpI0k.js → agent-turn-execute-C5BrtQw7.js} +167 -167
- package/dist/{agent-turn-execute-DCEdgfn4.js → agent-turn-execute-PcF36_4h.js} +81 -81
- package/dist/{agent-turn-runner-DORCoPIV.js → agent-turn-runner-BOwPjmul.js} +6 -6
- package/dist/{agent-turn-runner-N0SoqZOW.js → agent-turn-runner-DgRUf3t9.js} +6 -6
- package/dist/{agent-turn-runner-CbKGcl3C.js → agent-turn-runner-DsDYOkS0.js} +6 -6
- package/dist/{api-key-rotation-BYKEqCjs.js → api-key-rotation-B1g36Ktj.js} +2 -2
- package/dist/{api-key-rotation-Kb5UlnWS.js → api-key-rotation-DMxY8dgp.js} +2 -2
- package/dist/{api-key-rotation-C-vN-cou.js → api-key-rotation-SXWmHJ82.js} +2 -2
- package/dist/{audio-preflight-DOQ4t3Lt.js → audio-preflight-B3evE7-u.js} +22 -22
- package/dist/{audio-preflight-DXhf9Jw5.js → audio-preflight-CmPLA0Gs.js} +25 -25
- package/dist/{audio-preflight-NAEHXArO.js → audio-preflight-K7IUKCcp.js} +24 -24
- package/dist/{audio-transcription-runner-DLjBrgIp.js → audio-transcription-runner-4DK2O-7Z.js} +11 -11
- package/dist/{audio-transcription-runner-C2MeTPEc.js → audio-transcription-runner-DzJ9M4zn.js} +25 -25
- package/dist/{audio-transcription-runner-BPWmR980.js → audio-transcription-runner-LWApHLBl.js} +12 -12
- package/dist/{auth-Bxe2cFXo.js → auth-D2zwtjEE.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +55 -55
- package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-journal/handler.js +55 -55
- package/dist/bundled/session-memory/handler.js +55 -55
- package/dist/{call-QP6Xkgk6.js → call-BjvHhPTp.js} +6 -6
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{chat-content-1PkEbyji.js → chat-content-C9lS70TS.js} +15 -15
- package/dist/{chat-content-BpQAsNXf.js → chat-content-CHw0gp7N.js} +17 -17
- package/dist/{chat-content-CUEBE5sP.js → chat-content-OjzGhCu9.js} +24 -24
- package/dist/{chrome-DZUpRqr5.js → chrome-D26iRuov.js} +6 -6
- package/dist/{plugin-sdk/chrome-CuqV33Tq.js → chrome-DwJAYQrd.js} +23 -23
- package/dist/{chrome-CrQJ7sJy.js → chrome-n-0LtZ5p.js} +6 -6
- package/dist/{chunk-BOyW8CWf.js → chunk-BO29WISL.js} +3 -3
- package/dist/{chunk-DxrJ3Gup.js → chunk-BY0qWMC0.js} +3 -3
- package/dist/{chunk-DYUW1MQP.js → chunk-C7MQgQ4g.js} +3 -3
- package/dist/{command-queue-CXz9DVsG.js → command-queue-B7ny6IpS.js} +1 -1
- package/dist/{command-queue-D1UQrdty.js → command-queue-CRSJ0P07.js} +1 -1
- package/dist/{command-queue-C-FGbDJz.js → command-queue-n-3dr-XL.js} +1 -1
- package/dist/{commands-registry-D9HZmIAd.js → commands-registry-CcEHn1XI.js} +2 -2
- package/dist/{commands-registry-CMmeEgz2.js → commands-registry-Dv-b9PiZ.js} +2 -2
- package/dist/{commands-registry-Bew0o0-N.js → commands-registry-Dx4q8Stu.js} +2 -2
- package/dist/{config-Bsj2p2wE.js → config-i54suDg0.js} +26 -26
- package/dist/config.js +3 -3
- package/dist/{credentials-AMTaKIti.js → credentials-BNtHxB_l.js} +1 -1
- package/dist/{credentials-CxCFIe6D.js → credentials-DQ7lFgET.js} +1 -1
- package/dist/{credentials-CQxVmyVQ.js → credentials-Fr_P7kXi.js} +1 -1
- package/dist/daemon-cli.js +12 -12
- package/dist/{deliver-DhTGNP5K.js → deliver-BRmy8mNE.js} +14 -14
- package/dist/{deliver-DyypynBz.js → deliver-BqbB01OT.js} +14 -14
- package/dist/{deliver-CIRdl5yq.js → deliver-CRQ5Q9MI.js} +15 -15
- package/dist/{diagnostic-C2R8JTrg.js → diagnostic-CtDjU2cL.js} +3 -3
- package/dist/{diagnostic-ZN_usXW9.js → diagnostic-DnoZn-KN.js} +3 -3
- package/dist/{diagnostic-Dd6LtH4a.js → diagnostic-VK1bXt80.js} +3 -3
- package/dist/{errors-D-W6b40A.js → errors-0RH1PUyI.js} +1 -1
- package/dist/{errors-CnHQSI9_.js → errors-DbYMrbC6.js} +1 -1
- package/dist/{plugin-sdk/errors-CLQ_1plf.js → errors-PebfxiNw.js} +1 -1
- package/dist/{fetch-BfxA2OXM.js → fetch-B_5TQsLI.js} +1 -1
- package/dist/{fetch-C9itXZkj.js → fetch-CucaLVum.js} +1 -1
- package/dist/{fetch-DAVlU8on.js → fetch-CvQ4rHkA.js} +7 -7
- package/dist/{fetch-CouuWqcW.js → fetch-DMx7kUDq.js} +1 -1
- package/dist/{fetch-CB56RYbf.js → fetch-IBrV5cpo.js} +7 -7
- package/dist/{fetch-guard-CijCZ_b-.js → fetch-guard-1wmQV-Tr.js} +2 -2
- package/dist/{fetch-guard-DKsHmX2W.js → fetch-guard-Bwaekd5B.js} +2 -2
- package/dist/{fetch-guard-DYg-drum.js → fetch-guard-Cpegp1jz.js} +2 -2
- package/dist/{fetch-BT2I7cbc.js → fetch-wRt70JUw.js} +7 -7
- package/dist/{frontmatter-C2il6iYY.js → frontmatter-7crf_wMo.js} +3 -3
- package/dist/{fs-safe-CE8lX7WJ.js → fs-safe-Bb8-IeGg.js} +3 -3
- package/dist/{fs-safe-BxszbGp8.js → fs-safe-g7C2VmjR.js} +25 -25
- package/dist/{fs-safe-BdoohhEQ.js → fs-safe-zTwRJV2P.js} +3 -3
- package/dist/{group-B8al5pPW.js → group-CJxrdnQi.js} +7 -7
- package/dist/{image-ops-BidmoZQ2.js → image-ops-BnBkL2cb.js} +1 -1
- package/dist/{plugin-sdk/image-ops-BBVBwRM0.js → image-ops-D9RolAaO.js} +12 -12
- package/dist/{image-ops-u0MGFcmO.js → image-ops-DONWlnn2.js} +1 -1
- package/dist/{ir-DXeLOldW.js → ir-BMz0_JTj.js} +8 -8
- package/dist/{ir-Bf5kMPAy.js → ir-qxGmbhX1.js} +5 -5
- package/dist/{ir-Dl3iTDmU.js → ir-rI6qQBSg.js} +5 -5
- package/dist/{json-files-GB7e9l0R.js → json-files-B1gYf6W9.js} +7 -7
- package/dist/{legacy-names-CRCLZarD.js → legacy-names-Bx5L8LWT.js} +1 -1
- package/dist/llm-slug-generator.js +55 -55
- package/dist/{manager-YDyRTQUV.js → manager-BuEOjzym.js} +14 -14
- package/dist/{manager-DXW24oV1.js → manager-DiZNgASh.js} +7 -7
- package/dist/{manager-Dszac2Ws.js → manager-IIVZBivo.js} +7 -7
- package/dist/{markdown-tables-DdEOvPAH.js → markdown-tables-BtpvPNub.js} +2 -2
- package/dist/{markdown-tables-tr_7Fmw-.js → markdown-tables-D8MSIea0.js} +2 -2
- package/dist/{markdown-tables-DIw8tw96.js → markdown-tables-Dv-Fn4ps.js} +2 -2
- package/dist/{model-selection-ZyZ8C9Sz.js → model-selection-CVZg4wf8.js} +9 -9
- package/dist/{models-config-BhUXT1hF.js → models-config-3lhn9o5Q.js} +7 -7
- package/dist/{models-config-DIom_9je.js → models-config-BIR5Jl6Y.js} +2 -2
- package/dist/{models-config-CQAh0oG4.js → models-config-D8yjYakk.js} +2 -2
- package/dist/{net-CgCDDLO-.js → net-Ih2dkbnA.js} +1 -1
- package/dist/{nudge-BCCAsfyx.js → nudge-AEmyX8R6.js} +7 -7
- package/dist/{nudge-C0QSQl-l.js → nudge-Df4BNfRM.js} +9 -9
- package/dist/{nudge-CbzF1JFW.js → nudge-OjthVWgf.js} +16 -16
- package/dist/{outbound-attachment-83kY4_pp.js → outbound-attachment-BaRQnyDU.js} +2 -2
- package/dist/{outbound-attachment-xWf54r8i.js → outbound-attachment-CmkxUxFF.js} +2 -2
- package/dist/{outbound-attachment-BfJ7wb_J.js → outbound-attachment-DJGxSTr2.js} +2 -2
- package/dist/{outbound-message-hooks-IolzEbMD.js → outbound-message-hooks-CWaDtoFU.js} +4 -4
- package/dist/{outbound-message-hooks-D02COH42.js → outbound-message-hooks-D6fdkHcA.js} +5 -5
- package/dist/{outbound-message-hooks-BQNruXlp.js → outbound-message-hooks-DuS8ZzCg.js} +4 -4
- package/dist/{path-alias-guards-DMuDQY7-.js → path-alias-guards-BR5wRjxa.js} +1 -1
- package/dist/{path-alias-guards-CpIKU1Cq.js → path-alias-guards-CGgM-kfP.js} +3 -3
- package/dist/{path-alias-guards-BO9B8Ujj.js → path-alias-guards-CIxtmZUH.js} +1 -1
- package/dist/{pi-embedded-AaZc-fd0.js → pi-embedded-f8k37-ji.js} +80 -80
- package/dist/{plugin-sdk/pi-embedded-utils-Bs8GJcVC.js → pi-embedded-utils-CFD8XCEm.js} +3 -3
- package/dist/{pi-embedded-utils-CwgRLftX.js → pi-embedded-utils-D6bb0L0C.js} +3 -3
- package/dist/{pi-embedded-utils-CxTJd3C4.js → pi-embedded-utils-avtPd7wj.js} +3 -3
- package/dist/{pi-model-discovery-mp9nTslh.js → pi-model-discovery-B0qOEKz1.js} +1 -1
- package/dist/{pi-model-discovery-CpPL43Dt.js → pi-model-discovery-CdFFtQGN.js} +1 -1
- package/dist/{pi-model-discovery-DwUyqoo1.js → pi-model-discovery-DtlKqZOH.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-B8qbKhhI.js → agent-scope-Be-jpj9v.js} +1 -1
- package/dist/plugin-sdk/agent-turn-execute-Be8Qh2Bw.js +61 -0
- package/dist/plugin-sdk/{agent-turn-execute-yXQn2zCY.js → agent-turn-execute-D86ZmA4-.js} +65 -65
- package/dist/plugin-sdk/{agent-turn-runner-B-poPtP_.js → agent-turn-runner-C05hxUR0.js} +7 -7
- package/dist/plugin-sdk/{agent-turn-runner-CFEsvBCd.js → agent-turn-runner-CxEH_oDh.js} +3 -3
- package/dist/plugin-sdk/{api-key-rotation-Do8uKcvN.js → api-key-rotation-BSOYQ4qc.js} +2 -2
- package/dist/plugin-sdk/{api-key-rotation-jl39nKbi.js → api-key-rotation-ChAeDYxy.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-BFDNHENv.js → audio-preflight-CV1BDhSi.js} +15 -15
- package/dist/plugin-sdk/{audio-preflight-CvBQezNa.js → audio-preflight-CV8hn0ML.js} +22 -22
- package/dist/plugin-sdk/{audio-transcription-runner-DqBfb4fD.js → audio-transcription-runner-B5P3Ikr5.js} +7 -7
- package/dist/plugin-sdk/{audio-transcription-runner-Bx34SZcC.js → audio-transcription-runner-BskrbhXT.js} +11 -11
- package/dist/plugin-sdk/{auth-profiles-B9f3QHek.js → auth-profiles-Bjh8-BxW.js} +3 -3
- package/dist/plugin-sdk/{chat-content-CpC6DI0a.js → chat-content-Dv48ezjN.js} +15 -15
- package/dist/{chrome-BQRvL5_6.js → plugin-sdk/chrome-Ccd0oIRL.js} +8 -8
- package/dist/plugin-sdk/{chrome-BuRzWRZC.js → chrome-Djee-ZQ4.js} +6 -6
- package/dist/plugin-sdk/{chunk-B6pu3-QT.js → chunk-Ds0DViTU.js} +1 -1
- package/dist/plugin-sdk/{chunk-B5DJ9OSy.js → chunk-OLisVrnA.js} +4 -4
- package/dist/plugin-sdk/{command-queue-DNzxLFLp.js → command-queue-DKwo5KR5.js} +2 -2
- package/dist/plugin-sdk/{commands-registry-DQlTlZwD.js → commands-registry-B1nDgloc.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-BLvUWjLN.js → commands-registry-CbFYKesr.js} +3 -3
- package/dist/plugin-sdk/{credentials-qipHomyX.js → credentials-A4Z3kXiD.js} +1 -1
- package/dist/plugin-sdk/{credentials-y9Sghbm7.js → credentials-BphVNHsl.js} +1 -1
- package/dist/plugin-sdk/{deliver-Qit0vLPJ.js → deliver-DHCz4Dtv.js} +11 -11
- package/dist/plugin-sdk/deliver-UCpJHA8E.js +34 -0
- package/dist/plugin-sdk/{deliver-Ce7dREwO.js → deliver-cnS8GuO-.js} +14 -14
- package/dist/plugin-sdk/{diagnostic-D3BaH5T-.js → diagnostic-CfzW0_dx.js} +5 -5
- package/dist/plugin-sdk/{diagnostic-session-state-Ca-WhNi6.js → diagnostic-session-state-B0P3KV3G.js} +1 -1
- package/dist/{errors-CN5_QuWi.js → plugin-sdk/errors-BrdJv9v4.js} +1 -1
- package/dist/plugin-sdk/{fetch-CuWyAHvW.js → fetch-9sAWAc_2.js} +2 -2
- package/dist/plugin-sdk/{fetch-DZ--lOzI.js → fetch-DeK1fKwA.js} +7 -7
- package/dist/plugin-sdk/{fetch-BwuajxFn.js → fetch-DgyyeBob.js} +1 -1
- package/dist/plugin-sdk/fetch-DznZfJ5x.js +67 -0
- package/dist/plugin-sdk/{fetch-guard-BX6jBxKE.js → fetch-guard-D1A1wf4z.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-Ce-ucfQG.js → fetch-guard-DHFG0AUk.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-CMnlphkT.js → fs-safe-BKrwJmFe.js} +3 -3
- package/dist/{image-ops-D_DwGLwy.js → plugin-sdk/image-ops-CUdIP6Hb.js} +2 -2
- package/dist/plugin-sdk/{inbound-context-BoAwxQia.js → inbound-context-JGyGh_6z.js} +1 -1
- package/dist/plugin-sdk/{ir-D-C6OU_g.js → ir-CShw6HQ4.js} +2 -2
- package/dist/plugin-sdk/{ir-DnqOk2R4.js → ir-CiCv2-fU.js} +5 -5
- package/dist/plugin-sdk/{manager-DULQ8IMM.js → manager-C0hS53l8.js} +7 -7
- package/dist/plugin-sdk/manager-CCHSaXUr.js +14 -0
- package/dist/plugin-sdk/{manager-BUK83x9w.js → manager-b7rkl95-.js} +4 -4
- package/dist/plugin-sdk/{markdown-tables-esO0kIio.js → markdown-tables-BMmTOUny.js} +3 -3
- package/dist/plugin-sdk/{markdown-tables-xkafNP0w.js → markdown-tables-fifmBw3T.js} +1 -1
- package/dist/plugin-sdk/{model-auth-Dm_kGvag.js → model-auth-CNca-eBd.js} +1 -1
- package/dist/plugin-sdk/{models-config-BP6ahg1c.js → models-config-3uPMrOQa.js} +2 -2
- package/dist/plugin-sdk/{models-config-d973WFny.js → models-config-B6w8XG1d.js} +1 -1
- package/dist/plugin-sdk/{monitor-Bi5mp8ZL.js → monitor-BFvMt0jv.js} +86 -86
- package/dist/plugin-sdk/{nudge-D9yHrAg6.js → nudge-CwP_UxdK.js} +9 -9
- package/dist/plugin-sdk/{nudge-C31EKVuV.js → nudge-DHoaL0VV.js} +10 -10
- package/dist/plugin-sdk/{openai-compatible-video-CmBqUEsR.js → openai-compatible-video-Dpm_3S9N.js} +5 -5
- package/dist/plugin-sdk/{outbound-attachment-BIKJ2xZq.js → outbound-attachment-BmJGXjpk.js} +2 -2
- package/dist/plugin-sdk/{outbound-attachment-PUi9Lfwh.js → outbound-attachment-CSNvxAi5.js} +1 -1
- package/dist/plugin-sdk/{outbound-message-hooks-YVH4V7MO.js → outbound-message-hooks-BX0MYkzu.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-Dy5NeCrQ.js → path-alias-guards-C02bovRa.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-z5kapszH.js → pi-embedded-helpers-C7sEml4L.js} +9 -9
- package/dist/plugin-sdk/{pi-embedded-utils-BXj-Gcqv.js → pi-embedded-utils-DPvEgOcW.js} +1 -1
- package/dist/{pi-embedded-utils-Bj7yEtOX.js → plugin-sdk/pi-embedded-utils-gdDvWLUF.js} +3 -3
- package/dist/plugin-sdk/{pi-model-discovery-DawOoDa-.js → pi-model-discovery-3ImxVoN0.js} +1 -1
- package/dist/plugin-sdk/{pi-model-discovery-GsWHJJdG.js → pi-model-discovery-Bf07_wdY.js} +2 -2
- package/dist/plugin-sdk/provider-dispatcher-HvZOc6pQ.js +61 -0
- package/dist/plugin-sdk/provider-media-understanding.js +12 -12
- package/dist/plugin-sdk/{proxy-env-BSt9Mpcu.js → proxy-env-CfbHPZsA.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-C25z96Gn.js → pw-ai-Beqk71S6.js} +4 -4
- package/dist/plugin-sdk/{pw-ai-BsG21ZK4.js → pw-ai-DXxR9klb.js} +10 -10
- package/dist/plugin-sdk/{qmd-manager-B5fNIvSH.js → qmd-manager-C5StGWpa.js} +2 -2
- package/dist/plugin-sdk/{qmd-manager-CjRF-Or3.js → qmd-manager-D4W-fPSL.js} +8 -8
- package/dist/plugin-sdk/{qmd-scope-PjThGixm.js → qmd-scope-DaJOhdHL.js} +1 -1
- package/dist/plugin-sdk/{query-expansion-YCr61JiI.js → query-expansion-CapDjXqr.js} +2 -2
- package/dist/plugin-sdk/{query-expansion-aeabmOoB.js → query-expansion-DTz7qRPP.js} +1 -1
- package/dist/plugin-sdk/{recorder-D11UEswC.js → recorder-DhKye4nA.js} +2 -2
- package/dist/plugin-sdk/{recorder-4g6Ys7WM.js → recorder-Vqz423Ad.js} +1 -1
- package/dist/{redact-D6Fnz9xQ.js → plugin-sdk/redact-DOs6fXcc.js} +1 -1
- package/dist/plugin-sdk/{registry-Blc7Ur1p.js → registry-ChehZpUt.js} +7 -7
- package/dist/plugin-sdk/{replies-BGF9ZYhP.js → replies-B3lla7iL.js} +4 -4
- package/dist/plugin-sdk/replies-n45TjLUD.js +25 -0
- package/dist/plugin-sdk/{replies-Ds6Gs9O1.js → replies-neHBbNGC.js} +5 -5
- package/dist/plugin-sdk/{reply-directives-CQkgAJUi.js → reply-directives-DA9871hC.js} +2 -2
- package/dist/plugin-sdk/{reply-directives-1f84jGQR.js → reply-directives-DJLXXoHQ.js} +1 -1
- package/dist/plugin-sdk/{reply-prefix-DXcqNnob.js → reply-prefix-BAlYiGmw.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-CEsUM5vo.js → resolve-route-Dl4Ce3AZ.js} +1 -1
- package/dist/plugin-sdk/{resolve-route-uv0U8tYS.js → resolve-route-Dwcy4JTh.js} +4 -4
- package/dist/plugin-sdk/runs-Bt2gm5Xp.js +27 -0
- package/dist/plugin-sdk/{runs-BcONJGaf.js → runs-Ck82_Wm4.js} +9 -9
- package/dist/plugin-sdk/{runs-S66fmAnC.js → runs-CqxFUuhe.js} +5 -5
- package/dist/plugin-sdk/{send-OGWsKnuO.js → send-1C-UfqZI.js} +6 -6
- package/dist/plugin-sdk/{send-BWmu8FzD.js → send-8EsC7X_g.js} +6 -6
- package/dist/plugin-sdk/{send-i0O-CKxf.js → send-BYSZ2uje.js} +5 -5
- package/dist/plugin-sdk/send-CH2Mx-nc.js +21 -0
- package/dist/plugin-sdk/{send-q6CWajeW.js → send-CH99jRUS.js} +6 -6
- package/dist/plugin-sdk/{send-DEhSsv9Q.js → send-CY8x9hwE.js} +17 -17
- package/dist/plugin-sdk/send-CwmftnXc.js +23 -0
- package/dist/plugin-sdk/{send-BdHHzRJj.js → send-D0OAjXXT.js} +8 -8
- package/dist/plugin-sdk/send-D9CQkoPN.js +22 -0
- package/dist/plugin-sdk/{send-C-KL7_yP.js → send-DZ7mYxPL.js} +4 -4
- package/dist/plugin-sdk/{send-DROrgiQz.js → send-DhWniZ-V.js} +7 -7
- package/dist/plugin-sdk/{send-B0P5TLxU.js → send-ilRdM1HR.js} +8 -8
- package/dist/plugin-sdk/{session-context-CoIaRMhC.js → session-context-thuPOPkM.js} +4 -4
- package/dist/plugin-sdk/{session-meta-8qAu69tz.js → session-meta-BwYRhW4t.js} +1 -1
- package/dist/plugin-sdk/{session-meta-BUQosPKS.js → session-meta-ByvJn7Kl.js} +2 -2
- package/dist/plugin-sdk/{sessions-D9E4cWJg.js → sessions-CgDj1ZTy.js} +1 -1
- package/dist/plugin-sdk/{sessions-tKTWoGEX.js → sessions-DtBcB_m8.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-P3hLZCNa.js → skill-commands-Be5cYRNH.js} +2 -2
- package/dist/plugin-sdk/{skill-commands-ID_uyMtr.js → skill-commands-CsHUFvTh.js} +5 -5
- package/dist/plugin-sdk/{skills-OofoxuSf.js → skills-BOWPxpRV.js} +1 -1
- package/dist/plugin-sdk/{skills-DzwqSw_l.js → skills-CvksRREn.js} +6 -6
- package/dist/plugin-sdk/{ssrf--z6niPq1.js → ssrf-CE6JboaJ.js} +1 -1
- package/dist/plugin-sdk/{store-8qnSslho.js → store-DgWeR64N.js} +2 -2
- package/dist/plugin-sdk/subagent-registry-cUon6JW5.js +61 -0
- package/dist/plugin-sdk/{subsystem-DN6NBvi2.js → subsystem-D5N_K3VU.js} +4 -4
- package/dist/plugin-sdk/{tables-DLhtAl8Z.js → tables-BJrnW7Ji.js} +1 -1
- package/dist/plugin-sdk/{tables-BSg1_7xM.js → tables-ChcsUP-T.js} +1 -1
- package/dist/plugin-sdk/testing.js +53 -53
- package/dist/plugin-sdk/{tokens-DapRK87O.js → tokens-mqKTCfsk.js} +1 -1
- package/dist/{tool-loop-detection-nxXR6ZGf.js → plugin-sdk/tool-loop-detection-BemFvI2m.js} +1 -1
- package/dist/plugin-sdk/{user-run-recording-owC8f6ch.js → user-run-recording-ByPrMDAH.js} +3 -3
- package/dist/plugin-sdk/{user-run-recording-CA6k4GdI.js → user-run-recording-DOCUtYpE.js} +1 -1
- package/dist/plugin-sdk/{ws-PvXfVPuc.js → ws-BBwNh59J.js} +1 -1
- package/dist/plugin-sdk/{ws-OLAqwyxu.js → ws-DA5Ex9cq.js} +1 -1
- package/dist/{ports-BL2i8h5u.js → ports-Cm3dMy9r.js} +3 -3
- package/dist/{progress--ozQz5Eg.js → progress-B8VpRELC.js} +4 -4
- package/dist/{proxy-env-DdpqzP-l.js → proxy-env-B7QBeq1s.js} +1 -1
- package/dist/{proxy-env-D7bHQg8b.js → proxy-env-BHjp8Syz.js} +1 -1
- package/dist/{proxy-env-CJeQ_evL.js → proxy-env-CaYp3Tmy.js} +1 -1
- package/dist/{pw-ai-BkhhNN3w.js → pw-ai-B5inhxoy.js} +13 -13
- package/dist/{pw-ai-B2SByX7w.js → pw-ai-B8ja4Dql.js} +12 -12
- package/dist/{pw-ai-DEiZs8aM.js → pw-ai-BvZ8Bogr.js} +11 -11
- package/dist/{qmd-manager-Dp4uo_za.js → qmd-manager-CGW_u9NW.js} +10 -10
- package/dist/{qmd-manager-Cgmyvv9V.js → qmd-manager-Dbmi1ZgW.js} +8 -8
- package/dist/{qmd-manager-DKw1Rbr0.js → qmd-manager-ZTV3aWYR.js} +23 -23
- package/dist/{qmd-scope-CkSqCF4T.js → qmd-scope-8Jq9_xab.js} +1 -1
- package/dist/{qmd-scope-36e3ZqA5.js → qmd-scope-CYZoWcur.js} +1 -1
- package/dist/{qmd-scope-clNK4f03.js → qmd-scope-DjzSVgvF.js} +1 -1
- package/dist/{query-expansion-Bo6Nq4_Q.js → query-expansion-CEaQOg6W.js} +11 -11
- package/dist/{query-expansion-Dugjb4l7.js → query-expansion-CXDsQCKO.js} +2 -2
- package/dist/{query-expansion-DjdgqBNX.js → query-expansion-CYZYszMN.js} +2 -2
- package/dist/{recorder-N1dK-Cvg.js → recorder-BSty19u1.js} +2 -2
- package/dist/{recorder-CkRgWa0U.js → recorder-RGNqBtlw.js} +2 -2
- package/dist/{recorder-kj3bHJ67.js → recorder-jhTAww3T.js} +2 -2
- package/dist/{plugin-sdk/redact-DftAY2KL.js → redact-CoYHSFJI.js} +1 -1
- package/dist/{redact-BkE4uRXu.js → redact-Cp-v7ZNA.js} +1 -1
- package/dist/{redact-CUgFzobf.js → redact-Iu0CqZm1.js} +1 -1
- package/dist/{replies-Do4lDlRa.js → replies-CInXOOPX.js} +5 -5
- package/dist/{replies-j8824QFZ.js → replies-CurRxuDE.js} +5 -5
- package/dist/{replies-CuYbIr-y.js → replies-D9pr6ACc.js} +5 -5
- package/dist/{reply-directives-B3zz5cW7.js → reply-directives-BCjSa0AB.js} +2 -2
- package/dist/{reply-directives-C170Yb4-.js → reply-directives-DD05s-wb.js} +2 -2
- package/dist/{reply-directives-RLa2vaZi.js → reply-directives-ZtVs-j3A.js} +2 -2
- package/dist/{reply-prefix-BNVgeu7r.js → reply-prefix-B1C43_pb.js} +1 -1
- package/dist/{reply-prefix-DRy_GYH6.js → reply-prefix-Bc9Xxgh0.js} +1 -1
- package/dist/{reply-prefix-iNDFY95J.js → reply-prefix-CEDQ-mg9.js} +1 -1
- package/dist/{resolve-route-Dr7paibh.js → resolve-route-By5i3M-1.js} +3 -3
- package/dist/{resolve-route-Dw8kJVCQ.js → resolve-route-DYxy9AQV.js} +4 -4
- package/dist/{resolve-route-Cb-uluB3.js → resolve-route-DtRFnaEz.js} +3 -3
- package/dist/{runs-CTVu5e1l.js → runs-C5hqPjUn.js} +8 -8
- package/dist/{runs-C1VChB2N.js → runs-DTEVO_j3.js} +8 -8
- package/dist/{runs-Bz53XfRR.js → runs-WvxDbwXT.js} +8 -8
- package/dist/{send-C7Jir5X_.js → send-B8fG3QOF.js} +8 -8
- package/dist/{send-CrmrT9y3.js → send-BOjkedpl.js} +8 -8
- package/dist/{send-BUKHaBbX.js → send-BQtUtg0b.js} +8 -8
- package/dist/{send-C3NzAXnk.js → send-C76HubTD.js} +13 -13
- package/dist/{send-DN3d2hA9.js → send-CA5WfuIz.js} +6 -6
- package/dist/{send-CylIcBwW.js → send-CGdN-VPo.js} +7 -7
- package/dist/{send-BhF5ENhk.js → send-ChpeGx3e.js} +7 -7
- package/dist/{send-7QxBGDb6.js → send-DVAxl2sg.js} +8 -8
- package/dist/{send-CBKd1Tje.js → send-DWQN6n7O.js} +6 -6
- package/dist/{send-D6hE7Mbp.js → send-DjeU0NLm.js} +8 -8
- package/dist/{send-BrqnAR-x.js → send-LeMti0BS.js} +7 -7
- package/dist/{send-vkpb-Xkl.js → send-eXn1pSE6.js} +6 -6
- package/dist/{session-meta-CMeplFTy.js → session-meta-Btfsf4fe.js} +1 -1
- package/dist/{session-meta-DfqjhZ-q.js → session-meta-CbZBnut5.js} +1 -1
- package/dist/{session-meta-Cn_caqpV.js → session-meta-CodKE1pi.js} +1 -1
- package/dist/{sessions-DUqqSw4H.js → sessions-BrQFhhqN.js} +4 -4
- package/dist/{sessions-O7vI51ov.js → sessions-CFd8Ydiq.js} +4 -4
- package/dist/{sessions-Bg_OshuE.js → sessions-Cdx3HjRT.js} +4 -4
- package/dist/{skill-commands-14jegpcz.js → skill-commands-CNf71PIK.js} +4 -4
- package/dist/{skill-commands-CI1R5rmK.js → skill-commands-Clk1OxDK.js} +5 -5
- package/dist/{skill-commands-vLTDfdbS.js → skill-commands-VUGivt1_.js} +4 -4
- package/dist/{skills-DMHiOYO8.js → skills--Ui7bzMr.js} +4 -4
- package/dist/{skills-50IjplnQ.js → skills-D6DRAp_h.js} +6 -6
- package/dist/{skills-B-qk6VX5.js → skills-DrMz2n4d.js} +6 -6
- package/dist/{store-B5IVvyyw.js → store-BUy1ZbHu.js} +2 -2
- package/dist/{store-CyiSEypa.js → store-BkMCVm0M.js} +7 -7
- package/dist/{store-BBWgOw4t.js → store-DRaaTy6K.js} +2 -2
- package/dist/{subsystem-BCxHEOcF.js → subsystem-C30tnacl.js} +7 -7
- package/dist/{subsystem-BntNuBAj.js → subsystem-DY5Ww-lX.js} +4 -4
- package/dist/{subsystem-BOg9wqSC.js → subsystem-DoQFckDJ.js} +4 -4
- package/dist/{tables-BJM05Vww.js → tables-CV9YznLE.js} +1 -1
- package/dist/{tables-g6ObbHei.js → tables-CXnnw-yu.js} +1 -1
- package/dist/{tables-DlB8ZdGF.js → tables-DanZpP0m.js} +1 -1
- package/dist/{tokens-C-eSUgYi.js → tokens-BSTxLFq9.js} +1 -1
- package/dist/{tokens-Q7TMdIpT.js → tokens-C8E7C2l5.js} +1 -1
- package/dist/{tokens-BkeT4Aj7.js → tokens-DQ-CYBoK.js} +1 -1
- package/dist/{plugin-sdk/tool-loop-detection-c4qrG169.js → tool-loop-detection-4AIUOil2.js} +1 -1
- package/dist/{tool-loop-detection-CBkH6hsK.js → tool-loop-detection-B2ogHpfl.js} +1 -1
- package/dist/{tool-loop-detection-CurLYMEW.js → tool-loop-detection-CAaJBVkR.js} +1 -1
- package/dist/{user-run-recording-BpHCYVUd.js → user-run-recording-BbEaV78i.js} +2 -2
- package/dist/{user-run-recording-UT7JPaKB.js → user-run-recording-CG3WboP4.js} +2 -2
- package/dist/{user-run-recording-CV8Lr06M.js → user-run-recording-DYSEO3CI.js} +2 -2
- package/dist/{workspace-DldCsJtc.js → workspace-tcQXjttl.js} +1 -1
- package/dist/{ws-JG4Z9bZK.js → ws-CDG99mFW.js} +1 -1
- package/dist/{ws-Bmal4jqa.js → ws-DWkHsThw.js} +1 -1
- package/extensions/a2a/package.json +1 -1
- package/extensions/acpx/package.json +1 -1
- package/extensions/anthropic/package.json +1 -1
- package/extensions/bifrost/package.json +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/deepgram/package.json +1 -1
- package/extensions/deepinfra/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/diffs/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/dream-cycle/package.json +1 -1
- package/extensions/elevenlabs/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/gemini-search/package.json +1 -1
- package/extensions/google/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/grok-search/package.json +1 -1
- package/extensions/groq/package.json +1 -1
- package/extensions/identity-oidc/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/kimi-search/package.json +1 -1
- package/extensions/kokoro/package.json +1 -1
- package/extensions/learning-core/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +1 -1
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/mistral/package.json +1 -1
- package/extensions/moonshot/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +1 -1
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +1 -1
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/openai/package.json +1 -1
- package/extensions/openai-realtime/package.json +1 -1
- package/extensions/openrouter/package.json +1 -1
- package/extensions/perplexity-search/package.json +1 -1
- package/extensions/searxng-search/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/synology-chat/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +1 -1
- package/extensions/twitch/package.json +1 -1
- package/extensions/ui-surfaces/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +1 -1
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zai/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +1 -1
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +1 -1
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/plugin-sdk/agent-turn-execute-BtUQWiQP.js +0 -61
- package/dist/plugin-sdk/deliver-CD4ei5Br.js +0 -34
- package/dist/plugin-sdk/fetch-C5VHDsI9.js +0 -67
- package/dist/plugin-sdk/manager-QkzJVwqn.js +0 -14
- package/dist/plugin-sdk/provider-dispatcher-DCgZNlgL.js +0 -61
- package/dist/plugin-sdk/replies-BbTr5z6G.js +0 -25
- package/dist/plugin-sdk/runs-CtRu02zx.js +0 -27
- package/dist/plugin-sdk/send-D8GPq4yJ.js +0 -23
- package/dist/plugin-sdk/send-DI5IHS6G.js +0 -21
- package/dist/plugin-sdk/send-DYYxf2PO.js +0 -22
- package/dist/plugin-sdk/subagent-registry-B-w_tcYs.js +0 -61
|
@@ -1,70 +1,70 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { _ as resolveStateDir, b as resolveRequiredHomeDir, h as resolveOAuthDir, l as resolveGatewayLockDir, o as resolveConfigPath, u as resolveGatewayPort, v as expandHomePrefix } from "./paths-BZCDWJ55.js";
|
|
3
|
-
import { A as danger, B as getChildLogger, C as resolveUserPath, D as sleep$3, E as shortenHomePath, F as shouldLogVerbose, G as normalizeLogLevel, I as warn, J as INCLUDE_KEY, L as colorize, M as logVerbose, O as sliceUtf16Safe, P as setVerbose, R as isRich, T as shortenHomeInString, U as appendFileLog, Z as isBlockedObjectKey, _ as escapeRegExp, a as createNonExitingRuntime, b as normalizeE164, c as registerActiveProgressLine, et as openBoundaryFile, ft as isDangerousHostEnvVarName, k as truncateUtf16Safe, l as unregisterActiveProgressLine, m as clampInt, mt as resolvePreferredOpenClawTmpDir, o as defaultRuntime, p as CONFIG_DIR, s as clearActiveProgressLine, t as createSubsystemLogger, tt as openBoundaryFileSync, ut as normalizeWindowsPathForComparison, v as formatTerminalLink, w as safeParseJson, y as isRecord$1, z as theme } from "./subsystem-
|
|
3
|
+
import { A as danger, B as getChildLogger, C as resolveUserPath, D as sleep$3, E as shortenHomePath, F as shouldLogVerbose, G as normalizeLogLevel, I as warn, J as INCLUDE_KEY, L as colorize, M as logVerbose, O as sliceUtf16Safe, P as setVerbose, R as isRich, T as shortenHomeInString, U as appendFileLog, Z as isBlockedObjectKey, _ as escapeRegExp, a as createNonExitingRuntime, b as normalizeE164, c as registerActiveProgressLine, et as openBoundaryFile, ft as isDangerousHostEnvVarName, k as truncateUtf16Safe, l as unregisterActiveProgressLine, m as clampInt, mt as resolvePreferredOpenClawTmpDir, o as defaultRuntime, p as CONFIG_DIR, s as clearActiveProgressLine, t as createSubsystemLogger, tt as openBoundaryFileSync, ut as normalizeWindowsPathForComparison, v as formatTerminalLink, w as safeParseJson, y as isRecord$1, z as theme } from "./subsystem-C30tnacl.js";
|
|
4
4
|
import { n as resolveProcessScopedMap, t as isPlainObject } from "./plain-object-CjGF4kza.js";
|
|
5
|
-
import { $ as DOCS_SITE_URL, $i as resolveModelAuthMode, $n as resolveIMessageAccount, $r as isWindowsPlatform, $t as closeReplacedConfiguredSessionStorageRuntime, A as resolveExecPolicyPreset, Ai as resolveConfiguredModelRef, An as resolveParentSessionGroupId, At as clearPluginCommands, Ba as DEFAULT_MODEL, Bn as normalizeHyphenSlug, Br as actionRequiresTarget, Bt as normalizeProviderId$1, Ca as withFileLock$1, Ci as buildModelAliasIndex, Cr as resolveMessageChannel, Ct as requireActivePluginRegistry, D as parseNonNegativeByteSize, Di as normalizeModelRef$2, Dn as setSessionRuntimeModel, Dr as normalizeAccountId$1, Dt as createPluginRegistry, E as normalizeScpRemoteHost, Ea as resolveAuthProfileDisplayLabel, Ei as modelKey, En as resolveFreshSessionTotalTokens, Er as GATEWAY_CLIENT_NAMES, Et as clearRegisteredPluginApis, Fi as resolveThinkingDefault, Fn as listChannelPlugins, Fr as channelTargetsSchema, Ft as BUILTIN_TTS_PROVIDER_IDS, G as isAvatarDataUrl, Ga as isTruthyEnvValue, Gi as buildAssistantMessageWithZeroUsage, Gn as resolveSlackAppToken, Gr as RecoveryAdmissionError, Gt as getConversationReadQuery, Ha as VERSION, Hi as OLLAMA_NATIVE_BASE_URL, Hn as normalizeStringEntriesLower, Hr as discardBufferedPluginTaskPasses, Ht as triggerInternalHook, In as normalizeChannelId$1, Ir as optionalStringEnum, It as getRegisteredSpeechProviders, J as isSupportedLocalAvatarExtension, Ja as advanceRuntimeConfigSnapshot, Ji as getApiKeyForModel, Jn as resolveSignalAccount, Jr as listWritableExplicitTrustedSafeBinDirs, Jt as recordSessionMetaFromInbound, K as isAvatarHttpUrl, Ka as parseBooleanValue$1, Ki as buildStreamErrorAssistantMessage, Kn as resolveSlackBotToken, Kr as getTrustedSafeBinDirs, La as resolveSecretInputRef, Ln as formatAllowlistMatchMeta, Lr as stringEnum, Lt as getSpeechProvider, Ma as hasConfiguredSecretInput, Mi as resolveModelRefFromString, Mn as listChannelDocks, Mt as listPluginCommands, Ni as resolveReasoningDefault, Nn as normalizeSignalMessagingTarget, Nt as matchPluginCommand, Oa as normalizeSecretInput, Oi as normalizeProviderId, On as deriveSessionMetaPatch, Or as CtxProjectionCorruptionError, Ot as normalizePluginHttpPath, Pa as normalizeResolvedSecretInputString, Pi as resolveSubagentSpawnModelSelection, Pn as getChannelPlugin, Pr as channelTargetSchema, Pt as registerPluginCommand, Q as loadPluginManifestRegistry, Qi as resolveEnvApiKey, Qn as resolveWhatsAppAccount, Qr as buildEnforcedShellCommand, Qt as closeConfiguredSessionStorageRuntime, Ra as splitTrailingAuthProfile, Rn as resolveAllowlistMatchByCandidates, Rr as applyTargetToParams, Rt as isBuiltinTtsProvider, S as isInboundPathAllowed, Sa as resolveOpenClawAgentDir, Si as buildConfiguredAllowlistKeys, Sn as resolveSessionLockMaxHoldFromTimeout, Sr as resolveGatewayMessageChannel, T as resolveIMessageRemoteAttachmentRoots, Ta as readProcessElapsedSeconds, Ti as isCliProvider, Tn as mergeSessionEntry, Tr as GATEWAY_CLIENT_MODES, Tt as addRegisteredPluginApi, Ua as getShellPathFromLoginShell, Ui as createOllamaStreamFn, Un as resolveSlackAccount, Ur as listBufferedPluginTaskPasses, Ut as StorageReadAccessError, Va as DEFAULT_PROVIDER, Vi as retryAsync, Vn as normalizeStringEntries, Vt as createInternalHookEvent, W as AVATAR_MAX_BYTES, Wa as resolveShellEnvFallbackTimeoutMs, Wi as buildAssistantMessage, Wn as resolveSlackReplyToMode, Wr as replaceBufferedPluginTaskPasses, Wt as createConversationReadQuery, Xi as requireApiKey, Xn as normalizeWhatsAppTarget, Xr as validateSafeBinArgv, Xt as updateSessionStore, Y as buildChannelAccountBindings, Yi as getCustomProviderApiKey, Yn as isWhatsAppGroupJid, Yr as normalizeTrustedSafeBinDirs, Yt as updateLastRoute, Z as validateJsonSchemaValue, Za as getRuntimeConfigSnapshot, Zn as hasAnyWhatsAppAuth, Zr as analyzeShellCommand, Zt as updateSessionStoreEntry, _a as dedupeProfileIds, _i as resolveSlackNativeStreaming, _n as resolveSessionFilePathOptions, _r as isGatewayMessageChannel, _t as normalizeChatChannelId, a as writeConfigFile, aa as markAuthProfileUsed, ai as extractShellWrapperInlineCommand, an as readSessionUpdatedAt, ar as resolveChannelGroupRequireMention, at as resolveEffectiveEnableState, b as validateConfigObjectWithPlugins, ba as ensureAuthProfileStore, bi as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, bn as resolveStorePath, br as listDeliverableMessageChannels, bt as getActivePluginRegistry, c as getConfigOverrides, ca as resolveSecretRefValues, ci as unwrapKnownDispatchWrapperInvocation, ct as isPathInside, d as unsetConfigOverride, da as isRecord$2, di as SAFE_BIN_PROFILES, dr as deliveryContextKey, ei as splitCommandChain, en as commitPreparedConfiguredSessionStorageRuntimeActivation, eo as applyMergePatch, er as createDiscordActionGate, et as docsSiteUrl, f as getConfigValueAtPath, fa as parseDotPath, fi as normalizeSafeBinProfileFixtures, fr as mergeDeliveryContext, ft as CHAT_CHANNEL_ORDER, ga as resolveCliName, gi as resolveDiscordPreviewStreamMode, gn as resolveSessionFilePath, gr as isDeliverableMessageChannel, gt as normalizeChannelId$2, h as unsetConfigValueAtPath, ha as formatCliCommand, hi as mapStreamingModeToSlackLegacyDraftStreamMode, hr as INTERNAL_MESSAGE_CHANNEL, ht as normalizeAnyChannelId, i as readConfigFileSnapshotForWrite, ia as markAuthProfileFailure, ii as resolveCommandResolutionFromArgv, in as loadSessionStoreFromDisk, ir as resolveChannelGroupPolicy, it as normalizePluginsConfig, ja as coerceSecretRef, ji as resolveDefaultModelForAgent, jn as getChannelDock, jt as executePluginCommand, ki as parseModelRef, kn as resolveGroupSessionKey, kr as readTaskWorkStates, kt as buildPluginHealthReport, l as resetConfigOverrides, la as describeUnknownError$1, li as unwrapKnownShellMultiplexerInvocation, ln as parseSessionIndexRecordKey, lr as resolveAccountEntry, lt as safeStatSync, m as setConfigValueAtPath, ma as runTasksWithConcurrency, mi as isSafeExecutableValue, mn as SESSION_RUN_STORE_FILE_NAME, mr as normalizeSessionDeliveryFields, mt as listChatChannels, n as loadConfig, na as getSoonestCooldownExpiry, ni as matchAllowlist, nn as refreshConfiguredSessionBindingEntry, nr as resolveDiscordAccount, nt as applyTestPluginDefaults, o as createConfigIO, oa as resolveProfilesUnavailableReason, oi as isDispatchWrapperExecutable, on as parseDurationMs, or as resolveChannelGroupToolsPolicy, ot as resolveMemorySlotDecision, p as parseConfigPath, pa as secretRefKey, pi as resolveSafeBinProfiles, pn as SAFE_SESSION_ID_RE, pr as normalizeDeliveryContext, pt as getChatChannelMeta, q as isPathWithinRoot, qa as resolveOwnerDisplaySetting, qi as buildUsageWithNoCost, qn as listEnabledSignalAccounts, qr as isTrustedSafeBinPath, qt as requireSessionStorageRuntime, r as readConfigFileSnapshot, ra as isProfileInCooldown, ri as resolveAllowlistCandidatePath, rn as loadSessionStore, rr as normalizeDiscordToken, rt as isBundledChannelEnabledByChannelConfig, sa as resolveApiKeyForProfile, si as isShellWrapperExecutable, sn as getConfiguredSessionStorageRuntime, st as discoverOpenClawPlugins, ta as resolveAuthProfileOrder, ti as DEFAULT_SAFE_BINS, tn as prepareConfiguredSessionStorageRuntimeActivation, tr as listEnabledDiscordAccounts, tt as BUNDLED_ENABLED_BY_DEFAULT, u as setConfigOverride, ua as isNonEmptyString, ui as splitShellArgs, ur as deliveryContextFromSession, ut as readManifestNamespace, va as listProfilesForProvider, vi as resolveSlackStreamingMode, vn as resolveSessionTranscriptPath, vr as isInternalMessageChannel, vt as resolveChannelConfigId, w as resolveIMessageAttachmentRoots, wa as isPidAlive, wi as findNormalizedProviderValue, wn as DEFAULT_RESET_TRIGGERS, wr as GATEWAY_CLIENT_IDS, wt as setActivePluginRegistry, xa as resolveAuthStorePathForDisplay, xi as buildAllowedModelSet, xn as acquireSessionWriteLock, xr as normalizeMessageChannel, xt as getActivePluginRegistryKey, ya as markAuthProfileGood, yr as isMarkdownCapableMessageChannel, yt as getActiveGatewayPluginRegistry, za as DEFAULT_CONTEXT_TOKENS, zn as normalizeAtHashSlug, zr as actionHasTarget, zt as replaceSpeechProviders } from "./config-
|
|
6
|
-
import { $ as normalizeAgentId, A as runCommandWithTimeout, B as toAgentModelListLike, D as loadWorkspaceBootstrapFiles, E as filterBootstrapFilesForSession, F as logInfo, G as buildAgentMainSessionKey, I as logWarn, M as spawnWithFallback, N as logDebug, O as resolveOpenClawPackageRoot, P as logError, Q as isValidAgentId, R as resolveAgentModelFallbackValues, St as stripAgentSessionKeyPrefix, T as ensureAgentWorkspace, U as DEVICE_SENDER_PREFIX, V as DEFAULT_AGENT_ID, Z as isKnownAgentMainSessionKey, _t as isCronSessionKey, at as resolveThreadSessionKeys, b as DEFAULT_HEARTBEAT_FILENAME, bt as parseAgentSessionKey, c as resolveAgentDir, ct as toAgentStoreSessionKey, d as resolveAgentWorkspaceDir, dt as normalizeOptionalAccountId, et as normalizeMainKey, f as resolveDefaultAgentId, g as resolveSessionAgentIds, gt as isAcpSessionKey, h as resolveSessionAgentId, ht as getSubagentDepth, i as isInternalAgentSessionKey, it as resolveConfiguredCanonicalIdentity, j as runExec, lt as DEFAULT_ACCOUNT_ID, m as resolveRunModelFallbacksOverride, mt as WAKE_GATE_SESSION_KEY_SEGMENT, n as hasConfiguredModelFallbacks, nt as resolveAgentIdFromSessionKey, o as listAgentIds, ot as sanitizeAgentId, p as resolveEffectiveModelFallbacks, q as classifySessionKeyShape, r as isAgentUserFacing, rt as resolveCanonicalIdentity, s as resolveAgentConfig, st as sessionKeyAgentMatches, t as acceptsInheritedIdentity, tt as normalizeToken, u as resolveAgentSkillsFilter, ut as normalizeAccountId$2, v as DEFAULT_AGENT_WORKSPACE_DIR, x as DEFAULT_IDENTITY_FILENAME, xt as resolveThreadParentSessionKey, y as DEFAULT_BOOTSTRAP_FILENAME, yt as isSubagentSessionKey, z as resolveAgentModelPrimaryValue } from "./agent-scope-
|
|
5
|
+
import { $ as DOCS_SITE_URL, $i as resolveModelAuthMode, $n as resolveIMessageAccount, $r as isWindowsPlatform, $t as closeReplacedConfiguredSessionStorageRuntime, A as resolveExecPolicyPreset, Ai as resolveConfiguredModelRef, An as resolveParentSessionGroupId, At as clearPluginCommands, Ba as DEFAULT_MODEL, Bn as normalizeHyphenSlug, Br as actionRequiresTarget, Bt as normalizeProviderId$1, Ca as withFileLock$1, Ci as buildModelAliasIndex, Cr as resolveMessageChannel, Ct as requireActivePluginRegistry, D as parseNonNegativeByteSize, Di as normalizeModelRef$2, Dn as setSessionRuntimeModel, Dr as normalizeAccountId$1, Dt as createPluginRegistry, E as normalizeScpRemoteHost, Ea as resolveAuthProfileDisplayLabel, Ei as modelKey, En as resolveFreshSessionTotalTokens, Er as GATEWAY_CLIENT_NAMES, Et as clearRegisteredPluginApis, Fi as resolveThinkingDefault, Fn as listChannelPlugins, Fr as channelTargetsSchema, Ft as BUILTIN_TTS_PROVIDER_IDS, G as isAvatarDataUrl, Ga as isTruthyEnvValue, Gi as buildAssistantMessageWithZeroUsage, Gn as resolveSlackAppToken, Gr as RecoveryAdmissionError, Gt as getConversationReadQuery, Ha as VERSION, Hi as OLLAMA_NATIVE_BASE_URL, Hn as normalizeStringEntriesLower, Hr as discardBufferedPluginTaskPasses, Ht as triggerInternalHook, In as normalizeChannelId$1, Ir as optionalStringEnum, It as getRegisteredSpeechProviders, J as isSupportedLocalAvatarExtension, Ja as advanceRuntimeConfigSnapshot, Ji as getApiKeyForModel, Jn as resolveSignalAccount, Jr as listWritableExplicitTrustedSafeBinDirs, Jt as recordSessionMetaFromInbound, K as isAvatarHttpUrl, Ka as parseBooleanValue$1, Ki as buildStreamErrorAssistantMessage, Kn as resolveSlackBotToken, Kr as getTrustedSafeBinDirs, La as resolveSecretInputRef, Ln as formatAllowlistMatchMeta, Lr as stringEnum, Lt as getSpeechProvider, Ma as hasConfiguredSecretInput, Mi as resolveModelRefFromString, Mn as listChannelDocks, Mt as listPluginCommands, Ni as resolveReasoningDefault, Nn as normalizeSignalMessagingTarget, Nt as matchPluginCommand, Oa as normalizeSecretInput, Oi as normalizeProviderId, On as deriveSessionMetaPatch, Or as CtxProjectionCorruptionError, Ot as normalizePluginHttpPath, Pa as normalizeResolvedSecretInputString, Pi as resolveSubagentSpawnModelSelection, Pn as getChannelPlugin, Pr as channelTargetSchema, Pt as registerPluginCommand, Q as loadPluginManifestRegistry, Qi as resolveEnvApiKey, Qn as resolveWhatsAppAccount, Qr as buildEnforcedShellCommand, Qt as closeConfiguredSessionStorageRuntime, Ra as splitTrailingAuthProfile, Rn as resolveAllowlistMatchByCandidates, Rr as applyTargetToParams, Rt as isBuiltinTtsProvider, S as isInboundPathAllowed, Sa as resolveOpenClawAgentDir, Si as buildConfiguredAllowlistKeys, Sn as resolveSessionLockMaxHoldFromTimeout, Sr as resolveGatewayMessageChannel, T as resolveIMessageRemoteAttachmentRoots, Ta as readProcessElapsedSeconds, Ti as isCliProvider, Tn as mergeSessionEntry, Tr as GATEWAY_CLIENT_MODES, Tt as addRegisteredPluginApi, Ua as getShellPathFromLoginShell, Ui as createOllamaStreamFn, Un as resolveSlackAccount, Ur as listBufferedPluginTaskPasses, Ut as StorageReadAccessError, Va as DEFAULT_PROVIDER, Vi as retryAsync, Vn as normalizeStringEntries, Vt as createInternalHookEvent, W as AVATAR_MAX_BYTES, Wa as resolveShellEnvFallbackTimeoutMs, Wi as buildAssistantMessage, Wn as resolveSlackReplyToMode, Wr as replaceBufferedPluginTaskPasses, Wt as createConversationReadQuery, Xi as requireApiKey, Xn as normalizeWhatsAppTarget, Xr as validateSafeBinArgv, Xt as updateSessionStore, Y as buildChannelAccountBindings, Yi as getCustomProviderApiKey, Yn as isWhatsAppGroupJid, Yr as normalizeTrustedSafeBinDirs, Yt as updateLastRoute, Z as validateJsonSchemaValue, Za as getRuntimeConfigSnapshot, Zn as hasAnyWhatsAppAuth, Zr as analyzeShellCommand, Zt as updateSessionStoreEntry, _a as dedupeProfileIds, _i as resolveSlackNativeStreaming, _n as resolveSessionFilePathOptions, _r as isGatewayMessageChannel, _t as normalizeChatChannelId, a as writeConfigFile, aa as markAuthProfileUsed, ai as extractShellWrapperInlineCommand, an as readSessionUpdatedAt, ar as resolveChannelGroupRequireMention, at as resolveEffectiveEnableState, b as validateConfigObjectWithPlugins, ba as ensureAuthProfileStore, bi as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, bn as resolveStorePath, br as listDeliverableMessageChannels, bt as getActivePluginRegistry, c as getConfigOverrides, ca as resolveSecretRefValues, ci as unwrapKnownDispatchWrapperInvocation, ct as isPathInside, d as unsetConfigOverride, da as isRecord$2, di as SAFE_BIN_PROFILES, dr as deliveryContextKey, ei as splitCommandChain, en as commitPreparedConfiguredSessionStorageRuntimeActivation, eo as applyMergePatch, er as createDiscordActionGate, et as docsSiteUrl, f as getConfigValueAtPath, fa as parseDotPath, fi as normalizeSafeBinProfileFixtures, fr as mergeDeliveryContext, ft as CHAT_CHANNEL_ORDER, ga as resolveCliName, gi as resolveDiscordPreviewStreamMode, gn as resolveSessionFilePath, gr as isDeliverableMessageChannel, gt as normalizeChannelId$2, h as unsetConfigValueAtPath, ha as formatCliCommand, hi as mapStreamingModeToSlackLegacyDraftStreamMode, hr as INTERNAL_MESSAGE_CHANNEL, ht as normalizeAnyChannelId, i as readConfigFileSnapshotForWrite, ia as markAuthProfileFailure, ii as resolveCommandResolutionFromArgv, in as loadSessionStoreFromDisk, ir as resolveChannelGroupPolicy, it as normalizePluginsConfig, ja as coerceSecretRef, ji as resolveDefaultModelForAgent, jn as getChannelDock, jt as executePluginCommand, ki as parseModelRef, kn as resolveGroupSessionKey, kr as readTaskWorkStates, kt as buildPluginHealthReport, l as resetConfigOverrides, la as describeUnknownError$1, li as unwrapKnownShellMultiplexerInvocation, ln as parseSessionIndexRecordKey, lr as resolveAccountEntry, lt as safeStatSync, m as setConfigValueAtPath, ma as runTasksWithConcurrency, mi as isSafeExecutableValue, mn as SESSION_RUN_STORE_FILE_NAME, mr as normalizeSessionDeliveryFields, mt as listChatChannels, n as loadConfig, na as getSoonestCooldownExpiry, ni as matchAllowlist, nn as refreshConfiguredSessionBindingEntry, nr as resolveDiscordAccount, nt as applyTestPluginDefaults, o as createConfigIO, oa as resolveProfilesUnavailableReason, oi as isDispatchWrapperExecutable, on as parseDurationMs, or as resolveChannelGroupToolsPolicy, ot as resolveMemorySlotDecision, p as parseConfigPath, pa as secretRefKey, pi as resolveSafeBinProfiles, pn as SAFE_SESSION_ID_RE, pr as normalizeDeliveryContext, pt as getChatChannelMeta, q as isPathWithinRoot, qa as resolveOwnerDisplaySetting, qi as buildUsageWithNoCost, qn as listEnabledSignalAccounts, qr as isTrustedSafeBinPath, qt as requireSessionStorageRuntime, r as readConfigFileSnapshot, ra as isProfileInCooldown, ri as resolveAllowlistCandidatePath, rn as loadSessionStore, rr as normalizeDiscordToken, rt as isBundledChannelEnabledByChannelConfig, sa as resolveApiKeyForProfile, si as isShellWrapperExecutable, sn as getConfiguredSessionStorageRuntime, st as discoverOpenClawPlugins, ta as resolveAuthProfileOrder, ti as DEFAULT_SAFE_BINS, tn as prepareConfiguredSessionStorageRuntimeActivation, tr as listEnabledDiscordAccounts, tt as BUNDLED_ENABLED_BY_DEFAULT, u as setConfigOverride, ua as isNonEmptyString, ui as splitShellArgs, ur as deliveryContextFromSession, ut as readManifestNamespace, va as listProfilesForProvider, vi as resolveSlackStreamingMode, vn as resolveSessionTranscriptPath, vr as isInternalMessageChannel, vt as resolveChannelConfigId, w as resolveIMessageAttachmentRoots, wa as isPidAlive, wi as findNormalizedProviderValue, wn as DEFAULT_RESET_TRIGGERS, wr as GATEWAY_CLIENT_IDS, wt as setActivePluginRegistry, xa as resolveAuthStorePathForDisplay, xi as buildAllowedModelSet, xn as acquireSessionWriteLock, xr as normalizeMessageChannel, xt as getActivePluginRegistryKey, ya as markAuthProfileGood, yr as isMarkdownCapableMessageChannel, yt as getActiveGatewayPluginRegistry, za as DEFAULT_CONTEXT_TOKENS, zn as normalizeAtHashSlug, zr as actionHasTarget, zt as replaceSpeechProviders } from "./config-i54suDg0.js";
|
|
6
|
+
import { $ as normalizeAgentId, A as runCommandWithTimeout, B as toAgentModelListLike, D as loadWorkspaceBootstrapFiles, E as filterBootstrapFilesForSession, F as logInfo, G as buildAgentMainSessionKey, I as logWarn, M as spawnWithFallback, N as logDebug, O as resolveOpenClawPackageRoot, P as logError, Q as isValidAgentId, R as resolveAgentModelFallbackValues, St as stripAgentSessionKeyPrefix, T as ensureAgentWorkspace, U as DEVICE_SENDER_PREFIX, V as DEFAULT_AGENT_ID, Z as isKnownAgentMainSessionKey, _t as isCronSessionKey, at as resolveThreadSessionKeys, b as DEFAULT_HEARTBEAT_FILENAME, bt as parseAgentSessionKey, c as resolveAgentDir, ct as toAgentStoreSessionKey, d as resolveAgentWorkspaceDir, dt as normalizeOptionalAccountId, et as normalizeMainKey, f as resolveDefaultAgentId, g as resolveSessionAgentIds, gt as isAcpSessionKey, h as resolveSessionAgentId, ht as getSubagentDepth, i as isInternalAgentSessionKey, it as resolveConfiguredCanonicalIdentity, j as runExec, lt as DEFAULT_ACCOUNT_ID, m as resolveRunModelFallbacksOverride, mt as WAKE_GATE_SESSION_KEY_SEGMENT, n as hasConfiguredModelFallbacks, nt as resolveAgentIdFromSessionKey, o as listAgentIds, ot as sanitizeAgentId, p as resolveEffectiveModelFallbacks, q as classifySessionKeyShape, r as isAgentUserFacing, rt as resolveCanonicalIdentity, s as resolveAgentConfig, st as sessionKeyAgentMatches, t as acceptsInheritedIdentity, tt as normalizeToken, u as resolveAgentSkillsFilter, ut as normalizeAccountId$2, v as DEFAULT_AGENT_WORKSPACE_DIR, x as DEFAULT_IDENTITY_FILENAME, xt as resolveThreadParentSessionKey, y as DEFAULT_BOOTSTRAP_FILENAME, yt as isSubagentSessionKey, z as resolveAgentModelPrimaryValue } from "./agent-scope-CmMflllE.js";
|
|
7
7
|
import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken } from "./github-copilot-token-KU60WOFB.js";
|
|
8
8
|
import { n as resolveConversationLabel, r as normalizeChatType } from "./conversation-label-BkRfLUVO.js";
|
|
9
|
-
import { a as createSlackWebClient, c as validateSlackBlocksArray, d as resolveSlackChannelId, i as normalizeSlackOutboundText, l as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack, u as parseSlackTarget } from "./send-
|
|
10
|
-
import { $ as setChannelPermissionDiscord, A as readMessagesDiscord, At as buildChannelKeyCandidates, B as kickMemberDiscord, C as createThreadDiscord, Ct as shouldEmitDiscordReactionNotification, D as listPinsDiscord, Dt as resolveTimestampMs, E as fetchMessageDiscord, Et as resolveDiscordSystemLocation, F as createScheduledEventDiscord, G as listGuildEmojisDiscord, H as listScheduledEventsDiscord, I as fetchChannelInfoDiscord, J as createChannelDiscord, K as uploadEmojiDiscord, L as fetchMemberInfoDiscord, M as unpinMessageDiscord, Mt as resolveChannelEntryMatchWithFallback, N as addRoleDiscord, O as listThreadsDiscord, Ot as fetchDiscord, P as banMemberDiscord, Q as removeChannelPermissionDiscord, R as fetchRoleInfoDiscord, S as recordChannelActivity, St as resolveGroupDmAllow, T as editMessageDiscord, Tt as formatDiscordUserTag, U as removeRoleDiscord, V as listGuildChannelsDiscord, W as timeoutMemberDiscord, X as editChannelDiscord, Y as deleteChannelDiscord, Z as moveChannelDiscord, _ as sendPollDiscord, _t as resolveDiscordGuildEntry, a as removeReactionDiscord, at as createDiscordClient, b as sendWebhookMessageDiscord, bt as resolveDiscordOwnerAllowFrom, c as formatDiscordComponentEventText, ct as parseDiscordTarget, d as parseDiscordModalCustomId, dt as listDiscordDirectoryPeersLive, et as stripUndefinedFields, f as parseDiscordModalCustomIdForCarbon, ft as isDiscordGroupAllowedByPolicy, g as sendMessageDiscord, gt as resolveDiscordChannelConfigWithFallback, h as resolveDiscordModalEntry, ht as resolveDiscordAllowListMatch, i as removeOwnReactionsDiscord, it as normalizePollInput, j as searchMessagesDiscord, jt as normalizeChannelSlug, k as pinMessageDiscord, kt as applyChannelMatchMeta, l as parseDiscordComponentCustomId, lt as resolveDiscordChannelId, m as resolveDiscordComponentEntry, mt as normalizeDiscordSlug, n as fetchReactionsDiscord, nt as hasAnyGuildPermissionDiscord, o as sendDiscordComponentMessage, ot as createDiscordRestClient, p as readDiscordComponentSpec, pt as normalizeDiscordAllowList, q as uploadStickerDiscord, r as reactMessageDiscord, rt as chunkDiscordTextWithMode, s as createDiscordFormModal, st as createDiscordRetryRunner, tt as fetchChannelPermissionsDiscord, u as parseDiscordComponentCustomIdForCarbon, ut as listDiscordDirectoryGroupsLive, v as sendStickerDiscord, vt as resolveDiscordMemberAccessState, w as deleteMessageDiscord, wt as formatDiscordReactionEmoji, x as getChannelActivity, xt as resolveDiscordShouldRequireMention, y as sendVoiceMessageDiscord, yt as resolveDiscordOwnerAccess, z as fetchVoiceStatusDiscord } from "./send-
|
|
11
|
-
import { c as enqueueAgentTurn, d as peekDelayedAgentTurn, f as setDelayedReleaseHold, i as AGENT_TURN_TOPIC, l as isClaimableAgentTurnWorkId, m as WORKSPACE_LANE_DENIED_REASON, p as KeyedAsyncQueue, r as tryGetAgentTurnRuntime, s as clearDelayedReleaseHold, u as mergeDelayedAgentTurn } from "./agent-turn-runner-
|
|
12
|
-
import { $ as stripMessageCarriers, A as resolveChannelResetConfig, At as getGlobalHookRunner, B as openDbSessionManager, Bt as resolveProviderPromptCacheKey, C as normalizeHttpWebhookUrl, Ct as sanitizeToolUseResultPairing, E as parseAbsoluteTimeMs, Et as sanitizeToolCallIdsForCloudCodeAssist, F as resolveAgentMainSessionKey, Ft as createCurrentUserPromptEnvelope, G as sha256, H as drainPendingPrimaryWrites, Ht as formatMessageStamp, I as resolveExplicitAgentSessionKey, It as mergePromptContributions, J as renderInboundUserContext, K as buildInboundMetaSystemPrompt, L as resolveMainSessionKey, Lt as toJsonValue$1, M as resolveSessionResetType, Mt as initializeGlobalHookRunner, N as resolveThreadFlag, Nt as hasHookForPlugin, O as resolveSessionKey, Ot as hasInterSessionUserProvenance, P as canonicalizeMainSessionAlias, Pt as promptBuildResultToContribution, Q as messageTime, R as isPrimarySessionTranscriptFileName, Rt as buildPluginRuntimeIdentity, S as inferLegacyName, St as sanitizeToolCallInputs, T as resolveDefaultCronStaggerMs, Tt as canonicalToolCallIdBase, U as extractLegacyTranscriptEntryFields, Ut as formatZonedTimestamp, V as runSerializedBySession, Vt as resolveProviderRuntimeIdentity, W as sanitizeJsonb, Wt as resolveTimezone, X as getMessageIngress, Y as attachMessageIngress, Z as isRepresentableEpochMs, _ as derivePromptTokens, _t as getToolResultText$1, a as resolveMirroredTranscriptText, at as capToolResultContent, b as makeZeroUsageSnapshot, bt as openRawToolResultStash, c as createSessionStorageRuntimeFromConfig, ct as PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER, d as buildEqualityProjection, dt as truncateToolResultToChars, et as resolveSenderLabel, ft as CHARS_PER_TOKEN_ESTIMATE$2, g as sanitizeAppendEntry, gt as estimateMessageCharsCached, h as CREATE_CTX_STORAGE_OWNER_SQL, ht as estimateContextChars$1, i as appendAssistantMessageToSessionTranscript, it as HIDDEN_HEARTBEAT_CUSTOM_TYPE, j as resolveSessionResetPolicy, jt as getGlobalPluginRegistry, k as evaluateSessionFreshness, kt as normalizeInputProvenance, l as resolveSessionStorageConfig, lt as TOOL_RESULT_TEXT_WEIGHT, m as deriveLegacyActorIdentity, mt as createMessageCharEstimateCache, n as parseSessionThreadInfo, nt as eventOrder, o as parseInlineDirectives$1, ot as HARD_MAX_TOOL_RESULT_CHARS, pt as TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE, q as collectInboundUserContext, r as resolveAndPersistSessionFile, rt as pickLeaf, s as attachPgPoolErrorListeners, st as sessionLikelyHasOversizedToolResults, t as extractDeliveryInfo, tt as DB_SESSION_HYDRATION_LIMIT, u as validateCtxStorage, ut as truncateTextHeadTail, v as deriveSessionTotalTokens, vt as isToolResultMessage, w as normalizeCronStaggerMs, wt as stripToolResultDetails, x as normalizeUsage, xt as repairToolUseResultPairing, y as hasNonzeroUsage, yt as guardSessionManager, z as isSessionArchiveArtifactName, zt as buildPluginTurnIdentity } from "./sessions-
|
|
13
|
-
import { A as issueDeviceBootstrapToken, C as randomIdempotencyKey, D as gatewayErrorShapeOf, E as gatewayErrorReason, M as setActiveCoordinationDepth, O as validateSecretsResolveResult, S as callGatewayLeastPrivilege, T as GatewayClient, _ as resolveSessionReference, a as buildAgentToAgentMessageContext, b as buildGatewayConnectionDetails, c as isReplySkip, d as createSessionVisibilityGuard, f as resolveEffectiveSessionToolsVisibility, g as resolveMainSessionAlias, h as resolveInternalSessionKey, i as buildAgentToAgentAnnounceContext, j as clearActiveCoordinationDepth, k as SESSION_LABEL_MAX_LENGTH, l as resolvePingPongTurns, m as resolveDisplaySessionKey, n as requestAuthorizedNudge, o as buildAgentToAgentReplyContext, p as resolveSandboxedSessionToolContext, r as AuthorizationError, s as isAnnounceSkip, u as createAgentToAgentPolicy, v as resolveVisibleSessionReference, w as resolveLeastPrivilegeOperatorScopesForMethod, x as callGateway, y as shouldResolveSessionIdInput } from "./nudge-
|
|
9
|
+
import { a as createSlackWebClient, c as validateSlackBlocksArray, d as resolveSlackChannelId, i as normalizeSlackOutboundText, l as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack, u as parseSlackTarget } from "./send-LeMti0BS.js";
|
|
10
|
+
import { $ as setChannelPermissionDiscord, A as readMessagesDiscord, At as buildChannelKeyCandidates, B as kickMemberDiscord, C as createThreadDiscord, Ct as shouldEmitDiscordReactionNotification, D as listPinsDiscord, Dt as resolveTimestampMs, E as fetchMessageDiscord, Et as resolveDiscordSystemLocation, F as createScheduledEventDiscord, G as listGuildEmojisDiscord, H as listScheduledEventsDiscord, I as fetchChannelInfoDiscord, J as createChannelDiscord, K as uploadEmojiDiscord, L as fetchMemberInfoDiscord, M as unpinMessageDiscord, Mt as resolveChannelEntryMatchWithFallback, N as addRoleDiscord, O as listThreadsDiscord, Ot as fetchDiscord, P as banMemberDiscord, Q as removeChannelPermissionDiscord, R as fetchRoleInfoDiscord, S as recordChannelActivity, St as resolveGroupDmAllow, T as editMessageDiscord, Tt as formatDiscordUserTag, U as removeRoleDiscord, V as listGuildChannelsDiscord, W as timeoutMemberDiscord, X as editChannelDiscord, Y as deleteChannelDiscord, Z as moveChannelDiscord, _ as sendPollDiscord, _t as resolveDiscordGuildEntry, a as removeReactionDiscord, at as createDiscordClient, b as sendWebhookMessageDiscord, bt as resolveDiscordOwnerAllowFrom, c as formatDiscordComponentEventText, ct as parseDiscordTarget, d as parseDiscordModalCustomId, dt as listDiscordDirectoryPeersLive, et as stripUndefinedFields, f as parseDiscordModalCustomIdForCarbon, ft as isDiscordGroupAllowedByPolicy, g as sendMessageDiscord, gt as resolveDiscordChannelConfigWithFallback, h as resolveDiscordModalEntry, ht as resolveDiscordAllowListMatch, i as removeOwnReactionsDiscord, it as normalizePollInput, j as searchMessagesDiscord, jt as normalizeChannelSlug, k as pinMessageDiscord, kt as applyChannelMatchMeta, l as parseDiscordComponentCustomId, lt as resolveDiscordChannelId, m as resolveDiscordComponentEntry, mt as normalizeDiscordSlug, n as fetchReactionsDiscord, nt as hasAnyGuildPermissionDiscord, o as sendDiscordComponentMessage, ot as createDiscordRestClient, p as readDiscordComponentSpec, pt as normalizeDiscordAllowList, q as uploadStickerDiscord, r as reactMessageDiscord, rt as chunkDiscordTextWithMode, s as createDiscordFormModal, st as createDiscordRetryRunner, tt as fetchChannelPermissionsDiscord, u as parseDiscordComponentCustomIdForCarbon, ut as listDiscordDirectoryGroupsLive, v as sendStickerDiscord, vt as resolveDiscordMemberAccessState, w as deleteMessageDiscord, wt as formatDiscordReactionEmoji, x as getChannelActivity, xt as resolveDiscordShouldRequireMention, y as sendVoiceMessageDiscord, yt as resolveDiscordOwnerAccess, z as fetchVoiceStatusDiscord } from "./send-C76HubTD.js";
|
|
11
|
+
import { c as enqueueAgentTurn, d as peekDelayedAgentTurn, f as setDelayedReleaseHold, i as AGENT_TURN_TOPIC, l as isClaimableAgentTurnWorkId, m as WORKSPACE_LANE_DENIED_REASON, p as KeyedAsyncQueue, r as tryGetAgentTurnRuntime, s as clearDelayedReleaseHold, u as mergeDelayedAgentTurn } from "./agent-turn-runner-DgRUf3t9.js";
|
|
12
|
+
import { $ as stripMessageCarriers, A as resolveChannelResetConfig, At as getGlobalHookRunner, B as openDbSessionManager, Bt as resolveProviderPromptCacheKey, C as normalizeHttpWebhookUrl, Ct as sanitizeToolUseResultPairing, E as parseAbsoluteTimeMs, Et as sanitizeToolCallIdsForCloudCodeAssist, F as resolveAgentMainSessionKey, Ft as createCurrentUserPromptEnvelope, G as sha256, H as drainPendingPrimaryWrites, Ht as formatMessageStamp, I as resolveExplicitAgentSessionKey, It as mergePromptContributions, J as renderInboundUserContext, K as buildInboundMetaSystemPrompt, L as resolveMainSessionKey, Lt as toJsonValue$1, M as resolveSessionResetType, Mt as initializeGlobalHookRunner, N as resolveThreadFlag, Nt as hasHookForPlugin, O as resolveSessionKey, Ot as hasInterSessionUserProvenance, P as canonicalizeMainSessionAlias, Pt as promptBuildResultToContribution, Q as messageTime, R as isPrimarySessionTranscriptFileName, Rt as buildPluginRuntimeIdentity, S as inferLegacyName, St as sanitizeToolCallInputs, T as resolveDefaultCronStaggerMs, Tt as canonicalToolCallIdBase, U as extractLegacyTranscriptEntryFields, Ut as formatZonedTimestamp, V as runSerializedBySession, Vt as resolveProviderRuntimeIdentity, W as sanitizeJsonb, Wt as resolveTimezone, X as getMessageIngress, Y as attachMessageIngress, Z as isRepresentableEpochMs, _ as derivePromptTokens, _t as getToolResultText$1, a as resolveMirroredTranscriptText, at as capToolResultContent, b as makeZeroUsageSnapshot, bt as openRawToolResultStash, c as createSessionStorageRuntimeFromConfig, ct as PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER, d as buildEqualityProjection, dt as truncateToolResultToChars, et as resolveSenderLabel, ft as CHARS_PER_TOKEN_ESTIMATE$2, g as sanitizeAppendEntry, gt as estimateMessageCharsCached, h as CREATE_CTX_STORAGE_OWNER_SQL, ht as estimateContextChars$1, i as appendAssistantMessageToSessionTranscript, it as HIDDEN_HEARTBEAT_CUSTOM_TYPE, j as resolveSessionResetPolicy, jt as getGlobalPluginRegistry, k as evaluateSessionFreshness, kt as normalizeInputProvenance, l as resolveSessionStorageConfig, lt as TOOL_RESULT_TEXT_WEIGHT, m as deriveLegacyActorIdentity, mt as createMessageCharEstimateCache, n as parseSessionThreadInfo, nt as eventOrder, o as parseInlineDirectives$1, ot as HARD_MAX_TOOL_RESULT_CHARS, pt as TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE, q as collectInboundUserContext, r as resolveAndPersistSessionFile, rt as pickLeaf, s as attachPgPoolErrorListeners, st as sessionLikelyHasOversizedToolResults, t as extractDeliveryInfo, tt as DB_SESSION_HYDRATION_LIMIT, u as validateCtxStorage, ut as truncateTextHeadTail, v as deriveSessionTotalTokens, vt as isToolResultMessage, w as normalizeCronStaggerMs, wt as stripToolResultDetails, x as normalizeUsage, xt as repairToolUseResultPairing, y as hasNonzeroUsage, yt as guardSessionManager, z as isSessionArchiveArtifactName, zt as buildPluginTurnIdentity } from "./sessions-CFd8Ydiq.js";
|
|
13
|
+
import { A as issueDeviceBootstrapToken, C as randomIdempotencyKey, D as gatewayErrorShapeOf, E as gatewayErrorReason, M as setActiveCoordinationDepth, O as validateSecretsResolveResult, S as callGatewayLeastPrivilege, T as GatewayClient, _ as resolveSessionReference, a as buildAgentToAgentMessageContext, b as buildGatewayConnectionDetails, c as isReplySkip, d as createSessionVisibilityGuard, f as resolveEffectiveSessionToolsVisibility, g as resolveMainSessionAlias, h as resolveInternalSessionKey, i as buildAgentToAgentAnnounceContext, j as clearActiveCoordinationDepth, k as SESSION_LABEL_MAX_LENGTH, l as resolvePingPongTurns, m as resolveDisplaySessionKey, n as requestAuthorizedNudge, o as buildAgentToAgentReplyContext, p as resolveSandboxedSessionToolContext, r as AuthorizationError, s as isAnnounceSkip, u as createAgentToAgentPolicy, v as resolveVisibleSessionReference, w as resolveLeastPrivilegeOperatorScopesForMethod, x as callGateway, y as shouldResolveSessionIdInput } from "./nudge-OjthVWgf.js";
|
|
14
14
|
import { t as redactIdentifier } from "./redact-identifier-bNChjxxW.js";
|
|
15
15
|
import { t as CommandLane } from "./lanes-DWpYhh13.js";
|
|
16
16
|
import { n as isDiagnosticsEnabled, t as emitDiagnosticEvent } from "./diagnostic-events-DGRcTqIH.js";
|
|
17
|
-
import { a as getGatewayInstanceId, n as deriveSessionRunId, o as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-
|
|
18
|
-
import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-
|
|
17
|
+
import { a as getGatewayInstanceId, n as deriveSessionRunId, o as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-BSty19u1.js";
|
|
18
|
+
import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-BSTxLFq9.js";
|
|
19
19
|
import { n as onSessionTranscriptUpdate } from "./transcript-events-C-Yjj9jM.js";
|
|
20
20
|
import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-faWesvBQ.js";
|
|
21
|
-
import { _ as recordSystemPromptHashComparison, b as recordCommandPoll, d as logRunCompleted, f as logRunStarted, g as logToolExecutionStarted, h as logToolExecutionCompleted, l as logModelCallError, m as logToolExecutionBlocked, o as logMessageProcessed, p as logSessionStateChange, s as logMessageQueued, v as refreshRunProgress, x as resetCommandPollCount, y as boundDiagnosticContent } from "./diagnostic-
|
|
21
|
+
import { _ as recordSystemPromptHashComparison, b as recordCommandPoll, d as logRunCompleted, f as logRunStarted, g as logToolExecutionStarted, h as logToolExecutionCompleted, l as logModelCallError, m as logToolExecutionBlocked, o as logMessageProcessed, p as logSessionStateChange, s as logMessageQueued, v as refreshRunProgress, x as resetCommandPollCount, y as boundDiagnosticContent } from "./diagnostic-VK1bXt80.js";
|
|
22
22
|
import { o as redactChannelCorrelation, r as getDiagnosticSessionState } from "./diagnostic-session-state-DuIsmy5s.js";
|
|
23
|
-
import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-
|
|
24
|
-
import { a as getCommandLaneSnapshots, c as isQueuedCommandCancellation, i as enqueueCommandInLane, n as clearCommandLane, o as getQueueSize, s as isGatewayDraining, t as CommandLaneAbortedError } from "./command-queue-
|
|
25
|
-
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-
|
|
26
|
-
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-
|
|
27
|
-
import { A as resolveReplyToMode, C as applyReplyThreading, D as shouldSuppressMessagingToolReplies, E as isRenderablePayload, F as resolveTeamRoster, M as normalizeChannelTargetInput, N as normalizeTargetForProvider, O as shouldSuppressReasoningPayload, P as resolveLedTeam, S as applyReplyTagsToPayload, T as filterMessagingToolMediaDuplicates, _ as computeBackoff, a as normalizeOutboundPayloadsForJson, b as transcriptEntriesToMessages, c as loadCombinedSessionStoreForGateway, d as throwIfAborted, f as loadChannelOutboundAdapter, g as resolveContextTokensForModel, h as lookupContextTokens, i as normalizeOutboundPayloads, j as buildTargetResolverSignature, k as createReplyToModeFilterForChannel, l as capArrayByJsonBytes, m as extractToolCallNames, o as normalizeReplyPayloadsForDelivery, p as countToolResults, r as formatOutboundPayloadLog, s as stampReplyActivity, t as deliverOutboundPayloads, u as jsonUtf8Bytes, v as sleepWithAbort, w as filterMessagingToolDuplicates, x as stripLeadingInboundMetadata, y as readFullTranscriptEntriesFromBackend } from "./deliver-
|
|
28
|
-
import { $ as expandPolicyWithPluginGroups, A as isLikelyContextOverflowError, B as resolveSandboxContext, C as isAuthAssistantError, D as isContextOverflowError, E as isCompactionFailureError, F as parseImageSizeError, G as resolveProfile, H as createBrowserRouteContext, I as sanitizeUserFacingText, J as resolveBrowserControlAuth, K as getBridgeAuthForPort, L as isAuthPermanentErrorMessage, M as isRawApiErrorPayload, N as isTransientHttpError, O as isFailoverAssistantError, P as parseImageDimensionError, Q as collectExplicitAllowlist, R as isTimeoutErrorMessage, S as getApiErrorPayloadFingerprint, T as isCloudCodeAssistFormatError, U as registerBrowserRoutes, V as resolveSandboxRuntimeStatus, W as resolveBrowserConfig, X as applyOwnerOnlyToolPolicy, Y as resolveSandboxConfigForAgent, Z as buildPluginToolGroups, _ as BILLING_ERROR_USER_MESSAGE, at as listCoreToolIds, b as formatBillingErrorMessage, c as sanitizeSessionMessagesImages, ct as buildBootstrapContextFiles, d as resolveImageSanitizationLimits, dt as sanitizeGoogleTurnOrdering, et as mergeAlsoAllowPolicy, f as canonicalizeBase64, g as isGoogleModelApi, h as downgradeOpenAIReasoningBlocks, i as pickFallbackThinkingLevel, it as resolveToolProfilePolicy, j as isRateLimitAssistantError, k as isFailoverErrorMessage, l as sanitizeImageBlocks, lt as resolveBootstrapMaxChars, m as downgradeOpenAIFunctionCallReasoningPairs, n as validateAnthropicTurns, nt as expandToolGroups, o as isMessagingToolDuplicateNormalized, ot as compileGlobPatterns, p as estimateBase64DecodedBytes, q as ensureBrowserControlAuth, r as validateGeminiTurns, rt as normalizeToolName, s as normalizeTextForComparison, st as matchesAnyGlobPattern, t as extractTextFromChatContent, tt as stripPluginOnlyAllowlist, u as sanitizeToolResultImages, ut as resolveBootstrapTotalMaxChars, v as classifyFailoverReason, w as isBillingAssistantError, x as formatRawAssistantErrorForUi, y as formatAssistantErrorText, z as ensureSandboxWorkspaceForSession } from "./chat-content-
|
|
29
|
-
import { B as DEFAULT_AI_SNAPSHOT_MAX_CHARS, C as ensureChromeExtensionRelayServer, M as DEFAULT_UPLOAD_DIR, N as resolveExistingPathsWithinRoot, s as resolveLsofCommandSync } from "./chrome-
|
|
30
|
-
import { r as isLoopbackHost } from "./ws-
|
|
31
|
-
import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-
|
|
32
|
-
import { a as skillsSnapshotSourceDiffers, c as assertMediaNotDataUrl, f as resolveSandboxedMediaSource, i as resolveSkillsPromptForRun, l as assertSandboxPath, m as applySkillEnvOverridesFromSnapshot, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverrides, r as loadWorkspaceSkillEntries, u as resolveSandboxInputPath } from "./skills
|
|
33
|
-
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-
|
|
34
|
-
import { i as hasErrnoCode, o as readErrorName, r as formatErrorMessage } from "./errors-
|
|
35
|
-
import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-
|
|
36
|
-
import { a as isBlockedHostnameOrIp, l as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-
|
|
37
|
-
import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-
|
|
23
|
+
import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-Iu0CqZm1.js";
|
|
24
|
+
import { a as getCommandLaneSnapshots, c as isQueuedCommandCancellation, i as enqueueCommandInLane, n as clearCommandLane, o as getQueueSize, s as isGatewayDraining, t as CommandLaneAbortedError } from "./command-queue-B7ny6IpS.js";
|
|
25
|
+
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-D9RolAaO.js";
|
|
26
|
+
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DtlKqZOH.js";
|
|
27
|
+
import { A as resolveReplyToMode, C as applyReplyThreading, D as shouldSuppressMessagingToolReplies, E as isRenderablePayload, F as resolveTeamRoster, M as normalizeChannelTargetInput, N as normalizeTargetForProvider, O as shouldSuppressReasoningPayload, P as resolveLedTeam, S as applyReplyTagsToPayload, T as filterMessagingToolMediaDuplicates, _ as computeBackoff, a as normalizeOutboundPayloadsForJson, b as transcriptEntriesToMessages, c as loadCombinedSessionStoreForGateway, d as throwIfAborted, f as loadChannelOutboundAdapter, g as resolveContextTokensForModel, h as lookupContextTokens, i as normalizeOutboundPayloads, j as buildTargetResolverSignature, k as createReplyToModeFilterForChannel, l as capArrayByJsonBytes, m as extractToolCallNames, o as normalizeReplyPayloadsForDelivery, p as countToolResults, r as formatOutboundPayloadLog, s as stampReplyActivity, t as deliverOutboundPayloads, u as jsonUtf8Bytes, v as sleepWithAbort, w as filterMessagingToolDuplicates, x as stripLeadingInboundMetadata, y as readFullTranscriptEntriesFromBackend } from "./deliver-BRmy8mNE.js";
|
|
28
|
+
import { $ as expandPolicyWithPluginGroups, A as isLikelyContextOverflowError, B as resolveSandboxContext, C as isAuthAssistantError, D as isContextOverflowError, E as isCompactionFailureError, F as parseImageSizeError, G as resolveProfile, H as createBrowserRouteContext, I as sanitizeUserFacingText, J as resolveBrowserControlAuth, K as getBridgeAuthForPort, L as isAuthPermanentErrorMessage, M as isRawApiErrorPayload, N as isTransientHttpError, O as isFailoverAssistantError, P as parseImageDimensionError, Q as collectExplicitAllowlist, R as isTimeoutErrorMessage, S as getApiErrorPayloadFingerprint, T as isCloudCodeAssistFormatError, U as registerBrowserRoutes, V as resolveSandboxRuntimeStatus, W as resolveBrowserConfig, X as applyOwnerOnlyToolPolicy, Y as resolveSandboxConfigForAgent, Z as buildPluginToolGroups, _ as BILLING_ERROR_USER_MESSAGE, at as listCoreToolIds, b as formatBillingErrorMessage, c as sanitizeSessionMessagesImages, ct as buildBootstrapContextFiles, d as resolveImageSanitizationLimits, dt as sanitizeGoogleTurnOrdering, et as mergeAlsoAllowPolicy, f as canonicalizeBase64, g as isGoogleModelApi, h as downgradeOpenAIReasoningBlocks, i as pickFallbackThinkingLevel, it as resolveToolProfilePolicy, j as isRateLimitAssistantError, k as isFailoverErrorMessage, l as sanitizeImageBlocks, lt as resolveBootstrapMaxChars, m as downgradeOpenAIFunctionCallReasoningPairs, n as validateAnthropicTurns, nt as expandToolGroups, o as isMessagingToolDuplicateNormalized, ot as compileGlobPatterns, p as estimateBase64DecodedBytes, q as ensureBrowserControlAuth, r as validateGeminiTurns, rt as normalizeToolName, s as normalizeTextForComparison, st as matchesAnyGlobPattern, t as extractTextFromChatContent, tt as stripPluginOnlyAllowlist, u as sanitizeToolResultImages, ut as resolveBootstrapTotalMaxChars, v as classifyFailoverReason, w as isBillingAssistantError, x as formatRawAssistantErrorForUi, y as formatAssistantErrorText, z as ensureSandboxWorkspaceForSession } from "./chat-content-OjzGhCu9.js";
|
|
29
|
+
import { B as DEFAULT_AI_SNAPSHOT_MAX_CHARS, C as ensureChromeExtensionRelayServer, M as DEFAULT_UPLOAD_DIR, N as resolveExistingPathsWithinRoot, s as resolveLsofCommandSync } from "./chrome-DwJAYQrd.js";
|
|
30
|
+
import { r as isLoopbackHost } from "./ws-CDG99mFW.js";
|
|
31
|
+
import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-DQ7lFgET.js";
|
|
32
|
+
import { a as skillsSnapshotSourceDiffers, c as assertMediaNotDataUrl, f as resolveSandboxedMediaSource, i as resolveSkillsPromptForRun, l as assertSandboxPath, m as applySkillEnvOverridesFromSnapshot, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverrides, r as loadWorkspaceSkillEntries, u as resolveSandboxInputPath } from "./skills--Ui7bzMr.js";
|
|
33
|
+
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CGgM-kfP.js";
|
|
34
|
+
import { i as hasErrnoCode, o as readErrorName, r as formatErrorMessage } from "./errors-DbYMrbC6.js";
|
|
35
|
+
import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-g7C2VmjR.js";
|
|
36
|
+
import { a as isBlockedHostnameOrIp, l as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-B7QBeq1s.js";
|
|
37
|
+
import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-BkMCVm0M.js";
|
|
38
38
|
import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-Csgn7s_1.js";
|
|
39
|
-
import { r as writeJsonAtomic } from "./json-files-
|
|
39
|
+
import { r as writeJsonAtomic } from "./json-files-B1gYf6W9.js";
|
|
40
40
|
import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-DCaYRMt5.js";
|
|
41
|
-
import { t as ensureOpenClawModelsJson } from "./models-config-
|
|
42
|
-
import { i as resolveLiveIdentityLinks, n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-
|
|
43
|
-
import { C as coerceImageModelConfig, D as loadModelCatalog, E as findModelInCatalog, O as modelSupportsVision, S as coerceImageAssistantText, T as resolveProviderVisionModelFromConfig, _ as stripCarriedTranscriptFromBody, a as resolveMediaAttachmentLocalRoots, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, i as normalizeMediaAttachments, l as resolveConcurrency, n as buildProviderRegistry, o as runCapability, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as minimaxUnderstandImage, t as runAudioTranscription, u as resolveTimeoutMs$2, v as buildRandomTempFilePath, w as decodeDataUrl, x as resolveAttachmentKind, y as registerUnhandledRejectionHandler } from "./audio-transcription-runner-
|
|
44
|
-
import { a as formatReasoningMessage, d as stripThinkingTagsFromText, f as formatToolSummary, l as stripDowngradedToolCallText, m as stripReasoningTagsFromText, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as resolveToolDisplay, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-
|
|
45
|
-
import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit } from "./fetch-
|
|
46
|
-
import { a as bindAbortRelay, n as withStrictGuardedFetchMode, o as fetchWithTimeout, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
47
|
-
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-
|
|
41
|
+
import { t as ensureOpenClawModelsJson } from "./models-config-3lhn9o5Q.js";
|
|
42
|
+
import { i as resolveLiveIdentityLinks, n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DtRFnaEz.js";
|
|
43
|
+
import { C as coerceImageModelConfig, D as loadModelCatalog, E as findModelInCatalog, O as modelSupportsVision, S as coerceImageAssistantText, T as resolveProviderVisionModelFromConfig, _ as stripCarriedTranscriptFromBody, a as resolveMediaAttachmentLocalRoots, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, i as normalizeMediaAttachments, l as resolveConcurrency, n as buildProviderRegistry, o as runCapability, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as minimaxUnderstandImage, t as runAudioTranscription, u as resolveTimeoutMs$2, v as buildRandomTempFilePath, w as decodeDataUrl, x as resolveAttachmentKind, y as registerUnhandledRejectionHandler } from "./audio-transcription-runner-DzJ9M4zn.js";
|
|
44
|
+
import { a as formatReasoningMessage, d as stripThinkingTagsFromText, f as formatToolSummary, l as stripDowngradedToolCallText, m as stripReasoningTagsFromText, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as resolveToolDisplay, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-CFD8XCEm.js";
|
|
45
|
+
import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit } from "./fetch-CvQ4rHkA.js";
|
|
46
|
+
import { a as bindAbortRelay, n as withStrictGuardedFetchMode, o as fetchWithTimeout, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-1wmQV-Tr.js";
|
|
47
|
+
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-Bc9Xxgh0.js";
|
|
48
48
|
import { n as isSafeFenceBreak, r as parseFenceSpans, t as findFenceSpanAt } from "./fences-RrqZTgHp.js";
|
|
49
|
-
import { a as chunkText, c as resolveChunkDelivery, d as resolveTextChunkLimit, i as chunkMarkdownTextWithMode, l as resolveChunkMode, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as resolveChunkNewlinePacking } from "./chunk-
|
|
50
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
51
|
-
import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-
|
|
52
|
-
import { _ as isRestartEnabled, a as listChatCommands, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, g as isNativeCommandsExplicitlyDisabled, h as isCommandFlagEnabled, i as isCommandEnabled, l as normalizeCommandBody, m as shouldHandleTextCommands, o as listChatCommandsForConfig, p as serializeCommandArgs, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs, v as resolveNativeCommandsEnabled, y as resolveNativeSkillsEnabled } from "./commands-registry-
|
|
53
|
-
import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-
|
|
54
|
-
import { _ as createInlineCodeState, a as isEmbeddedPiRunActive, b as onAgentEvent, d as handleMessageEnd, f as handleMessageStart, g as buildCodeSpanIndex, h as emitEmbeddedAgentEvent, i as endInFlightEmbeddedAttempt, l as setActiveEmbeddedRun, m as endModelCall, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as handleMessageUpdate, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as waitForEmbeddedPiRunEnd, v as clearAgentRunContext, x as registerAgentRunContext, y as emitAgentEvent } from "./runs-
|
|
55
|
-
import { a as toInternalMessageReceivedContext, c as toPluginMessageReceivedEvent, d as resolveOutboundSessionId, i as toInternalMessagePreprocessedContext, l as fireAndForgetHook, n as createMessageSentEmitter, o as toInternalMessageTranscribedContext, r as deriveInboundMessageHookContext, s as toPluginMessageContext, t as applyMessageSendingHook, u as buildOutboundSessionContext } from "./outbound-message-hooks-
|
|
49
|
+
import { a as chunkText, c as resolveChunkDelivery, d as resolveTextChunkLimit, i as chunkMarkdownTextWithMode, l as resolveChunkMode, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as resolveChunkNewlinePacking } from "./chunk-BO29WISL.js";
|
|
50
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-Dv-Fn4ps.js";
|
|
51
|
+
import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-BMz0_JTj.js";
|
|
52
|
+
import { _ as isRestartEnabled, a as listChatCommands, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, g as isNativeCommandsExplicitlyDisabled, h as isCommandFlagEnabled, i as isCommandEnabled, l as normalizeCommandBody, m as shouldHandleTextCommands, o as listChatCommandsForConfig, p as serializeCommandArgs, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs, v as resolveNativeCommandsEnabled, y as resolveNativeSkillsEnabled } from "./commands-registry-CcEHn1XI.js";
|
|
53
|
+
import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-DYSEO3CI.js";
|
|
54
|
+
import { _ as createInlineCodeState, a as isEmbeddedPiRunActive, b as onAgentEvent, d as handleMessageEnd, f as handleMessageStart, g as buildCodeSpanIndex, h as emitEmbeddedAgentEvent, i as endInFlightEmbeddedAttempt, l as setActiveEmbeddedRun, m as endModelCall, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as handleMessageUpdate, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as waitForEmbeddedPiRunEnd, v as clearAgentRunContext, x as registerAgentRunContext, y as emitAgentEvent } from "./runs-DTEVO_j3.js";
|
|
55
|
+
import { a as toInternalMessageReceivedContext, c as toPluginMessageReceivedEvent, d as resolveOutboundSessionId, i as toInternalMessagePreprocessedContext, l as fireAndForgetHook, n as createMessageSentEmitter, o as toInternalMessageTranscribedContext, r as deriveInboundMessageHookContext, s as toPluginMessageContext, t as applyMessageSendingHook, u as buildOutboundSessionContext } from "./outbound-message-hooks-CWaDtoFU.js";
|
|
56
56
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CZ6JAe_K.js";
|
|
57
|
-
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-
|
|
58
|
-
import { c as getSkillsSnapshotVersion, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames } from "./skill-commands-
|
|
59
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
60
|
-
import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-
|
|
61
|
-
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-
|
|
62
|
-
import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-
|
|
63
|
-
import { t as recordInboundSessionMetaSafe } from "./session-meta-
|
|
64
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$2, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
65
|
-
import { n as resolveMemorySearchConfig } from "./manager-
|
|
66
|
-
import { m as normalizeExtraMemoryPaths, p as listMemoryFiles } from "./query-expansion-
|
|
67
|
-
import { t as isQmdScopeAllowed } from "./qmd-scope-
|
|
57
|
+
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DMx7kUDq.js";
|
|
58
|
+
import { c as getSkillsSnapshotVersion, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames } from "./skill-commands-Clk1OxDK.js";
|
|
59
|
+
import { t as convertMarkdownTables } from "./tables-CXnnw-yu.js";
|
|
60
|
+
import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-ZtVs-j3A.js";
|
|
61
|
+
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DVAxl2sg.js";
|
|
62
|
+
import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-eXn1pSE6.js";
|
|
63
|
+
import { t as recordInboundSessionMetaSafe } from "./session-meta-CbZBnut5.js";
|
|
64
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$2, t as createSlackReplyDeliveryPlan } from "./replies-CurRxuDE.js";
|
|
65
|
+
import { n as resolveMemorySearchConfig } from "./manager-BuEOjzym.js";
|
|
66
|
+
import { m as normalizeExtraMemoryPaths, p as listMemoryFiles } from "./query-expansion-CEaQOg6W.js";
|
|
67
|
+
import { t as isQmdScopeAllowed } from "./qmd-scope-CYZoWcur.js";
|
|
68
68
|
import { createRequire } from "node:module";
|
|
69
69
|
import { inspect, isDeepStrictEqual, promisify } from "node:util";
|
|
70
70
|
import fs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, realpathSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
@@ -72,8 +72,8 @@ import os, { homedir } from "node:os";
|
|
|
72
72
|
import * as path$1 from "node:path";
|
|
73
73
|
import path, { basename, isAbsolute, join } from "node:path";
|
|
74
74
|
import JSON5 from "json5";
|
|
75
|
-
import * as fs$
|
|
76
|
-
import
|
|
75
|
+
import * as fs$1 from "node:fs/promises";
|
|
76
|
+
import fsp, { open } from "node:fs/promises";
|
|
77
77
|
import crypto$1, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
|
|
78
78
|
import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
|
|
79
79
|
import { fileURLToPath } from "node:url";
|
|
@@ -3531,7 +3531,7 @@ function resolveWorkspaceLane(params) {
|
|
|
3531
3531
|
}
|
|
3532
3532
|
async function pathExists(targetPath) {
|
|
3533
3533
|
try {
|
|
3534
|
-
await
|
|
3534
|
+
await fsp.access(targetPath);
|
|
3535
3535
|
return true;
|
|
3536
3536
|
} catch {
|
|
3537
3537
|
return false;
|
|
@@ -3539,7 +3539,7 @@ async function pathExists(targetPath) {
|
|
|
3539
3539
|
}
|
|
3540
3540
|
async function getExistingPathState(targetPath) {
|
|
3541
3541
|
try {
|
|
3542
|
-
const stats = await
|
|
3542
|
+
const stats = await fsp.lstat(targetPath);
|
|
3543
3543
|
if (stats.isSymbolicLink()) return "other";
|
|
3544
3544
|
return stats.isDirectory() ? "directory" : "other";
|
|
3545
3545
|
} catch {
|
|
@@ -3548,7 +3548,7 @@ async function getExistingPathState(targetPath) {
|
|
|
3548
3548
|
}
|
|
3549
3549
|
async function pathLexicallyExists(targetPath) {
|
|
3550
3550
|
try {
|
|
3551
|
-
await
|
|
3551
|
+
await fsp.lstat(targetPath);
|
|
3552
3552
|
return true;
|
|
3553
3553
|
} catch {
|
|
3554
3554
|
return false;
|
|
@@ -3615,7 +3615,7 @@ async function resolveWorkspaceLaneForTurn(params) {
|
|
|
3615
3615
|
const config = resolveWorkspaceLaneConfig(params.cfg, resolution.agentId);
|
|
3616
3616
|
if ((config?.create ?? "on-first-message") !== "on-first-message") return resolution;
|
|
3617
3617
|
const existed = pathState === "directory";
|
|
3618
|
-
if (!existed) await
|
|
3618
|
+
if (!existed) await fsp.mkdir(resolution.effectiveWorkspaceDir, { recursive: true });
|
|
3619
3619
|
for (const file of config?.copiedOnCreate ?? DEFAULT_COPIED_ON_CREATE_FILES) {
|
|
3620
3620
|
const decision = await copyIfMissing({
|
|
3621
3621
|
sourceRoot: resolution.personaWorkspaceDir,
|
|
@@ -6481,7 +6481,7 @@ async function imageResult(params) {
|
|
|
6481
6481
|
}, params.label, params.imageSanitization);
|
|
6482
6482
|
}
|
|
6483
6483
|
async function imageResultFromFile(params) {
|
|
6484
|
-
const buf = await
|
|
6484
|
+
const buf = await fsp.readFile(params.path);
|
|
6485
6485
|
const mimeType = await detectMime({ buffer: buf.slice(0, 256) }) ?? "image/png";
|
|
6486
6486
|
return await imageResult({
|
|
6487
6487
|
label: params.label,
|
|
@@ -6993,7 +6993,7 @@ async function resolveAgentSessionDirs(stateDir) {
|
|
|
6993
6993
|
const agentsDir = path.join(stateDir, "agents");
|
|
6994
6994
|
let entries = [];
|
|
6995
6995
|
try {
|
|
6996
|
-
entries = await
|
|
6996
|
+
entries = await fsp.readdir(agentsDir, { withFileTypes: true });
|
|
6997
6997
|
} catch (err) {
|
|
6998
6998
|
if (err.code === "ENOENT") return [];
|
|
6999
6999
|
throw err;
|
|
@@ -10392,7 +10392,7 @@ async function routeReply(params) {
|
|
|
10392
10392
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
10393
10393
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
10394
10394
|
try {
|
|
10395
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
10395
|
+
const { deliverOutboundPayloads } = await import("./deliver-BRmy8mNE.js").then((n) => n.n);
|
|
10396
10396
|
const outboundSession = buildOutboundSessionContext({
|
|
10397
10397
|
cfg,
|
|
10398
10398
|
agentId: resolvedAgentId,
|
|
@@ -15206,7 +15206,7 @@ async function sendTranscriptEcho(params) {
|
|
|
15206
15206
|
}
|
|
15207
15207
|
const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
|
|
15208
15208
|
try {
|
|
15209
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
15209
|
+
const { deliverOutboundPayloads } = await import("./deliver-BRmy8mNE.js").then((n) => n.n);
|
|
15210
15210
|
await deliverOutboundPayloads({
|
|
15211
15211
|
cfg,
|
|
15212
15212
|
channel: normalizedChannel,
|
|
@@ -20834,7 +20834,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
20834
20834
|
cwd: process.cwd(),
|
|
20835
20835
|
root: params.sandbox.workspaceDir
|
|
20836
20836
|
});
|
|
20837
|
-
if (!(await
|
|
20837
|
+
if (!(await fsp.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
|
|
20838
20838
|
const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
|
|
20839
20839
|
const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
|
|
20840
20840
|
return {
|
|
@@ -22224,13 +22224,13 @@ async function validateScriptFileForShellBleed(params) {
|
|
|
22224
22224
|
cwd: params.workdir,
|
|
22225
22225
|
root: params.workdir
|
|
22226
22226
|
});
|
|
22227
|
-
stat = await
|
|
22227
|
+
stat = await fsp.stat(absPath);
|
|
22228
22228
|
} catch {
|
|
22229
22229
|
return;
|
|
22230
22230
|
}
|
|
22231
22231
|
if (!stat.isFile()) return;
|
|
22232
22232
|
if (stat.size > 512 * 1024) return;
|
|
22233
|
-
const content = await
|
|
22233
|
+
const content = await fsp.readFile(absPath, "utf-8");
|
|
22234
22234
|
const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
|
|
22235
22235
|
if (first) {
|
|
22236
22236
|
const idx = first.index;
|
|
@@ -35148,7 +35148,7 @@ async function createModelSelectionState(params) {
|
|
|
35148
35148
|
}
|
|
35149
35149
|
}
|
|
35150
35150
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
35151
|
-
const { ensureAuthProfileStore } = await import("./config-
|
|
35151
|
+
const { ensureAuthProfileStore } = await import("./config-i54suDg0.js").then((n) => n.ea);
|
|
35152
35152
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
35153
35153
|
const providerKey = normalizeProviderId(provider);
|
|
35154
35154
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -38832,7 +38832,7 @@ async function writeUrlToFile(filePath, url, opts) {
|
|
|
38832
38832
|
if (typeof contentLength === "number" && Number.isFinite(contentLength) && contentLength > MAX_CAMERA_URL_DOWNLOAD_BYTES) throw new Error(`writeUrlToFile: content-length ${contentLength} exceeds max ${MAX_CAMERA_URL_DOWNLOAD_BYTES}`);
|
|
38833
38833
|
const body = res.body;
|
|
38834
38834
|
if (!body) throw new Error(`failed to download ${url}: empty response body`);
|
|
38835
|
-
const fileHandle = await fs$
|
|
38835
|
+
const fileHandle = await fs$1.open(filePath, "w");
|
|
38836
38836
|
let thrown;
|
|
38837
38837
|
try {
|
|
38838
38838
|
const reader = body.getReader();
|
|
@@ -38850,7 +38850,7 @@ async function writeUrlToFile(filePath, url, opts) {
|
|
|
38850
38850
|
await fileHandle.close();
|
|
38851
38851
|
}
|
|
38852
38852
|
if (thrown) {
|
|
38853
|
-
await fs$
|
|
38853
|
+
await fs$1.unlink(filePath).catch(() => {});
|
|
38854
38854
|
throw thrown;
|
|
38855
38855
|
}
|
|
38856
38856
|
} finally {
|
|
@@ -38863,7 +38863,7 @@ async function writeUrlToFile(filePath, url, opts) {
|
|
|
38863
38863
|
}
|
|
38864
38864
|
async function writeBase64ToFile(filePath, base64) {
|
|
38865
38865
|
const buf = Buffer.from(base64, "base64");
|
|
38866
|
-
await fs$
|
|
38866
|
+
await fs$1.writeFile(filePath, buf);
|
|
38867
38867
|
return {
|
|
38868
38868
|
path: filePath,
|
|
38869
38869
|
bytes: buf.length
|
|
@@ -38948,7 +38948,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
38948
38948
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
|
|
38949
38949
|
throw new Error("jsonlPath outside allowed roots");
|
|
38950
38950
|
}
|
|
38951
|
-
const canonical = await
|
|
38951
|
+
const canonical = await fsp.realpath(resolved).catch(() => resolved);
|
|
38952
38952
|
if (!isInboundPathAllowed({
|
|
38953
38953
|
filePath: canonical,
|
|
38954
38954
|
roots
|
|
@@ -38956,7 +38956,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
38956
38956
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
|
|
38957
38957
|
throw new Error("jsonlPath outside allowed roots");
|
|
38958
38958
|
}
|
|
38959
|
-
return await
|
|
38959
|
+
return await fsp.readFile(canonical, "utf8");
|
|
38960
38960
|
}
|
|
38961
38961
|
const CanvasToolSchema = Type.Object({
|
|
38962
38962
|
action: stringEnum(CANVAS_ACTIONS),
|
|
@@ -39807,12 +39807,12 @@ function resolveRestartSentinelPath(env = process.env) {
|
|
|
39807
39807
|
}
|
|
39808
39808
|
async function writeRestartSentinel(payload, env = process.env) {
|
|
39809
39809
|
const filePath = resolveRestartSentinelPath(env);
|
|
39810
|
-
await
|
|
39810
|
+
await fsp.mkdir(path.dirname(filePath), { recursive: true });
|
|
39811
39811
|
const data = {
|
|
39812
39812
|
version: 1,
|
|
39813
39813
|
payload
|
|
39814
39814
|
};
|
|
39815
|
-
await
|
|
39815
|
+
await fsp.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
|
|
39816
39816
|
return filePath;
|
|
39817
39817
|
}
|
|
39818
39818
|
|
|
@@ -51140,18 +51140,18 @@ function appendImagePathsToPrompt(prompt, paths) {
|
|
|
51140
51140
|
return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
|
|
51141
51141
|
}
|
|
51142
51142
|
async function writeCliImages(images) {
|
|
51143
|
-
const tempDir = await
|
|
51143
|
+
const tempDir = await fsp.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
|
|
51144
51144
|
const paths = [];
|
|
51145
51145
|
for (let i = 0; i < images.length; i += 1) {
|
|
51146
51146
|
const image = images[i];
|
|
51147
51147
|
const ext = resolveImageExtension(image.mimeType);
|
|
51148
51148
|
const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
|
|
51149
51149
|
const buffer = Buffer.from(image.data, "base64");
|
|
51150
|
-
await
|
|
51150
|
+
await fsp.writeFile(filePath, buffer, { mode: 384 });
|
|
51151
51151
|
paths.push(filePath);
|
|
51152
51152
|
}
|
|
51153
51153
|
const cleanup = async () => {
|
|
51154
|
-
await
|
|
51154
|
+
await fsp.rm(tempDir, {
|
|
51155
51155
|
recursive: true,
|
|
51156
51156
|
force: true
|
|
51157
51157
|
});
|
|
@@ -54657,7 +54657,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
54657
54657
|
return;
|
|
54658
54658
|
}
|
|
54659
54659
|
try {
|
|
54660
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
54660
|
+
const { deliverOutboundPayloads } = await import("./deliver-BRmy8mNE.js").then((n) => n.n);
|
|
54661
54661
|
const outboundSession = buildOutboundSessionContext({
|
|
54662
54662
|
cfg: params.cfg,
|
|
54663
54663
|
sessionKey: params.sessionKey
|
|
@@ -55606,7 +55606,7 @@ async function stageSandboxMedia(params) {
|
|
|
55606
55606
|
const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(workspaceDir, ".openclaw", "media", "remote-cache", sessionKey) : null;
|
|
55607
55607
|
const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
|
|
55608
55608
|
if (!effectiveWorkspaceDir) return;
|
|
55609
|
-
await
|
|
55609
|
+
await fsp.mkdir(effectiveWorkspaceDir, { recursive: true });
|
|
55610
55610
|
const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
|
|
55611
55611
|
cfg,
|
|
55612
55612
|
accountId: ctx.AccountId
|
|
@@ -55665,8 +55665,8 @@ async function stageLocalFileIntoRoot(params) {
|
|
|
55665
55665
|
}
|
|
55666
55666
|
async function stageRemoteFileIntoRoot(params) {
|
|
55667
55667
|
const tmpRoot = resolvePreferredOpenClawTmpDir();
|
|
55668
|
-
await
|
|
55669
|
-
const tmpDir = await
|
|
55668
|
+
await fsp.mkdir(tmpRoot, { recursive: true });
|
|
55669
|
+
const tmpDir = await fsp.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
|
|
55670
55670
|
const tmpPath = path.join(tmpDir, "download");
|
|
55671
55671
|
try {
|
|
55672
55672
|
await scpFile(params.remoteHost, params.remotePath, tmpPath);
|
|
@@ -55677,7 +55677,7 @@ async function stageRemoteFileIntoRoot(params) {
|
|
|
55677
55677
|
maxBytes: params.maxBytes
|
|
55678
55678
|
});
|
|
55679
55679
|
} finally {
|
|
55680
|
-
await
|
|
55680
|
+
await fsp.rm(tmpDir, {
|
|
55681
55681
|
recursive: true,
|
|
55682
55682
|
force: true
|
|
55683
55683
|
}).catch(() => {});
|
|
@@ -61581,7 +61581,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
|
|
|
61581
61581
|
let transcript;
|
|
61582
61582
|
let carry;
|
|
61583
61583
|
if (needsPreflightTranscription) try {
|
|
61584
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
61584
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-B3evE7-u.js");
|
|
61585
61585
|
const uploadable = audioAttachments.filter((att) => typeof att.url === "string" && att.url.length > 0);
|
|
61586
61586
|
if (uploadable.length > 0) {
|
|
61587
61587
|
const preflight = await transcribeFirstAudio({
|
|
@@ -68853,19 +68853,19 @@ function createDefaultDeps() {
|
|
|
68853
68853
|
};
|
|
68854
68854
|
}),
|
|
68855
68855
|
sendMessageDiscord: async (...args) => {
|
|
68856
|
-
const { sendMessageDiscord } = await import("./send-
|
|
68856
|
+
const { sendMessageDiscord } = await import("./send-C76HubTD.js").then((n) => n.t);
|
|
68857
68857
|
return await sendMessageDiscord(...args);
|
|
68858
68858
|
},
|
|
68859
68859
|
sendMessageSlack: async (...args) => {
|
|
68860
|
-
const { sendMessageSlack } = await import("./send-
|
|
68860
|
+
const { sendMessageSlack } = await import("./send-LeMti0BS.js").then((n) => n.n);
|
|
68861
68861
|
return await sendMessageSlack(...args);
|
|
68862
68862
|
},
|
|
68863
68863
|
sendMessageSignal: async (...args) => {
|
|
68864
|
-
const { sendMessageSignal } = await import("./send-
|
|
68864
|
+
const { sendMessageSignal } = await import("./send-DVAxl2sg.js").then((n) => n.i);
|
|
68865
68865
|
return await sendMessageSignal(...args);
|
|
68866
68866
|
},
|
|
68867
68867
|
sendMessageIMessage: async (...args) => {
|
|
68868
|
-
const { sendMessageIMessage } = await import("./send-
|
|
68868
|
+
const { sendMessageIMessage } = await import("./send-eXn1pSE6.js").then((n) => n.n);
|
|
68869
68869
|
return await sendMessageIMessage(...args);
|
|
68870
68870
|
}
|
|
68871
68871
|
};
|
|
@@ -70111,10 +70111,10 @@ function estimateDurationSeconds(pcm) {
|
|
|
70111
70111
|
return pcm.length / (bytesPerSample * SAMPLE_RATE);
|
|
70112
70112
|
}
|
|
70113
70113
|
async function writeWavFile(pcm) {
|
|
70114
|
-
const tempDir = await
|
|
70114
|
+
const tempDir = await fsp.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
|
|
70115
70115
|
const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
|
|
70116
70116
|
const wav = buildWavBuffer(pcm);
|
|
70117
|
-
await
|
|
70117
|
+
await fsp.writeFile(filePath, wav);
|
|
70118
70118
|
scheduleTempCleanup(tempDir);
|
|
70119
70119
|
return {
|
|
70120
70120
|
path: filePath,
|
|
@@ -70123,7 +70123,7 @@ async function writeWavFile(pcm) {
|
|
|
70123
70123
|
}
|
|
70124
70124
|
function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
|
|
70125
70125
|
setTimeout(() => {
|
|
70126
|
-
|
|
70126
|
+
fsp.rm(tempDir, {
|
|
70127
70127
|
recursive: true,
|
|
70128
70128
|
force: true
|
|
70129
70129
|
}).catch((err) => {
|
|
@@ -73908,7 +73908,7 @@ async function detectBinary(name) {
|
|
|
73908
73908
|
if (!isSafeExecutableValue(name)) return false;
|
|
73909
73909
|
const resolved = name.startsWith("~") ? resolveUserPath(name) : name;
|
|
73910
73910
|
if (path.isAbsolute(resolved) || resolved.startsWith(".") || resolved.includes("/") || resolved.includes("\\")) try {
|
|
73911
|
-
await
|
|
73911
|
+
await fsp.access(resolved);
|
|
73912
73912
|
return true;
|
|
73913
73913
|
} catch {
|
|
73914
73914
|
return false;
|
|
@@ -74572,7 +74572,7 @@ function normalizeAllowList$1(list) {
|
|
|
74572
74572
|
async function detectRemoteHostFromCliPath(cliPath) {
|
|
74573
74573
|
try {
|
|
74574
74574
|
const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
|
|
74575
|
-
const content = await
|
|
74575
|
+
const content = await fsp.readFile(expanded, "utf8");
|
|
74576
74576
|
const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
|
|
74577
74577
|
if (userHostMatch) return userHostMatch[1];
|
|
74578
74578
|
return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
|
|
@@ -81614,7 +81614,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
81614
81614
|
}
|
|
81615
81615
|
let commandsRegistry;
|
|
81616
81616
|
async function getCommandsRegistry() {
|
|
81617
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
81617
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CcEHn1XI.js").then((n) => n.n);
|
|
81618
81618
|
return commandsRegistry;
|
|
81619
81619
|
}
|
|
81620
81620
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -81944,14 +81944,14 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
81944
81944
|
const channelName = channelInfo?.name;
|
|
81945
81945
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
81946
81946
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
81947
|
-
import("./resolve-route-
|
|
81947
|
+
import("./resolve-route-DtRFnaEz.js").then((n) => n.r),
|
|
81948
81948
|
import("./inbound-context-CZ6JAe_K.js").then((n) => n.n),
|
|
81949
81949
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
81950
81950
|
]);
|
|
81951
81951
|
const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordInboundSessionMetaSafe }] = await Promise.all([
|
|
81952
81952
|
import("./conversation-label-BkRfLUVO.js").then((n) => n.t),
|
|
81953
|
-
import("./reply-prefix-
|
|
81954
|
-
import("./session-meta-
|
|
81953
|
+
import("./reply-prefix-Bc9Xxgh0.js").then((n) => n.n),
|
|
81954
|
+
import("./session-meta-CbZBnut5.js").then((n) => n.n)
|
|
81955
81955
|
]);
|
|
81956
81956
|
const route = resolveAgentRoute({
|
|
81957
81957
|
cfg,
|
|
@@ -82016,9 +82016,9 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
82016
82016
|
});
|
|
82017
82017
|
const deliverSlashPayloads = async (replies) => {
|
|
82018
82018
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode, resolveChunkNewlinePacking }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
82019
|
-
import("./replies-
|
|
82020
|
-
import("./chunk-
|
|
82021
|
-
import("./markdown-tables-
|
|
82019
|
+
import("./replies-CurRxuDE.js").then((n) => n.r),
|
|
82020
|
+
import("./chunk-BO29WISL.js").then((n) => n.s),
|
|
82021
|
+
import("./markdown-tables-Dv-Fn4ps.js").then((n) => n.t)
|
|
82022
82022
|
]);
|
|
82023
82023
|
await deliverSlackSlashReplies({
|
|
82024
82024
|
replies,
|
|
@@ -82072,7 +82072,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
82072
82072
|
let nativeCommands = [];
|
|
82073
82073
|
if (nativeEnabled) {
|
|
82074
82074
|
reg = await getCommandsRegistry();
|
|
82075
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
82075
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Clk1OxDK.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
82076
82076
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
82077
82077
|
skillCommands,
|
|
82078
82078
|
provider: "slack"
|
|
@@ -83016,7 +83016,7 @@ async function getMemorySearchManager(params) {
|
|
|
83016
83016
|
if (cached) return { manager: cached };
|
|
83017
83017
|
}
|
|
83018
83018
|
try {
|
|
83019
|
-
const { QmdMemoryManager } = await import("./qmd-manager-
|
|
83019
|
+
const { QmdMemoryManager } = await import("./qmd-manager-ZTV3aWYR.js");
|
|
83020
83020
|
const primary = await QmdMemoryManager.create({
|
|
83021
83021
|
cfg: params.cfg,
|
|
83022
83022
|
agentId: params.agentId,
|
|
@@ -83028,7 +83028,7 @@ async function getMemorySearchManager(params) {
|
|
|
83028
83028
|
const wrapper = new FallbackMemoryManager({
|
|
83029
83029
|
primary,
|
|
83030
83030
|
fallbackFactory: async () => {
|
|
83031
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
83031
|
+
const { MemoryIndexManager } = await import("./manager-BuEOjzym.js").then((n) => n.t);
|
|
83032
83032
|
return await MemoryIndexManager.get(params);
|
|
83033
83033
|
}
|
|
83034
83034
|
}, () => {
|
|
@@ -83043,7 +83043,7 @@ async function getMemorySearchManager(params) {
|
|
|
83043
83043
|
}
|
|
83044
83044
|
}
|
|
83045
83045
|
try {
|
|
83046
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
83046
|
+
const { MemoryIndexManager } = await import("./manager-BuEOjzym.js").then((n) => n.t);
|
|
83047
83047
|
return { manager: await MemoryIndexManager.get(params) };
|
|
83048
83048
|
} catch (err) {
|
|
83049
83049
|
return {
|
|
@@ -83393,7 +83393,7 @@ const LEGACY_ARCHIVE_DEFAULT_RETENTION_MS = 720 * 60 * 60 * 1e3;
|
|
|
83393
83393
|
const log$35 = createSubsystemLogger("config/sessions/legacy-import/archive");
|
|
83394
83394
|
/** SHA-256 over the file's bytes; null when the file is gone (ENOENT). Other errors propagate. */
|
|
83395
83395
|
async function sourceIdentity(filePath) {
|
|
83396
|
-
const handle = await
|
|
83396
|
+
const handle = await fsp.open(filePath, "r").catch((error) => {
|
|
83397
83397
|
if (error.code === "ENOENT") return null;
|
|
83398
83398
|
throw error;
|
|
83399
83399
|
});
|
|
@@ -83446,9 +83446,9 @@ function fallbackArchiveDest(source, archiveRoot) {
|
|
|
83446
83446
|
async function copyVerifiedTo(sourcePath, dest, expected) {
|
|
83447
83447
|
const tmp = `${dest}.tmp-${randomUUID()}`;
|
|
83448
83448
|
try {
|
|
83449
|
-
const handle = await
|
|
83449
|
+
const handle = await fsp.open(tmp, "wx", 384);
|
|
83450
83450
|
try {
|
|
83451
|
-
const sourceHandle = await
|
|
83451
|
+
const sourceHandle = await fsp.open(sourcePath, "r");
|
|
83452
83452
|
try {
|
|
83453
83453
|
const chunk = Buffer.allocUnsafe(256 * 1024);
|
|
83454
83454
|
let size = 0;
|
|
@@ -83465,18 +83465,18 @@ async function copyVerifiedTo(sourcePath, dest, expected) {
|
|
|
83465
83465
|
} finally {
|
|
83466
83466
|
await handle.close();
|
|
83467
83467
|
}
|
|
83468
|
-
await
|
|
83468
|
+
await fsp.chmod(tmp, 384);
|
|
83469
83469
|
const copied = await identityOf(tmp);
|
|
83470
83470
|
if (!copied || copied.fingerprint !== expected.fingerprint) throw new Error(`legacy archive cross-device copy diverged from the imported bytes: ${dest}`);
|
|
83471
83471
|
try {
|
|
83472
|
-
await
|
|
83472
|
+
await fsp.link(tmp, dest);
|
|
83473
83473
|
} catch (error) {
|
|
83474
83474
|
if (error.code !== "EEXIST") throw error;
|
|
83475
83475
|
const existing = await identityOf(dest);
|
|
83476
83476
|
if (!existing || existing.fingerprint !== expected.fingerprint) throw new Error(`legacy archive destination exists with different content: ${dest}`, { cause: error });
|
|
83477
83477
|
}
|
|
83478
83478
|
} finally {
|
|
83479
|
-
await
|
|
83479
|
+
await fsp.rm(tmp, { force: true });
|
|
83480
83480
|
}
|
|
83481
83481
|
}
|
|
83482
83482
|
/**
|
|
@@ -83492,7 +83492,7 @@ async function planLegacyArchiveDest(source, archiveRoot, expected) {
|
|
|
83492
83492
|
const resolvedRoot = path.resolve(archiveRoot);
|
|
83493
83493
|
const { dir, dest } = archivePathsFor(source, resolvedRoot);
|
|
83494
83494
|
try {
|
|
83495
|
-
await
|
|
83495
|
+
await fsp.mkdir(dir, {
|
|
83496
83496
|
recursive: true,
|
|
83497
83497
|
mode: 448
|
|
83498
83498
|
});
|
|
@@ -83532,7 +83532,7 @@ async function archiveLegacySource(source, archiveRoot, expected) {
|
|
|
83532
83532
|
*/
|
|
83533
83533
|
async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
83534
83534
|
const resolvedRoot = path.resolve(archiveRoot);
|
|
83535
|
-
await
|
|
83535
|
+
await fsp.mkdir(path.dirname(dest), {
|
|
83536
83536
|
recursive: true,
|
|
83537
83537
|
mode: 448
|
|
83538
83538
|
});
|
|
@@ -83542,14 +83542,14 @@ async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
|
83542
83542
|
const expectedIdentity = expected ?? sourceIdentityValue;
|
|
83543
83543
|
if (sourceIdentityValue.fingerprint !== expectedIdentity.fingerprint) throw new Error(`legacy source changed after import; failing closed: ${source.path}`);
|
|
83544
83544
|
const destInodeVerified = async (destPath) => {
|
|
83545
|
-
const [sourceStat, destStat] = await Promise.all([
|
|
83545
|
+
const [sourceStat, destStat] = await Promise.all([fsp.stat(source.path), fsp.stat(destPath).catch(() => void 0)]);
|
|
83546
83546
|
return destStat !== void 0 && destStat.dev === sourceStat.dev && destStat.ino === sourceStat.ino;
|
|
83547
83547
|
};
|
|
83548
83548
|
const moveInto = async (destPath) => {
|
|
83549
83549
|
let moved = false;
|
|
83550
83550
|
let independentArchive = false;
|
|
83551
83551
|
try {
|
|
83552
|
-
await
|
|
83552
|
+
await fsp.link(source.path, destPath);
|
|
83553
83553
|
moved = true;
|
|
83554
83554
|
} catch (error) {
|
|
83555
83555
|
const code = error.code;
|
|
@@ -83557,7 +83557,7 @@ async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
|
83557
83557
|
const existing = await identityOf(destPath);
|
|
83558
83558
|
if (existing && existing.fingerprint === expectedIdentity.fingerprint) {
|
|
83559
83559
|
moved = true;
|
|
83560
|
-
const [sourceStat, destStat] = await Promise.all([
|
|
83560
|
+
const [sourceStat, destStat] = await Promise.all([fsp.stat(source.path), fsp.stat(destPath)]);
|
|
83561
83561
|
independentArchive = sourceStat.dev !== destStat.dev || sourceStat.ino !== destStat.ino;
|
|
83562
83562
|
} else return {
|
|
83563
83563
|
moved: false,
|
|
@@ -83578,13 +83578,13 @@ async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
|
83578
83578
|
};
|
|
83579
83579
|
const outcome = await moveInto(dest);
|
|
83580
83580
|
if (outcome.divergent) throw new Error(`legacy archive destination exists with different content: ${dest}`);
|
|
83581
|
-
await
|
|
83581
|
+
await fsp.chmod(dest, 384);
|
|
83582
83582
|
if (!await destInodeVerified(dest)) {
|
|
83583
83583
|
const archived = await identityOf(dest);
|
|
83584
83584
|
if (!archived || archived.fingerprint !== expectedIdentity.fingerprint) throw new Error(`legacy archive verification failed: ${dest}`);
|
|
83585
83585
|
}
|
|
83586
83586
|
if (outcome.moved) if (outcome.independentArchive) await unlinkSourceIfUnchanged(source.path, expectedIdentity);
|
|
83587
|
-
else await
|
|
83587
|
+
else await fsp.unlink(source.path);
|
|
83588
83588
|
return dest;
|
|
83589
83589
|
}
|
|
83590
83590
|
/**
|
|
@@ -83598,12 +83598,12 @@ async function unlinkSourceIfUnchanged(sourcePath, expected) {
|
|
|
83598
83598
|
const current = await sourceIdentity(sourcePath);
|
|
83599
83599
|
if (!current) return;
|
|
83600
83600
|
if (current.fingerprint !== expected.fingerprint) throw new Error(`legacy source changed before removal; failing closed: ${sourcePath}`);
|
|
83601
|
-
await
|
|
83601
|
+
await fsp.unlink(sourcePath);
|
|
83602
83602
|
}
|
|
83603
83603
|
async function chmodDirs(dir, stopAt) {
|
|
83604
83604
|
let current = dir;
|
|
83605
83605
|
while (current.startsWith(stopAt) && current !== stopAt) {
|
|
83606
|
-
await
|
|
83606
|
+
await fsp.chmod(current, 448).catch(() => void 0);
|
|
83607
83607
|
const parent = path.dirname(current);
|
|
83608
83608
|
if (parent === current) return;
|
|
83609
83609
|
current = parent;
|
|
@@ -83632,11 +83632,11 @@ async function purgeExpiredLegacyArchives(runtime, opts) {
|
|
|
83632
83632
|
log$35.warn("skipping legacy archive outside the archive root", { sourcePath: receipt.sourcePath });
|
|
83633
83633
|
continue;
|
|
83634
83634
|
}
|
|
83635
|
-
if (!await
|
|
83635
|
+
if (!await fsp.stat(archivePath).then(() => true).catch((error) => {
|
|
83636
83636
|
if (error.code === "ENOENT") return false;
|
|
83637
83637
|
throw error;
|
|
83638
83638
|
})) continue;
|
|
83639
|
-
await
|
|
83639
|
+
await fsp.rm(archivePath, { force: true });
|
|
83640
83640
|
purged += 1;
|
|
83641
83641
|
await pruneEmptyArchiveDirs(path.dirname(archivePath), archiveRoot);
|
|
83642
83642
|
}
|
|
@@ -83647,12 +83647,12 @@ async function pruneEmptyArchiveDirs(dir, stopAt) {
|
|
|
83647
83647
|
while (current.startsWith(stopAt + path.sep)) {
|
|
83648
83648
|
let entries;
|
|
83649
83649
|
try {
|
|
83650
|
-
entries = await
|
|
83650
|
+
entries = await fsp.readdir(current);
|
|
83651
83651
|
} catch {
|
|
83652
83652
|
return;
|
|
83653
83653
|
}
|
|
83654
83654
|
if (entries.length > 0) return;
|
|
83655
|
-
await
|
|
83655
|
+
await fsp.rmdir(current).catch(() => void 0);
|
|
83656
83656
|
current = path.dirname(current);
|
|
83657
83657
|
}
|
|
83658
83658
|
}
|
|
@@ -84228,7 +84228,7 @@ async function admitDurableKeyMappings(registry, listKeys, opts) {
|
|
|
84228
84228
|
await opts?.clearMappingSourcePath?.(mapping.agentId, mapping.sessionId).catch(() => void 0);
|
|
84229
84229
|
continue;
|
|
84230
84230
|
}
|
|
84231
|
-
const stats = await
|
|
84231
|
+
const stats = await fsp.stat(mapping.sourcePath).catch(() => void 0);
|
|
84232
84232
|
if (!stats?.isFile()) continue;
|
|
84233
84233
|
registry.admit({
|
|
84234
84234
|
path: mapping.sourcePath,
|
|
@@ -84428,7 +84428,7 @@ function createLegacySourceRegistry() {
|
|
|
84428
84428
|
if (!isSettledReceipt(receipt, source.sizeBytes)) trackPendingPath(key, source);
|
|
84429
84429
|
return;
|
|
84430
84430
|
}
|
|
84431
|
-
const stats = await
|
|
84431
|
+
const stats = await fsp.stat(key).catch(() => void 0);
|
|
84432
84432
|
if (!stats?.isFile() && receipt.status !== "imported") return;
|
|
84433
84433
|
admit({
|
|
84434
84434
|
path: key,
|
|
@@ -84921,7 +84921,7 @@ async function claimExclusivePartial(destPath) {
|
|
|
84921
84921
|
for (let attempt = 0; attempt < 3; attempt += 1) {
|
|
84922
84922
|
const candidate = `${destPath}.${process.pid}.${randomBytes(8).toString("hex")}.partial`;
|
|
84923
84923
|
try {
|
|
84924
|
-
await (await
|
|
84924
|
+
await (await fsp.open(candidate, "wx", 384)).close();
|
|
84925
84925
|
return candidate;
|
|
84926
84926
|
} catch (err) {
|
|
84927
84927
|
if (err.code !== "EEXIST") throw err;
|
|
@@ -84940,7 +84940,7 @@ async function backupSqliteSessionDatabase(params) {
|
|
|
84940
84940
|
const dbPath = path.resolve(params.dbPath);
|
|
84941
84941
|
const destPath = path.resolve(params.destPath);
|
|
84942
84942
|
for (const guarded of protectedLivePaths(dbPath)) if (sameFile$1(destPath, guarded)) throw new Error("backup destination must not be the live database or its owner lock, holder sidecar, or journal files");
|
|
84943
|
-
await
|
|
84943
|
+
await fsp.mkdir(path.dirname(destPath), {
|
|
84944
84944
|
recursive: true,
|
|
84945
84945
|
mode: 448
|
|
84946
84946
|
});
|
|
@@ -84952,14 +84952,14 @@ async function backupSqliteSessionDatabase(params) {
|
|
|
84952
84952
|
gated: sqliteBackupTestHooks.holdWorkerAtGate === true,
|
|
84953
84953
|
writableSource: false
|
|
84954
84954
|
});
|
|
84955
|
-
await
|
|
84955
|
+
await fsp.rename(partialPath, destPath);
|
|
84956
84956
|
} catch (err) {
|
|
84957
|
-
await
|
|
84957
|
+
await fsp.rm(partialPath, { force: true }).catch(() => {});
|
|
84958
84958
|
throw err;
|
|
84959
84959
|
}
|
|
84960
84960
|
return {
|
|
84961
84961
|
path: destPath,
|
|
84962
|
-
bytes: (await
|
|
84962
|
+
bytes: (await fsp.stat(destPath)).size
|
|
84963
84963
|
};
|
|
84964
84964
|
}
|
|
84965
84965
|
|
|
@@ -84981,7 +84981,7 @@ const INCARNATION_SELECT_SQL = "SELECT id FROM ctx_legacy_import_incarnation LIM
|
|
|
84981
84981
|
async function readDbIncarnationId(dbPath) {
|
|
84982
84982
|
let db;
|
|
84983
84983
|
try {
|
|
84984
|
-
await
|
|
84984
|
+
await fsp.stat(dbPath);
|
|
84985
84985
|
db = new DatabaseSync(dbPath);
|
|
84986
84986
|
const row = db.prepare(INCARNATION_SELECT_SQL).get();
|
|
84987
84987
|
return typeof row?.id === "string" ? row.id : void 0;
|
|
@@ -85033,7 +85033,7 @@ async function takePreImportLegacySnapshot(params) {
|
|
|
85033
85033
|
const marked = await readSnapshotMarker(backupsDir, canonicalDbPath);
|
|
85034
85034
|
if (marked) return marked;
|
|
85035
85035
|
if ((await params.listReceipts()).length > 0) return;
|
|
85036
|
-
await
|
|
85036
|
+
await fsp.mkdir(backupsDir, {
|
|
85037
85037
|
recursive: true,
|
|
85038
85038
|
mode: 448
|
|
85039
85039
|
});
|
|
@@ -85044,7 +85044,7 @@ async function takePreImportLegacySnapshot(params) {
|
|
|
85044
85044
|
dbPath,
|
|
85045
85045
|
destPath
|
|
85046
85046
|
});
|
|
85047
|
-
if (dbId !== void 0) await
|
|
85047
|
+
if (dbId !== void 0) await fsp.writeFile(path.join(backupsDir, snapshotMarkerFile(canonicalDbPath)), `${JSON.stringify({
|
|
85048
85048
|
path: backup.path,
|
|
85049
85049
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
85050
85050
|
canonicalDbPath,
|
|
@@ -85062,17 +85062,17 @@ async function takePreImportLegacySnapshot(params) {
|
|
|
85062
85062
|
*/
|
|
85063
85063
|
async function cleanupPartialLegacyBackups(stateDir) {
|
|
85064
85064
|
const backupsDir = path.join(stateDir, "backups");
|
|
85065
|
-
const names = await
|
|
85065
|
+
const names = await fsp.readdir(backupsDir).catch(() => []);
|
|
85066
85066
|
for (const name of names) {
|
|
85067
85067
|
if (!name.endsWith(".partial")) continue;
|
|
85068
|
-
await
|
|
85068
|
+
await fsp.rm(path.join(backupsDir, name), { force: true }).catch(() => void 0);
|
|
85069
85069
|
}
|
|
85070
85070
|
}
|
|
85071
85071
|
async function readSnapshotMarker(backupsDir, canonicalDbPath) {
|
|
85072
85072
|
const currentIncarnationId = await readDbIncarnationId(canonicalDbPath);
|
|
85073
85073
|
const keyed = await readMarkerFile(path.join(backupsDir, snapshotMarkerFile(canonicalDbPath)), canonicalDbPath, currentIncarnationId);
|
|
85074
85074
|
if (keyed !== void 0) return keyed;
|
|
85075
|
-
const names = await
|
|
85075
|
+
const names = await fsp.readdir(backupsDir).catch(() => []);
|
|
85076
85076
|
for (const name of names) {
|
|
85077
85077
|
if (!name.startsWith(SNAPSHOT_MARKER_PREFIX) || !name.endsWith(".json")) continue;
|
|
85078
85078
|
const found = await readMarkerFile(path.join(backupsDir, name), canonicalDbPath, currentIncarnationId);
|
|
@@ -85081,7 +85081,7 @@ async function readSnapshotMarker(backupsDir, canonicalDbPath) {
|
|
|
85081
85081
|
return readMarkerFile(path.join(backupsDir, SNAPSHOT_MARKER_FILE), canonicalDbPath, currentIncarnationId);
|
|
85082
85082
|
}
|
|
85083
85083
|
async function readMarkerFile(markerFile, canonicalDbPath, currentIncarnationId) {
|
|
85084
|
-
const raw = await
|
|
85084
|
+
const raw = await fsp.readFile(markerFile, "utf8").catch(() => void 0);
|
|
85085
85085
|
if (!raw) return;
|
|
85086
85086
|
try {
|
|
85087
85087
|
const parsed = JSON.parse(raw);
|
|
@@ -85093,7 +85093,7 @@ async function readMarkerFile(markerFile, canonicalDbPath, currentIncarnationId)
|
|
|
85093
85093
|
if (currentIncarnationId !== void 0 && currentIncarnationId === markerId) return markerPath;
|
|
85094
85094
|
return;
|
|
85095
85095
|
}
|
|
85096
|
-
const [markerStat, dbStat] = await Promise.all([
|
|
85096
|
+
const [markerStat, dbStat] = await Promise.all([fsp.stat(markerDbPath).catch(() => void 0), fsp.stat(canonicalDbPath).catch(() => void 0)]);
|
|
85097
85097
|
if (markerStat !== void 0 && dbStat !== void 0 ? markerStat.dev === dbStat.dev && markerStat.ino === dbStat.ino : markerDbPath === canonicalDbPath) return markerPath;
|
|
85098
85098
|
}
|
|
85099
85099
|
} catch {}
|
|
@@ -85359,7 +85359,7 @@ const log$27 = createSubsystemLogger("config/sessions/legacy-import/index-import
|
|
|
85359
85359
|
async function readLegacyIndexStore(storePath) {
|
|
85360
85360
|
let raw;
|
|
85361
85361
|
try {
|
|
85362
|
-
raw = await
|
|
85362
|
+
raw = await fsp.readFile(storePath, "utf8");
|
|
85363
85363
|
} catch (error) {
|
|
85364
85364
|
throw new Error(`legacy index source unreadable: ${storePath}`, { cause: error });
|
|
85365
85365
|
}
|
|
@@ -85598,7 +85598,7 @@ async function importLegacyIndex(runtime, source, opts = {}) {
|
|
|
85598
85598
|
actorExplicit: entry.actor !== void 0
|
|
85599
85599
|
}), opts.signal);
|
|
85600
85600
|
if (transcriptPath && opts.discoveredTranscripts && path.resolve(transcriptPath) !== path.resolve(source.path)) try {
|
|
85601
|
-
const stats = await
|
|
85601
|
+
const stats = await fsp.stat(transcriptPath);
|
|
85602
85602
|
if (stats.isFile()) opts.discoveredTranscripts.push({
|
|
85603
85603
|
path: transcriptPath,
|
|
85604
85604
|
kind: "transcript",
|
|
@@ -85714,7 +85714,7 @@ async function loadSessionKeyOverrides(stateDir) {
|
|
|
85714
85714
|
const filePath = path.join(stateDir, "recovery", SESSION_KEY_OVERRIDES_FILENAME);
|
|
85715
85715
|
let raw;
|
|
85716
85716
|
try {
|
|
85717
|
-
raw = await
|
|
85717
|
+
raw = await fsp.readFile(filePath, "utf8");
|
|
85718
85718
|
} catch (error) {
|
|
85719
85719
|
if (error.code !== "ENOENT") log$25.warn("session key overrides unreadable; ignoring", { error });
|
|
85720
85720
|
return /* @__PURE__ */ new Map();
|
|
@@ -87251,7 +87251,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
|
|
|
87251
87251
|
}
|
|
87252
87252
|
async function readLockPayload(lockPath) {
|
|
87253
87253
|
try {
|
|
87254
|
-
const raw = await
|
|
87254
|
+
const raw = await fsp.readFile(lockPath, "utf8");
|
|
87255
87255
|
const parsed = JSON.parse(raw);
|
|
87256
87256
|
if (typeof parsed.pid !== "number") return null;
|
|
87257
87257
|
if (typeof parsed.createdAt !== "string") return null;
|
|
@@ -87636,7 +87636,7 @@ async function withMemoryManagerForAgent(params) {
|
|
|
87636
87636
|
}
|
|
87637
87637
|
async function checkReadableFile(pathname) {
|
|
87638
87638
|
try {
|
|
87639
|
-
await
|
|
87639
|
+
await fsp.access(pathname, fs.constants.R_OK);
|
|
87640
87640
|
return { exists: true };
|
|
87641
87641
|
} catch (err) {
|
|
87642
87642
|
const code = err.code;
|
|
@@ -87671,7 +87671,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
|
|
|
87671
87671
|
if (alt.issue) issues.push(alt.issue);
|
|
87672
87672
|
const resolvedExtraPaths = normalizeExtraMemoryPaths(workspaceDir, extraPaths);
|
|
87673
87673
|
for (const extraPath of resolvedExtraPaths) try {
|
|
87674
|
-
if ((await
|
|
87674
|
+
if ((await fsp.lstat(extraPath)).isSymbolicLink()) continue;
|
|
87675
87675
|
const extraCheck = await checkReadableFile(extraPath);
|
|
87676
87676
|
if (extraCheck.issue) issues.push(extraCheck.issue);
|
|
87677
87677
|
} catch (err) {
|
|
@@ -87681,7 +87681,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
|
|
|
87681
87681
|
}
|
|
87682
87682
|
let dirReadable = null;
|
|
87683
87683
|
try {
|
|
87684
|
-
await
|
|
87684
|
+
await fsp.access(memoryDir, fs.constants.R_OK);
|
|
87685
87685
|
dirReadable = true;
|
|
87686
87686
|
} catch (err) {
|
|
87687
87687
|
const code = err.code;
|
|
@@ -87729,7 +87729,7 @@ async function summarizeQmdIndexArtifact(manager) {
|
|
|
87729
87729
|
if (!dbPath) return null;
|
|
87730
87730
|
let stat;
|
|
87731
87731
|
try {
|
|
87732
|
-
stat = await
|
|
87732
|
+
stat = await fsp.stat(dbPath);
|
|
87733
87733
|
} catch (err) {
|
|
87734
87734
|
const code = err.code;
|
|
87735
87735
|
if (code === "ENOENT") throw new Error(`QMD index file not found: ${shortenHomePath(dbPath)}`, { cause: err });
|
|
@@ -88246,7 +88246,7 @@ function createPluginRuntime(options = {}) {
|
|
|
88246
88246
|
workStates: readTaskWorkStates
|
|
88247
88247
|
},
|
|
88248
88248
|
resolveLearningWorkspaceDir: (agentId) => resolveLearningWorkspaceDir(loadConfig(), agentId),
|
|
88249
|
-
sessions: { startUserRun: async (params) => (await import("./user-run-recording-
|
|
88249
|
+
sessions: { startUserRun: async (params) => (await import("./user-run-recording-DYSEO3CI.js").then((n) => n.n)).startUserSessionRun(params) }
|
|
88250
88250
|
};
|
|
88251
88251
|
Object.defineProperty(runtime, "analysis", {
|
|
88252
88252
|
enumerable: true,
|
|
@@ -89163,7 +89163,7 @@ function resolvePluginWebSearchProviders(params) {
|
|
|
89163
89163
|
//#endregion
|
|
89164
89164
|
//#region src/agents/apply-patch-update.ts
|
|
89165
89165
|
async function defaultReadFile(filePath) {
|
|
89166
|
-
return
|
|
89166
|
+
return fsp.readFile(filePath, "utf8");
|
|
89167
89167
|
}
|
|
89168
89168
|
async function applyUpdateHunk(filePath, chunks, options) {
|
|
89169
89169
|
const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
|
|
@@ -89484,7 +89484,7 @@ function resolvePatchFileOps(options) {
|
|
|
89484
89484
|
const workspaceOnly = options.workspaceOnly !== false;
|
|
89485
89485
|
return {
|
|
89486
89486
|
readFile: async (filePath) => {
|
|
89487
|
-
if (!workspaceOnly) return await
|
|
89487
|
+
if (!workspaceOnly) return await fsp.readFile(filePath, "utf8");
|
|
89488
89488
|
const opened = await openBoundaryFile({
|
|
89489
89489
|
absolutePath: filePath,
|
|
89490
89490
|
rootPath: options.cwd,
|
|
@@ -89499,7 +89499,7 @@ function resolvePatchFileOps(options) {
|
|
|
89499
89499
|
},
|
|
89500
89500
|
writeFile: async (filePath, content) => {
|
|
89501
89501
|
if (!workspaceOnly) {
|
|
89502
|
-
await
|
|
89502
|
+
await fsp.writeFile(filePath, content, "utf8");
|
|
89503
89503
|
return;
|
|
89504
89504
|
}
|
|
89505
89505
|
const relative = toRelativeSandboxPath(options.cwd, filePath);
|
|
@@ -89510,8 +89510,8 @@ function resolvePatchFileOps(options) {
|
|
|
89510
89510
|
encoding: "utf8"
|
|
89511
89511
|
});
|
|
89512
89512
|
},
|
|
89513
|
-
remove: (filePath) =>
|
|
89514
|
-
mkdirp: (dir) =>
|
|
89513
|
+
remove: (filePath) => fsp.rm(filePath),
|
|
89514
|
+
mkdirp: (dir) => fsp.mkdir(dir, { recursive: true }).then(() => {})
|
|
89515
89515
|
};
|
|
89516
89516
|
}
|
|
89517
89517
|
async function ensureDir(filePath, ops) {
|
|
@@ -89790,7 +89790,7 @@ async function recordLoopOutcome(args) {
|
|
|
89790
89790
|
if (!args.ctx?.sessionKey) return;
|
|
89791
89791
|
try {
|
|
89792
89792
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-DuIsmy5s.js").then((n) => n.n);
|
|
89793
|
-
const { recordToolCallOutcome } = await import("./tool-loop-detection-
|
|
89793
|
+
const { recordToolCallOutcome } = await import("./tool-loop-detection-B2ogHpfl.js");
|
|
89794
89794
|
recordToolCallOutcome(getDiagnosticSessionState({
|
|
89795
89795
|
sessionKey: args.ctx.sessionKey,
|
|
89796
89796
|
sessionId: args.ctx?.agentId
|
|
@@ -89817,8 +89817,8 @@ async function runBeforeToolCallHook(args) {
|
|
|
89817
89817
|
const params = args.params;
|
|
89818
89818
|
if (args.ctx?.sessionKey) {
|
|
89819
89819
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-DuIsmy5s.js").then((n) => n.n);
|
|
89820
|
-
const { logToolLoopAction } = await import("./diagnostic-
|
|
89821
|
-
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-
|
|
89820
|
+
const { logToolLoopAction } = await import("./diagnostic-VK1bXt80.js").then((n) => n.n);
|
|
89821
|
+
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-B2ogHpfl.js");
|
|
89822
89822
|
const sessionState = getDiagnosticSessionState({
|
|
89823
89823
|
sessionKey: args.ctx.sessionKey,
|
|
89824
89824
|
sessionId: args.ctx?.agentId
|
|
@@ -90497,14 +90497,14 @@ function createSandboxEditOperations(params) {
|
|
|
90497
90497
|
}
|
|
90498
90498
|
async function writeHostFile(absolutePath, content) {
|
|
90499
90499
|
const resolved = path.resolve(absolutePath);
|
|
90500
|
-
await
|
|
90501
|
-
await
|
|
90500
|
+
await fsp.mkdir(path.dirname(resolved), { recursive: true });
|
|
90501
|
+
await fsp.writeFile(resolved, content, "utf-8");
|
|
90502
90502
|
}
|
|
90503
90503
|
function createHostWriteOperations(root, options) {
|
|
90504
90504
|
if (!(options?.workspaceOnly ?? false)) return {
|
|
90505
90505
|
mkdir: async (dir) => {
|
|
90506
90506
|
const resolved = path.resolve(dir);
|
|
90507
|
-
await
|
|
90507
|
+
await fsp.mkdir(resolved, { recursive: true });
|
|
90508
90508
|
},
|
|
90509
90509
|
writeFile: writeHostFile
|
|
90510
90510
|
};
|
|
@@ -90517,7 +90517,7 @@ function createHostWriteOperations(root, options) {
|
|
|
90517
90517
|
cwd: root,
|
|
90518
90518
|
root
|
|
90519
90519
|
});
|
|
90520
|
-
await
|
|
90520
|
+
await fsp.mkdir(resolved, { recursive: true });
|
|
90521
90521
|
},
|
|
90522
90522
|
writeFile: async (absolutePath, content) => {
|
|
90523
90523
|
await writeFileWithinRoot({
|
|
@@ -90533,12 +90533,12 @@ function createHostEditOperations(root, options) {
|
|
|
90533
90533
|
if (!(options?.workspaceOnly ?? false)) return {
|
|
90534
90534
|
readFile: async (absolutePath) => {
|
|
90535
90535
|
const resolved = path.resolve(absolutePath);
|
|
90536
|
-
return await
|
|
90536
|
+
return await fsp.readFile(resolved);
|
|
90537
90537
|
},
|
|
90538
90538
|
writeFile: writeHostFile,
|
|
90539
90539
|
access: async (absolutePath) => {
|
|
90540
90540
|
const resolved = path.resolve(absolutePath);
|
|
90541
|
-
await
|
|
90541
|
+
await fsp.access(resolved);
|
|
90542
90542
|
}
|
|
90543
90543
|
};
|
|
90544
90544
|
return {
|
|
@@ -93355,7 +93355,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
93355
93355
|
} catch (err) {
|
|
93356
93356
|
return fail(describeUnknownError(err));
|
|
93357
93357
|
}
|
|
93358
|
-
await
|
|
93358
|
+
await fsp.mkdir(resolvedWorkspace, { recursive: true });
|
|
93359
93359
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
93360
93360
|
const sandbox = await resolveSandboxContext({
|
|
93361
93361
|
config: params.config,
|
|
@@ -93364,7 +93364,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
93364
93364
|
workspaceLane: params.workspaceLane
|
|
93365
93365
|
});
|
|
93366
93366
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
93367
|
-
await
|
|
93367
|
+
await fsp.mkdir(effectiveWorkspace, { recursive: true });
|
|
93368
93368
|
let restoreSkillEnv;
|
|
93369
93369
|
const releaseWorkspaceCwd = acquireWorkspaceCwd(effectiveWorkspace);
|
|
93370
93370
|
try {
|
|
@@ -100833,7 +100833,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
100833
100833
|
let embeddedAttemptBegun = false;
|
|
100834
100834
|
const runAbortController = new AbortController();
|
|
100835
100835
|
log$53.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"}`);
|
|
100836
|
-
await
|
|
100836
|
+
await fsp.mkdir(resolvedWorkspace, { recursive: true });
|
|
100837
100837
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
100838
100838
|
const toolSessionKey = params.toolSessionKey?.trim() || sandboxSessionKey;
|
|
100839
100839
|
const sandbox = params.skipSandbox ? null : await resolveSandboxContext({
|
|
@@ -100843,7 +100843,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
100843
100843
|
workspaceLane: params.workspaceLane
|
|
100844
100844
|
});
|
|
100845
100845
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
100846
|
-
await
|
|
100846
|
+
await fsp.mkdir(effectiveWorkspace, { recursive: true });
|
|
100847
100847
|
let restoreSkillEnv;
|
|
100848
100848
|
const releaseWorkspaceCwd = params.skipCwdChange ? void 0 : acquireWorkspaceCwd(effectiveWorkspace);
|
|
100849
100849
|
const rawToolResultStash = openRawToolResultStash(params.sessionId);
|
|
@@ -101958,7 +101958,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
101958
101958
|
const copilotAuthRetry = authRetryPending;
|
|
101959
101959
|
authRetryPending = false;
|
|
101960
101960
|
attemptedThinking.add(thinkLevel);
|
|
101961
|
-
await
|
|
101961
|
+
await fsp.mkdir(resolvedWorkspace, { recursive: true });
|
|
101962
101962
|
const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
|
|
101963
101963
|
const attempt = await runEmbeddedAttempt({
|
|
101964
101964
|
sessionId: params.sessionId,
|
|
@@ -102701,7 +102701,7 @@ async function resolveHeartbeatPreflight(params) {
|
|
|
102701
102701
|
const workspaceDir = resolveAgentWorkspaceDir(params.cfg, params.agentId);
|
|
102702
102702
|
const heartbeatFilePath = path.join(workspaceDir, DEFAULT_HEARTBEAT_FILENAME);
|
|
102703
102703
|
try {
|
|
102704
|
-
if (isHeartbeatContentEffectivelyEmpty(await
|
|
102704
|
+
if (isHeartbeatContentEffectivelyEmpty(await fsp.readFile(heartbeatFilePath, "utf-8"))) return {
|
|
102705
102705
|
...basePreflight,
|
|
102706
102706
|
skipReason: "empty-heartbeat-file"
|
|
102707
102707
|
};
|
|
@@ -102977,7 +102977,7 @@ async function runModelGate(spec, ctx) {
|
|
|
102977
102977
|
const isolatedSessionId = randomNonce;
|
|
102978
102978
|
const isolatedRunId = randomNonce;
|
|
102979
102979
|
const tmpBaseDir = resolvePreferredOpenClawTmpDir();
|
|
102980
|
-
tmpDir = await
|
|
102980
|
+
tmpDir = await fsp.mkdtemp(path.join(tmpBaseDir, "wake-gate-"));
|
|
102981
102981
|
const workspaceDir = tmpDir;
|
|
102982
102982
|
const prompt = spec.prompt ?? DEFAULT_MODEL_PROMPT;
|
|
102983
102983
|
const timeoutMs = spec.timeoutMs ?? DEFAULT_MODEL_TIMEOUT_MS;
|
|
@@ -103035,7 +103035,7 @@ async function runModelGate(spec, ctx) {
|
|
|
103035
103035
|
log$6.warn("model gate error", { error: err instanceof Error ? err.message : String(err) });
|
|
103036
103036
|
return { wake: false };
|
|
103037
103037
|
} finally {
|
|
103038
|
-
if (tmpDir) await
|
|
103038
|
+
if (tmpDir) await fsp.rm(tmpDir, {
|
|
103039
103039
|
recursive: true,
|
|
103040
103040
|
force: true
|
|
103041
103041
|
}).catch(() => void 0);
|