wednesdayai 0.5.1-dev.41 → 0.5.1-dev.42
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-DUbhjnHb.js → agent-scope-BJFJ0deZ.js} +18 -18
- package/dist/{agent-scope-CXfIHPTl.js → agent-scope-CoIdVzmg.js} +2 -2
- package/dist/{agent-turn-execute-8DU-jztX.js → agent-turn-execute-CIlMMXNu.js} +168 -168
- package/dist/{agent-turn-runner-y0WL6xuI.js → agent-turn-runner-BkWusthz.js} +3 -3
- package/dist/{agent-turn-runner-BJqs23F_.js → agent-turn-runner-FwkD42Me.js} +6 -6
- package/dist/{agent-turn-runner-DHc4lH66.js → agent-turn-runner-SxjOzPCD.js} +6 -6
- package/dist/{api-key-rotation-DAI1NT_a.js → api-key-rotation-1GnreUfv.js} +1 -1
- package/dist/{api-key-rotation-PK29aYV9.js → api-key-rotation-1bTDnvBU.js} +2 -2
- package/dist/{api-key-rotation-B8RAiYZ_.js → api-key-rotation-BWj1Itf-.js} +2 -2
- package/dist/{audio-preflight-DaYu-alJ.js → audio-preflight-CCjuApbs.js} +25 -25
- package/dist/{audio-preflight-Cio-wP6C.js → audio-preflight-CKxOmHZL.js} +22 -22
- package/dist/{audio-preflight-Bdn8EyXv.js → audio-preflight-cWE_jPq7.js} +14 -14
- package/dist/{audio-transcription-runner-MJ65xlDX.js → audio-transcription-runner-Bk1wu6OC.js} +8 -8
- package/dist/{audio-transcription-runner-DW04B1B-.js → audio-transcription-runner-DgFYIaIw.js} +12 -12
- package/dist/{audio-transcription-runner-D_-_mf4m.js → audio-transcription-runner-DrIyj8a5.js} +25 -25
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +55 -55
- package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-journal/handler.js +55 -55
- package/dist/bundled/session-memory/handler.js +55 -55
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{chat-content-DtaSiJ_7.js → chat-content-B7yKTLAY.js} +9 -9
- package/dist/{chat-content-DIjp-kW-.js → chat-content-BdADRLL0.js} +17 -17
- package/dist/{chat-content-tQ21BnhN.js → chat-content-BgW4rG28.js} +24 -24
- package/dist/{chrome-DxiDoVpi.js → chrome-DNTX4D1k.js} +13 -13
- package/dist/{chrome-C9TkYQeh.js → chrome-DQ2kyZpc.js} +14 -14
- package/dist/{chrome-BRVJGvQa.js → chrome-W4kkryVf.js} +5 -5
- package/dist/{chunk-DCCRrNDr.js → chunk-BAxcOCcV.js} +3 -3
- package/dist/{chunk-CGvXEMAJ.js → chunk-BBj2TedD.js} +1 -1
- package/dist/{chunk-50mU2Avf.js → chunk-BEuk6eCG.js} +3 -3
- package/dist/{command-queue-De2GI8TP.js → command-queue-CRm1AADE.js} +1 -1
- package/dist/{command-queue-yDJ733aN.js → command-queue-D_saM8MV.js} +1 -1
- package/dist/{commands-registry-CzTzqbi9.js → commands-registry-C-BDBl_b.js} +2 -2
- package/dist/{commands-registry-C3LKhQLY.js → commands-registry-CtR9mXss.js} +2 -2
- package/dist/{commands-registry-BO2o7Un9.js → commands-registry-b4F_78R4.js} +1 -1
- package/dist/{config-D5tWLhng.js → config-CPcuaNsB.js} +26 -26
- package/dist/config.js +3 -3
- package/dist/{credentials-DdZjLLBj.js → credentials-2Kd9Ahu7.js} +1 -1
- package/dist/{credentials-BAWD9O8L.js → credentials-BhiiI_Nr.js} +1 -1
- package/dist/{credentials-GPboJeMC.js → credentials-U5jLZxJ-.js} +1 -1
- package/dist/{deliver-Cqo4_R0v.js → deliver-Ap_fWjsf.js} +14 -14
- package/dist/{deliver-x1MM90HA.js → deliver-BQSIZZRd.js} +11 -11
- package/dist/{deliver-DeMElZFE.js → deliver-BufoibUD.js} +15 -15
- package/dist/{diagnostic-Nq6B3DZr.js → diagnostic--vAGyKdB.js} +3 -3
- package/dist/{diagnostic-BqFtliY1.js → diagnostic-BSnQ1U_E.js} +3 -3
- package/dist/{plugin-sdk/errors-BcCM5PTR.js → errors-BzL6hu4G.js} +1 -1
- package/dist/{errors-D8k7j4A4.js → errors-DnOtx_vg.js} +1 -1
- package/dist/extensionAPI.js +40 -40
- package/dist/{fetch-TzOudNO4.js → fetch-BJ9kDOw8.js} +7 -7
- package/dist/{fetch-CLvElPgY.js → fetch-DJPbv7La.js} +1 -1
- package/dist/{fetch-Cpgrvssj.js → fetch-DQjTi7nc.js} +1 -1
- package/dist/{fetch-CHncmQms.js → fetch-DUVm-Rj1.js} +7 -7
- package/dist/{fetch-DG4n5iR6.js → fetch-DmpLwwor.js} +1 -1
- package/dist/{fetch-BzeUsif1.js → fetch-JiVpsY-F.js} +2 -2
- package/dist/{fetch-guard-kz-XQlCx.js → fetch-guard-BySb6coS.js} +2 -2
- package/dist/{fetch-guard-BZlxmZcA.js → fetch-guard-CRERUrFK.js} +2 -2
- package/dist/{fetch-guard-D49piGJ5.js → fetch-guard-Dn6Z6n6a.js} +1 -1
- package/dist/{frontmatter-BDLxOane.js → frontmatter-NYeLKFIP.js} +3 -3
- package/dist/{fs-safe-BH37Yhl8.js → fs-safe-C3qJHn62.js} +25 -25
- package/dist/{fs-safe-BjrptUz1.js → fs-safe-DOdeIkaS.js} +3 -3
- package/dist/{plugin-sdk/image-ops-1WkFRYfC.js → image-ops-BTgGxcIG.js} +2 -2
- package/dist/{image-ops-BWgZn39_.js → image-ops-DEUr_rAC.js} +1 -1
- package/dist/{plugin-sdk/ir-BnNIPrDz.js → ir-B0rUqFWs.js} +5 -5
- package/dist/{ir-vVwcX8JG.js → ir-Bra81NIe.js} +2 -2
- package/dist/{ir-Btci3Wse.js → ir-IKFrcD2H.js} +8 -8
- package/dist/{json-files-C3L53Qrl.js → json-files-DNv3G6Vg.js} +7 -7
- package/dist/{legacy-names-BKv-k5-D.js → legacy-names-D7ywm6_7.js} +1 -1
- package/dist/llm-slug-generator.js +55 -55
- package/dist/{manager-Nw8a10KA.js → manager-3Exjl08V.js} +7 -7
- package/dist/{manager-BPk0HUHz.js → manager-Cb_Lde6Q.js} +14 -14
- package/dist/{manager-DRfrqzWR.js → manager-DIIInXxQ.js} +4 -4
- package/dist/{markdown-tables-CzhZ9VCB.js → markdown-tables-7TebvIj0.js} +1 -1
- package/dist/{markdown-tables-BJqhUgli.js → markdown-tables-Crj_Y0Qx.js} +2 -2
- package/dist/{markdown-tables-By4yQcHS.js → markdown-tables-lzV8Hoxc.js} +2 -2
- package/dist/{model-selection-DkRYDpst.js → model-selection-DFW5CGMj.js} +1 -1
- package/dist/{model-selection-JA-6f5ss.js → model-selection-_StPBPAp.js} +9 -9
- package/dist/{models-config-Cbzv_acs.js → models-config-D3M9er_C.js} +2 -2
- package/dist/{models-config-TH00YNHC.js → models-config-DkEpc_7A.js} +7 -7
- package/dist/{models-config-BaSANr-E.js → models-config-tNRAxYqz.js} +1 -1
- package/dist/{nudge-Da1ePscI.js → nudge-B06CLLon.js} +9 -9
- package/dist/{nudge-DVGzMWUi.js → nudge-BR_K1LnT.js} +16 -16
- package/dist/{nudge-Chvj0Rw2.js → nudge-DklIe0bB.js} +10 -10
- package/dist/{outbound-attachment-DegoJUYB.js → outbound-attachment-BeSAM8qU.js} +1 -1
- package/dist/{outbound-attachment-CZwlqfbE.js → outbound-attachment-CCQDMmDH.js} +2 -2
- package/dist/{outbound-attachment-DAUmCye_.js → outbound-attachment-DFIzmC4e.js} +2 -2
- package/dist/{outbound-message-hooks-CIrC0qAA.js → outbound-message-hooks-Bn5_bObR.js} +5 -5
- package/dist/{outbound-message-hooks-Bqu2fu_R.js → outbound-message-hooks-C9zh-qk0.js} +4 -4
- package/dist/{outbound-message-hooks-bMw-LLuz.js → outbound-message-hooks-CrrbzX7U.js} +2 -2
- package/dist/{path-alias-guards-CGcezGX3.js → path-alias-guards-B9AcbQl6.js} +3 -3
- package/dist/{plugin-sdk/path-alias-guards-D1I2TIj4.js → path-alias-guards-aXY57qPv.js} +1 -1
- package/dist/{pi-embedded-BSVP6xD2.js → pi-embedded-CL5jkXds.js} +64 -64
- package/dist/{pi-embedded-W4tWwQw6.js → pi-embedded-DGpkqagr.js} +80 -80
- package/dist/{pi-embedded-utils-DF7kfQx2.js → pi-embedded-utils-CQ3KPjMe.js} +3 -3
- package/dist/{pi-embedded-utils-BF4B99Db.js → pi-embedded-utils-D9zLeiKy.js} +1 -1
- package/dist/{pi-embedded-utils-B6eeyw2H.js → pi-embedded-utils-DD7HmeWR.js} +3 -3
- package/dist/{pi-model-discovery-ym24jTFO.js → pi-model-discovery-BTuzuVh1.js} +1 -1
- package/dist/{pi-model-discovery-VTZCKDCd.js → pi-model-discovery-C4WE3mR2.js} +1 -1
- package/dist/{pi-model-discovery-B5oKc4R3.js → pi-model-discovery-DiGB5xAq.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-BnbrZIzh.js → agent-scope-Cy5bPtkD.js} +1 -1
- package/dist/plugin-sdk/{agent-turn-execute-Bj1_MqWi.js → agent-turn-execute-Cr_GYkDb.js} +79 -79
- package/dist/plugin-sdk/{agent-turn-runner-zbex5xar.js → agent-turn-runner-CBR6kAt-.js} +6 -6
- package/dist/plugin-sdk/{api-key-rotation-Dpyf5O6z.js → api-key-rotation-BKcVxTy8.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-DlNHpUpW.js → audio-preflight-BVKGoA22.js} +23 -23
- package/dist/plugin-sdk/{audio-transcription-runner-BNWmQAJ3.js → audio-transcription-runner-Cvfignlt.js} +10 -10
- package/dist/plugin-sdk/{chrome-DwoV5WFU.js → chrome-Djvom4Ij.js} +6 -6
- package/dist/plugin-sdk/{chunk-CBTJQenE.js → chunk-Bh4ffo9K.js} +3 -3
- package/dist/plugin-sdk/{command-queue-hSL_BIod.js → command-queue-DxcAKezg.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-vhM5U22x.js → commands-registry-CCiWhIrU.js} +2 -2
- package/dist/plugin-sdk/{credentials-oF38Hm9r.js → credentials-BFdx8hCQ.js} +1 -1
- package/dist/plugin-sdk/{deliver-CkQB8s_s.js → deliver-Cf-VdZA7.js} +14 -14
- package/dist/plugin-sdk/{diagnostic-nUTVaBEe.js → diagnostic-BpXW-Rhw.js} +3 -3
- package/dist/{errors-BWpk4nzX.js → plugin-sdk/errors-BH3DYZVB.js} +1 -1
- package/dist/plugin-sdk/{fetch-DV_cKD5m.js → fetch-B9WuvLLv.js} +7 -7
- package/dist/plugin-sdk/{fetch-BNHoA66Z.js → fetch-BxGJD3sH.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-Dpd7hJ0h.js → fetch-guard-CJhIVznN.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-CnAPtYPG.js → fs-safe-BQ8e0fFk.js} +3 -3
- package/dist/{image-ops-C54shfkj.js → plugin-sdk/image-ops-CqatVl0e.js} +12 -12
- package/dist/{ir-SWdqg35s.js → plugin-sdk/ir-C1cLQG0N.js} +5 -5
- package/dist/plugin-sdk/{manager-uIw894nB.js → manager-xGWNrW5i.js} +7 -7
- package/dist/plugin-sdk/{markdown-tables-D6Jl1s9s.js → markdown-tables-DnMUQn1V.js} +2 -2
- package/dist/plugin-sdk/{model-auth-Beiv1ujI.js → model-auth-pNsZhRxq.js} +7 -7
- package/dist/plugin-sdk/{models-config-DrzOHxl5.js → models-config-d-LFEKVs.js} +2 -2
- package/dist/plugin-sdk/{nudge-czM3OOTT.js → nudge-BvirROp6.js} +8 -8
- package/dist/plugin-sdk/{openai-compatible-video-Dy57wpNv.js → openai-compatible-video-BxPbkLMy.js} +7 -7
- package/dist/plugin-sdk/{outbound-attachment-BoSR20RK.js → outbound-attachment-DkIWM5yK.js} +2 -2
- package/dist/plugin-sdk/{outbound-message-hooks-eUNVCJ0m.js → outbound-message-hooks-DsAvrOUy.js} +4 -4
- package/dist/{path-alias-guards-CgO2FpVx.js → plugin-sdk/path-alias-guards-CF0cvXKB.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-BRSkUtFR.js → pi-embedded-helpers-Ctve63Vr.js} +15 -15
- package/dist/plugin-sdk/{pi-embedded-utils-DcsHTJ1m.js → pi-embedded-utils-cecBA96E.js} +3 -3
- package/dist/plugin-sdk/{pi-model-discovery-HVno_0HD.js → pi-model-discovery-CMOEq078.js} +1 -1
- package/dist/plugin-sdk/provider-media-understanding.js +20 -20
- package/dist/plugin-sdk/{pw-ai-B1OqkFDb.js → pw-ai-Bl2Z9GYg.js} +10 -10
- package/dist/plugin-sdk/{qmd-manager-Ip6QnhA7.js → qmd-manager-DY9c1S_2.js} +8 -8
- package/dist/plugin-sdk/{qmd-scope-DMNjwnEQ.js → qmd-scope-C3rw3Qjd.js} +1 -1
- package/dist/plugin-sdk/{query-expansion-DV-ECmRb.js → query-expansion-BhXha2GI.js} +2 -2
- package/dist/plugin-sdk/{recorder-XQ8ZjG7j.js → recorder-DccHbgBz.js} +2 -2
- package/dist/plugin-sdk/{redact-C3T6IWmQ.js → redact-CXDVzhSq.js} +1 -1
- package/dist/plugin-sdk/{replies-HCqRS_IF.js → replies-CyyZdjYH.js} +5 -5
- package/dist/plugin-sdk/{reply-directives-Bn4oBJnk.js → reply-directives-CXKYiQC1.js} +2 -2
- package/dist/{reply-prefix-BTUna5vE.js → plugin-sdk/reply-prefix-DL3DiQEo.js} +1 -1
- package/dist/plugin-sdk/{resolve-route-Djrs4IWv.js → resolve-route-CsiTWvoi.js} +3 -3
- package/dist/plugin-sdk/{runs-DN-UxJ44.js → runs-ByM3uA8B.js} +8 -8
- package/dist/plugin-sdk/{send-DnJb7LiP.js → send-BwuMsQ_p.js} +8 -8
- package/dist/plugin-sdk/{send-AstP-BDn.js → send-D0UAWWai.js} +8 -8
- package/dist/plugin-sdk/{send-D3hVSNy0.js → send-Dgf6n9kX.js} +6 -6
- package/dist/plugin-sdk/{send-D5C72eu6.js → send-qUR5w2lM.js} +7 -7
- package/dist/plugin-sdk/{session-meta-pKpwf1nQ.js → session-meta-B_alDqcD.js} +1 -1
- package/dist/plugin-sdk/{sessions-BfBjVuaP.js → sessions-CkJfRajZ.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-Bk_STwKa.js → skill-commands-D5O0FXiW.js} +4 -4
- package/dist/plugin-sdk/{skills-BArFQgKX.js → skills-ByCpoIW7.js} +6 -6
- package/dist/plugin-sdk/{ssrf-B2UnPTf3.js → ssrf-aLKAjCHj.js} +1 -1
- package/dist/plugin-sdk/{store-D8eITlWs.js → store-KaVQ5gHj.js} +2 -2
- package/dist/plugin-sdk/{subsystem-Btq0amiz.js → subsystem-DGPv0F8I.js} +4 -4
- package/dist/plugin-sdk/{tables-Bj_zeTwr.js → tables-CONj5xDV.js} +1 -1
- package/dist/plugin-sdk/{tokens-mfZMXas7.js → tokens-DUGBy1gM.js} +1 -1
- package/dist/plugin-sdk/{tool-loop-detection-CnFqoQKh.js → tool-loop-detection-Cl4-Vsd_.js} +1 -1
- package/dist/plugin-sdk/{user-run-recording-DQBPNzif.js → user-run-recording--8aaZMPs.js} +2 -2
- package/dist/plugin-sdk/{ws-DN6RmfyQ.js → ws-C7BGsi5P.js} +1 -1
- package/dist/{proxy-env-DKs0W5v1.js → proxy-env-Bw8nAERJ.js} +1 -1
- package/dist/{proxy-env-C0UK-5dm.js → proxy-env-RzbogHFe.js} +1 -1
- package/dist/{proxy-env-DtzLr6mZ.js → proxy-env-dFmQfhFb.js} +1 -1
- package/dist/{pw-ai-KPNOiYzf.js → pw-ai-B2n3DHPt.js} +12 -12
- package/dist/{pw-ai-CEk9Jaqd.js → pw-ai-C6ZFN6As.js} +13 -13
- package/dist/{pw-ai-8QlHyDLL.js → pw-ai-D55f0Pr9.js} +4 -4
- package/dist/{qmd-manager-BmiJlIMN.js → qmd-manager-BZSlXT1A.js} +23 -23
- package/dist/{qmd-manager-B_ED_NmL.js → qmd-manager-C4rOtrQS.js} +2 -2
- package/dist/{qmd-manager-BFUaPUn-.js → qmd-manager-jLSZ3VID.js} +10 -10
- package/dist/{qmd-scope-DLLTbQwp.js → qmd-scope-BN4oVeLu.js} +1 -1
- package/dist/{qmd-scope-CUCeRWxr.js → qmd-scope-BOfwIKTy.js} +1 -1
- package/dist/{query-expansion-DLN1Vjgr.js → query-expansion-BDAO12Ha.js} +11 -11
- package/dist/{query-expansion-BVj0lCGG.js → query-expansion-Dm_RIg6M.js} +1 -1
- package/dist/{query-expansion-CbOJZTFH.js → query-expansion-UPsVmvEm.js} +2 -2
- package/dist/{recorder-jnBdoV4s.js → recorder-Bp_onP2d.js} +2 -2
- package/dist/{recorder-BowlGHGe.js → recorder-DRV1SIKe.js} +1 -1
- package/dist/{recorder-CndF3Klo.js → recorder-DvYXNusz.js} +2 -2
- package/dist/{redact-C8xjZT-F.js → redact-CysJDryP.js} +1 -1
- package/dist/{redact-B6sHOW29.js → redact-D--orJnz.js} +1 -1
- package/dist/{replies-7qxW8HcU.js → replies-BL7cHT2h.js} +4 -4
- package/dist/{replies-CoEfccKv.js → replies-DAavcLc9.js} +5 -5
- package/dist/{replies-lKn2Mrkb.js → replies-DfoUf3N4.js} +5 -5
- package/dist/{reply-directives-BclP76MA.js → reply-directives-B_wfvntf.js} +2 -2
- package/dist/{reply-directives-DarQZxqY.js → reply-directives-D4Hftiqp.js} +1 -1
- package/dist/{reply-directives-Djre3xI1.js → reply-directives-DsGD4aw1.js} +2 -2
- package/dist/{plugin-sdk/reply-prefix-CCyygbH2.js → reply-prefix-C08CPcgE.js} +1 -1
- package/dist/{reply-prefix-DiyN1oc7.js → reply-prefix-gWrzAQtZ.js} +1 -1
- package/dist/{resolve-route-ClI5pltd.js → resolve-route-BP1OpZqn.js} +3 -3
- package/dist/{resolve-route-B15qdahX.js → resolve-route-D96zWGGF.js} +1 -1
- package/dist/{resolve-route-BmA3wi9D.js → resolve-route-RQpYXVl1.js} +4 -4
- package/dist/{runs-efmPtrdw.js → runs-Bf_VVVBE.js} +8 -8
- package/dist/{runs-5zWtWfx5.js → runs-CAO_rrxJ.js} +5 -5
- package/dist/{runs-DffCseDM.js → runs-DGr28sFu.js} +8 -8
- package/dist/{send-TVImOmCV.js → send-BOm8dqOB.js} +13 -13
- package/dist/{send-ChgWfhHL.js → send-C-m_74Nc.js} +8 -8
- package/dist/{send-B3c56zXa.js → send-C0kXNcyD.js} +8 -8
- package/dist/{send-CLnmNoGF.js → send-CNMPyQyQ.js} +7 -7
- package/dist/{send-Dy4zxtn3.js → send-CS1yI0B4.js} +6 -6
- package/dist/{send-BZrEBJKt.js → send-DFsyNWFI.js} +7 -7
- package/dist/{send-NLqVlKnJ.js → send-DYRbKT7y.js} +6 -6
- package/dist/{send-Co-6tb50.js → send-DkJqx60r.js} +8 -8
- package/dist/{send-Cl-ugSMv.js → send-Dv__vEQx.js} +5 -5
- package/dist/{send-DJypuRge.js → send-FQrlCKRx.js} +6 -6
- package/dist/{send-DdyIJ_uy.js → send-T9aTnSyS.js} +4 -4
- package/dist/{send-DkHxW8Pg.js → send-oHqfck_E.js} +6 -6
- package/dist/{session-meta-CE9Oi0tA.js → session-meta-BCY_pfg7.js} +1 -1
- package/dist/{session-meta-DgpwY0ah.js → session-meta-CyokAxEY.js} +1 -1
- package/dist/{session-meta-DDeeNkQv.js → session-meta-DVKEsZNl.js} +1 -1
- package/dist/{sessions-B-dL4q0P.js → sessions-A1wDmvXO.js} +1 -1
- package/dist/{sessions-DkSPJ2k9.js → sessions-CzjW7wiR.js} +4 -4
- package/dist/{sessions-BgTvNzNv.js → sessions-IqyeyMXp.js} +4 -4
- package/dist/{skill-commands-K9_D6a_V.js → skill-commands-BfK22Jmi.js} +4 -4
- package/dist/{skill-commands-1Axnvvz6.js → skill-commands-CZ8IAEbM.js} +2 -2
- package/dist/{skill-commands-BOG-33Ja.js → skill-commands-DYJDIogS.js} +5 -5
- package/dist/{skills-CrNvxe8D.js → skills-D6riKXOf.js} +6 -6
- package/dist/{skills-CMwL1GBr.js → skills-D7jLGkoP.js} +1 -1
- package/dist/{skills-Ci9t7Gax.js → skills-jb4bSwT6.js} +4 -4
- package/dist/{store-DJPbhmBq.js → store-Bt16sey6.js} +2 -2
- package/dist/{store-B6wZFu_5.js → store-CsI6l-8d.js} +7 -7
- package/dist/{subsystem-B9soUuXQ.js → subsystem-BTMrlJ-R.js} +7 -7
- package/dist/{tables-rCzAF-en.js → tables-BFlTcF5k.js} +1 -1
- package/dist/{tables-CYp9eWuv.js → tables-BTIafSNy.js} +1 -1
- package/dist/{tables-BaYGY_Hk.js → tables-tChtQWdX.js} +1 -1
- package/dist/{tokens-DwuYAzrE.js → tokens-C2ll8wSq.js} +1 -1
- package/dist/{tokens-KbWGDYPC.js → tokens-qfLiLlNv.js} +1 -1
- package/dist/{tool-loop-detection-B2G2F3vq.js → tool-loop-detection-CiexABx1.js} +1 -1
- package/dist/{tool-loop-detection-BwJFCGqI.js → tool-loop-detection-D0CRFNOH.js} +1 -1
- package/dist/{user-run-recording-Bax2KSZY.js → user-run-recording-CTOXtrSm.js} +1 -1
- package/dist/{user-run-recording-B_-S5l8q.js → user-run-recording-D-7cPbdf.js} +2 -2
- package/dist/{user-run-recording-DIqKTo0U.js → user-run-recording-DJedyUge.js} +2 -2
- package/dist/{workspace-D5PKyvm-.js → workspace-xnzx7wEV.js} +1 -1
- package/dist/{ws-CWxX8WDm.js → ws-CQigqc-W.js} +1 -1
- package/dist/{ws-CSU92Z2r.js → ws-D51UDdBH.js} +1 -1
- package/dist/{ws-CmKUpGwq.js → ws-DLbfGWAn.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/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/kimi-search/package.json +1 -1
- package/extensions/kokoro/package.json +1 -1
- package/extensions/learning-core/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +1 -1
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/mistral/package.json +1 -1
- package/extensions/moonshot/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +1 -1
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +1 -1
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/openai/package.json +1 -1
- package/extensions/openai-realtime/package.json +1 -1
- package/extensions/openrouter/package.json +1 -1
- package/extensions/perplexity-search/package.json +1 -1
- package/extensions/searxng-search/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/synology-chat/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +1 -1
- package/extensions/twitch/package.json +1 -1
- package/extensions/ui-surfaces/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +1 -1
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zai/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +1 -1
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +1 -1
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/subsystem-cFv2jJm-.js +0 -2777
|
@@ -1,70 +1,70 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { $ as isBundledChannelEnabledByChannelConfig, $i as getApiKeyForModel, $n as resolveChannelGroupRequireMention, $r as listWritableExplicitTrustedSafeBinDirs, $t as recordSessionMetaFromInbound, Aa as readProcessElapsedSeconds, Ai as isCliProvider, An as normalizeChannelId$1, Ar as channelTargetSchema, At as registerPluginCommand, Bi as resolveThinkingDefault, Bn as resolveSlackBotToken, Br as replaceBufferedPluginTaskPasses, Bt as createConversationReadQuery, C as resolveIMessageRemoteAttachmentRoots, Ca as listProfilesForProvider, Ci as resolveSlackNativeStreaming, Cn as resolveGroupSessionKey, Cr as resolveSessionLockMaxHoldFromTimeout, Ct as createPluginRegistry, Da as resolveOpenClawAgentDir, Di as buildConfiguredAllowlistKeys, Dn as normalizeSignalMessagingTarget, Dt as executePluginCommand, Ea as resolveAuthStorePathForDisplay, Ei as buildAllowedModelSet, En as listChannelDocks, Et as clearPluginCommands, Fi as resolveConfiguredModelRef, Fn as normalizeStringEntries, Fr as actionHasTarget, Ft as replaceSpeechProviders, G as isPathWithinRoot, Ga as DEFAULT_MODEL, Gn as hasAnyWhatsAppAuth, Gr as setConfigOverride, Gt as closeReplacedConfiguredSessionStorageRuntime, H as AVATAR_MAX_BYTES, Ha as resolveSecretInputRef, Hn as resolveSignalAccount, Ia as coerceSecretRef, Ii as resolveDefaultModelForAgent, In as normalizeStringEntriesLower, Ir as actionRequiresTarget, It as normalizeProviderId$1, Ja as getShellPathFromLoginShell, Ji as createOllamaStreamFn, Jn as createDiscordActionGate, Jr as parseConfigPath, K as isSupportedLocalAvatarExtension, Ka as DEFAULT_PROVIDER, Ki as retryAsync, Kn as resolveWhatsAppAccount, Kr as unsetConfigOverride, Kt as commitPreparedConfiguredSessionStorageRuntimeActivation, La as hasConfiguredSecretInput, Li as resolveModelRefFromString, Ln as resolveSlackAccount, Lt as createInternalHookEvent, Mi as normalizeModelRef$2, Mn as resolveAllowlistMatchByCandidates, Mr as optionalStringEnum, Mt as getRegisteredSpeechProviders, Na as normalizeSecretInput, Ni as normalizeProviderId, Nn as normalizeAtHashSlug, Nr as stringEnum, Nt as getSpeechProvider, O as resolveExecPolicyPreset, Oa as withFileLock$1, Oi as buildModelAliasIndex, On as getChannelPlugin, Ot as listPluginCommands, Pi as parseModelRef, Pn as normalizeHyphenSlug, Pr as applyTargetToParams, Pt as isBuiltinTtsProvider, Q as applyTestPluginDefaults, Qa as resolveOwnerDisplaySetting, Qi as buildUsageWithNoCost, Qn as resolveChannelGroupPolicy, Qr as isTrustedSafeBinPath, Qt as readSessionUpdatedAt, Ri as resolveReasoningDefault, Rn as resolveSlackReplyToMode, Rr as discardBufferedPluginTaskPasses, Rt as triggerInternalHook, S as resolveIMessageAttachmentRoots, Sa as dedupeProfileIds, Si as resolveDiscordPreviewStreamMode, Sn as deriveSessionMetaPatch, Sr as acquireSessionWriteLock, St as clearRegisteredPluginApis, T as parseNonNegativeByteSize, Ta as ensureAuthProfileStore, Ti as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Tn as getChannelDock, Tr as readTaskWorkStates, Tt as buildPluginHealthReport, U as isAvatarDataUrl, Ua as splitTrailingAuthProfile, Un as isWhatsAppGroupJid, Ur as getConfigOverrides, Ut as requireSessionStorageRuntime, Vn as listEnabledSignalAccounts, Vr as RecoveryAdmissionError, Vt as getConversationReadQuery, W as isAvatarHttpUrl, Wa as DEFAULT_CONTEXT_TOKENS, Wn as normalizeWhatsAppTarget, Wr as resetConfigOverrides, Wt as closeConfiguredSessionStorageRuntime, X as loadPluginManifestRegistry, Xa as isTruthyEnvValue, Xi as buildAssistantMessageWithZeroUsage, Xn as resolveDiscordAccount, Xr as unsetConfigValueAtPath, Xt as loadSessionStoreFromDisk, Y as validateJsonSchemaValue, Ya as resolveShellEnvFallbackTimeoutMs, Yi as buildAssistantMessage, Yn as listEnabledDiscordAccounts, Yr as setConfigValueAtPath, Yt as loadSessionStore, Z as BUNDLED_ENABLED_BY_DEFAULT, Za as parseBooleanValue$1, Zi as buildStreamErrorAssistantMessage, Zn as normalizeDiscordToken, Zr as getTrustedSafeBinDirs, Zt as prepareConfiguredSessionStorageRuntimeActivation, _a as parseDotPath, _i as normalizeSafeBinProfileFixtures, _n as resolveSessionFilePath, _r as resolveMessageChannel, _t as getActivePluginRegistryKey, ai as splitCommandChain, an as DEFAULT_RESET_TRIGGERS, ar as deliveryContextKey, at as safeStatSync, b as isInboundPathAllowed, ba as formatCliCommand, bi as isSafeExecutableValue, br as GATEWAY_CLIENT_NAMES, bt as setActivePluginRegistry, c as loadConfig, ca as isProfileInCooldown, ci as resolveAllowlistCandidatePath, cn as setSessionRuntimeModel, cr as normalizeSessionDeliveryFields, ct as CHAT_CHANNEL_ORDER, d as readConfigFileSnapshotForWrite, da as resolveProfilesUnavailableReason, di as isDispatchWrapperExecutable, dr as isGatewayMessageChannel, dt as normalizeAnyChannelId, ea as getCustomProviderApiKey, ei as normalizeTrustedSafeBinDirs, en as refreshConfiguredSessionBindingEntry, er as resolveChannelGroupToolsPolicy, et as normalizePluginsConfig, fa as resolveApiKeyForProfile, fi as isShellWrapperExecutable, fr as isInternalMessageChannel, ft as normalizeChannelId$2, ga as isRecord$1, gi as SAFE_BIN_PROFILES, gr as resolveGatewayMessageChannel, gt as getActivePluginRegistry, ha as isNonEmptyString, hi as splitShellArgs, hn as SESSION_RUN_STORE_FILE_NAME, hr as normalizeMessageChannel, ht as getActiveGatewayPluginRegistry, ia as resolveModelAuthMode, ii as isWindowsPlatform, ir as deliveryContextFromSession, it as isPathInside, ja as resolveAuthProfileDisplayLabel, ji as modelKey, jn as formatAllowlistMatchMeta, jr as channelTargetsSchema, jt as BUILTIN_TTS_PROVIDER_IDS, ka as isPidAlive, ki as findNormalizedProviderValue, kn as listChannelPlugins, kt as matchPluginCommand, la as markAuthProfileFailure, li as resolveCommandResolutionFromArgv, ln as parseDurationMs, lr as INTERNAL_MESSAGE_CHANNEL, lt as getChatChannelMeta, m as writeConfigFile, ma as describeUnknownError$1, mi as unwrapKnownShellMultiplexerInvocation, mn as SAFE_SESSION_ID_RE, mr as listDeliverableMessageChannels, mt as resolveChannelConfigId, ni as analyzeShellCommand, nn as updateSessionStore, nt as resolveMemorySlotDecision, oa as resolveAuthProfileOrder, oi as DEFAULT_SAFE_BINS, on as mergeSessionEntry, or as mergeDeliveryContext, ot as readManifestNamespace, pa as resolveSecretRefValues, pi as unwrapKnownDispatchWrapperInvocation, pr as isMarkdownCapableMessageChannel, pt as normalizeChatChannelId, q as buildChannelAccountBindings, qa as VERSION, qi as OLLAMA_NATIVE_BASE_URL, qn as resolveIMessageAccount, qr as getConfigValueAtPath, qt as getConfiguredSessionStorageRuntime, ra as resolveEnvApiKey, ri as buildEnforcedShellCommand, rn as updateSessionStoreEntry, rr as resolveAccountEntry, rt as discoverOpenClawPlugins, sa as getSoonestCooldownExpiry, si as matchAllowlist, sn as resolveFreshSessionTotalTokens, sr as normalizeDeliveryContext, ta as requireApiKey, ti as validateSafeBinArgv, tn as updateLastRoute, tt as resolveEffectiveEnableState, u as readConfigFileSnapshot, ua as markAuthProfileUsed, ui as extractShellWrapperInlineCommand, un as parseSessionIndexRecordKey, ur as isDeliverableMessageChannel, ut as listChatChannels, v as validateConfigObjectWithPlugins, va as secretRefKey, vi as resolveSafeBinProfiles, vn as resolveSessionFilePathOptions, vr as GATEWAY_CLIENT_IDS, w as normalizeScpRemoteHost, wa as markAuthProfileGood, wi as resolveSlackStreamingMode, wn as resolveParentSessionGroupId, wr as CtxProjectionCorruptionError, wt as normalizePluginHttpPath, xa as resolveCliName, xi as mapStreamingModeToSlackLegacyDraftStreamMode, xn as resolveStorePath, xr as normalizeAccountId$1, xt as addRegisteredPluginApi, ya as runTasksWithConcurrency, yi as applyMergePatch, yn as resolveSessionTranscriptPath, yr as GATEWAY_CLIENT_MODES, yt as requireActivePluginRegistry, za as normalizeResolvedSecretInputString, zi as resolveSubagentSpawnModelSelection, zn as resolveSlackAppToken, zr as listBufferedPluginTaskPasses, zt as StorageReadAccessError } from "./config-
|
|
2
|
+
import { $ as isBundledChannelEnabledByChannelConfig, $i as getApiKeyForModel, $n as resolveChannelGroupRequireMention, $r as listWritableExplicitTrustedSafeBinDirs, $t as recordSessionMetaFromInbound, Aa as readProcessElapsedSeconds, Ai as isCliProvider, An as normalizeChannelId$1, Ar as channelTargetSchema, At as registerPluginCommand, Bi as resolveThinkingDefault, Bn as resolveSlackBotToken, Br as replaceBufferedPluginTaskPasses, Bt as createConversationReadQuery, C as resolveIMessageRemoteAttachmentRoots, Ca as listProfilesForProvider, Ci as resolveSlackNativeStreaming, Cn as resolveGroupSessionKey, Cr as resolveSessionLockMaxHoldFromTimeout, Ct as createPluginRegistry, Da as resolveOpenClawAgentDir, Di as buildConfiguredAllowlistKeys, Dn as normalizeSignalMessagingTarget, Dt as executePluginCommand, Ea as resolveAuthStorePathForDisplay, Ei as buildAllowedModelSet, En as listChannelDocks, Et as clearPluginCommands, Fi as resolveConfiguredModelRef, Fn as normalizeStringEntries, Fr as actionHasTarget, Ft as replaceSpeechProviders, G as isPathWithinRoot, Ga as DEFAULT_MODEL, Gn as hasAnyWhatsAppAuth, Gr as setConfigOverride, Gt as closeReplacedConfiguredSessionStorageRuntime, H as AVATAR_MAX_BYTES, Ha as resolveSecretInputRef, Hn as resolveSignalAccount, Ia as coerceSecretRef, Ii as resolveDefaultModelForAgent, In as normalizeStringEntriesLower, Ir as actionRequiresTarget, It as normalizeProviderId$1, Ja as getShellPathFromLoginShell, Ji as createOllamaStreamFn, Jn as createDiscordActionGate, Jr as parseConfigPath, K as isSupportedLocalAvatarExtension, Ka as DEFAULT_PROVIDER, Ki as retryAsync, Kn as resolveWhatsAppAccount, Kr as unsetConfigOverride, Kt as commitPreparedConfiguredSessionStorageRuntimeActivation, La as hasConfiguredSecretInput, Li as resolveModelRefFromString, Ln as resolveSlackAccount, Lt as createInternalHookEvent, Mi as normalizeModelRef$2, Mn as resolveAllowlistMatchByCandidates, Mr as optionalStringEnum, Mt as getRegisteredSpeechProviders, Na as normalizeSecretInput, Ni as normalizeProviderId, Nn as normalizeAtHashSlug, Nr as stringEnum, Nt as getSpeechProvider, O as resolveExecPolicyPreset, Oa as withFileLock$1, Oi as buildModelAliasIndex, On as getChannelPlugin, Ot as listPluginCommands, Pi as parseModelRef, Pn as normalizeHyphenSlug, Pr as applyTargetToParams, Pt as isBuiltinTtsProvider, Q as applyTestPluginDefaults, Qa as resolveOwnerDisplaySetting, Qi as buildUsageWithNoCost, Qn as resolveChannelGroupPolicy, Qr as isTrustedSafeBinPath, Qt as readSessionUpdatedAt, Ri as resolveReasoningDefault, Rn as resolveSlackReplyToMode, Rr as discardBufferedPluginTaskPasses, Rt as triggerInternalHook, S as resolveIMessageAttachmentRoots, Sa as dedupeProfileIds, Si as resolveDiscordPreviewStreamMode, Sn as deriveSessionMetaPatch, Sr as acquireSessionWriteLock, St as clearRegisteredPluginApis, T as parseNonNegativeByteSize, Ta as ensureAuthProfileStore, Ti as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Tn as getChannelDock, Tr as readTaskWorkStates, Tt as buildPluginHealthReport, U as isAvatarDataUrl, Ua as splitTrailingAuthProfile, Un as isWhatsAppGroupJid, Ur as getConfigOverrides, Ut as requireSessionStorageRuntime, Vn as listEnabledSignalAccounts, Vr as RecoveryAdmissionError, Vt as getConversationReadQuery, W as isAvatarHttpUrl, Wa as DEFAULT_CONTEXT_TOKENS, Wn as normalizeWhatsAppTarget, Wr as resetConfigOverrides, Wt as closeConfiguredSessionStorageRuntime, X as loadPluginManifestRegistry, Xa as isTruthyEnvValue, Xi as buildAssistantMessageWithZeroUsage, Xn as resolveDiscordAccount, Xr as unsetConfigValueAtPath, Xt as loadSessionStoreFromDisk, Y as validateJsonSchemaValue, Ya as resolveShellEnvFallbackTimeoutMs, Yi as buildAssistantMessage, Yn as listEnabledDiscordAccounts, Yr as setConfigValueAtPath, Yt as loadSessionStore, Z as BUNDLED_ENABLED_BY_DEFAULT, Za as parseBooleanValue$1, Zi as buildStreamErrorAssistantMessage, Zn as normalizeDiscordToken, Zr as getTrustedSafeBinDirs, Zt as prepareConfiguredSessionStorageRuntimeActivation, _a as parseDotPath, _i as normalizeSafeBinProfileFixtures, _n as resolveSessionFilePath, _r as resolveMessageChannel, _t as getActivePluginRegistryKey, ai as splitCommandChain, an as DEFAULT_RESET_TRIGGERS, ar as deliveryContextKey, at as safeStatSync, b as isInboundPathAllowed, ba as formatCliCommand, bi as isSafeExecutableValue, br as GATEWAY_CLIENT_NAMES, bt as setActivePluginRegistry, c as loadConfig, ca as isProfileInCooldown, ci as resolveAllowlistCandidatePath, cn as setSessionRuntimeModel, cr as normalizeSessionDeliveryFields, ct as CHAT_CHANNEL_ORDER, d as readConfigFileSnapshotForWrite, da as resolveProfilesUnavailableReason, di as isDispatchWrapperExecutable, dr as isGatewayMessageChannel, dt as normalizeAnyChannelId, ea as getCustomProviderApiKey, ei as normalizeTrustedSafeBinDirs, en as refreshConfiguredSessionBindingEntry, er as resolveChannelGroupToolsPolicy, et as normalizePluginsConfig, fa as resolveApiKeyForProfile, fi as isShellWrapperExecutable, fr as isInternalMessageChannel, ft as normalizeChannelId$2, ga as isRecord$1, gi as SAFE_BIN_PROFILES, gr as resolveGatewayMessageChannel, gt as getActivePluginRegistry, ha as isNonEmptyString, hi as splitShellArgs, hn as SESSION_RUN_STORE_FILE_NAME, hr as normalizeMessageChannel, ht as getActiveGatewayPluginRegistry, ia as resolveModelAuthMode, ii as isWindowsPlatform, ir as deliveryContextFromSession, it as isPathInside, ja as resolveAuthProfileDisplayLabel, ji as modelKey, jn as formatAllowlistMatchMeta, jr as channelTargetsSchema, jt as BUILTIN_TTS_PROVIDER_IDS, ka as isPidAlive, ki as findNormalizedProviderValue, kn as listChannelPlugins, kt as matchPluginCommand, la as markAuthProfileFailure, li as resolveCommandResolutionFromArgv, ln as parseDurationMs, lr as INTERNAL_MESSAGE_CHANNEL, lt as getChatChannelMeta, m as writeConfigFile, ma as describeUnknownError$1, mi as unwrapKnownShellMultiplexerInvocation, mn as SAFE_SESSION_ID_RE, mr as listDeliverableMessageChannels, mt as resolveChannelConfigId, ni as analyzeShellCommand, nn as updateSessionStore, nt as resolveMemorySlotDecision, oa as resolveAuthProfileOrder, oi as DEFAULT_SAFE_BINS, on as mergeSessionEntry, or as mergeDeliveryContext, ot as readManifestNamespace, pa as resolveSecretRefValues, pi as unwrapKnownDispatchWrapperInvocation, pr as isMarkdownCapableMessageChannel, pt as normalizeChatChannelId, q as buildChannelAccountBindings, qa as VERSION, qi as OLLAMA_NATIVE_BASE_URL, qn as resolveIMessageAccount, qr as getConfigValueAtPath, qt as getConfiguredSessionStorageRuntime, ra as resolveEnvApiKey, ri as buildEnforcedShellCommand, rn as updateSessionStoreEntry, rr as resolveAccountEntry, rt as discoverOpenClawPlugins, sa as getSoonestCooldownExpiry, si as matchAllowlist, sn as resolveFreshSessionTotalTokens, sr as normalizeDeliveryContext, ta as requireApiKey, ti as validateSafeBinArgv, tn as updateLastRoute, tt as resolveEffectiveEnableState, u as readConfigFileSnapshot, ua as markAuthProfileUsed, ui as extractShellWrapperInlineCommand, un as parseSessionIndexRecordKey, ur as isDeliverableMessageChannel, ut as listChatChannels, v as validateConfigObjectWithPlugins, va as secretRefKey, vi as resolveSafeBinProfiles, vn as resolveSessionFilePathOptions, vr as GATEWAY_CLIENT_IDS, w as normalizeScpRemoteHost, wa as markAuthProfileGood, wi as resolveSlackStreamingMode, wn as resolveParentSessionGroupId, wr as CtxProjectionCorruptionError, wt as normalizePluginHttpPath, xa as resolveCliName, xi as mapStreamingModeToSlackLegacyDraftStreamMode, xn as resolveStorePath, xr as normalizeAccountId$1, xt as addRegisteredPluginApi, ya as runTasksWithConcurrency, yi as applyMergePatch, yn as resolveSessionTranscriptPath, yr as GATEWAY_CLIENT_MODES, yt as requireActivePluginRegistry, za as normalizeResolvedSecretInputString, zi as resolveSubagentSpawnModelSelection, zn as resolveSlackAppToken, zr as listBufferedPluginTaskPasses, zt as StorageReadAccessError } from "./config-CPcuaNsB.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-BTMrlJ-R.js";
|
|
5
5
|
import { n as resolveProcessScopedMap, t as isPlainObject } from "./plain-object-Doc_YkH1.js";
|
|
6
|
-
import { $ as resolveConfiguredCanonicalIdentity, 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 resolveCanonicalIdentity, S as filterBootstrapFilesForSession, U as classifySessionKeyShape, V as buildAgentMainSessionKey, X as normalizeMainKey, Y as normalizeAgentId, Z as resolveAgentIdFromSessionKey, _ as DEFAULT_IDENTITY_FILENAME, _t as stripAgentSessionKeyPrefix, at as normalizeAccountId$2, c as resolveDefaultAgentId, d as resolveSessionAgentId, dt as isAcpSessionKey, et as resolveThreadSessionKeys, f as resolveSessionAgentIds, ft as isCronSessionKey, g as DEFAULT_HEARTBEAT_FILENAME, gt as resolveThreadParentSessionKey, h as DEFAULT_BOOTSTRAP_FILENAME, ht as parseAgentSessionKey, i as resolveAgentDir, it as DEFAULT_ACCOUNT_ID, j as logInfo, k as logDebug, l as resolveEffectiveModelFallbacks, lt as WAKE_GATE_SESSION_KEY_SEGMENT, m as DEFAULT_AGENT_WORKSPACE_DIR, mt as isSubagentSessionKey, n as listAgentIds, nt as sessionKeyAgentMatches, o as resolveAgentSkillsFilter, ot as normalizeOptionalAccountId, q as isKnownAgentMainSessionKey, r as resolveAgentConfig, rt as toAgentStoreSessionKey, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, tt as sanitizeAgentId, u as resolveRunModelFallbacksOverride, ut as getSubagentDepth, w as resolveOpenClawPackageRoot, x as ensureAgentWorkspace, z as DEVICE_SENDER_PREFIX } from "./agent-scope-
|
|
6
|
+
import { $ as resolveConfiguredCanonicalIdentity, 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 resolveCanonicalIdentity, S as filterBootstrapFilesForSession, U as classifySessionKeyShape, V as buildAgentMainSessionKey, X as normalizeMainKey, Y as normalizeAgentId, Z as resolveAgentIdFromSessionKey, _ as DEFAULT_IDENTITY_FILENAME, _t as stripAgentSessionKeyPrefix, at as normalizeAccountId$2, c as resolveDefaultAgentId, d as resolveSessionAgentId, dt as isAcpSessionKey, et as resolveThreadSessionKeys, f as resolveSessionAgentIds, ft as isCronSessionKey, g as DEFAULT_HEARTBEAT_FILENAME, gt as resolveThreadParentSessionKey, h as DEFAULT_BOOTSTRAP_FILENAME, ht as parseAgentSessionKey, i as resolveAgentDir, it as DEFAULT_ACCOUNT_ID, j as logInfo, k as logDebug, l as resolveEffectiveModelFallbacks, lt as WAKE_GATE_SESSION_KEY_SEGMENT, m as DEFAULT_AGENT_WORKSPACE_DIR, mt as isSubagentSessionKey, n as listAgentIds, nt as sessionKeyAgentMatches, o as resolveAgentSkillsFilter, ot as normalizeOptionalAccountId, q as isKnownAgentMainSessionKey, r as resolveAgentConfig, rt as toAgentStoreSessionKey, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, tt as sanitizeAgentId, u as resolveRunModelFallbacksOverride, ut as getSubagentDepth, w as resolveOpenClawPackageRoot, x as ensureAgentWorkspace, z as DEVICE_SENDER_PREFIX } from "./agent-scope-BJFJ0deZ.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 DOCS_SITE_URL, C as randomIdempotencyKey, D as gatewayErrorShapeOf, E as gatewayErrorReason, M as clearActiveCoordinationDepth, N 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 docsSiteUrl, 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-CNMPyQyQ.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-BOm8dqOB.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-SxjOzPCD.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-IqyeyMXp.js";
|
|
13
|
+
import { A as DOCS_SITE_URL, C as randomIdempotencyKey, D as gatewayErrorShapeOf, E as gatewayErrorReason, M as clearActiveCoordinationDepth, N 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 docsSiteUrl, 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-BR_K1LnT.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-Bp_onP2d.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-BgW4rG28.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-DNTX4D1k.js";
|
|
20
|
+
import { r as isLoopbackHost } from "./ws-D51UDdBH.js";
|
|
21
|
+
import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-2Kd9Ahu7.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-jb4bSwT6.js";
|
|
23
|
+
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-B9AcbQl6.js";
|
|
24
|
+
import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-D--orJnz.js";
|
|
25
|
+
import { i as hasErrnoCode, o as readErrorName, r as formatErrorMessage } from "./errors-DnOtx_vg.js";
|
|
26
|
+
import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-C3qJHn62.js";
|
|
27
|
+
import { a as isBlockedHostnameOrIp, l as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-Bw8nAERJ.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-BTgGxcIG.js";
|
|
29
|
+
import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-CsI6l-8d.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-DNv3G6Vg.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-C08CPcgE.js";
|
|
36
|
+
import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-qfLiLlNv.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--vAGyKdB.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 { 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-
|
|
43
|
-
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-
|
|
44
|
-
import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit } from "./fetch-
|
|
45
|
-
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-D_saM8MV.js";
|
|
40
|
+
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-C4WE3mR2.js";
|
|
41
|
+
import { t as ensureOpenClawModelsJson } from "./models-config-DkEpc_7A.js";
|
|
42
|
+
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-DrIyj8a5.js";
|
|
43
|
+
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-CQ3KPjMe.js";
|
|
44
|
+
import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit } from "./fetch-BJ9kDOw8.js";
|
|
45
|
+
import { a as bindAbortRelay, n as withStrictGuardedFetchMode, o as fetchWithTimeout, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-CRERUrFK.js";
|
|
46
46
|
import { n as isSafeFenceBreak, r as parseFenceSpans, t as findFenceSpanAt } from "./fences-CBLPPBpH.js";
|
|
47
|
-
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-
|
|
48
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
49
|
-
import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-
|
|
50
|
-
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-
|
|
51
|
-
import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-
|
|
52
|
-
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-
|
|
53
|
-
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-
|
|
54
|
-
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-
|
|
47
|
+
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-BEuk6eCG.js";
|
|
48
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-Crj_Y0Qx.js";
|
|
49
|
+
import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-IKFrcD2H.js";
|
|
50
|
+
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-C-BDBl_b.js";
|
|
51
|
+
import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-D-7cPbdf.js";
|
|
52
|
+
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-Bf_VVVBE.js";
|
|
53
|
+
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-C9zh-qk0.js";
|
|
54
|
+
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-Ap_fWjsf.js";
|
|
55
55
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CLzG994V.js";
|
|
56
|
-
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-
|
|
57
|
-
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-
|
|
58
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
59
|
-
import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-
|
|
60
|
-
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-
|
|
61
|
-
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-
|
|
62
|
-
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-
|
|
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-
|
|
56
|
+
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DJPbv7La.js";
|
|
57
|
+
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-DYJDIogS.js";
|
|
58
|
+
import { t as convertMarkdownTables } from "./tables-BTIafSNy.js";
|
|
59
|
+
import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-B_wfvntf.js";
|
|
60
|
+
import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-C0kXNcyD.js";
|
|
61
|
+
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-oHqfck_E.js";
|
|
62
|
+
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BP1OpZqn.js";
|
|
63
|
+
import { t as recordInboundSessionMetaSafe } from "./session-meta-BCY_pfg7.js";
|
|
64
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$2, t as createSlackReplyDeliveryPlan } from "./replies-DAavcLc9.js";
|
|
65
|
+
import { n as resolveMemorySearchConfig } from "./manager-Cb_Lde6Q.js";
|
|
66
|
+
import { m as normalizeExtraMemoryPaths, p as listMemoryFiles } from "./query-expansion-BDAO12Ha.js";
|
|
67
|
+
import { t as isQmdScopeAllowed } from "./qmd-scope-BOfwIKTy.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$2 from "node:fs/promises";
|
|
77
|
+
import fs$1, { 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 fs$1.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 fs$1.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 fs$1.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 fs$1.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,
|
|
@@ -6865,7 +6865,7 @@ async function imageResult(params) {
|
|
|
6865
6865
|
}, params.label, params.imageSanitization);
|
|
6866
6866
|
}
|
|
6867
6867
|
async function imageResultFromFile(params) {
|
|
6868
|
-
const buf = await
|
|
6868
|
+
const buf = await fs$1.readFile(params.path);
|
|
6869
6869
|
const mimeType = await detectMime({ buffer: buf.slice(0, 256) }) ?? "image/png";
|
|
6870
6870
|
return await imageResult({
|
|
6871
6871
|
label: params.label,
|
|
@@ -7776,7 +7776,7 @@ async function resolveAgentSessionDirs(stateDir) {
|
|
|
7776
7776
|
const agentsDir = path.join(stateDir, "agents");
|
|
7777
7777
|
let entries = [];
|
|
7778
7778
|
try {
|
|
7779
|
-
entries = await
|
|
7779
|
+
entries = await fs$1.readdir(agentsDir, { withFileTypes: true });
|
|
7780
7780
|
} catch (err) {
|
|
7781
7781
|
if (err.code === "ENOENT") return [];
|
|
7782
7782
|
throw err;
|
|
@@ -9965,7 +9965,7 @@ async function routeReply(params) {
|
|
|
9965
9965
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
9966
9966
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
9967
9967
|
try {
|
|
9968
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
9968
|
+
const { deliverOutboundPayloads } = await import("./deliver-Ap_fWjsf.js").then((n) => n.n);
|
|
9969
9969
|
const outboundSession = buildOutboundSessionContext({
|
|
9970
9970
|
cfg,
|
|
9971
9971
|
agentId: resolvedAgentId,
|
|
@@ -14763,7 +14763,7 @@ async function sendTranscriptEcho(params) {
|
|
|
14763
14763
|
}
|
|
14764
14764
|
const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
|
|
14765
14765
|
try {
|
|
14766
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
14766
|
+
const { deliverOutboundPayloads } = await import("./deliver-Ap_fWjsf.js").then((n) => n.n);
|
|
14767
14767
|
await deliverOutboundPayloads({
|
|
14768
14768
|
cfg,
|
|
14769
14769
|
channel: normalizedChannel,
|
|
@@ -20368,7 +20368,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
20368
20368
|
cwd: process.cwd(),
|
|
20369
20369
|
root: params.sandbox.workspaceDir
|
|
20370
20370
|
});
|
|
20371
|
-
if (!(await
|
|
20371
|
+
if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
|
|
20372
20372
|
const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
|
|
20373
20373
|
const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
|
|
20374
20374
|
return {
|
|
@@ -21758,13 +21758,13 @@ async function validateScriptFileForShellBleed(params) {
|
|
|
21758
21758
|
cwd: params.workdir,
|
|
21759
21759
|
root: params.workdir
|
|
21760
21760
|
});
|
|
21761
|
-
stat = await
|
|
21761
|
+
stat = await fs$1.stat(absPath);
|
|
21762
21762
|
} catch {
|
|
21763
21763
|
return;
|
|
21764
21764
|
}
|
|
21765
21765
|
if (!stat.isFile()) return;
|
|
21766
21766
|
if (stat.size > 512 * 1024) return;
|
|
21767
|
-
const content = await
|
|
21767
|
+
const content = await fs$1.readFile(absPath, "utf-8");
|
|
21768
21768
|
const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
|
|
21769
21769
|
if (first) {
|
|
21770
21770
|
const idx = first.index;
|
|
@@ -34509,7 +34509,7 @@ async function createModelSelectionState(params) {
|
|
|
34509
34509
|
}
|
|
34510
34510
|
}
|
|
34511
34511
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
34512
|
-
const { ensureAuthProfileStore } = await import("./config-
|
|
34512
|
+
const { ensureAuthProfileStore } = await import("./config-CPcuaNsB.js").then((n) => n.aa);
|
|
34513
34513
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
34514
34514
|
const providerKey = normalizeProviderId(provider);
|
|
34515
34515
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -38192,7 +38192,7 @@ async function writeUrlToFile(filePath, url, opts) {
|
|
|
38192
38192
|
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}`);
|
|
38193
38193
|
const body = res.body;
|
|
38194
38194
|
if (!body) throw new Error(`failed to download ${url}: empty response body`);
|
|
38195
|
-
const fileHandle = await fs$
|
|
38195
|
+
const fileHandle = await fs$2.open(filePath, "w");
|
|
38196
38196
|
let thrown;
|
|
38197
38197
|
try {
|
|
38198
38198
|
const reader = body.getReader();
|
|
@@ -38210,7 +38210,7 @@ async function writeUrlToFile(filePath, url, opts) {
|
|
|
38210
38210
|
await fileHandle.close();
|
|
38211
38211
|
}
|
|
38212
38212
|
if (thrown) {
|
|
38213
|
-
await fs$
|
|
38213
|
+
await fs$2.unlink(filePath).catch(() => {});
|
|
38214
38214
|
throw thrown;
|
|
38215
38215
|
}
|
|
38216
38216
|
} finally {
|
|
@@ -38223,7 +38223,7 @@ async function writeUrlToFile(filePath, url, opts) {
|
|
|
38223
38223
|
}
|
|
38224
38224
|
async function writeBase64ToFile(filePath, base64) {
|
|
38225
38225
|
const buf = Buffer.from(base64, "base64");
|
|
38226
|
-
await fs$
|
|
38226
|
+
await fs$2.writeFile(filePath, buf);
|
|
38227
38227
|
return {
|
|
38228
38228
|
path: filePath,
|
|
38229
38229
|
bytes: buf.length
|
|
@@ -38308,7 +38308,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
38308
38308
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
|
|
38309
38309
|
throw new Error("jsonlPath outside allowed roots");
|
|
38310
38310
|
}
|
|
38311
|
-
const canonical = await
|
|
38311
|
+
const canonical = await fs$1.realpath(resolved).catch(() => resolved);
|
|
38312
38312
|
if (!isInboundPathAllowed({
|
|
38313
38313
|
filePath: canonical,
|
|
38314
38314
|
roots
|
|
@@ -38316,7 +38316,7 @@ async function readJsonlFromPath(jsonlPath) {
|
|
|
38316
38316
|
if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
|
|
38317
38317
|
throw new Error("jsonlPath outside allowed roots");
|
|
38318
38318
|
}
|
|
38319
|
-
return await
|
|
38319
|
+
return await fs$1.readFile(canonical, "utf8");
|
|
38320
38320
|
}
|
|
38321
38321
|
const CanvasToolSchema = Type.Object({
|
|
38322
38322
|
action: stringEnum(CANVAS_ACTIONS),
|
|
@@ -39167,12 +39167,12 @@ function resolveRestartSentinelPath(env = process.env) {
|
|
|
39167
39167
|
}
|
|
39168
39168
|
async function writeRestartSentinel(payload, env = process.env) {
|
|
39169
39169
|
const filePath = resolveRestartSentinelPath(env);
|
|
39170
|
-
await
|
|
39170
|
+
await fs$1.mkdir(path.dirname(filePath), { recursive: true });
|
|
39171
39171
|
const data = {
|
|
39172
39172
|
version: 1,
|
|
39173
39173
|
payload
|
|
39174
39174
|
};
|
|
39175
|
-
await
|
|
39175
|
+
await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
|
|
39176
39176
|
return filePath;
|
|
39177
39177
|
}
|
|
39178
39178
|
|
|
@@ -50498,18 +50498,18 @@ function appendImagePathsToPrompt(prompt, paths) {
|
|
|
50498
50498
|
return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
|
|
50499
50499
|
}
|
|
50500
50500
|
async function writeCliImages(images) {
|
|
50501
|
-
const tempDir = await
|
|
50501
|
+
const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
|
|
50502
50502
|
const paths = [];
|
|
50503
50503
|
for (let i = 0; i < images.length; i += 1) {
|
|
50504
50504
|
const image = images[i];
|
|
50505
50505
|
const ext = resolveImageExtension(image.mimeType);
|
|
50506
50506
|
const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
|
|
50507
50507
|
const buffer = Buffer.from(image.data, "base64");
|
|
50508
|
-
await
|
|
50508
|
+
await fs$1.writeFile(filePath, buffer, { mode: 384 });
|
|
50509
50509
|
paths.push(filePath);
|
|
50510
50510
|
}
|
|
50511
50511
|
const cleanup = async () => {
|
|
50512
|
-
await
|
|
50512
|
+
await fs$1.rm(tempDir, {
|
|
50513
50513
|
recursive: true,
|
|
50514
50514
|
force: true
|
|
50515
50515
|
});
|
|
@@ -54026,7 +54026,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
54026
54026
|
return;
|
|
54027
54027
|
}
|
|
54028
54028
|
try {
|
|
54029
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
54029
|
+
const { deliverOutboundPayloads } = await import("./deliver-Ap_fWjsf.js").then((n) => n.n);
|
|
54030
54030
|
const outboundSession = buildOutboundSessionContext({
|
|
54031
54031
|
cfg: params.cfg,
|
|
54032
54032
|
sessionKey: params.sessionKey
|
|
@@ -54975,7 +54975,7 @@ async function stageSandboxMedia(params) {
|
|
|
54975
54975
|
const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(workspaceDir, ".openclaw", "media", "remote-cache", sessionKey) : null;
|
|
54976
54976
|
const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
|
|
54977
54977
|
if (!effectiveWorkspaceDir) return;
|
|
54978
|
-
await
|
|
54978
|
+
await fs$1.mkdir(effectiveWorkspaceDir, { recursive: true });
|
|
54979
54979
|
const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
|
|
54980
54980
|
cfg,
|
|
54981
54981
|
accountId: ctx.AccountId
|
|
@@ -55034,8 +55034,8 @@ async function stageLocalFileIntoRoot(params) {
|
|
|
55034
55034
|
}
|
|
55035
55035
|
async function stageRemoteFileIntoRoot(params) {
|
|
55036
55036
|
const tmpRoot = resolvePreferredOpenClawTmpDir();
|
|
55037
|
-
await
|
|
55038
|
-
const tmpDir = await
|
|
55037
|
+
await fs$1.mkdir(tmpRoot, { recursive: true });
|
|
55038
|
+
const tmpDir = await fs$1.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
|
|
55039
55039
|
const tmpPath = path.join(tmpDir, "download");
|
|
55040
55040
|
try {
|
|
55041
55041
|
await scpFile(params.remoteHost, params.remotePath, tmpPath);
|
|
@@ -55046,7 +55046,7 @@ async function stageRemoteFileIntoRoot(params) {
|
|
|
55046
55046
|
maxBytes: params.maxBytes
|
|
55047
55047
|
});
|
|
55048
55048
|
} finally {
|
|
55049
|
-
await
|
|
55049
|
+
await fs$1.rm(tmpDir, {
|
|
55050
55050
|
recursive: true,
|
|
55051
55051
|
force: true
|
|
55052
55052
|
}).catch(() => {});
|
|
@@ -60950,7 +60950,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
|
|
|
60950
60950
|
let transcript;
|
|
60951
60951
|
let carry;
|
|
60952
60952
|
if (needsPreflightTranscription) try {
|
|
60953
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
60953
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-CKxOmHZL.js");
|
|
60954
60954
|
const uploadable = audioAttachments.filter((att) => typeof att.url === "string" && att.url.length > 0);
|
|
60955
60955
|
if (uploadable.length > 0) {
|
|
60956
60956
|
const preflight = await transcribeFirstAudio({
|
|
@@ -68220,19 +68220,19 @@ function createDefaultDeps() {
|
|
|
68220
68220
|
};
|
|
68221
68221
|
}),
|
|
68222
68222
|
sendMessageDiscord: async (...args) => {
|
|
68223
|
-
const { sendMessageDiscord } = await import("./send-
|
|
68223
|
+
const { sendMessageDiscord } = await import("./send-BOm8dqOB.js").then((n) => n.t);
|
|
68224
68224
|
return await sendMessageDiscord(...args);
|
|
68225
68225
|
},
|
|
68226
68226
|
sendMessageSlack: async (...args) => {
|
|
68227
|
-
const { sendMessageSlack } = await import("./send-
|
|
68227
|
+
const { sendMessageSlack } = await import("./send-CNMPyQyQ.js").then((n) => n.n);
|
|
68228
68228
|
return await sendMessageSlack(...args);
|
|
68229
68229
|
},
|
|
68230
68230
|
sendMessageSignal: async (...args) => {
|
|
68231
|
-
const { sendMessageSignal } = await import("./send-
|
|
68231
|
+
const { sendMessageSignal } = await import("./send-C0kXNcyD.js").then((n) => n.i);
|
|
68232
68232
|
return await sendMessageSignal(...args);
|
|
68233
68233
|
},
|
|
68234
68234
|
sendMessageIMessage: async (...args) => {
|
|
68235
|
-
const { sendMessageIMessage } = await import("./send-
|
|
68235
|
+
const { sendMessageIMessage } = await import("./send-oHqfck_E.js").then((n) => n.n);
|
|
68236
68236
|
return await sendMessageIMessage(...args);
|
|
68237
68237
|
}
|
|
68238
68238
|
};
|
|
@@ -69478,10 +69478,10 @@ function estimateDurationSeconds(pcm) {
|
|
|
69478
69478
|
return pcm.length / (bytesPerSample * SAMPLE_RATE);
|
|
69479
69479
|
}
|
|
69480
69480
|
async function writeWavFile(pcm) {
|
|
69481
|
-
const tempDir = await
|
|
69481
|
+
const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
|
|
69482
69482
|
const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
|
|
69483
69483
|
const wav = buildWavBuffer(pcm);
|
|
69484
|
-
await
|
|
69484
|
+
await fs$1.writeFile(filePath, wav);
|
|
69485
69485
|
scheduleTempCleanup(tempDir);
|
|
69486
69486
|
return {
|
|
69487
69487
|
path: filePath,
|
|
@@ -69490,7 +69490,7 @@ async function writeWavFile(pcm) {
|
|
|
69490
69490
|
}
|
|
69491
69491
|
function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
|
|
69492
69492
|
setTimeout(() => {
|
|
69493
|
-
|
|
69493
|
+
fs$1.rm(tempDir, {
|
|
69494
69494
|
recursive: true,
|
|
69495
69495
|
force: true
|
|
69496
69496
|
}).catch((err) => {
|
|
@@ -73275,7 +73275,7 @@ async function detectBinary(name) {
|
|
|
73275
73275
|
if (!isSafeExecutableValue(name)) return false;
|
|
73276
73276
|
const resolved = name.startsWith("~") ? resolveUserPath(name) : name;
|
|
73277
73277
|
if (path.isAbsolute(resolved) || resolved.startsWith(".") || resolved.includes("/") || resolved.includes("\\")) try {
|
|
73278
|
-
await
|
|
73278
|
+
await fs$1.access(resolved);
|
|
73279
73279
|
return true;
|
|
73280
73280
|
} catch {
|
|
73281
73281
|
return false;
|
|
@@ -73939,7 +73939,7 @@ function normalizeAllowList$1(list) {
|
|
|
73939
73939
|
async function detectRemoteHostFromCliPath(cliPath) {
|
|
73940
73940
|
try {
|
|
73941
73941
|
const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
|
|
73942
|
-
const content = await
|
|
73942
|
+
const content = await fs$1.readFile(expanded, "utf8");
|
|
73943
73943
|
const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
|
|
73944
73944
|
if (userHostMatch) return userHostMatch[1];
|
|
73945
73945
|
return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
|
|
@@ -80711,7 +80711,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
80711
80711
|
}
|
|
80712
80712
|
let commandsRegistry;
|
|
80713
80713
|
async function getCommandsRegistry() {
|
|
80714
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
80714
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-C-BDBl_b.js").then((n) => n.n);
|
|
80715
80715
|
return commandsRegistry;
|
|
80716
80716
|
}
|
|
80717
80717
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -81041,14 +81041,14 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
81041
81041
|
const channelName = channelInfo?.name;
|
|
81042
81042
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
81043
81043
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
81044
|
-
import("./resolve-route-
|
|
81044
|
+
import("./resolve-route-BP1OpZqn.js").then((n) => n.r),
|
|
81045
81045
|
import("./inbound-context-CLzG994V.js").then((n) => n.n),
|
|
81046
81046
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
81047
81047
|
]);
|
|
81048
81048
|
const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordInboundSessionMetaSafe }] = await Promise.all([
|
|
81049
81049
|
import("./conversation-label-BkRfLUVO.js").then((n) => n.t),
|
|
81050
|
-
import("./reply-prefix-
|
|
81051
|
-
import("./session-meta-
|
|
81050
|
+
import("./reply-prefix-C08CPcgE.js").then((n) => n.n),
|
|
81051
|
+
import("./session-meta-BCY_pfg7.js").then((n) => n.n)
|
|
81052
81052
|
]);
|
|
81053
81053
|
const route = resolveAgentRoute({
|
|
81054
81054
|
cfg,
|
|
@@ -81113,9 +81113,9 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
81113
81113
|
});
|
|
81114
81114
|
const deliverSlashPayloads = async (replies) => {
|
|
81115
81115
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode, resolveChunkNewlinePacking }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
81116
|
-
import("./replies-
|
|
81117
|
-
import("./chunk-
|
|
81118
|
-
import("./markdown-tables-
|
|
81116
|
+
import("./replies-DAavcLc9.js").then((n) => n.r),
|
|
81117
|
+
import("./chunk-BEuk6eCG.js").then((n) => n.s),
|
|
81118
|
+
import("./markdown-tables-Crj_Y0Qx.js").then((n) => n.t)
|
|
81119
81119
|
]);
|
|
81120
81120
|
await deliverSlackSlashReplies({
|
|
81121
81121
|
replies,
|
|
@@ -81169,7 +81169,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
81169
81169
|
let nativeCommands = [];
|
|
81170
81170
|
if (nativeEnabled) {
|
|
81171
81171
|
reg = await getCommandsRegistry();
|
|
81172
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
81172
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DYJDIogS.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
81173
81173
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
81174
81174
|
skillCommands,
|
|
81175
81175
|
provider: "slack"
|
|
@@ -82113,7 +82113,7 @@ async function getMemorySearchManager(params) {
|
|
|
82113
82113
|
if (cached) return { manager: cached };
|
|
82114
82114
|
}
|
|
82115
82115
|
try {
|
|
82116
|
-
const { QmdMemoryManager } = await import("./qmd-manager-
|
|
82116
|
+
const { QmdMemoryManager } = await import("./qmd-manager-BZSlXT1A.js");
|
|
82117
82117
|
const primary = await QmdMemoryManager.create({
|
|
82118
82118
|
cfg: params.cfg,
|
|
82119
82119
|
agentId: params.agentId,
|
|
@@ -82125,7 +82125,7 @@ async function getMemorySearchManager(params) {
|
|
|
82125
82125
|
const wrapper = new FallbackMemoryManager({
|
|
82126
82126
|
primary,
|
|
82127
82127
|
fallbackFactory: async () => {
|
|
82128
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
82128
|
+
const { MemoryIndexManager } = await import("./manager-Cb_Lde6Q.js").then((n) => n.t);
|
|
82129
82129
|
return await MemoryIndexManager.get(params);
|
|
82130
82130
|
}
|
|
82131
82131
|
}, () => {
|
|
@@ -82140,7 +82140,7 @@ async function getMemorySearchManager(params) {
|
|
|
82140
82140
|
}
|
|
82141
82141
|
}
|
|
82142
82142
|
try {
|
|
82143
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
82143
|
+
const { MemoryIndexManager } = await import("./manager-Cb_Lde6Q.js").then((n) => n.t);
|
|
82144
82144
|
return { manager: await MemoryIndexManager.get(params) };
|
|
82145
82145
|
} catch (err) {
|
|
82146
82146
|
return {
|
|
@@ -82490,7 +82490,7 @@ const LEGACY_ARCHIVE_DEFAULT_RETENTION_MS = 720 * 60 * 60 * 1e3;
|
|
|
82490
82490
|
const log$32 = createSubsystemLogger("config/sessions/legacy-import/archive");
|
|
82491
82491
|
/** SHA-256 over the file's bytes; null when the file is gone (ENOENT). Other errors propagate. */
|
|
82492
82492
|
async function sourceIdentity(filePath) {
|
|
82493
|
-
const handle = await
|
|
82493
|
+
const handle = await fs$1.open(filePath, "r").catch((error) => {
|
|
82494
82494
|
if (error.code === "ENOENT") return null;
|
|
82495
82495
|
throw error;
|
|
82496
82496
|
});
|
|
@@ -82543,9 +82543,9 @@ function fallbackArchiveDest(source, archiveRoot) {
|
|
|
82543
82543
|
async function copyVerifiedTo(sourcePath, dest, expected) {
|
|
82544
82544
|
const tmp = `${dest}.tmp-${randomUUID()}`;
|
|
82545
82545
|
try {
|
|
82546
|
-
const handle = await
|
|
82546
|
+
const handle = await fs$1.open(tmp, "wx", 384);
|
|
82547
82547
|
try {
|
|
82548
|
-
const sourceHandle = await
|
|
82548
|
+
const sourceHandle = await fs$1.open(sourcePath, "r");
|
|
82549
82549
|
try {
|
|
82550
82550
|
const chunk = Buffer.allocUnsafe(256 * 1024);
|
|
82551
82551
|
let size = 0;
|
|
@@ -82562,18 +82562,18 @@ async function copyVerifiedTo(sourcePath, dest, expected) {
|
|
|
82562
82562
|
} finally {
|
|
82563
82563
|
await handle.close();
|
|
82564
82564
|
}
|
|
82565
|
-
await
|
|
82565
|
+
await fs$1.chmod(tmp, 384);
|
|
82566
82566
|
const copied = await identityOf(tmp);
|
|
82567
82567
|
if (!copied || copied.fingerprint !== expected.fingerprint) throw new Error(`legacy archive cross-device copy diverged from the imported bytes: ${dest}`);
|
|
82568
82568
|
try {
|
|
82569
|
-
await
|
|
82569
|
+
await fs$1.link(tmp, dest);
|
|
82570
82570
|
} catch (error) {
|
|
82571
82571
|
if (error.code !== "EEXIST") throw error;
|
|
82572
82572
|
const existing = await identityOf(dest);
|
|
82573
82573
|
if (!existing || existing.fingerprint !== expected.fingerprint) throw new Error(`legacy archive destination exists with different content: ${dest}`, { cause: error });
|
|
82574
82574
|
}
|
|
82575
82575
|
} finally {
|
|
82576
|
-
await
|
|
82576
|
+
await fs$1.rm(tmp, { force: true });
|
|
82577
82577
|
}
|
|
82578
82578
|
}
|
|
82579
82579
|
/**
|
|
@@ -82589,7 +82589,7 @@ async function planLegacyArchiveDest(source, archiveRoot, expected) {
|
|
|
82589
82589
|
const resolvedRoot = path.resolve(archiveRoot);
|
|
82590
82590
|
const { dir, dest } = archivePathsFor(source, resolvedRoot);
|
|
82591
82591
|
try {
|
|
82592
|
-
await
|
|
82592
|
+
await fs$1.mkdir(dir, {
|
|
82593
82593
|
recursive: true,
|
|
82594
82594
|
mode: 448
|
|
82595
82595
|
});
|
|
@@ -82629,7 +82629,7 @@ async function archiveLegacySource(source, archiveRoot, expected) {
|
|
|
82629
82629
|
*/
|
|
82630
82630
|
async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
82631
82631
|
const resolvedRoot = path.resolve(archiveRoot);
|
|
82632
|
-
await
|
|
82632
|
+
await fs$1.mkdir(path.dirname(dest), {
|
|
82633
82633
|
recursive: true,
|
|
82634
82634
|
mode: 448
|
|
82635
82635
|
});
|
|
@@ -82639,14 +82639,14 @@ async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
|
82639
82639
|
const expectedIdentity = expected ?? sourceIdentityValue;
|
|
82640
82640
|
if (sourceIdentityValue.fingerprint !== expectedIdentity.fingerprint) throw new Error(`legacy source changed after import; failing closed: ${source.path}`);
|
|
82641
82641
|
const destInodeVerified = async (destPath) => {
|
|
82642
|
-
const [sourceStat, destStat] = await Promise.all([
|
|
82642
|
+
const [sourceStat, destStat] = await Promise.all([fs$1.stat(source.path), fs$1.stat(destPath).catch(() => void 0)]);
|
|
82643
82643
|
return destStat !== void 0 && destStat.dev === sourceStat.dev && destStat.ino === sourceStat.ino;
|
|
82644
82644
|
};
|
|
82645
82645
|
const moveInto = async (destPath) => {
|
|
82646
82646
|
let moved = false;
|
|
82647
82647
|
let independentArchive = false;
|
|
82648
82648
|
try {
|
|
82649
|
-
await
|
|
82649
|
+
await fs$1.link(source.path, destPath);
|
|
82650
82650
|
moved = true;
|
|
82651
82651
|
} catch (error) {
|
|
82652
82652
|
const code = error.code;
|
|
@@ -82654,7 +82654,7 @@ async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
|
82654
82654
|
const existing = await identityOf(destPath);
|
|
82655
82655
|
if (existing && existing.fingerprint === expectedIdentity.fingerprint) {
|
|
82656
82656
|
moved = true;
|
|
82657
|
-
const [sourceStat, destStat] = await Promise.all([
|
|
82657
|
+
const [sourceStat, destStat] = await Promise.all([fs$1.stat(source.path), fs$1.stat(destPath)]);
|
|
82658
82658
|
independentArchive = sourceStat.dev !== destStat.dev || sourceStat.ino !== destStat.ino;
|
|
82659
82659
|
} else return {
|
|
82660
82660
|
moved: false,
|
|
@@ -82675,13 +82675,13 @@ async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
|
82675
82675
|
};
|
|
82676
82676
|
const outcome = await moveInto(dest);
|
|
82677
82677
|
if (outcome.divergent) throw new Error(`legacy archive destination exists with different content: ${dest}`);
|
|
82678
|
-
await
|
|
82678
|
+
await fs$1.chmod(dest, 384);
|
|
82679
82679
|
if (!await destInodeVerified(dest)) {
|
|
82680
82680
|
const archived = await identityOf(dest);
|
|
82681
82681
|
if (!archived || archived.fingerprint !== expectedIdentity.fingerprint) throw new Error(`legacy archive verification failed: ${dest}`);
|
|
82682
82682
|
}
|
|
82683
82683
|
if (outcome.moved) if (outcome.independentArchive) await unlinkSourceIfUnchanged(source.path, expectedIdentity);
|
|
82684
|
-
else await
|
|
82684
|
+
else await fs$1.unlink(source.path);
|
|
82685
82685
|
return dest;
|
|
82686
82686
|
}
|
|
82687
82687
|
/**
|
|
@@ -82695,12 +82695,12 @@ async function unlinkSourceIfUnchanged(sourcePath, expected) {
|
|
|
82695
82695
|
const current = await sourceIdentity(sourcePath);
|
|
82696
82696
|
if (!current) return;
|
|
82697
82697
|
if (current.fingerprint !== expected.fingerprint) throw new Error(`legacy source changed before removal; failing closed: ${sourcePath}`);
|
|
82698
|
-
await
|
|
82698
|
+
await fs$1.unlink(sourcePath);
|
|
82699
82699
|
}
|
|
82700
82700
|
async function chmodDirs(dir, stopAt) {
|
|
82701
82701
|
let current = dir;
|
|
82702
82702
|
while (current.startsWith(stopAt) && current !== stopAt) {
|
|
82703
|
-
await
|
|
82703
|
+
await fs$1.chmod(current, 448).catch(() => void 0);
|
|
82704
82704
|
const parent = path.dirname(current);
|
|
82705
82705
|
if (parent === current) return;
|
|
82706
82706
|
current = parent;
|
|
@@ -82729,11 +82729,11 @@ async function purgeExpiredLegacyArchives(runtime, opts) {
|
|
|
82729
82729
|
log$32.warn("skipping legacy archive outside the archive root", { sourcePath: receipt.sourcePath });
|
|
82730
82730
|
continue;
|
|
82731
82731
|
}
|
|
82732
|
-
if (!await
|
|
82732
|
+
if (!await fs$1.stat(archivePath).then(() => true).catch((error) => {
|
|
82733
82733
|
if (error.code === "ENOENT") return false;
|
|
82734
82734
|
throw error;
|
|
82735
82735
|
})) continue;
|
|
82736
|
-
await
|
|
82736
|
+
await fs$1.rm(archivePath, { force: true });
|
|
82737
82737
|
purged += 1;
|
|
82738
82738
|
await pruneEmptyArchiveDirs(path.dirname(archivePath), archiveRoot);
|
|
82739
82739
|
}
|
|
@@ -82744,12 +82744,12 @@ async function pruneEmptyArchiveDirs(dir, stopAt) {
|
|
|
82744
82744
|
while (current.startsWith(stopAt + path.sep)) {
|
|
82745
82745
|
let entries;
|
|
82746
82746
|
try {
|
|
82747
|
-
entries = await
|
|
82747
|
+
entries = await fs$1.readdir(current);
|
|
82748
82748
|
} catch {
|
|
82749
82749
|
return;
|
|
82750
82750
|
}
|
|
82751
82751
|
if (entries.length > 0) return;
|
|
82752
|
-
await
|
|
82752
|
+
await fs$1.rmdir(current).catch(() => void 0);
|
|
82753
82753
|
current = path.dirname(current);
|
|
82754
82754
|
}
|
|
82755
82755
|
}
|
|
@@ -83325,7 +83325,7 @@ async function admitDurableKeyMappings(registry, listKeys, opts) {
|
|
|
83325
83325
|
await opts?.clearMappingSourcePath?.(mapping.agentId, mapping.sessionId).catch(() => void 0);
|
|
83326
83326
|
continue;
|
|
83327
83327
|
}
|
|
83328
|
-
const stats = await
|
|
83328
|
+
const stats = await fs$1.stat(mapping.sourcePath).catch(() => void 0);
|
|
83329
83329
|
if (!stats?.isFile()) continue;
|
|
83330
83330
|
registry.admit({
|
|
83331
83331
|
path: mapping.sourcePath,
|
|
@@ -83525,7 +83525,7 @@ function createLegacySourceRegistry() {
|
|
|
83525
83525
|
if (!isSettledReceipt(receipt, source.sizeBytes)) trackPendingPath(key, source);
|
|
83526
83526
|
return;
|
|
83527
83527
|
}
|
|
83528
|
-
const stats = await
|
|
83528
|
+
const stats = await fs$1.stat(key).catch(() => void 0);
|
|
83529
83529
|
if (!stats?.isFile() && receipt.status !== "imported") return;
|
|
83530
83530
|
admit({
|
|
83531
83531
|
path: key,
|
|
@@ -84018,7 +84018,7 @@ async function claimExclusivePartial(destPath) {
|
|
|
84018
84018
|
for (let attempt = 0; attempt < 3; attempt += 1) {
|
|
84019
84019
|
const candidate = `${destPath}.${process.pid}.${randomBytes(8).toString("hex")}.partial`;
|
|
84020
84020
|
try {
|
|
84021
|
-
await (await
|
|
84021
|
+
await (await fs$1.open(candidate, "wx", 384)).close();
|
|
84022
84022
|
return candidate;
|
|
84023
84023
|
} catch (err) {
|
|
84024
84024
|
if (err.code !== "EEXIST") throw err;
|
|
@@ -84037,7 +84037,7 @@ async function backupSqliteSessionDatabase(params) {
|
|
|
84037
84037
|
const dbPath = path.resolve(params.dbPath);
|
|
84038
84038
|
const destPath = path.resolve(params.destPath);
|
|
84039
84039
|
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");
|
|
84040
|
-
await
|
|
84040
|
+
await fs$1.mkdir(path.dirname(destPath), {
|
|
84041
84041
|
recursive: true,
|
|
84042
84042
|
mode: 448
|
|
84043
84043
|
});
|
|
@@ -84049,14 +84049,14 @@ async function backupSqliteSessionDatabase(params) {
|
|
|
84049
84049
|
gated: sqliteBackupTestHooks.holdWorkerAtGate === true,
|
|
84050
84050
|
writableSource: false
|
|
84051
84051
|
});
|
|
84052
|
-
await
|
|
84052
|
+
await fs$1.rename(partialPath, destPath);
|
|
84053
84053
|
} catch (err) {
|
|
84054
|
-
await
|
|
84054
|
+
await fs$1.rm(partialPath, { force: true }).catch(() => {});
|
|
84055
84055
|
throw err;
|
|
84056
84056
|
}
|
|
84057
84057
|
return {
|
|
84058
84058
|
path: destPath,
|
|
84059
|
-
bytes: (await
|
|
84059
|
+
bytes: (await fs$1.stat(destPath)).size
|
|
84060
84060
|
};
|
|
84061
84061
|
}
|
|
84062
84062
|
|
|
@@ -84078,7 +84078,7 @@ const INCARNATION_SELECT_SQL = "SELECT id FROM ctx_legacy_import_incarnation LIM
|
|
|
84078
84078
|
async function readDbIncarnationId(dbPath) {
|
|
84079
84079
|
let db;
|
|
84080
84080
|
try {
|
|
84081
|
-
await
|
|
84081
|
+
await fs$1.stat(dbPath);
|
|
84082
84082
|
db = new DatabaseSync(dbPath);
|
|
84083
84083
|
const row = db.prepare(INCARNATION_SELECT_SQL).get();
|
|
84084
84084
|
return typeof row?.id === "string" ? row.id : void 0;
|
|
@@ -84130,7 +84130,7 @@ async function takePreImportLegacySnapshot(params) {
|
|
|
84130
84130
|
const marked = await readSnapshotMarker(backupsDir, canonicalDbPath);
|
|
84131
84131
|
if (marked) return marked;
|
|
84132
84132
|
if ((await params.listReceipts()).length > 0) return;
|
|
84133
|
-
await
|
|
84133
|
+
await fs$1.mkdir(backupsDir, {
|
|
84134
84134
|
recursive: true,
|
|
84135
84135
|
mode: 448
|
|
84136
84136
|
});
|
|
@@ -84141,7 +84141,7 @@ async function takePreImportLegacySnapshot(params) {
|
|
|
84141
84141
|
dbPath,
|
|
84142
84142
|
destPath
|
|
84143
84143
|
});
|
|
84144
|
-
if (dbId !== void 0) await
|
|
84144
|
+
if (dbId !== void 0) await fs$1.writeFile(path.join(backupsDir, snapshotMarkerFile(canonicalDbPath)), `${JSON.stringify({
|
|
84145
84145
|
path: backup.path,
|
|
84146
84146
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
84147
84147
|
canonicalDbPath,
|
|
@@ -84159,17 +84159,17 @@ async function takePreImportLegacySnapshot(params) {
|
|
|
84159
84159
|
*/
|
|
84160
84160
|
async function cleanupPartialLegacyBackups(stateDir) {
|
|
84161
84161
|
const backupsDir = path.join(stateDir, "backups");
|
|
84162
|
-
const names = await
|
|
84162
|
+
const names = await fs$1.readdir(backupsDir).catch(() => []);
|
|
84163
84163
|
for (const name of names) {
|
|
84164
84164
|
if (!name.endsWith(".partial")) continue;
|
|
84165
|
-
await
|
|
84165
|
+
await fs$1.rm(path.join(backupsDir, name), { force: true }).catch(() => void 0);
|
|
84166
84166
|
}
|
|
84167
84167
|
}
|
|
84168
84168
|
async function readSnapshotMarker(backupsDir, canonicalDbPath) {
|
|
84169
84169
|
const currentIncarnationId = await readDbIncarnationId(canonicalDbPath);
|
|
84170
84170
|
const keyed = await readMarkerFile(path.join(backupsDir, snapshotMarkerFile(canonicalDbPath)), canonicalDbPath, currentIncarnationId);
|
|
84171
84171
|
if (keyed !== void 0) return keyed;
|
|
84172
|
-
const names = await
|
|
84172
|
+
const names = await fs$1.readdir(backupsDir).catch(() => []);
|
|
84173
84173
|
for (const name of names) {
|
|
84174
84174
|
if (!name.startsWith(SNAPSHOT_MARKER_PREFIX) || !name.endsWith(".json")) continue;
|
|
84175
84175
|
const found = await readMarkerFile(path.join(backupsDir, name), canonicalDbPath, currentIncarnationId);
|
|
@@ -84178,7 +84178,7 @@ async function readSnapshotMarker(backupsDir, canonicalDbPath) {
|
|
|
84178
84178
|
return readMarkerFile(path.join(backupsDir, SNAPSHOT_MARKER_FILE), canonicalDbPath, currentIncarnationId);
|
|
84179
84179
|
}
|
|
84180
84180
|
async function readMarkerFile(markerFile, canonicalDbPath, currentIncarnationId) {
|
|
84181
|
-
const raw = await
|
|
84181
|
+
const raw = await fs$1.readFile(markerFile, "utf8").catch(() => void 0);
|
|
84182
84182
|
if (!raw) return;
|
|
84183
84183
|
try {
|
|
84184
84184
|
const parsed = JSON.parse(raw);
|
|
@@ -84190,7 +84190,7 @@ async function readMarkerFile(markerFile, canonicalDbPath, currentIncarnationId)
|
|
|
84190
84190
|
if (currentIncarnationId !== void 0 && currentIncarnationId === markerId) return markerPath;
|
|
84191
84191
|
return;
|
|
84192
84192
|
}
|
|
84193
|
-
const [markerStat, dbStat] = await Promise.all([
|
|
84193
|
+
const [markerStat, dbStat] = await Promise.all([fs$1.stat(markerDbPath).catch(() => void 0), fs$1.stat(canonicalDbPath).catch(() => void 0)]);
|
|
84194
84194
|
if (markerStat !== void 0 && dbStat !== void 0 ? markerStat.dev === dbStat.dev && markerStat.ino === dbStat.ino : markerDbPath === canonicalDbPath) return markerPath;
|
|
84195
84195
|
}
|
|
84196
84196
|
} catch {}
|
|
@@ -84456,7 +84456,7 @@ const log$24 = createSubsystemLogger("config/sessions/legacy-import/index-import
|
|
|
84456
84456
|
async function readLegacyIndexStore(storePath) {
|
|
84457
84457
|
let raw;
|
|
84458
84458
|
try {
|
|
84459
|
-
raw = await
|
|
84459
|
+
raw = await fs$1.readFile(storePath, "utf8");
|
|
84460
84460
|
} catch (error) {
|
|
84461
84461
|
throw new Error(`legacy index source unreadable: ${storePath}`, { cause: error });
|
|
84462
84462
|
}
|
|
@@ -84695,7 +84695,7 @@ async function importLegacyIndex(runtime, source, opts = {}) {
|
|
|
84695
84695
|
actorExplicit: entry.actor !== void 0
|
|
84696
84696
|
}), opts.signal);
|
|
84697
84697
|
if (transcriptPath && opts.discoveredTranscripts && path.resolve(transcriptPath) !== path.resolve(source.path)) try {
|
|
84698
|
-
const stats = await
|
|
84698
|
+
const stats = await fs$1.stat(transcriptPath);
|
|
84699
84699
|
if (stats.isFile()) opts.discoveredTranscripts.push({
|
|
84700
84700
|
path: transcriptPath,
|
|
84701
84701
|
kind: "transcript",
|
|
@@ -84811,7 +84811,7 @@ async function loadSessionKeyOverrides(stateDir) {
|
|
|
84811
84811
|
const filePath = path.join(stateDir, "recovery", SESSION_KEY_OVERRIDES_FILENAME);
|
|
84812
84812
|
let raw;
|
|
84813
84813
|
try {
|
|
84814
|
-
raw = await
|
|
84814
|
+
raw = await fs$1.readFile(filePath, "utf8");
|
|
84815
84815
|
} catch (error) {
|
|
84816
84816
|
if (error.code !== "ENOENT") log$22.warn("session key overrides unreadable; ignoring", { error });
|
|
84817
84817
|
return /* @__PURE__ */ new Map();
|
|
@@ -86348,7 +86348,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
|
|
|
86348
86348
|
}
|
|
86349
86349
|
async function readLockPayload(lockPath) {
|
|
86350
86350
|
try {
|
|
86351
|
-
const raw = await
|
|
86351
|
+
const raw = await fs$1.readFile(lockPath, "utf8");
|
|
86352
86352
|
const parsed = JSON.parse(raw);
|
|
86353
86353
|
if (typeof parsed.pid !== "number") return null;
|
|
86354
86354
|
if (typeof parsed.createdAt !== "string") return null;
|
|
@@ -86733,7 +86733,7 @@ async function withMemoryManagerForAgent(params) {
|
|
|
86733
86733
|
}
|
|
86734
86734
|
async function checkReadableFile(pathname) {
|
|
86735
86735
|
try {
|
|
86736
|
-
await
|
|
86736
|
+
await fs$1.access(pathname, fs.constants.R_OK);
|
|
86737
86737
|
return { exists: true };
|
|
86738
86738
|
} catch (err) {
|
|
86739
86739
|
const code = err.code;
|
|
@@ -86768,7 +86768,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
|
|
|
86768
86768
|
if (alt.issue) issues.push(alt.issue);
|
|
86769
86769
|
const resolvedExtraPaths = normalizeExtraMemoryPaths(workspaceDir, extraPaths);
|
|
86770
86770
|
for (const extraPath of resolvedExtraPaths) try {
|
|
86771
|
-
if ((await
|
|
86771
|
+
if ((await fs$1.lstat(extraPath)).isSymbolicLink()) continue;
|
|
86772
86772
|
const extraCheck = await checkReadableFile(extraPath);
|
|
86773
86773
|
if (extraCheck.issue) issues.push(extraCheck.issue);
|
|
86774
86774
|
} catch (err) {
|
|
@@ -86778,7 +86778,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
|
|
|
86778
86778
|
}
|
|
86779
86779
|
let dirReadable = null;
|
|
86780
86780
|
try {
|
|
86781
|
-
await
|
|
86781
|
+
await fs$1.access(memoryDir, fs.constants.R_OK);
|
|
86782
86782
|
dirReadable = true;
|
|
86783
86783
|
} catch (err) {
|
|
86784
86784
|
const code = err.code;
|
|
@@ -86826,7 +86826,7 @@ async function summarizeQmdIndexArtifact(manager) {
|
|
|
86826
86826
|
if (!dbPath) return null;
|
|
86827
86827
|
let stat;
|
|
86828
86828
|
try {
|
|
86829
|
-
stat = await
|
|
86829
|
+
stat = await fs$1.stat(dbPath);
|
|
86830
86830
|
} catch (err) {
|
|
86831
86831
|
const code = err.code;
|
|
86832
86832
|
if (code === "ENOENT") throw new Error(`QMD index file not found: ${shortenHomePath(dbPath)}`, { cause: err });
|
|
@@ -87305,7 +87305,7 @@ function createPluginRuntime(options = {}) {
|
|
|
87305
87305
|
workStates: readTaskWorkStates
|
|
87306
87306
|
},
|
|
87307
87307
|
resolveLearningWorkspaceDir: (agentId) => resolveLearningWorkspaceDir(loadConfig(), agentId),
|
|
87308
|
-
sessions: { startUserRun: async (params) => (await import("./user-run-recording-
|
|
87308
|
+
sessions: { startUserRun: async (params) => (await import("./user-run-recording-D-7cPbdf.js").then((n) => n.n)).startUserSessionRun(params) }
|
|
87309
87309
|
};
|
|
87310
87310
|
Object.defineProperty(runtime, "analysis", {
|
|
87311
87311
|
enumerable: true,
|
|
@@ -88222,7 +88222,7 @@ function resolvePluginWebSearchProviders(params) {
|
|
|
88222
88222
|
//#endregion
|
|
88223
88223
|
//#region src/agents/apply-patch-update.ts
|
|
88224
88224
|
async function defaultReadFile(filePath) {
|
|
88225
|
-
return
|
|
88225
|
+
return fs$1.readFile(filePath, "utf8");
|
|
88226
88226
|
}
|
|
88227
88227
|
async function applyUpdateHunk(filePath, chunks, options) {
|
|
88228
88228
|
const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
|
|
@@ -88543,7 +88543,7 @@ function resolvePatchFileOps(options) {
|
|
|
88543
88543
|
const workspaceOnly = options.workspaceOnly !== false;
|
|
88544
88544
|
return {
|
|
88545
88545
|
readFile: async (filePath) => {
|
|
88546
|
-
if (!workspaceOnly) return await
|
|
88546
|
+
if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
|
|
88547
88547
|
const opened = await openBoundaryFile({
|
|
88548
88548
|
absolutePath: filePath,
|
|
88549
88549
|
rootPath: options.cwd,
|
|
@@ -88558,7 +88558,7 @@ function resolvePatchFileOps(options) {
|
|
|
88558
88558
|
},
|
|
88559
88559
|
writeFile: async (filePath, content) => {
|
|
88560
88560
|
if (!workspaceOnly) {
|
|
88561
|
-
await
|
|
88561
|
+
await fs$1.writeFile(filePath, content, "utf8");
|
|
88562
88562
|
return;
|
|
88563
88563
|
}
|
|
88564
88564
|
const relative = toRelativeSandboxPath(options.cwd, filePath);
|
|
@@ -88569,8 +88569,8 @@ function resolvePatchFileOps(options) {
|
|
|
88569
88569
|
encoding: "utf8"
|
|
88570
88570
|
});
|
|
88571
88571
|
},
|
|
88572
|
-
remove: (filePath) =>
|
|
88573
|
-
mkdirp: (dir) =>
|
|
88572
|
+
remove: (filePath) => fs$1.rm(filePath),
|
|
88573
|
+
mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
|
|
88574
88574
|
};
|
|
88575
88575
|
}
|
|
88576
88576
|
async function ensureDir(filePath, ops) {
|
|
@@ -88849,7 +88849,7 @@ async function recordLoopOutcome(args) {
|
|
|
88849
88849
|
if (!args.ctx?.sessionKey) return;
|
|
88850
88850
|
try {
|
|
88851
88851
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-B2VnYC0m.js").then((n) => n.n);
|
|
88852
|
-
const { recordToolCallOutcome } = await import("./tool-loop-detection-
|
|
88852
|
+
const { recordToolCallOutcome } = await import("./tool-loop-detection-CiexABx1.js");
|
|
88853
88853
|
recordToolCallOutcome(getDiagnosticSessionState({
|
|
88854
88854
|
sessionKey: args.ctx.sessionKey,
|
|
88855
88855
|
sessionId: args.ctx?.agentId
|
|
@@ -88876,8 +88876,8 @@ async function runBeforeToolCallHook(args) {
|
|
|
88876
88876
|
const params = args.params;
|
|
88877
88877
|
if (args.ctx?.sessionKey) {
|
|
88878
88878
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-B2VnYC0m.js").then((n) => n.n);
|
|
88879
|
-
const { logToolLoopAction } = await import("./diagnostic
|
|
88880
|
-
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-
|
|
88879
|
+
const { logToolLoopAction } = await import("./diagnostic--vAGyKdB.js").then((n) => n.n);
|
|
88880
|
+
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-CiexABx1.js");
|
|
88881
88881
|
const sessionState = getDiagnosticSessionState({
|
|
88882
88882
|
sessionKey: args.ctx.sessionKey,
|
|
88883
88883
|
sessionId: args.ctx?.agentId
|
|
@@ -89095,7 +89095,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
|
|
|
89095
89095
|
if (!pathParam || !newText) throw err;
|
|
89096
89096
|
try {
|
|
89097
89097
|
const absolutePath = resolveHostEditPath(root, pathParam);
|
|
89098
|
-
const content = await
|
|
89098
|
+
const content = await fs$1.readFile(absolutePath, "utf-8");
|
|
89099
89099
|
const hasNew = content.includes(newText);
|
|
89100
89100
|
const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
|
|
89101
89101
|
if (hasNew && !stillHasOld) return {
|
|
@@ -89566,14 +89566,14 @@ function createSandboxEditOperations(params) {
|
|
|
89566
89566
|
}
|
|
89567
89567
|
async function writeHostFile(absolutePath, content) {
|
|
89568
89568
|
const resolved = path.resolve(absolutePath);
|
|
89569
|
-
await
|
|
89570
|
-
await
|
|
89569
|
+
await fs$1.mkdir(path.dirname(resolved), { recursive: true });
|
|
89570
|
+
await fs$1.writeFile(resolved, content, "utf-8");
|
|
89571
89571
|
}
|
|
89572
89572
|
function createHostWriteOperations(root, options) {
|
|
89573
89573
|
if (!(options?.workspaceOnly ?? false)) return {
|
|
89574
89574
|
mkdir: async (dir) => {
|
|
89575
89575
|
const resolved = path.resolve(dir);
|
|
89576
|
-
await
|
|
89576
|
+
await fs$1.mkdir(resolved, { recursive: true });
|
|
89577
89577
|
},
|
|
89578
89578
|
writeFile: writeHostFile
|
|
89579
89579
|
};
|
|
@@ -89586,7 +89586,7 @@ function createHostWriteOperations(root, options) {
|
|
|
89586
89586
|
cwd: root,
|
|
89587
89587
|
root
|
|
89588
89588
|
});
|
|
89589
|
-
await
|
|
89589
|
+
await fs$1.mkdir(resolved, { recursive: true });
|
|
89590
89590
|
},
|
|
89591
89591
|
writeFile: async (absolutePath, content) => {
|
|
89592
89592
|
await writeFileWithinRoot({
|
|
@@ -89602,12 +89602,12 @@ function createHostEditOperations(root, options) {
|
|
|
89602
89602
|
if (!(options?.workspaceOnly ?? false)) return {
|
|
89603
89603
|
readFile: async (absolutePath) => {
|
|
89604
89604
|
const resolved = path.resolve(absolutePath);
|
|
89605
|
-
return await
|
|
89605
|
+
return await fs$1.readFile(resolved);
|
|
89606
89606
|
},
|
|
89607
89607
|
writeFile: writeHostFile,
|
|
89608
89608
|
access: async (absolutePath) => {
|
|
89609
89609
|
const resolved = path.resolve(absolutePath);
|
|
89610
|
-
await
|
|
89610
|
+
await fs$1.access(resolved);
|
|
89611
89611
|
}
|
|
89612
89612
|
};
|
|
89613
89613
|
return {
|
|
@@ -92423,7 +92423,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
92423
92423
|
} catch (err) {
|
|
92424
92424
|
return fail(describeUnknownError(err));
|
|
92425
92425
|
}
|
|
92426
|
-
await
|
|
92426
|
+
await fs$1.mkdir(resolvedWorkspace, { recursive: true });
|
|
92427
92427
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
92428
92428
|
const sandbox = await resolveSandboxContext({
|
|
92429
92429
|
config: params.config,
|
|
@@ -92432,7 +92432,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
92432
92432
|
workspaceLane: params.workspaceLane
|
|
92433
92433
|
});
|
|
92434
92434
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
92435
|
-
await
|
|
92435
|
+
await fs$1.mkdir(effectiveWorkspace, { recursive: true });
|
|
92436
92436
|
let restoreSkillEnv;
|
|
92437
92437
|
const releaseWorkspaceCwd = acquireWorkspaceCwd(effectiveWorkspace);
|
|
92438
92438
|
try {
|
|
@@ -98868,7 +98868,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
98868
98868
|
let embeddedAttemptBegun = false;
|
|
98869
98869
|
const runAbortController = new AbortController();
|
|
98870
98870
|
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"}`);
|
|
98871
|
-
await
|
|
98871
|
+
await fs$1.mkdir(resolvedWorkspace, { recursive: true });
|
|
98872
98872
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
98873
98873
|
const toolSessionKey = params.toolSessionKey?.trim() || sandboxSessionKey;
|
|
98874
98874
|
const sandbox = params.skipSandbox ? null : await resolveSandboxContext({
|
|
@@ -98878,7 +98878,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
98878
98878
|
workspaceLane: params.workspaceLane
|
|
98879
98879
|
});
|
|
98880
98880
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
98881
|
-
await
|
|
98881
|
+
await fs$1.mkdir(effectiveWorkspace, { recursive: true });
|
|
98882
98882
|
let restoreSkillEnv;
|
|
98883
98883
|
const releaseWorkspaceCwd = params.skipCwdChange ? void 0 : acquireWorkspaceCwd(effectiveWorkspace);
|
|
98884
98884
|
const rawToolResultStash = openRawToolResultStash(params.sessionId);
|
|
@@ -100769,7 +100769,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
100769
100769
|
const copilotAuthRetry = authRetryPending;
|
|
100770
100770
|
authRetryPending = false;
|
|
100771
100771
|
attemptedThinking.add(thinkLevel);
|
|
100772
|
-
await
|
|
100772
|
+
await fs$1.mkdir(resolvedWorkspace, { recursive: true });
|
|
100773
100773
|
const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
|
|
100774
100774
|
const attempt = await runEmbeddedAttempt({
|
|
100775
100775
|
sessionId: params.sessionId,
|
|
@@ -101653,7 +101653,7 @@ async function runModelGate(spec, ctx) {
|
|
|
101653
101653
|
const isolatedSessionId = randomNonce;
|
|
101654
101654
|
const isolatedRunId = randomNonce;
|
|
101655
101655
|
const tmpBaseDir = resolvePreferredOpenClawTmpDir();
|
|
101656
|
-
tmpDir = await
|
|
101656
|
+
tmpDir = await fs$1.mkdtemp(path.join(tmpBaseDir, "wake-gate-"));
|
|
101657
101657
|
const workspaceDir = tmpDir;
|
|
101658
101658
|
const prompt = spec.prompt ?? DEFAULT_MODEL_PROMPT;
|
|
101659
101659
|
const timeoutMs = spec.timeoutMs ?? DEFAULT_MODEL_TIMEOUT_MS;
|
|
@@ -101711,7 +101711,7 @@ async function runModelGate(spec, ctx) {
|
|
|
101711
101711
|
log$1.warn("model gate error", { error: err instanceof Error ? err.message : String(err) });
|
|
101712
101712
|
return { wake: false };
|
|
101713
101713
|
} finally {
|
|
101714
|
-
if (tmpDir) await
|
|
101714
|
+
if (tmpDir) await fs$1.rm(tmpDir, {
|
|
101715
101715
|
recursive: true,
|
|
101716
101716
|
force: true
|
|
101717
101717
|
}).catch(() => void 0);
|
|
@@ -101941,7 +101941,7 @@ async function resolveHeartbeatPreflight(params) {
|
|
|
101941
101941
|
const workspaceDir = resolveAgentWorkspaceDir(params.cfg, params.agentId);
|
|
101942
101942
|
const heartbeatFilePath = path.join(workspaceDir, DEFAULT_HEARTBEAT_FILENAME);
|
|
101943
101943
|
try {
|
|
101944
|
-
if (isHeartbeatContentEffectivelyEmpty(await
|
|
101944
|
+
if (isHeartbeatContentEffectivelyEmpty(await fs$1.readFile(heartbeatFilePath, "utf-8"))) return {
|
|
101945
101945
|
...basePreflight,
|
|
101946
101946
|
skipReason: "empty-heartbeat-file"
|
|
101947
101947
|
};
|