wednesdayai 0.5.1-dev.40 → 0.5.1-dev.41
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-BudmZlc1.js → agent-scope-CXfIHPTl.js} +3 -3
- package/dist/{agent-scope-BJFJ0deZ.js → agent-scope-DUbhjnHb.js} +18 -18
- package/dist/{agent-turn-execute-CIlMMXNu.js → agent-turn-execute-8DU-jztX.js} +168 -168
- package/dist/{agent-turn-runner-C5FiRTJg.js → agent-turn-runner-BJqs23F_.js} +6 -6
- package/dist/{agent-turn-runner-SxjOzPCD.js → agent-turn-runner-DHc4lH66.js} +6 -6
- package/dist/{api-key-rotation-BWj1Itf-.js → api-key-rotation-B8RAiYZ_.js} +2 -2
- package/dist/{api-key-rotation-DzXkIU1m.js → api-key-rotation-PK29aYV9.js} +2 -2
- package/dist/{audio-preflight-CKxOmHZL.js → audio-preflight-Cio-wP6C.js} +22 -22
- package/dist/{audio-preflight-E-nHdi7I.js → audio-preflight-DaYu-alJ.js} +27 -27
- package/dist/{audio-transcription-runner-Cc-hAbE1.js → audio-transcription-runner-DW04B1B-.js} +26 -26
- package/dist/{audio-transcription-runner-DrIyj8a5.js → audio-transcription-runner-D_-_mf4m.js} +25 -25
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +58 -58
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +2 -2
- package/dist/bundled/session-journal/handler.js +58 -58
- package/dist/bundled/session-memory/handler.js +58 -58
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{chat-content-CL44f6Ub.js → chat-content-DIjp-kW-.js} +36 -36
- package/dist/{chat-content-BgW4rG28.js → chat-content-tQ21BnhN.js} +24 -24
- package/dist/{plugin-sdk/chrome-DML7V0HT.js → chrome-C9TkYQeh.js} +26 -26
- package/dist/{chrome-DNTX4D1k.js → chrome-DxiDoVpi.js} +13 -13
- package/dist/{chunk-BEuk6eCG.js → chunk-50mU2Avf.js} +3 -3
- package/dist/{chunk-BHQuzJtJ.js → chunk-DCCRrNDr.js} +3 -3
- package/dist/{command-queue-CyJUnsMn.js → command-queue-De2GI8TP.js} +1 -1
- package/dist/{command-queue-D_saM8MV.js → command-queue-yDJ733aN.js} +1 -1
- package/dist/{command-registry-xYf1aBOy.js → command-registry-Ip0F63vx.js} +4 -4
- package/dist/{commands-registry-CNVoO37I.js → commands-registry-C3LKhQLY.js} +2 -2
- package/dist/{commands-registry-C-BDBl_b.js → commands-registry-CzTzqbi9.js} +2 -2
- package/dist/{completion-cli-od6mAB_x.js → completion-cli-BFHL_SSq.js} +2 -2
- package/dist/{completion-cli-BIuMSnSA.js → completion-cli-EqOcxJpx.js} +1 -1
- package/dist/{config-CPcuaNsB.js → config-D5tWLhng.js} +26 -26
- package/dist/config.js +3 -3
- package/dist/{credentials-DnIj4HtR.js → credentials-BAWD9O8L.js} +1 -1
- package/dist/{credentials-2Kd9Ahu7.js → credentials-DdZjLLBj.js} +1 -1
- package/dist/{deliver-Ap_fWjsf.js → deliver-Cqo4_R0v.js} +14 -14
- package/dist/{deliver-DUUEMT-w.js → deliver-DeMElZFE.js} +29 -29
- package/dist/{diagnostic-YRGuisNG.js → diagnostic-BqFtliY1.js} +3 -3
- package/dist/{diagnostic--vAGyKdB.js → diagnostic-Nq6B3DZr.js} +3 -3
- package/dist/{doctor-completion-xR-LI2Kc.js → doctor-completion-CNBGQIUD.js} +1 -1
- package/dist/{doctor-completion-B3oIZ4R2.js → doctor-completion-W6Xmw25w.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{plugin-sdk/errors-BH3DYZVB.js → errors-BWpk4nzX.js} +1 -1
- package/dist/{errors-DnOtx_vg.js → errors-D8k7j4A4.js} +1 -1
- package/dist/{fetch-ChtdmCYU.js → fetch-CHncmQms.js} +8 -8
- package/dist/{plugin-sdk/fetch-BxGJD3sH.js → fetch-CLvElPgY.js} +1 -1
- package/dist/{plugin-sdk/fetch-BqFNIJpI.js → fetch-DG4n5iR6.js} +1 -1
- package/dist/{fetch-BJ9kDOw8.js → fetch-TzOudNO4.js} +7 -7
- package/dist/{fetch-guard-CRERUrFK.js → fetch-guard-BZlxmZcA.js} +2 -2
- package/dist/{fetch-guard-BnKTeFyb.js → fetch-guard-kz-XQlCx.js} +2 -2
- package/dist/{frontmatter-CqznVm7P.js → frontmatter-BDLxOane.js} +5 -5
- package/dist/{fs-safe-C3qJHn62.js → fs-safe-BH37Yhl8.js} +25 -25
- package/dist/{fs-safe-D96d8swI.js → fs-safe-BjrptUz1.js} +26 -26
- package/dist/{gateway-cli-B0WWrjnY.js → gateway-cli-D17zAbrY.js} +20 -10
- package/dist/{gateway-cli-BRUhDHZW.js → gateway-cli-DktZhN9y.js} +20 -10
- package/dist/{image-ops-BiBI-uAf.js → image-ops-BWgZn39_.js} +1 -1
- package/dist/{image-ops-BTgGxcIG.js → image-ops-C54shfkj.js} +11 -11
- package/dist/index.js +1 -1
- package/dist/{ir-IKFrcD2H.js → ir-Btci3Wse.js} +8 -8
- package/dist/{ir-Drj2D5Gr.js → ir-SWdqg35s.js} +5 -5
- package/dist/{json-files-DNv3G6Vg.js → json-files-C3L53Qrl.js} +7 -7
- package/dist/{legacy-names-Bx5L8LWT.js → legacy-names-BKv-k5-D.js} +1 -1
- package/dist/llm-slug-generator.js +58 -58
- package/dist/{manager-Cb_Lde6Q.js → manager-BPk0HUHz.js} +14 -14
- package/dist/{manager-C9H5Oflk.js → manager-Nw8a10KA.js} +18 -18
- package/dist/{markdown-tables-Crj_Y0Qx.js → markdown-tables-BJqhUgli.js} +2 -2
- package/dist/{markdown-tables-BvoP0b-H.js → markdown-tables-By4yQcHS.js} +2 -2
- package/dist/{model-selection-2-pBJbaC.js → model-selection-JA-6f5ss.js} +84 -84
- package/dist/{models-config-7yfOGOZY.js → models-config-Cbzv_acs.js} +2 -2
- package/dist/{models-config-DkEpc_7A.js → models-config-TH00YNHC.js} +7 -7
- package/dist/{nudge-BR_K1LnT.js → nudge-DVGzMWUi.js} +16 -16
- package/dist/{nudge-CcGwhSSL.js → nudge-Da1ePscI.js} +35 -35
- package/dist/{onboard-CRHyyv-F.js → onboard-D2AmYbm8.js} +1 -1
- package/dist/{onboard-CYQVIEKp.js → onboard-PJee12bv.js} +1 -1
- package/dist/{onboarding-CDHMZKiy.js → onboarding-C1f94rh1.js} +1 -1
- package/dist/{onboarding-vLVDuEr7.js → onboarding-DXRhSAcO.js} +1 -1
- package/dist/{onboarding.finalize-D3hX9K5R.js → onboarding.finalize-C0RUJoiz.js} +4 -4
- package/dist/{onboarding.finalize-BDJnDt6t.js → onboarding.finalize-Calv0MIe.js} +3 -3
- package/dist/{outbound-attachment-CxvBVgcJ.js → outbound-attachment-CZwlqfbE.js} +2 -2
- package/dist/{outbound-attachment-DFIzmC4e.js → outbound-attachment-DAUmCye_.js} +2 -2
- package/dist/{outbound-message-hooks-C9zh-qk0.js → outbound-message-hooks-Bqu2fu_R.js} +4 -4
- package/dist/{outbound-message-hooks-DfRORyCc.js → outbound-message-hooks-CIrC0qAA.js} +5 -5
- package/dist/{pairing-files-ByediFgs.js → pairing-files-B1ukutA_.js} +1 -1
- package/dist/{path-alias-guards-B9AcbQl6.js → path-alias-guards-CGcezGX3.js} +3 -3
- package/dist/{path-alias-guards-BXXI1YTn.js → path-alias-guards-CgO2FpVx.js} +1 -1
- package/dist/{pi-embedded-Dp5uUcq6.js → pi-embedded-W4tWwQw6.js} +254 -254
- package/dist/{pi-embedded-utils-Dc-LEWCI.js → pi-embedded-utils-B6eeyw2H.js} +3 -3
- package/dist/{pi-embedded-utils-CQ3KPjMe.js → pi-embedded-utils-DF7kfQx2.js} +3 -3
- package/dist/{pi-model-discovery-C4WE3mR2.js → pi-model-discovery-VTZCKDCd.js} +1 -1
- package/dist/{pi-model-discovery-B44lshxv.js → pi-model-discovery-ym24jTFO.js} +7 -7
- package/dist/plugin-sdk/{agent-scope-Cy5bPtkD.js → agent-scope-BnbrZIzh.js} +1 -1
- package/dist/plugin-sdk/{agent-turn-execute-Cr_GYkDb.js → agent-turn-execute-Bj1_MqWi.js} +79 -79
- package/dist/plugin-sdk/agent-turn-execute-D0szeKs8.js +61 -0
- package/dist/plugin-sdk/{agent-turn-runner-D3tAlzpP.js → agent-turn-runner-fV3h6ELM.js} +6 -6
- package/dist/plugin-sdk/{agent-turn-runner-CBR6kAt-.js → agent-turn-runner-zbex5xar.js} +6 -6
- package/dist/plugin-sdk/{api-key-rotation-Dmd_whf1.js → api-key-rotation-DbJkvwYN.js} +1 -1
- package/dist/plugin-sdk/{api-key-rotation-BKcVxTy8.js → api-key-rotation-Dpyf5O6z.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-2XKqIXAx.js → audio-preflight-DhIYyWh0.js} +14 -14
- package/dist/plugin-sdk/{audio-preflight-BVKGoA22.js → audio-preflight-DlNHpUpW.js} +23 -23
- package/dist/plugin-sdk/{audio-transcription-runner-Cvfignlt.js → audio-transcription-runner-BNWmQAJ3.js} +10 -10
- package/dist/plugin-sdk/{audio-transcription-runner-2ziIuais.js → audio-transcription-runner-DbjdWQRu.js} +8 -8
- package/dist/plugin-sdk/{auth-profiles-BxDhfCHT.js → auth-profiles-DPd1Ol-P.js} +1 -1
- package/dist/plugin-sdk/{chat-content-DWJ_WMLQ.js → chat-content-CEMoDe5q.js} +9 -9
- package/dist/{chrome-D1006Mu2.js → plugin-sdk/chrome-CobI3ImG.js} +8 -8
- package/dist/plugin-sdk/{chrome-Djvom4Ij.js → chrome-DwoV5WFU.js} +6 -6
- package/dist/plugin-sdk/{chunk-SR4Ydfza.js → chunk-C3M1IW7W.js} +2 -2
- package/dist/plugin-sdk/{chunk-Bh4ffo9K.js → chunk-CBTJQenE.js} +3 -3
- package/dist/plugin-sdk/{command-queue-DUO9-NRr.js → command-queue-DUuIiwvi.js} +2 -2
- package/dist/plugin-sdk/{command-queue-DxcAKezg.js → command-queue-hSL_BIod.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-DnePgYTq.js → commands-registry-DPCcTIwi.js} +2 -2
- package/dist/plugin-sdk/{commands-registry-CCiWhIrU.js → commands-registry-vhM5U22x.js} +2 -2
- package/dist/plugin-sdk/{credentials-DJMyq23O.js → credentials-BgX_xjTe.js} +1 -1
- package/dist/plugin-sdk/{credentials-BFdx8hCQ.js → credentials-oF38Hm9r.js} +1 -1
- package/dist/plugin-sdk/{deliver-Cf-VdZA7.js → deliver-CkQB8s_s.js} +14 -14
- package/dist/plugin-sdk/deliver-DTstMBfw.js +34 -0
- package/dist/plugin-sdk/{deliver-D3LWZpv1.js → deliver-lkeqXp0v.js} +11 -11
- package/dist/plugin-sdk/{diagnostic-BXgGsRnq.js → diagnostic-TucKQ5Fk.js} +2 -2
- package/dist/plugin-sdk/{diagnostic-BpXW-Rhw.js → diagnostic-nUTVaBEe.js} +3 -3
- package/dist/plugin-sdk/{diagnostic-session-state-Y-_mHHE2.js → diagnostic-session-state-C74O1QW2.js} +1 -1
- package/dist/{errors-DnS9ngr1.js → plugin-sdk/errors-BcCM5PTR.js} +1 -1
- package/dist/{fetch-CrTLz8wd.js → plugin-sdk/fetch-BEOHdT2e.js} +1 -1
- package/dist/{fetch-DJPbv7La.js → plugin-sdk/fetch-BNHoA66Z.js} +1 -1
- package/dist/plugin-sdk/{fetch-CpY6mDmQ.js → fetch-D7rvWjfk.js} +2 -2
- package/dist/plugin-sdk/{fetch-B9WuvLLv.js → fetch-DV_cKD5m.js} +7 -7
- package/dist/plugin-sdk/{fetch-guard-BEue3kvx.js → fetch-guard-CQIsGUgZ.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-CJhIVznN.js → fetch-guard-Dpd7hJ0h.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-BQ8e0fFk.js → fs-safe-CnAPtYPG.js} +3 -3
- package/dist/plugin-sdk/{image-ops-CqatVl0e.js → image-ops-1WkFRYfC.js} +1 -1
- package/dist/plugin-sdk/{inbound-context-CKtZsNVT.js → inbound-context-BdGImnhD.js} +1 -1
- package/dist/plugin-sdk/{ir-C1cLQG0N.js → ir-BnNIPrDz.js} +5 -5
- package/dist/plugin-sdk/{ir-Ep5lw12h.js → ir-D-nyt7yZ.js} +2 -2
- package/dist/plugin-sdk/{manager-DyYd10T2.js → manager-3Bw8zhA3.js} +4 -4
- package/dist/plugin-sdk/manager-BexdJt3o.js +14 -0
- package/dist/plugin-sdk/{manager-xGWNrW5i.js → manager-uIw894nB.js} +7 -7
- package/dist/plugin-sdk/{markdown-tables-DnMUQn1V.js → markdown-tables-D6Jl1s9s.js} +2 -2
- package/dist/plugin-sdk/{markdown-tables-B4G-uOPz.js → markdown-tables-DczIA0hC.js} +2 -2
- package/dist/plugin-sdk/{model-auth-pNsZhRxq.js → model-auth-Beiv1ujI.js} +7 -7
- package/dist/plugin-sdk/{models-config-DsHaLeW3.js → models-config-DPG3UP6h.js} +1 -1
- package/dist/plugin-sdk/{models-config-d-LFEKVs.js → models-config-DrzOHxl5.js} +2 -2
- package/dist/plugin-sdk/{monitor-CbKokdL4.js → monitor-BQWiYAwC.js} +77 -77
- package/dist/plugin-sdk/{nudge-z8ozyWd6.js → nudge-Cp00v46W.js} +11 -11
- package/dist/plugin-sdk/{nudge-BvirROp6.js → nudge-czM3OOTT.js} +8 -8
- package/dist/plugin-sdk/{openai-compatible-video-BxPbkLMy.js → openai-compatible-video-Dy57wpNv.js} +7 -7
- package/dist/plugin-sdk/{outbound-attachment-DkIWM5yK.js → outbound-attachment-BoSR20RK.js} +2 -2
- package/dist/plugin-sdk/{outbound-attachment-BrHUWeqB.js → outbound-attachment-JHREBMfy.js} +1 -1
- package/dist/plugin-sdk/{outbound-message-hooks-DsAvrOUy.js → outbound-message-hooks-eUNVCJ0m.js} +4 -4
- package/dist/plugin-sdk/{path-alias-guards-CF0cvXKB.js → path-alias-guards-D1I2TIj4.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-Ctve63Vr.js → pi-embedded-helpers-BRSkUtFR.js} +15 -15
- package/dist/plugin-sdk/{pi-embedded-utils-cecBA96E.js → pi-embedded-utils-DcsHTJ1m.js} +3 -3
- package/dist/plugin-sdk/{pi-embedded-utils-6FFFlkbd.js → pi-embedded-utils-JXHsJfhx.js} +1 -1
- package/dist/plugin-sdk/{pi-model-discovery-BnsoI-E6.js → pi-model-discovery-CKGA60jT.js} +2 -2
- package/dist/plugin-sdk/{pi-model-discovery-CMOEq078.js → pi-model-discovery-HVno_0HD.js} +1 -1
- package/dist/plugin-sdk/provider-dispatcher-Cq6Acy3h.js +61 -0
- package/dist/plugin-sdk/provider-media-understanding.js +20 -20
- package/dist/plugin-sdk/{proxy-env-jBCtIiJH.js → proxy-env-D9QKz5Mq.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-Bl2Z9GYg.js → pw-ai-B1OqkFDb.js} +10 -10
- package/dist/plugin-sdk/{pw-ai-IAdR6aX7.js → pw-ai-B_6I8TGZ.js} +4 -4
- package/dist/plugin-sdk/{qmd-manager-DERrmogO.js → qmd-manager-CIgxgs0D.js} +2 -2
- package/dist/plugin-sdk/{qmd-manager-DY9c1S_2.js → qmd-manager-Ip6QnhA7.js} +8 -8
- package/dist/plugin-sdk/{qmd-scope-C3rw3Qjd.js → qmd-scope-DMNjwnEQ.js} +1 -1
- package/dist/plugin-sdk/{query-expansion-CWCvbGoy.js → query-expansion-CECAX0Pe.js} +1 -1
- package/dist/plugin-sdk/{query-expansion-BhXha2GI.js → query-expansion-DV-ECmRb.js} +2 -2
- package/dist/plugin-sdk/{recorder-xWMrt--U.js → recorder-C6OpZN3o.js} +1 -1
- package/dist/plugin-sdk/{recorder-DccHbgBz.js → recorder-XQ8ZjG7j.js} +2 -2
- package/dist/plugin-sdk/{redact-CXDVzhSq.js → redact-C3T6IWmQ.js} +1 -1
- package/dist/plugin-sdk/{registry-B-9fRLtl.js → registry-D9-EsIYH.js} +1 -1
- package/dist/plugin-sdk/{replies-BNtRlug2.js → replies-BhuMuYfa.js} +11 -11
- package/dist/plugin-sdk/{replies-CbnkLeUl.js → replies-ClN-Aak4.js} +4 -4
- package/dist/{replies-DAavcLc9.js → plugin-sdk/replies-HCqRS_IF.js} +5 -5
- package/dist/plugin-sdk/{reply-directives-CXKYiQC1.js → reply-directives-Bn4oBJnk.js} +2 -2
- package/dist/plugin-sdk/{reply-directives-CKNwlk_8.js → reply-directives-C69Fd8zO.js} +1 -1
- package/dist/plugin-sdk/{reply-prefix-DCeyas-6.js → reply-prefix-BQ-rDIAU.js} +1 -1
- package/dist/{reply-prefix-C08CPcgE.js → plugin-sdk/reply-prefix-CCyygbH2.js} +1 -1
- package/dist/plugin-sdk/{resolve-route-CsiTWvoi.js → resolve-route-Djrs4IWv.js} +3 -3
- package/dist/plugin-sdk/{resolve-route-t2HJkuDx.js → resolve-route-N9oe4tGM.js} +2 -2
- package/dist/plugin-sdk/{runs-B0mmuxPP.js → runs-0OTO0OVX.js} +12 -12
- package/dist/plugin-sdk/{runs-CSaP-UMd.js → runs-DK85oFoq.js} +7 -7
- package/dist/plugin-sdk/{runs-ByM3uA8B.js → runs-DN-UxJ44.js} +8 -8
- package/dist/plugin-sdk/{send-D0UAWWai.js → send-AstP-BDn.js} +8 -8
- package/dist/plugin-sdk/{send-BToCKtul.js → send-C8OYq5CD.js} +10 -10
- package/dist/plugin-sdk/send-CMAU8Lg8.js +23 -0
- package/dist/plugin-sdk/{send-CbbM7dcD.js → send-CVYVctJr.js} +6 -6
- package/dist/plugin-sdk/{send-hdgQBd4P.js → send-CciBIiE2.js} +4 -4
- package/dist/plugin-sdk/{send-rQhDBwIJ.js → send-CilPGWoe.js} +8 -8
- package/dist/plugin-sdk/{send-CTefF3Iw.js → send-CyKQnkbd.js} +6 -6
- package/dist/plugin-sdk/{send-Dgf6n9kX.js → send-D3hVSNy0.js} +6 -6
- package/dist/plugin-sdk/{send-qUR5w2lM.js → send-D5C72eu6.js} +7 -7
- package/dist/plugin-sdk/{send-CY2iq9C4.js → send-DFpY65tA.js} +10 -10
- package/dist/plugin-sdk/{send-BwuMsQ_p.js → send-DnJb7LiP.js} +8 -8
- package/dist/plugin-sdk/{send-BQYyBicH.js → send-dNeIyZEN.js} +5 -5
- package/dist/plugin-sdk/{session-context-E8Vv0lBU.js → session-context-4IeKkzGJ.js} +2 -2
- package/dist/plugin-sdk/{session-meta-_XFpsAgw.js → session-meta-BlMS0pts.js} +2 -2
- package/dist/plugin-sdk/{session-meta-B_alDqcD.js → session-meta-pKpwf1nQ.js} +1 -1
- package/dist/plugin-sdk/{sessions-DGyoDRbg.js → sessions-BUjbH5K1.js} +1 -1
- package/dist/plugin-sdk/{sessions-CkJfRajZ.js → sessions-BfBjVuaP.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-D5O0FXiW.js → skill-commands-Bk_STwKa.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-DJ9gv-vK.js → skill-commands-J-ZcPvqF.js} +3 -3
- package/dist/plugin-sdk/{skills-ByCpoIW7.js → skills-BArFQgKX.js} +6 -6
- package/dist/plugin-sdk/{skills-mfK8NK3f.js → skills-W6RHTFue.js} +1 -1
- package/dist/plugin-sdk/{ssrf-aLKAjCHj.js → ssrf-B2UnPTf3.js} +1 -1
- package/dist/plugin-sdk/{store-KaVQ5gHj.js → store-D8eITlWs.js} +2 -2
- package/dist/plugin-sdk/{subagent-registry-DyI22dHA.js → subagent-registry-Bek3q0nu.js} +44 -44
- package/dist/plugin-sdk/{subsystem-DGPv0F8I.js → subsystem-Btq0amiz.js} +4 -4
- package/dist/plugin-sdk/{tables-CONj5xDV.js → tables-Bj_zeTwr.js} +1 -1
- package/dist/plugin-sdk/{tables-Dt2IrV1k.js → tables-ohryoECJ.js} +1 -1
- package/dist/plugin-sdk/testing.js +44 -44
- package/dist/plugin-sdk/{tokens-DUGBy1gM.js → tokens-mfZMXas7.js} +1 -1
- package/dist/plugin-sdk/{tool-loop-detection-Cl4-Vsd_.js → tool-loop-detection-CnFqoQKh.js} +1 -1
- package/dist/plugin-sdk/{user-run-recording-C05KbS-o.js → user-run-recording-CAAdiBWD.js} +2 -2
- package/dist/plugin-sdk/{user-run-recording--8aaZMPs.js → user-run-recording-DQBPNzif.js} +2 -2
- package/dist/plugin-sdk/{ws-C7BGsi5P.js → ws-DN6RmfyQ.js} +1 -1
- package/dist/plugin-sdk/{ws-BzjQAveZ.js → ws-zaFiZiYP.js} +1 -1
- package/dist/{program-CcLb8Psv.js → program-DYZ4XAFZ.js} +2 -2
- package/dist/{program-context-X8qIC1Px.js → program-context-BM_flY1J.js} +6 -6
- package/dist/{prompt-select-styled-NrfLylYh.js → prompt-select-styled-BFW0tf77.js} +1 -1
- package/dist/{prompt-select-styled-DUTH4ST5.js → prompt-select-styled-Eb9ltCzM.js} +1 -1
- package/dist/{proxy-env-Bw8nAERJ.js → proxy-env-DKs0W5v1.js} +1 -1
- package/dist/{proxy-env-DdoaBr4H.js → proxy-env-DtzLr6mZ.js} +1 -1
- package/dist/{pw-ai-C6ZFN6As.js → pw-ai-CEk9Jaqd.js} +13 -13
- package/dist/{pw-ai-CV5A9Kt_.js → pw-ai-KPNOiYzf.js} +14 -14
- package/dist/{qmd-manager-Bw5dnMTy.js → qmd-manager-BFUaPUn-.js} +12 -12
- package/dist/{qmd-manager-BZSlXT1A.js → qmd-manager-BmiJlIMN.js} +23 -23
- package/dist/{qmd-scope-BOfwIKTy.js → qmd-scope-CUCeRWxr.js} +1 -1
- package/dist/{qmd-scope-0dG63o_w.js → qmd-scope-DLLTbQwp.js} +1 -1
- package/dist/{query-expansion-gzgHhq68.js → query-expansion-CbOJZTFH.js} +13 -13
- package/dist/{query-expansion-BDAO12Ha.js → query-expansion-DLN1Vjgr.js} +11 -11
- package/dist/{recorder-ciGDu2oO.js → recorder-CndF3Klo.js} +2 -2
- package/dist/{recorder-Bp_onP2d.js → recorder-jnBdoV4s.js} +2 -2
- package/dist/{redact-Cp-v7ZNA.js → redact-B6sHOW29.js} +1 -1
- package/dist/{redact-D--orJnz.js → redact-C8xjZT-F.js} +1 -1
- package/dist/{register.maintenance-CFd160fT.js → register.maintenance-CNiAi_Bg.js} +5 -5
- package/dist/{register.maintenance-Dc0j0tvi.js → register.maintenance-Dq3k6jFc.js} +4 -4
- package/dist/{register.onboard-u0pMgMv4.js → register.onboard-DGBJtyFX.js} +2 -2
- package/dist/{register.onboard-C-lkIY7d.js → register.onboard-DqGIfQsO.js} +2 -2
- package/dist/{register.setup-BAiTfEey.js → register.setup-BdAQ_7gM.js} +2 -2
- package/dist/{register.setup-D6hviI6L.js → register.setup-Ckb9Hpks.js} +2 -2
- package/dist/{register.subclis-3YVvoBSB.js → register.subclis-Cn5DS2Th.js} +3 -3
- package/dist/{plugin-sdk/replies-CyyZdjYH.js → replies-CoEfccKv.js} +5 -5
- package/dist/{replies-EZyamg1p.js → replies-lKn2Mrkb.js} +5 -5
- package/dist/{reply-directives-B_wfvntf.js → reply-directives-BclP76MA.js} +2 -2
- package/dist/{reply-directives-DMPiBIx3.js → reply-directives-Djre3xI1.js} +2 -2
- package/dist/{reply-prefix-DLf0nmds.js → reply-prefix-BTUna5vE.js} +1 -1
- package/dist/{plugin-sdk/reply-prefix-DL3DiQEo.js → reply-prefix-DiyN1oc7.js} +1 -1
- package/dist/{resolve-route-GBqD8iPk.js → resolve-route-BmA3wi9D.js} +4 -4
- package/dist/{resolve-route-BP1OpZqn.js → resolve-route-ClI5pltd.js} +3 -3
- package/dist/{run-main-BBLzm5df.js → run-main-BYnz7Ou5.js} +3 -3
- package/dist/{runs-EvR8ugp4.js → runs-DffCseDM.js} +9 -9
- package/dist/{runs-Bf_VVVBE.js → runs-efmPtrdw.js} +8 -8
- package/dist/{send-C0kXNcyD.js → send-B3c56zXa.js} +8 -8
- package/dist/{send-B5XVAKWg.js → send-BZrEBJKt.js} +7 -7
- package/dist/{send-CNMPyQyQ.js → send-CLnmNoGF.js} +7 -7
- package/dist/{send-BVfxa93K.js → send-ChgWfhHL.js} +8 -8
- package/dist/{send-12uxFQQR.js → send-Co-6tb50.js} +8 -8
- package/dist/{send-oHqfck_E.js → send-DkHxW8Pg.js} +6 -6
- package/dist/{send-BCEsHNBh.js → send-NLqVlKnJ.js} +6 -6
- package/dist/{send-BOm8dqOB.js → send-TVImOmCV.js} +13 -13
- package/dist/{session-meta-BCY_pfg7.js → session-meta-CE9Oi0tA.js} +1 -1
- package/dist/{session-meta-C_fW_AWG.js → session-meta-DDeeNkQv.js} +1 -1
- package/dist/{sessions-IqyeyMXp.js → sessions-BgTvNzNv.js} +4 -4
- package/dist/{sessions-DODCZ4JK.js → sessions-DkSPJ2k9.js} +5 -5
- package/dist/{skill-commands-DYJDIogS.js → skill-commands-BOG-33Ja.js} +5 -5
- package/dist/{skill-commands-5VtV6o_q.js → skill-commands-K9_D6a_V.js} +7 -7
- package/dist/{skills-jb4bSwT6.js → skills-Ci9t7Gax.js} +4 -4
- package/dist/{skills-B3DYwqF5.js → skills-CrNvxe8D.js} +21 -21
- package/dist/{store-CsI6l-8d.js → store-B6wZFu_5.js} +7 -7
- package/dist/{store-DnvoAjAE.js → store-DJPbhmBq.js} +7 -7
- package/dist/{subsystem-BTMrlJ-R.js → subsystem-B9soUuXQ.js} +7 -7
- package/dist/{subsystem-DoQFckDJ.js → subsystem-cFv2jJm-.js} +71 -71
- package/dist/{tables-CuZTAY1e.js → tables-BaYGY_Hk.js} +1 -1
- package/dist/{tables-BTIafSNy.js → tables-CYp9eWuv.js} +1 -1
- package/dist/{tokens-C8E7C2l5.js → tokens-DwuYAzrE.js} +1 -1
- package/dist/{tokens-qfLiLlNv.js → tokens-KbWGDYPC.js} +1 -1
- package/dist/{tool-loop-detection-CiexABx1.js → tool-loop-detection-B2G2F3vq.js} +1 -1
- package/dist/{tool-loop-detection-4AIUOil2.js → tool-loop-detection-BwJFCGqI.js} +2 -2
- package/dist/{update-cli-D4CRTu-Y.js → update-cli-BFg_CRum.js} +5 -5
- package/dist/{update-cli-q45uqAKK.js → update-cli-BfwXa0Uk.js} +4 -4
- package/dist/{user-run-recording-D-7cPbdf.js → user-run-recording-B_-S5l8q.js} +2 -2
- package/dist/{user-run-recording-4Dhev2ED.js → user-run-recording-DIqKTo0U.js} +2 -2
- package/dist/{workspace-DOy2M7yN.js → workspace-D5PKyvm-.js} +26 -26
- package/dist/{ws-D51UDdBH.js → ws-CSU92Z2r.js} +1 -1
- package/dist/{ws-D916JacH.js → ws-CmKUpGwq.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/github-copilot-token-DrVydgnY.js +0 -106
- package/dist/paths-BIDPYPVC.js +0 -233
- package/dist/plugin-sdk/agent-turn-execute-Co_96UFp.js +0 -61
- package/dist/plugin-sdk/deliver-5MyFMK8o.js +0 -34
- package/dist/plugin-sdk/manager-B9WMktLu.js +0 -14
- package/dist/plugin-sdk/provider-dispatcher-uLJ5yzx1.js +0 -61
- package/dist/plugin-sdk/send-vp7qbuoy.js +0 -23
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { _ as toAgentModelListLike, a as resolveAgentEffectiveModelPrimary, c as resolveAgentWorkspaceDir, g as resolveAgentModelPrimaryValue, l as resolveDefaultAgentId, n as listAgentIds, r as resolveAgentConfig } from "./agent-scope-
|
|
3
|
-
import { c as resolveOAuthPath, f as resolveRequiredHomeDir, i as resolveDefaultConfigCandidates, l as resolveStateDir, r as resolveConfigPath, s as resolveOAuthDir, t as DEFAULT_GATEWAY_PORT, u as expandHomePrefix } from "./paths-
|
|
4
|
-
import { A as resolveConfigIncludes, D as ConfigIncludeError, E as normalizeConfigPaths, F as openBoundaryFileSync, G as applyConfigEnvVars, H as isPathInside$2, J as MissingEnvVarError, M as isPathInside$1, O as INCLUDE_KEY, X as resolveConfigEnvVars, Y as containsEnvVarReference, b as getChildLogger, dt as sleep, f as logVerbose, it as normalizeE164, j as isBlockedObjectKey, k as readConfigIncludeFileWithGuards, n as stripAnsi, ot as resolveConfigDir, q as sanitizeHostExecEnv, rt as isRecord$3, st as resolveUserPath, t as createSubsystemLogger, tt as escapeRegExp, w as createFileLogWriter } from "./subsystem-
|
|
2
|
+
import { _ as toAgentModelListLike, a as resolveAgentEffectiveModelPrimary, c as resolveAgentWorkspaceDir, g as resolveAgentModelPrimaryValue, l as resolveDefaultAgentId, n as listAgentIds, r as resolveAgentConfig } from "./agent-scope-CXfIHPTl.js";
|
|
3
|
+
import { c as resolveOAuthPath, f as resolveRequiredHomeDir, i as resolveDefaultConfigCandidates, l as resolveStateDir, r as resolveConfigPath, s as resolveOAuthDir, t as DEFAULT_GATEWAY_PORT, u as expandHomePrefix } from "./paths-B_gs59ga.js";
|
|
4
|
+
import { A as resolveConfigIncludes, D as ConfigIncludeError, E as normalizeConfigPaths, F as openBoundaryFileSync, G as applyConfigEnvVars, H as isPathInside$2, J as MissingEnvVarError, M as isPathInside$1, O as INCLUDE_KEY, X as resolveConfigEnvVars, Y as containsEnvVarReference, b as getChildLogger, dt as sleep, f as logVerbose, it as normalizeE164, j as isBlockedObjectKey, k as readConfigIncludeFileWithGuards, n as stripAnsi, ot as resolveConfigDir, q as sanitizeHostExecEnv, rt as isRecord$3, st as resolveUserPath, t as createSubsystemLogger, tt as escapeRegExp, w as createFileLogWriter } from "./subsystem-cFv2jJm-.js";
|
|
5
5
|
import { n as resolveProcessScopedMap, t as isPlainObject$2 } from "./plain-object-Doc_YkH1.js";
|
|
6
|
-
import { C as DEFAULT_AGENT_ID, E as RAW_PEER_KEY_PREFIX, F as normalizeAgentId, G as normalizeAccountId$1, K as normalizeOptionalAccountId, M as expandIdentityLinksToMatchKeys, W as DEFAULT_ACCOUNT_ID, _ as runExec, rt as stripAgentSessionKeyPrefix, tt as parseAgentSessionKey } from "./workspace-
|
|
7
|
-
import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-
|
|
8
|
-
import { a as registerInternalHook, s as parseBooleanValue, t as readManifestNamespace } from "./legacy-names-
|
|
6
|
+
import { C as DEFAULT_AGENT_ID, E as RAW_PEER_KEY_PREFIX, F as normalizeAgentId, G as normalizeAccountId$1, K as normalizeOptionalAccountId, M as expandIdentityLinksToMatchKeys, W as DEFAULT_ACCOUNT_ID, _ as runExec, rt as stripAgentSessionKeyPrefix, tt as parseAgentSessionKey } from "./workspace-D5PKyvm-.js";
|
|
7
|
+
import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-BJeEWDJb.js";
|
|
8
|
+
import { a as registerInternalHook, s as parseBooleanValue, t as readManifestNamespace } from "./legacy-names-BKv-k5-D.js";
|
|
9
9
|
import { n as resolveConversationLabel, r as normalizeChatType } from "./conversation-label-Ckfze_uK.js";
|
|
10
10
|
import { createRequire } from "node:module";
|
|
11
11
|
import path from "node:path";
|
|
12
|
-
import
|
|
12
|
+
import syncFs from "node:fs";
|
|
13
13
|
import os, { userInfo } from "node:os";
|
|
14
|
-
import
|
|
15
|
-
import fs
|
|
14
|
+
import json5 from "json5";
|
|
15
|
+
import fs from "node:fs/promises";
|
|
16
16
|
import { isDeepStrictEqual } from "node:util";
|
|
17
17
|
import { execFileSync, spawn } from "node:child_process";
|
|
18
18
|
import { fileURLToPath } from "node:url";
|
|
@@ -275,7 +275,7 @@ function isValidPid(pid) {
|
|
|
275
275
|
function isZombieProcess(pid) {
|
|
276
276
|
if (process.platform !== "linux") return false;
|
|
277
277
|
try {
|
|
278
|
-
return
|
|
278
|
+
return syncFs.readFileSync(`/proc/${pid}/status`, "utf8").match(/^State:\s+(\S)/m)?.[1] === "Z";
|
|
279
279
|
} catch {
|
|
280
280
|
return false;
|
|
281
281
|
}
|
|
@@ -302,7 +302,7 @@ function getProcessStartTime(pid) {
|
|
|
302
302
|
if (process.platform !== "linux") return null;
|
|
303
303
|
if (!isValidPid(pid)) return null;
|
|
304
304
|
try {
|
|
305
|
-
const stat =
|
|
305
|
+
const stat = syncFs.readFileSync(`/proc/${pid}/stat`, "utf8");
|
|
306
306
|
const commEndIndex = stat.lastIndexOf(")");
|
|
307
307
|
if (commEndIndex < 0) return null;
|
|
308
308
|
const fields = stat.slice(commEndIndex + 1).trimStart().split(/\s+/);
|
|
@@ -370,7 +370,7 @@ function readLinuxProcessElapsedSeconds(pid) {
|
|
|
370
370
|
const starttimeTicks = getProcessStartTime(pid);
|
|
371
371
|
if (starttimeTicks === null) {
|
|
372
372
|
try {
|
|
373
|
-
|
|
373
|
+
syncFs.readFileSync(`/proc/${pid}/stat`, "utf8");
|
|
374
374
|
} catch (err) {
|
|
375
375
|
return err.code === "ENOENT" ? null : "unknown";
|
|
376
376
|
}
|
|
@@ -378,7 +378,7 @@ function readLinuxProcessElapsedSeconds(pid) {
|
|
|
378
378
|
}
|
|
379
379
|
let uptimeSeconds;
|
|
380
380
|
try {
|
|
381
|
-
const raw =
|
|
381
|
+
const raw = syncFs.readFileSync("/proc/uptime", "utf8");
|
|
382
382
|
uptimeSeconds = Number.parseFloat(raw.split(" ")[0] ?? "");
|
|
383
383
|
} catch {
|
|
384
384
|
return "unknown";
|
|
@@ -435,7 +435,7 @@ function isCreatedAtStale(createdAt, staleMs) {
|
|
|
435
435
|
}
|
|
436
436
|
async function readLockPayload$1(lockPath) {
|
|
437
437
|
try {
|
|
438
|
-
const raw = await fs
|
|
438
|
+
const raw = await fs.readFile(lockPath, "utf8");
|
|
439
439
|
const parsed = JSON.parse(raw);
|
|
440
440
|
if (typeof parsed.pid !== "number" || typeof parsed.createdAt !== "string") return null;
|
|
441
441
|
const payload = {
|
|
@@ -452,7 +452,7 @@ async function readLockPayload$1(lockPath) {
|
|
|
452
452
|
}
|
|
453
453
|
async function chmodIfSupported(filePath, mode) {
|
|
454
454
|
try {
|
|
455
|
-
await fs
|
|
455
|
+
await fs.chmod(filePath, mode);
|
|
456
456
|
} catch (err) {
|
|
457
457
|
if (process.platform === "win32") return;
|
|
458
458
|
throw err;
|
|
@@ -461,15 +461,15 @@ async function chmodIfSupported(filePath, mode) {
|
|
|
461
461
|
async function resolveNormalizedFilePath(filePath, options) {
|
|
462
462
|
const resolved = path.resolve(filePath);
|
|
463
463
|
const dir = path.dirname(resolved);
|
|
464
|
-
if (options.directoryMode === void 0) await fs
|
|
464
|
+
if (options.directoryMode === void 0) await fs.mkdir(dir, { recursive: true });
|
|
465
465
|
else {
|
|
466
|
-
await fs
|
|
466
|
+
await fs.mkdir(dir, {
|
|
467
467
|
recursive: true,
|
|
468
468
|
mode: options.directoryMode
|
|
469
469
|
});
|
|
470
470
|
await chmodIfSupported(dir, options.directoryMode);
|
|
471
471
|
}
|
|
472
|
-
const realDir = await fs
|
|
472
|
+
const realDir = await fs.realpath(dir);
|
|
473
473
|
return path.join(realDir, path.basename(resolved));
|
|
474
474
|
}
|
|
475
475
|
async function isStaleLock(lockPath, staleMs) {
|
|
@@ -484,7 +484,7 @@ async function isStaleLock(lockPath, staleMs) {
|
|
|
484
484
|
return false;
|
|
485
485
|
}
|
|
486
486
|
try {
|
|
487
|
-
const stat = await fs
|
|
487
|
+
const stat = await fs.stat(lockPath);
|
|
488
488
|
return Date.now() - stat.mtimeMs > staleMs;
|
|
489
489
|
} catch {
|
|
490
490
|
return true;
|
|
@@ -508,7 +508,7 @@ async function releaseHeldLock$1(normalizedFile) {
|
|
|
508
508
|
throw emitLockReleaseWarning("close", current.lockPath, err);
|
|
509
509
|
}
|
|
510
510
|
try {
|
|
511
|
-
await fs
|
|
511
|
+
await fs.rm(current.lockPath, { force: true });
|
|
512
512
|
} catch (err) {
|
|
513
513
|
current.count = 1;
|
|
514
514
|
throw emitLockReleaseWarning("remove", current.lockPath, err);
|
|
@@ -531,7 +531,7 @@ async function acquireFileLock(filePath, options) {
|
|
|
531
531
|
let attempt = 0;
|
|
532
532
|
let staleReclaims = 0;
|
|
533
533
|
while (attempt < attempts) try {
|
|
534
|
-
const handle = await fs
|
|
534
|
+
const handle = await fs.open(lockPath, "wx");
|
|
535
535
|
try {
|
|
536
536
|
await handle.writeFile(JSON.stringify({
|
|
537
537
|
pid: process.pid,
|
|
@@ -540,7 +540,7 @@ async function acquireFileLock(filePath, options) {
|
|
|
540
540
|
}, null, 2), "utf8");
|
|
541
541
|
} catch (writeErr) {
|
|
542
542
|
await handle.close().catch(() => void 0);
|
|
543
|
-
await fs
|
|
543
|
+
await fs.rm(lockPath, { force: true }).catch(() => void 0);
|
|
544
544
|
throw writeErr;
|
|
545
545
|
}
|
|
546
546
|
HELD_LOCKS$1.set(normalizedFile, {
|
|
@@ -556,7 +556,7 @@ async function acquireFileLock(filePath, options) {
|
|
|
556
556
|
} catch (err) {
|
|
557
557
|
if (err.code !== "EEXIST") throw err;
|
|
558
558
|
if (await isStaleLock(lockPath, options.stale)) {
|
|
559
|
-
await fs
|
|
559
|
+
await fs.rm(lockPath, { force: true }).catch(() => void 0);
|
|
560
560
|
if (staleReclaims < attempts) {
|
|
561
561
|
staleReclaims += 1;
|
|
562
562
|
continue;
|
|
@@ -722,7 +722,7 @@ function resolveAuthStorePathForDisplay(agentDir) {
|
|
|
722
722
|
return pathname.startsWith("~") ? pathname : resolveUserPath(pathname);
|
|
723
723
|
}
|
|
724
724
|
function ensureAuthStoreFile(pathname) {
|
|
725
|
-
if (
|
|
725
|
+
if (syncFs.existsSync(pathname)) return;
|
|
726
726
|
saveJsonFile(pathname, {
|
|
727
727
|
version: AUTH_STORE_VERSION,
|
|
728
728
|
profiles: {}
|
|
@@ -985,7 +985,7 @@ function loadAuthProfileStoreForAgent(agentDir, options) {
|
|
|
985
985
|
if (shouldWrite && legacy !== null) {
|
|
986
986
|
const legacyPath = resolveLegacyAuthStorePath(agentDir);
|
|
987
987
|
try {
|
|
988
|
-
|
|
988
|
+
syncFs.unlinkSync(legacyPath);
|
|
989
989
|
} catch (err) {
|
|
990
990
|
if (err?.code !== "ENOENT") log$12.warn("failed to delete legacy auth.json after migration", {
|
|
991
991
|
err,
|
|
@@ -1173,7 +1173,7 @@ function loadDotEnv(opts) {
|
|
|
1173
1173
|
const quiet = opts?.quiet ?? true;
|
|
1174
1174
|
dotenv.config({ quiet });
|
|
1175
1175
|
const globalEnvPath = path.join(resolveConfigDir(process.env), ".env");
|
|
1176
|
-
if (!
|
|
1176
|
+
if (!syncFs.existsSync(globalEnvPath)) return;
|
|
1177
1177
|
dotenv.config({
|
|
1178
1178
|
quiet,
|
|
1179
1179
|
path: globalEnvPath,
|
|
@@ -1216,7 +1216,7 @@ function resolveTimeoutMs(timeoutMs) {
|
|
|
1216
1216
|
function readEtcShells() {
|
|
1217
1217
|
if (shellEnvState.cachedEtcShells !== void 0) return shellEnvState.cachedEtcShells;
|
|
1218
1218
|
try {
|
|
1219
|
-
const entries =
|
|
1219
|
+
const entries = syncFs.readFileSync("/etc/shells", "utf8").split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0 && !line.startsWith("#") && path.isAbsolute(line));
|
|
1220
1220
|
shellEnvState.cachedEtcShells = new Set(entries);
|
|
1221
1221
|
} catch {
|
|
1222
1222
|
shellEnvState.cachedEtcShells = null;
|
|
@@ -1764,7 +1764,7 @@ function formatWindowsAclSummary(summary) {
|
|
|
1764
1764
|
//#region src/security/audit-fs.ts
|
|
1765
1765
|
async function safeStat(targetPath) {
|
|
1766
1766
|
try {
|
|
1767
|
-
const lst = await fs
|
|
1767
|
+
const lst = await fs.lstat(targetPath);
|
|
1768
1768
|
return {
|
|
1769
1769
|
ok: true,
|
|
1770
1770
|
isSymlink: lst.isSymbolicLink(),
|
|
@@ -1803,7 +1803,7 @@ async function inspectPathPermissions(targetPath, opts) {
|
|
|
1803
1803
|
let effectiveMode = st.mode;
|
|
1804
1804
|
let effectiveIsDir = st.isDir;
|
|
1805
1805
|
if (st.isSymlink) try {
|
|
1806
|
-
const target = await fs
|
|
1806
|
+
const target = await fs.stat(targetPath);
|
|
1807
1807
|
effectiveMode = typeof target.mode === "number" ? target.mode : st.mode;
|
|
1808
1808
|
effectiveIsDir = target.isDirectory();
|
|
1809
1809
|
} catch {}
|
|
@@ -2085,7 +2085,7 @@ async function assertSecurePath(params) {
|
|
|
2085
2085
|
if (stat.isSymlink) {
|
|
2086
2086
|
if (!params.allowSymlinkPath) throw new Error(`${params.label} must not be a symlink: ${effectivePath}`);
|
|
2087
2087
|
try {
|
|
2088
|
-
effectivePath = await fs
|
|
2088
|
+
effectivePath = await fs.realpath(effectivePath);
|
|
2089
2089
|
} catch {
|
|
2090
2090
|
throw new Error(`${params.label} symlink target is not readable: ${params.targetPath}`);
|
|
2091
2091
|
}
|
|
@@ -2133,7 +2133,7 @@ async function readFileProviderPayload(params) {
|
|
|
2133
2133
|
}, timeoutMs);
|
|
2134
2134
|
});
|
|
2135
2135
|
try {
|
|
2136
|
-
const payload = await Promise.race([fs
|
|
2136
|
+
const payload = await Promise.race([fs.readFile(secureFilePath, { signal: abortController.signal }), timeoutPromise]);
|
|
2137
2137
|
if (payload.byteLength > maxBytes) throw new Error(`File provider "${params.providerName}" exceeded maxBytes (${maxBytes}).`);
|
|
2138
2138
|
const text = payload.toString("utf8");
|
|
2139
2139
|
if (params.providerConfig.mode === "singleValue") return text.replace(/\r?\n$/, "");
|
|
@@ -2759,7 +2759,7 @@ function resolveActiveTalkProviderConfig(talk) {
|
|
|
2759
2759
|
};
|
|
2760
2760
|
}
|
|
2761
2761
|
function readTalkApiKeyFromProfile(deps = {}) {
|
|
2762
|
-
const fsImpl = deps.fs ??
|
|
2762
|
+
const fsImpl = deps.fs ?? syncFs;
|
|
2763
2763
|
const osImpl = deps.os ?? os;
|
|
2764
2764
|
const pathImpl = deps.path ?? path;
|
|
2765
2765
|
const home = osImpl.homedir();
|
|
@@ -5239,7 +5239,7 @@ function normalizeMatchTarget(value) {
|
|
|
5239
5239
|
}
|
|
5240
5240
|
function tryRealpath(value) {
|
|
5241
5241
|
try {
|
|
5242
|
-
return
|
|
5242
|
+
return syncFs.realpathSync(value);
|
|
5243
5243
|
} catch {
|
|
5244
5244
|
return null;
|
|
5245
5245
|
}
|
|
@@ -5792,8 +5792,8 @@ function resolveWindowsExecutableExtensions(executable, env) {
|
|
|
5792
5792
|
}
|
|
5793
5793
|
function isExecutableFile(filePath) {
|
|
5794
5794
|
try {
|
|
5795
|
-
if (!
|
|
5796
|
-
if (process.platform !== "win32")
|
|
5795
|
+
if (!syncFs.statSync(filePath).isFile()) return false;
|
|
5796
|
+
if (process.platform !== "win32") syncFs.accessSync(filePath, syncFs.constants.X_OK);
|
|
5797
5797
|
return true;
|
|
5798
5798
|
} catch {
|
|
5799
5799
|
return false;
|
|
@@ -5832,7 +5832,7 @@ const DEFAULT_SAFE_BINS = [
|
|
|
5832
5832
|
function tryResolveRealpath(filePath) {
|
|
5833
5833
|
if (!filePath) return;
|
|
5834
5834
|
try {
|
|
5835
|
-
return
|
|
5835
|
+
return syncFs.realpathSync(filePath);
|
|
5836
5836
|
} catch {
|
|
5837
5837
|
return;
|
|
5838
5838
|
}
|
|
@@ -6707,7 +6707,7 @@ function listWritableExplicitTrustedSafeBinDirs(entries) {
|
|
|
6707
6707
|
for (const dir of resolved) {
|
|
6708
6708
|
let stat;
|
|
6709
6709
|
try {
|
|
6710
|
-
stat =
|
|
6710
|
+
stat = syncFs.statSync(dir);
|
|
6711
6711
|
} catch {
|
|
6712
6712
|
continue;
|
|
6713
6713
|
}
|
|
@@ -7384,7 +7384,7 @@ async function releaseHeldLock(normalizedSessionFile, held, opts = {}) {
|
|
|
7384
7384
|
await held.handle.close();
|
|
7385
7385
|
} catch {}
|
|
7386
7386
|
try {
|
|
7387
|
-
await fs
|
|
7387
|
+
await fs.rm(held.lockPath, { force: true });
|
|
7388
7388
|
} catch {}
|
|
7389
7389
|
})();
|
|
7390
7390
|
try {
|
|
@@ -7404,7 +7404,7 @@ function releaseAllLocksSync() {
|
|
|
7404
7404
|
if (typeof held.handle.close === "function") held.handle.close().catch(() => {});
|
|
7405
7405
|
} catch {}
|
|
7406
7406
|
try {
|
|
7407
|
-
|
|
7407
|
+
syncFs.rmSync(held.lockPath, { force: true });
|
|
7408
7408
|
} catch {}
|
|
7409
7409
|
HELD_LOCKS.delete(sessionFile);
|
|
7410
7410
|
}
|
|
@@ -7463,7 +7463,7 @@ function registerCleanupHandlers() {
|
|
|
7463
7463
|
}
|
|
7464
7464
|
async function readLockPayload(lockPath) {
|
|
7465
7465
|
try {
|
|
7466
|
-
const raw = await fs
|
|
7466
|
+
const raw = await fs.readFile(lockPath, "utf8");
|
|
7467
7467
|
const parsed = JSON.parse(raw);
|
|
7468
7468
|
const payload = {};
|
|
7469
7469
|
if (isValidLockNumber(parsed.pid) && parsed.pid > 0) payload.pid = parsed.pid;
|
|
@@ -7507,7 +7507,7 @@ async function shouldReclaimContendedLockFile(lockPath, details, staleMs, nowMs)
|
|
|
7507
7507
|
if (!details.stale) return false;
|
|
7508
7508
|
if (!lockInspectionNeedsMtimeStaleFallback(details)) return true;
|
|
7509
7509
|
try {
|
|
7510
|
-
const stat = await fs
|
|
7510
|
+
const stat = await fs.stat(lockPath);
|
|
7511
7511
|
return Math.max(0, nowMs - stat.mtimeMs) > staleMs;
|
|
7512
7512
|
} catch (error) {
|
|
7513
7513
|
return error?.code !== "ENOENT";
|
|
@@ -7525,10 +7525,10 @@ async function acquireSessionWriteLockWithProcessIdentity(params, processIdentit
|
|
|
7525
7525
|
const maxHoldMs = resolvePositiveMs(params.maxHoldMs, DEFAULT_MAX_HOLD_MS);
|
|
7526
7526
|
const sessionFile = path.resolve(params.sessionFile);
|
|
7527
7527
|
const sessionDir = path.dirname(sessionFile);
|
|
7528
|
-
await fs
|
|
7528
|
+
await fs.mkdir(sessionDir, { recursive: true });
|
|
7529
7529
|
let normalizedDir = sessionDir;
|
|
7530
7530
|
try {
|
|
7531
|
-
normalizedDir = await fs
|
|
7531
|
+
normalizedDir = await fs.realpath(sessionDir);
|
|
7532
7532
|
} catch {}
|
|
7533
7533
|
const normalizedSessionFile = path.join(normalizedDir, path.basename(sessionFile));
|
|
7534
7534
|
const lockPath = `${normalizedSessionFile}.lock`;
|
|
@@ -7546,7 +7546,7 @@ async function acquireSessionWriteLockWithProcessIdentity(params, processIdentit
|
|
|
7546
7546
|
attempt += 1;
|
|
7547
7547
|
let handle = null;
|
|
7548
7548
|
try {
|
|
7549
|
-
handle = await fs
|
|
7549
|
+
handle = await fs.open(lockPath, "wx");
|
|
7550
7550
|
const createdAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
7551
7551
|
const starttime = processIdentity.getProcessStartTime(process.pid);
|
|
7552
7552
|
const lockPayload = {
|
|
@@ -7572,7 +7572,7 @@ async function acquireSessionWriteLockWithProcessIdentity(params, processIdentit
|
|
|
7572
7572
|
await handle.close();
|
|
7573
7573
|
} catch {}
|
|
7574
7574
|
try {
|
|
7575
|
-
await fs
|
|
7575
|
+
await fs.rm(lockPath, { force: true });
|
|
7576
7576
|
} catch {}
|
|
7577
7577
|
}
|
|
7578
7578
|
if (err.code !== "EEXIST") throw err;
|
|
@@ -7587,7 +7587,7 @@ async function acquireSessionWriteLockWithProcessIdentity(params, processIdentit
|
|
|
7587
7587
|
stale: true,
|
|
7588
7588
|
staleReasons: inspected.staleReasons.includes("orphan-self-pid") ? inspected.staleReasons : [...inspected.staleReasons, "orphan-self-pid"]
|
|
7589
7589
|
} : inspected, staleMs, nowMs)) {
|
|
7590
|
-
await fs
|
|
7590
|
+
await fs.rm(lockPath, { force: true });
|
|
7591
7591
|
continue;
|
|
7592
7592
|
}
|
|
7593
7593
|
const delay = Math.min(1e3, 50 * attempt);
|
|
@@ -7792,7 +7792,7 @@ function isCacheEnabled(ttlMs) {
|
|
|
7792
7792
|
}
|
|
7793
7793
|
function getFileStatSnapshot(filePath) {
|
|
7794
7794
|
try {
|
|
7795
|
-
const stats =
|
|
7795
|
+
const stats = syncFs.statSync(filePath);
|
|
7796
7796
|
return {
|
|
7797
7797
|
mtimeMs: stats.mtimeMs,
|
|
7798
7798
|
sizeBytes: stats.size
|
|
@@ -8284,7 +8284,7 @@ const credsSaveQueues = resolveProcessScopedMap(Symbol.for("openclaw.webCredsSav
|
|
|
8284
8284
|
function canonicalWebAuthDir(authDir) {
|
|
8285
8285
|
const resolvedAuthDir = resolveUserPath(authDir);
|
|
8286
8286
|
try {
|
|
8287
|
-
return
|
|
8287
|
+
return syncFs.realpathSync.native(resolvedAuthDir);
|
|
8288
8288
|
} catch (err) {
|
|
8289
8289
|
if (err.code === "ENOENT") return resolvedAuthDir;
|
|
8290
8290
|
throw err;
|
|
@@ -8299,7 +8299,7 @@ function isWebAuthBeingCleared(authDir) {
|
|
|
8299
8299
|
}
|
|
8300
8300
|
function statFileSync(filePath) {
|
|
8301
8301
|
try {
|
|
8302
|
-
return
|
|
8302
|
+
return syncFs.statSync(filePath);
|
|
8303
8303
|
} catch {
|
|
8304
8304
|
return null;
|
|
8305
8305
|
}
|
|
@@ -8311,7 +8311,7 @@ function hasWebCredsSync(authDir) {
|
|
|
8311
8311
|
const resolvedAuthDir = resolveUserPath(authDir);
|
|
8312
8312
|
maybeRestoreCredsFromBackup(resolvedAuthDir);
|
|
8313
8313
|
try {
|
|
8314
|
-
const stats =
|
|
8314
|
+
const stats = syncFs.statSync(resolveWebCredsPath(resolvedAuthDir));
|
|
8315
8315
|
return stats.isFile() && stats.size > 1;
|
|
8316
8316
|
} catch {
|
|
8317
8317
|
return false;
|
|
@@ -8319,10 +8319,10 @@ function hasWebCredsSync(authDir) {
|
|
|
8319
8319
|
}
|
|
8320
8320
|
function readCredsJsonRaw(filePath) {
|
|
8321
8321
|
try {
|
|
8322
|
-
if (!
|
|
8323
|
-
const stats =
|
|
8322
|
+
if (!syncFs.existsSync(filePath)) return null;
|
|
8323
|
+
const stats = syncFs.statSync(filePath);
|
|
8324
8324
|
if (!stats.isFile() || stats.size <= 1) return null;
|
|
8325
|
-
return
|
|
8325
|
+
return syncFs.readFileSync(filePath, "utf-8");
|
|
8326
8326
|
} catch {
|
|
8327
8327
|
return null;
|
|
8328
8328
|
}
|
|
@@ -8347,12 +8347,12 @@ function maybeRestoreCredsFromBackup(authDir) {
|
|
|
8347
8347
|
const backupRaw = readCredsJsonRaw(backupPath);
|
|
8348
8348
|
const backupStats = statFileSync(backupPath);
|
|
8349
8349
|
if (!backupStats?.isFile() || !backupRaw || !isParseableJson(backupRaw)) return;
|
|
8350
|
-
|
|
8350
|
+
syncFs.copyFileSync(backupPath, credsPath);
|
|
8351
8351
|
try {
|
|
8352
|
-
|
|
8352
|
+
syncFs.chmodSync(credsPath, 384);
|
|
8353
8353
|
} catch {}
|
|
8354
8354
|
try {
|
|
8355
|
-
|
|
8355
|
+
syncFs.utimesSync(credsPath, backupStats.atime, backupStats.mtime);
|
|
8356
8356
|
} catch {}
|
|
8357
8357
|
logger.warn({ credsPath }, "restored corrupted WhatsApp creds.json from backup");
|
|
8358
8358
|
} catch {}
|
|
@@ -8372,7 +8372,7 @@ function listWhatsAppAuthDirs(cfg) {
|
|
|
8372
8372
|
accountId
|
|
8373
8373
|
}).authDir);
|
|
8374
8374
|
try {
|
|
8375
|
-
const entries =
|
|
8375
|
+
const entries = syncFs.readdirSync(whatsappDir, { withFileTypes: true });
|
|
8376
8376
|
for (const entry of entries) {
|
|
8377
8377
|
if (!entry.isDirectory()) continue;
|
|
8378
8378
|
authDirs.add(path.join(whatsappDir, entry.name));
|
|
@@ -8394,7 +8394,7 @@ function resolveLegacyAuthDir() {
|
|
|
8394
8394
|
}
|
|
8395
8395
|
function legacyAuthExists(authDir) {
|
|
8396
8396
|
try {
|
|
8397
|
-
return
|
|
8397
|
+
return syncFs.existsSync(path.join(authDir, "creds.json"));
|
|
8398
8398
|
} catch {
|
|
8399
8399
|
return false;
|
|
8400
8400
|
}
|
|
@@ -9509,7 +9509,7 @@ function resolveStructuralSessionFallbackPath(candidateAbsPath, expectedAgentId)
|
|
|
9509
9509
|
}
|
|
9510
9510
|
function safeRealpathSync$1(filePath) {
|
|
9511
9511
|
try {
|
|
9512
|
-
return
|
|
9512
|
+
return syncFs.realpathSync(filePath);
|
|
9513
9513
|
} catch {
|
|
9514
9514
|
return;
|
|
9515
9515
|
}
|
|
@@ -10477,7 +10477,7 @@ function loadSessionStoreFromDisk(storePath, opts = {}) {
|
|
|
10477
10477
|
const maxReadAttempts = process.platform === "win32" ? 3 : 1;
|
|
10478
10478
|
const retryBuf = maxReadAttempts > 1 ? new Int32Array(new SharedArrayBuffer(4)) : void 0;
|
|
10479
10479
|
for (let attempt = 0; attempt < maxReadAttempts; attempt++) try {
|
|
10480
|
-
const raw =
|
|
10480
|
+
const raw = syncFs.readFileSync(storePath, "utf-8");
|
|
10481
10481
|
if (raw.length === 0 && attempt < maxReadAttempts - 1) {
|
|
10482
10482
|
Atomics.wait(retryBuf, 0, 0, 50);
|
|
10483
10483
|
continue;
|
|
@@ -12229,7 +12229,7 @@ function createPluginRegistry(registryParams) {
|
|
|
12229
12229
|
configurable: true,
|
|
12230
12230
|
value: {
|
|
12231
12231
|
...registryParams.runtime.signals,
|
|
12232
|
-
nudge: async (input) => (await import("./nudge-
|
|
12232
|
+
nudge: async (input) => (await import("./nudge-Da1ePscI.js").then((n) => n.t)).requestAuthorizedNudge({
|
|
12233
12233
|
kind: "plugin",
|
|
12234
12234
|
pluginId: record.id
|
|
12235
12235
|
}, input)
|
|
@@ -12595,13 +12595,13 @@ function resolveBundledPluginsDir() {
|
|
|
12595
12595
|
try {
|
|
12596
12596
|
const execDir = path.dirname(process.execPath);
|
|
12597
12597
|
const sibling = path.join(execDir, "extensions");
|
|
12598
|
-
if (
|
|
12598
|
+
if (syncFs.existsSync(sibling)) return sibling;
|
|
12599
12599
|
} catch {}
|
|
12600
12600
|
try {
|
|
12601
12601
|
let cursor = path.dirname(fileURLToPath(import.meta.url));
|
|
12602
12602
|
for (let i = 0; i < 6; i += 1) {
|
|
12603
12603
|
const candidate = path.join(cursor, "extensions");
|
|
12604
|
-
if (
|
|
12604
|
+
if (syncFs.existsSync(candidate) && syncFs.existsSync(path.join(cursor, "package.json"))) return candidate;
|
|
12605
12605
|
const parent = path.dirname(cursor);
|
|
12606
12606
|
if (parent === cursor) break;
|
|
12607
12607
|
cursor = parent;
|
|
@@ -12679,7 +12679,7 @@ function parseSessionConsumers(raw) {
|
|
|
12679
12679
|
function resolvePluginManifestPath(rootDir) {
|
|
12680
12680
|
for (const filename of PLUGIN_MANIFEST_FILENAMES) {
|
|
12681
12681
|
const candidate = path.join(rootDir, filename);
|
|
12682
|
-
if (
|
|
12682
|
+
if (syncFs.existsSync(candidate)) return candidate;
|
|
12683
12683
|
}
|
|
12684
12684
|
return path.join(rootDir, PLUGIN_MANIFEST_FILENAME);
|
|
12685
12685
|
}
|
|
@@ -12705,7 +12705,7 @@ function loadPluginManifest(rootDir, rejectHardlinks = true) {
|
|
|
12705
12705
|
}
|
|
12706
12706
|
let raw;
|
|
12707
12707
|
try {
|
|
12708
|
-
raw = JSON.parse(
|
|
12708
|
+
raw = JSON.parse(syncFs.readFileSync(opened.fd, "utf-8"));
|
|
12709
12709
|
} catch (err) {
|
|
12710
12710
|
return {
|
|
12711
12711
|
ok: false,
|
|
@@ -12713,7 +12713,7 @@ function loadPluginManifest(rootDir, rejectHardlinks = true) {
|
|
|
12713
12713
|
manifestPath
|
|
12714
12714
|
};
|
|
12715
12715
|
} finally {
|
|
12716
|
-
|
|
12716
|
+
syncFs.closeSync(opened.fd);
|
|
12717
12717
|
}
|
|
12718
12718
|
return {
|
|
12719
12719
|
...loadPluginManifestFromObject(raw, rejectHardlinks),
|
|
@@ -12888,7 +12888,7 @@ function safeRealpathSync(targetPath, cache) {
|
|
|
12888
12888
|
const cached = cache?.get(targetPath);
|
|
12889
12889
|
if (cached) return cached;
|
|
12890
12890
|
try {
|
|
12891
|
-
const resolved =
|
|
12891
|
+
const resolved = syncFs.realpathSync(targetPath);
|
|
12892
12892
|
cache?.set(targetPath, resolved);
|
|
12893
12893
|
return resolved;
|
|
12894
12894
|
} catch {
|
|
@@ -12897,7 +12897,7 @@ function safeRealpathSync(targetPath, cache) {
|
|
|
12897
12897
|
}
|
|
12898
12898
|
function safeStatSync(targetPath) {
|
|
12899
12899
|
try {
|
|
12900
|
-
return
|
|
12900
|
+
return syncFs.statSync(targetPath);
|
|
12901
12901
|
} catch {
|
|
12902
12902
|
return null;
|
|
12903
12903
|
}
|
|
@@ -13029,12 +13029,12 @@ function readPackageManifest(dir, rejectHardlinks = true) {
|
|
|
13029
13029
|
});
|
|
13030
13030
|
if (!opened.ok) return null;
|
|
13031
13031
|
try {
|
|
13032
|
-
const raw =
|
|
13032
|
+
const raw = syncFs.readFileSync(opened.fd, "utf-8");
|
|
13033
13033
|
return JSON.parse(raw);
|
|
13034
13034
|
} catch {
|
|
13035
13035
|
return null;
|
|
13036
13036
|
} finally {
|
|
13037
|
-
|
|
13037
|
+
syncFs.closeSync(opened.fd);
|
|
13038
13038
|
}
|
|
13039
13039
|
}
|
|
13040
13040
|
function deriveIdHint(params) {
|
|
@@ -13102,14 +13102,14 @@ function resolvePackageEntrySource(params) {
|
|
|
13102
13102
|
return null;
|
|
13103
13103
|
}
|
|
13104
13104
|
const safeSource = opened.path;
|
|
13105
|
-
|
|
13105
|
+
syncFs.closeSync(opened.fd);
|
|
13106
13106
|
return safeSource;
|
|
13107
13107
|
}
|
|
13108
13108
|
function discoverInDirectory(params) {
|
|
13109
|
-
if (!
|
|
13109
|
+
if (!syncFs.existsSync(params.dir)) return;
|
|
13110
13110
|
let entries = [];
|
|
13111
13111
|
try {
|
|
13112
|
-
entries =
|
|
13112
|
+
entries = syncFs.readdirSync(params.dir, { withFileTypes: true });
|
|
13113
13113
|
} catch (err) {
|
|
13114
13114
|
params.diagnostics.push({
|
|
13115
13115
|
level: "warn",
|
|
@@ -13172,7 +13172,7 @@ function discoverInDirectory(params) {
|
|
|
13172
13172
|
}
|
|
13173
13173
|
continue;
|
|
13174
13174
|
}
|
|
13175
|
-
const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(fullPath, candidate)).find((candidate) =>
|
|
13175
|
+
const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(fullPath, candidate)).find((candidate) => syncFs.existsSync(candidate));
|
|
13176
13176
|
if (indexFile && isExtensionFile(indexFile)) addCandidate({
|
|
13177
13177
|
candidates: params.candidates,
|
|
13178
13178
|
diagnostics: params.diagnostics,
|
|
@@ -13190,7 +13190,7 @@ function discoverInDirectory(params) {
|
|
|
13190
13190
|
}
|
|
13191
13191
|
function discoverFromPath(params) {
|
|
13192
13192
|
const resolved = resolveUserPath(params.rawPath);
|
|
13193
|
-
if (!
|
|
13193
|
+
if (!syncFs.existsSync(resolved)) {
|
|
13194
13194
|
params.diagnostics.push({
|
|
13195
13195
|
level: "error",
|
|
13196
13196
|
code: "PLUGIN_LOAD_ERROR",
|
|
@@ -13199,7 +13199,7 @@ function discoverFromPath(params) {
|
|
|
13199
13199
|
});
|
|
13200
13200
|
return;
|
|
13201
13201
|
}
|
|
13202
|
-
const stat =
|
|
13202
|
+
const stat = syncFs.statSync(resolved);
|
|
13203
13203
|
if (stat.isFile()) {
|
|
13204
13204
|
if (!isExtensionFile(resolved)) {
|
|
13205
13205
|
params.diagnostics.push({
|
|
@@ -13259,7 +13259,7 @@ function discoverFromPath(params) {
|
|
|
13259
13259
|
}
|
|
13260
13260
|
return;
|
|
13261
13261
|
}
|
|
13262
|
-
const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(resolved, candidate)).find((candidate) =>
|
|
13262
|
+
const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(resolved, candidate)).find((candidate) => syncFs.existsSync(candidate));
|
|
13263
13263
|
if (indexFile && isExtensionFile(indexFile)) {
|
|
13264
13264
|
addCandidate({
|
|
13265
13265
|
candidates: params.candidates,
|
|
@@ -13646,7 +13646,7 @@ function buildCacheKey$1(params) {
|
|
|
13646
13646
|
}
|
|
13647
13647
|
function safeStatMtimeMs(filePath) {
|
|
13648
13648
|
try {
|
|
13649
|
-
return
|
|
13649
|
+
return syncFs.statSync(filePath).mtimeMs;
|
|
13650
13650
|
} catch {
|
|
13651
13651
|
return null;
|
|
13652
13652
|
}
|
|
@@ -18862,7 +18862,7 @@ function validateConfigObjectWithPluginsBase(raw, opts) {
|
|
|
18862
18862
|
};
|
|
18863
18863
|
const buildManifestSchemaCacheKey = (manifestPath) => {
|
|
18864
18864
|
try {
|
|
18865
|
-
const mtimeMs =
|
|
18865
|
+
const mtimeMs = syncFs.statSync(manifestPath).mtimeMs;
|
|
18866
18866
|
return mtimeMs ? `${manifestPath}:${mtimeMs}` : manifestPath;
|
|
18867
18867
|
} catch {
|
|
18868
18868
|
return manifestPath;
|
|
@@ -18887,7 +18887,7 @@ function validateConfigObjectWithPluginsBase(raw, opts) {
|
|
|
18887
18887
|
manifestRoot = record.sourcePath;
|
|
18888
18888
|
} else if (sources.size === 0) {
|
|
18889
18889
|
const bundledDir = resolveBundledPluginsDir();
|
|
18890
|
-
if (bundledDir &&
|
|
18890
|
+
if (bundledDir && syncFs.existsSync(bundledDir)) {
|
|
18891
18891
|
const realSourcePath = safeRealpathSync(resolveUserPath(record.sourcePath), bundledInstallRealpathCache);
|
|
18892
18892
|
const realBundledDir = safeRealpathSync(bundledDir, bundledInstallRealpathCache) ?? bundledDir;
|
|
18893
18893
|
if (!realSourcePath || !isPathWithinRoot(realBundledDir, realSourcePath)) {
|
|
@@ -19624,8 +19624,8 @@ function resolveConfigPathForDeps(deps) {
|
|
|
19624
19624
|
}
|
|
19625
19625
|
function normalizeDeps(overrides = {}) {
|
|
19626
19626
|
return {
|
|
19627
|
-
fs: overrides.fs ??
|
|
19628
|
-
json5: overrides.json5 ??
|
|
19627
|
+
fs: overrides.fs ?? syncFs,
|
|
19628
|
+
json5: overrides.json5 ?? json5,
|
|
19629
19629
|
env: overrides.env ?? process.env,
|
|
19630
19630
|
homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
|
|
19631
19631
|
configPath: overrides.configPath ?? "",
|
|
@@ -19636,11 +19636,11 @@ function maybeLoadDotEnvForConfig(env) {
|
|
|
19636
19636
|
if (env !== process.env) return;
|
|
19637
19637
|
loadDotEnv({ quiet: true });
|
|
19638
19638
|
}
|
|
19639
|
-
function parseConfigJson5(raw, json5 =
|
|
19639
|
+
function parseConfigJson5(raw, json5$1 = json5) {
|
|
19640
19640
|
try {
|
|
19641
19641
|
return {
|
|
19642
19642
|
ok: true,
|
|
19643
|
-
parsed: json5.parse(raw)
|
|
19643
|
+
parsed: json5$1.parse(raw)
|
|
19644
19644
|
};
|
|
19645
19645
|
} catch (err) {
|
|
19646
19646
|
return {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { G as applyConfigEnvVars, rt as isRecord } from "./subsystem-
|
|
2
|
-
import { U as loadConfig, _ as resolveImplicitBedrockProvider, g as normalizeProviders, pa as resolveOpenClawAgentDir, v as resolveImplicitCopilotProvider, y as resolveImplicitProviders } from "./model-selection-
|
|
1
|
+
import { G as applyConfigEnvVars, rt as isRecord } from "./subsystem-cFv2jJm-.js";
|
|
2
|
+
import { U as loadConfig, _ as resolveImplicitBedrockProvider, g as normalizeProviders, pa as resolveOpenClawAgentDir, v as resolveImplicitCopilotProvider, y as resolveImplicitProviders } from "./model-selection-JA-6f5ss.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
5
5
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Da as resolveOpenClawAgentDir, Hi as resolveImplicitBedrockProvider, Ui as resolveImplicitCopilotProvider, Vi as normalizeProviders, Wi as resolveImplicitProviders, c as loadConfig } from "./config-
|
|
2
|
-
import { ct as applyConfigEnvVars, g as isRecord } from "./subsystem-
|
|
1
|
+
import { Da as resolveOpenClawAgentDir, Hi as resolveImplicitBedrockProvider, Ui as resolveImplicitCopilotProvider, Vi as normalizeProviders, Wi as resolveImplicitProviders, c as loadConfig } from "./config-D5tWLhng.js";
|
|
2
|
+
import { ct as applyConfigEnvVars, g as isRecord } from "./subsystem-B9soUuXQ.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fsp from "node:fs/promises";
|
|
5
5
|
|
|
6
6
|
//#region src/agents/models-config.ts
|
|
7
7
|
const DEFAULT_MODE = "merge";
|
|
@@ -60,7 +60,7 @@ function mergeProviders(params) {
|
|
|
60
60
|
}
|
|
61
61
|
async function readJson(pathname) {
|
|
62
62
|
try {
|
|
63
|
-
const raw = await
|
|
63
|
+
const raw = await fsp.readFile(pathname, "utf8");
|
|
64
64
|
return JSON.parse(raw);
|
|
65
65
|
} catch {
|
|
66
66
|
return null;
|
|
@@ -120,7 +120,7 @@ async function resolveProvidersForMode(params) {
|
|
|
120
120
|
}
|
|
121
121
|
async function readRawFile(pathname) {
|
|
122
122
|
try {
|
|
123
|
-
return await
|
|
123
|
+
return await fsp.readFile(pathname, "utf8");
|
|
124
124
|
} catch {
|
|
125
125
|
return "";
|
|
126
126
|
}
|
|
@@ -152,11 +152,11 @@ async function ensureOpenClawModelsJson(config, agentDirOverride) {
|
|
|
152
152
|
agentDir,
|
|
153
153
|
wrote: false
|
|
154
154
|
};
|
|
155
|
-
await
|
|
155
|
+
await fsp.mkdir(agentDir, {
|
|
156
156
|
recursive: true,
|
|
157
157
|
mode: 448
|
|
158
158
|
});
|
|
159
|
-
await
|
|
159
|
+
await fsp.writeFile(targetPath, next, { mode: 384 });
|
|
160
160
|
return {
|
|
161
161
|
agentDir,
|
|
162
162
|
wrote: true
|