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,9 +1,9 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
2
|
+
import { t as createSubsystemLogger } from "./subsystem-DY5Ww-lX.js";
|
|
3
3
|
import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
|
|
4
|
-
import { G as resolveAgentIdFromSessionKey } from "./agent-scope-
|
|
4
|
+
import { G as resolveAgentIdFromSessionKey } from "./agent-scope-ZEYA-60U.js";
|
|
5
5
|
import { t as emitDiagnosticEvent } from "./diagnostic-events-BOgEuLwf.js";
|
|
6
|
-
import { t as redactSensitiveText } from "./redact-
|
|
6
|
+
import { t as redactSensitiveText } from "./redact-CoYHSFJI.js";
|
|
7
7
|
import { t as redactIdentifier } from "./redact-identifier-B5hZuHMq.js";
|
|
8
8
|
import { a as recordTurnDuration, i as recordSessionChannelCorrelation, r as getDiagnosticSessionState, t as diagnosticSessionStates } from "./diagnostic-session-state-PRs1Ba21.js";
|
|
9
9
|
import { createHash } from "node:crypto";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
2
|
+
import { t as createSubsystemLogger } from "./subsystem-B9soUuXQ.js";
|
|
3
3
|
import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
|
|
4
|
-
import { Q as resolveAgentIdFromSessionKey } from "./agent-scope-
|
|
4
|
+
import { Q as resolveAgentIdFromSessionKey } from "./agent-scope-XhXeu6xb.js";
|
|
5
5
|
import { t as redactIdentifier } from "./redact-identifier-bNChjxxW.js";
|
|
6
6
|
import { t as emitDiagnosticEvent } from "./diagnostic-events-DGRcTqIH.js";
|
|
7
|
-
import { t as redactSensitiveText } from "./redact-
|
|
7
|
+
import { t as redactSensitiveText } from "./redact-C8xjZT-F.js";
|
|
8
8
|
import { a as recordTurnDuration, i as recordSessionChannelCorrelation, r as getDiagnosticSessionState, t as diagnosticSessionStates } from "./diagnostic-session-state-B2VnYC0m.js";
|
|
9
9
|
import { createHash } from "node:crypto";
|
|
10
10
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { hn as loadConfig } from "./group-
|
|
1
|
+
import { hn as loadConfig } from "./group-D1ystD_T.js";
|
|
2
2
|
import { u as resolveStateDir } from "./paths-2qlGWRjc.js";
|
|
3
|
-
import { gt as resolvePreferredOpenClawTmpDir } from "./subsystem-
|
|
3
|
+
import { gt as resolvePreferredOpenClawTmpDir } from "./subsystem-DY5Ww-lX.js";
|
|
4
4
|
import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
|
|
5
|
-
import { s as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
6
|
-
import { t as redactSensitiveText } from "./redact-
|
|
7
|
-
import { n as formatErrorChainMessage } from "./errors-
|
|
8
|
-
import { c as detectMime, l as extensionForMime } from "./image-ops-
|
|
5
|
+
import { s as resolveAgentWorkspaceDir } from "./agent-scope-ZEYA-60U.js";
|
|
6
|
+
import { t as redactSensitiveText } from "./redact-CoYHSFJI.js";
|
|
7
|
+
import { n as formatErrorChainMessage } from "./errors-0RH1PUyI.js";
|
|
8
|
+
import { c as detectMime, l as extensionForMime } from "./image-ops-WTO9fxZR.js";
|
|
9
9
|
import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-UcDfA7EK.js";
|
|
10
|
-
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
10
|
+
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-pMUIU0GM.js";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
|
|
13
13
|
//#region src/media/local-roots.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { c as loadConfig } from "./config-
|
|
1
|
+
import { c as loadConfig } from "./config-C8St6mAq.js";
|
|
2
2
|
import { _ as resolveStateDir } from "./paths-C7aURmuZ.js";
|
|
3
|
-
import { mt as resolvePreferredOpenClawTmpDir } from "./subsystem-
|
|
3
|
+
import { mt as resolvePreferredOpenClawTmpDir } from "./subsystem-B9soUuXQ.js";
|
|
4
4
|
import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
|
|
5
|
-
import { s as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
6
|
-
import { t as redactSensitiveText } from "./redact-
|
|
7
|
-
import { n as formatErrorChainMessage } from "./errors-
|
|
8
|
-
import { c as detectMime, l as extensionForMime } from "./image-ops-
|
|
5
|
+
import { s as resolveAgentWorkspaceDir } from "./agent-scope-XhXeu6xb.js";
|
|
6
|
+
import { t as redactSensitiveText } from "./redact-C8xjZT-F.js";
|
|
7
|
+
import { n as formatErrorChainMessage } from "./errors-D8k7j4A4.js";
|
|
8
|
+
import { c as detectMime, l as extensionForMime } from "./image-ops-BsxkG0xi.js";
|
|
9
9
|
import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-D91c_y3Q.js";
|
|
10
|
-
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
10
|
+
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-BultwSpi.js";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
|
|
13
13
|
//#region src/media/local-roots.ts
|
|
@@ -2,12 +2,12 @@ import { c as resolveAgentWorkspaceDir } from "./agent-scope-rf7oiINF.js";
|
|
|
2
2
|
import { l as resolveStateDir } from "./paths-BIDPYPVC.js";
|
|
3
3
|
import { mt as resolvePreferredOpenClawTmpDir } from "./subsystem-DoQFckDJ.js";
|
|
4
4
|
import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
|
|
5
|
-
import { G as loadConfig } from "./model-selection-
|
|
5
|
+
import { G as loadConfig } from "./model-selection-C2tyJWrx.js";
|
|
6
6
|
import { t as redactSensitiveText } from "./redact-Cp-v7ZNA.js";
|
|
7
7
|
import { c as detectMime, l as extensionForMime } from "./image-ops-DONWlnn2.js";
|
|
8
8
|
import { n as formatErrorChainMessage } from "./errors-DnS9ngr1.js";
|
|
9
9
|
import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-Cj-XaaTu.js";
|
|
10
|
-
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
10
|
+
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-C8cHPMKd.js";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
|
|
13
13
|
//#region src/media/local-roots.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { M as logWarn, j as logInfo } from "./agent-scope-
|
|
2
|
-
import { c as resolvePinnedHostnameWithPolicy, i as createPinnedDispatcher, n as SsrFBlockedError, o as isPrivateIpAddress, r as closeDispatcher, t as hasProxyEnvConfigured } from "./proxy-env-
|
|
1
|
+
import { M as logWarn, j as logInfo } from "./agent-scope-XhXeu6xb.js";
|
|
2
|
+
import { c as resolvePinnedHostnameWithPolicy, i as createPinnedDispatcher, n as SsrFBlockedError, o as isPrivateIpAddress, r as closeDispatcher, t as hasProxyEnvConfigured } from "./proxy-env-CpBOG1SR.js";
|
|
3
3
|
import { EnvHttpProxyAgent, FormData, ProxyAgent, fetch as fetch$1 } from "undici";
|
|
4
4
|
|
|
5
5
|
//#region src/utils/fetch-timeout.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { S as logWarn, x as logInfo } from "./workspace-tcQXjttl.js";
|
|
2
|
-
import { c as resolvePinnedHostnameWithPolicy, i as createPinnedDispatcher, n as SsrFBlockedError, o as isPrivateIpAddress, r as closeDispatcher, t as hasProxyEnvConfigured } from "./proxy-env-
|
|
2
|
+
import { c as resolvePinnedHostnameWithPolicy, i as createPinnedDispatcher, n as SsrFBlockedError, o as isPrivateIpAddress, r as closeDispatcher, t as hasProxyEnvConfigured } from "./proxy-env-KBZp3sxK.js";
|
|
3
3
|
import { EnvHttpProxyAgent, FormData, ProxyAgent, fetch as fetch$1 } from "undici";
|
|
4
4
|
|
|
5
5
|
//#region src/utils/fetch-timeout.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _t as logInfo, vt as logWarn } from "./agent-scope-
|
|
2
|
-
import { c as resolvePinnedHostnameWithPolicy, i as createPinnedDispatcher, n as SsrFBlockedError, o as isPrivateIpAddress, r as closeDispatcher, t as hasProxyEnvConfigured } from "./proxy-env-
|
|
1
|
+
import { _t as logInfo, vt as logWarn } from "./agent-scope-ZEYA-60U.js";
|
|
2
|
+
import { c as resolvePinnedHostnameWithPolicy, i as createPinnedDispatcher, n as SsrFBlockedError, o as isPrivateIpAddress, r as closeDispatcher, t as hasProxyEnvConfigured } from "./proxy-env-B01lar7S.js";
|
|
3
3
|
import { EnvHttpProxyAgent, FormData, ProxyAgent, fetch as fetch$1 } from "undici";
|
|
4
4
|
|
|
5
5
|
//#region src/utils/fetch-timeout.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { d as expandHomePrefix } from "./paths-2qlGWRjc.js";
|
|
2
|
-
import { at as isNotFoundPathError, et as sameFileIdentity, it as hasNodeErrorCode, ot as isPathInside, st as isSymlinkOpenError } from "./subsystem-
|
|
3
|
-
import { vt as logWarn } from "./agent-scope-
|
|
4
|
-
import { n as assertNoPathAliasEscape } from "./path-alias-guards-
|
|
2
|
+
import { at as isNotFoundPathError, et as sameFileIdentity, it as hasNodeErrorCode, ot as isPathInside, st as isSymlinkOpenError } from "./subsystem-DY5Ww-lX.js";
|
|
3
|
+
import { vt as logWarn } from "./agent-scope-ZEYA-60U.js";
|
|
4
|
+
import { n as assertNoPathAliasEscape } from "./path-alias-guards-DC13Y2Rm.js";
|
|
5
5
|
import { constants } from "node:fs";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import path from "node:path";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { v as expandHomePrefix } from "./paths-C7aURmuZ.js";
|
|
2
|
-
import { $ as sameFileIdentity, at as isPathInside, it as isNotFoundPathError, ot as isSymlinkOpenError, rt as hasNodeErrorCode } from "./subsystem-
|
|
3
|
-
import { M as logWarn } from "./agent-scope-
|
|
4
|
-
import { n as assertNoPathAliasEscape } from "./path-alias-guards-
|
|
2
|
+
import { $ as sameFileIdentity, at as isPathInside, it as isNotFoundPathError, ot as isSymlinkOpenError, rt as hasNodeErrorCode } from "./subsystem-B9soUuXQ.js";
|
|
3
|
+
import { M as logWarn } from "./agent-scope-XhXeu6xb.js";
|
|
4
|
+
import { n as assertNoPathAliasEscape } from "./path-alias-guards-CGcezGX3.js";
|
|
5
5
|
import { randomUUID } from "node:crypto";
|
|
6
6
|
import { constants } from "node:fs";
|
|
7
7
|
import os from "node:os";
|
|
8
8
|
import path from "node:path";
|
|
9
|
-
import
|
|
9
|
+
import fsp from "node:fs/promises";
|
|
10
10
|
import { pipeline } from "node:stream/promises";
|
|
11
11
|
|
|
12
12
|
//#region src/infra/fs-safe.ts
|
|
@@ -25,19 +25,19 @@ const ensureTrailingSep = (value) => value.endsWith(path.sep) ? value : value +
|
|
|
25
25
|
async function expandRelativePathWithHome(relativePath) {
|
|
26
26
|
let home = process.env.HOME || process.env.USERPROFILE || os.homedir();
|
|
27
27
|
try {
|
|
28
|
-
home = await
|
|
28
|
+
home = await fsp.realpath(home);
|
|
29
29
|
} catch {}
|
|
30
30
|
return expandHomePrefix(relativePath, { home });
|
|
31
31
|
}
|
|
32
32
|
async function openVerifiedLocalFile(filePath, options) {
|
|
33
33
|
try {
|
|
34
|
-
if ((await
|
|
34
|
+
if ((await fsp.lstat(filePath)).isDirectory()) throw new SafeOpenError("not-file", "not a file");
|
|
35
35
|
} catch (err) {
|
|
36
36
|
if (err instanceof SafeOpenError) throw err;
|
|
37
37
|
}
|
|
38
38
|
let handle;
|
|
39
39
|
try {
|
|
40
|
-
handle = await
|
|
40
|
+
handle = await fsp.open(filePath, OPEN_READ_FLAGS);
|
|
41
41
|
} catch (err) {
|
|
42
42
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "file not found");
|
|
43
43
|
if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
|
|
@@ -45,13 +45,13 @@ async function openVerifiedLocalFile(filePath, options) {
|
|
|
45
45
|
throw err;
|
|
46
46
|
}
|
|
47
47
|
try {
|
|
48
|
-
const [stat, lstat] = await Promise.all([handle.stat(),
|
|
48
|
+
const [stat, lstat] = await Promise.all([handle.stat(), fsp.lstat(filePath)]);
|
|
49
49
|
if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
|
|
50
50
|
if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
|
|
51
51
|
if (options?.rejectHardlinks && stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
52
52
|
if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during read");
|
|
53
|
-
const realPath = await
|
|
54
|
-
const realStat = await
|
|
53
|
+
const realPath = await fsp.realpath(filePath);
|
|
54
|
+
const realStat = await fsp.stat(realPath);
|
|
55
55
|
if (options?.rejectHardlinks && realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
56
56
|
if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
|
|
57
57
|
return {
|
|
@@ -69,7 +69,7 @@ async function openVerifiedLocalFile(filePath, options) {
|
|
|
69
69
|
async function resolvePathWithinRoot(params) {
|
|
70
70
|
let rootReal;
|
|
71
71
|
try {
|
|
72
|
-
rootReal = await
|
|
72
|
+
rootReal = await fsp.realpath(params.rootDir);
|
|
73
73
|
} catch (err) {
|
|
74
74
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "root dir not found");
|
|
75
75
|
throw err;
|
|
@@ -170,7 +170,7 @@ function buildAtomicWriteTempPath(targetPath) {
|
|
|
170
170
|
return path.join(dir, `.${base}.${process.pid}.${randomUUID()}.tmp`);
|
|
171
171
|
}
|
|
172
172
|
async function writeTempFileForAtomicReplace(params) {
|
|
173
|
-
const tempHandle = await
|
|
173
|
+
const tempHandle = await fsp.open(params.tempPath, OPEN_WRITE_CREATE_FLAGS, params.mode);
|
|
174
174
|
try {
|
|
175
175
|
if (typeof params.data === "string") await tempHandle.writeFile(params.data, params.encoding ?? "utf8");
|
|
176
176
|
else await tempHandle.writeFile(params.data);
|
|
@@ -180,7 +180,7 @@ async function writeTempFileForAtomicReplace(params) {
|
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
async function verifyAtomicWriteResult(params) {
|
|
183
|
-
const rootWithSep = ensureTrailingSep(await
|
|
183
|
+
const rootWithSep = ensureTrailingSep(await fsp.realpath(params.rootDir));
|
|
184
184
|
const opened = await openVerifiedLocalFile(params.targetPath, { rejectHardlinks: true });
|
|
185
185
|
try {
|
|
186
186
|
if (!sameFileIdentity(opened.stat, params.expectedStat)) throw new SafeOpenError("path-mismatch", "path changed during write");
|
|
@@ -191,13 +191,13 @@ async function verifyAtomicWriteResult(params) {
|
|
|
191
191
|
}
|
|
192
192
|
async function resolveOpenedFileRealPathForHandle(handle, ioPath) {
|
|
193
193
|
try {
|
|
194
|
-
return await
|
|
194
|
+
return await fsp.realpath(ioPath);
|
|
195
195
|
} catch (err) {
|
|
196
196
|
if (!isNotFoundPathError(err)) throw err;
|
|
197
197
|
}
|
|
198
198
|
const fdCandidates = process.platform === "linux" ? [`/proc/self/fd/${handle.fd}`, `/dev/fd/${handle.fd}`] : process.platform === "win32" ? [] : [`/dev/fd/${handle.fd}`];
|
|
199
199
|
for (const fdPath of fdCandidates) try {
|
|
200
|
-
return await
|
|
200
|
+
return await fsp.realpath(fdPath);
|
|
201
201
|
} catch {}
|
|
202
202
|
throw new SafeOpenError("path-mismatch", "unable to resolve opened file path");
|
|
203
203
|
}
|
|
@@ -212,10 +212,10 @@ async function openWritableFileWithinRoot(params) {
|
|
|
212
212
|
} catch (err) {
|
|
213
213
|
throw new SafeOpenError("invalid-path", "path alias escape blocked", { cause: err });
|
|
214
214
|
}
|
|
215
|
-
if (params.mkdir !== false) await
|
|
215
|
+
if (params.mkdir !== false) await fsp.mkdir(path.dirname(resolved), { recursive: true });
|
|
216
216
|
let ioPath = resolved;
|
|
217
217
|
try {
|
|
218
|
-
const resolvedRealPath = await
|
|
218
|
+
const resolvedRealPath = await fsp.realpath(resolved);
|
|
219
219
|
if (!isPathInside(rootWithSep, resolvedRealPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
|
|
220
220
|
ioPath = resolvedRealPath;
|
|
221
221
|
} catch (err) {
|
|
@@ -227,10 +227,10 @@ async function openWritableFileWithinRoot(params) {
|
|
|
227
227
|
let createdForWrite = false;
|
|
228
228
|
try {
|
|
229
229
|
try {
|
|
230
|
-
handle = await
|
|
230
|
+
handle = await fsp.open(ioPath, OPEN_WRITE_EXISTING_FLAGS, fileMode);
|
|
231
231
|
} catch (err) {
|
|
232
232
|
if (!isNotFoundPathError(err)) throw err;
|
|
233
|
-
handle = await
|
|
233
|
+
handle = await fsp.open(ioPath, OPEN_WRITE_CREATE_FLAGS, fileMode);
|
|
234
234
|
createdForWrite = true;
|
|
235
235
|
}
|
|
236
236
|
} catch (err) {
|
|
@@ -244,7 +244,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
244
244
|
if (!stat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
|
|
245
245
|
if (stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
246
246
|
try {
|
|
247
|
-
const lstat = await
|
|
247
|
+
const lstat = await fsp.lstat(ioPath);
|
|
248
248
|
if (lstat.isSymbolicLink() || !lstat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
|
|
249
249
|
if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during write");
|
|
250
250
|
} catch (err) {
|
|
@@ -252,7 +252,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
252
252
|
}
|
|
253
253
|
const realPath = await resolveOpenedFileRealPathForHandle(handle, ioPath);
|
|
254
254
|
openedRealPath = realPath;
|
|
255
|
-
const realStat = await
|
|
255
|
+
const realStat = await fsp.stat(realPath);
|
|
256
256
|
if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
|
|
257
257
|
if (realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
258
258
|
if (!isPathInside(rootWithSep, realPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
|
|
@@ -267,7 +267,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
267
267
|
const cleanupCreatedPath = createdForWrite && err instanceof SafeOpenError;
|
|
268
268
|
const cleanupPath = openedRealPath ?? ioPath;
|
|
269
269
|
await handle.close().catch(() => {});
|
|
270
|
-
if (cleanupCreatedPath) await
|
|
270
|
+
if (cleanupCreatedPath) await fsp.rm(cleanupPath, { force: true }).catch(() => {});
|
|
271
271
|
throw err;
|
|
272
272
|
}
|
|
273
273
|
}
|
|
@@ -290,7 +290,7 @@ async function writeFileWithinRoot(params) {
|
|
|
290
290
|
encoding: params.encoding,
|
|
291
291
|
mode: targetMode || 384
|
|
292
292
|
});
|
|
293
|
-
await
|
|
293
|
+
await fsp.rename(tempPath, destinationPath);
|
|
294
294
|
tempPath = null;
|
|
295
295
|
try {
|
|
296
296
|
await verifyAtomicWriteResult({
|
|
@@ -303,7 +303,7 @@ async function writeFileWithinRoot(params) {
|
|
|
303
303
|
throw err;
|
|
304
304
|
}
|
|
305
305
|
} finally {
|
|
306
|
-
if (tempPath) await
|
|
306
|
+
if (tempPath) await fsp.rm(tempPath, { force: true }).catch(() => {});
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
309
|
async function copyFileWithinRoot(params) {
|
|
@@ -331,7 +331,7 @@ async function copyFileWithinRoot(params) {
|
|
|
331
331
|
});
|
|
332
332
|
await pipeline(sourceStream, targetStream);
|
|
333
333
|
} catch (err) {
|
|
334
|
-
if (target?.createdForWrite) await
|
|
334
|
+
if (target?.createdForWrite) await fsp.rm(target.openedRealPath, { force: true }).catch(() => {});
|
|
335
335
|
throw err;
|
|
336
336
|
} finally {
|
|
337
337
|
if (!sourceClosedByStream) await source.handle.close().catch(() => {});
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { c as resolveOAuthDir, d as expandHomePrefix, i as resolveDefaultConfigCandidates, l as resolveOAuthPath, p as resolveRequiredHomeDir, r as resolveConfigPath, t as DEFAULT_GATEWAY_PORT, u as resolveStateDir } from "./paths-2qlGWRjc.js";
|
|
3
|
-
import { $ as openBoundaryFileSync, G as ConfigIncludeError, H as createFileLogWriter, J as resolveConfigIncludes, K as INCLUDE_KEY, L as getChildLogger, W as normalizeConfigPaths, X as isPathInside$2, Y as isBlockedObjectKey, _ as normalizeE164, b as resolveUserPath, ft as sanitizeHostExecEnv, g as isRecord$3, ht as resolveConfigEnvVars, k as logVerbose, lt as applyConfigEnvVars, m as escapeRegExp, mt as containsEnvVarReference, n as stripAnsi, ot as isPathInside$1, pt as MissingEnvVarError, q as readConfigIncludeFileWithGuards, t as createSubsystemLogger, w as sleep, y as resolveConfigDir } from "./subsystem-
|
|
3
|
+
import { $ as openBoundaryFileSync, G as ConfigIncludeError, H as createFileLogWriter, J as resolveConfigIncludes, K as INCLUDE_KEY, L as getChildLogger, W as normalizeConfigPaths, X as isPathInside$2, Y as isBlockedObjectKey, _ as normalizeE164, b as resolveUserPath, ft as sanitizeHostExecEnv, g as isRecord$3, ht as resolveConfigEnvVars, k as logVerbose, lt as applyConfigEnvVars, m as escapeRegExp, mt as containsEnvVarReference, n as stripAnsi, ot as isPathInside$1, pt as MissingEnvVarError, q as readConfigIncludeFileWithGuards, t as createSubsystemLogger, w as sleep, y as resolveConfigDir } from "./subsystem-DY5Ww-lX.js";
|
|
4
4
|
import { n as resolveProcessScopedMap, t as isPlainObject$2 } from "./plain-object-Doc_YkH1.js";
|
|
5
|
-
import { $ as normalizeAccountId$1, A as DEFAULT_AGENT_ID, H as normalizeAgentId, N as RAW_PEER_KEY_PREFIX, Q as DEFAULT_ACCOUNT_ID, a as resolveAgentEffectiveModelPrimary, c as resolveDefaultAgentId, dt as stripAgentSessionKeyPrefix, et as normalizeOptionalAccountId, g as toAgentModelListLike, h as resolveAgentModelPrimaryValue, lt as parseAgentSessionKey, n as listAgentIds, pt as runExec, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, z as expandIdentityLinksToMatchKeys } from "./agent-scope-
|
|
5
|
+
import { $ as normalizeAccountId$1, A as DEFAULT_AGENT_ID, H as normalizeAgentId, N as RAW_PEER_KEY_PREFIX, Q as DEFAULT_ACCOUNT_ID, a as resolveAgentEffectiveModelPrimary, c as resolveDefaultAgentId, dt as stripAgentSessionKeyPrefix, et as normalizeOptionalAccountId, g as toAgentModelListLike, h as resolveAgentModelPrimaryValue, lt as parseAgentSessionKey, n as listAgentIds, pt as runExec, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, z as expandIdentityLinksToMatchKeys } from "./agent-scope-ZEYA-60U.js";
|
|
6
6
|
import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-DpUzVZGF.js";
|
|
7
7
|
import { n as resolveConversationLabel, r as normalizeChatType } from "./conversation-label-BYREw_Ba.js";
|
|
8
8
|
import { createRequire } from "node:module";
|
|
9
9
|
import fs from "node:fs";
|
|
10
10
|
import os, { userInfo } from "node:os";
|
|
11
11
|
import path from "node:path";
|
|
12
|
-
import
|
|
12
|
+
import JSON5 from "json5";
|
|
13
13
|
import fs$1 from "node:fs/promises";
|
|
14
14
|
import { isDeepStrictEqual } from "node:util";
|
|
15
15
|
import { execFileSync, spawn } from "node:child_process";
|
|
@@ -18416,7 +18416,7 @@ function resolveConfigPathForDeps(deps) {
|
|
|
18416
18416
|
function normalizeDeps(overrides = {}) {
|
|
18417
18417
|
return {
|
|
18418
18418
|
fs: overrides.fs ?? fs,
|
|
18419
|
-
json5: overrides.json5 ??
|
|
18419
|
+
json5: overrides.json5 ?? JSON5,
|
|
18420
18420
|
env: overrides.env ?? process.env,
|
|
18421
18421
|
homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
|
|
18422
18422
|
configPath: overrides.configPath ?? "",
|
|
@@ -18427,11 +18427,11 @@ function maybeLoadDotEnvForConfig(env) {
|
|
|
18427
18427
|
if (env !== process.env) return;
|
|
18428
18428
|
loadDotEnv({ quiet: true });
|
|
18429
18429
|
}
|
|
18430
|
-
function parseConfigJson5(raw, json5
|
|
18430
|
+
function parseConfigJson5(raw, json5 = JSON5) {
|
|
18431
18431
|
try {
|
|
18432
18432
|
return {
|
|
18433
18433
|
ok: true,
|
|
18434
|
-
parsed: json5
|
|
18434
|
+
parsed: json5.parse(raw)
|
|
18435
18435
|
};
|
|
18436
18436
|
} catch (err) {
|
|
18437
18437
|
return {
|
|
@@ -23771,7 +23771,7 @@ function createPluginRegistry(registryParams) {
|
|
|
23771
23771
|
configurable: true,
|
|
23772
23772
|
value: {
|
|
23773
23773
|
...registryParams.runtime.signals,
|
|
23774
|
-
nudge: async (input) => (await import("./nudge-
|
|
23774
|
+
nudge: async (input) => (await import("./nudge-BmokWas4.js").then((n) => n.t)).requestAuthorizedNudge({
|
|
23775
23775
|
kind: "plugin",
|
|
23776
23776
|
pluginId: record.id
|
|
23777
23777
|
}, input)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { D as runExec } from "./agent-scope-XhXeu6xb.js";
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fsp from "node:fs/promises";
|
|
5
5
|
import { fileTypeFromBuffer } from "file-type";
|
|
6
6
|
|
|
7
7
|
//#region src/media/constants.ts
|
|
@@ -233,11 +233,11 @@ function readJpegExifOrientation(buffer) {
|
|
|
233
233
|
return null;
|
|
234
234
|
}
|
|
235
235
|
async function withTempDir(fn) {
|
|
236
|
-
const dir = await
|
|
236
|
+
const dir = await fsp.mkdtemp(path.join(os.tmpdir(), "openclaw-img-"));
|
|
237
237
|
try {
|
|
238
238
|
return await fn(dir);
|
|
239
239
|
} finally {
|
|
240
|
-
await
|
|
240
|
+
await fsp.rm(dir, {
|
|
241
241
|
recursive: true,
|
|
242
242
|
force: true
|
|
243
243
|
}).catch(() => {});
|
|
@@ -246,7 +246,7 @@ async function withTempDir(fn) {
|
|
|
246
246
|
async function sipsMetadataFromBuffer(buffer) {
|
|
247
247
|
return await withTempDir(async (dir) => {
|
|
248
248
|
const input = path.join(dir, "in.img");
|
|
249
|
-
await
|
|
249
|
+
await fsp.writeFile(input, buffer);
|
|
250
250
|
const { stdout } = await runExec("/usr/bin/sips", [
|
|
251
251
|
"-g",
|
|
252
252
|
"pixelWidth",
|
|
@@ -274,7 +274,7 @@ async function sipsResizeToJpeg(params) {
|
|
|
274
274
|
return await withTempDir(async (dir) => {
|
|
275
275
|
const input = path.join(dir, "in.img");
|
|
276
276
|
const output = path.join(dir, "out.jpg");
|
|
277
|
-
await
|
|
277
|
+
await fsp.writeFile(input, params.buffer);
|
|
278
278
|
await runExec("/usr/bin/sips", [
|
|
279
279
|
"-Z",
|
|
280
280
|
String(Math.max(1, Math.round(params.maxSide))),
|
|
@@ -291,14 +291,14 @@ async function sipsResizeToJpeg(params) {
|
|
|
291
291
|
timeoutMs: 2e4,
|
|
292
292
|
maxBuffer: 1024 * 1024
|
|
293
293
|
});
|
|
294
|
-
return await
|
|
294
|
+
return await fsp.readFile(output);
|
|
295
295
|
});
|
|
296
296
|
}
|
|
297
297
|
async function sipsConvertToJpeg(buffer) {
|
|
298
298
|
return await withTempDir(async (dir) => {
|
|
299
299
|
const input = path.join(dir, "in.heic");
|
|
300
300
|
const output = path.join(dir, "out.jpg");
|
|
301
|
-
await
|
|
301
|
+
await fsp.writeFile(input, buffer);
|
|
302
302
|
await runExec("/usr/bin/sips", [
|
|
303
303
|
"-s",
|
|
304
304
|
"format",
|
|
@@ -310,7 +310,7 @@ async function sipsConvertToJpeg(buffer) {
|
|
|
310
310
|
timeoutMs: 2e4,
|
|
311
311
|
maxBuffer: 1024 * 1024
|
|
312
312
|
});
|
|
313
|
-
return await
|
|
313
|
+
return await fsp.readFile(output);
|
|
314
314
|
});
|
|
315
315
|
}
|
|
316
316
|
async function getImageMetadata(buffer) {
|
|
@@ -361,7 +361,7 @@ async function sipsApplyOrientation(buffer, orientation) {
|
|
|
361
361
|
return await withTempDir(async (dir) => {
|
|
362
362
|
const input = path.join(dir, "in.jpg");
|
|
363
363
|
const output = path.join(dir, "out.jpg");
|
|
364
|
-
await
|
|
364
|
+
await fsp.writeFile(input, buffer);
|
|
365
365
|
await runExec("/usr/bin/sips", [
|
|
366
366
|
...ops,
|
|
367
367
|
input,
|
|
@@ -371,7 +371,7 @@ async function sipsApplyOrientation(buffer, orientation) {
|
|
|
371
371
|
timeoutMs: 2e4,
|
|
372
372
|
maxBuffer: 1024 * 1024
|
|
373
373
|
});
|
|
374
|
-
return await
|
|
374
|
+
return await fsp.readFile(output);
|
|
375
375
|
});
|
|
376
376
|
}
|
|
377
377
|
async function resizeToJpeg(params) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { f as logVerbose, h as shouldLogVerbose, st as resolveUserPath } from "./subsystem-DoQFckDJ.js";
|
|
2
2
|
import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-DONWlnn2.js";
|
|
3
3
|
import { o as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-DU_cJ64Q.js";
|
|
4
|
-
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-
|
|
5
|
-
import { a as chunkText } from "./chunk-
|
|
4
|
+
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-DxfQJ1J0.js";
|
|
5
|
+
import { a as chunkText } from "./chunk-Mk3BzTo4.js";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import fs from "node:fs/promises";
|
|
8
8
|
import { fileURLToPath } from "node:url";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { M as shouldLogVerbose, b as resolveUserPath, k as logVerbose } from "./subsystem-
|
|
2
|
-
import { o as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-
|
|
3
|
-
import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-
|
|
4
|
-
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-
|
|
5
|
-
import { a as chunkText } from "./chunk-
|
|
1
|
+
import { M as shouldLogVerbose, b as resolveUserPath, k as logVerbose } from "./subsystem-B9soUuXQ.js";
|
|
2
|
+
import { o as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-qCaN71tM.js";
|
|
3
|
+
import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-BsxkG0xi.js";
|
|
4
|
+
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-B6JVlGQz.js";
|
|
5
|
+
import { a as chunkText } from "./chunk-D8Ei1sgE.js";
|
|
6
6
|
import path from "node:path";
|
|
7
|
-
import
|
|
7
|
+
import fsp from "node:fs/promises";
|
|
8
8
|
import { fileURLToPath } from "node:url";
|
|
9
9
|
import MarkdownIt from "markdown-it";
|
|
10
10
|
|
|
@@ -36,7 +36,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
|
|
|
36
36
|
const roots = localRoots ?? getDefaultLocalRoots();
|
|
37
37
|
let resolved;
|
|
38
38
|
try {
|
|
39
|
-
resolved = await
|
|
39
|
+
resolved = await fsp.realpath(mediaPath);
|
|
40
40
|
} catch {
|
|
41
41
|
resolved = path.resolve(mediaPath);
|
|
42
42
|
}
|
|
@@ -53,7 +53,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
|
|
|
53
53
|
for (const root of roots) {
|
|
54
54
|
let resolvedRoot;
|
|
55
55
|
try {
|
|
56
|
-
resolvedRoot = await
|
|
56
|
+
resolvedRoot = await fsp.realpath(root);
|
|
57
57
|
} catch {
|
|
58
58
|
resolvedRoot = path.resolve(root);
|
|
59
59
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { M as shouldLogVerbose, b as resolveUserPath, k as logVerbose } from "./subsystem-
|
|
2
|
-
import { o as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-
|
|
3
|
-
import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-
|
|
4
|
-
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-
|
|
5
|
-
import { a as chunkText } from "./chunk-
|
|
1
|
+
import { M as shouldLogVerbose, b as resolveUserPath, k as logVerbose } from "./subsystem-DY5Ww-lX.js";
|
|
2
|
+
import { o as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-Bcqf6cqh.js";
|
|
3
|
+
import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-WTO9fxZR.js";
|
|
4
|
+
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-B5m0TTRD.js";
|
|
5
|
+
import { a as chunkText } from "./chunk-Bl3bFkc1.js";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import fs from "node:fs/promises";
|
|
8
8
|
import { fileURLToPath } from "node:url";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import
|
|
3
|
+
import fsp from "node:fs/promises";
|
|
4
4
|
|
|
5
5
|
//#region src/infra/json-files.ts
|
|
6
6
|
async function readJsonFile(filePath) {
|
|
7
7
|
try {
|
|
8
|
-
const raw = await
|
|
8
|
+
const raw = await fsp.readFile(filePath, "utf8");
|
|
9
9
|
return JSON.parse(raw);
|
|
10
10
|
} catch {
|
|
11
11
|
return null;
|
|
@@ -20,7 +20,7 @@ async function writeJsonAtomic(filePath, value, options) {
|
|
|
20
20
|
}
|
|
21
21
|
async function chmodIfSupported(filePath, mode) {
|
|
22
22
|
try {
|
|
23
|
-
await
|
|
23
|
+
await fsp.chmod(filePath, mode);
|
|
24
24
|
} catch (err) {
|
|
25
25
|
if (process.platform === "win32") return;
|
|
26
26
|
throw err;
|
|
@@ -31,18 +31,18 @@ async function writeTextAtomic(filePath, content, options) {
|
|
|
31
31
|
const payload = options?.appendTrailingNewline && !content.endsWith("\n") ? `${content}\n` : content;
|
|
32
32
|
const mkdirOptions = { recursive: true };
|
|
33
33
|
if (typeof options?.ensureDirMode === "number") mkdirOptions.mode = options.ensureDirMode;
|
|
34
|
-
await
|
|
34
|
+
await fsp.mkdir(path.dirname(filePath), mkdirOptions);
|
|
35
35
|
const tmp = `${filePath}.${randomUUID()}.tmp`;
|
|
36
36
|
try {
|
|
37
|
-
await
|
|
37
|
+
await fsp.writeFile(tmp, payload, {
|
|
38
38
|
encoding: "utf8",
|
|
39
39
|
mode
|
|
40
40
|
});
|
|
41
41
|
await chmodIfSupported(tmp, mode);
|
|
42
|
-
await
|
|
42
|
+
await fsp.rename(tmp, filePath);
|
|
43
43
|
await chmodIfSupported(filePath, mode);
|
|
44
44
|
} finally {
|
|
45
|
-
await
|
|
45
|
+
await fsp.rm(tmp, { force: true }).catch(() => void 0);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
function createAsyncLock() {
|