wednesdayai 0.6.1-dev.32 → 0.6.1-dev.33
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/README.md +1 -1
- package/dist/{agent-3FzVgs63.js → agent-2N9tEN3b.js} +26 -26
- package/dist/{agent-BRCd10MY.js → agent-B9sehkTT.js} +33 -33
- package/dist/{agent-DWnmq11O.js → agent-C31FKy1u.js} +11 -11
- package/dist/{agent-turn-execute-BFxbgU1N.js → agent-turn-execute-VfgfznZ9.js} +46 -46
- package/dist/{agent-turn-runner-T5NCMyJ_.js → agent-turn-runner-BUl_5WBC.js} +5 -5
- package/dist/{agent-turn-runner-CSA2LtLh.js → agent-turn-runner-D6au_ann.js} +6 -6
- package/dist/{agent-turn-runner-B4cl3TsM.js → agent-turn-runner-Pc5bI_FG.js} +6 -6
- package/dist/{auth-5so61ncT.js → auth-kjIpJLfy.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +32 -32
- 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 +31 -31
- package/dist/bundled/session-memory/handler.js +32 -32
- package/dist/{call-DVys4c4T.js → call-CrRxRh7U.js} +4 -4
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{plugin-sdk/chrome-BqXrH3aN.js → chrome-B_WMQAhO.js} +32 -32
- package/dist/{chrome-CQUZm4YB.js → chrome-Dhi-l6wT.js} +6 -6
- package/dist/{chrome-DqTgSmFm.js → chrome-DnhfF77Z.js} +6 -6
- package/dist/{command-queue-BSbitNdP.js → command-queue-AIWqKnVD.js} +1 -1
- package/dist/{command-queue-DogAVmq_.js → command-queue-CYUdNrXN.js} +1 -1
- package/dist/{command-queue-D3kWdijx.js → command-queue-Ctuw0Dti.js} +1 -1
- package/dist/control-ui-v2/assets/{AgentsView-BHoDo1L_.js → AgentsView-BykJAM_R.js} +1 -1
- package/dist/control-ui-v2/assets/{AutomationsView-CkkUCwky.js → AutomationsView-DC7X5Cuq.js} +1 -1
- package/dist/control-ui-v2/assets/Badge-BThfbCAq.js +1 -0
- package/dist/control-ui-v2/assets/{Button-CAmVftjk.js → Button-sKbvzDVv.js} +1 -1
- package/dist/control-ui-v2/assets/{ChannelsView-C9mkTqc6.js → ChannelsView-HkWy9hsS.js} +1 -1
- package/dist/control-ui-v2/assets/{ConfigForm-LRLk4KUb.js → ConfigForm-BJ2kFOXh.js} +1 -1
- package/dist/control-ui-v2/assets/{ConfirmDialog-F2xUWFqq.js → ConfirmDialog-CdyUa20w.js} +1 -1
- package/dist/control-ui-v2/assets/{DataTable-DOMUEHUS.js → DataTable-DYjiiFEO.js} +1 -1
- package/dist/control-ui-v2/assets/{DebugView-Brby9otE.js → DebugView-BBnZon9I.js} +1 -1
- package/dist/control-ui-v2/assets/{Dialog-GhMZjPwr.js → Dialog-C3D58UYL.js} +1 -1
- package/dist/control-ui-v2/assets/{DreamsView-DY7ted1D.js → DreamsView-DrwwXxFE.js} +1 -1
- package/dist/control-ui-v2/assets/{EntityLink-CrtCt-Qs.js → EntityLink-Z9K13Z04.js} +1 -1
- package/dist/control-ui-v2/assets/{FilterPills-CkHzGD5G.js → FilterPills-KLG4v-tl.js} +1 -1
- package/dist/control-ui-v2/assets/{InstancesView-CFs-ov6N.js → InstancesView-LuIMblfp.js} +1 -1
- package/dist/control-ui-v2/assets/{LearningView-BTIvp31K.js → LearningView-C2puhMj4.js} +1 -1
- package/dist/control-ui-v2/assets/{LogsView-BuFHneew.js → LogsView-Dy215edw.js} +1 -1
- package/dist/control-ui-v2/assets/{NodesView-7y8z5Q_T.js → NodesView-B71zmfhs.js} +1 -1
- package/dist/control-ui-v2/assets/{OverviewView-CIhAnOeN.js → OverviewView-JLhTfCru.js} +1 -1
- package/dist/control-ui-v2/assets/{Panel-BSfoMFU-.js → Panel-D78gp_RZ.js} +1 -1
- package/dist/control-ui-v2/assets/{PluginMount-Cr2vPF1o.js → PluginMount-DYlgGaMj.js} +1 -1
- package/dist/control-ui-v2/assets/{PluginPageView-BM2wjaCs.js → PluginPageView-Bg02Y5T6.js} +1 -1
- package/dist/control-ui-v2/assets/{PluginPanels-CrZnLVxd.js → PluginPanels-BleAmjiK.js} +1 -1
- package/dist/control-ui-v2/assets/{RunsView-B3eXHaoR.js → RunsView-BSGqEHKy.js} +1 -1
- package/dist/control-ui-v2/assets/{SessionsView-Bg4wx4lK.js → SessionsView-CMPY9Hgt.js} +1 -1
- package/dist/control-ui-v2/assets/{SettingsView-DGF7hzQG.js → SettingsView-D4QcuA0E.js} +1 -1
- package/dist/control-ui-v2/assets/{SkillsView-Cg7pJC7c.js → SkillsView-BWwsXZqF.js} +1 -1
- package/dist/control-ui-v2/assets/{Stat-lXrvX_LU.js → Stat-CXVUEU8q.js} +1 -1
- package/dist/control-ui-v2/assets/{StatusDot-mq9dIxHu.js → StatusDot-BOn9P0HR.js} +1 -1
- package/dist/control-ui-v2/assets/{StorageView-DwpkJ4z3.js → StorageView-Bn5jFxV6.js} +1 -1
- package/dist/control-ui-v2/assets/{UpdatedAgo-C4M24VEo.js → UpdatedAgo-CGh7wGn5.js} +1 -1
- package/dist/control-ui-v2/assets/{UsageView-Chdv6FaY.js → UsageView-D8N9_FXE.js} +1 -1
- package/dist/control-ui-v2/assets/{config-store-Cl6ZDEWe.js → config-store-CvkpUhCj.js} +1 -1
- package/dist/control-ui-v2/assets/{format-B5-CxWkB.js → format-CDdlmhUx.js} +1 -1
- package/dist/control-ui-v2/assets/{gateway-features-cO4oPTtR.js → gateway-features-BO759ssE.js} +1 -1
- package/dist/control-ui-v2/assets/{index-CJgogGns.js → index-DbvFKOkE.js} +1 -1
- package/dist/control-ui-v2/assets/{links-Cc4kr7jc.js → links-CQf0Dstl.js} +2 -2
- package/dist/control-ui-v2/assets/{run-rows-B5xQqo0g.js → run-rows-B7a70RYo.js} +1 -1
- package/dist/control-ui-v2/assets/runs-store-CBxmiHic.js +1 -0
- package/dist/control-ui-v2/assets/{use-gateway-query-DkXhPwE7.js → use-gateway-query-Dd6G1xB1.js} +1 -1
- package/dist/control-ui-v2/index.html +7 -7
- package/dist/{credentials-BwbcjFrG.js → credentials-By3Y4AcL.js} +3 -3
- package/dist/daemon-cli.js +10 -10
- package/dist/{deliver-D5-592ul.js → deliver-BNwRhCqc.js} +28 -28
- package/dist/{deliver-uol2d4WF.js → deliver-CZ0gpdcA.js} +6 -6
- package/dist/{deliver-DI3pbsEG.js → deliver-lAcWrtsj.js} +8 -8
- package/dist/{diagnostic-BZYYYnMx.js → diagnostic-DJ11ZJIJ.js} +3 -3
- package/dist/{diagnostic-CjNtSJJy.js → diagnostic-Dlx1Uind.js} +3 -3
- package/dist/{diagnostic-DutvZ2o1.js → diagnostic-dKeDyhIs.js} +1 -1
- package/dist/{plugin-sdk/errors-CVfTQSbb.js → errors-0-at0aYV.js} +1 -1
- package/dist/{errors-BRYMqzPb.js → errors-7NHaEHOi.js} +1 -1
- package/dist/extensionAPI.js +24 -24
- package/dist/{fences-DdMLzXvz.js → fences-BXndK9rN.js} +2 -2
- package/dist/{fences-Dtk43Q2a.js → fences-Z8d1dj8p.js} +16 -16
- package/dist/{fences-DxsYNv6D.js → fences-qAryzYhN.js} +1 -1
- package/dist/{fetch-guard-CIElogmD.js → fetch-guard-C1e2uLCm.js} +2 -2
- package/dist/{fetch-guard-huDqYgcZ.js → fetch-guard-DVq681NM.js} +2 -2
- package/dist/{fetch-guard-BfFAgAdL.js → fetch-guard-jXOgaL7k.js} +2 -2
- package/dist/{frontmatter-DHBTRDiB.js → frontmatter-CzhUc9Ri.js} +5 -5
- package/dist/{fs-safe-BXAFIPNF.js → fs-safe-B9UKPVRL.js} +2 -2
- package/dist/{fs-safe-QppbBgli.js → fs-safe-BFMvT9d3.js} +1 -1
- package/dist/{fs-safe-CyG0wflg.js → fs-safe-DMWtsz4J.js} +26 -26
- package/dist/{group-DNWpfMve.js → group-Dvl8dfJ2.js} +6 -6
- package/dist/{legacy-names-6uH6aLhq.js → legacy-names-chsmo2vs.js} +26 -26
- package/dist/llm-slug-generator.js +31 -31
- package/dist/{manager-DEELDila.js → manager-CIl1uCF4.js} +5 -5
- package/dist/{manager-Dv0046Wp.js → manager-Cd7Dgpw3.js} +16 -16
- package/dist/{manager-BNDUt5V7.js → manager-Edt-T8Bi.js} +3 -3
- package/dist/{model-selection-DfBJgjil.js → model-selection-BkyEkRcd.js} +1 -1
- package/dist/{model-selection-BKz1FEg5.js → model-selection-ik2bHbgK.js} +82 -82
- package/dist/{net-B0Jtxfrs.js → net-DJsykMK1.js} +1 -1
- package/dist/{nudge-D6njZF1b.js → nudge-D3beOdMV.js} +6 -6
- package/dist/{nudge-iXg_oCkW.js → nudge-Dg8Pe_sD.js} +9 -9
- package/dist/{nudge-D6LqS1z9.js → nudge-DyQYIOed.js} +32 -32
- package/dist/{outbound-attachment-DkplciK0.js → outbound-attachment-C3f9uSt-.js} +4 -4
- package/dist/{outbound-attachment-6hHA3eSm.js → outbound-attachment-DQtDt9Ne.js} +9 -9
- package/dist/{outbound-attachment-DFE9e7Dz.js → outbound-attachment-DwgRvpkl.js} +7 -7
- package/dist/{pi-embedded-CM4cbQEb.js → pi-embedded-BUj1tpxL.js} +40 -40
- package/dist/{pi-embedded-BJeshpuP.js → pi-embedded-DRpnAuxu.js} +229 -229
- package/dist/{pi-model-discovery-CEEWv-kw.js → pi-model-discovery-DnTVd1y8.js} +1 -1
- package/dist/{pi-model-discovery-Dy1iZEn3.js → pi-model-discovery-MJKT8QcH.js} +1 -1
- package/dist/{pi-model-discovery-BzUe_TlM.js → pi-model-discovery-ihTZFn93.js} +7 -7
- package/dist/plugin-sdk/{agent-CUhnjg2h.js → agent-CACbclxE.js} +33 -33
- package/dist/plugin-sdk/{agent-turn-execute-0wNK8kb-.js → agent-turn-execute-BKMaKZMH.js} +52 -52
- package/dist/plugin-sdk/{agent-turn-runner-Bc1Wdfjl.js → agent-turn-runner-Dfbuq8sa.js} +6 -6
- package/dist/{chrome-D5VU16Pm.js → plugin-sdk/chrome-CRKazKtD.js} +7 -7
- package/dist/plugin-sdk/{command-queue-BuyhMwmf.js → command-queue-CYthkMHd.js} +1 -1
- package/dist/plugin-sdk/{deliver-BbYD9jbj.js → deliver-Bh_zU4gN.js} +10 -10
- package/dist/plugin-sdk/{diagnostic-YH_V803S.js → diagnostic-DUBIUJLy.js} +3 -3
- package/dist/{errors-CK3mNfUZ.js → plugin-sdk/errors-BYlk21G9.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-BiQARj-q.js → fetch-guard-tC95Od8D.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-CGzRyGpY.js → fs-safe-DkRYPO9h.js} +2 -2
- package/dist/plugin-sdk/{image-ops-BrERoy-B.js → image-ops-BwFCJNka.js} +2 -2
- package/dist/plugin-sdk/{manager-DPJBcR4V.js → manager-BFK04-sl.js} +5 -5
- package/dist/plugin-sdk/{model-auth-BtSCt2Us.js → model-auth-5dizn5pk.js} +6 -6
- package/dist/plugin-sdk/{models-config-GBg5F8hJ.js → models-config-Q1RpJb2l.js} +2 -2
- package/dist/plugin-sdk/{nudge-DRCem0PL.js → nudge-RygJmKvJ.js} +10 -10
- package/dist/plugin-sdk/{openai-compatible-video-5WcKNGBU.js → openai-compatible-video-Dcy2Li9N.js} +6 -6
- package/dist/plugin-sdk/{outbound-attachment-DTKZLRZQ.js → outbound-attachment-BzyByi-v.js} +7 -7
- package/dist/plugin-sdk/{pi-embedded-helpers-CuwPxkvz.js → pi-embedded-helpers-BFhpUeAU.js} +13 -13
- package/dist/plugin-sdk/{pi-embedded-utils-C8Mld73X.js → pi-embedded-utils-DwU_Dm_t.js} +3 -3
- package/dist/plugin-sdk/{pi-model-discovery-DF78NwCY.js → pi-model-discovery-JhPOgHc2.js} +1 -1
- package/dist/plugin-sdk/provider-media-understanding.js +16 -16
- package/dist/plugin-sdk/{pw-ai-DE9_F3UT.js → pw-ai-CetM9Gvn.js} +8 -8
- package/dist/plugin-sdk/{qmd-manager-Be0AD8g6.js → qmd-manager-D-4-ofwq.js} +6 -6
- package/dist/plugin-sdk/{qmd-scope-ChYVD8_V.js → qmd-scope-C2Q-gYkx.js} +1 -1
- package/dist/plugin-sdk/{query-expansion-D7KVLAEI.js → query-expansion-WqJIYjMY.js} +2 -2
- package/dist/plugin-sdk/{recorder-CYbCMbkp.js → recorder-Buet60MM.js} +2 -2
- package/dist/{redact-DU9QXIsh.js → plugin-sdk/redact-BsmP2_ML.js} +1 -1
- package/dist/plugin-sdk/{reply-directives-C8nS86oo.js → reply-directives-vq-0__VY.js} +2 -2
- package/dist/plugin-sdk/{runs-DaXWESgL.js → runs-Bo9ZU_tS.js} +7 -7
- package/dist/plugin-sdk/{send-DNtB7RqD.js → send-C7mdLoxn.js} +5 -5
- package/dist/plugin-sdk/{send-A18Yldb9.js → send-O0_QKrFT.js} +4 -4
- package/dist/plugin-sdk/{sessions-CaOQHLR9.js → sessions-DBkZJFck.js} +3 -3
- package/dist/plugin-sdk/{ssrf-BUsxUAWv.js → ssrf-DwUheH8N.js} +1 -1
- package/dist/{subsystem-DoQFckDJ.js → plugin-sdk/subsystem-DGPv0F8I.js} +5 -5
- package/dist/plugin-sdk/{tool-loop-detection-CofD0zz1.js → tool-loop-detection-CJnz5pAZ.js} +1 -1
- package/dist/plugin-sdk/{user-run-recording-BHcbX_ct.js → user-run-recording-CcRIjxcn.js} +2 -2
- package/dist/plugin-sdk/{ws-fpqheALb.js → ws-BmHfUkZI.js} +1 -1
- package/dist/{ports-B3BTfmE-.js → ports-af3jAFGh.js} +2 -2
- package/dist/{progress-CuNmfDlK.js → progress-CmedxTqJ.js} +3 -3
- package/dist/{proxy-env-CHdvLB3R.js → proxy-env-B9kcG28B.js} +1 -1
- package/dist/{proxy-env-E2mZELS1.js → proxy-env-Catj9Viz.js} +1 -1
- package/dist/{proxy-env-Dayk9Sh-.js → proxy-env-DQFy-pBt.js} +1 -1
- package/dist/{pw-ai-mN-uQx62.js → pw-ai-BWm3mCae.js} +9 -9
- package/dist/{pw-ai-BV3I_k2z.js → pw-ai-CDg9EuQp.js} +5 -5
- package/dist/{pw-ai--9RsLl-I.js → pw-ai-DoQ300T0.js} +11 -11
- package/dist/{qmd-manager-IBVkRbDA.js → qmd-manager-DFBcLXne.js} +6 -6
- package/dist/{qmd-manager-B4bmSWg6.js → qmd-manager-DbHyIFsT.js} +4 -4
- package/dist/{qmd-manager-pXzVcStZ.js → qmd-manager-jGcc2exw.js} +9 -9
- package/dist/{qmd-scope-C-qiTyK0.js → qmd-scope-D25aU1jR.js} +1 -1
- package/dist/{qmd-scope-CyWbQgiS.js → qmd-scope-DMUA3Vq9.js} +1 -1
- package/dist/{qmd-scope-C3LDIy_f.js → qmd-scope-DxmwIijL.js} +1 -1
- package/dist/{query-expansion-DUYY60_G.js → query-expansion-BC9pRVpQ.js} +1 -1
- package/dist/{query-expansion-BfJwCH-1.js → query-expansion-DJ7rNitK.js} +2 -2
- package/dist/{query-expansion-DOdiE1jh.js → query-expansion-Dji7d64T.js} +13 -13
- package/dist/{recorder-BaUTigy-.js → recorder-CBd8Sa3f.js} +2 -2
- package/dist/{recorder-DbOS8cq-.js → recorder-ciEoXXwJ.js} +2 -2
- package/dist/{recorder-tm_DPmVq.js → recorder-jtfym7ix.js} +1 -1
- package/dist/{plugin-sdk/redact-SduMExGO.js → redact-BvO7EAk7.js} +1 -1
- package/dist/{redact-C4XKILzo.js → redact-LOuk7TRy.js} +1 -1
- package/dist/{reply-directives-lb54XxBO.js → reply-directives-BZPLXOax.js} +14 -14
- package/dist/{reply-directives-Cjv6usSI.js → reply-directives-CD8SVo0d.js} +49 -49
- package/dist/{reply-directives-DQdLCsf7.js → reply-directives-CzQd7ai4.js} +9 -9
- package/dist/{runs-C6ZLA3dQ.js → runs-CKVgIXbm.js} +7 -7
- package/dist/{runs-Bfh4gXhE.js → runs-CW-qjeWY.js} +8 -8
- package/dist/{runs-CRfwfxl9.js → runs-CX5t6UjO.js} +5 -5
- package/dist/{send-DhxoS0EQ.js → send-BClohEtC.js} +5 -5
- package/dist/{send-x0brK-7B.js → send-Bb4J4QPH.js} +4 -4
- package/dist/{send-DdufVWN0.js → send-Bn1WCNeb.js} +4 -4
- package/dist/{send-CQXAcrXk.js → send-C9EWa4Gn.js} +3 -3
- package/dist/{send-DgX5MIBr.js → send-CpXb_hwQ.js} +5 -5
- package/dist/{send-CDE-Y46D.js → send-DkfdQWGD.js} +4 -4
- package/dist/{sessions-DFfMZLkJ.js → sessions-C98njXHy.js} +1 -1
- package/dist/{sessions-CoqAntnj.js → sessions-Dwd5H-eS.js} +5 -5
- package/dist/{subsystem-DY5Ww-lX.js → subsystem-BntNuBAj.js} +4 -4
- package/dist/{plugin-sdk/subsystem-Btq0amiz.js → subsystem-cFv2jJm-.js} +70 -70
- package/dist/{tool-loop-detection-CtOkwPJY.js → tool-loop-detection-9fAxiikd.js} +2 -2
- package/dist/{tool-loop-detection-C8jnlLQJ.js → tool-loop-detection-BMpeJ2DE.js} +1 -1
- package/dist/{user-run-recording-Dw1uyV3d.js → user-run-recording-BsWiQH6f.js} +1 -1
- package/dist/{user-run-recording-D-qMoYVy.js → user-run-recording-CisdKSzW.js} +2 -2
- package/dist/{user-run-recording-UvvXT13r.js → user-run-recording-DBqvoOPn.js} +2 -2
- package/dist/web-client/assets/{hast-util-from-dom-SbSARCyf.js → hast-util-from-dom-CUZ3hAh_.js} +1 -1
- package/dist/web-client/assets/{hast-util-to-mdast-C1n0gLxk.js → hast-util-to-mdast-DsCIyZ_Y.js} +1 -1
- package/dist/web-client/assets/{index-UZef_CpP.js → index-BvHk50NK.js} +2 -2
- package/dist/web-client/index.html +1 -1
- package/dist/{ws-kGFg1v4B.js → ws-B4SUb9f_.js} +1 -1
- package/dist/{ws-BJ7VU-8f.js → ws-BOnegOZK.js} +1 -1
- package/extensions/a2a/package.json +1 -1
- package/extensions/acpx/package.json +1 -1
- package/extensions/anthropic/package.json +1 -1
- package/extensions/bifrost/package.json +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/deepgram/package.json +1 -1
- package/extensions/deepinfra/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/diffs/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/dream-cycle/package.json +1 -1
- package/extensions/elevenlabs/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/gemini-search/package.json +1 -1
- package/extensions/google/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/grok-search/package.json +1 -1
- package/extensions/groq/package.json +1 -1
- package/extensions/identity-oidc/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/kimi-search/package.json +1 -1
- package/extensions/kokoro/package.json +1 -1
- package/extensions/learning-core/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +1 -1
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/mistral/package.json +1 -1
- package/extensions/moonshot/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +1 -1
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +1 -1
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/openai/package.json +1 -1
- package/extensions/openai-realtime/package.json +1 -1
- package/extensions/openrouter/package.json +1 -1
- package/extensions/perplexity-search/package.json +1 -1
- package/extensions/searxng-search/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/synology-chat/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +1 -1
- package/extensions/twitch/package.json +1 -1
- package/extensions/ui-surfaces/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +1 -1
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zai/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +1 -1
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +1 -1
- package/extensions/zalouser/package.json +1 -1
- package/package.json +3 -1
- package/dist/control-ui-v2/assets/Badge-Ckq3aEJa.js +0 -1
- package/dist/control-ui-v2/assets/runs-store-D8Ckq4AP.js +0 -1
- package/dist/github-copilot-token-Bm6yG6tw.js +0 -106
- package/dist/paths-BIDPYPVC.js +0 -233
- package/docs/reference/templates/BOOT.md +0 -11
- /package/dist/{config-1om7Pwz0.js → config-CM9p9U7m.js} +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
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-
|
|
3
|
-
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 { 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";
|
|
3
|
+
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";
|
|
4
4
|
import { n as resolveProcessScopedMap, t as isPlainObject$2 } from "./plain-object-Doc_YkH1.js";
|
|
5
|
-
import { $ as normalizeAccountId$1, A as DEFAULT_AGENT_ID, G as resolveAgentIdFromSessionKey, H as normalizeAgentId, N as RAW_PEER_KEY_PREFIX, Q as DEFAULT_ACCOUNT_ID, a as registerInternalHook, b as resolveDefaultAgentWorkspaceDir, dt as stripAgentSessionKeyPrefix, et as normalizeOptionalAccountId, lt as parseAgentSessionKey, s as parseBooleanValue, t as readManifestNamespace, w as runExec, z as expandIdentityLinksToMatchKeys } from "./legacy-names-
|
|
6
|
-
import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-
|
|
5
|
+
import { $ as normalizeAccountId$1, A as DEFAULT_AGENT_ID, G as resolveAgentIdFromSessionKey, H as normalizeAgentId, N as RAW_PEER_KEY_PREFIX, Q as DEFAULT_ACCOUNT_ID, a as registerInternalHook, b as resolveDefaultAgentWorkspaceDir, dt as stripAgentSessionKeyPrefix, et as normalizeOptionalAccountId, lt as parseAgentSessionKey, s as parseBooleanValue, t as readManifestNamespace, w as runExec, z as expandIdentityLinksToMatchKeys } from "./legacy-names-chsmo2vs.js";
|
|
6
|
+
import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-C-29TbW-.js";
|
|
7
7
|
import { createRequire } from "node:module";
|
|
8
8
|
import path from "node:path";
|
|
9
|
-
import
|
|
9
|
+
import syncFs from "node:fs";
|
|
10
10
|
import os, { userInfo } from "node:os";
|
|
11
|
-
import
|
|
12
|
-
import fs
|
|
11
|
+
import json5 from "json5";
|
|
12
|
+
import fs from "node:fs/promises";
|
|
13
13
|
import { isDeepStrictEqual } from "node:util";
|
|
14
14
|
import { execFileSync, spawn } from "node:child_process";
|
|
15
15
|
import { fileURLToPath } from "node:url";
|
|
@@ -464,7 +464,7 @@ function isValidPid(pid) {
|
|
|
464
464
|
function isZombieProcess(pid) {
|
|
465
465
|
if (process.platform !== "linux") return false;
|
|
466
466
|
try {
|
|
467
|
-
return
|
|
467
|
+
return syncFs.readFileSync(`/proc/${pid}/status`, "utf8").match(/^State:\s+(\S)/m)?.[1] === "Z";
|
|
468
468
|
} catch {
|
|
469
469
|
return false;
|
|
470
470
|
}
|
|
@@ -491,7 +491,7 @@ function getProcessStartTime(pid) {
|
|
|
491
491
|
if (process.platform !== "linux") return null;
|
|
492
492
|
if (!isValidPid(pid)) return null;
|
|
493
493
|
try {
|
|
494
|
-
const stat =
|
|
494
|
+
const stat = syncFs.readFileSync(`/proc/${pid}/stat`, "utf8");
|
|
495
495
|
const commEndIndex = stat.lastIndexOf(")");
|
|
496
496
|
if (commEndIndex < 0) return null;
|
|
497
497
|
const fields = stat.slice(commEndIndex + 1).trimStart().split(/\s+/);
|
|
@@ -559,7 +559,7 @@ function readLinuxProcessElapsedSeconds(pid) {
|
|
|
559
559
|
const starttimeTicks = getProcessStartTime(pid);
|
|
560
560
|
if (starttimeTicks === null) {
|
|
561
561
|
try {
|
|
562
|
-
|
|
562
|
+
syncFs.readFileSync(`/proc/${pid}/stat`, "utf8");
|
|
563
563
|
} catch (err) {
|
|
564
564
|
return err.code === "ENOENT" ? null : "unknown";
|
|
565
565
|
}
|
|
@@ -567,7 +567,7 @@ function readLinuxProcessElapsedSeconds(pid) {
|
|
|
567
567
|
}
|
|
568
568
|
let uptimeSeconds;
|
|
569
569
|
try {
|
|
570
|
-
const raw =
|
|
570
|
+
const raw = syncFs.readFileSync("/proc/uptime", "utf8");
|
|
571
571
|
uptimeSeconds = Number.parseFloat(raw.split(" ")[0] ?? "");
|
|
572
572
|
} catch {
|
|
573
573
|
return "unknown";
|
|
@@ -624,7 +624,7 @@ function isCreatedAtStale(createdAt, staleMs) {
|
|
|
624
624
|
}
|
|
625
625
|
async function readLockPayload$1(lockPath) {
|
|
626
626
|
try {
|
|
627
|
-
const raw = await fs
|
|
627
|
+
const raw = await fs.readFile(lockPath, "utf8");
|
|
628
628
|
const parsed = JSON.parse(raw);
|
|
629
629
|
if (typeof parsed.pid !== "number" || typeof parsed.createdAt !== "string") return null;
|
|
630
630
|
const payload = {
|
|
@@ -641,7 +641,7 @@ async function readLockPayload$1(lockPath) {
|
|
|
641
641
|
}
|
|
642
642
|
async function chmodIfSupported(filePath, mode) {
|
|
643
643
|
try {
|
|
644
|
-
await fs
|
|
644
|
+
await fs.chmod(filePath, mode);
|
|
645
645
|
} catch (err) {
|
|
646
646
|
if (process.platform === "win32") return;
|
|
647
647
|
throw err;
|
|
@@ -650,15 +650,15 @@ async function chmodIfSupported(filePath, mode) {
|
|
|
650
650
|
async function resolveNormalizedFilePath(filePath, options) {
|
|
651
651
|
const resolved = path.resolve(filePath);
|
|
652
652
|
const dir = path.dirname(resolved);
|
|
653
|
-
if (options.directoryMode === void 0) await fs
|
|
653
|
+
if (options.directoryMode === void 0) await fs.mkdir(dir, { recursive: true });
|
|
654
654
|
else {
|
|
655
|
-
await fs
|
|
655
|
+
await fs.mkdir(dir, {
|
|
656
656
|
recursive: true,
|
|
657
657
|
mode: options.directoryMode
|
|
658
658
|
});
|
|
659
659
|
await chmodIfSupported(dir, options.directoryMode);
|
|
660
660
|
}
|
|
661
|
-
const realDir = await fs
|
|
661
|
+
const realDir = await fs.realpath(dir);
|
|
662
662
|
return path.join(realDir, path.basename(resolved));
|
|
663
663
|
}
|
|
664
664
|
async function isStaleLock(lockPath, staleMs) {
|
|
@@ -673,7 +673,7 @@ async function isStaleLock(lockPath, staleMs) {
|
|
|
673
673
|
return false;
|
|
674
674
|
}
|
|
675
675
|
try {
|
|
676
|
-
const stat = await fs
|
|
676
|
+
const stat = await fs.stat(lockPath);
|
|
677
677
|
return Date.now() - stat.mtimeMs > staleMs;
|
|
678
678
|
} catch {
|
|
679
679
|
return true;
|
|
@@ -697,7 +697,7 @@ async function releaseHeldLock$1(normalizedFile) {
|
|
|
697
697
|
throw emitLockReleaseWarning("close", current.lockPath, err);
|
|
698
698
|
}
|
|
699
699
|
try {
|
|
700
|
-
await fs
|
|
700
|
+
await fs.rm(current.lockPath, { force: true });
|
|
701
701
|
} catch (err) {
|
|
702
702
|
current.count = 1;
|
|
703
703
|
throw emitLockReleaseWarning("remove", current.lockPath, err);
|
|
@@ -720,7 +720,7 @@ async function acquireFileLock(filePath, options) {
|
|
|
720
720
|
let attempt = 0;
|
|
721
721
|
let staleReclaims = 0;
|
|
722
722
|
while (attempt < attempts) try {
|
|
723
|
-
const handle = await fs
|
|
723
|
+
const handle = await fs.open(lockPath, "wx");
|
|
724
724
|
try {
|
|
725
725
|
await handle.writeFile(JSON.stringify({
|
|
726
726
|
pid: process.pid,
|
|
@@ -729,7 +729,7 @@ async function acquireFileLock(filePath, options) {
|
|
|
729
729
|
}, null, 2), "utf8");
|
|
730
730
|
} catch (writeErr) {
|
|
731
731
|
await handle.close().catch(() => void 0);
|
|
732
|
-
await fs
|
|
732
|
+
await fs.rm(lockPath, { force: true }).catch(() => void 0);
|
|
733
733
|
throw writeErr;
|
|
734
734
|
}
|
|
735
735
|
HELD_LOCKS$1.set(normalizedFile, {
|
|
@@ -745,7 +745,7 @@ async function acquireFileLock(filePath, options) {
|
|
|
745
745
|
} catch (err) {
|
|
746
746
|
if (err.code !== "EEXIST") throw err;
|
|
747
747
|
if (await isStaleLock(lockPath, options.stale)) {
|
|
748
|
-
await fs
|
|
748
|
+
await fs.rm(lockPath, { force: true }).catch(() => void 0);
|
|
749
749
|
if (staleReclaims < attempts) {
|
|
750
750
|
staleReclaims += 1;
|
|
751
751
|
continue;
|
|
@@ -911,7 +911,7 @@ function resolveAuthStorePathForDisplay(agentDir) {
|
|
|
911
911
|
return pathname.startsWith("~") ? pathname : resolveUserPath(pathname);
|
|
912
912
|
}
|
|
913
913
|
function ensureAuthStoreFile(pathname) {
|
|
914
|
-
if (
|
|
914
|
+
if (syncFs.existsSync(pathname)) return;
|
|
915
915
|
saveJsonFile(pathname, {
|
|
916
916
|
version: AUTH_STORE_VERSION,
|
|
917
917
|
profiles: {}
|
|
@@ -1174,7 +1174,7 @@ function loadAuthProfileStoreForAgent(agentDir, options) {
|
|
|
1174
1174
|
if (shouldWrite && legacy !== null) {
|
|
1175
1175
|
const legacyPath = resolveLegacyAuthStorePath(agentDir);
|
|
1176
1176
|
try {
|
|
1177
|
-
|
|
1177
|
+
syncFs.unlinkSync(legacyPath);
|
|
1178
1178
|
} catch (err) {
|
|
1179
1179
|
if (err?.code !== "ENOENT") log$14.warn("failed to delete legacy auth.json after migration", {
|
|
1180
1180
|
err,
|
|
@@ -1644,7 +1644,7 @@ function resolveTimeoutMs(timeoutMs) {
|
|
|
1644
1644
|
function readEtcShells() {
|
|
1645
1645
|
if (shellEnvState.cachedEtcShells !== void 0) return shellEnvState.cachedEtcShells;
|
|
1646
1646
|
try {
|
|
1647
|
-
const entries =
|
|
1647
|
+
const entries = syncFs.readFileSync("/etc/shells", "utf8").split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0 && !line.startsWith("#") && path.isAbsolute(line));
|
|
1648
1648
|
shellEnvState.cachedEtcShells = new Set(entries);
|
|
1649
1649
|
} catch {
|
|
1650
1650
|
shellEnvState.cachedEtcShells = null;
|
|
@@ -2192,7 +2192,7 @@ function formatWindowsAclSummary(summary) {
|
|
|
2192
2192
|
//#region src/security/audit-fs.ts
|
|
2193
2193
|
async function safeStat(targetPath) {
|
|
2194
2194
|
try {
|
|
2195
|
-
const lst = await fs
|
|
2195
|
+
const lst = await fs.lstat(targetPath);
|
|
2196
2196
|
return {
|
|
2197
2197
|
ok: true,
|
|
2198
2198
|
isSymlink: lst.isSymbolicLink(),
|
|
@@ -2231,7 +2231,7 @@ async function inspectPathPermissions(targetPath, opts) {
|
|
|
2231
2231
|
let effectiveMode = st.mode;
|
|
2232
2232
|
let effectiveIsDir = st.isDir;
|
|
2233
2233
|
if (st.isSymlink) try {
|
|
2234
|
-
const target = await fs
|
|
2234
|
+
const target = await fs.stat(targetPath);
|
|
2235
2235
|
effectiveMode = typeof target.mode === "number" ? target.mode : st.mode;
|
|
2236
2236
|
effectiveIsDir = target.isDirectory();
|
|
2237
2237
|
} catch {}
|
|
@@ -2513,7 +2513,7 @@ async function assertSecurePath(params) {
|
|
|
2513
2513
|
if (stat.isSymlink) {
|
|
2514
2514
|
if (!params.allowSymlinkPath) throw new Error(`${params.label} must not be a symlink: ${effectivePath}`);
|
|
2515
2515
|
try {
|
|
2516
|
-
effectivePath = await fs
|
|
2516
|
+
effectivePath = await fs.realpath(effectivePath);
|
|
2517
2517
|
} catch {
|
|
2518
2518
|
throw new Error(`${params.label} symlink target is not readable: ${params.targetPath}`);
|
|
2519
2519
|
}
|
|
@@ -2561,7 +2561,7 @@ async function readFileProviderPayload(params) {
|
|
|
2561
2561
|
}, timeoutMs);
|
|
2562
2562
|
});
|
|
2563
2563
|
try {
|
|
2564
|
-
const payload = await Promise.race([fs
|
|
2564
|
+
const payload = await Promise.race([fs.readFile(secureFilePath, { signal: abortController.signal }), timeoutPromise]);
|
|
2565
2565
|
if (payload.byteLength > maxBytes) throw new Error(`File provider "${params.providerName}" exceeded maxBytes (${maxBytes}).`);
|
|
2566
2566
|
const text = payload.toString("utf8");
|
|
2567
2567
|
if (params.providerConfig.mode === "singleValue") return text.replace(/\r?\n$/, "");
|
|
@@ -3187,7 +3187,7 @@ function resolveActiveTalkProviderConfig(talk) {
|
|
|
3187
3187
|
};
|
|
3188
3188
|
}
|
|
3189
3189
|
function readTalkApiKeyFromProfile(deps = {}) {
|
|
3190
|
-
const fsImpl = deps.fs ??
|
|
3190
|
+
const fsImpl = deps.fs ?? syncFs;
|
|
3191
3191
|
const osImpl = deps.os ?? os;
|
|
3192
3192
|
const pathImpl = deps.path ?? path;
|
|
3193
3193
|
const home = osImpl.homedir();
|
|
@@ -3851,7 +3851,7 @@ function loadDotEnv(opts) {
|
|
|
3851
3851
|
const quiet = opts?.quiet ?? true;
|
|
3852
3852
|
dotenv.config({ quiet });
|
|
3853
3853
|
const globalEnvPath = path.join(resolveConfigDir(process.env), ".env");
|
|
3854
|
-
if (!
|
|
3854
|
+
if (!syncFs.existsSync(globalEnvPath)) return;
|
|
3855
3855
|
dotenv.config({
|
|
3856
3856
|
quiet,
|
|
3857
3857
|
path: globalEnvPath,
|
|
@@ -3867,8 +3867,8 @@ function resolveConfigPathForDeps(deps) {
|
|
|
3867
3867
|
}
|
|
3868
3868
|
function normalizeDeps(overrides = {}) {
|
|
3869
3869
|
return {
|
|
3870
|
-
fs: overrides.fs ??
|
|
3871
|
-
json5: overrides.json5 ??
|
|
3870
|
+
fs: overrides.fs ?? syncFs,
|
|
3871
|
+
json5: overrides.json5 ?? json5,
|
|
3872
3872
|
env: overrides.env ?? process.env,
|
|
3873
3873
|
homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
|
|
3874
3874
|
configPath: overrides.configPath ?? "",
|
|
@@ -5817,7 +5817,7 @@ function normalizeMatchTarget(value) {
|
|
|
5817
5817
|
}
|
|
5818
5818
|
function tryRealpath(value) {
|
|
5819
5819
|
try {
|
|
5820
|
-
return
|
|
5820
|
+
return syncFs.realpathSync(value);
|
|
5821
5821
|
} catch {
|
|
5822
5822
|
return null;
|
|
5823
5823
|
}
|
|
@@ -6370,8 +6370,8 @@ function resolveWindowsExecutableExtensions(executable, env) {
|
|
|
6370
6370
|
}
|
|
6371
6371
|
function isExecutableFile(filePath) {
|
|
6372
6372
|
try {
|
|
6373
|
-
if (!
|
|
6374
|
-
if (process.platform !== "win32")
|
|
6373
|
+
if (!syncFs.statSync(filePath).isFile()) return false;
|
|
6374
|
+
if (process.platform !== "win32") syncFs.accessSync(filePath, syncFs.constants.X_OK);
|
|
6375
6375
|
return true;
|
|
6376
6376
|
} catch {
|
|
6377
6377
|
return false;
|
|
@@ -6410,7 +6410,7 @@ const DEFAULT_SAFE_BINS = [
|
|
|
6410
6410
|
function tryResolveRealpath(filePath) {
|
|
6411
6411
|
if (!filePath) return;
|
|
6412
6412
|
try {
|
|
6413
|
-
return
|
|
6413
|
+
return syncFs.realpathSync(filePath);
|
|
6414
6414
|
} catch {
|
|
6415
6415
|
return;
|
|
6416
6416
|
}
|
|
@@ -7285,7 +7285,7 @@ function listWritableExplicitTrustedSafeBinDirs(entries) {
|
|
|
7285
7285
|
for (const dir of resolved) {
|
|
7286
7286
|
let stat;
|
|
7287
7287
|
try {
|
|
7288
|
-
stat =
|
|
7288
|
+
stat = syncFs.statSync(dir);
|
|
7289
7289
|
} catch {
|
|
7290
7290
|
continue;
|
|
7291
7291
|
}
|
|
@@ -8250,7 +8250,7 @@ const credsSaveQueues = resolveProcessScopedMap(Symbol.for("openclaw.webCredsSav
|
|
|
8250
8250
|
function canonicalWebAuthDir(authDir) {
|
|
8251
8251
|
const resolvedAuthDir = resolveUserPath(authDir);
|
|
8252
8252
|
try {
|
|
8253
|
-
return
|
|
8253
|
+
return syncFs.realpathSync.native(resolvedAuthDir);
|
|
8254
8254
|
} catch (err) {
|
|
8255
8255
|
if (err.code === "ENOENT") return resolvedAuthDir;
|
|
8256
8256
|
throw err;
|
|
@@ -8265,7 +8265,7 @@ function isWebAuthBeingCleared(authDir) {
|
|
|
8265
8265
|
}
|
|
8266
8266
|
function statFileSync(filePath) {
|
|
8267
8267
|
try {
|
|
8268
|
-
return
|
|
8268
|
+
return syncFs.statSync(filePath);
|
|
8269
8269
|
} catch {
|
|
8270
8270
|
return null;
|
|
8271
8271
|
}
|
|
@@ -8277,7 +8277,7 @@ function hasWebCredsSync(authDir) {
|
|
|
8277
8277
|
const resolvedAuthDir = resolveUserPath(authDir);
|
|
8278
8278
|
maybeRestoreCredsFromBackup(resolvedAuthDir);
|
|
8279
8279
|
try {
|
|
8280
|
-
const stats =
|
|
8280
|
+
const stats = syncFs.statSync(resolveWebCredsPath(resolvedAuthDir));
|
|
8281
8281
|
return stats.isFile() && stats.size > 1;
|
|
8282
8282
|
} catch {
|
|
8283
8283
|
return false;
|
|
@@ -8285,10 +8285,10 @@ function hasWebCredsSync(authDir) {
|
|
|
8285
8285
|
}
|
|
8286
8286
|
function readCredsJsonRaw(filePath) {
|
|
8287
8287
|
try {
|
|
8288
|
-
if (!
|
|
8289
|
-
const stats =
|
|
8288
|
+
if (!syncFs.existsSync(filePath)) return null;
|
|
8289
|
+
const stats = syncFs.statSync(filePath);
|
|
8290
8290
|
if (!stats.isFile() || stats.size <= 1) return null;
|
|
8291
|
-
return
|
|
8291
|
+
return syncFs.readFileSync(filePath, "utf-8");
|
|
8292
8292
|
} catch {
|
|
8293
8293
|
return null;
|
|
8294
8294
|
}
|
|
@@ -8313,12 +8313,12 @@ function maybeRestoreCredsFromBackup(authDir) {
|
|
|
8313
8313
|
const backupRaw = readCredsJsonRaw(backupPath);
|
|
8314
8314
|
const backupStats = statFileSync(backupPath);
|
|
8315
8315
|
if (!backupStats?.isFile() || !backupRaw || !isParseableJson(backupRaw)) return;
|
|
8316
|
-
|
|
8316
|
+
syncFs.copyFileSync(backupPath, credsPath);
|
|
8317
8317
|
try {
|
|
8318
|
-
|
|
8318
|
+
syncFs.chmodSync(credsPath, 384);
|
|
8319
8319
|
} catch {}
|
|
8320
8320
|
try {
|
|
8321
|
-
|
|
8321
|
+
syncFs.utimesSync(credsPath, backupStats.atime, backupStats.mtime);
|
|
8322
8322
|
} catch {}
|
|
8323
8323
|
logger.warn({ credsPath }, "restored corrupted WhatsApp creds.json from backup");
|
|
8324
8324
|
} catch {}
|
|
@@ -8338,7 +8338,7 @@ function listWhatsAppAuthDirs(cfg) {
|
|
|
8338
8338
|
accountId
|
|
8339
8339
|
}).authDir);
|
|
8340
8340
|
try {
|
|
8341
|
-
const entries =
|
|
8341
|
+
const entries = syncFs.readdirSync(whatsappDir, { withFileTypes: true });
|
|
8342
8342
|
for (const entry of entries) {
|
|
8343
8343
|
if (!entry.isDirectory()) continue;
|
|
8344
8344
|
authDirs.add(path.join(whatsappDir, entry.name));
|
|
@@ -8360,7 +8360,7 @@ function resolveLegacyAuthDir() {
|
|
|
8360
8360
|
}
|
|
8361
8361
|
function legacyAuthExists(authDir) {
|
|
8362
8362
|
try {
|
|
8363
|
-
return
|
|
8363
|
+
return syncFs.existsSync(path.join(authDir, "creds.json"));
|
|
8364
8364
|
} catch {
|
|
8365
8365
|
return false;
|
|
8366
8366
|
}
|
|
@@ -9300,7 +9300,7 @@ async function releaseHeldLock(normalizedSessionFile, held, opts = {}) {
|
|
|
9300
9300
|
await held.handle.close();
|
|
9301
9301
|
} catch {}
|
|
9302
9302
|
try {
|
|
9303
|
-
await fs
|
|
9303
|
+
await fs.rm(held.lockPath, { force: true });
|
|
9304
9304
|
} catch {}
|
|
9305
9305
|
})();
|
|
9306
9306
|
try {
|
|
@@ -9320,7 +9320,7 @@ function releaseAllLocksSync() {
|
|
|
9320
9320
|
if (typeof held.handle.close === "function") held.handle.close().catch(() => {});
|
|
9321
9321
|
} catch {}
|
|
9322
9322
|
try {
|
|
9323
|
-
|
|
9323
|
+
syncFs.rmSync(held.lockPath, { force: true });
|
|
9324
9324
|
} catch {}
|
|
9325
9325
|
HELD_LOCKS.delete(sessionFile);
|
|
9326
9326
|
}
|
|
@@ -9379,7 +9379,7 @@ function registerCleanupHandlers() {
|
|
|
9379
9379
|
}
|
|
9380
9380
|
async function readLockPayload(lockPath) {
|
|
9381
9381
|
try {
|
|
9382
|
-
const raw = await fs
|
|
9382
|
+
const raw = await fs.readFile(lockPath, "utf8");
|
|
9383
9383
|
const parsed = JSON.parse(raw);
|
|
9384
9384
|
const payload = {};
|
|
9385
9385
|
if (isValidLockNumber(parsed.pid) && parsed.pid > 0) payload.pid = parsed.pid;
|
|
@@ -9423,7 +9423,7 @@ async function shouldReclaimContendedLockFile(lockPath, details, staleMs, nowMs)
|
|
|
9423
9423
|
if (!details.stale) return false;
|
|
9424
9424
|
if (!lockInspectionNeedsMtimeStaleFallback(details)) return true;
|
|
9425
9425
|
try {
|
|
9426
|
-
const stat = await fs
|
|
9426
|
+
const stat = await fs.stat(lockPath);
|
|
9427
9427
|
return Math.max(0, nowMs - stat.mtimeMs) > staleMs;
|
|
9428
9428
|
} catch (error) {
|
|
9429
9429
|
return error?.code !== "ENOENT";
|
|
@@ -9441,10 +9441,10 @@ async function acquireSessionWriteLockWithProcessIdentity(params, processIdentit
|
|
|
9441
9441
|
const maxHoldMs = resolvePositiveMs(params.maxHoldMs, DEFAULT_MAX_HOLD_MS);
|
|
9442
9442
|
const sessionFile = path.resolve(params.sessionFile);
|
|
9443
9443
|
const sessionDir = path.dirname(sessionFile);
|
|
9444
|
-
await fs
|
|
9444
|
+
await fs.mkdir(sessionDir, { recursive: true });
|
|
9445
9445
|
let normalizedDir = sessionDir;
|
|
9446
9446
|
try {
|
|
9447
|
-
normalizedDir = await fs
|
|
9447
|
+
normalizedDir = await fs.realpath(sessionDir);
|
|
9448
9448
|
} catch {}
|
|
9449
9449
|
const normalizedSessionFile = path.join(normalizedDir, path.basename(sessionFile));
|
|
9450
9450
|
const lockPath = `${normalizedSessionFile}.lock`;
|
|
@@ -9462,7 +9462,7 @@ async function acquireSessionWriteLockWithProcessIdentity(params, processIdentit
|
|
|
9462
9462
|
attempt += 1;
|
|
9463
9463
|
let handle = null;
|
|
9464
9464
|
try {
|
|
9465
|
-
handle = await fs
|
|
9465
|
+
handle = await fs.open(lockPath, "wx");
|
|
9466
9466
|
const createdAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
9467
9467
|
const starttime = processIdentity.getProcessStartTime(process.pid);
|
|
9468
9468
|
const lockPayload = {
|
|
@@ -9488,7 +9488,7 @@ async function acquireSessionWriteLockWithProcessIdentity(params, processIdentit
|
|
|
9488
9488
|
await handle.close();
|
|
9489
9489
|
} catch {}
|
|
9490
9490
|
try {
|
|
9491
|
-
await fs
|
|
9491
|
+
await fs.rm(lockPath, { force: true });
|
|
9492
9492
|
} catch {}
|
|
9493
9493
|
}
|
|
9494
9494
|
if (err.code !== "EEXIST") throw err;
|
|
@@ -9503,7 +9503,7 @@ async function acquireSessionWriteLockWithProcessIdentity(params, processIdentit
|
|
|
9503
9503
|
stale: true,
|
|
9504
9504
|
staleReasons: inspected.staleReasons.includes("orphan-self-pid") ? inspected.staleReasons : [...inspected.staleReasons, "orphan-self-pid"]
|
|
9505
9505
|
} : inspected, staleMs, nowMs)) {
|
|
9506
|
-
await fs
|
|
9506
|
+
await fs.rm(lockPath, { force: true });
|
|
9507
9507
|
continue;
|
|
9508
9508
|
}
|
|
9509
9509
|
const delay = Math.min(1e3, 50 * attempt);
|
|
@@ -9634,7 +9634,7 @@ function resolveStructuralSessionFallbackPath(candidateAbsPath, expectedAgentId)
|
|
|
9634
9634
|
}
|
|
9635
9635
|
function safeRealpathSync$1(filePath) {
|
|
9636
9636
|
try {
|
|
9637
|
-
return
|
|
9637
|
+
return syncFs.realpathSync(filePath);
|
|
9638
9638
|
} catch {
|
|
9639
9639
|
return;
|
|
9640
9640
|
}
|
|
@@ -10011,7 +10011,7 @@ function isCacheEnabled(ttlMs) {
|
|
|
10011
10011
|
}
|
|
10012
10012
|
function getFileStatSnapshot(filePath) {
|
|
10013
10013
|
try {
|
|
10014
|
-
const stats =
|
|
10014
|
+
const stats = syncFs.statSync(filePath);
|
|
10015
10015
|
return {
|
|
10016
10016
|
mtimeMs: stats.mtimeMs,
|
|
10017
10017
|
sizeBytes: stats.size
|
|
@@ -10293,7 +10293,7 @@ function loadSessionStoreFromDisk(storePath, opts = {}) {
|
|
|
10293
10293
|
const maxReadAttempts = process.platform === "win32" ? 3 : 1;
|
|
10294
10294
|
const retryBuf = maxReadAttempts > 1 ? new Int32Array(new SharedArrayBuffer(4)) : void 0;
|
|
10295
10295
|
for (let attempt = 0; attempt < maxReadAttempts; attempt++) try {
|
|
10296
|
-
const raw =
|
|
10296
|
+
const raw = syncFs.readFileSync(storePath, "utf-8");
|
|
10297
10297
|
if (raw.length === 0 && attempt < maxReadAttempts - 1) {
|
|
10298
10298
|
Atomics.wait(retryBuf, 0, 0, 50);
|
|
10299
10299
|
continue;
|
|
@@ -12170,7 +12170,7 @@ function createPluginRegistry(registryParams) {
|
|
|
12170
12170
|
configurable: true,
|
|
12171
12171
|
value: {
|
|
12172
12172
|
...registryParams.runtime.signals,
|
|
12173
|
-
nudge: async (input) => (await import("./nudge-
|
|
12173
|
+
nudge: async (input) => (await import("./nudge-DyQYIOed.js").then((n) => n.t)).requestAuthorizedNudge({
|
|
12174
12174
|
kind: "plugin",
|
|
12175
12175
|
pluginId: record.id
|
|
12176
12176
|
}, input)
|
|
@@ -12538,13 +12538,13 @@ function resolveBundledPluginsDir() {
|
|
|
12538
12538
|
try {
|
|
12539
12539
|
const execDir = path.dirname(process.execPath);
|
|
12540
12540
|
const sibling = path.join(execDir, "extensions");
|
|
12541
|
-
if (
|
|
12541
|
+
if (syncFs.existsSync(sibling)) return sibling;
|
|
12542
12542
|
} catch {}
|
|
12543
12543
|
try {
|
|
12544
12544
|
let cursor = path.dirname(fileURLToPath(import.meta.url));
|
|
12545
12545
|
for (let i = 0; i < 6; i += 1) {
|
|
12546
12546
|
const candidate = path.join(cursor, "extensions");
|
|
12547
|
-
if (
|
|
12547
|
+
if (syncFs.existsSync(candidate) && syncFs.existsSync(path.join(cursor, "package.json"))) return candidate;
|
|
12548
12548
|
const parent = path.dirname(cursor);
|
|
12549
12549
|
if (parent === cursor) break;
|
|
12550
12550
|
cursor = parent;
|
|
@@ -12622,7 +12622,7 @@ function parseSessionConsumers(raw) {
|
|
|
12622
12622
|
function resolvePluginManifestPath(rootDir) {
|
|
12623
12623
|
for (const filename of PLUGIN_MANIFEST_FILENAMES) {
|
|
12624
12624
|
const candidate = path.join(rootDir, filename);
|
|
12625
|
-
if (
|
|
12625
|
+
if (syncFs.existsSync(candidate)) return candidate;
|
|
12626
12626
|
}
|
|
12627
12627
|
return path.join(rootDir, PLUGIN_MANIFEST_FILENAME);
|
|
12628
12628
|
}
|
|
@@ -12648,7 +12648,7 @@ function loadPluginManifest(rootDir, rejectHardlinks = true) {
|
|
|
12648
12648
|
}
|
|
12649
12649
|
let raw;
|
|
12650
12650
|
try {
|
|
12651
|
-
raw = JSON.parse(
|
|
12651
|
+
raw = JSON.parse(syncFs.readFileSync(opened.fd, "utf-8"));
|
|
12652
12652
|
} catch (err) {
|
|
12653
12653
|
return {
|
|
12654
12654
|
ok: false,
|
|
@@ -12656,7 +12656,7 @@ function loadPluginManifest(rootDir, rejectHardlinks = true) {
|
|
|
12656
12656
|
manifestPath
|
|
12657
12657
|
};
|
|
12658
12658
|
} finally {
|
|
12659
|
-
|
|
12659
|
+
syncFs.closeSync(opened.fd);
|
|
12660
12660
|
}
|
|
12661
12661
|
return {
|
|
12662
12662
|
...loadPluginManifestFromObject(raw, rejectHardlinks),
|
|
@@ -12861,7 +12861,7 @@ function safeRealpathSync(targetPath, cache) {
|
|
|
12861
12861
|
const cached = cache?.get(targetPath);
|
|
12862
12862
|
if (cached) return cached;
|
|
12863
12863
|
try {
|
|
12864
|
-
const resolved =
|
|
12864
|
+
const resolved = syncFs.realpathSync(targetPath);
|
|
12865
12865
|
cache?.set(targetPath, resolved);
|
|
12866
12866
|
return resolved;
|
|
12867
12867
|
} catch {
|
|
@@ -12870,7 +12870,7 @@ function safeRealpathSync(targetPath, cache) {
|
|
|
12870
12870
|
}
|
|
12871
12871
|
function safeStatSync(targetPath) {
|
|
12872
12872
|
try {
|
|
12873
|
-
return
|
|
12873
|
+
return syncFs.statSync(targetPath);
|
|
12874
12874
|
} catch {
|
|
12875
12875
|
return null;
|
|
12876
12876
|
}
|
|
@@ -13002,12 +13002,12 @@ function readPackageManifest(dir, rejectHardlinks = true) {
|
|
|
13002
13002
|
});
|
|
13003
13003
|
if (!opened.ok) return null;
|
|
13004
13004
|
try {
|
|
13005
|
-
const raw =
|
|
13005
|
+
const raw = syncFs.readFileSync(opened.fd, "utf-8");
|
|
13006
13006
|
return JSON.parse(raw);
|
|
13007
13007
|
} catch {
|
|
13008
13008
|
return null;
|
|
13009
13009
|
} finally {
|
|
13010
|
-
|
|
13010
|
+
syncFs.closeSync(opened.fd);
|
|
13011
13011
|
}
|
|
13012
13012
|
}
|
|
13013
13013
|
function deriveIdHint(params) {
|
|
@@ -13075,14 +13075,14 @@ function resolvePackageEntrySource(params) {
|
|
|
13075
13075
|
return null;
|
|
13076
13076
|
}
|
|
13077
13077
|
const safeSource = opened.path;
|
|
13078
|
-
|
|
13078
|
+
syncFs.closeSync(opened.fd);
|
|
13079
13079
|
return safeSource;
|
|
13080
13080
|
}
|
|
13081
13081
|
function discoverInDirectory(params) {
|
|
13082
|
-
if (!
|
|
13082
|
+
if (!syncFs.existsSync(params.dir)) return;
|
|
13083
13083
|
let entries = [];
|
|
13084
13084
|
try {
|
|
13085
|
-
entries =
|
|
13085
|
+
entries = syncFs.readdirSync(params.dir, { withFileTypes: true });
|
|
13086
13086
|
} catch (err) {
|
|
13087
13087
|
params.diagnostics.push({
|
|
13088
13088
|
level: "warn",
|
|
@@ -13145,7 +13145,7 @@ function discoverInDirectory(params) {
|
|
|
13145
13145
|
}
|
|
13146
13146
|
continue;
|
|
13147
13147
|
}
|
|
13148
|
-
const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(fullPath, candidate)).find((candidate) =>
|
|
13148
|
+
const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(fullPath, candidate)).find((candidate) => syncFs.existsSync(candidate));
|
|
13149
13149
|
if (indexFile && isExtensionFile(indexFile)) addCandidate({
|
|
13150
13150
|
candidates: params.candidates,
|
|
13151
13151
|
diagnostics: params.diagnostics,
|
|
@@ -13163,7 +13163,7 @@ function discoverInDirectory(params) {
|
|
|
13163
13163
|
}
|
|
13164
13164
|
function discoverFromPath(params) {
|
|
13165
13165
|
const resolved = resolveUserPath(params.rawPath);
|
|
13166
|
-
if (!
|
|
13166
|
+
if (!syncFs.existsSync(resolved)) {
|
|
13167
13167
|
params.diagnostics.push({
|
|
13168
13168
|
level: "error",
|
|
13169
13169
|
code: "PLUGIN_LOAD_ERROR",
|
|
@@ -13172,7 +13172,7 @@ function discoverFromPath(params) {
|
|
|
13172
13172
|
});
|
|
13173
13173
|
return;
|
|
13174
13174
|
}
|
|
13175
|
-
const stat =
|
|
13175
|
+
const stat = syncFs.statSync(resolved);
|
|
13176
13176
|
if (stat.isFile()) {
|
|
13177
13177
|
if (!isExtensionFile(resolved)) {
|
|
13178
13178
|
params.diagnostics.push({
|
|
@@ -13232,7 +13232,7 @@ function discoverFromPath(params) {
|
|
|
13232
13232
|
}
|
|
13233
13233
|
return;
|
|
13234
13234
|
}
|
|
13235
|
-
const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(resolved, candidate)).find((candidate) =>
|
|
13235
|
+
const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(resolved, candidate)).find((candidate) => syncFs.existsSync(candidate));
|
|
13236
13236
|
if (indexFile && isExtensionFile(indexFile)) {
|
|
13237
13237
|
addCandidate({
|
|
13238
13238
|
candidates: params.candidates,
|
|
@@ -13691,7 +13691,7 @@ function buildCacheKey$1(params) {
|
|
|
13691
13691
|
}
|
|
13692
13692
|
function safeStatMtimeMs(filePath) {
|
|
13693
13693
|
try {
|
|
13694
|
-
return
|
|
13694
|
+
return syncFs.statSync(filePath).mtimeMs;
|
|
13695
13695
|
} catch {
|
|
13696
13696
|
return null;
|
|
13697
13697
|
}
|
|
@@ -19040,7 +19040,7 @@ function validateConfigObjectWithPluginsBase(raw, opts) {
|
|
|
19040
19040
|
};
|
|
19041
19041
|
const buildManifestSchemaCacheKey = (manifestPath) => {
|
|
19042
19042
|
try {
|
|
19043
|
-
const mtimeMs =
|
|
19043
|
+
const mtimeMs = syncFs.statSync(manifestPath).mtimeMs;
|
|
19044
19044
|
return mtimeMs ? `${manifestPath}:${mtimeMs}` : manifestPath;
|
|
19045
19045
|
} catch {
|
|
19046
19046
|
return manifestPath;
|
|
@@ -19065,7 +19065,7 @@ function validateConfigObjectWithPluginsBase(raw, opts) {
|
|
|
19065
19065
|
manifestRoot = record.sourcePath;
|
|
19066
19066
|
} else if (sources.size === 0) {
|
|
19067
19067
|
const bundledDir = resolveBundledPluginsDir();
|
|
19068
|
-
if (bundledDir &&
|
|
19068
|
+
if (bundledDir && syncFs.existsSync(bundledDir)) {
|
|
19069
19069
|
const realSourcePath = safeRealpathSync(resolveUserPath(record.sourcePath), bundledInstallRealpathCache);
|
|
19070
19070
|
const realBundledDir = safeRealpathSync(bundledDir, bundledInstallRealpathCache) ?? bundledDir;
|
|
19071
19071
|
if (!realSourcePath || !isPathWithinRoot(realBundledDir, realSourcePath)) {
|
|
@@ -19461,11 +19461,11 @@ function warnIfConfigFromFuture(params) {
|
|
|
19461
19461
|
logger.warn(`Config was last written by a newer WednesdayAI (${touched}); current version is ${VERSION}.`);
|
|
19462
19462
|
}
|
|
19463
19463
|
}
|
|
19464
|
-
function parseConfigJson5(raw, json5 =
|
|
19464
|
+
function parseConfigJson5(raw, json5$1 = json5) {
|
|
19465
19465
|
try {
|
|
19466
19466
|
return {
|
|
19467
19467
|
ok: true,
|
|
19468
|
-
parsed: json5.parse(raw)
|
|
19468
|
+
parsed: json5$1.parse(raw)
|
|
19469
19469
|
};
|
|
19470
19470
|
} catch (err) {
|
|
19471
19471
|
return {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Xr as isCanonicalDottedDecimalIPv4, Zr as isIpInCidr, ei as isLoopbackIpAddress, ni as normalizeIpAddress, ti as isPrivateOrLoopbackIpAddress } from "./group-
|
|
1
|
+
import { Xr as isCanonicalDottedDecimalIPv4, Zr as isIpInCidr, ei as isLoopbackIpAddress, ni as normalizeIpAddress, ti as isPrivateOrLoopbackIpAddress } from "./group-Dvl8dfJ2.js";
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import { Buffer } from "node:buffer";
|
|
4
4
|
import net from "node:net";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { Gi as listAgentIds, So as isAcpSessionKey, To as isSubagentSessionKey, Xi as resolveDefaultAgentId, ao as normalizeAgentId, co as resolveAgentIdFromSessionKey, in as loadConfig, oo as normalizeMainKey, po as sessionKeyAgentMatches } from "./group-
|
|
3
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
4
|
-
import { qt as resolveAgentMainSessionKey } from "./credentials-
|
|
2
|
+
import { Gi as listAgentIds, So as isAcpSessionKey, To as isSubagentSessionKey, Xi as resolveDefaultAgentId, ao as normalizeAgentId, co as resolveAgentIdFromSessionKey, in as loadConfig, oo as normalizeMainKey, po as sessionKeyAgentMatches } from "./group-Dvl8dfJ2.js";
|
|
3
|
+
import { t as createSubsystemLogger } from "./subsystem-BntNuBAj.js";
|
|
4
|
+
import { qt as resolveAgentMainSessionKey } from "./credentials-By3Y4AcL.js";
|
|
5
5
|
import { t as emitDiagnosticEvent } from "./diagnostic-events-DqojT7DQ.js";
|
|
6
|
-
import { t as callGateway } from "./call-
|
|
7
|
-
import { a as agentTurnIdempotencyKey, c as enqueueAgentTurn, i as AGENT_TURN_TOPIC, l as isClaimableAgentTurnWorkId, n as getAgentTurnRuntime, o as buildAgentTurnWork } from "./agent-turn-runner-
|
|
6
|
+
import { t as callGateway } from "./call-CrRxRh7U.js";
|
|
7
|
+
import { a as agentTurnIdempotencyKey, c as enqueueAgentTurn, i as AGENT_TURN_TOPIC, l as isClaimableAgentTurnWorkId, n as getAgentTurnRuntime, o as buildAgentTurnWork } from "./agent-turn-runner-D6au_ann.js";
|
|
8
8
|
import { t as redactIdentifier } from "./redact-identifier-Am95JIl0.js";
|
|
9
9
|
import { createHash, randomUUID } from "node:crypto";
|
|
10
10
|
|
|
@@ -604,7 +604,7 @@ function indentUntrustedBody(body) {
|
|
|
604
604
|
}
|
|
605
605
|
function trackNudgeClaimChain(runner, id, sessionKey) {
|
|
606
606
|
const tracked = (async () => {
|
|
607
|
-
const { runMainAgentTurn } = await import("./agent-turn-execute-
|
|
607
|
+
const { runMainAgentTurn } = await import("./agent-turn-execute-VfgfznZ9.js").then((n) => n.t);
|
|
608
608
|
await runner.claimAndExecute({
|
|
609
609
|
workId: id,
|
|
610
610
|
execute: (claim) => runMainAgentTurn(claim.message.payload)
|