wednesdayai 0.5.1-dev.44 → 0.5.1-dev.48
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-DULvzWts.js → agent-scope-XhXeu6xb.js} +18 -18
- package/dist/{agent-scope-CcfVK6UD.js → agent-scope-ZEYA-60U.js} +1 -1
- package/dist/{agent-turn-execute-D748vb-X.js → agent-turn-execute-C1y3kP_5.js} +81 -81
- package/dist/{agent-turn-execute-BKklRf4d.js → agent-turn-execute-C5ZDAVVQ.js} +168 -168
- package/dist/{agent-turn-runner-C7-mljbB.js → agent-turn-runner-D37xtlm6.js} +3 -3
- package/dist/{agent-turn-runner-Bwwm8Ptv.js → agent-turn-runner-DB93UP1b.js} +6 -6
- package/dist/{agent-turn-runner-DAC1vCsq.js → agent-turn-runner-IwG5iqHK.js} +6 -6
- package/dist/{api-key-rotation-7TopVjgj.js → api-key-rotation-BlMQXNFs.js} +2 -2
- package/dist/{api-key-rotation-DKsa-hU0.js → api-key-rotation-BwBPY9De.js} +1 -1
- package/dist/{api-key-rotation-BIY1IIqH.js → api-key-rotation-Cp30sEHb.js} +2 -2
- package/dist/{audio-preflight-DpH4ergs.js → audio-preflight-ARaM1d7_.js} +22 -22
- package/dist/{audio-preflight-D29ZWbr9.js → audio-preflight-B4mXS_qz.js} +24 -24
- package/dist/{audio-preflight-C2VkX_iV.js → audio-preflight-Ckc8iNFE.js} +14 -14
- package/dist/{audio-transcription-runner-BVFt-QWW.js → audio-transcription-runner-B65tBuzm.js} +8 -8
- package/dist/{audio-transcription-runner-B7oqNjtj.js → audio-transcription-runner-BsZZfTYv.js} +25 -25
- package/dist/{audio-transcription-runner-3NLGLd-v.js → audio-transcription-runner-_IywwZdc.js} +11 -11
- package/dist/{auth-BJQIeDr2.js → auth-BSkwykDB.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +40 -40
- package/dist/bundled/session-journal/handler.js +40 -40
- package/dist/bundled/session-memory/handler.js +40 -40
- package/dist/{call-vUArkeDj.js → call-BfsHUEL9.js} +6 -6
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{chat-content-B8sw5RV2.js → chat-content-C8SBxzVB.js} +24 -24
- package/dist/{chat-content-BoGoXWb0.js → chat-content-CssgdJTS.js} +15 -15
- package/dist/{chat-content-_y_6NRek.js → chat-content-DAFI7DwH.js} +9 -9
- package/dist/{chrome-BN8wz1Ia.js → chrome-BGcyqaN9.js} +6 -6
- package/dist/{chrome-EA2x-v7M.js → chrome-D1_Km2Py.js} +15 -15
- package/dist/{plugin-sdk/chrome-DL2eNcB9.js → chrome-DSOGaSkI.js} +8 -8
- package/dist/{chunk-Co2BBq6m.js → chunk-Bl3bFkc1.js} +3 -3
- package/dist/{chunk-D0gjlEAC.js → chunk-D8Ei1sgE.js} +3 -3
- package/dist/{chunk-CS6BGepz.js → chunk-Mk3BzTo4.js} +1 -1
- package/dist/{command-queue-BsREX8I6.js → command-queue-CYHqLAaZ.js} +1 -1
- package/dist/{command-queue-DPL0uYBf.js → command-queue-cMQsA9-X.js} +1 -1
- package/dist/{commands-registry-CnvFRavS.js → commands-registry-BiL5Vu_j.js} +1 -1
- package/dist/{commands-registry-Bpbkdz9y.js → commands-registry-CeEIPUd4.js} +2 -2
- package/dist/{commands-registry-BOqP8POi.js → commands-registry-md12jvN2.js} +2 -2
- package/dist/{config-D7E345XX.js → config-C8St6mAq.js} +26 -26
- package/dist/config.js +3 -3
- package/dist/{credentials-CNT2aFON.js → credentials-BbfhXEsJ.js} +1 -1
- package/dist/{credentials-ChM0kvEr.js → credentials-Du4NIj4y.js} +1 -1
- package/dist/{credentials-C5_Kcyy4.js → credentials-rHg5DomK.js} +1 -1
- package/dist/daemon-cli.js +12 -12
- package/dist/{deliver-DwhRsvIU.js → deliver-C2FYVz2h.js} +11 -11
- package/dist/{deliver-Dko24cC6.js → deliver-D8bfwcET.js} +14 -14
- package/dist/{deliver-DZqeAImU.js → deliver-aIctLOEP.js} +14 -14
- package/dist/{diagnostic-BNSZzhBp.js → diagnostic-CHel1NLR.js} +3 -3
- package/dist/{diagnostic-D4aQ4rt0.js → diagnostic-O1TZk8ZJ.js} +3 -3
- package/dist/{errors-DnOtx_vg.js → errors-0RH1PUyI.js} +1 -1
- package/dist/{errors-CN5_QuWi.js → errors-D8k7j4A4.js} +1 -1
- package/dist/{fetch-D7UiV_9w.js → fetch-B5m0TTRD.js} +7 -7
- package/dist/{fetch-Bd3gVJGS.js → fetch-B6JVlGQz.js} +7 -7
- package/dist/{fetch-BaRM29vD.js → fetch-BHAXnEtr.js} +1 -1
- package/dist/{fetch-DN73GB88.js → fetch-BjRFaOH-.js} +1 -1
- package/dist/{fetch-ABzu5_d4.js → fetch-CSjV0WJZ.js} +1 -1
- package/dist/{fetch-DL6b-Ers.js → fetch-DxfQJ1J0.js} +2 -2
- package/dist/{fetch-guard-CRXpWx9K.js → fetch-guard-BultwSpi.js} +2 -2
- package/dist/{fetch-guard-CWcg0pAh.js → fetch-guard-C8cHPMKd.js} +1 -1
- package/dist/{fetch-guard-DbhtcUTr.js → fetch-guard-pMUIU0GM.js} +2 -2
- package/dist/{fs-safe-Dud5ltCr.js → fs-safe-Bcqf6cqh.js} +3 -3
- package/dist/{fs-safe-blSJPepq.js → fs-safe-qCaN71tM.js} +25 -25
- package/dist/{group-c3Qh65PA.js → group-D1ystD_T.js} +7 -7
- package/dist/{image-ops-Df6VUynz.js → image-ops-BsxkG0xi.js} +11 -11
- package/dist/{image-ops-BYGvGwxN.js → image-ops-WTO9fxZR.js} +1 -1
- package/dist/{ir-BsScbUxk.js → ir-Bk7X_LKF.js} +2 -2
- package/dist/{ir-4wPQhvNz.js → ir-DURlc744.js} +8 -8
- package/dist/{ir-DU47VU35.js → ir-Xj0lako6.js} +5 -5
- package/dist/{json-files-DNv3G6Vg.js → json-files-C3L53Qrl.js} +7 -7
- package/dist/llm-slug-generator.js +40 -40
- package/dist/{manager-DoZ5_BeO.js → manager-BgcW7tpv.js} +14 -14
- package/dist/{manager-B_j6KDo2.js → manager-DBM4-TfE.js} +7 -7
- package/dist/{manager-CVHOsYvw.js → manager-LsGIUhxa.js} +4 -4
- package/dist/{markdown-tables-CRv466QZ.js → markdown-tables-BD3LxqeL.js} +2 -2
- package/dist/{markdown-tables-Dc909okk.js → markdown-tables-BxOFKkhW.js} +2 -2
- package/dist/{markdown-tables-BGgtMbbO.js → markdown-tables-DzCbga76.js} +1 -1
- package/dist/{model-selection-D8yGm_Ti.js → model-selection-C2tyJWrx.js} +1 -1
- package/dist/{models-config-BeE1WLnh.js → models-config-BwzDnc-Q.js} +7 -7
- package/dist/{models-config-BuKVDvIh.js → models-config-C6XX7gtS.js} +1 -1
- package/dist/{models-config-dpGU0cJa.js → models-config-m8SCbEAc.js} +2 -2
- package/dist/{net-0_F4C9BZ.js → net-Dy6CRuy7.js} +1 -1
- package/dist/{nudge-DZadiso_.js → nudge-BmokWas4.js} +7 -7
- package/dist/{nudge-BqkP8YTx.js → nudge-CnaEXWAF.js} +16 -16
- package/dist/{nudge-bi3nIppc.js → nudge-DtecrQw2.js} +10 -10
- package/dist/{outbound-attachment-C5ekhZcx.js → outbound-attachment-BS7qjOL4.js} +2 -2
- package/dist/{outbound-attachment-BnUYvMev.js → outbound-attachment-DsxhMGOu.js} +2 -2
- package/dist/{outbound-attachment-9QVYM11r.js → outbound-attachment-IZjJVZqu.js} +1 -1
- package/dist/{outbound-message-hooks-CbDkJuWL.js → outbound-message-hooks-Bme6KjMG.js} +2 -2
- package/dist/{outbound-message-hooks-DkLpJOdR.js → outbound-message-hooks-Cmbc19Oi.js} +4 -4
- package/dist/{outbound-message-hooks-D0h7Pa-R.js → outbound-message-hooks-G0rUejkg.js} +4 -4
- package/dist/{path-alias-guards-B9AcbQl6.js → path-alias-guards-CGcezGX3.js} +3 -3
- package/dist/{path-alias-guards-DDpV2Sxj.js → path-alias-guards-DC13Y2Rm.js} +1 -1
- package/dist/{pi-embedded-CvGEKHow.js → pi-embedded-BJ49IY-x.js} +64 -64
- package/dist/{pi-embedded-utils-tIZRG85-.js → pi-embedded-utils-B-YXzLOX.js} +3 -3
- package/dist/{pi-embedded-utils-BXjWA82e.js → pi-embedded-utils-CYtnFZHj.js} +3 -3
- package/dist/{pi-embedded-utils-BEQIdrgX.js → pi-embedded-utils-DsC7KqbM.js} +1 -1
- package/dist/{pi-model-discovery-B8gN8a3d.js → pi-model-discovery-5nUBc878.js} +1 -1
- package/dist/{pi-model-discovery-BxM5uNK4.js → pi-model-discovery-CIRCjjeW.js} +1 -1
- package/dist/{pi-model-discovery-FspRgCaT.js → pi-model-discovery-CLxFRX8Q.js} +1 -1
- package/dist/plugin-sdk/agent-turn-execute-rxqy1IJ0.js +61 -0
- package/dist/plugin-sdk/{agent-turn-runner-BgYryOLd.js → agent-turn-runner-D6v10W4M.js} +6 -6
- package/dist/plugin-sdk/{api-key-rotation-BKFqVhLv.js → api-key-rotation-BFEqLexA.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-CYWCkE99.js → audio-preflight-C0ub7Fjl.js} +14 -14
- package/dist/plugin-sdk/{audio-transcription-runner-CdFuLf8N.js → audio-transcription-runner-CjGXglxV.js} +8 -8
- package/dist/plugin-sdk/{auth-profiles-9_o8AApc.js → auth-profiles-B-4RVXfZ.js} +1 -1
- package/dist/plugin-sdk/{chat-content-CwXjjIMY.js → chat-content-BNX7Pzy0.js} +9 -9
- package/dist/{chrome-C-EhmyOo.js → plugin-sdk/chrome-Cg0gQBOQ.js} +8 -8
- package/dist/plugin-sdk/{chunk-D5OO0PA5.js → chunk-BnICCl2r.js} +2 -2
- package/dist/plugin-sdk/{command-queue-CjaBVFfL.js → command-queue-CDOrtY8K.js} +2 -2
- package/dist/plugin-sdk/{commands-registry-DeutyKFc.js → commands-registry-DCE_R4y0.js} +2 -2
- package/dist/plugin-sdk/{credentials-B7CJlMpK.js → credentials-CuwcSHGC.js} +1 -1
- package/dist/plugin-sdk/{deliver-DIpYSIPc.js → deliver-Ch9aZhwU.js} +11 -11
- package/dist/plugin-sdk/deliver-D9msQObz.js +34 -0
- package/dist/plugin-sdk/{diagnostic-CHfH2DLZ.js → diagnostic-DoL_a5Ag.js} +2 -2
- package/dist/plugin-sdk/{diagnostic-session-state-BB7PPwvz.js → diagnostic-session-state-xa_X3i6x.js} +1 -1
- package/dist/plugin-sdk/{fetch-BY5NV-xE.js → fetch-DwumgIiv.js} +1 -1
- package/dist/plugin-sdk/{fetch-BeWeSiGq.js → fetch-bCLlcizq.js} +2 -2
- package/dist/plugin-sdk/{fetch-guard-DzrMY5xA.js → fetch-guard-B89VGo5J.js} +1 -1
- package/dist/plugin-sdk/{inbound-context-W8c7TVhP.js → inbound-context-BpGAzUP-.js} +1 -1
- package/dist/plugin-sdk/{ir-BBs2mkTs.js → ir-DUBVCsOu.js} +2 -2
- package/dist/plugin-sdk/manager-D53hBP42.js +14 -0
- package/dist/plugin-sdk/{manager-Cf6lxna-.js → manager-D5SJyg1z.js} +4 -4
- package/dist/plugin-sdk/{markdown-tables-B3bAe979.js → markdown-tables-B9z3RUEA.js} +2 -2
- package/dist/plugin-sdk/{models-config-CwkY2p9D.js → models-config-DmXIbizG.js} +1 -1
- package/dist/plugin-sdk/{monitor-BklUJEzI.js → monitor-CP1gk3Bm.js} +77 -77
- package/dist/plugin-sdk/{nudge-DoDBSfD0.js → nudge-CHKavKrI.js} +11 -11
- package/dist/plugin-sdk/{outbound-attachment-CdtUPMuk.js → outbound-attachment-DBKtqTUS.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-utils-xqolwHfy.js → pi-embedded-utils-BhhGeJmU.js} +1 -1
- package/dist/plugin-sdk/{pi-model-discovery-DoXQCzDO.js → pi-model-discovery-DAdG8kKZ.js} +2 -2
- package/dist/plugin-sdk/provider-dispatcher-CfTRbczQ.js +61 -0
- package/dist/plugin-sdk/{proxy-env-B4sQKFcV.js → proxy-env-4W8_E7-5.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-DDEuLQxa.js → pw-ai-BxiGh4_M.js} +4 -4
- package/dist/plugin-sdk/{qmd-manager-DJ56bAZL.js → qmd-manager-C0ftlkJ0.js} +2 -2
- package/dist/plugin-sdk/{query-expansion-BuDv-utU.js → query-expansion-_or1gqjm.js} +1 -1
- package/dist/plugin-sdk/{recorder-uiRf0m6K.js → recorder-_7KHCw0F.js} +1 -1
- package/dist/plugin-sdk/{registry-CjtACjoW.js → registry-B2fZdv3f.js} +1 -1
- package/dist/plugin-sdk/{replies-BhlAIoj0.js → replies-3qoFL0Ik.js} +4 -4
- package/dist/plugin-sdk/{replies-oEhTgdcr.js → replies-Bm97_zq-.js} +11 -11
- package/dist/plugin-sdk/{reply-directives-BuoXx89o.js → reply-directives-BxvUWxD5.js} +1 -1
- package/dist/plugin-sdk/{reply-prefix-DPnEN5dY.js → reply-prefix-BL_8TUpo.js} +1 -1
- package/dist/plugin-sdk/{resolve-route-3cSvtBX8.js → resolve-route-B2cnsn76.js} +2 -2
- package/dist/plugin-sdk/{runs-tFyEFKrC.js → runs-1U4vJkOV.js} +7 -7
- package/dist/plugin-sdk/{runs-CNgqvBS5.js → runs-D7V4bk1U.js} +12 -12
- package/dist/plugin-sdk/{send-BKTR2FyD.js → send--lqcW4uz.js} +4 -4
- package/dist/plugin-sdk/send-B9QAaMSh.js +23 -0
- package/dist/plugin-sdk/{send-BiE4BNeo.js → send-BCuBSBMx.js} +8 -8
- package/dist/plugin-sdk/{send-_6hIsJuy.js → send-BTTeLdxm.js} +6 -6
- package/dist/plugin-sdk/{send-NPfoV448.js → send-BdBXInWs.js} +10 -10
- package/dist/plugin-sdk/{send-Ci5wXhUs.js → send-C2H4l79q.js} +5 -5
- package/dist/plugin-sdk/{send-BNPTKRCl.js → send-Da_Bzzfq.js} +6 -6
- package/dist/plugin-sdk/{send-BCPBumfz.js → send-EvSbTa2T.js} +10 -10
- package/dist/plugin-sdk/{session-context-BaQ-vf9x.js → session-context-CLpe5Ba3.js} +2 -2
- package/dist/plugin-sdk/{session-meta-CEtPeCAW.js → session-meta-CDgl3Kkm.js} +2 -2
- package/dist/plugin-sdk/{sessions-Cq3mSm_S.js → sessions-DK6oCQOK.js} +1 -1
- package/dist/plugin-sdk/{skill-commands-CcTESJIj.js → skill-commands-DiGdKkfQ.js} +3 -3
- package/dist/plugin-sdk/{skills-CIGf4PR8.js → skills-Coq6gsYM.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-BH39-wLb.js → subagent-registry-6vhRKS_0.js} +44 -44
- package/dist/plugin-sdk/{tables-DTWhxpIg.js → tables-BwH0lnK4.js} +1 -1
- package/dist/plugin-sdk/testing.js +44 -44
- package/dist/plugin-sdk/{user-run-recording-CiolYtdZ.js → user-run-recording-x05eYKmS.js} +2 -2
- package/dist/plugin-sdk/{ws-JuHkwIMV.js → ws-Y4yq5bFP.js} +1 -1
- package/dist/{ports-Clmws_Hh.js → ports-C3fQHCab.js} +3 -3
- package/dist/{progress-CPxNhc04.js → progress-CGdAe0WN.js} +4 -4
- package/dist/{proxy-env-dRqrG-ln.js → proxy-env-B01lar7S.js} +1 -1
- package/dist/{proxy-env-Cj0Bgsg8.js → proxy-env-CpBOG1SR.js} +1 -1
- package/dist/{proxy-env-CcZo5Rvj.js → proxy-env-KBZp3sxK.js} +1 -1
- package/dist/{pw-ai-D5CyYslZ.js → pw-ai-C_QmGlLz.js} +4 -4
- package/dist/{pw-ai-Dem1TRO_.js → pw-ai-DXRkqyiz.js} +13 -13
- package/dist/{pw-ai-txZGlq1F.js → pw-ai-fMejPoQC.js} +11 -11
- package/dist/{qmd-manager-BxEMIDAD.js → qmd-manager-CzsGwBi2.js} +8 -8
- package/dist/{qmd-manager-CfwCcQAr.js → qmd-manager-DeSEoaIW.js} +23 -23
- package/dist/{qmd-manager-Bsr0upeE.js → qmd-manager-JcDm4TaV.js} +2 -2
- package/dist/{qmd-scope-BdurOZ05.js → qmd-scope-DPmZMzMU.js} +1 -1
- package/dist/{qmd-scope-Bo_hGwTh.js → qmd-scope-Da_43AK-.js} +1 -1
- package/dist/{query-expansion-DI7jGqRX.js → query-expansion-BBqbrwrA.js} +2 -2
- package/dist/{query-expansion-CvnC7tCW.js → query-expansion-DMqvaBet.js} +11 -11
- package/dist/{query-expansion-CY-11Ng4.js → query-expansion-DSK6kOZ1.js} +1 -1
- package/dist/{recorder-Bgh3e0Bb.js → recorder-Bm6iLbpO.js} +2 -2
- package/dist/{recorder-DarAZV54.js → recorder-C9HG73v5.js} +2 -2
- package/dist/{recorder-B4t2pNxf.js → recorder-DiZXBqX_.js} +1 -1
- package/dist/{redact-D--orJnz.js → redact-C8xjZT-F.js} +1 -1
- package/dist/{redact-CUgFzobf.js → redact-CoYHSFJI.js} +1 -1
- package/dist/{replies-4Irpbrrq.js → replies-5d6WEMkn.js} +4 -4
- package/dist/{replies-Dc6GVOqb.js → replies-Bqqi0vbE.js} +5 -5
- package/dist/{replies-CLt6uO_Y.js → replies-DGG3QzgX.js} +5 -5
- package/dist/{reply-directives-BZ9K9aOt.js → reply-directives-BpRcHRoT.js} +2 -2
- package/dist/{reply-directives-CeWgDasK.js → reply-directives-CKYXOssf.js} +1 -1
- package/dist/{reply-directives-MabnZ9XP.js → reply-directives-CiYi8fBw.js} +2 -2
- package/dist/{reply-prefix-CkxIPVPM.js → reply-prefix-98PG1Ki7.js} +1 -1
- package/dist/{reply-prefix-W4rq5-Rh.js → reply-prefix-BEcGW2XG.js} +1 -1
- package/dist/{resolve-route-D8QTP0Ba.js → resolve-route-DNyOPck0.js} +1 -1
- package/dist/{resolve-route-D4KpKWjY.js → resolve-route-D__NSsIF.js} +3 -3
- package/dist/{resolve-route-D2gpKzx7.js → resolve-route-kCeK1PnG.js} +3 -3
- package/dist/{runs-B1ZuRBez.js → runs-C0iRQc_F.js} +8 -8
- package/dist/{runs-IXbWQiaF.js → runs-DbFWkqrM.js} +5 -5
- package/dist/{runs-BA7oqhbL.js → runs-Z4pls7FK.js} +8 -8
- package/dist/{send-B19GFd-Z.js → send--M5kRasW.js} +6 -6
- package/dist/{send-CUSwRN-T.js → send-B-mkV3_w.js} +13 -13
- package/dist/{send-Iyeo_Hcl.js → send-BHcO0Aru.js} +6 -6
- package/dist/{send-CpTYjiqO.js → send-BsfmKipN.js} +6 -6
- package/dist/{send-CKsA3C8Q.js → send-DbtWZ2No.js} +8 -8
- package/dist/{send-DzCL2yP6.js → send-Dd4wRWhq.js} +7 -7
- package/dist/{send-HztE1dsh.js → send-HRB_J7pa.js} +4 -4
- package/dist/{send-tqPugX47.js → send-TRtDN-Da.js} +6 -6
- package/dist/{send-c9iMxTda.js → send-bV48rJeA.js} +8 -8
- package/dist/{send-Bw-KLTGk.js → send-nW_0TzgZ.js} +7 -7
- package/dist/{send-DHpP56-Y.js → send-nXTQsLrv.js} +8 -8
- package/dist/{send-CgNLbhmB.js → send-wcJqiYt_.js} +5 -5
- package/dist/{session-meta--JsYAyya.js → session-meta-D9pWrAgN.js} +1 -1
- package/dist/{session-meta-4unJpfHa.js → session-meta-Dek_4XcX.js} +1 -1
- package/dist/{session-meta-1ufiCO9g.js → session-meta-DlRRpvJp.js} +1 -1
- package/dist/{sessions-Cs4D1U17.js → sessions-Bl0b35sU.js} +4 -4
- package/dist/{sessions-DZTUsPsP.js → sessions-CzUTvoXK.js} +1 -1
- package/dist/{sessions-CzSCMD0M.js → sessions-DgF-TKoR.js} +4 -4
- package/dist/{skill-commands-B_Tcfb-O.js → skill-commands-BQcYbtPM.js} +5 -5
- package/dist/{skill-commands-CaTXs4fT.js → skill-commands-Bc0uYZN4.js} +2 -2
- package/dist/{skill-commands-CF3aUDWn.js → skill-commands-DctQTJw4.js} +4 -4
- package/dist/{skills-BDZw1iZ3.js → skills-BXe5JEVp.js} +6 -6
- package/dist/{skills-BnRaKZVE.js → skills-DSEJ9TJa.js} +4 -4
- package/dist/{skills-CVDxAodZ.js → skills-DsmuWAV9.js} +1 -1
- package/dist/{store-Cj8CEQfL.js → store-D337G2RQ.js} +3 -3
- package/dist/{store-BFVWJvSJ.js → store-TSGh1Q6I.js} +8 -8
- package/dist/{subsystem-BTMrlJ-R.js → subsystem-B9soUuXQ.js} +7 -7
- package/dist/{subsystem-BntNuBAj.js → subsystem-DY5Ww-lX.js} +4 -4
- package/dist/{tables-DkRD4akB.js → tables-B8mkmRMC.js} +1 -1
- package/dist/{tables-Dy6doVa0.js → tables-CR0_AJTg.js} +1 -1
- package/dist/{tables-BX-76dIl.js → tables-DHLC9Fdd.js} +1 -1
- package/dist/{tokens-qfLiLlNv.js → tokens-1cA46jIW.js} +1 -1
- package/dist/{tokens-Bsyd1rxM.js → tokens-KbWGDYPC.js} +1 -1
- package/dist/{tool-loop-detection-CiexABx1.js → tool-loop-detection-B2G2F3vq.js} +1 -1
- package/dist/{tool-loop-detection-CurLYMEW.js → tool-loop-detection-CAaJBVkR.js} +1 -1
- package/dist/{user-run-recording-BTjOSPH8.js → user-run-recording-DZAbAydi.js} +2 -2
- package/dist/{user-run-recording-D8MTR5yF.js → user-run-recording-_gs8p2DT.js} +1 -1
- package/dist/{user-run-recording-B6PqDezg.js → user-run-recording-adYvWzsA.js} +2 -2
- package/dist/{ws-BdQ780jI.js → ws-CHokDDk3.js} +1 -1
- package/dist/{ws-DD3MWZdU.js → ws-DySeXwmc.js} +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 +2 -2
- package/dist/plugin-sdk/agent-turn-execute-CNLde0aj.js +0 -61
- package/dist/plugin-sdk/deliver-B8wKBFHD.js +0 -34
- package/dist/plugin-sdk/manager-B8tH1WcK.js +0 -14
- package/dist/plugin-sdk/provider-dispatcher-rB-g7cTm.js +0 -61
- package/dist/plugin-sdk/send-DFnkY5LR.js +0 -23
|
@@ -1,70 +1,70 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { $ as BUNDLED_ENABLED_BY_DEFAULT, $a as parseBooleanValue$1, $i as buildStreamErrorAssistantMessage, $n as normalizeDiscordToken, $r as getTrustedSafeBinDirs, $t as prepareConfiguredSessionStorageRuntimeActivation, Aa as withFileLock$1, Ai as buildModelAliasIndex, An as getChannelPlugin, At as listPluginCommands, Bi as resolveReasoningDefault, Bn as resolveSlackReplyToMode, Br as discardBufferedPluginTaskPasses, Bt as triggerInternalHook, C as resolveIMessageRemoteAttachmentRoots, Ca as resolveCliName, Ci as mapStreamingModeToSlackLegacyDraftStreamMode, Cn as resolveStorePath, Cr as normalizeAccountId$1, Ct as addRegisteredPluginApi, Da as ensureAuthProfileStore, Di as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Dn as getChannelDock, Dr as readTaskWorkStates, Dt as buildPluginHealthReport, Ea as markAuthProfileGood, Ei as resolveSlackStreamingMode, En as resolveParentSessionGroupId, Er as CtxProjectionCorruptionError, Et as normalizePluginHttpPath, Fa as normalizeSecretInput, Fi as normalizeProviderId, Fn as normalizeAtHashSlug, Fr as stringEnum, Ft as getSpeechProvider, G as isPathWithinRoot, Ga as splitTrailingAuthProfile, Gn as isWhatsAppGroupJid, Gr as getConfigOverrides, Gt as requireSessionStorageRuntime, H as AVATAR_MAX_BYTES, Hi as resolveThinkingDefault, Hn as resolveSlackBotToken, Hr as replaceBufferedPluginTaskPasses, Ht as createConversationReadQuery, Ii as parseModelRef, In as normalizeHyphenSlug, Ir as applyTargetToParams, It as isBuiltinTtsProvider, Ja as DEFAULT_PROVIDER, Ji as retryAsync, Jn as resolveWhatsAppAccount, Jr as unsetConfigOverride, Jt as commitPreparedConfiguredSessionStorageRuntimeActivation, K as isSupportedLocalAvatarExtension, Ka as DEFAULT_CONTEXT_TOKENS, Kn as normalizeWhatsAppTarget, Kr as resetConfigOverrides, Kt as closeConfiguredSessionStorageRuntime, Li as resolveConfiguredModelRef, Ln as normalizeStringEntries, Lr as actionHasTarget, Lt as replaceSpeechProviders, Ma as readProcessElapsedSeconds, Mi as isCliProvider, Mn as normalizeChannelId$1, Mr as channelTargetSchema, Mt as registerPluginCommand, Na as resolveAuthProfileDisplayLabel, Ni as modelKey, Nn as formatAllowlistMatchMeta, Nr as channelTargetsSchema, Nt as BUILTIN_TTS_PROVIDER_IDS, O as resolveExecPolicyPreset, Oa as resolveAuthStorePathForDisplay, Oi as buildAllowedModelSet, On as listChannelDocks, Ot as clearPluginCommands, Pi as normalizeModelRef$2, Pn as resolveAllowlistMatchByCandidates, Pr as optionalStringEnum, Pt as getRegisteredSpeechProviders, Q as docsSiteUrl, Qa as isTruthyEnvValue, Qi as buildAssistantMessageWithZeroUsage, Qn as resolveDiscordAccount, Qr as unsetConfigValueAtPath, Qt as loadSessionStoreFromDisk, Ra as coerceSecretRef, Ri as resolveDefaultModelForAgent, Rn as normalizeStringEntriesLower, Rr as actionRequiresTarget, Rt as normalizeProviderId$1, S as resolveIMessageAttachmentRoots, Sa as formatCliCommand, Si as isSafeExecutableValue, Sr as GATEWAY_CLIENT_NAMES, St as setActivePluginRegistry, T as parseNonNegativeByteSize, Ta as listProfilesForProvider, Ti as resolveSlackNativeStreaming, Tn as resolveGroupSessionKey, Tr as resolveSessionLockMaxHoldFromTimeout, Tt as createPluginRegistry, U as isAvatarDataUrl, Un as listEnabledSignalAccounts, Ur as RecoveryAdmissionError, Ut as getConversationReadQuery, Va as normalizeResolvedSecretInputString, Vi as resolveSubagentSpawnModelSelection, Vn as resolveSlackAppToken, Vr as listBufferedPluginTaskPasses, Vt as StorageReadAccessError, W as isAvatarHttpUrl, Wa as resolveSecretInputRef, Wn as resolveSignalAccount, X as loadPluginManifestRegistry, Xa as getShellPathFromLoginShell, Xi as createOllamaStreamFn, Xn as createDiscordActionGate, Xr as parseConfigPath, Y as validateJsonSchemaValue, Ya as VERSION, Yi as OLLAMA_NATIVE_BASE_URL, Yn as resolveIMessageAccount, Yr as getConfigValueAtPath, Yt as getConfiguredSessionStorageRuntime, Z as DOCS_SITE_URL, Za as resolveShellEnvFallbackTimeoutMs, Zi as buildAssistantMessage, Zn as listEnabledDiscordAccounts, Zr as setConfigValueAtPath, Zt as loadSessionStore, _a as isNonEmptyString, _i as splitShellArgs, _n as SESSION_RUN_STORE_FILE_NAME, _r as normalizeMessageChannel, _t as getActiveGatewayPluginRegistry, a as createConfigIO, aa as resolveEnvApiKey, ai as buildEnforcedShellCommand, an as updateSessionStoreEntry, ar as resolveAccountEntry, at as discoverOpenClawPlugins, b as isInboundPathAllowed, ba as secretRefKey, bi as resolveSafeBinProfiles, bn as resolveSessionFilePathOptions, br as GATEWAY_CLIENT_IDS, c as loadConfig, ca as resolveAuthProfileOrder, ci as DEFAULT_SAFE_BINS, cn as mergeSessionEntry, cr as mergeDeliveryContext, ct as readManifestNamespace, d as readConfigFileSnapshotForWrite, da as markAuthProfileFailure, di as resolveCommandResolutionFromArgv, dn as parseDurationMs, dr as INTERNAL_MESSAGE_CHANNEL, dt as getChatChannelMeta, ea as buildUsageWithNoCost, ei as isTrustedSafeBinPath, en as readSessionUpdatedAt, eo as resolveOwnerDisplaySetting, er as resolveChannelGroupPolicy, et as applyTestPluginDefaults, fa as markAuthProfileUsed, fi as extractShellWrapperInlineCommand, fn as parseSessionIndexRecordKey, fr as isDeliverableMessageChannel, ft as listChatChannels, ga as describeUnknownError$1, gi as unwrapKnownShellMultiplexerInvocation, gn as SAFE_SESSION_ID_RE, gr as listDeliverableMessageChannels, gt as resolveChannelConfigId, ha as resolveSecretRefValues, hi as unwrapKnownDispatchWrapperInvocation, hr as isMarkdownCapableMessageChannel, ht as normalizeChatChannelId, ii as analyzeShellCommand, in as updateSessionStore, it as resolveMemorySlotDecision, ja as isPidAlive, ji as findNormalizedProviderValue, jn as listChannelPlugins, jt as matchPluginCommand, ka as resolveOpenClawAgentDir, ki as buildConfiguredAllowlistKeys, kn as normalizeSignalMessagingTarget, kt as executePluginCommand, la as getSoonestCooldownExpiry, li as matchAllowlist, ln as resolveFreshSessionTotalTokens, lr as normalizeDeliveryContext, m as writeConfigFile, ma as resolveApiKeyForProfile, mi as isShellWrapperExecutable, mr as isInternalMessageChannel, mt as normalizeChannelId$2, n as advanceRuntimeConfigSnapshot, na as getCustomProviderApiKey, ni as normalizeTrustedSafeBinDirs, nn as refreshConfiguredSessionBindingEntry, nr as resolveChannelGroupToolsPolicy, nt as normalizePluginsConfig, o as getRuntimeConfigSnapshot, oa as resolveModelAuthMode, oi as isWindowsPlatform, or as deliveryContextFromSession, ot as isPathInside, pa as resolveProfilesUnavailableReason, pi as isDispatchWrapperExecutable, pr as isGatewayMessageChannel, pt as normalizeAnyChannelId, q as buildChannelAccountBindings, qa as DEFAULT_MODEL, qn as hasAnyWhatsAppAuth, qr as setConfigOverride, qt as closeReplacedConfiguredSessionStorageRuntime, ra as requireApiKey, ri as validateSafeBinArgv, rn as updateLastRoute, rt as resolveEffectiveEnableState, si as splitCommandChain, sn as DEFAULT_RESET_TRIGGERS, sr as deliveryContextKey, st as safeStatSync, ta as getApiKeyForModel, ti as listWritableExplicitTrustedSafeBinDirs, tn as recordSessionMetaFromInbound, tr as resolveChannelGroupRequireMention, tt as isBundledChannelEnabledByChannelConfig, u as readConfigFileSnapshot, ua as isProfileInCooldown, ui as resolveAllowlistCandidatePath, un as setSessionRuntimeModel, ur as normalizeSessionDeliveryFields, ut as CHAT_CHANNEL_ORDER, v as validateConfigObjectWithPlugins, va as isRecord$1, vi as SAFE_BIN_PROFILES, vr as resolveGatewayMessageChannel, vt as getActivePluginRegistry, w as normalizeScpRemoteHost, wa as dedupeProfileIds, wi as resolveDiscordPreviewStreamMode, wn as deriveSessionMetaPatch, wr as acquireSessionWriteLock, wt as clearRegisteredPluginApis, xa as runTasksWithConcurrency, xi as applyMergePatch, xn as resolveSessionTranscriptPath, xr as GATEWAY_CLIENT_MODES, xt as requireActivePluginRegistry, ya as parseDotPath, yi as normalizeSafeBinProfileFixtures, yn as resolveSessionFilePath, yr as resolveMessageChannel, yt as getActivePluginRegistryKey, za as hasConfiguredSecretInput, zi as resolveModelRefFromString, zn as resolveSlackAccount, zt as createInternalHookEvent } from "./config-
|
|
2
|
+
import { $ as BUNDLED_ENABLED_BY_DEFAULT, $a as parseBooleanValue$1, $i as buildStreamErrorAssistantMessage, $n as normalizeDiscordToken, $r as getTrustedSafeBinDirs, $t as prepareConfiguredSessionStorageRuntimeActivation, Aa as withFileLock$1, Ai as buildModelAliasIndex, An as getChannelPlugin, At as listPluginCommands, Bi as resolveReasoningDefault, Bn as resolveSlackReplyToMode, Br as discardBufferedPluginTaskPasses, Bt as triggerInternalHook, C as resolveIMessageRemoteAttachmentRoots, Ca as resolveCliName, Ci as mapStreamingModeToSlackLegacyDraftStreamMode, Cn as resolveStorePath, Cr as normalizeAccountId$1, Ct as addRegisteredPluginApi, Da as ensureAuthProfileStore, Di as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Dn as getChannelDock, Dr as readTaskWorkStates, Dt as buildPluginHealthReport, Ea as markAuthProfileGood, Ei as resolveSlackStreamingMode, En as resolveParentSessionGroupId, Er as CtxProjectionCorruptionError, Et as normalizePluginHttpPath, Fa as normalizeSecretInput, Fi as normalizeProviderId, Fn as normalizeAtHashSlug, Fr as stringEnum, Ft as getSpeechProvider, G as isPathWithinRoot, Ga as splitTrailingAuthProfile, Gn as isWhatsAppGroupJid, Gr as getConfigOverrides, Gt as requireSessionStorageRuntime, H as AVATAR_MAX_BYTES, Hi as resolveThinkingDefault, Hn as resolveSlackBotToken, Hr as replaceBufferedPluginTaskPasses, Ht as createConversationReadQuery, Ii as parseModelRef, In as normalizeHyphenSlug, Ir as applyTargetToParams, It as isBuiltinTtsProvider, Ja as DEFAULT_PROVIDER, Ji as retryAsync, Jn as resolveWhatsAppAccount, Jr as unsetConfigOverride, Jt as commitPreparedConfiguredSessionStorageRuntimeActivation, K as isSupportedLocalAvatarExtension, Ka as DEFAULT_CONTEXT_TOKENS, Kn as normalizeWhatsAppTarget, Kr as resetConfigOverrides, Kt as closeConfiguredSessionStorageRuntime, Li as resolveConfiguredModelRef, Ln as normalizeStringEntries, Lr as actionHasTarget, Lt as replaceSpeechProviders, Ma as readProcessElapsedSeconds, Mi as isCliProvider, Mn as normalizeChannelId$1, Mr as channelTargetSchema, Mt as registerPluginCommand, Na as resolveAuthProfileDisplayLabel, Ni as modelKey, Nn as formatAllowlistMatchMeta, Nr as channelTargetsSchema, Nt as BUILTIN_TTS_PROVIDER_IDS, O as resolveExecPolicyPreset, Oa as resolveAuthStorePathForDisplay, Oi as buildAllowedModelSet, On as listChannelDocks, Ot as clearPluginCommands, Pi as normalizeModelRef$2, Pn as resolveAllowlistMatchByCandidates, Pr as optionalStringEnum, Pt as getRegisteredSpeechProviders, Q as docsSiteUrl, Qa as isTruthyEnvValue, Qi as buildAssistantMessageWithZeroUsage, Qn as resolveDiscordAccount, Qr as unsetConfigValueAtPath, Qt as loadSessionStoreFromDisk, Ra as coerceSecretRef, Ri as resolveDefaultModelForAgent, Rn as normalizeStringEntriesLower, Rr as actionRequiresTarget, Rt as normalizeProviderId$1, S as resolveIMessageAttachmentRoots, Sa as formatCliCommand, Si as isSafeExecutableValue, Sr as GATEWAY_CLIENT_NAMES, St as setActivePluginRegistry, T as parseNonNegativeByteSize, Ta as listProfilesForProvider, Ti as resolveSlackNativeStreaming, Tn as resolveGroupSessionKey, Tr as resolveSessionLockMaxHoldFromTimeout, Tt as createPluginRegistry, U as isAvatarDataUrl, Un as listEnabledSignalAccounts, Ur as RecoveryAdmissionError, Ut as getConversationReadQuery, Va as normalizeResolvedSecretInputString, Vi as resolveSubagentSpawnModelSelection, Vn as resolveSlackAppToken, Vr as listBufferedPluginTaskPasses, Vt as StorageReadAccessError, W as isAvatarHttpUrl, Wa as resolveSecretInputRef, Wn as resolveSignalAccount, X as loadPluginManifestRegistry, Xa as getShellPathFromLoginShell, Xi as createOllamaStreamFn, Xn as createDiscordActionGate, Xr as parseConfigPath, Y as validateJsonSchemaValue, Ya as VERSION, Yi as OLLAMA_NATIVE_BASE_URL, Yn as resolveIMessageAccount, Yr as getConfigValueAtPath, Yt as getConfiguredSessionStorageRuntime, Z as DOCS_SITE_URL, Za as resolveShellEnvFallbackTimeoutMs, Zi as buildAssistantMessage, Zn as listEnabledDiscordAccounts, Zr as setConfigValueAtPath, Zt as loadSessionStore, _a as isNonEmptyString, _i as splitShellArgs, _n as SESSION_RUN_STORE_FILE_NAME, _r as normalizeMessageChannel, _t as getActiveGatewayPluginRegistry, a as createConfigIO, aa as resolveEnvApiKey, ai as buildEnforcedShellCommand, an as updateSessionStoreEntry, ar as resolveAccountEntry, at as discoverOpenClawPlugins, b as isInboundPathAllowed, ba as secretRefKey, bi as resolveSafeBinProfiles, bn as resolveSessionFilePathOptions, br as GATEWAY_CLIENT_IDS, c as loadConfig, ca as resolveAuthProfileOrder, ci as DEFAULT_SAFE_BINS, cn as mergeSessionEntry, cr as mergeDeliveryContext, ct as readManifestNamespace, d as readConfigFileSnapshotForWrite, da as markAuthProfileFailure, di as resolveCommandResolutionFromArgv, dn as parseDurationMs, dr as INTERNAL_MESSAGE_CHANNEL, dt as getChatChannelMeta, ea as buildUsageWithNoCost, ei as isTrustedSafeBinPath, en as readSessionUpdatedAt, eo as resolveOwnerDisplaySetting, er as resolveChannelGroupPolicy, et as applyTestPluginDefaults, fa as markAuthProfileUsed, fi as extractShellWrapperInlineCommand, fn as parseSessionIndexRecordKey, fr as isDeliverableMessageChannel, ft as listChatChannels, ga as describeUnknownError$1, gi as unwrapKnownShellMultiplexerInvocation, gn as SAFE_SESSION_ID_RE, gr as listDeliverableMessageChannels, gt as resolveChannelConfigId, ha as resolveSecretRefValues, hi as unwrapKnownDispatchWrapperInvocation, hr as isMarkdownCapableMessageChannel, ht as normalizeChatChannelId, ii as analyzeShellCommand, in as updateSessionStore, it as resolveMemorySlotDecision, ja as isPidAlive, ji as findNormalizedProviderValue, jn as listChannelPlugins, jt as matchPluginCommand, ka as resolveOpenClawAgentDir, ki as buildConfiguredAllowlistKeys, kn as normalizeSignalMessagingTarget, kt as executePluginCommand, la as getSoonestCooldownExpiry, li as matchAllowlist, ln as resolveFreshSessionTotalTokens, lr as normalizeDeliveryContext, m as writeConfigFile, ma as resolveApiKeyForProfile, mi as isShellWrapperExecutable, mr as isInternalMessageChannel, mt as normalizeChannelId$2, n as advanceRuntimeConfigSnapshot, na as getCustomProviderApiKey, ni as normalizeTrustedSafeBinDirs, nn as refreshConfiguredSessionBindingEntry, nr as resolveChannelGroupToolsPolicy, nt as normalizePluginsConfig, o as getRuntimeConfigSnapshot, oa as resolveModelAuthMode, oi as isWindowsPlatform, or as deliveryContextFromSession, ot as isPathInside, pa as resolveProfilesUnavailableReason, pi as isDispatchWrapperExecutable, pr as isGatewayMessageChannel, pt as normalizeAnyChannelId, q as buildChannelAccountBindings, qa as DEFAULT_MODEL, qn as hasAnyWhatsAppAuth, qr as setConfigOverride, qt as closeReplacedConfiguredSessionStorageRuntime, ra as requireApiKey, ri as validateSafeBinArgv, rn as updateLastRoute, rt as resolveEffectiveEnableState, si as splitCommandChain, sn as DEFAULT_RESET_TRIGGERS, sr as deliveryContextKey, st as safeStatSync, ta as getApiKeyForModel, ti as listWritableExplicitTrustedSafeBinDirs, tn as recordSessionMetaFromInbound, tr as resolveChannelGroupRequireMention, tt as isBundledChannelEnabledByChannelConfig, u as readConfigFileSnapshot, ua as isProfileInCooldown, ui as resolveAllowlistCandidatePath, un as setSessionRuntimeModel, ur as normalizeSessionDeliveryFields, ut as CHAT_CHANNEL_ORDER, v as validateConfigObjectWithPlugins, va as isRecord$1, vi as SAFE_BIN_PROFILES, vr as resolveGatewayMessageChannel, vt as getActivePluginRegistry, w as normalizeScpRemoteHost, wa as dedupeProfileIds, wi as resolveDiscordPreviewStreamMode, wn as deriveSessionMetaPatch, wr as acquireSessionWriteLock, wt as clearRegisteredPluginApis, xa as runTasksWithConcurrency, xi as applyMergePatch, xn as resolveSessionTranscriptPath, xr as GATEWAY_CLIENT_MODES, xt as requireActivePluginRegistry, ya as parseDotPath, yi as normalizeSafeBinProfileFixtures, yn as resolveSessionFilePath, yr as resolveMessageChannel, yt as getActivePluginRegistryKey, za as hasConfiguredSecretInput, zi as resolveModelRefFromString, zn as resolveSlackAccount, zt as createInternalHookEvent } from "./config-C8St6mAq.js";
|
|
3
3
|
import { _ as resolveStateDir, b as resolveRequiredHomeDir, h as resolveOAuthDir, l as resolveGatewayLockDir, o as resolveConfigPath, u as resolveGatewayPort, v as expandHomePrefix } from "./paths-C7aURmuZ.js";
|
|
4
|
-
import { B as appendFileLog, C as shortenHomePath, D as danger, E as truncateUtf16Safe, F as isRich, G as INCLUDE_KEY, H as normalizeLogLevel, I as theme, J as isBlockedObjectKey, L as getChildLogger, M as shouldLogVerbose, N as warn, P as colorize, Q as openBoundaryFileSync, S as shortenHomeInString, T as sliceUtf16Safe, Z as openBoundaryFile, _ as normalizeE164, a as createNonExitingRuntime, b as resolveUserPath, c as registerActiveProgressLine, d as clampInt, g as isRecord$2, h as formatTerminalLink, j as setVerbose, k as logVerbose, l as unregisterActiveProgressLine, lt as isDangerousHostEnvVarName, m as escapeRegExp, mt as resolvePreferredOpenClawTmpDir, o as defaultRuntime, s as clearActiveProgressLine, st as normalizeWindowsPathForComparison, t as createSubsystemLogger, u as CONFIG_DIR, w as sleep$3, x as safeParseJson } from "./subsystem-
|
|
4
|
+
import { B as appendFileLog, C as shortenHomePath, D as danger, E as truncateUtf16Safe, F as isRich, G as INCLUDE_KEY, H as normalizeLogLevel, I as theme, J as isBlockedObjectKey, L as getChildLogger, M as shouldLogVerbose, N as warn, P as colorize, Q as openBoundaryFileSync, S as shortenHomeInString, T as sliceUtf16Safe, Z as openBoundaryFile, _ as normalizeE164, a as createNonExitingRuntime, b as resolveUserPath, c as registerActiveProgressLine, d as clampInt, g as isRecord$2, h as formatTerminalLink, j as setVerbose, k as logVerbose, l as unregisterActiveProgressLine, lt as isDangerousHostEnvVarName, m as escapeRegExp, mt as resolvePreferredOpenClawTmpDir, o as defaultRuntime, s as clearActiveProgressLine, st as normalizeWindowsPathForComparison, t as createSubsystemLogger, u as CONFIG_DIR, w as sleep$3, x as safeParseJson } from "./subsystem-B9soUuXQ.js";
|
|
5
5
|
import { n as resolveProcessScopedMap, t as isPlainObject } from "./plain-object-Doc_YkH1.js";
|
|
6
|
-
import { $ as resolveCanonicalIdentity, A as logError, C as loadWorkspaceBootstrapFiles, D as runExec, E as runCommandWithTimeout, F as resolveAgentModelPrimaryValue, I as toAgentModelListLike, J as isValidAgentId, L as DEFAULT_AGENT_ID, M as logWarn, O as spawnWithFallback, P as resolveAgentModelFallbackValues, Q as resolveAgentIdFromSessionKey, S as filterBootstrapFilesForSession, U as classifySessionKeyShape, V as buildAgentMainSessionKey, X as normalizeMainKey, Y as normalizeAgentId, Z as normalizeToken, _ as DEFAULT_IDENTITY_FILENAME, _t as resolveThreadParentSessionKey, at as DEFAULT_ACCOUNT_ID, c as resolveDefaultAgentId, d as resolveSessionAgentId, dt as getSubagentDepth, et as resolveConfiguredCanonicalIdentity, f as resolveSessionAgentIds, ft as isAcpSessionKey, g as DEFAULT_HEARTBEAT_FILENAME, gt as parseAgentSessionKey, h as DEFAULT_BOOTSTRAP_FILENAME, ht as isSubagentSessionKey, i as resolveAgentDir, it as toAgentStoreSessionKey, j as logInfo, k as logDebug, l as resolveEffectiveModelFallbacks, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, nt as sanitizeAgentId, o as resolveAgentSkillsFilter, ot as normalizeAccountId$2, pt as isCronSessionKey, q as isKnownAgentMainSessionKey, r as resolveAgentConfig, rt as sessionKeyAgentMatches, s as resolveAgentWorkspaceDir, st as normalizeOptionalAccountId, t as hasConfiguredModelFallbacks, tt as resolveThreadSessionKeys, u as resolveRunModelFallbacksOverride, ut as WAKE_GATE_SESSION_KEY_SEGMENT, vt as stripAgentSessionKeyPrefix, w as resolveOpenClawPackageRoot, x as ensureAgentWorkspace, z as DEVICE_SENDER_PREFIX } from "./agent-scope-
|
|
6
|
+
import { $ as resolveCanonicalIdentity, A as logError, C as loadWorkspaceBootstrapFiles, D as runExec, E as runCommandWithTimeout, F as resolveAgentModelPrimaryValue, I as toAgentModelListLike, J as isValidAgentId, L as DEFAULT_AGENT_ID, M as logWarn, O as spawnWithFallback, P as resolveAgentModelFallbackValues, Q as resolveAgentIdFromSessionKey, S as filterBootstrapFilesForSession, U as classifySessionKeyShape, V as buildAgentMainSessionKey, X as normalizeMainKey, Y as normalizeAgentId, Z as normalizeToken, _ as DEFAULT_IDENTITY_FILENAME, _t as resolveThreadParentSessionKey, at as DEFAULT_ACCOUNT_ID, c as resolveDefaultAgentId, d as resolveSessionAgentId, dt as getSubagentDepth, et as resolveConfiguredCanonicalIdentity, f as resolveSessionAgentIds, ft as isAcpSessionKey, g as DEFAULT_HEARTBEAT_FILENAME, gt as parseAgentSessionKey, h as DEFAULT_BOOTSTRAP_FILENAME, ht as isSubagentSessionKey, i as resolveAgentDir, it as toAgentStoreSessionKey, j as logInfo, k as logDebug, l as resolveEffectiveModelFallbacks, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, nt as sanitizeAgentId, o as resolveAgentSkillsFilter, ot as normalizeAccountId$2, pt as isCronSessionKey, q as isKnownAgentMainSessionKey, r as resolveAgentConfig, rt as sessionKeyAgentMatches, s as resolveAgentWorkspaceDir, st as normalizeOptionalAccountId, t as hasConfiguredModelFallbacks, tt as resolveThreadSessionKeys, u as resolveRunModelFallbacksOverride, ut as WAKE_GATE_SESSION_KEY_SEGMENT, vt as stripAgentSessionKeyPrefix, w as resolveOpenClawPackageRoot, x as ensureAgentWorkspace, z as DEVICE_SENDER_PREFIX } from "./agent-scope-XhXeu6xb.js";
|
|
7
7
|
import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken } from "./github-copilot-token-Dk0djIhM.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 buildEqualityProjection, A as eventOrder, At as resolveSessionKey, B as TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE, Bt as isPrimarySessionTranscriptFileName, C as hasHookForPlugin, Ct as parseAbsoluteTimeMs, D as resolveProviderPromptCacheKey, Dt as makeZeroUsageSnapshot, E as buildPluginTurnIdentity, Et as hasNonzeroUsage, F as PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER, Ft as resolveThreadFlag, G as isToolResultMessage, H as estimateContextChars$1, Ht as formatMessageStamp, I as TOOL_RESULT_TEXT_WEIGHT, It as canonicalizeMainSessionAlias, J as createSessionStorageRuntimeFromConfig, K as parseInlineDirectives$1, L as truncateTextHeadTail, Lt as resolveAgentMainSessionKey, M as capToolResultContent, Mt as resolveChannelResetConfig, N as HARD_MAX_TOOL_RESULT_CHARS, Nt as resolveSessionResetPolicy, O as resolveProviderRuntimeIdentity, Ot as normalizeUsage, P as sessionLikelyHasOversizedToolResults, Pt as resolveSessionResetType, R as truncateToolResultToChars, Rt as resolveExplicitAgentSessionKey, S as initializeGlobalHookRunner, St as resolveDefaultCronStaggerMs, T as buildPluginRuntimeIdentity, Tt as deriveSessionTotalTokens, U as estimateMessageCharsCached, Ut as formatZonedTimestamp, V as createMessageCharEstimateCache, Vt as isSessionArchiveArtifactName, W as getToolResultText$1, Wt as resolveTimezone, X as validateCtxStorage, Y as resolveSessionStorageConfig, _t as CREATE_CTX_STORAGE_OWNER_SQL, a as resolveMirroredTranscriptText, at as createCurrentUserPromptEnvelope, b as getGlobalHookRunner, bt as normalizeHttpWebhookUrl, c as drainPendingPrimaryWrites, ct as buildInboundMetaSystemPrompt, d as repairToolUseResultPairing, dt as attachMessageIngress, et as deriveLegacyActorIdentity, f as sanitizeToolCallInputs, ft as getMessageIngress, g as sanitizeToolCallIdsForCloudCodeAssist, gt as resolveSenderLabel, h as canonicalToolCallIdBase, ht as stripMessageCarriers, i as appendAssistantMessageToSessionTranscript, it as sha256, j as pickLeaf, jt as evaluateSessionFreshness, k as DB_SESSION_HYDRATION_LIMIT, l as guardSessionManager, lt as collectInboundUserContext, m as stripToolResultDetails, mt as messageTime, n as parseSessionThreadInfo, nt as extractLegacyTranscriptEntryFields, o as openDbSessionManager, ot as mergePromptContributions, p as sanitizeToolUseResultPairing, pt as isRepresentableEpochMs, q as attachPgPoolErrorListeners, r as resolveAndPersistSessionFile, rt as sanitizeJsonb, s as runSerializedBySession, st as toJsonValue$1, t as extractDeliveryInfo, tt as sanitizeAppendEntry, u as openRawToolResultStash, ut as renderInboundUserContext, v as hasInterSessionUserProvenance, vt as HIDDEN_HEARTBEAT_CUSTOM_TYPE, w as promptBuildResultToContribution, wt as derivePromptTokens, x as getGlobalPluginRegistry, xt as normalizeCronStaggerMs, y as normalizeInputProvenance, yt as inferLegacyName, z as CHARS_PER_TOKEN_ESTIMATE$2, zt as resolveMainSessionKey } 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-Dd4wRWhq.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-B-mkV3_w.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-IwG5iqHK.js";
|
|
12
|
+
import { $ as buildEqualityProjection, A as eventOrder, At as resolveSessionKey, B as TOOL_RESULT_CHARS_PER_TOKEN_ESTIMATE, Bt as isPrimarySessionTranscriptFileName, C as hasHookForPlugin, Ct as parseAbsoluteTimeMs, D as resolveProviderPromptCacheKey, Dt as makeZeroUsageSnapshot, E as buildPluginTurnIdentity, Et as hasNonzeroUsage, F as PREEMPTIVE_TOOL_RESULT_COMPACTION_PLACEHOLDER, Ft as resolveThreadFlag, G as isToolResultMessage, H as estimateContextChars$1, Ht as formatMessageStamp, I as TOOL_RESULT_TEXT_WEIGHT, It as canonicalizeMainSessionAlias, J as createSessionStorageRuntimeFromConfig, K as parseInlineDirectives$1, L as truncateTextHeadTail, Lt as resolveAgentMainSessionKey, M as capToolResultContent, Mt as resolveChannelResetConfig, N as HARD_MAX_TOOL_RESULT_CHARS, Nt as resolveSessionResetPolicy, O as resolveProviderRuntimeIdentity, Ot as normalizeUsage, P as sessionLikelyHasOversizedToolResults, Pt as resolveSessionResetType, R as truncateToolResultToChars, Rt as resolveExplicitAgentSessionKey, S as initializeGlobalHookRunner, St as resolveDefaultCronStaggerMs, T as buildPluginRuntimeIdentity, Tt as deriveSessionTotalTokens, U as estimateMessageCharsCached, Ut as formatZonedTimestamp, V as createMessageCharEstimateCache, Vt as isSessionArchiveArtifactName, W as getToolResultText$1, Wt as resolveTimezone, X as validateCtxStorage, Y as resolveSessionStorageConfig, _t as CREATE_CTX_STORAGE_OWNER_SQL, a as resolveMirroredTranscriptText, at as createCurrentUserPromptEnvelope, b as getGlobalHookRunner, bt as normalizeHttpWebhookUrl, c as drainPendingPrimaryWrites, ct as buildInboundMetaSystemPrompt, d as repairToolUseResultPairing, dt as attachMessageIngress, et as deriveLegacyActorIdentity, f as sanitizeToolCallInputs, ft as getMessageIngress, g as sanitizeToolCallIdsForCloudCodeAssist, gt as resolveSenderLabel, h as canonicalToolCallIdBase, ht as stripMessageCarriers, i as appendAssistantMessageToSessionTranscript, it as sha256, j as pickLeaf, jt as evaluateSessionFreshness, k as DB_SESSION_HYDRATION_LIMIT, l as guardSessionManager, lt as collectInboundUserContext, m as stripToolResultDetails, mt as messageTime, n as parseSessionThreadInfo, nt as extractLegacyTranscriptEntryFields, o as openDbSessionManager, ot as mergePromptContributions, p as sanitizeToolUseResultPairing, pt as isRepresentableEpochMs, q as attachPgPoolErrorListeners, r as resolveAndPersistSessionFile, rt as sanitizeJsonb, s as runSerializedBySession, st as toJsonValue$1, t as extractDeliveryInfo, tt as sanitizeAppendEntry, u as openRawToolResultStash, ut as renderInboundUserContext, v as hasInterSessionUserProvenance, vt as HIDDEN_HEARTBEAT_CUSTOM_TYPE, w as promptBuildResultToContribution, wt as derivePromptTokens, x as getGlobalPluginRegistry, xt as normalizeCronStaggerMs, y as normalizeInputProvenance, yt as inferLegacyName, z as CHARS_PER_TOKEN_ESTIMATE$2, zt as resolveMainSessionKey } from "./sessions-Bl0b35sU.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-CnaEXWAF.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 { $ 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-
|
|
19
|
-
import { B as DEFAULT_AI_SNAPSHOT_MAX_CHARS, C as ensureChromeExtensionRelayServer, M as DEFAULT_UPLOAD_DIR, N as resolveExistingPathsWithinRoot, s as resolveLsofCommandSync } from "./chrome-
|
|
20
|
-
import { r as isLoopbackHost } from "./ws-
|
|
21
|
-
import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-
|
|
22
|
-
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-
|
|
23
|
-
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-
|
|
24
|
-
import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-
|
|
25
|
-
import { i as hasErrnoCode, o as readErrorName, r as formatErrorMessage } from "./errors-
|
|
26
|
-
import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-
|
|
27
|
-
import { a as isBlockedHostnameOrIp, l as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-
|
|
28
|
-
import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-
|
|
29
|
-
import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-
|
|
17
|
+
import { a as getGatewayInstanceId, n as deriveSessionRunId, o as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-C9HG73v5.js";
|
|
18
|
+
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-C8SBxzVB.js";
|
|
19
|
+
import { B as DEFAULT_AI_SNAPSHOT_MAX_CHARS, C as ensureChromeExtensionRelayServer, M as DEFAULT_UPLOAD_DIR, N as resolveExistingPathsWithinRoot, s as resolveLsofCommandSync } from "./chrome-D1_Km2Py.js";
|
|
20
|
+
import { r as isLoopbackHost } from "./ws-DySeXwmc.js";
|
|
21
|
+
import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-rHg5DomK.js";
|
|
22
|
+
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-DSEJ9TJa.js";
|
|
23
|
+
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CGcezGX3.js";
|
|
24
|
+
import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-C8xjZT-F.js";
|
|
25
|
+
import { i as hasErrnoCode, o as readErrorName, r as formatErrorMessage } from "./errors-D8k7j4A4.js";
|
|
26
|
+
import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-qCaN71tM.js";
|
|
27
|
+
import { a as isBlockedHostnameOrIp, l as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-CpBOG1SR.js";
|
|
28
|
+
import { _ as mediaKindFromMime, c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, h as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as normalizeMimeType$1, p as kindFromMime, s as resizeToJpeg, u as getFileExtension } from "./image-ops-BsxkG0xi.js";
|
|
29
|
+
import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-TSGh1Q6I.js";
|
|
30
30
|
import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-D91c_y3Q.js";
|
|
31
31
|
import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-CYWiC9Ek.js";
|
|
32
|
-
import { r as writeJsonAtomic } from "./json-files-
|
|
32
|
+
import { r as writeJsonAtomic } from "./json-files-C3L53Qrl.js";
|
|
33
33
|
import { n as onSessionTranscriptUpdate } from "./transcript-events-DjrvdtGQ.js";
|
|
34
34
|
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-BOHpxvdU.js";
|
|
35
|
-
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-
|
|
36
|
-
import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-
|
|
37
|
-
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-
|
|
35
|
+
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-98PG1Ki7.js";
|
|
36
|
+
import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-KbWGDYPC.js";
|
|
37
|
+
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-O1TZk8ZJ.js";
|
|
38
38
|
import { o as redactChannelCorrelation, r as getDiagnosticSessionState } from "./diagnostic-session-state-B2VnYC0m.js";
|
|
39
|
-
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-
|
|
40
|
-
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-
|
|
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-
|
|
39
|
+
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-cMQsA9-X.js";
|
|
40
|
+
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-5nUBc878.js";
|
|
41
|
+
import { t as ensureOpenClawModelsJson } from "./models-config-BwzDnc-Q.js";
|
|
42
|
+
import { i as resolveLiveIdentityLinks, n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-kCeK1PnG.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-BsZZfTYv.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-B-YXzLOX.js";
|
|
45
|
+
import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit } from "./fetch-B6JVlGQz.js";
|
|
46
|
+
import { a as bindAbortRelay, n as withStrictGuardedFetchMode, o as fetchWithTimeout, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-BultwSpi.js";
|
|
47
47
|
import { n as isSafeFenceBreak, r as parseFenceSpans, t as findFenceSpanAt } from "./fences-Dsu9RZ4d.js";
|
|
48
|
-
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-
|
|
49
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
50
|
-
import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-
|
|
51
|
-
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-
|
|
52
|
-
import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-
|
|
53
|
-
import { _ as endModelCall, a as isEmbeddedPiRunActive, b as onAgentEvent, d as handleMessageEnd, f as handleMessageStart, g as createInlineCodeState, h as buildCodeSpanIndex, i as endInFlightEmbeddedAttempt, l as setActiveEmbeddedRun, m as emitEmbeddedAgentEvent, 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-
|
|
54
|
-
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-
|
|
55
|
-
import { A as resolveReplyToMode, C as applyReplyThreading, D as shouldSuppressMessagingToolReplies, E as isRenderablePayload, M as normalizeChannelTargetInput, N as normalizeTargetForProvider, O as shouldSuppressReasoningPayload, S as applyReplyTagsToPayload, T as filterMessagingToolMediaDuplicates, _ as resolveContextTokensForModel, a as normalizeOutboundPayloadsForJson, b as readFullTranscriptEntriesFromBackend, c as loadCombinedSessionStoreForGateway, d as throwIfAborted, f as loadChannelOutboundAdapter, g as lookupContextTokens, h as stripLeadingInboundMetadata, 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 computeBackoff, w as filterMessagingToolDuplicates, x as transcriptEntriesToMessages, y as sleepWithAbort } from "./deliver-
|
|
48
|
+
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-D8Ei1sgE.js";
|
|
49
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-BD3LxqeL.js";
|
|
50
|
+
import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-DURlc744.js";
|
|
51
|
+
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-md12jvN2.js";
|
|
52
|
+
import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-DZAbAydi.js";
|
|
53
|
+
import { _ as endModelCall, a as isEmbeddedPiRunActive, b as onAgentEvent, d as handleMessageEnd, f as handleMessageStart, g as createInlineCodeState, h as buildCodeSpanIndex, i as endInFlightEmbeddedAttempt, l as setActiveEmbeddedRun, m as emitEmbeddedAgentEvent, 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-Z4pls7FK.js";
|
|
54
|
+
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-G0rUejkg.js";
|
|
55
|
+
import { A as resolveReplyToMode, C as applyReplyThreading, D as shouldSuppressMessagingToolReplies, E as isRenderablePayload, M as normalizeChannelTargetInput, N as normalizeTargetForProvider, O as shouldSuppressReasoningPayload, S as applyReplyTagsToPayload, T as filterMessagingToolMediaDuplicates, _ as resolveContextTokensForModel, a as normalizeOutboundPayloadsForJson, b as readFullTranscriptEntriesFromBackend, c as loadCombinedSessionStoreForGateway, d as throwIfAborted, f as loadChannelOutboundAdapter, g as lookupContextTokens, h as stripLeadingInboundMetadata, 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 computeBackoff, w as filterMessagingToolDuplicates, x as transcriptEntriesToMessages, y as sleepWithAbort } from "./deliver-aIctLOEP.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-BjRFaOH-.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-BQcYbtPM.js";
|
|
59
|
+
import { t as convertMarkdownTables } from "./tables-CR0_AJTg.js";
|
|
60
|
+
import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-CiYi8fBw.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-nXTQsLrv.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-BHcO0Aru.js";
|
|
63
|
+
import { t as recordInboundSessionMetaSafe } from "./session-meta-D9pWrAgN.js";
|
|
64
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$2, t as createSlackReplyDeliveryPlan } from "./replies-Bqqi0vbE.js";
|
|
65
|
+
import { n as resolveMemorySearchConfig } from "./manager-BgcW7tpv.js";
|
|
66
|
+
import { m as normalizeExtraMemoryPaths, p as listMemoryFiles } from "./query-expansion-DMqvaBet.js";
|
|
67
|
+
import { t as isQmdScopeAllowed } from "./qmd-scope-Da_43AK-.js";
|
|
68
68
|
import { createRequire } from "node:module";
|
|
69
69
|
import crypto$1, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
|
|
70
70
|
import fs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, realpathSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
@@ -73,8 +73,8 @@ import * as path$1 from "node:path";
|
|
|
73
73
|
import path, { basename, isAbsolute, join } from "node:path";
|
|
74
74
|
import { inspect, isDeepStrictEqual, promisify } from "node:util";
|
|
75
75
|
import JSON5 from "json5";
|
|
76
|
-
import * as fs$
|
|
77
|
-
import
|
|
76
|
+
import * as fs$1 from "node:fs/promises";
|
|
77
|
+
import fsp, { open } from "node:fs/promises";
|
|
78
78
|
import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
|
|
79
79
|
import { fileURLToPath } from "node:url";
|
|
80
80
|
import { complete, completeSimple, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
|
|
@@ -1144,7 +1144,7 @@ function resolveWorkspaceLane(params) {
|
|
|
1144
1144
|
}
|
|
1145
1145
|
async function pathExists(targetPath) {
|
|
1146
1146
|
try {
|
|
1147
|
-
await
|
|
1147
|
+
await fsp.access(targetPath);
|
|
1148
1148
|
return true;
|
|
1149
1149
|
} catch {
|
|
1150
1150
|
return false;
|
|
@@ -1152,7 +1152,7 @@ async function pathExists(targetPath) {
|
|
|
1152
1152
|
}
|
|
1153
1153
|
async function getExistingPathState(targetPath) {
|
|
1154
1154
|
try {
|
|
1155
|
-
const stats = await
|
|
1155
|
+
const stats = await fsp.lstat(targetPath);
|
|
1156
1156
|
if (stats.isSymbolicLink()) return "other";
|
|
1157
1157
|
return stats.isDirectory() ? "directory" : "other";
|
|
1158
1158
|
} catch {
|
|
@@ -1161,7 +1161,7 @@ async function getExistingPathState(targetPath) {
|
|
|
1161
1161
|
}
|
|
1162
1162
|
async function pathLexicallyExists(targetPath) {
|
|
1163
1163
|
try {
|
|
1164
|
-
await
|
|
1164
|
+
await fsp.lstat(targetPath);
|
|
1165
1165
|
return true;
|
|
1166
1166
|
} catch {
|
|
1167
1167
|
return false;
|
|
@@ -1228,7 +1228,7 @@ async function resolveWorkspaceLaneForTurn(params) {
|
|
|
1228
1228
|
const config = resolveWorkspaceLaneConfig(params.cfg, resolution.agentId);
|
|
1229
1229
|
if ((config?.create ?? "on-first-message") !== "on-first-message") return resolution;
|
|
1230
1230
|
const existed = pathState === "directory";
|
|
1231
|
-
if (!existed) await
|
|
1231
|
+
if (!existed) await fsp.mkdir(resolution.effectiveWorkspaceDir, { recursive: true });
|
|
1232
1232
|
for (const file of config?.copiedOnCreate ?? DEFAULT_COPIED_ON_CREATE_FILES) {
|
|
1233
1233
|
const decision = await copyIfMissing({
|
|
1234
1234
|
sourceRoot: resolution.personaWorkspaceDir,
|
|
@@ -7049,7 +7049,7 @@ async function imageResult(params) {
|
|
|
7049
7049
|
}, params.label, params.imageSanitization);
|
|
7050
7050
|
}
|
|
7051
7051
|
async function imageResultFromFile(params) {
|
|
7052
|
-
const buf = await
|
|
7052
|
+
const buf = await fsp.readFile(params.path);
|
|
7053
7053
|
const mimeType = await detectMime({ buffer: buf.slice(0, 256) }) ?? "image/png";
|
|
7054
7054
|
return await imageResult({
|
|
7055
7055
|
label: params.label,
|
|
@@ -7960,7 +7960,7 @@ async function resolveAgentSessionDirs(stateDir) {
|
|
|
7960
7960
|
const agentsDir = path.join(stateDir, "agents");
|
|
7961
7961
|
let entries = [];
|
|
7962
7962
|
try {
|
|
7963
|
-
entries = await
|
|
7963
|
+
entries = await fsp.readdir(agentsDir, { withFileTypes: true });
|
|
7964
7964
|
} catch (err) {
|
|
7965
7965
|
if (err.code === "ENOENT") return [];
|
|
7966
7966
|
throw err;
|
|
@@ -10149,7 +10149,7 @@ async function routeReply(params) {
|
|
|
10149
10149
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
10150
10150
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
10151
10151
|
try {
|
|
10152
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
10152
|
+
const { deliverOutboundPayloads } = await import("./deliver-aIctLOEP.js").then((n) => n.n);
|
|
10153
10153
|
const outboundSession = buildOutboundSessionContext({
|
|
10154
10154
|
cfg,
|
|
10155
10155
|
agentId: resolvedAgentId,
|
|
@@ -14947,7 +14947,7 @@ async function sendTranscriptEcho(params) {
|
|
|
14947
14947
|
}
|
|
14948
14948
|
const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
|
|
14949
14949
|
try {
|
|
14950
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
14950
|
+
const { deliverOutboundPayloads } = await import("./deliver-aIctLOEP.js").then((n) => n.n);
|
|
14951
14951
|
await deliverOutboundPayloads({
|
|
14952
14952
|
cfg,
|
|
14953
14953
|
channel: normalizedChannel,
|
|
@@ -20552,7 +20552,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
20552
20552
|
cwd: process.cwd(),
|
|
20553
20553
|
root: params.sandbox.workspaceDir
|
|
20554
20554
|
});
|
|
20555
|
-
if (!(await
|
|
20555
|
+
if (!(await fsp.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
|
|
20556
20556
|
const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
|
|
20557
20557
|
const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
|
|
20558
20558
|
return {
|
|
@@ -21942,13 +21942,13 @@ async function validateScriptFileForShellBleed(params) {
|
|
|
21942
21942
|
cwd: params.workdir,
|
|
21943
21943
|
root: params.workdir
|
|
21944
21944
|
});
|
|
21945
|
-
stat = await
|
|
21945
|
+
stat = await fsp.stat(absPath);
|
|
21946
21946
|
} catch {
|
|
21947
21947
|
return;
|
|
21948
21948
|
}
|
|
21949
21949
|
if (!stat.isFile()) return;
|
|
21950
21950
|
if (stat.size > 512 * 1024) return;
|
|
21951
|
-
const content = await
|
|
21951
|
+
const content = await fsp.readFile(absPath, "utf-8");
|
|
21952
21952
|
const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
|
|
21953
21953
|
if (first) {
|
|
21954
21954
|
const idx = first.index;
|
|
@@ -34751,7 +34751,7 @@ async function createModelSelectionState(params) {
|
|
|
34751
34751
|
}
|
|
34752
34752
|
}
|
|
34753
34753
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
34754
|
-
const { ensureAuthProfileStore } = await import("./config-
|
|
34754
|
+
const { ensureAuthProfileStore } = await import("./config-C8St6mAq.js").then((n) => n.sa);
|
|
34755
34755
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
34756
34756
|
const providerKey = normalizeProviderId(provider);
|
|
34757
34757
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -38434,7 +38434,7 @@ async function writeUrlToFile(filePath, url, opts) {
|
|
|
38434
38434
|
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}`);
|
|
38435
38435
|
const body = res.body;
|
|
38436
38436
|
if (!body) throw new Error(`failed to download ${url}: empty response body`);
|
|
38437
|
-
const fileHandle = await fs$
|
|
38437
|
+
const fileHandle = await fs$1.open(filePath, "w");
|
|
38438
38438
|
let thrown;
|
|
38439
38439
|
try {
|
|
38440
38440
|
const reader = body.getReader();
|
|
@@ -38452,7 +38452,7 @@ async function writeUrlToFile(filePath, url, opts) {
|
|
|
38452
38452
|
await fileHandle.close();
|
|
38453
38453
|
}
|
|
38454
38454
|
if (thrown) {
|
|
38455
|
-
await fs$
|
|
38455
|
+
await fs$1.unlink(filePath).catch(() => {});
|
|
38456
38456
|
throw thrown;
|
|
38457
38457
|
}
|
|
38458
38458
|
} finally {
|
|
@@ -38465,7 +38465,7 @@ async function writeUrlToFile(filePath, url, opts) {
|
|
|
38465
38465
|
}
|
|
38466
38466
|
async function writeBase64ToFile(filePath, base64) {
|
|
38467
38467
|
const buf = Buffer.from(base64, "base64");
|
|
38468
|
-
await fs$
|
|
38468
|
+
await fs$1.writeFile(filePath, buf);
|
|
38469
38469
|
return {
|
|
38470
38470
|
path: filePath,
|
|
38471
38471
|
bytes: buf.length
|
|
@@ -38550,7 +38550,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
38550
38550
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
|
|
38551
38551
|
throw new Error("jsonlPath outside allowed roots");
|
|
38552
38552
|
}
|
|
38553
|
-
const canonical = await
|
|
38553
|
+
const canonical = await fsp.realpath(resolved).catch(() => resolved);
|
|
38554
38554
|
if (!isInboundPathAllowed({
|
|
38555
38555
|
filePath: canonical,
|
|
38556
38556
|
roots
|
|
@@ -38558,7 +38558,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
38558
38558
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
|
|
38559
38559
|
throw new Error("jsonlPath outside allowed roots");
|
|
38560
38560
|
}
|
|
38561
|
-
return await
|
|
38561
|
+
return await fsp.readFile(canonical, "utf8");
|
|
38562
38562
|
}
|
|
38563
38563
|
const CanvasToolSchema = Type.Object({
|
|
38564
38564
|
action: stringEnum(CANVAS_ACTIONS),
|
|
@@ -39409,12 +39409,12 @@ function resolveRestartSentinelPath(env = process.env) {
|
|
|
39409
39409
|
}
|
|
39410
39410
|
async function writeRestartSentinel(payload, env = process.env) {
|
|
39411
39411
|
const filePath = resolveRestartSentinelPath(env);
|
|
39412
|
-
await
|
|
39412
|
+
await fsp.mkdir(path.dirname(filePath), { recursive: true });
|
|
39413
39413
|
const data = {
|
|
39414
39414
|
version: 1,
|
|
39415
39415
|
payload
|
|
39416
39416
|
};
|
|
39417
|
-
await
|
|
39417
|
+
await fsp.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
|
|
39418
39418
|
return filePath;
|
|
39419
39419
|
}
|
|
39420
39420
|
|
|
@@ -50740,18 +50740,18 @@ function appendImagePathsToPrompt(prompt, paths) {
|
|
|
50740
50740
|
return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
|
|
50741
50741
|
}
|
|
50742
50742
|
async function writeCliImages(images) {
|
|
50743
|
-
const tempDir = await
|
|
50743
|
+
const tempDir = await fsp.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
|
|
50744
50744
|
const paths = [];
|
|
50745
50745
|
for (let i = 0; i < images.length; i += 1) {
|
|
50746
50746
|
const image = images[i];
|
|
50747
50747
|
const ext = resolveImageExtension(image.mimeType);
|
|
50748
50748
|
const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
|
|
50749
50749
|
const buffer = Buffer.from(image.data, "base64");
|
|
50750
|
-
await
|
|
50750
|
+
await fsp.writeFile(filePath, buffer, { mode: 384 });
|
|
50751
50751
|
paths.push(filePath);
|
|
50752
50752
|
}
|
|
50753
50753
|
const cleanup = async () => {
|
|
50754
|
-
await
|
|
50754
|
+
await fsp.rm(tempDir, {
|
|
50755
50755
|
recursive: true,
|
|
50756
50756
|
force: true
|
|
50757
50757
|
});
|
|
@@ -54268,7 +54268,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
54268
54268
|
return;
|
|
54269
54269
|
}
|
|
54270
54270
|
try {
|
|
54271
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
54271
|
+
const { deliverOutboundPayloads } = await import("./deliver-aIctLOEP.js").then((n) => n.n);
|
|
54272
54272
|
const outboundSession = buildOutboundSessionContext({
|
|
54273
54273
|
cfg: params.cfg,
|
|
54274
54274
|
sessionKey: params.sessionKey
|
|
@@ -55217,7 +55217,7 @@ async function stageSandboxMedia(params) {
|
|
|
55217
55217
|
const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(workspaceDir, ".openclaw", "media", "remote-cache", sessionKey) : null;
|
|
55218
55218
|
const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
|
|
55219
55219
|
if (!effectiveWorkspaceDir) return;
|
|
55220
|
-
await
|
|
55220
|
+
await fsp.mkdir(effectiveWorkspaceDir, { recursive: true });
|
|
55221
55221
|
const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
|
|
55222
55222
|
cfg,
|
|
55223
55223
|
accountId: ctx.AccountId
|
|
@@ -55276,8 +55276,8 @@ async function stageLocalFileIntoRoot(params) {
|
|
|
55276
55276
|
}
|
|
55277
55277
|
async function stageRemoteFileIntoRoot(params) {
|
|
55278
55278
|
const tmpRoot = resolvePreferredOpenClawTmpDir();
|
|
55279
|
-
await
|
|
55280
|
-
const tmpDir = await
|
|
55279
|
+
await fsp.mkdir(tmpRoot, { recursive: true });
|
|
55280
|
+
const tmpDir = await fsp.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
|
|
55281
55281
|
const tmpPath = path.join(tmpDir, "download");
|
|
55282
55282
|
try {
|
|
55283
55283
|
await scpFile(params.remoteHost, params.remotePath, tmpPath);
|
|
@@ -55288,7 +55288,7 @@ async function stageRemoteFileIntoRoot(params) {
|
|
|
55288
55288
|
maxBytes: params.maxBytes
|
|
55289
55289
|
});
|
|
55290
55290
|
} finally {
|
|
55291
|
-
await
|
|
55291
|
+
await fsp.rm(tmpDir, {
|
|
55292
55292
|
recursive: true,
|
|
55293
55293
|
force: true
|
|
55294
55294
|
}).catch(() => {});
|
|
@@ -61192,7 +61192,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
|
|
|
61192
61192
|
let transcript;
|
|
61193
61193
|
let carry;
|
|
61194
61194
|
if (needsPreflightTranscription) try {
|
|
61195
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
61195
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-ARaM1d7_.js");
|
|
61196
61196
|
const uploadable = audioAttachments.filter((att) => typeof att.url === "string" && att.url.length > 0);
|
|
61197
61197
|
if (uploadable.length > 0) {
|
|
61198
61198
|
const preflight = await transcribeFirstAudio({
|
|
@@ -68462,19 +68462,19 @@ function createDefaultDeps() {
|
|
|
68462
68462
|
};
|
|
68463
68463
|
}),
|
|
68464
68464
|
sendMessageDiscord: async (...args) => {
|
|
68465
|
-
const { sendMessageDiscord } = await import("./send-
|
|
68465
|
+
const { sendMessageDiscord } = await import("./send-B-mkV3_w.js").then((n) => n.t);
|
|
68466
68466
|
return await sendMessageDiscord(...args);
|
|
68467
68467
|
},
|
|
68468
68468
|
sendMessageSlack: async (...args) => {
|
|
68469
|
-
const { sendMessageSlack } = await import("./send-
|
|
68469
|
+
const { sendMessageSlack } = await import("./send-Dd4wRWhq.js").then((n) => n.n);
|
|
68470
68470
|
return await sendMessageSlack(...args);
|
|
68471
68471
|
},
|
|
68472
68472
|
sendMessageSignal: async (...args) => {
|
|
68473
|
-
const { sendMessageSignal } = await import("./send-
|
|
68473
|
+
const { sendMessageSignal } = await import("./send-nXTQsLrv.js").then((n) => n.i);
|
|
68474
68474
|
return await sendMessageSignal(...args);
|
|
68475
68475
|
},
|
|
68476
68476
|
sendMessageIMessage: async (...args) => {
|
|
68477
|
-
const { sendMessageIMessage } = await import("./send-
|
|
68477
|
+
const { sendMessageIMessage } = await import("./send-BHcO0Aru.js").then((n) => n.n);
|
|
68478
68478
|
return await sendMessageIMessage(...args);
|
|
68479
68479
|
}
|
|
68480
68480
|
};
|
|
@@ -69720,10 +69720,10 @@ function estimateDurationSeconds(pcm) {
|
|
|
69720
69720
|
return pcm.length / (bytesPerSample * SAMPLE_RATE);
|
|
69721
69721
|
}
|
|
69722
69722
|
async function writeWavFile(pcm) {
|
|
69723
|
-
const tempDir = await
|
|
69723
|
+
const tempDir = await fsp.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
|
|
69724
69724
|
const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
|
|
69725
69725
|
const wav = buildWavBuffer(pcm);
|
|
69726
|
-
await
|
|
69726
|
+
await fsp.writeFile(filePath, wav);
|
|
69727
69727
|
scheduleTempCleanup(tempDir);
|
|
69728
69728
|
return {
|
|
69729
69729
|
path: filePath,
|
|
@@ -69732,7 +69732,7 @@ async function writeWavFile(pcm) {
|
|
|
69732
69732
|
}
|
|
69733
69733
|
function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
|
|
69734
69734
|
setTimeout(() => {
|
|
69735
|
-
|
|
69735
|
+
fsp.rm(tempDir, {
|
|
69736
69736
|
recursive: true,
|
|
69737
69737
|
force: true
|
|
69738
69738
|
}).catch((err) => {
|
|
@@ -73517,7 +73517,7 @@ async function detectBinary(name) {
|
|
|
73517
73517
|
if (!isSafeExecutableValue(name)) return false;
|
|
73518
73518
|
const resolved = name.startsWith("~") ? resolveUserPath(name) : name;
|
|
73519
73519
|
if (path.isAbsolute(resolved) || resolved.startsWith(".") || resolved.includes("/") || resolved.includes("\\")) try {
|
|
73520
|
-
await
|
|
73520
|
+
await fsp.access(resolved);
|
|
73521
73521
|
return true;
|
|
73522
73522
|
} catch {
|
|
73523
73523
|
return false;
|
|
@@ -74181,7 +74181,7 @@ function normalizeAllowList$1(list) {
|
|
|
74181
74181
|
async function detectRemoteHostFromCliPath(cliPath) {
|
|
74182
74182
|
try {
|
|
74183
74183
|
const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
|
|
74184
|
-
const content = await
|
|
74184
|
+
const content = await fsp.readFile(expanded, "utf8");
|
|
74185
74185
|
const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
|
|
74186
74186
|
if (userHostMatch) return userHostMatch[1];
|
|
74187
74187
|
return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
|
|
@@ -80953,7 +80953,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
80953
80953
|
}
|
|
80954
80954
|
let commandsRegistry;
|
|
80955
80955
|
async function getCommandsRegistry() {
|
|
80956
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
80956
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-md12jvN2.js").then((n) => n.n);
|
|
80957
80957
|
return commandsRegistry;
|
|
80958
80958
|
}
|
|
80959
80959
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -81283,14 +81283,14 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
81283
81283
|
const channelName = channelInfo?.name;
|
|
81284
81284
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
81285
81285
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
81286
|
-
import("./resolve-route-
|
|
81286
|
+
import("./resolve-route-kCeK1PnG.js").then((n) => n.r),
|
|
81287
81287
|
import("./inbound-context-CZ6JAe_K.js").then((n) => n.n),
|
|
81288
81288
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
81289
81289
|
]);
|
|
81290
81290
|
const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordInboundSessionMetaSafe }] = await Promise.all([
|
|
81291
81291
|
import("./conversation-label-BkRfLUVO.js").then((n) => n.t),
|
|
81292
|
-
import("./reply-prefix-
|
|
81293
|
-
import("./session-meta
|
|
81292
|
+
import("./reply-prefix-98PG1Ki7.js").then((n) => n.n),
|
|
81293
|
+
import("./session-meta-D9pWrAgN.js").then((n) => n.n)
|
|
81294
81294
|
]);
|
|
81295
81295
|
const route = resolveAgentRoute({
|
|
81296
81296
|
cfg,
|
|
@@ -81355,9 +81355,9 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
81355
81355
|
});
|
|
81356
81356
|
const deliverSlashPayloads = async (replies) => {
|
|
81357
81357
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode, resolveChunkNewlinePacking }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
81358
|
-
import("./replies-
|
|
81359
|
-
import("./chunk-
|
|
81360
|
-
import("./markdown-tables-
|
|
81358
|
+
import("./replies-Bqqi0vbE.js").then((n) => n.r),
|
|
81359
|
+
import("./chunk-D8Ei1sgE.js").then((n) => n.s),
|
|
81360
|
+
import("./markdown-tables-BD3LxqeL.js").then((n) => n.t)
|
|
81361
81361
|
]);
|
|
81362
81362
|
await deliverSlackSlashReplies({
|
|
81363
81363
|
replies,
|
|
@@ -81411,7 +81411,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
81411
81411
|
let nativeCommands = [];
|
|
81412
81412
|
if (nativeEnabled) {
|
|
81413
81413
|
reg = await getCommandsRegistry();
|
|
81414
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
81414
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BQcYbtPM.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
81415
81415
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
81416
81416
|
skillCommands,
|
|
81417
81417
|
provider: "slack"
|
|
@@ -82355,7 +82355,7 @@ async function getMemorySearchManager(params) {
|
|
|
82355
82355
|
if (cached) return { manager: cached };
|
|
82356
82356
|
}
|
|
82357
82357
|
try {
|
|
82358
|
-
const { QmdMemoryManager } = await import("./qmd-manager-
|
|
82358
|
+
const { QmdMemoryManager } = await import("./qmd-manager-DeSEoaIW.js");
|
|
82359
82359
|
const primary = await QmdMemoryManager.create({
|
|
82360
82360
|
cfg: params.cfg,
|
|
82361
82361
|
agentId: params.agentId,
|
|
@@ -82367,7 +82367,7 @@ async function getMemorySearchManager(params) {
|
|
|
82367
82367
|
const wrapper = new FallbackMemoryManager({
|
|
82368
82368
|
primary,
|
|
82369
82369
|
fallbackFactory: async () => {
|
|
82370
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
82370
|
+
const { MemoryIndexManager } = await import("./manager-BgcW7tpv.js").then((n) => n.t);
|
|
82371
82371
|
return await MemoryIndexManager.get(params);
|
|
82372
82372
|
}
|
|
82373
82373
|
}, () => {
|
|
@@ -82382,7 +82382,7 @@ async function getMemorySearchManager(params) {
|
|
|
82382
82382
|
}
|
|
82383
82383
|
}
|
|
82384
82384
|
try {
|
|
82385
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
82385
|
+
const { MemoryIndexManager } = await import("./manager-BgcW7tpv.js").then((n) => n.t);
|
|
82386
82386
|
return { manager: await MemoryIndexManager.get(params) };
|
|
82387
82387
|
} catch (err) {
|
|
82388
82388
|
return {
|
|
@@ -82732,7 +82732,7 @@ const LEGACY_ARCHIVE_DEFAULT_RETENTION_MS = 720 * 60 * 60 * 1e3;
|
|
|
82732
82732
|
const log$32 = createSubsystemLogger("config/sessions/legacy-import/archive");
|
|
82733
82733
|
/** SHA-256 over the file's bytes; null when the file is gone (ENOENT). Other errors propagate. */
|
|
82734
82734
|
async function sourceIdentity(filePath) {
|
|
82735
|
-
const handle = await
|
|
82735
|
+
const handle = await fsp.open(filePath, "r").catch((error) => {
|
|
82736
82736
|
if (error.code === "ENOENT") return null;
|
|
82737
82737
|
throw error;
|
|
82738
82738
|
});
|
|
@@ -82785,9 +82785,9 @@ function fallbackArchiveDest(source, archiveRoot) {
|
|
|
82785
82785
|
async function copyVerifiedTo(sourcePath, dest, expected) {
|
|
82786
82786
|
const tmp = `${dest}.tmp-${randomUUID()}`;
|
|
82787
82787
|
try {
|
|
82788
|
-
const handle = await
|
|
82788
|
+
const handle = await fsp.open(tmp, "wx", 384);
|
|
82789
82789
|
try {
|
|
82790
|
-
const sourceHandle = await
|
|
82790
|
+
const sourceHandle = await fsp.open(sourcePath, "r");
|
|
82791
82791
|
try {
|
|
82792
82792
|
const chunk = Buffer.allocUnsafe(256 * 1024);
|
|
82793
82793
|
let size = 0;
|
|
@@ -82804,18 +82804,18 @@ async function copyVerifiedTo(sourcePath, dest, expected) {
|
|
|
82804
82804
|
} finally {
|
|
82805
82805
|
await handle.close();
|
|
82806
82806
|
}
|
|
82807
|
-
await
|
|
82807
|
+
await fsp.chmod(tmp, 384);
|
|
82808
82808
|
const copied = await identityOf(tmp);
|
|
82809
82809
|
if (!copied || copied.fingerprint !== expected.fingerprint) throw new Error(`legacy archive cross-device copy diverged from the imported bytes: ${dest}`);
|
|
82810
82810
|
try {
|
|
82811
|
-
await
|
|
82811
|
+
await fsp.link(tmp, dest);
|
|
82812
82812
|
} catch (error) {
|
|
82813
82813
|
if (error.code !== "EEXIST") throw error;
|
|
82814
82814
|
const existing = await identityOf(dest);
|
|
82815
82815
|
if (!existing || existing.fingerprint !== expected.fingerprint) throw new Error(`legacy archive destination exists with different content: ${dest}`, { cause: error });
|
|
82816
82816
|
}
|
|
82817
82817
|
} finally {
|
|
82818
|
-
await
|
|
82818
|
+
await fsp.rm(tmp, { force: true });
|
|
82819
82819
|
}
|
|
82820
82820
|
}
|
|
82821
82821
|
/**
|
|
@@ -82831,7 +82831,7 @@ async function planLegacyArchiveDest(source, archiveRoot, expected) {
|
|
|
82831
82831
|
const resolvedRoot = path.resolve(archiveRoot);
|
|
82832
82832
|
const { dir, dest } = archivePathsFor(source, resolvedRoot);
|
|
82833
82833
|
try {
|
|
82834
|
-
await
|
|
82834
|
+
await fsp.mkdir(dir, {
|
|
82835
82835
|
recursive: true,
|
|
82836
82836
|
mode: 448
|
|
82837
82837
|
});
|
|
@@ -82871,7 +82871,7 @@ async function archiveLegacySource(source, archiveRoot, expected) {
|
|
|
82871
82871
|
*/
|
|
82872
82872
|
async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
82873
82873
|
const resolvedRoot = path.resolve(archiveRoot);
|
|
82874
|
-
await
|
|
82874
|
+
await fsp.mkdir(path.dirname(dest), {
|
|
82875
82875
|
recursive: true,
|
|
82876
82876
|
mode: 448
|
|
82877
82877
|
});
|
|
@@ -82881,14 +82881,14 @@ async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
|
82881
82881
|
const expectedIdentity = expected ?? sourceIdentityValue;
|
|
82882
82882
|
if (sourceIdentityValue.fingerprint !== expectedIdentity.fingerprint) throw new Error(`legacy source changed after import; failing closed: ${source.path}`);
|
|
82883
82883
|
const destInodeVerified = async (destPath) => {
|
|
82884
|
-
const [sourceStat, destStat] = await Promise.all([
|
|
82884
|
+
const [sourceStat, destStat] = await Promise.all([fsp.stat(source.path), fsp.stat(destPath).catch(() => void 0)]);
|
|
82885
82885
|
return destStat !== void 0 && destStat.dev === sourceStat.dev && destStat.ino === sourceStat.ino;
|
|
82886
82886
|
};
|
|
82887
82887
|
const moveInto = async (destPath) => {
|
|
82888
82888
|
let moved = false;
|
|
82889
82889
|
let independentArchive = false;
|
|
82890
82890
|
try {
|
|
82891
|
-
await
|
|
82891
|
+
await fsp.link(source.path, destPath);
|
|
82892
82892
|
moved = true;
|
|
82893
82893
|
} catch (error) {
|
|
82894
82894
|
const code = error.code;
|
|
@@ -82896,7 +82896,7 @@ async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
|
82896
82896
|
const existing = await identityOf(destPath);
|
|
82897
82897
|
if (existing && existing.fingerprint === expectedIdentity.fingerprint) {
|
|
82898
82898
|
moved = true;
|
|
82899
|
-
const [sourceStat, destStat] = await Promise.all([
|
|
82899
|
+
const [sourceStat, destStat] = await Promise.all([fsp.stat(source.path), fsp.stat(destPath)]);
|
|
82900
82900
|
independentArchive = sourceStat.dev !== destStat.dev || sourceStat.ino !== destStat.ino;
|
|
82901
82901
|
} else return {
|
|
82902
82902
|
moved: false,
|
|
@@ -82917,13 +82917,13 @@ async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
|
82917
82917
|
};
|
|
82918
82918
|
const outcome = await moveInto(dest);
|
|
82919
82919
|
if (outcome.divergent) throw new Error(`legacy archive destination exists with different content: ${dest}`);
|
|
82920
|
-
await
|
|
82920
|
+
await fsp.chmod(dest, 384);
|
|
82921
82921
|
if (!await destInodeVerified(dest)) {
|
|
82922
82922
|
const archived = await identityOf(dest);
|
|
82923
82923
|
if (!archived || archived.fingerprint !== expectedIdentity.fingerprint) throw new Error(`legacy archive verification failed: ${dest}`);
|
|
82924
82924
|
}
|
|
82925
82925
|
if (outcome.moved) if (outcome.independentArchive) await unlinkSourceIfUnchanged(source.path, expectedIdentity);
|
|
82926
|
-
else await
|
|
82926
|
+
else await fsp.unlink(source.path);
|
|
82927
82927
|
return dest;
|
|
82928
82928
|
}
|
|
82929
82929
|
/**
|
|
@@ -82937,12 +82937,12 @@ async function unlinkSourceIfUnchanged(sourcePath, expected) {
|
|
|
82937
82937
|
const current = await sourceIdentity(sourcePath);
|
|
82938
82938
|
if (!current) return;
|
|
82939
82939
|
if (current.fingerprint !== expected.fingerprint) throw new Error(`legacy source changed before removal; failing closed: ${sourcePath}`);
|
|
82940
|
-
await
|
|
82940
|
+
await fsp.unlink(sourcePath);
|
|
82941
82941
|
}
|
|
82942
82942
|
async function chmodDirs(dir, stopAt) {
|
|
82943
82943
|
let current = dir;
|
|
82944
82944
|
while (current.startsWith(stopAt) && current !== stopAt) {
|
|
82945
|
-
await
|
|
82945
|
+
await fsp.chmod(current, 448).catch(() => void 0);
|
|
82946
82946
|
const parent = path.dirname(current);
|
|
82947
82947
|
if (parent === current) return;
|
|
82948
82948
|
current = parent;
|
|
@@ -82971,11 +82971,11 @@ async function purgeExpiredLegacyArchives(runtime, opts) {
|
|
|
82971
82971
|
log$32.warn("skipping legacy archive outside the archive root", { sourcePath: receipt.sourcePath });
|
|
82972
82972
|
continue;
|
|
82973
82973
|
}
|
|
82974
|
-
if (!await
|
|
82974
|
+
if (!await fsp.stat(archivePath).then(() => true).catch((error) => {
|
|
82975
82975
|
if (error.code === "ENOENT") return false;
|
|
82976
82976
|
throw error;
|
|
82977
82977
|
})) continue;
|
|
82978
|
-
await
|
|
82978
|
+
await fsp.rm(archivePath, { force: true });
|
|
82979
82979
|
purged += 1;
|
|
82980
82980
|
await pruneEmptyArchiveDirs(path.dirname(archivePath), archiveRoot);
|
|
82981
82981
|
}
|
|
@@ -82986,12 +82986,12 @@ async function pruneEmptyArchiveDirs(dir, stopAt) {
|
|
|
82986
82986
|
while (current.startsWith(stopAt + path.sep)) {
|
|
82987
82987
|
let entries;
|
|
82988
82988
|
try {
|
|
82989
|
-
entries = await
|
|
82989
|
+
entries = await fsp.readdir(current);
|
|
82990
82990
|
} catch {
|
|
82991
82991
|
return;
|
|
82992
82992
|
}
|
|
82993
82993
|
if (entries.length > 0) return;
|
|
82994
|
-
await
|
|
82994
|
+
await fsp.rmdir(current).catch(() => void 0);
|
|
82995
82995
|
current = path.dirname(current);
|
|
82996
82996
|
}
|
|
82997
82997
|
}
|
|
@@ -83567,7 +83567,7 @@ async function admitDurableKeyMappings(registry, listKeys, opts) {
|
|
|
83567
83567
|
await opts?.clearMappingSourcePath?.(mapping.agentId, mapping.sessionId).catch(() => void 0);
|
|
83568
83568
|
continue;
|
|
83569
83569
|
}
|
|
83570
|
-
const stats = await
|
|
83570
|
+
const stats = await fsp.stat(mapping.sourcePath).catch(() => void 0);
|
|
83571
83571
|
if (!stats?.isFile()) continue;
|
|
83572
83572
|
registry.admit({
|
|
83573
83573
|
path: mapping.sourcePath,
|
|
@@ -83767,7 +83767,7 @@ function createLegacySourceRegistry() {
|
|
|
83767
83767
|
if (!isSettledReceipt(receipt, source.sizeBytes)) trackPendingPath(key, source);
|
|
83768
83768
|
return;
|
|
83769
83769
|
}
|
|
83770
|
-
const stats = await
|
|
83770
|
+
const stats = await fsp.stat(key).catch(() => void 0);
|
|
83771
83771
|
if (!stats?.isFile() && receipt.status !== "imported") return;
|
|
83772
83772
|
admit({
|
|
83773
83773
|
path: key,
|
|
@@ -84260,7 +84260,7 @@ async function claimExclusivePartial(destPath) {
|
|
|
84260
84260
|
for (let attempt = 0; attempt < 3; attempt += 1) {
|
|
84261
84261
|
const candidate = `${destPath}.${process.pid}.${randomBytes(8).toString("hex")}.partial`;
|
|
84262
84262
|
try {
|
|
84263
|
-
await (await
|
|
84263
|
+
await (await fsp.open(candidate, "wx", 384)).close();
|
|
84264
84264
|
return candidate;
|
|
84265
84265
|
} catch (err) {
|
|
84266
84266
|
if (err.code !== "EEXIST") throw err;
|
|
@@ -84279,7 +84279,7 @@ async function backupSqliteSessionDatabase(params) {
|
|
|
84279
84279
|
const dbPath = path.resolve(params.dbPath);
|
|
84280
84280
|
const destPath = path.resolve(params.destPath);
|
|
84281
84281
|
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");
|
|
84282
|
-
await
|
|
84282
|
+
await fsp.mkdir(path.dirname(destPath), {
|
|
84283
84283
|
recursive: true,
|
|
84284
84284
|
mode: 448
|
|
84285
84285
|
});
|
|
@@ -84291,14 +84291,14 @@ async function backupSqliteSessionDatabase(params) {
|
|
|
84291
84291
|
gated: sqliteBackupTestHooks.holdWorkerAtGate === true,
|
|
84292
84292
|
writableSource: false
|
|
84293
84293
|
});
|
|
84294
|
-
await
|
|
84294
|
+
await fsp.rename(partialPath, destPath);
|
|
84295
84295
|
} catch (err) {
|
|
84296
|
-
await
|
|
84296
|
+
await fsp.rm(partialPath, { force: true }).catch(() => {});
|
|
84297
84297
|
throw err;
|
|
84298
84298
|
}
|
|
84299
84299
|
return {
|
|
84300
84300
|
path: destPath,
|
|
84301
|
-
bytes: (await
|
|
84301
|
+
bytes: (await fsp.stat(destPath)).size
|
|
84302
84302
|
};
|
|
84303
84303
|
}
|
|
84304
84304
|
|
|
@@ -84320,7 +84320,7 @@ const INCARNATION_SELECT_SQL = "SELECT id FROM ctx_legacy_import_incarnation LIM
|
|
|
84320
84320
|
async function readDbIncarnationId(dbPath) {
|
|
84321
84321
|
let db;
|
|
84322
84322
|
try {
|
|
84323
|
-
await
|
|
84323
|
+
await fsp.stat(dbPath);
|
|
84324
84324
|
db = new DatabaseSync(dbPath);
|
|
84325
84325
|
const row = db.prepare(INCARNATION_SELECT_SQL).get();
|
|
84326
84326
|
return typeof row?.id === "string" ? row.id : void 0;
|
|
@@ -84372,7 +84372,7 @@ async function takePreImportLegacySnapshot(params) {
|
|
|
84372
84372
|
const marked = await readSnapshotMarker(backupsDir, canonicalDbPath);
|
|
84373
84373
|
if (marked) return marked;
|
|
84374
84374
|
if ((await params.listReceipts()).length > 0) return;
|
|
84375
|
-
await
|
|
84375
|
+
await fsp.mkdir(backupsDir, {
|
|
84376
84376
|
recursive: true,
|
|
84377
84377
|
mode: 448
|
|
84378
84378
|
});
|
|
@@ -84383,7 +84383,7 @@ async function takePreImportLegacySnapshot(params) {
|
|
|
84383
84383
|
dbPath,
|
|
84384
84384
|
destPath
|
|
84385
84385
|
});
|
|
84386
|
-
if (dbId !== void 0) await
|
|
84386
|
+
if (dbId !== void 0) await fsp.writeFile(path.join(backupsDir, snapshotMarkerFile(canonicalDbPath)), `${JSON.stringify({
|
|
84387
84387
|
path: backup.path,
|
|
84388
84388
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
84389
84389
|
canonicalDbPath,
|
|
@@ -84401,17 +84401,17 @@ async function takePreImportLegacySnapshot(params) {
|
|
|
84401
84401
|
*/
|
|
84402
84402
|
async function cleanupPartialLegacyBackups(stateDir) {
|
|
84403
84403
|
const backupsDir = path.join(stateDir, "backups");
|
|
84404
|
-
const names = await
|
|
84404
|
+
const names = await fsp.readdir(backupsDir).catch(() => []);
|
|
84405
84405
|
for (const name of names) {
|
|
84406
84406
|
if (!name.endsWith(".partial")) continue;
|
|
84407
|
-
await
|
|
84407
|
+
await fsp.rm(path.join(backupsDir, name), { force: true }).catch(() => void 0);
|
|
84408
84408
|
}
|
|
84409
84409
|
}
|
|
84410
84410
|
async function readSnapshotMarker(backupsDir, canonicalDbPath) {
|
|
84411
84411
|
const currentIncarnationId = await readDbIncarnationId(canonicalDbPath);
|
|
84412
84412
|
const keyed = await readMarkerFile(path.join(backupsDir, snapshotMarkerFile(canonicalDbPath)), canonicalDbPath, currentIncarnationId);
|
|
84413
84413
|
if (keyed !== void 0) return keyed;
|
|
84414
|
-
const names = await
|
|
84414
|
+
const names = await fsp.readdir(backupsDir).catch(() => []);
|
|
84415
84415
|
for (const name of names) {
|
|
84416
84416
|
if (!name.startsWith(SNAPSHOT_MARKER_PREFIX) || !name.endsWith(".json")) continue;
|
|
84417
84417
|
const found = await readMarkerFile(path.join(backupsDir, name), canonicalDbPath, currentIncarnationId);
|
|
@@ -84420,7 +84420,7 @@ async function readSnapshotMarker(backupsDir, canonicalDbPath) {
|
|
|
84420
84420
|
return readMarkerFile(path.join(backupsDir, SNAPSHOT_MARKER_FILE), canonicalDbPath, currentIncarnationId);
|
|
84421
84421
|
}
|
|
84422
84422
|
async function readMarkerFile(markerFile, canonicalDbPath, currentIncarnationId) {
|
|
84423
|
-
const raw = await
|
|
84423
|
+
const raw = await fsp.readFile(markerFile, "utf8").catch(() => void 0);
|
|
84424
84424
|
if (!raw) return;
|
|
84425
84425
|
try {
|
|
84426
84426
|
const parsed = JSON.parse(raw);
|
|
@@ -84432,7 +84432,7 @@ async function readMarkerFile(markerFile, canonicalDbPath, currentIncarnationId)
|
|
|
84432
84432
|
if (currentIncarnationId !== void 0 && currentIncarnationId === markerId) return markerPath;
|
|
84433
84433
|
return;
|
|
84434
84434
|
}
|
|
84435
|
-
const [markerStat, dbStat] = await Promise.all([
|
|
84435
|
+
const [markerStat, dbStat] = await Promise.all([fsp.stat(markerDbPath).catch(() => void 0), fsp.stat(canonicalDbPath).catch(() => void 0)]);
|
|
84436
84436
|
if (markerStat !== void 0 && dbStat !== void 0 ? markerStat.dev === dbStat.dev && markerStat.ino === dbStat.ino : markerDbPath === canonicalDbPath) return markerPath;
|
|
84437
84437
|
}
|
|
84438
84438
|
} catch {}
|
|
@@ -84698,7 +84698,7 @@ const log$24 = createSubsystemLogger("config/sessions/legacy-import/index-import
|
|
|
84698
84698
|
async function readLegacyIndexStore(storePath) {
|
|
84699
84699
|
let raw;
|
|
84700
84700
|
try {
|
|
84701
|
-
raw = await
|
|
84701
|
+
raw = await fsp.readFile(storePath, "utf8");
|
|
84702
84702
|
} catch (error) {
|
|
84703
84703
|
throw new Error(`legacy index source unreadable: ${storePath}`, { cause: error });
|
|
84704
84704
|
}
|
|
@@ -84937,7 +84937,7 @@ async function importLegacyIndex(runtime, source, opts = {}) {
|
|
|
84937
84937
|
actorExplicit: entry.actor !== void 0
|
|
84938
84938
|
}), opts.signal);
|
|
84939
84939
|
if (transcriptPath && opts.discoveredTranscripts && path.resolve(transcriptPath) !== path.resolve(source.path)) try {
|
|
84940
|
-
const stats = await
|
|
84940
|
+
const stats = await fsp.stat(transcriptPath);
|
|
84941
84941
|
if (stats.isFile()) opts.discoveredTranscripts.push({
|
|
84942
84942
|
path: transcriptPath,
|
|
84943
84943
|
kind: "transcript",
|
|
@@ -85053,7 +85053,7 @@ async function loadSessionKeyOverrides(stateDir) {
|
|
|
85053
85053
|
const filePath = path.join(stateDir, "recovery", SESSION_KEY_OVERRIDES_FILENAME);
|
|
85054
85054
|
let raw;
|
|
85055
85055
|
try {
|
|
85056
|
-
raw = await
|
|
85056
|
+
raw = await fsp.readFile(filePath, "utf8");
|
|
85057
85057
|
} catch (error) {
|
|
85058
85058
|
if (error.code !== "ENOENT") log$22.warn("session key overrides unreadable; ignoring", { error });
|
|
85059
85059
|
return /* @__PURE__ */ new Map();
|
|
@@ -86590,7 +86590,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
|
|
|
86590
86590
|
}
|
|
86591
86591
|
async function readLockPayload(lockPath) {
|
|
86592
86592
|
try {
|
|
86593
|
-
const raw = await
|
|
86593
|
+
const raw = await fsp.readFile(lockPath, "utf8");
|
|
86594
86594
|
const parsed = JSON.parse(raw);
|
|
86595
86595
|
if (typeof parsed.pid !== "number") return null;
|
|
86596
86596
|
if (typeof parsed.createdAt !== "string") return null;
|
|
@@ -86975,7 +86975,7 @@ async function withMemoryManagerForAgent(params) {
|
|
|
86975
86975
|
}
|
|
86976
86976
|
async function checkReadableFile(pathname) {
|
|
86977
86977
|
try {
|
|
86978
|
-
await
|
|
86978
|
+
await fsp.access(pathname, fs.constants.R_OK);
|
|
86979
86979
|
return { exists: true };
|
|
86980
86980
|
} catch (err) {
|
|
86981
86981
|
const code = err.code;
|
|
@@ -87010,7 +87010,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
|
|
|
87010
87010
|
if (alt.issue) issues.push(alt.issue);
|
|
87011
87011
|
const resolvedExtraPaths = normalizeExtraMemoryPaths(workspaceDir, extraPaths);
|
|
87012
87012
|
for (const extraPath of resolvedExtraPaths) try {
|
|
87013
|
-
if ((await
|
|
87013
|
+
if ((await fsp.lstat(extraPath)).isSymbolicLink()) continue;
|
|
87014
87014
|
const extraCheck = await checkReadableFile(extraPath);
|
|
87015
87015
|
if (extraCheck.issue) issues.push(extraCheck.issue);
|
|
87016
87016
|
} catch (err) {
|
|
@@ -87020,7 +87020,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
|
|
|
87020
87020
|
}
|
|
87021
87021
|
let dirReadable = null;
|
|
87022
87022
|
try {
|
|
87023
|
-
await
|
|
87023
|
+
await fsp.access(memoryDir, fs.constants.R_OK);
|
|
87024
87024
|
dirReadable = true;
|
|
87025
87025
|
} catch (err) {
|
|
87026
87026
|
const code = err.code;
|
|
@@ -87068,7 +87068,7 @@ async function summarizeQmdIndexArtifact(manager) {
|
|
|
87068
87068
|
if (!dbPath) return null;
|
|
87069
87069
|
let stat;
|
|
87070
87070
|
try {
|
|
87071
|
-
stat = await
|
|
87071
|
+
stat = await fsp.stat(dbPath);
|
|
87072
87072
|
} catch (err) {
|
|
87073
87073
|
const code = err.code;
|
|
87074
87074
|
if (code === "ENOENT") throw new Error(`QMD index file not found: ${shortenHomePath(dbPath)}`, { cause: err });
|
|
@@ -87585,7 +87585,7 @@ function createPluginRuntime(options = {}) {
|
|
|
87585
87585
|
workStates: readTaskWorkStates
|
|
87586
87586
|
},
|
|
87587
87587
|
resolveLearningWorkspaceDir: (agentId) => resolveLearningWorkspaceDir(loadConfig(), agentId),
|
|
87588
|
-
sessions: { startUserRun: async (params) => (await import("./user-run-recording-
|
|
87588
|
+
sessions: { startUserRun: async (params) => (await import("./user-run-recording-DZAbAydi.js").then((n) => n.n)).startUserSessionRun(params) }
|
|
87589
87589
|
};
|
|
87590
87590
|
Object.defineProperty(runtime, "analysis", {
|
|
87591
87591
|
enumerable: true,
|
|
@@ -88502,7 +88502,7 @@ function resolvePluginWebSearchProviders(params) {
|
|
|
88502
88502
|
//#endregion
|
|
88503
88503
|
//#region src/agents/apply-patch-update.ts
|
|
88504
88504
|
async function defaultReadFile(filePath) {
|
|
88505
|
-
return
|
|
88505
|
+
return fsp.readFile(filePath, "utf8");
|
|
88506
88506
|
}
|
|
88507
88507
|
async function applyUpdateHunk(filePath, chunks, options) {
|
|
88508
88508
|
const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
|
|
@@ -88823,7 +88823,7 @@ function resolvePatchFileOps(options) {
|
|
|
88823
88823
|
const workspaceOnly = options.workspaceOnly !== false;
|
|
88824
88824
|
return {
|
|
88825
88825
|
readFile: async (filePath) => {
|
|
88826
|
-
if (!workspaceOnly) return await
|
|
88826
|
+
if (!workspaceOnly) return await fsp.readFile(filePath, "utf8");
|
|
88827
88827
|
const opened = await openBoundaryFile({
|
|
88828
88828
|
absolutePath: filePath,
|
|
88829
88829
|
rootPath: options.cwd,
|
|
@@ -88838,7 +88838,7 @@ function resolvePatchFileOps(options) {
|
|
|
88838
88838
|
},
|
|
88839
88839
|
writeFile: async (filePath, content) => {
|
|
88840
88840
|
if (!workspaceOnly) {
|
|
88841
|
-
await
|
|
88841
|
+
await fsp.writeFile(filePath, content, "utf8");
|
|
88842
88842
|
return;
|
|
88843
88843
|
}
|
|
88844
88844
|
const relative = toRelativeSandboxPath(options.cwd, filePath);
|
|
@@ -88849,8 +88849,8 @@ function resolvePatchFileOps(options) {
|
|
|
88849
88849
|
encoding: "utf8"
|
|
88850
88850
|
});
|
|
88851
88851
|
},
|
|
88852
|
-
remove: (filePath) =>
|
|
88853
|
-
mkdirp: (dir) =>
|
|
88852
|
+
remove: (filePath) => fsp.rm(filePath),
|
|
88853
|
+
mkdirp: (dir) => fsp.mkdir(dir, { recursive: true }).then(() => {})
|
|
88854
88854
|
};
|
|
88855
88855
|
}
|
|
88856
88856
|
async function ensureDir(filePath, ops) {
|
|
@@ -89129,7 +89129,7 @@ async function recordLoopOutcome(args) {
|
|
|
89129
89129
|
if (!args.ctx?.sessionKey) return;
|
|
89130
89130
|
try {
|
|
89131
89131
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-B2VnYC0m.js").then((n) => n.n);
|
|
89132
|
-
const { recordToolCallOutcome } = await import("./tool-loop-detection-
|
|
89132
|
+
const { recordToolCallOutcome } = await import("./tool-loop-detection-B2G2F3vq.js");
|
|
89133
89133
|
recordToolCallOutcome(getDiagnosticSessionState({
|
|
89134
89134
|
sessionKey: args.ctx.sessionKey,
|
|
89135
89135
|
sessionId: args.ctx?.agentId
|
|
@@ -89156,8 +89156,8 @@ async function runBeforeToolCallHook(args) {
|
|
|
89156
89156
|
const params = args.params;
|
|
89157
89157
|
if (args.ctx?.sessionKey) {
|
|
89158
89158
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-B2VnYC0m.js").then((n) => n.n);
|
|
89159
|
-
const { logToolLoopAction } = await import("./diagnostic-
|
|
89160
|
-
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-
|
|
89159
|
+
const { logToolLoopAction } = await import("./diagnostic-O1TZk8ZJ.js").then((n) => n.n);
|
|
89160
|
+
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-B2G2F3vq.js");
|
|
89161
89161
|
const sessionState = getDiagnosticSessionState({
|
|
89162
89162
|
sessionKey: args.ctx.sessionKey,
|
|
89163
89163
|
sessionId: args.ctx?.agentId
|
|
@@ -89375,7 +89375,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
|
|
|
89375
89375
|
if (!pathParam || !newText) throw err;
|
|
89376
89376
|
try {
|
|
89377
89377
|
const absolutePath = resolveHostEditPath(root, pathParam);
|
|
89378
|
-
const content = await
|
|
89378
|
+
const content = await fsp.readFile(absolutePath, "utf-8");
|
|
89379
89379
|
const hasNew = content.includes(newText);
|
|
89380
89380
|
const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
|
|
89381
89381
|
if (hasNew && !stillHasOld) return {
|
|
@@ -89846,14 +89846,14 @@ function createSandboxEditOperations(params) {
|
|
|
89846
89846
|
}
|
|
89847
89847
|
async function writeHostFile(absolutePath, content) {
|
|
89848
89848
|
const resolved = path.resolve(absolutePath);
|
|
89849
|
-
await
|
|
89850
|
-
await
|
|
89849
|
+
await fsp.mkdir(path.dirname(resolved), { recursive: true });
|
|
89850
|
+
await fsp.writeFile(resolved, content, "utf-8");
|
|
89851
89851
|
}
|
|
89852
89852
|
function createHostWriteOperations(root, options) {
|
|
89853
89853
|
if (!(options?.workspaceOnly ?? false)) return {
|
|
89854
89854
|
mkdir: async (dir) => {
|
|
89855
89855
|
const resolved = path.resolve(dir);
|
|
89856
|
-
await
|
|
89856
|
+
await fsp.mkdir(resolved, { recursive: true });
|
|
89857
89857
|
},
|
|
89858
89858
|
writeFile: writeHostFile
|
|
89859
89859
|
};
|
|
@@ -89866,7 +89866,7 @@ function createHostWriteOperations(root, options) {
|
|
|
89866
89866
|
cwd: root,
|
|
89867
89867
|
root
|
|
89868
89868
|
});
|
|
89869
|
-
await
|
|
89869
|
+
await fsp.mkdir(resolved, { recursive: true });
|
|
89870
89870
|
},
|
|
89871
89871
|
writeFile: async (absolutePath, content) => {
|
|
89872
89872
|
await writeFileWithinRoot({
|
|
@@ -89882,12 +89882,12 @@ function createHostEditOperations(root, options) {
|
|
|
89882
89882
|
if (!(options?.workspaceOnly ?? false)) return {
|
|
89883
89883
|
readFile: async (absolutePath) => {
|
|
89884
89884
|
const resolved = path.resolve(absolutePath);
|
|
89885
|
-
return await
|
|
89885
|
+
return await fsp.readFile(resolved);
|
|
89886
89886
|
},
|
|
89887
89887
|
writeFile: writeHostFile,
|
|
89888
89888
|
access: async (absolutePath) => {
|
|
89889
89889
|
const resolved = path.resolve(absolutePath);
|
|
89890
|
-
await
|
|
89890
|
+
await fsp.access(resolved);
|
|
89891
89891
|
}
|
|
89892
89892
|
};
|
|
89893
89893
|
return {
|
|
@@ -92703,7 +92703,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
92703
92703
|
} catch (err) {
|
|
92704
92704
|
return fail(describeUnknownError(err));
|
|
92705
92705
|
}
|
|
92706
|
-
await
|
|
92706
|
+
await fsp.mkdir(resolvedWorkspace, { recursive: true });
|
|
92707
92707
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
92708
92708
|
const sandbox = await resolveSandboxContext({
|
|
92709
92709
|
config: params.config,
|
|
@@ -92712,7 +92712,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
92712
92712
|
workspaceLane: params.workspaceLane
|
|
92713
92713
|
});
|
|
92714
92714
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
92715
|
-
await
|
|
92715
|
+
await fsp.mkdir(effectiveWorkspace, { recursive: true });
|
|
92716
92716
|
let restoreSkillEnv;
|
|
92717
92717
|
const releaseWorkspaceCwd = acquireWorkspaceCwd(effectiveWorkspace);
|
|
92718
92718
|
try {
|
|
@@ -99148,7 +99148,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
99148
99148
|
let embeddedAttemptBegun = false;
|
|
99149
99149
|
const runAbortController = new AbortController();
|
|
99150
99150
|
log$50.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"}`);
|
|
99151
|
-
await
|
|
99151
|
+
await fsp.mkdir(resolvedWorkspace, { recursive: true });
|
|
99152
99152
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
99153
99153
|
const toolSessionKey = params.toolSessionKey?.trim() || sandboxSessionKey;
|
|
99154
99154
|
const sandbox = params.skipSandbox ? null : await resolveSandboxContext({
|
|
@@ -99158,7 +99158,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
99158
99158
|
workspaceLane: params.workspaceLane
|
|
99159
99159
|
});
|
|
99160
99160
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
99161
|
-
await
|
|
99161
|
+
await fsp.mkdir(effectiveWorkspace, { recursive: true });
|
|
99162
99162
|
let restoreSkillEnv;
|
|
99163
99163
|
const releaseWorkspaceCwd = params.skipCwdChange ? void 0 : acquireWorkspaceCwd(effectiveWorkspace);
|
|
99164
99164
|
const rawToolResultStash = openRawToolResultStash(params.sessionId);
|
|
@@ -101049,7 +101049,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
101049
101049
|
const copilotAuthRetry = authRetryPending;
|
|
101050
101050
|
authRetryPending = false;
|
|
101051
101051
|
attemptedThinking.add(thinkLevel);
|
|
101052
|
-
await
|
|
101052
|
+
await fsp.mkdir(resolvedWorkspace, { recursive: true });
|
|
101053
101053
|
const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
|
|
101054
101054
|
const attempt = await runEmbeddedAttempt({
|
|
101055
101055
|
sessionId: params.sessionId,
|
|
@@ -101933,7 +101933,7 @@ async function runModelGate(spec, ctx) {
|
|
|
101933
101933
|
const isolatedSessionId = randomNonce;
|
|
101934
101934
|
const isolatedRunId = randomNonce;
|
|
101935
101935
|
const tmpBaseDir = resolvePreferredOpenClawTmpDir();
|
|
101936
|
-
tmpDir = await
|
|
101936
|
+
tmpDir = await fsp.mkdtemp(path.join(tmpBaseDir, "wake-gate-"));
|
|
101937
101937
|
const workspaceDir = tmpDir;
|
|
101938
101938
|
const prompt = spec.prompt ?? DEFAULT_MODEL_PROMPT;
|
|
101939
101939
|
const timeoutMs = spec.timeoutMs ?? DEFAULT_MODEL_TIMEOUT_MS;
|
|
@@ -101991,7 +101991,7 @@ async function runModelGate(spec, ctx) {
|
|
|
101991
101991
|
log$1.warn("model gate error", { error: err instanceof Error ? err.message : String(err) });
|
|
101992
101992
|
return { wake: false };
|
|
101993
101993
|
} finally {
|
|
101994
|
-
if (tmpDir) await
|
|
101994
|
+
if (tmpDir) await fsp.rm(tmpDir, {
|
|
101995
101995
|
recursive: true,
|
|
101996
101996
|
force: true
|
|
101997
101997
|
}).catch(() => void 0);
|
|
@@ -102221,7 +102221,7 @@ async function resolveHeartbeatPreflight(params) {
|
|
|
102221
102221
|
const workspaceDir = resolveAgentWorkspaceDir(params.cfg, params.agentId);
|
|
102222
102222
|
const heartbeatFilePath = path.join(workspaceDir, DEFAULT_HEARTBEAT_FILENAME);
|
|
102223
102223
|
try {
|
|
102224
|
-
if (isHeartbeatContentEffectivelyEmpty(await
|
|
102224
|
+
if (isHeartbeatContentEffectivelyEmpty(await fsp.readFile(heartbeatFilePath, "utf-8"))) return {
|
|
102225
102225
|
...basePreflight,
|
|
102226
102226
|
skipReason: "empty-heartbeat-file"
|
|
102227
102227
|
};
|