@qqbrowser/openclaw-qbot 0.0.128 → 0.0.129
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/account-lookup-CW-_CL7y.js +1 -1
- package/dist/acp-cli-01SGjPGi.js +1 -1
- package/dist/acp-cli-uxN405XG.js +1 -1
- package/dist/active-listener-BZ6loNaF.js +1 -1
- package/dist/active-listener-D8VOdVx3.js +1 -1
- package/dist/active-listener-DB5mhDuO.js +1 -1
- package/dist/active-listener-DeKRt_UV.js +1 -1
- package/dist/agent-scope-DAWJwFfl.js +1 -1
- package/dist/agent-scope-DXZc3eNT.js +1 -1
- package/dist/agents-BMh3ZeoB.js +1 -1
- package/dist/agents.config-B-0lZSmb.js +1 -1
- package/dist/agents.config-BDEN2Eph.js +1 -1
- package/dist/allow-from-B6dI7oz8.js +1 -1
- package/dist/allow-from-DEeVIPKS.js +1 -1
- package/dist/api-BeG0ObSq.js +1 -1
- package/dist/api-Dx8x1KTs.js +1 -1
- package/dist/api-key-rotation-C_MG2y1D.js +1 -1
- package/dist/api-key-rotation-D8WsZ43x.js +1 -1
- package/dist/api-key-rotation-DYYvcqSG.js +1 -1
- package/dist/api-key-rotation-dNu0GxPN.js +1 -1
- package/dist/arg-split-BOqSMBuf.js +1 -1
- package/dist/arg-split-DE5RqDHq.js +1 -1
- package/dist/audio-preflight--K4-eUVY.js +1 -1
- package/dist/audio-preflight-BKIm58PG.js +1 -1
- package/dist/audio-preflight-CAfi10dl.js +1 -1
- package/dist/audio-preflight-Xm0NL5JA.js +1 -1
- package/dist/audio-transcription-runner-BJNP7vB8.js +1 -1
- package/dist/audio-transcription-runner-BUsb6cqv.js +1 -1
- package/dist/audio-transcription-runner-C_31Yoq0.js +1 -1
- package/dist/audio-transcription-runner-CjKLRVPo.js +1 -1
- package/dist/audit-7DFnKINd.js +1 -1
- package/dist/audit-B6LsW3Ai.js +1 -1
- package/dist/audit-membership-runtime-BpRsMj5-.js +1 -1
- package/dist/audit-membership-runtime-BsfLZNBj.js +1 -1
- package/dist/audit-membership-runtime-DRHirRmx.js +1 -1
- package/dist/audit-membership-runtime-g0dEWJTp.js +1 -1
- package/dist/audit-membership-runtime-kdyToskD.js +1 -1
- package/dist/auth-choice-BNd2SNjJ.js +1 -1
- package/dist/auth-choice-C3aUWXx9.js +1 -1
- package/dist/auth-choice-DViEjgMg.js +1 -1
- package/dist/auth-choice-edozMf7r.js +1 -1
- package/dist/auth-choice-options-B3WQyS7I.js +1 -1
- package/dist/auth-choice-options-Dw14noox.js +1 -1
- package/dist/auth-choice-prompt-uegl56cf.js +1 -1
- package/dist/auth-choice-prompt-xYj13czb.js +1 -1
- package/dist/auth-choice.apply-helpers-CNLYnRxx.js +1 -1
- package/dist/auth-choice.apply-helpers-DCe5nTyP.js +1 -1
- package/dist/auth-profiles-BhXA8Jy2.js +1 -1
- package/dist/auth-token-C75IOb_K.js +1 -1
- package/dist/auth-token-CzgZf-ta.js +1 -1
- package/dist/banner-mIDEloRy.js +1 -1
- package/dist/bonjour-discovery-CpvzLjyB.js +1 -1
- package/dist/bonjour-discovery-wsh3Si1Q.js +1 -1
- package/dist/boolean-Ch3DfXPy.js +1 -1
- package/dist/boolean-D15s2V33.js +1 -1
- package/dist/boolean-DypnRoRK.js +1 -1
- package/dist/brew-COcDl8CB.js +1 -1
- package/dist/brew-DDPm_HfE.js +1 -1
- package/dist/browser-cli-BjzNbvF9.js +1 -1
- package/dist/browser-cli-CgHkgtgV.js +1 -1
- package/dist/build-info.json +2 -2
- package/dist/bundled/boot-md/handler.js +1 -1
- package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +1 -1
- package/dist/call-BA3O_Qpl.js +1 -1
- package/dist/call-BQT0zCgv.js +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/channel-account-context-BMPAMZEv.js +1 -1
- package/dist/channel-account-context-DAcarnqW.js +1 -1
- package/dist/channel-activity-B04WbrrK.js +1 -1
- package/dist/channel-activity-BPRCQpI6.js +1 -1
- package/dist/channel-activity-D2VTmenR.js +1 -1
- package/dist/channel-activity-DHY5wAyl.js +1 -1
- package/dist/channel-activity-DYpm-0Cz.js +1 -1
- package/dist/channel-options-BYmHreMn.js +1 -1
- package/dist/channel-options-Cbv7VETu.js +1 -1
- package/dist/channel-selection-Ddyykqxv.js +1 -1
- package/dist/channel-selection-oRONo9z3.js +1 -1
- package/dist/channel-web-CK4RqVCH.js +1 -1
- package/dist/channel-web-Xw89Exy3.js +1 -1
- package/dist/channels/plugins/actions/discord.js +1 -1
- package/dist/channels/plugins/actions/signal.js +1 -1
- package/dist/channels/plugins/actions/telegram.js +1 -1
- package/dist/channels/plugins/agent-tools/whatsapp-login.js +1 -1
- package/dist/channels-cli-D2y5Xk5i.js +1 -1
- package/dist/channels-cli-cwFjBXcP.js +1 -1
- package/dist/channels-status-issues-8eFrGKyf.js +1 -1
- package/dist/channels-status-issues-PRgOT90w.js +1 -1
- package/dist/chat-envelope-Bznn2SoS.js +1 -1
- package/dist/chat-envelope-HVpKusFc.js +1 -1
- package/dist/clack-prompter-DBPdGdqp.js +1 -1
- package/dist/clack-prompter-Dq0aY6iM.js +1 -1
- package/dist/clawbot-cli-BwG1-8A9.js +1 -1
- package/dist/clawbot-cli-CaNu5A0G.js +1 -1
- package/dist/cleanup-utils-BWm70DoD.js +1 -1
- package/dist/cleanup-utils-D-RhEX6F.js +1 -1
- package/dist/cli-CQKA38bc.js +1 -1
- package/dist/cli-i7P4bYBg.js +1 -1
- package/dist/cli-utils-BY7dLMFy.js +1 -1
- package/dist/cli-utils-BleB1eys.js +1 -1
- package/dist/clipboard-Bk8cviBt.js +1 -1
- package/dist/clipboard-CKT_VIkG.js +1 -1
- package/dist/cmd-argv-BBT5l8AV.js +1 -1
- package/dist/cmd-argv-Bh-KpaZ0.js +1 -1
- package/dist/command-format-BbDT1tlm.js +1 -1
- package/dist/command-format-CLxIPuLR.js +1 -1
- package/dist/command-options-BpOUDl2S.js +1 -1
- package/dist/command-options-Bq5nQxz6.js +1 -1
- package/dist/command-poll-backoff-BZLHYB2k.js +1 -1
- package/dist/command-poll-backoff-Cww_r-24.js +1 -1
- package/dist/command-poll-backoff-Df6cOQrX.js +1 -1
- package/dist/command-poll-backoff-endAPdwn.js +1 -1
- package/dist/command-registry-BYk36N_R.js +1 -1
- package/dist/command-secret-targets-BBTiqQKa.js +1 -1
- package/dist/command-secret-targets-KM3OecbM.js +1 -1
- package/dist/commands-CGpM84iR.js +1 -1
- package/dist/commands-Dy7duWlt.js +1 -1
- package/dist/commands-registry-B3FI6TSl.js +1 -1
- package/dist/commands-registry-CxDVU5s9.js +1 -1
- package/dist/commands-registry-Dn2uuNuy.js +1 -1
- package/dist/commands-registry-Du79fdAL.js +1 -1
- package/dist/compact-CuBCVnVS.js +1 -1
- package/dist/completion-cli-CRNTbZlR.js +1 -1
- package/dist/completion-cli-DbGDCoiM.js +1 -1
- package/dist/config-BqW5S1xL.js +1 -1
- package/dist/config-DAQjvwZw.js +1 -1
- package/dist/config-cli-D_coAWd9.js +1 -1
- package/dist/config-cli-EKXoNzLf.js +1 -1
- package/dist/config-guard-U0wlYLUN.js +1 -1
- package/dist/config-guard-XayIkveC.js +1 -1
- package/dist/config-validation-B0nN9egx.js +1 -1
- package/dist/config-validation-CAHnpjrk.js +1 -1
- package/dist/configure-DNnQRKy8.js +1 -1
- package/dist/configure-NCNskZPe.js +1 -1
- package/dist/connection-auth-BcPbGyxw.js +1 -1
- package/dist/connection-auth-DZ-3Svr_.js +1 -1
- package/dist/context-window-guard-7crlatf9.js +1 -1
- package/dist/context-window-guard-CPChk363.js +1 -1
- package/dist/control-ui/apple-touch-icon.png +0 -0
- package/dist/control-ui/assets/de-DuUYLvt1.js +1 -0
- package/dist/control-ui/assets/es-DHtyqUQZ.js +1 -0
- package/dist/control-ui/assets/index-CYbiPp9k.js +8383 -0
- package/dist/control-ui/assets/index-C_GaJ8wS.css +1 -0
- package/dist/control-ui/assets/pt-BR-D2dJb9G8.js +1 -0
- package/dist/control-ui/assets/zh-CN-BgJ8_lE3.js +1 -0
- package/dist/control-ui/assets/zh-TW-cW5xB87I.js +1 -0
- package/dist/control-ui/favicon-32.png +0 -0
- package/dist/control-ui/favicon.ico +0 -0
- package/dist/control-ui/favicon.svg +22 -0
- package/dist/control-ui/index.html +17 -0
- package/dist/control-ui-assets-BIa0GGDg.js +1 -1
- package/dist/control-ui-assets-CTHGGgaX.js +1 -1
- package/dist/cron-cli-Cro66JtU.js +1 -1
- package/dist/cron-cli-DIeBukvk.js +1 -1
- package/dist/daemon-cli-Cw_fxNgE.js +1 -1
- package/dist/daemon-cli-DQsKS3pT.js +1 -1
- package/dist/daemon-cli.js +1 -1
- package/dist/daemon-install-C_DmJEkV.js +1 -1
- package/dist/daemon-install-D1DacLbM.js +1 -1
- package/dist/daemon-install-plan.shared-BSDdwWjB.js +1 -1
- package/dist/daemon-install-plan.shared-Dx3DBXCG.js +1 -1
- package/dist/daemon-runtime-DHiDbRuC.js +1 -1
- package/dist/daemon-runtime-VcpeBRJV.js +1 -1
- package/dist/dangerous-name-matching-BOmvAibz.js +1 -1
- package/dist/dangerous-name-matching-DtllRqBD.js +1 -1
- package/dist/dangerous-tools-CFRYQJ6V.js +1 -1
- package/dist/dangerous-tools-oYCu5wfC.js +1 -1
- package/dist/deliver-2c-EsQ_W.js +1 -1
- package/dist/deliver-BudDnEIb.js +1 -1
- package/dist/deliver-COKdxPmA.js +1 -1
- package/dist/deliver-DHP2vHKB.js +1 -1
- package/dist/delivery-queue-CKbauSFq.js +1 -1
- package/dist/delivery-queue-nkPJu0fY.js +1 -1
- package/dist/device-pairing-4eDo43Kk.js +1 -1
- package/dist/device-pairing-B7ZXiXp3.js +1 -1
- package/dist/devices-cli-BXUIb_UN.js +1 -1
- package/dist/devices-cli-D7PkbnHO.js +1 -1
- package/dist/diagnostic-Bzd5vlKH.js +1 -1
- package/dist/diagnostic-CFmHdXHP.js +1 -1
- package/dist/diagnostic-CW_Jv5UM.js +1 -1
- package/dist/diagnostic-Dza7-pMC.js +1 -1
- package/dist/diagnostics-BgbeL9KE.js +1 -1
- package/dist/diagnostics-Cdctg9K_.js +1 -1
- package/dist/directory-cli-CxeuNJcC.js +1 -1
- package/dist/directory-cli-DFlYCB5L.js +1 -1
- package/dist/dns-cli-BDbHznhi.js +1 -1
- package/dist/dns-cli-OuwliJ60.js +1 -1
- package/dist/docs-cli-Cdw9Iz9a.js +1 -1
- package/dist/docs-cli-ClD2UyX1.js +1 -1
- package/dist/doctor-completion-BSOX-LSq.js +1 -1
- package/dist/doctor-completion-DXqdpdlo.js +1 -1
- package/dist/doctor-config-flow-DHB8N7tT.js +1 -1
- package/dist/doctor-config-flow-MjfHBDlw.js +1 -1
- package/dist/enable-DVuqWT2a.js +1 -1
- package/dist/enable-DWaSH1HY.js +1 -1
- package/dist/entry-status-CCwwKO43.js +1 -1
- package/dist/entry-status-CoXkbJcX.js +1 -1
- package/dist/entry.js +1 -1
- package/dist/env-D7wNuBx1.js +1 -1
- package/dist/env-overrides-DHtB4kK3.js +1 -1
- package/dist/env-overrides-DXJbFrwI.js +1 -1
- package/dist/errors-6SQWM9dj.js +1 -1
- package/dist/errors-Bunti32V.js +1 -1
- package/dist/exec-B3eleY5O.js +1 -1
- package/dist/exec-DHqLtFYt.js +1 -1
- package/dist/exec-approvals-BXO9Cezj.js +1 -1
- package/dist/exec-approvals-BpBNEy6i.js +1 -1
- package/dist/exec-approvals-allowlist-BKFaHvA5.js +1 -1
- package/dist/exec-approvals-allowlist-DBh9Pm77.js +1 -1
- package/dist/exec-approvals-cli-0neCwpk-.js +1 -1
- package/dist/exec-approvals-cli-BuHSw09B.js +1 -1
- package/dist/exec-safe-bin-runtime-policy-Ck3GO5AB.js +1 -1
- package/dist/exec-safe-bin-runtime-policy-D2WexijZ.js +1 -1
- package/dist/fetch-BI3CnKE3.js +1 -1
- package/dist/fetch-BJT3BrkJ.js +1 -1
- package/dist/fetch-Bn0mWg6a.js +1 -1
- package/dist/fetch-CY5G3PDq.js +1 -1
- package/dist/fetch-Ce-scEU-.js +1 -1
- package/dist/fetch-D0rZDHKO.js +1 -1
- package/dist/fetch-DHo17YmK.js +1 -1
- package/dist/fetch-Dh-apy46.js +1 -1
- package/dist/fetch-Dikjvc5M.js +1 -1
- package/dist/fetch-DsjPfQlp.js +1 -1
- package/dist/fetch-_g8lZ8K8.js +1 -1
- package/dist/fetch-guard-BaRbr_V6.js +1 -1
- package/dist/fetch-guard-BmNIhXP-.js +1 -1
- package/dist/fetch-guard-ChVqc0HF.js +1 -1
- package/dist/fetch-guard-Cji70DJW.js +1 -1
- package/dist/fetch-hy0JKSsm.js +1 -1
- package/dist/fetch-timeout-CdYxWG9w.js +1 -1
- package/dist/fetch-timeout-Cj8_oAls.js +1 -1
- package/dist/fetch-timeout-DoOI_izT.js +1 -1
- package/dist/fetch-timeout-u8g99Ax0.js +1 -1
- package/dist/fetch-xT2jRpqs.js +1 -1
- package/dist/format-Bn1bwJKX.js +1 -1
- package/dist/format-Ce7I7s-k.js +1 -1
- package/dist/format-duration-C8AzNqKh.js +1 -1
- package/dist/format-duration-D5AMtmHa.js +1 -1
- package/dist/format-relative-B9pSIdGe.js +1 -1
- package/dist/format-relative-DkMjYy7z.js +1 -1
- package/dist/frontmatter-BkZkwkVO.js +1 -1
- package/dist/frontmatter-C7mzDNxd.js +1 -1
- package/dist/frontmatter-CzpfPBFl.js +1 -1
- package/dist/gateway-cli-Bj-BYgGN.js +1 -1
- package/dist/gateway-cli-DP65otLl.js +1 -1
- package/dist/gateway-install-token-BIqlEgy0.js +1 -1
- package/dist/gateway-install-token-CtUJl3A3.js +1 -1
- package/dist/gateway-rpc-DJHjmEZz.js +1 -1
- package/dist/gateway-rpc-XRAMeV67.js +1 -1
- package/dist/github-copilot-token-C79yeDKS.js +1 -1
- package/dist/github-copilot-token-DGYAlOmV.js +1 -1
- package/dist/github-copilot-token-DePP-lIf.js +1 -1
- package/dist/github-copilot-token-wm6mbypz.js +1 -1
- package/dist/gmail-setup-utils-CYOH3zzx.js +1 -1
- package/dist/gmail-setup-utils-S-MyEGuj.js +1 -1
- package/dist/group-access-BHKVOhrj.js +1 -1
- package/dist/group-access-D2DOYMfr.js +1 -1
- package/dist/health-Bedsiigi.js +1 -1
- package/dist/health-Cy_CvKbX.js +1 -1
- package/dist/health-format-B1nj3Wfn.js +1 -1
- package/dist/health-format-VBr6LEpt.js +1 -1
- package/dist/heartbeat-visibility-BQ_esv2m.js +1 -1
- package/dist/heartbeat-visibility-q74UdY8O.js +1 -1
- package/dist/help-format-B4aEI7V9.js +1 -1
- package/dist/help-format-BRbF_INg.js +1 -1
- package/dist/helpers-COz1ghcB.js +1 -1
- package/dist/helpers-Cp8gcO6u.js +1 -1
- package/dist/hooks-cli-DrnH2iDk.js +1 -1
- package/dist/hooks-cli-DvfZKyZl.js +1 -1
- package/dist/hooks-status-BHt-Xvh4.js +1 -1
- package/dist/hooks-status-CRJ4J0ZW.js +1 -1
- package/dist/image-BJC11A7e.js +1 -1
- package/dist/image-BKPxWO_2.js +1 -1
- package/dist/image-Ba-mOMMV.js +1 -1
- package/dist/image-D-R3N1it.js +1 -1
- package/dist/index.js +1 -1
- package/dist/inspect-BKV-I1UE.js +1 -1
- package/dist/inspect-z59cgmYc.js +1 -1
- package/dist/install-safe-path-C6kc_8NW.js +1 -1
- package/dist/install-safe-path-iesxijn2.js +1 -1
- package/dist/installs-BNeI_oML.js +1 -1
- package/dist/installs-C1xQLuby.js +1 -1
- package/dist/ipv4-BXZDlz5C.js +1 -1
- package/dist/ipv4-BnPLbv6y.js +1 -1
- package/dist/ir-BYCrFFZ9.js +1 -1
- package/dist/ir-CH7YvSi9.js +1 -1
- package/dist/ir-CSysIkNU.js +1 -1
- package/dist/ir-CZdZsdnI.js +1 -1
- package/dist/is-main-DG5ueqhF.js +1 -1
- package/dist/issue-format-CpTuk_rQ.js +1 -1
- package/dist/issue-format-kj7FXHhi.js +1 -1
- package/dist/kill-tree-DBJW8_Q-.js +1 -1
- package/dist/lifecycle-core-B72WHNHV.js +1 -1
- package/dist/lifecycle-core-dhkH_Nux.js +1 -1
- package/dist/line/accounts.js +1 -1
- package/dist/line/send.js +1 -1
- package/dist/line/template-messages.js +1 -1
- package/dist/links-CBnmRP9D.js +1 -1
- package/dist/links-CySwdMcF.js +1 -1
- package/dist/llm-slug-generator.js +1 -1
- package/dist/load-options-BsOW74dp.js +1 -1
- package/dist/load-options-C7dLuybp.js +1 -1
- package/dist/load-options-DV4j6Aqb.js +1 -1
- package/dist/load-options-Dwt0CeEg.js +1 -1
- package/dist/local-roots-Dxioh0C2.js +1 -1
- package/dist/logger-5W0OocJW.js +1 -1
- package/dist/logger-Bl8URnrW.js +1 -1
- package/dist/logger-DwWqfo66.js +1 -1
- package/dist/logger-kQAOe3qp.js +1 -1
- package/dist/logging-Dz4Qg6th.js +1 -1
- package/dist/logging-KiJmOmw4.js +1 -1
- package/dist/login-BMZxDYaU.js +1 -1
- package/dist/login-BdzP8F8J.js +1 -1
- package/dist/login-BzU0cMck.js +1 -1
- package/dist/login-Cb1A6qwM.js +1 -1
- package/dist/login-qr-BgsmAwKm.js +1 -1
- package/dist/login-qr-Bux8gWTO.js +1 -1
- package/dist/login-qr-COr_25Hx.js +1 -1
- package/dist/login-qr-CxBPOOAK.js +1 -1
- package/dist/login-qr-DnQm7bM4.js +1 -1
- package/dist/logs-cli-BM2XCmrH.js +1 -1
- package/dist/logs-cli-HKhyxaUs.js +1 -1
- package/dist/manager-B6zZuJEB.js +1 -1
- package/dist/manager-BwrZfep3.js +1 -1
- package/dist/manager-C5SBozw4.js +1 -1
- package/dist/manager-CjihRbGa.js +1 -1
- package/dist/memory-cli-CnruTL1h.js +1 -1
- package/dist/memory-cli-DHvscp7X.js +1 -1
- package/dist/model-catalog-BLdaFmIo.js +1 -1
- package/dist/model-catalog-vNCcsy4h.js +1 -1
- package/dist/model-param-b-B0r2cPDw.js +1 -1
- package/dist/model-param-b-BqIr5rY5.js +1 -1
- package/dist/model-picker-BaeW3tiV.js +1 -1
- package/dist/model-picker-DN0czUYS.js +1 -1
- package/dist/model-selection-C2QwHmXT.js +1 -1
- package/dist/model-selection-I1ctjFOB.js +1 -1
- package/dist/model-selection-qkByRv5A.js +1 -1
- package/dist/models-UTdl0vXO.js +1 -1
- package/dist/models-cli-QRONP7EL.js +1 -1
- package/dist/models-cli-vRoB_gfX.js +1 -1
- package/dist/models-config-CWIlroKT.js +1 -1
- package/dist/models-config-DN2Q51fC.js +1 -1
- package/dist/mutable-allowlist-detectors-C4rNVag8.js +1 -1
- package/dist/mutable-allowlist-detectors-CL0qe54J.js +1 -1
- package/dist/node-cli-2-E4-83G.js +1 -1
- package/dist/node-cli-DUI7Zctj.js +1 -1
- package/dist/node-command-policy-Bbmnc16l.js +1 -1
- package/dist/node-command-policy-DgkwfoCs.js +1 -1
- package/dist/node-commands-8GBOiktk.js +1 -1
- package/dist/node-commands-DdkziOTx.js +1 -1
- package/dist/node-resolve-B3BJbmQX.js +1 -1
- package/dist/node-resolve-DLZf3-1V.js +1 -1
- package/dist/node-service-BRfrNp8l.js +1 -1
- package/dist/node-service-C0bl7jcZ.js +1 -1
- package/dist/node-shell-dXp4vk-i.js +1 -1
- package/dist/nodes-cli-DU13-dCL.js +1 -1
- package/dist/nodes-cli-rPeIRj_f.js +1 -1
- package/dist/nodes-screen-C7-5RrbN.js +1 -1
- package/dist/note-D4GAwgha.js +1 -1
- package/dist/note-Dp-d_utk.js +1 -1
- package/dist/npm-pack-install-B23L-AtF.js +1 -1
- package/dist/npm-pack-install-C0te3Oap.js +1 -1
- package/dist/npm-resolution-BCXCw93f.js +1 -1
- package/dist/npm-resolution-Cmm82lui.js +1 -1
- package/dist/oauth-env-DAamJ1oz.js +1 -1
- package/dist/oauth-env-DSLBTWb1.js +1 -1
- package/dist/oauth-tls-preflight-BSBRDIfC.js +1 -1
- package/dist/oauth-tls-preflight-ByNjbUR5.js +1 -1
- package/dist/ollama-setup-CKt3tF-S.js +1 -1
- package/dist/ollama-setup-I8lghdX1.js +1 -1
- package/dist/onboard-B3WSjKCu.js +1 -1
- package/dist/onboard-C65vdb94.js +1 -1
- package/dist/onboard-channels-9CmG3Jgn.js +1 -1
- package/dist/onboard-channels-CV1AK9jY.js +1 -1
- package/dist/onboard-config-B7U20YRw.js +1 -1
- package/dist/onboard-config-DS9dUv8M.js +1 -1
- package/dist/onboard-custom-CwHYUB0T.js +1 -1
- package/dist/onboard-custom-uwufXtQf.js +1 -1
- package/dist/onboard-helpers-CGJLUoxR.js +1 -1
- package/dist/onboard-helpers-DbpWQoiB.js +1 -1
- package/dist/onboard-hooks-CERzXObm.js +1 -1
- package/dist/onboard-hooks-gQ3sxBNi.js +1 -1
- package/dist/onboard-provider-auth-flags-CqbipO7D.js +1 -1
- package/dist/onboard-provider-auth-flags-Dvwzdz37.js +1 -1
- package/dist/onboard-remote-BeDZ_gbH.js +1 -1
- package/dist/onboard-remote-KTUx-3G1.js +1 -1
- package/dist/onboard-search-f2tJD4hg.js +1 -1
- package/dist/onboard-search-fslKKhyg.js +1 -1
- package/dist/onboard-skills-BoS_oVdm.js +1 -1
- package/dist/onboard-skills-C4omGWoD.js +1 -1
- package/dist/onboarding-B8icigkk.js +1 -1
- package/dist/onboarding-BJRqNsZ8.js +1 -1
- package/dist/onboarding.finalize-D0qISqn-.js +1 -1
- package/dist/onboarding.finalize-Ds9NwPBL.js +1 -1
- package/dist/onboarding.gateway-config-F8n_QFUR.js +1 -1
- package/dist/onboarding.gateway-config-eno73eHw.js +1 -1
- package/dist/onboarding.secret-input-B6fzeucQ.js +1 -1
- package/dist/onboarding.secret-input-CBuD3c32.js +1 -1
- package/dist/openai-codex-model-default-Df2T3foI.js +1 -1
- package/dist/openai-codex-model-default-DtIeKJm0.js +1 -1
- package/dist/openai-model-default-DIE55yBt.js +1 -1
- package/dist/openai-model-default-sqvWk4kB.js +1 -1
- package/dist/openclaw-exec-env-BWbOu_YC.js +1 -1
- package/dist/openclaw-root-CnsBf6ZU.js +1 -1
- package/dist/openclaw-root-D_0Q6--h.js +1 -1
- package/dist/outbound-B88MLJN3.js +1 -1
- package/dist/outbound-C-4qToKv.js +1 -1
- package/dist/outbound-CSk4oF0g.js +1 -1
- package/dist/outbound-DKMI_4xm.js +1 -1
- package/dist/outbound-attachment-BOax42-M.js +1 -1
- package/dist/outbound-attachment-DBNxdLYh.js +1 -1
- package/dist/outbound-attachment-DVjJQ3V6.js +1 -1
- package/dist/outbound-attachment-aZWcoZ-N.js +1 -1
- package/dist/pairing-cli-Cby6Ww8F.js +1 -1
- package/dist/pairing-cli-DiJb_a0V.js +1 -1
- package/dist/pairing-labels-BP1h0iHy.js +1 -1
- package/dist/pairing-labels-ryOnuOFA.js +1 -1
- package/dist/pairing-store-Bv4KSELv.js +1 -1
- package/dist/pairing-store-CjTPxq0X.js +1 -1
- package/dist/pairing-token-CKX1ds78.js +1 -1
- package/dist/pairing-token-CX0SUJsB.js +1 -1
- package/dist/parse-duration-XTjMKl8s.js +1 -1
- package/dist/parse-finite-number-DqzUM-_s.js +1 -1
- package/dist/parse-finite-number-dBmDLLKL.js +1 -1
- package/dist/parse-log-line-CsYLg7Qu.js +1 -1
- package/dist/parse-log-line-NV-cipB_.js +1 -1
- package/dist/parse-port-Bv1Y9Wk5.js +1 -1
- package/dist/parse-port-JVwkxcZ8.js +1 -1
- package/dist/parse-timeout-DWSGfCkQ.js +1 -1
- package/dist/parse-timeout-Dx4QnVzo.js +1 -1
- package/dist/path-alias-guards-kY_ZbWs-.js +1 -1
- package/dist/path-alias-guards-mvyLCPlN.js +1 -1
- package/dist/path-env-BPd1Yd-i.js +1 -1
- package/dist/path-env-emdAQejM.js +1 -1
- package/dist/path-safety-BukYK8Kd.js +1 -1
- package/dist/path-safety-DaaMJFdt.js +1 -1
- package/dist/paths-B4IRk3wi.js +1 -1
- package/dist/paths-BfjJY2VL.js +1 -1
- package/dist/paths-BjD3T_xq.js +1 -1
- package/dist/paths-BpQOWYiT.js +1 -1
- package/dist/paths-CChBdtE8.js +1 -1
- package/dist/paths-CrCoPIVK.js +1 -1
- package/dist/paths-piJASC5k.js +1 -1
- package/dist/paths-yLEk_25I.js +1 -1
- package/dist/pi-embedded-ZEWNj7P5.js +1 -1
- package/dist/pi-embedded-bqE4EmdD.js +1 -1
- package/dist/pi-model-discovery-6myCPEJE.js +1 -1
- package/dist/pi-model-discovery-AiV9h8k6.js +1 -1
- package/dist/pi-model-discovery-BzqdozHB.js +1 -1
- package/dist/pi-model-discovery-C8YBu6D4.js +1 -1
- package/dist/pi-tools.before-tool-call.runtime-CPAJMO7J.js +1 -1
- package/dist/pi-tools.before-tool-call.runtime-CYmLHod0.js +1 -1
- package/dist/pi-tools.before-tool-call.runtime-CfVqI0Ng.js +1 -1
- package/dist/pi-tools.before-tool-call.runtime-D9FlPJ_v.js +1 -1
- package/dist/pi-tools.policy-CeSKHaKa.js +1 -1
- package/dist/plugin-auto-enable-Cp7L8ko8.js +1 -1
- package/dist/plugin-auto-enable-DCOxqfDQ.js +1 -1
- package/dist/plugin-install-plan-BobX0y9S.js +1 -1
- package/dist/plugin-install-plan-NvDGp0d8.js +1 -1
- package/dist/plugin-registry-Fg000e4I.js +1 -1
- package/dist/plugin-registry-fm5tDUbE.js +1 -1
- package/dist/plugin-sdk/account-id.cjs +1 -1
- package/dist/plugin-sdk/account-id.js +1 -1
- package/dist/plugin-sdk/acpx.cjs +1 -1
- package/dist/plugin-sdk/acpx.js +1 -1
- package/dist/plugin-sdk/active-listener-BFeaYGID.js +1 -1
- package/dist/plugin-sdk/active-listener-BszCM2Au.cjs +1 -1
- package/dist/plugin-sdk/active-listener-CIcleJgU.cjs +1 -1
- package/dist/plugin-sdk/active-listener-Cqgd7xVh.cjs +1 -1
- package/dist/plugin-sdk/active-listener-D578zEtk.cjs +1 -1
- package/dist/plugin-sdk/active-listener-D6gGPLq-.js +1 -1
- package/dist/plugin-sdk/active-listener-DKSZRn4x.cjs +1 -1
- package/dist/plugin-sdk/active-listener-DNO10F1L.js +1 -1
- package/dist/plugin-sdk/active-listener-DQq07Aar.js +1 -1
- package/dist/plugin-sdk/active-listener-Dle_kYqb.js +1 -1
- package/dist/plugin-sdk/active-listener-DmJcHkMC.js +1 -1
- package/dist/plugin-sdk/active-listener-UmFpcYFY.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-39TRXDEA.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-7qlqJ_ou.js +1 -1
- package/dist/plugin-sdk/api-key-rotation-BY7fLi9z.js +1 -1
- package/dist/plugin-sdk/api-key-rotation-CF9_CKS-.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-CWylhFOt.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-ClZmonv2.js +1 -1
- package/dist/plugin-sdk/api-key-rotation-CmesQWXP.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-Cs6II2__.js +1 -1
- package/dist/plugin-sdk/api-key-rotation-CxaiMcI1.js +1 -1
- package/dist/plugin-sdk/api-key-rotation-D5cfmg7E.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-DkP7KnSm.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-mDqgBFMG.js +1 -1
- package/dist/plugin-sdk/audio-preflight-B-HrF5Oc.js +1 -1
- package/dist/plugin-sdk/audio-preflight-B2MGeSoT.js +1 -1
- package/dist/plugin-sdk/audio-preflight-BVjiz_Qk.cjs +1 -1
- package/dist/plugin-sdk/audio-preflight-Behqe7F3.cjs +1 -1
- package/dist/plugin-sdk/audio-preflight-C0ncOCbK.cjs +1 -1
- package/dist/plugin-sdk/audio-preflight-C1o1n-KK.js +1 -1
- package/dist/plugin-sdk/audio-preflight-CzLYTZ5P.cjs +1 -1
- package/dist/plugin-sdk/audio-preflight-DDiBwIB9.js +1 -1
- package/dist/plugin-sdk/audio-preflight-DQyh-XSn.cjs +1 -1
- package/dist/plugin-sdk/audio-preflight-WH9WDR81.cjs +1 -1
- package/dist/plugin-sdk/audio-preflight-ZPLO3G1S.js +1 -1
- package/dist/plugin-sdk/audio-preflight-s3BAID12.js +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-2-ZQ5Md-.cjs +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-BO7T_SzP.cjs +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-CRYJlAeP.js +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-CmW24oVR.js +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-CmYuWS0_.cjs +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-CslXJs5c.js +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-DE1tKTQV.cjs +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-DZR84B28.js +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-DoR-NOcV.cjs +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-IE4olXkd.cjs +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-YiDQM_Rb.js +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-kAVM4YFR.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-7LqcvqFo.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-BQFUzFc0.cjs +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-BYtdDX9G.cjs +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-BzEtBUX6.cjs +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-CBUmGrl4.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-ChlVgt2y.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-DLRX7LR0.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-DbJW5X3L.cjs +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-Du9LAxDa.cjs +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-DylNnj1m.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-voi5sPwF.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-yWYvSpgZ.cjs +1 -1
- package/dist/plugin-sdk/bluebubbles.cjs +1 -1
- package/dist/plugin-sdk/bluebubbles.js +1 -1
- package/dist/plugin-sdk/channel-activity-Bed876M5.js +1 -1
- package/dist/plugin-sdk/channel-activity-Bu8tAmGa.cjs +1 -1
- package/dist/plugin-sdk/channel-activity-C01Im_o1.js +1 -1
- package/dist/plugin-sdk/channel-activity-CIycjzUC.js +1 -1
- package/dist/plugin-sdk/channel-activity-Cdkn3O_i.js +1 -1
- package/dist/plugin-sdk/channel-activity-Cia2G3v5.js +1 -1
- package/dist/plugin-sdk/channel-activity-D6d2wU8H.cjs +1 -1
- package/dist/plugin-sdk/channel-activity-DNv7JLBx.cjs +1 -1
- package/dist/plugin-sdk/channel-activity-Df3DfYyZ.cjs +1 -1
- package/dist/plugin-sdk/channel-activity-Rut-HCfT.cjs +1 -1
- package/dist/plugin-sdk/channel-activity-mffNSQrX.cjs +1 -1
- package/dist/plugin-sdk/channel-activity-qjwFifkE.js +1 -1
- package/dist/plugin-sdk/channel-web-Ces_xx2T.js +1 -1
- package/dist/plugin-sdk/channel-web-CsmEnYD8.cjs +1 -1
- package/dist/plugin-sdk/channel-web-DtzNv49H.cjs +1 -1
- package/dist/plugin-sdk/channel-web-VEZVrMYU.js +1 -1
- package/dist/plugin-sdk/command-poll-backoff-4910Mpwp.js +1 -1
- package/dist/plugin-sdk/command-poll-backoff-BLJZzV5W.cjs +1 -1
- package/dist/plugin-sdk/command-poll-backoff-CUNcN0dv.cjs +1 -1
- package/dist/plugin-sdk/command-poll-backoff-Cww_r-24.js +1 -1
- package/dist/plugin-sdk/command-poll-backoff-D0lJhquZ.js +1 -1
- package/dist/plugin-sdk/command-poll-backoff-Glwt3wHa.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-33H8WYTk.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-BGdm1KdC.js +1 -1
- package/dist/plugin-sdk/commands-registry-BgV9i-bj.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-BifdCfty.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-CJLBIIIp.js +1 -1
- package/dist/plugin-sdk/commands-registry-CWK9ARbc.js +1 -1
- package/dist/plugin-sdk/commands-registry-CfVD1h8L.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-CpG4pxrA.js +1 -1
- package/dist/plugin-sdk/commands-registry-D-AnIQWz.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-DBI4cPqT.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-DOBe9cWq.js +1 -1
- package/dist/plugin-sdk/commands-registry-DqemUyiv.js +1 -1
- package/dist/plugin-sdk/common-CEe87dmX.js +1 -1
- package/dist/plugin-sdk/common-CjMKHm2Z.cjs +1 -1
- package/dist/plugin-sdk/compat.cjs +1 -1
- package/dist/plugin-sdk/compat.js +1 -1
- package/dist/plugin-sdk/config-DT_csBcZ.cjs +1 -1
- package/dist/plugin-sdk/config-LR8GH3Ws.js +1 -1
- package/dist/plugin-sdk/copilot-proxy.cjs +1 -1
- package/dist/plugin-sdk/copilot-proxy.js +1 -1
- package/dist/plugin-sdk/core.cjs +1 -1
- package/dist/plugin-sdk/core.js +1 -1
- package/dist/plugin-sdk/deliver-AORlkcbD.cjs +1 -1
- package/dist/plugin-sdk/deliver-BiBFW5fm.cjs +1 -1
- package/dist/plugin-sdk/deliver-BpqEPwLO.cjs +1 -1
- package/dist/plugin-sdk/deliver-BvC6aUKM.js +1 -1
- package/dist/plugin-sdk/deliver-CT0AIuK1.cjs +1 -1
- package/dist/plugin-sdk/deliver-CmddcjtG.cjs +1 -1
- package/dist/plugin-sdk/deliver-DFz5N1Eh.js +1 -1
- package/dist/plugin-sdk/deliver-DcJWpoqf.cjs +1 -1
- package/dist/plugin-sdk/deliver-ILim6ANU.js +1 -1
- package/dist/plugin-sdk/deliver-QgxW9IxV.js +1 -1
- package/dist/plugin-sdk/deliver-cT-Q8v0h.js +1 -1
- package/dist/plugin-sdk/deliver-cu_NQTmb.js +1 -1
- package/dist/plugin-sdk/device-pair.cjs +1 -1
- package/dist/plugin-sdk/device-pair.js +1 -1
- package/dist/plugin-sdk/diagnostic-BCyE1aYH.cjs +1 -1
- package/dist/plugin-sdk/diagnostic-BFea3l_a.js +1 -1
- package/dist/plugin-sdk/diagnostic-BvR96WdC.js +1 -1
- package/dist/plugin-sdk/diagnostic-C0xDsk89.cjs +1 -1
- package/dist/plugin-sdk/diagnostic-CEPhLgsW.cjs +1 -1
- package/dist/plugin-sdk/diagnostic-CbLwUqTE.cjs +1 -1
- package/dist/plugin-sdk/diagnostic-CbfxoqI_.cjs +1 -1
- package/dist/plugin-sdk/diagnostic-DDwUPG1m.js +1 -1
- package/dist/plugin-sdk/diagnostic-DS_mKKOu.js +1 -1
- package/dist/plugin-sdk/diagnostic-DYpehqHU.cjs +1 -1
- package/dist/plugin-sdk/diagnostic-DkncnZ3G.js +1 -1
- package/dist/plugin-sdk/diagnostic-Dz8HPEDe.js +1 -1
- package/dist/plugin-sdk/diagnostics-otel.cjs +1 -1
- package/dist/plugin-sdk/diagnostics-otel.js +1 -1
- package/dist/plugin-sdk/diffs.cjs +1 -1
- package/dist/plugin-sdk/diffs.js +1 -1
- package/dist/plugin-sdk/discord.cjs +1 -1
- package/dist/plugin-sdk/discord.js +1 -1
- package/dist/plugin-sdk/dispatch-6m3206FH.js +1 -1
- package/dist/plugin-sdk/dispatch-BYZNaz0n.cjs +1 -1
- package/dist/plugin-sdk/dispatch-BahZCe-D.js +1 -1
- package/dist/plugin-sdk/dispatch-Bi3yeWxb.cjs +1 -1
- package/dist/plugin-sdk/dispatch-BjB_TqWy.cjs +1 -1
- package/dist/plugin-sdk/dispatch-CNR186B3.js +1 -1
- package/dist/plugin-sdk/dispatch-CStT30wi.cjs +1 -1
- package/dist/plugin-sdk/dispatch-CdZAW9dg.cjs +1 -1
- package/dist/plugin-sdk/dispatch-Ewg2Jgw9.js +1 -1
- package/dist/plugin-sdk/dispatch-HRTsdeCV.js +1 -1
- package/dist/plugin-sdk/feishu.cjs +1 -1
- package/dist/plugin-sdk/feishu.js +1 -1
- package/dist/plugin-sdk/fetch-7Iq9POda.js +1 -1
- package/dist/plugin-sdk/fetch-B1GR6-u4.js +1 -1
- package/dist/plugin-sdk/fetch-B27H-XCf.js +1 -1
- package/dist/plugin-sdk/fetch-BMYDLRWo.js +1 -1
- package/dist/plugin-sdk/fetch-BN9y3kTg.cjs +1 -1
- package/dist/plugin-sdk/fetch-BVEVk5YF.js +1 -1
- package/dist/plugin-sdk/fetch-BY6lVRlY.cjs +1 -1
- package/dist/plugin-sdk/fetch-Bi8krAaT.cjs +1 -1
- package/dist/plugin-sdk/fetch-BjXhwqrE.cjs +1 -1
- package/dist/plugin-sdk/fetch-BtZY623f.js +1 -1
- package/dist/plugin-sdk/fetch-C-HRWp5R.js +1 -1
- package/dist/plugin-sdk/fetch-C3LEMysf.js +1 -1
- package/dist/plugin-sdk/fetch-CCLWsYaQ.js +1 -1
- package/dist/plugin-sdk/fetch-CZewCAvu.cjs +1 -1
- package/dist/plugin-sdk/fetch-ClKErpni.cjs +1 -1
- package/dist/plugin-sdk/fetch-DBRI0sKI.js +1 -1
- package/dist/plugin-sdk/fetch-DQxuOB8o.cjs +1 -1
- package/dist/plugin-sdk/fetch-DUMEaqum.cjs +1 -1
- package/dist/plugin-sdk/fetch-DpwR_cJU.cjs +1 -1
- package/dist/plugin-sdk/fetch-J0IzopiJ.js +1 -1
- package/dist/plugin-sdk/fetch-guard-D8TdhTHU.js +1 -1
- package/dist/plugin-sdk/fetch-guard-DC_pFJEy.js +1 -1
- package/dist/plugin-sdk/fetch-guard-DDkd30BG.js +1 -1
- package/dist/plugin-sdk/fetch-guard-DELiFG5g.js +1 -1
- package/dist/plugin-sdk/fetch-guard-DIYjBRpq.cjs +1 -1
- package/dist/plugin-sdk/fetch-guard-DPVfELS7.js +1 -1
- package/dist/plugin-sdk/fetch-guard-Dpz6CnJY.cjs +1 -1
- package/dist/plugin-sdk/fetch-guard-DqNKwgHP.cjs +1 -1
- package/dist/plugin-sdk/fetch-guard-DqTxZ3G8.cjs +1 -1
- package/dist/plugin-sdk/fetch-guard-EoAitPe9.cjs +1 -1
- package/dist/plugin-sdk/fetch-guard-qfU6iTvp.js +1 -1
- package/dist/plugin-sdk/fetch-guard-u2Dt6P9i.cjs +1 -1
- package/dist/plugin-sdk/fetch-lw-aF17e.cjs +1 -1
- package/dist/plugin-sdk/fetch-timeout-6oZsqWxA.js +1 -1
- package/dist/plugin-sdk/fetch-timeout-BygUD0rd.cjs +1 -1
- package/dist/plugin-sdk/fetch-timeout-CLw1U7VS.js +1 -1
- package/dist/plugin-sdk/fetch-timeout-CX1w-9p4.cjs +1 -1
- package/dist/plugin-sdk/fetch-timeout-Coc9xyC3.cjs +1 -1
- package/dist/plugin-sdk/fetch-timeout-Cz6GuU_c.js +1 -1
- package/dist/plugin-sdk/fetch-timeout-DC8T2JCr.js +1 -1
- package/dist/plugin-sdk/fetch-timeout-DFDmks9T.cjs +1 -1
- package/dist/plugin-sdk/fetch-timeout-DkYpp08Q.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-BHdMLLqf.cjs +1 -1
- package/dist/plugin-sdk/github-copilot-token-Bt4PduRB.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-C1O2cBqk.cjs +1 -1
- package/dist/plugin-sdk/github-copilot-token-C1hiDugd.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-C8j8_NjX.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-CCrgp2py.cjs +1 -1
- package/dist/plugin-sdk/github-copilot-token-DoHgkI2r.cjs +1 -1
- package/dist/plugin-sdk/github-copilot-token-N8vnLZPw.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-TMkfxxD2.cjs +1 -1
- package/dist/plugin-sdk/github-copilot-token-vKAKX6iE.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-ylX_gawo.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-zskwAEpd.cjs +1 -1
- package/dist/plugin-sdk/google-gemini-cli-auth.cjs +1 -1
- package/dist/plugin-sdk/google-gemini-cli-auth.js +1 -1
- package/dist/plugin-sdk/googlechat.cjs +1 -1
- package/dist/plugin-sdk/googlechat.js +1 -1
- package/dist/plugin-sdk/image-0OHO98b9.cjs +1 -1
- package/dist/plugin-sdk/image-B9SLKAOs.cjs +1 -1
- package/dist/plugin-sdk/image-BVnZq5Y4.js +1 -1
- package/dist/plugin-sdk/image-CKLAyhco.js +1 -1
- package/dist/plugin-sdk/image-DUHEJeBF.js +1 -1
- package/dist/plugin-sdk/image-DngxW2Nh.cjs +1 -1
- package/dist/plugin-sdk/image-DrPh2689.cjs +1 -1
- package/dist/plugin-sdk/image-ISWO0Dwt.js +1 -1
- package/dist/plugin-sdk/image-KfZYW6Lh.cjs +1 -1
- package/dist/plugin-sdk/image-YVlw68CK.js +1 -1
- package/dist/plugin-sdk/image-gehqJnV6.js +1 -1
- package/dist/plugin-sdk/image-jUYo-0eT.cjs +1 -1
- package/dist/plugin-sdk/imessage.cjs +1 -1
- package/dist/plugin-sdk/imessage.js +1 -1
- package/dist/plugin-sdk/index.cjs +1 -1
- package/dist/plugin-sdk/index.js +1 -1
- package/dist/plugin-sdk/ir-78toXVqC.cjs +1 -1
- package/dist/plugin-sdk/ir-A_TqKaXP.cjs +1 -1
- package/dist/plugin-sdk/ir-B0_rUT7m.js +1 -1
- package/dist/plugin-sdk/ir-B7agH4cQ.cjs +1 -1
- package/dist/plugin-sdk/ir-B9ap_YNW.cjs +1 -1
- package/dist/plugin-sdk/ir-BxKSHYao.cjs +1 -1
- package/dist/plugin-sdk/ir-BzZArF6l.js +1 -1
- package/dist/plugin-sdk/ir-CpkEWZD6.js +1 -1
- package/dist/plugin-sdk/ir-D4Dz-giw.cjs +1 -1
- package/dist/plugin-sdk/ir-DJ08DSkk.js +1 -1
- package/dist/plugin-sdk/ir-L2vhtuGx.js +1 -1
- package/dist/plugin-sdk/ir-ntSck5Kp.js +1 -1
- package/dist/plugin-sdk/irc.cjs +1 -1
- package/dist/plugin-sdk/irc.js +1 -1
- package/dist/plugin-sdk/keyed-async-queue.cjs +1 -1
- package/dist/plugin-sdk/keyed-async-queue.js +1 -1
- package/dist/plugin-sdk/line.cjs +1 -1
- package/dist/plugin-sdk/line.js +1 -1
- package/dist/plugin-sdk/llm-task.cjs +1 -1
- package/dist/plugin-sdk/llm-task.js +1 -1
- package/dist/plugin-sdk/load-options-B9Ss5YOO.js +1 -1
- package/dist/plugin-sdk/load-options-BOfn6Zgo.cjs +1 -1
- package/dist/plugin-sdk/load-options-BXvm8HVv.js +1 -1
- package/dist/plugin-sdk/load-options-Bb7u8yZz.cjs +1 -1
- package/dist/plugin-sdk/load-options-BcSg1ODN.js +1 -1
- package/dist/plugin-sdk/load-options-NqnXJ-Nh.cjs +1 -1
- package/dist/plugin-sdk/lobster.cjs +1 -1
- package/dist/plugin-sdk/lobster.js +1 -1
- package/dist/plugin-sdk/local-roots-B0zm186S.js +1 -1
- package/dist/plugin-sdk/local-roots-B4Uy4kG3.cjs +1 -1
- package/dist/plugin-sdk/local-roots-CM1R1Ncr.cjs +1 -1
- package/dist/plugin-sdk/local-roots-CW78ZeZV.js +1 -1
- package/dist/plugin-sdk/local-roots-CnsaE7a_.js +1 -1
- package/dist/plugin-sdk/local-roots-D1k-fAlE.cjs +1 -1
- package/dist/plugin-sdk/local-roots-DQ_vfJPK.js +1 -1
- package/dist/plugin-sdk/local-roots-DYlB1au6.cjs +1 -1
- package/dist/plugin-sdk/local-roots-H4-t0qG_.js +1 -1
- package/dist/plugin-sdk/local-roots-SCyeUfM3.cjs +1 -1
- package/dist/plugin-sdk/local-roots-l4PqCmiU.js +1 -1
- package/dist/plugin-sdk/local-roots-xHoEq1Fq.cjs +1 -1
- package/dist/plugin-sdk/logger-6O6OsYBL.cjs +1 -1
- package/dist/plugin-sdk/logger-BlddiV_d.cjs +1 -1
- package/dist/plugin-sdk/logger-Bm93ZKOk.cjs +1 -1
- package/dist/plugin-sdk/logger-BtrWb0dj.js +1 -1
- package/dist/plugin-sdk/logger-C210xuWx.js +1 -1
- package/dist/plugin-sdk/logger-DJGHvDbX.js +1 -1
- package/dist/plugin-sdk/logger-DPlqYkRm.cjs +1 -1
- package/dist/plugin-sdk/logger-DUYnS-W3.cjs +1 -1
- package/dist/plugin-sdk/logger-DwWqfo66.js +1 -1
- package/dist/plugin-sdk/logger-vBDTZWl3.js +1 -1
- package/dist/plugin-sdk/login-BN1TsFp4.cjs +1 -1
- package/dist/plugin-sdk/login-BXUtcSnB.cjs +1 -1
- package/dist/plugin-sdk/login-BoMH2iJT.js +1 -1
- package/dist/plugin-sdk/login-BtT7yRJO.js +1 -1
- package/dist/plugin-sdk/login-COzybMRK.js +1 -1
- package/dist/plugin-sdk/login-Cw1jFbel.cjs +1 -1
- package/dist/plugin-sdk/login-DEmpr5YK.js +1 -1
- package/dist/plugin-sdk/login-Dln00cFs.cjs +1 -1
- package/dist/plugin-sdk/login-S2Fe5n5K.cjs +1 -1
- package/dist/plugin-sdk/login-TieaF0ts.cjs +1 -1
- package/dist/plugin-sdk/login-ZQK4uJLw.js +1 -1
- package/dist/plugin-sdk/login-fKxJv0_F.js +1 -1
- package/dist/plugin-sdk/login-qr-1ilmySGx.js +1 -1
- package/dist/plugin-sdk/login-qr-B0ZSZaNI.js +1 -1
- package/dist/plugin-sdk/login-qr-B2P2Ky4j.js +1 -1
- package/dist/plugin-sdk/login-qr-B2U87iU8.js +1 -1
- package/dist/plugin-sdk/login-qr-B4x_eWI_.js +1 -1
- package/dist/plugin-sdk/login-qr-BIaJB24t.cjs +1 -1
- package/dist/plugin-sdk/login-qr-BMl5Beq2.cjs +1 -1
- package/dist/plugin-sdk/login-qr-Bkm3QorK.cjs +1 -1
- package/dist/plugin-sdk/login-qr-ClL8FMAJ.cjs +1 -1
- package/dist/plugin-sdk/login-qr-DFVK1lg-.js +1 -1
- package/dist/plugin-sdk/login-qr-DhieI9fL.cjs +1 -1
- package/dist/plugin-sdk/login-qr-DyQT1QnE.cjs +1 -1
- package/dist/plugin-sdk/manager-0tvX3Z_N.cjs +1 -1
- package/dist/plugin-sdk/manager-8uylP7PH.cjs +1 -1
- package/dist/plugin-sdk/manager-B6hWglXe.js +1 -1
- package/dist/plugin-sdk/manager-BGoKN9ur.js +1 -1
- package/dist/plugin-sdk/manager-BRP1lzb6.js +1 -1
- package/dist/plugin-sdk/manager-BeLNhsXC.cjs +1 -1
- package/dist/plugin-sdk/manager-BnytMgmq.js +1 -1
- package/dist/plugin-sdk/manager-BoMQeM1I.cjs +1 -1
- package/dist/plugin-sdk/manager-CYZY9vcM.js +1 -1
- package/dist/plugin-sdk/manager-DCDy2V1U.cjs +1 -1
- package/dist/plugin-sdk/manager-DE7sDip8.cjs +1 -1
- package/dist/plugin-sdk/manager-PwgQZNK1.js +1 -1
- package/dist/plugin-sdk/matrix.cjs +1 -1
- package/dist/plugin-sdk/matrix.js +1 -1
- package/dist/plugin-sdk/mattermost.cjs +1 -1
- package/dist/plugin-sdk/mattermost.js +1 -1
- package/dist/plugin-sdk/memory-core.cjs +1 -1
- package/dist/plugin-sdk/memory-core.js +1 -1
- package/dist/plugin-sdk/minimax-portal-auth.cjs +1 -1
- package/dist/plugin-sdk/minimax-portal-auth.js +1 -1
- package/dist/plugin-sdk/model-auth-BgS7ynQw.cjs +1 -1
- package/dist/plugin-sdk/model-auth-CKlA2xRB.cjs +1 -1
- package/dist/plugin-sdk/model-auth-CLnFIqcf.cjs +1 -1
- package/dist/plugin-sdk/model-auth-D7YupJDS.js +1 -1
- package/dist/plugin-sdk/model-auth-eNVBeC-B.js +1 -1
- package/dist/plugin-sdk/model-auth-fJrNIbke.cjs +1 -1
- package/dist/plugin-sdk/model-auth-g6eGgTwR.js +1 -1
- package/dist/plugin-sdk/model-auth-wcxJptQX.js +1 -1
- package/dist/plugin-sdk/model-selection-4ExiFkaW.js +1 -1
- package/dist/plugin-sdk/model-selection-CZY_x2-a.cjs +1 -1
- package/dist/plugin-sdk/msteams.cjs +1 -1
- package/dist/plugin-sdk/msteams.js +1 -1
- package/dist/plugin-sdk/nextcloud-talk.cjs +1 -1
- package/dist/plugin-sdk/nextcloud-talk.js +1 -1
- package/dist/plugin-sdk/nostr.cjs +1 -1
- package/dist/plugin-sdk/nostr.js +1 -1
- package/dist/plugin-sdk/outbound-2VVSR_d4.js +1 -1
- package/dist/plugin-sdk/outbound-B03BQa7T.cjs +1 -1
- package/dist/plugin-sdk/outbound-BE8CJ9c_.js +1 -1
- package/dist/plugin-sdk/outbound-BWtGs0dn.cjs +1 -1
- package/dist/plugin-sdk/outbound-BrD0UsX0.js +1 -1
- package/dist/plugin-sdk/outbound-Bvu4LbQx.js +1 -1
- package/dist/plugin-sdk/outbound-C5rNt-8z.cjs +1 -1
- package/dist/plugin-sdk/outbound-C6BJCoYf.cjs +1 -1
- package/dist/plugin-sdk/outbound-Cgc0JJtB.js +1 -1
- package/dist/plugin-sdk/outbound-DAHIkpiA.cjs +1 -1
- package/dist/plugin-sdk/outbound-DnO_udAm.cjs +1 -1
- package/dist/plugin-sdk/outbound-UAHsCNyW.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-0QahtSQB.cjs +1 -1
- package/dist/plugin-sdk/outbound-attachment-8qvAj1MK.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-B6SJy_CG.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-BVdSGifg.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-C-QqSQ79.cjs +1 -1
- package/dist/plugin-sdk/outbound-attachment-CYGrnygD.cjs +1 -1
- package/dist/plugin-sdk/outbound-attachment-CtA5eBgj.cjs +1 -1
- package/dist/plugin-sdk/outbound-attachment-D8Ng5uVX.cjs +1 -1
- package/dist/plugin-sdk/outbound-attachment-DS0S0NLK.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-Ds2XsjQl.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-acB4qID1.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-x4Q2SVIA.cjs +1 -1
- package/dist/plugin-sdk/paths-BPlgbwrb.cjs +1 -1
- package/dist/plugin-sdk/paths-Bcdg3ma0.cjs +1 -1
- package/dist/plugin-sdk/paths-BpQOWYiT.js +1 -1
- package/dist/plugin-sdk/paths-BvlJvmRS.cjs +1 -1
- package/dist/plugin-sdk/paths-CIcxeNL-.cjs +1 -1
- package/dist/plugin-sdk/paths-CXgWvWAM.js +1 -1
- package/dist/plugin-sdk/paths-Chp3zwtq.cjs +1 -1
- package/dist/plugin-sdk/paths-CnHSNSeR.js +1 -1
- package/dist/plugin-sdk/paths-Cqca1YmF.cjs +1 -1
- package/dist/plugin-sdk/paths-CtrEseGU.js +1 -1
- package/dist/plugin-sdk/paths-D55o_j8-.js +1 -1
- package/dist/plugin-sdk/paths-D90l3h_o.cjs +1 -1
- package/dist/plugin-sdk/paths-DaRoqzBQ.js +1 -1
- package/dist/plugin-sdk/paths-Dd7r1qlB.cjs +1 -1
- package/dist/plugin-sdk/paths-DhSjTRMz.js +1 -1
- package/dist/plugin-sdk/paths-Do0djuaj.js +1 -1
- package/dist/plugin-sdk/paths-J4JUiRsa.js +1 -1
- package/dist/plugin-sdk/paths-cBAF6Bj0.js +1 -1
- package/dist/plugin-sdk/paths-piJASC5k.js +1 -1
- package/dist/plugin-sdk/paths-rO4ehkyU.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery--UcCzdQg.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery-Bi4dKtW0.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-CCK2Ppj9.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery-CRSZ0OFi.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery-Cx_r4FGY.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery-D3JQMjAa.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-DN1RHetG.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-DVFSU0-f.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-DWMAAhA-.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-DYOHzCjs.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery-DdSVvbQ5.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-DejkxBol.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery-SmVAFMj_.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-ma8st1Ek.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-B2WodYBY.cjs +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BC114tUb.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BF6jP1nM.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Beg-U7Z-.cjs +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BkEYsSLL.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-C21sWtkh.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CKkgBGIj.cjs +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CNun__L-.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Clulhv2X.cjs +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DvwL5in9.cjs +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-FnzjmZqP.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Rq5y0QJ2.cjs +1 -1
- package/dist/plugin-sdk/polls-BuaJuIpV.cjs +1 -1
- package/dist/plugin-sdk/polls-CBAGZuJ6.js +1 -1
- package/dist/plugin-sdk/polls-CSKMbBIS.js +1 -1
- package/dist/plugin-sdk/polls-D0wY0FvT.cjs +1 -1
- package/dist/plugin-sdk/polls-PGxiE05J.js +1 -1
- package/dist/plugin-sdk/polls-yWqSCEP0.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-B765haXA.js +1 -1
- package/dist/plugin-sdk/proxy-env-Bcl14j2_.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-BlrHtJWH.js +1 -1
- package/dist/plugin-sdk/proxy-env-D48qBPAr.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-DGzNnnJh.js +1 -1
- package/dist/plugin-sdk/proxy-env-DQoJjkWE.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-DWw9TnOj.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-MEjSyzTr.js +1 -1
- package/dist/plugin-sdk/proxy-env-a590sPAz.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-k93igu7v.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-m9eG3uZN.js +1 -1
- package/dist/plugin-sdk/proxy-env-t6hcaFqC.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-B9aXJVe-.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-BaA3JYgW.cjs +1 -1
- package/dist/plugin-sdk/proxy-fetch-BwXFVsHE.cjs +1 -1
- package/dist/plugin-sdk/proxy-fetch-BzcKzknk.cjs +1 -1
- package/dist/plugin-sdk/proxy-fetch-CYVChsKE.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-ClOb2LUH.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-DH7VIiBH.cjs +1 -1
- package/dist/plugin-sdk/proxy-fetch-DPOhfrou.cjs +1 -1
- package/dist/plugin-sdk/proxy-fetch-DXt2R_Z5.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-Del551nu.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-YCVHz7Rl.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-qbrYAz8k.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-3piACPqP.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-8dajXBkZ.js +1 -1
- package/dist/plugin-sdk/pw-ai-B7mrBDW5.js +1 -1
- package/dist/plugin-sdk/pw-ai-BLD7x-3a.js +1 -1
- package/dist/plugin-sdk/pw-ai-BYmANcaC.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-C1rVW06B.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-CCDvaBUm.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-CVYUOcKM.js +1 -1
- package/dist/plugin-sdk/pw-ai-DBg5CCXp.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-DY11CCd3.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-Kf2RyA25.js +1 -1
- package/dist/plugin-sdk/pw-ai-f5yF3n3t.js +1 -1
- package/dist/plugin-sdk/qmd-manager-B3xNbdye.cjs +1 -1
- package/dist/plugin-sdk/qmd-manager-BMyDNBPi.js +1 -1
- package/dist/plugin-sdk/qmd-manager-BZhiv_zq.cjs +1 -1
- package/dist/plugin-sdk/qmd-manager-C3uVDbhW.js +1 -1
- package/dist/plugin-sdk/qmd-manager-CW46NrS-.cjs +1 -1
- package/dist/plugin-sdk/qmd-manager-C_e04BNg.js +1 -1
- package/dist/plugin-sdk/qmd-manager-CczVoslK.cjs +1 -1
- package/dist/plugin-sdk/qmd-manager-CzLKqPmR.js +1 -1
- package/dist/plugin-sdk/qmd-manager-DFh8b5N-.cjs +1 -1
- package/dist/plugin-sdk/qmd-manager-DXLfZZMI.js +1 -1
- package/dist/plugin-sdk/qmd-manager-FL9fAfNo.cjs +1 -1
- package/dist/plugin-sdk/qmd-manager-fWxbGqzk.js +1 -1
- package/dist/plugin-sdk/query-expansion-0zYzKrrd.cjs +1 -1
- package/dist/plugin-sdk/query-expansion-BYSjmpkV.cjs +1 -1
- package/dist/plugin-sdk/query-expansion-CAboqtWr.js +1 -1
- package/dist/plugin-sdk/query-expansion-C_DnhmUy.js +1 -1
- package/dist/plugin-sdk/query-expansion-Cb2vnF6y.js +1 -1
- package/dist/plugin-sdk/query-expansion-DCeqywxh.cjs +1 -1
- package/dist/plugin-sdk/query-expansion-DF4LMxRQ.js +1 -1
- package/dist/plugin-sdk/query-expansion-DKJkqmNM.cjs +1 -1
- package/dist/plugin-sdk/query-expansion-DO2CFW4z.cjs +1 -1
- package/dist/plugin-sdk/query-expansion-DyCDaZbL.js +1 -1
- package/dist/plugin-sdk/query-expansion-cpXCyoDy.cjs +1 -1
- package/dist/plugin-sdk/query-expansion-r_iXkNzt.js +1 -1
- package/dist/plugin-sdk/qwen-portal-auth.cjs +1 -1
- package/dist/plugin-sdk/qwen-portal-auth.js +1 -1
- package/dist/plugin-sdk/render-6fCdtAr6.cjs +1 -1
- package/dist/plugin-sdk/render-CBsnn-2A.js +1 -1
- package/dist/plugin-sdk/render-CzHaQB0d.cjs +1 -1
- package/dist/plugin-sdk/render-DGmfCIRG.js +1 -1
- package/dist/plugin-sdk/render-DhTJXP1U.js +1 -1
- package/dist/plugin-sdk/render-Djx15dPh.js +1 -1
- package/dist/plugin-sdk/render-DxBO2Blp.cjs +1 -1
- package/dist/plugin-sdk/render-g5VlmgpF.cjs +1 -1
- package/dist/plugin-sdk/reply-BrHB7v5V.cjs +1 -1
- package/dist/plugin-sdk/reply-Clex4c2R.js +1 -1
- package/dist/plugin-sdk/resolve-outbound-target-BHLQMMp-.cjs +1 -1
- package/dist/plugin-sdk/resolve-outbound-target-Cvz2WXAk.cjs +1 -1
- package/dist/plugin-sdk/resolve-outbound-target-DDqGniMw.js +1 -1
- package/dist/plugin-sdk/resolve-outbound-target-DEpmpEep.js +1 -1
- package/dist/plugin-sdk/send--HeMLLzj.js +1 -1
- package/dist/plugin-sdk/send-2IhtEEzb.js +1 -1
- package/dist/plugin-sdk/send-9tPLnqkc.js +1 -1
- package/dist/plugin-sdk/send-B-exJfkg.js +1 -1
- package/dist/plugin-sdk/send-B4kzPtcN.js +1 -1
- package/dist/plugin-sdk/send-BCSkdYN6.cjs +1 -1
- package/dist/plugin-sdk/send-BEmZxBcF.js +1 -1
- package/dist/plugin-sdk/send-BHvZIrbJ.cjs +1 -1
- package/dist/plugin-sdk/send-BLbCBxeF.js +1 -1
- package/dist/plugin-sdk/send-BOkABdQu.cjs +1 -1
- package/dist/plugin-sdk/send-BPNd63Qs.js +1 -1
- package/dist/plugin-sdk/send-BVAm6Zbr.cjs +1 -1
- package/dist/plugin-sdk/send-B_619b3s.js +1 -1
- package/dist/plugin-sdk/send-BcuylzbX.js +1 -1
- package/dist/plugin-sdk/send-BdFvK9Wc2.js +1 -1
- package/dist/plugin-sdk/send-Bh-J7XWZ.cjs +1 -1
- package/dist/plugin-sdk/send-BkREPc90.cjs +1 -1
- package/dist/plugin-sdk/send-Bp4f-KJu.cjs +1 -1
- package/dist/plugin-sdk/send-BtF36kYb.js +1 -1
- package/dist/plugin-sdk/send-C6S8tkTA.cjs +1 -1
- package/dist/plugin-sdk/send-CDQF_izk.js +1 -1
- package/dist/plugin-sdk/send-CF3qas-K.js +1 -1
- package/dist/plugin-sdk/send-CFKQX2Wo.js +1 -1
- package/dist/plugin-sdk/send-CIP1u5a-.js +1 -1
- package/dist/plugin-sdk/send-CIxh7PV0.cjs +1 -1
- package/dist/plugin-sdk/send-CJJdcDHX.js +1 -1
- package/dist/plugin-sdk/send-COtvydDt.cjs +1 -1
- package/dist/plugin-sdk/send-CPwh7tRu.js +1 -1
- package/dist/plugin-sdk/send-CRnIqXN9.cjs +1 -1
- package/dist/plugin-sdk/send-CSqipUeV.cjs +1 -1
- package/dist/plugin-sdk/send-Chfe8tPY.js +1 -1
- package/dist/plugin-sdk/send-ClMvdjfg.js +1 -1
- package/dist/plugin-sdk/send-CmoJSYhT.js +1 -1
- package/dist/plugin-sdk/send-Cs5jSTw0.cjs +1 -1
- package/dist/plugin-sdk/send-D-6Et_9H.js +1 -1
- package/dist/plugin-sdk/send-D13uFnzH.cjs +1 -1
- package/dist/plugin-sdk/send-D3eT0F4N.cjs +1 -1
- package/dist/plugin-sdk/send-DAtg_VHa.js +1 -1
- package/dist/plugin-sdk/send-DCF59ijQ.cjs +1 -1
- package/dist/plugin-sdk/send-DN2xic3w.cjs +1 -1
- package/dist/plugin-sdk/send-DOjSTB6D.cjs +1 -1
- package/dist/plugin-sdk/send-DavwL7cF.js +1 -1
- package/dist/plugin-sdk/send-Dbmn1rgD.cjs +1 -1
- package/dist/plugin-sdk/send-DhfDqcwc.cjs +1 -1
- package/dist/plugin-sdk/send-DsDCrJWq.js +1 -1
- package/dist/plugin-sdk/send-DyR5Lpl-.js +1 -1
- package/dist/plugin-sdk/send-DyzuwDjE.js +1 -1
- package/dist/plugin-sdk/send-GtphEa1b.cjs +1 -1
- package/dist/plugin-sdk/send-HZNY_u3L.cjs +1 -1
- package/dist/plugin-sdk/send-IM-76QZu.js +1 -1
- package/dist/plugin-sdk/send-IqcgAO8b.cjs +1 -1
- package/dist/plugin-sdk/send-OQcuL9tP.js +1 -1
- package/dist/plugin-sdk/send-_92aOzWU.cjs +1 -1
- package/dist/plugin-sdk/send-h_kE-cAK.js +1 -1
- package/dist/plugin-sdk/send-jOMdGt0L.cjs +1 -1
- package/dist/plugin-sdk/send-mZ_d-t_3.cjs +1 -1
- package/dist/plugin-sdk/send-puyUta4_.cjs +1 -1
- package/dist/plugin-sdk/send-t5U34FhY.cjs +1 -1
- package/dist/plugin-sdk/send-tvw8j-Se.cjs +1 -1
- package/dist/plugin-sdk/send-z1vaCgF3.cjs +1 -1
- package/dist/plugin-sdk/session--K1m5v7m.js +1 -1
- package/dist/plugin-sdk/session-B1DJ45om.js +1 -1
- package/dist/plugin-sdk/session-B80NWO1m.js +1 -1
- package/dist/plugin-sdk/session-BKPBr445.js +1 -1
- package/dist/plugin-sdk/session-BQLjsBwL.cjs +1 -1
- package/dist/plugin-sdk/session-BZHltxdM.js +1 -1
- package/dist/plugin-sdk/session-Bt5yI-VW.cjs +1 -1
- package/dist/plugin-sdk/session-CC1GqwiM.cjs +1 -1
- package/dist/plugin-sdk/session-C_yqyp3P.cjs +1 -1
- package/dist/plugin-sdk/session-ClISxvtJ.js +1 -1
- package/dist/plugin-sdk/session-D4nn-nXX.cjs +1 -1
- package/dist/plugin-sdk/session-DOA4CJgj.cjs +1 -1
- package/dist/plugin-sdk/sessions-BwTjGneU.js +1 -1
- package/dist/plugin-sdk/sessions-CJbvfO6m.cjs +1 -1
- package/dist/plugin-sdk/signal.cjs +1 -1
- package/dist/plugin-sdk/signal.js +1 -1
- package/dist/plugin-sdk/skill-commands-5WGHyr3h.cjs +1 -1
- package/dist/plugin-sdk/skill-commands-BZlF3g3o.js +1 -1
- package/dist/plugin-sdk/skill-commands-BmBQSmNH.js +1 -1
- package/dist/plugin-sdk/skill-commands-CD4GQXTR.cjs +1 -1
- package/dist/plugin-sdk/skill-commands-CGOPOT-r.js +1 -1
- package/dist/plugin-sdk/skill-commands-CM9ziCQY.cjs +1 -1
- package/dist/plugin-sdk/skill-commands-CVsU5rEy.js +1 -1
- package/dist/plugin-sdk/skill-commands-DNPxE-kc.cjs +1 -1
- package/dist/plugin-sdk/skill-commands-DcgKCVDt.js +1 -1
- package/dist/plugin-sdk/skill-commands-IAwkVeOe.js +1 -1
- package/dist/plugin-sdk/skill-commands-ZyLkXbR_.cjs +1 -1
- package/dist/plugin-sdk/skill-commands-xJWQthd5.cjs +1 -1
- package/dist/plugin-sdk/slack.cjs +1 -1
- package/dist/plugin-sdk/slack.js +1 -1
- package/dist/plugin-sdk/synology-chat.cjs +1 -1
- package/dist/plugin-sdk/synology-chat.js +1 -1
- package/dist/plugin-sdk/tables-BZUVdTR-.cjs +1 -1
- package/dist/plugin-sdk/tables-Bbodvj_s.cjs +1 -1
- package/dist/plugin-sdk/tables-C5b2CtNw.cjs +1 -1
- package/dist/plugin-sdk/tables-C6TX2QvW.js +1 -1
- package/dist/plugin-sdk/tables-Cz5osenc.js +1 -1
- package/dist/plugin-sdk/tables-DBSeZ07-.cjs +1 -1
- package/dist/plugin-sdk/tables-DLSXY2-Q.js +1 -1
- package/dist/plugin-sdk/tables-DQad-z2Z.cjs +1 -1
- package/dist/plugin-sdk/tables-DYuLwL1d.js +1 -1
- package/dist/plugin-sdk/tables-D_J655yN.js +1 -1
- package/dist/plugin-sdk/tables-_vqK8P0T.js +1 -1
- package/dist/plugin-sdk/tables-bSgb8OzP.cjs +1 -1
- package/dist/plugin-sdk/target-errors-B-mJ4s4b.cjs +1 -1
- package/dist/plugin-sdk/target-errors-BAHAHc8f.js +1 -1
- package/dist/plugin-sdk/target-errors-BKruhz8r.js +1 -1
- package/dist/plugin-sdk/target-errors-BbQBR5da.js +1 -1
- package/dist/plugin-sdk/target-errors-BjgLCOTm.cjs +1 -1
- package/dist/plugin-sdk/target-errors-CQbFkOae.js +1 -1
- package/dist/plugin-sdk/target-errors-C_HYvghh.cjs +1 -1
- package/dist/plugin-sdk/target-errors-CaaKhU6m.js +1 -1
- package/dist/plugin-sdk/target-errors-QWTCk98R.cjs +1 -1
- package/dist/plugin-sdk/target-errors-oh0u5K2w.cjs +1 -1
- package/dist/plugin-sdk/targets-BSc11Uk8.cjs +1 -1
- package/dist/plugin-sdk/targets-BSkiizml.js +1 -1
- package/dist/plugin-sdk/targets-CBI0xqve.cjs +1 -1
- package/dist/plugin-sdk/targets-CL5fYQi7.js +1 -1
- package/dist/plugin-sdk/targets-CUZWrFrm.cjs +1 -1
- package/dist/plugin-sdk/targets-CVEYTFPQ.js +1 -1
- package/dist/plugin-sdk/targets-Co2R6K14.cjs +1 -1
- package/dist/plugin-sdk/targets-CrkJkzil.js +1 -1
- package/dist/plugin-sdk/targets-D-m7SV9x.cjs +1 -1
- package/dist/plugin-sdk/targets-D8HTxbo4.js +1 -1
- package/dist/plugin-sdk/targets-DcGNB9nk.cjs +1 -1
- package/dist/plugin-sdk/targets-Dn9gDiEw.js +1 -1
- package/dist/plugin-sdk/targets-X28mff4s.cjs +1 -1
- package/dist/plugin-sdk/targets-uycXZ8vQ.js +1 -1
- package/dist/plugin-sdk/telegram.cjs +1 -1
- package/dist/plugin-sdk/telegram.js +1 -1
- package/dist/plugin-sdk/test-utils.cjs +1 -1
- package/dist/plugin-sdk/test-utils.js +1 -1
- package/dist/plugin-sdk/tlon.cjs +1 -1
- package/dist/plugin-sdk/tlon.js +1 -1
- package/dist/plugin-sdk/tokens-AAdZjj0M.js +1 -1
- package/dist/plugin-sdk/tokens-B20KNIDD.js +1 -1
- package/dist/plugin-sdk/tokens-B8ys7Q2e.js +1 -1
- package/dist/plugin-sdk/tokens-BPc1fcZ3.js +1 -1
- package/dist/plugin-sdk/tokens-BqABmXSe.js +1 -1
- package/dist/plugin-sdk/tokens-CXsPDJTr.cjs +1 -1
- package/dist/plugin-sdk/tokens-CnB4dJmp.cjs +1 -1
- package/dist/plugin-sdk/tokens-CytSl1X8.cjs +1 -1
- package/dist/plugin-sdk/tokens-DgPZk2Uu.js +1 -1
- package/dist/plugin-sdk/tokens-Dq2wDF3_.cjs +1 -1
- package/dist/plugin-sdk/tokens-DtrljGtQ.cjs +1 -1
- package/dist/plugin-sdk/tokens-g5KWvWhD.cjs +1 -1
- package/dist/plugin-sdk/twitch.cjs +1 -1
- package/dist/plugin-sdk/twitch.js +1 -1
- package/dist/plugin-sdk/utils-BJtJR72k.js +1 -1
- package/dist/plugin-sdk/utils-PPIvU9qw.cjs +1 -1
- package/dist/plugin-sdk/voice-call.cjs +1 -1
- package/dist/plugin-sdk/voice-call.js +1 -1
- package/dist/plugin-sdk/web-B4A8zBP9.cjs +1 -1
- package/dist/plugin-sdk/web-BKKx3jqf.cjs +1 -1
- package/dist/plugin-sdk/web-BTBgpaEi.js +1 -1
- package/dist/plugin-sdk/web-BfjArU7g.js +1 -1
- package/dist/plugin-sdk/web-C7KhecaH.cjs +1 -1
- package/dist/plugin-sdk/web-CFMrBQv7.js +1 -1
- package/dist/plugin-sdk/web-CS0AvKLx.js +1 -1
- package/dist/plugin-sdk/web-EfgEjg15.cjs +1 -1
- package/dist/plugin-sdk/weixin.cjs +1 -1
- package/dist/plugin-sdk/weixin.js +1 -1
- package/dist/plugin-sdk/whatsapp-actions-6N2LIWVD.js +1 -1
- package/dist/plugin-sdk/whatsapp-actions-BGEghean.js +1 -1
- package/dist/plugin-sdk/whatsapp-actions-BP_fSzB9.cjs +1 -1
- package/dist/plugin-sdk/whatsapp-actions-BSx6-Onq.cjs +1 -1
- package/dist/plugin-sdk/whatsapp-actions-BZAMGDn8.cjs +1 -1
- package/dist/plugin-sdk/whatsapp-actions-BvZMduqd.js +1 -1
- package/dist/plugin-sdk/whatsapp-actions-CDUbwNdp.cjs +1 -1
- package/dist/plugin-sdk/whatsapp-actions-DNVIKnqz.cjs +1 -1
- package/dist/plugin-sdk/whatsapp-actions-DTVbVkOo.js +1 -1
- package/dist/plugin-sdk/whatsapp-actions-DjMYqpSS.js +1 -1
- package/dist/plugin-sdk/whatsapp-actions-P1DVqKhD.cjs +1 -1
- package/dist/plugin-sdk/whatsapp-actions-shElOKKX.js +1 -1
- package/dist/plugin-sdk/whatsapp.cjs +1 -1
- package/dist/plugin-sdk/whatsapp.js +1 -1
- package/dist/plugin-sdk/zalo.cjs +1 -1
- package/dist/plugin-sdk/zalo.js +1 -1
- package/dist/plugin-sdk/zalouser.cjs +1 -1
- package/dist/plugin-sdk/zalouser.js +1 -1
- package/dist/plugins-CYLrFT4h.js +1 -1
- package/dist/plugins-DNlgeTTc.js +1 -1
- package/dist/plugins-cli-BiV4FaGs.js +1 -1
- package/dist/plugins-cli-C0PLRxT0.js +1 -1
- package/dist/polls-BIVz6a4F.js +1 -1
- package/dist/polls-Bh5wc9-6.js +1 -1
- package/dist/polls-C_XSFz3d.js +1 -1
- package/dist/polls-DKJOFSzJ.js +1 -1
- package/dist/ports-Bjc9q__g.js +1 -1
- package/dist/ports-Di2_MOUb.js +1 -1
- package/dist/probe-auth-9RrZOStc.js +1 -1
- package/dist/probe-auth-Cg6SAov9.js +1 -1
- package/dist/profile-utils-CWmra1aY.js +1 -1
- package/dist/program-CI--7377.js +1 -1
- package/dist/program-context-CH9p6anW.js +1 -1
- package/dist/program-context-Cu8fVR-O.js +1 -1
- package/dist/progress-LNttnI-y.js +1 -1
- package/dist/progress-d1m2sqR1.js +1 -1
- package/dist/prompt-select-styled-CbTtKeIC.js +1 -1
- package/dist/prompt-select-styled-sYEl0gMg.js +1 -1
- package/dist/prompt-style-BThRSQJR.js +1 -1
- package/dist/prompt-style-CXKekIBY.js +1 -1
- package/dist/prompts-CMzglboN.js +1 -1
- package/dist/prompts-wv-lfVrJ.js +1 -1
- package/dist/provider-auth-helpers-C3OaF218.js +1 -1
- package/dist/provider-auth-helpers-CZyb7LUg.js +1 -1
- package/dist/provider-env-vars-D8p6Ohpj.js +1 -1
- package/dist/provider-env-vars-Dt0Q29Su.js +1 -1
- package/dist/proxy-env-BNhTHkd_.js +1 -1
- package/dist/proxy-env-DcmW_urA.js +1 -1
- package/dist/proxy-env-DrC3TIGh.js +1 -1
- package/dist/proxy-env-FJr5nlvs.js +1 -1
- package/dist/proxy-fetch-BADsUK4d.js +1 -1
- package/dist/proxy-fetch-BZ9O8Dvj.js +1 -1
- package/dist/proxy-fetch-DnjU1fEB.js +1 -1
- package/dist/proxy-fetch-gWETR3cl.js +1 -1
- package/dist/push-apns-kySzOiJr.js +1 -1
- package/dist/push-apns-tM6G9LLm.js +1 -1
- package/dist/pw-ai-B7YMA_4Q.js +1 -1
- package/dist/pw-ai-C7peCONw.js +1 -1
- package/dist/pw-ai-CojtT9WR.js +1 -1
- package/dist/pw-ai-DWJWFzTA.js +1 -1
- package/dist/qmd-manager-C_e04BNg.js +1 -1
- package/dist/qmd-manager-DSQ_mDCl.js +1 -1
- package/dist/qmd-manager-DcBYbt_V.js +1 -1
- package/dist/qmd-manager-NLI0R6kp.js +1 -1
- package/dist/qr-cli-DUR7oW0_.js +1 -1
- package/dist/qr-cli-kb3ygh9I.js +1 -1
- package/dist/query-expansion-0OxEb1Io.js +1 -1
- package/dist/query-expansion-BUUx_oWg.js +1 -1
- package/dist/query-expansion-r_iXkNzt.js +1 -1
- package/dist/reaction-level-DVPHL14p.js +1 -1
- package/dist/reaction-message-id-BEEe7X3D.js +1 -1
- package/dist/read-only-account-inspect-DEnPVHTo.js +1 -1
- package/dist/redact-3_CiXMY6.js +1 -1
- package/dist/redact-CnRxK70G.js +1 -1
- package/dist/register.agent-BwmE1VD-.js +1 -1
- package/dist/register.agent-D1hQi_68.js +1 -1
- package/dist/register.backup-8s5jgnHQ.js +1 -1
- package/dist/register.backup-CAiwLaIW.js +1 -1
- package/dist/register.configure-BsTw4XfK.js +1 -1
- package/dist/register.configure-DxR84Ot6.js +1 -1
- package/dist/register.maintenance-3nzWAo_a.js +1 -1
- package/dist/register.maintenance-DxKGQ9Jo.js +1 -1
- package/dist/register.message-Bk1pHVSK.js +1 -1
- package/dist/register.message-PcFtBR0-.js +1 -1
- package/dist/register.onboard-AWxbhU7j.js +1 -1
- package/dist/register.onboard-BTOZN8ro.js +1 -1
- package/dist/register.setup-B-e1qIbc.js +1 -1
- package/dist/register.setup-CweJJdt8.js +1 -1
- package/dist/register.status-health-sessions-B1R_nl6P.js +1 -1
- package/dist/register.status-health-sessions-CWNLXpAn.js +1 -1
- package/dist/register.subclis-C0VQ_HfZ.js +1 -1
- package/dist/registry-BptzrW8D.js +1 -1
- package/dist/registry-hFAtCSWG.js +1 -1
- package/dist/render-BXEUPIHe.js +1 -1
- package/dist/render-CBsnn-2A.js +1 -1
- package/dist/render-D8OWO2hT.js +1 -1
- package/dist/render-DrrPmnMI.js +1 -1
- package/dist/reply-r9KtzgpM.js +1 -1
- package/dist/restart-CTfuVGfA.js +1 -1
- package/dist/rpc-BQXfCyCw.js +1 -1
- package/dist/rpc-CcrILVsV.js +1 -1
- package/dist/run-main-CuQQyoU3.js +1 -1
- package/dist/runtime-BlsMYeaw.js +1 -1
- package/dist/runtime-DLxfCs7F.js +1 -1
- package/dist/runtime-guard-DFYBaYZS.js +1 -1
- package/dist/runtime-guard-DX2Ie4ri.js +1 -1
- package/dist/runtime-status-CqFBmdRd.js +1 -1
- package/dist/runtime-status-DszMjvJK.js +1 -1
- package/dist/runtime-web-tools-BWv0X5qp.js +1 -1
- package/dist/runtime-web-tools-CCIXUISf.js +1 -1
- package/dist/sandbox-cli-CxluKLFV.js +1 -1
- package/dist/sandbox-cli-xCX6FV4Z.js +1 -1
- package/dist/scan-paths-C13EseXp.js +1 -1
- package/dist/scan-paths-CWtvWW40.js +1 -1
- package/dist/search-manager-KMRzwyPH.js +1 -1
- package/dist/secret-file-C7JffiM_.js +1 -1
- package/dist/secret-file-D60EFEOe.js +1 -1
- package/dist/secret-file-DuWm26jS.js +1 -1
- package/dist/secrets-cli-Be6OBr6Q.js +1 -1
- package/dist/secrets-cli-DmDZiX17.js +1 -1
- package/dist/secure-random-D7JQgiK-.js +1 -1
- package/dist/security-cli-CllLwpQ-.js +1 -1
- package/dist/security-cli-DcA9keUK.js +1 -1
- package/dist/send-8rJCpsDu.js +1 -1
- package/dist/send-BJjoLBo3.js +1 -1
- package/dist/send-BOxuQt9L.js +1 -1
- package/dist/send-BPfl_1It.js +1 -1
- package/dist/send-BdS6jUBa.js +1 -1
- package/dist/send-BeZJ1zbp.js +1 -1
- package/dist/send-BkZ8dWQV2.js +1 -1
- package/dist/send-CDAeI9xB2.js +1 -1
- package/dist/send-CgeRzkWS.js +1 -1
- package/dist/send-CiTZ4p2t.js +1 -1
- package/dist/send-D0y-r_hg2.js +1 -1
- package/dist/send-DIw8ExHc.js +1 -1
- package/dist/send-DRm6AFp-.js +1 -1
- package/dist/send-DS5Quwb7.js +1 -1
- package/dist/send-DVmPgxm7.js +1 -1
- package/dist/send-Ds5sy22D.js +1 -1
- package/dist/send-DvGzdoKK.js +1 -1
- package/dist/send-OVet2uKx.js +1 -1
- package/dist/send-YPQFx-fV.js +1 -1
- package/dist/send-e2ppdA_R.js +1 -1
- package/dist/server-Dzqb5Tau.js +1 -1
- package/dist/server-node-events-B2irOUJ_.js +1 -1
- package/dist/server-node-events-DSr6P0VG.js +1 -1
- package/dist/server-w7sUBJEA.js +1 -1
- package/dist/service-BtB9epJk.js +1 -1
- package/dist/service-DZ9EbS15.js +1 -1
- package/dist/session-BYYOduc1.js +1 -1
- package/dist/session-B_qrXLsR.js +1 -1
- package/dist/session-Be0RV2V1.js +1 -1
- package/dist/session-bk3gFwO4.js +1 -1
- package/dist/session-cost-usage-BgqKixv0.js +1 -1
- package/dist/session-cost-usage-CHtVgnE8.js +1 -1
- package/dist/session-key-C7F_iqYg.js +1 -1
- package/dist/session-key-D3P0tf5P.js +1 -1
- package/dist/session-utils-CrR0wD3W.js +1 -1
- package/dist/sessions-BvTGb3rW.js +1 -1
- package/dist/shared-9x5sqYRb.js +1 -1
- package/dist/shared-BKWhOp64.js +1 -1
- package/dist/shared-BV-hfJ3h.js +1 -1
- package/dist/skill-commands-C59b8Yso.js +1 -1
- package/dist/skill-commands-CqIEajsA.js +1 -1
- package/dist/skill-commands-F5NFH0NR.js +1 -1
- package/dist/skill-commands-O39uSj-k.js +1 -1
- package/dist/skill-scanner-CUUF3Fvo.js +1 -1
- package/dist/skill-scanner-CkxXNioD.js +1 -1
- package/dist/skills-CKTicUKS.js +1 -1
- package/dist/skills-DHbOKEGc.js +1 -1
- package/dist/skills-cli-CZD1Ng18.js +1 -1
- package/dist/skills-cli-nj0w4fe0.js +1 -1
- package/dist/skills-install-D0I6c17J.js +1 -1
- package/dist/skills-install-XHpqMBWl.js +1 -1
- package/dist/skills-status-BWIugRCz.js +1 -1
- package/dist/skills-status-DswSl5aD.js +1 -1
- package/dist/sqlite-CILF3z9U.js +1 -1
- package/dist/stagger-DmFYysrJ.js +1 -1
- package/dist/stagger-DxzgG2jd.js +1 -1
- package/dist/status-DKB9gdSp.js +1 -1
- package/dist/status-DgRrUxyg.js +1 -1
- package/dist/status-YZD9V9xi.js +1 -1
- package/dist/status-isxcm8Xz.js +1 -1
- package/dist/status.update-B_8Gumuc.js +1 -1
- package/dist/status.update-Cf2e-l9d.js +1 -1
- package/dist/string-normalization-BrUPaXaM.js +1 -1
- package/dist/string-normalization-DJT5zuUF.js +1 -1
- package/dist/subsystem-BLbY429l.js +1 -1
- package/dist/subsystem-Bc2XrjUz.js +1 -1
- package/dist/subsystem-C5XF2Fy5.js +1 -1
- package/dist/system-cli-CRs3TOTw.js +1 -1
- package/dist/system-cli-GyoLZQpj.js +1 -1
- package/dist/system-run-command-DCzdgYyb.js +1 -1
- package/dist/system-run-command-FCk9hSMO.js +1 -1
- package/dist/systemd-D7odsu4K.js +1 -1
- package/dist/systemd-DbevZh65.js +1 -1
- package/dist/systemd-hints-lXpMy-kY.js +1 -1
- package/dist/systemd-hints-x1lJAOxS.js +1 -1
- package/dist/systemd-linger-C2MJD6KG.js +1 -1
- package/dist/systemd-linger-cWKbFNpu.js +1 -1
- package/dist/table-CR7TFMew.js +1 -1
- package/dist/table-CY440fI1.js +1 -1
- package/dist/tables-3Rjt6nwZ.js +1 -1
- package/dist/tables-B9wFKQvT.js +1 -1
- package/dist/tables-D1pcaye7.js +1 -1
- package/dist/tables-h7y1Jhf4.js +1 -1
- package/dist/target-errors-CUQcIty1.js +1 -1
- package/dist/target-errors-D55sWZ4E.js +1 -1
- package/dist/target-errors-DH0aw-m5.js +1 -1
- package/dist/target-errors-LuLROpta.js +1 -1
- package/dist/targets-4EaxWBal.js +1 -1
- package/dist/targets-BJTo7bqu.js +1 -1
- package/dist/targets-BYVMrXDf.js +1 -1
- package/dist/targets-Bq6rS6-Z.js +1 -1
- package/dist/targets-CL5fYQi7.js +1 -1
- package/dist/targets-fozeWOOg.js +1 -1
- package/dist/targets-m_41k_Mv.js +1 -1
- package/dist/telegram/audit.js +1 -1
- package/dist/text-format-CvrvBBre.js +1 -1
- package/dist/text-format-DEWK6oCT.js +1 -1
- package/dist/token-DnTmiyJu.js +1 -1
- package/dist/tokens-B2fq-rL6.js +1 -1
- package/dist/tokens-CL2fSjGl.js +1 -1
- package/dist/tokens-DRM8vzJx.js +1 -1
- package/dist/tokens-XGbQGn67.js +1 -1
- package/dist/tool-display-DJDtttQg.js +1 -1
- package/dist/tool-display-DjuSUUbH.js +1 -1
- package/dist/tui-CqEb9hrT.js +1 -1
- package/dist/tui-DdZ8SpNW.js +1 -1
- package/dist/tui-cli-Bj0okLCf.js +1 -1
- package/dist/tui-cli-CYvBshyB.js +1 -1
- package/dist/types.secrets-C-5U96pc.js +1 -1
- package/dist/types.secrets-D4tbc3Wq.js +1 -1
- package/dist/update-BGrxUIyz.js +1 -1
- package/dist/update-CwTy5DPl.js +1 -1
- package/dist/update-cli-lciKU8_L.js +1 -1
- package/dist/update-cli-xb0jHjE8.js +1 -1
- package/dist/update-runner-8Hto6X-M.js +1 -1
- package/dist/update-runner-LVJcy569.js +1 -1
- package/dist/usage-format-BWD8FJFL.js +1 -1
- package/dist/usage-format-yPwal8Iz.js +1 -1
- package/dist/utils-CGdo13HV.js +1 -1
- package/dist/utils-D3t-vPka.js +1 -1
- package/dist/utils-R-mFyVJi.js +1 -1
- package/dist/utils-UGOV_184.js +1 -1
- package/dist/version-q3SkUw2K.js +1 -1
- package/dist/warning-filter.js +1 -1
- package/dist/web-Bfz_qlYe.js +1 -1
- package/dist/web-ClbIohhf.js +1 -1
- package/dist/webhooks-cli-DKfKihmJ.js +1 -1
- package/dist/webhooks-cli-LU2ADRQp.js +1 -1
- package/dist/whatsapp-actions-1TJ8dlv0.js +1 -1
- package/dist/whatsapp-actions-CuDiuPGa.js +1 -1
- package/dist/whatsapp-actions-DkLDOIk1.js +1 -1
- package/dist/whatsapp-actions-EnduXWui.js +1 -1
- package/dist/widearea-dns-BDx7vkV2.js +1 -1
- package/dist/widearea-dns-BFjqKXu_.js +1 -1
- package/dist/windows-spawn-7oINn5ao.js +1 -1
- package/dist/windows-spawn-AB7ItGAE.js +1 -1
- package/dist/with-timeout-WveKxvFV.js +1 -1
- package/dist/with-timeout-c1CzdShT.js +1 -1
- package/dist/workspace-B0ZQeHXg.js +1 -1
- package/dist/workspace-C45T1Cxg.js +1 -1
- package/dist/workspace-dirs-A8Vib9_B.js +1 -1
- package/dist/workspace-dirs-BhF1Dzxt.js +1 -1
- package/dist/workspace-xNEpaJvu.js +1 -1
- package/dist/wsl-DHxB2Ew_.js +1 -1
- package/dist/wsl-Ok7GaSJ6.js +1 -1
- package/extensions/memory-core/index.js +1 -0
- package/extensions/memory-core/package.json +1 -1
- package/extensions/openclaw-telemetry-galileo-embedded/index.js +4 -0
- package/extensions/openclaw-telemetry-galileo-embedded/package.json +2 -2
- package/extensions/openclaw-telemetry-galileo-embedded/src/service.js +13 -0
- package/extensions/openclaw-weixin/index.js +1 -0
- package/extensions/openclaw-weixin/package.json +3 -3
- package/extensions/openclaw-weixin/src/api/api.js +1 -0
- package/extensions/openclaw-weixin/src/api/config-cache.js +1 -0
- package/extensions/openclaw-weixin/src/api/session-guard.js +1 -0
- package/extensions/openclaw-weixin/src/api/types.js +1 -0
- package/extensions/openclaw-weixin/src/auth/accounts.js +1 -0
- package/extensions/openclaw-weixin/src/auth/login-qr.js +11 -0
- package/extensions/openclaw-weixin/src/auth/pairing.js +1 -0
- package/extensions/openclaw-weixin/src/cdn/aes-ecb.js +1 -0
- package/extensions/openclaw-weixin/src/cdn/cdn-upload.js +1 -0
- package/extensions/openclaw-weixin/src/cdn/cdn-url.js +1 -0
- package/extensions/openclaw-weixin/src/cdn/pic-decrypt.js +1 -0
- package/extensions/openclaw-weixin/src/cdn/upload.js +1 -0
- package/extensions/openclaw-weixin/src/channel.js +6 -0
- package/extensions/openclaw-weixin/src/config/config-schema.js +1 -0
- package/extensions/openclaw-weixin/src/log-upload.js +4 -0
- package/extensions/openclaw-weixin/src/media/media-download.js +1 -0
- package/extensions/openclaw-weixin/src/media/mime.js +1 -0
- package/extensions/openclaw-weixin/src/media/silk-transcode.js +1 -0
- package/extensions/openclaw-weixin/src/messaging/debug-mode.js +1 -0
- package/extensions/openclaw-weixin/src/messaging/error-notice.js +1 -0
- package/extensions/openclaw-weixin/src/messaging/inbound.js +2 -0
- package/extensions/openclaw-weixin/src/messaging/process-message.js +3 -0
- package/extensions/openclaw-weixin/src/messaging/send-media.js +1 -0
- package/extensions/openclaw-weixin/src/messaging/send.js +1 -0
- package/extensions/openclaw-weixin/src/messaging/slash-commands.js +2 -0
- package/extensions/openclaw-weixin/src/monitor/monitor.js +1 -0
- package/extensions/openclaw-weixin/src/runtime.js +1 -0
- package/extensions/openclaw-weixin/src/storage/state-dir.js +1 -0
- package/extensions/openclaw-weixin/src/storage/sync-buf.js +1 -0
- package/extensions/openclaw-weixin/src/util/logger.js +2 -0
- package/extensions/openclaw-weixin/src/util/random.js +1 -0
- package/extensions/openclaw-weixin/src/util/redact.js +1 -0
- package/extensions/qbagent-mcp-server-x5uselocal-node/index.js +1 -0
- package/extensions/qbagent-mcp-server-x5uselocal-node/package.json +1 -1
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/browser-use-tool.js +1 -0
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/server.js +1 -0
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/tools.js +1 -0
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/websocket-manager.js +1 -0
- package/package.json +1 -1
- package/preset-config.json +22 -0
- package/extensions/memory-core/index.ts +0 -38
- package/extensions/openclaw-telemetry-galileo-embedded/index.ts +0 -663
- package/extensions/openclaw-telemetry-galileo-embedded/src/service.ts +0 -1590
- package/extensions/openclaw-weixin/index.ts +0 -26
- package/extensions/openclaw-weixin/src/api/api.ts +0 -238
- package/extensions/openclaw-weixin/src/api/config-cache.ts +0 -79
- package/extensions/openclaw-weixin/src/api/session-guard.ts +0 -58
- package/extensions/openclaw-weixin/src/api/types.ts +0 -222
- package/extensions/openclaw-weixin/src/auth/accounts.ts +0 -363
- package/extensions/openclaw-weixin/src/auth/login-qr.ts +0 -344
- package/extensions/openclaw-weixin/src/auth/pairing.ts +0 -120
- package/extensions/openclaw-weixin/src/cdn/aes-ecb.ts +0 -21
- package/extensions/openclaw-weixin/src/cdn/cdn-upload.ts +0 -75
- package/extensions/openclaw-weixin/src/cdn/cdn-url.ts +0 -17
- package/extensions/openclaw-weixin/src/cdn/pic-decrypt.ts +0 -85
- package/extensions/openclaw-weixin/src/cdn/upload.ts +0 -154
- package/extensions/openclaw-weixin/src/channel.ts +0 -483
- package/extensions/openclaw-weixin/src/config/config-schema.ts +0 -21
- package/extensions/openclaw-weixin/src/log-upload.ts +0 -129
- package/extensions/openclaw-weixin/src/media/media-download.ts +0 -138
- package/extensions/openclaw-weixin/src/media/mime.ts +0 -76
- package/extensions/openclaw-weixin/src/media/silk-transcode.ts +0 -74
- package/extensions/openclaw-weixin/src/messaging/debug-mode.ts +0 -68
- package/extensions/openclaw-weixin/src/messaging/error-notice.ts +0 -36
- package/extensions/openclaw-weixin/src/messaging/inbound.ts +0 -283
- package/extensions/openclaw-weixin/src/messaging/process-message.ts +0 -488
- package/extensions/openclaw-weixin/src/messaging/send-media.ts +0 -76
- package/extensions/openclaw-weixin/src/messaging/send.ts +0 -267
- package/extensions/openclaw-weixin/src/messaging/slash-commands.ts +0 -105
- package/extensions/openclaw-weixin/src/monitor/monitor.ts +0 -225
- package/extensions/openclaw-weixin/src/runtime.ts +0 -67
- package/extensions/openclaw-weixin/src/storage/state-dir.ts +0 -11
- package/extensions/openclaw-weixin/src/storage/sync-buf.ts +0 -79
- package/extensions/openclaw-weixin/src/util/logger.ts +0 -146
- package/extensions/openclaw-weixin/src/util/random.ts +0 -17
- package/extensions/openclaw-weixin/src/util/redact.ts +0 -57
- package/extensions/openclaw-weixin/src/vendor.d.ts +0 -21
- package/extensions/qbagent-mcp-server-x5uselocal-node/index.ts +0 -140
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/browser-use-tool.ts +0 -157
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/server.ts +0 -135
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/tools.ts +0 -205
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/websocket-manager.ts +0 -351
|
@@ -1 +1 @@
|
|
|
1
|
-
import{U as e,W as t,z as n}from"./paths-piJASC5k.js";import{O as r,R as i,a,y as o}from"./logger-DwWqfo66.js";import{An as s,Or as c,wr as l}from"./model-auth-eNVBeC-B.js";import{i as u}from"./commands-registry-DqemUyiv.js";import d from"node:fs";import f from"node:path";import p from"node:os";import"node:crypto";import m from"chokidar";const h=r(`gateway/skills`),g=new Set,_=new Map,v=new Map;let y=0;const b=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function x(e){let t=Date.now();return t<=e?e+1:t}function S(e){for(let t of g)try{t(e)}catch(e){h.warn(`skills change listener failed: ${String(e)}`)}}function C(e,t){let n=[];e.trim()&&(n.push(f.join(e,`skills`)),n.push(f.join(e,`.agents`,`skills`))),n.push(f.join(a,`skills`)),n.push(f.join(p.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let r=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>o(e));n.push(...r);let i=c({workspaceDir:e,config:t});return n.push(...i),n}function w(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function T(e,t){let n=new Set;for(let r of C(e,t)){let e=w(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function E(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=x(_.get(e.workspaceDir)??0);return _.set(e.workspaceDir,r),S({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return y=x(y),S({reason:t,changedPath:n}),y}function D(e){if(!e)return y;let t=_.get(e)??0;return Math.max(y,t)}function O(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=v.get(t);if(!n){a&&(v.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=T(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(v.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let c=m.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:b}),l={watcher:c,pathsKey:s,debounceMs:i},u=e=>{l.pendingPath=e??l.pendingPath,l.timer&&clearTimeout(l.timer),l.timer=setTimeout(()=>{let e=l.pendingPath;l.pendingPath=void 0,l.timer=void 0,E({workspaceDir:t,reason:`watch`,changedPath:e})},i)};c.on(`add`,e=>u(e)),c.on(`change`,e=>u(e)),c.on(`unlink`,e=>u(e)),c.on(`error`,e=>{h.warn(`skills watcher error (${t}): ${String(e)}`)}),v.set(t,l)}s(),r(`gateway/skills-remote`);const k=new Map;function A(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function j(e){return Array.isArray(e)&&e.includes(`system.run`)}function M(){let e=[...k.values()].filter(e=>A(e.platform,e.deviceFamily)&&j(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function N(e=[]){let t=new Set;for(let e of u()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function P(e){return l(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:M()},reservedNames:N()})}function F(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function I(r){let a=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},o=r.agentIds??n(r.cfg),s=N(),c=[],u=new Map;for(let n of o){let o=t(r.cfg,n);if(!d.existsSync(o)){i(`Skipping agent "${n}": workspace does not exist: ${o}`);continue}let s;try{s=d.realpathSync(o)}catch{i(`Skipping agent "${n}": cannot resolve workspace: ${o}`);continue}let c=e(r.cfg,n),l=u.get(s);if(l){l.skillFilter=a(l.skillFilter,c);continue}u.set(s,{workspaceDir:o,skillFilter:c})}for(let{workspaceDir:e,skillFilter:t}of u.values()){let n=l(e,{config:r.cfg,skillFilter:t,eligibility:{remote:M()},reservedNames:s});for(let e of n)s.add(e.name.toLowerCase()),c.push(e)}return F(c)}function L(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function R(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=L(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:L(e.name)===i||L(e.skillName)===i)}function z(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=R(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}export{M as a,z as i,I as n,O as o,P as r,D as s,N as t};
|
|
1
|
+
import{U as e,W as t,z as n}from"./paths-piJASC5k.js";import{O as r,R as i,a,y as o}from"./logger-DwWqfo66.js";import{An as s,Or as c,wr as l}from"./model-auth-eNVBeC-B.js";import{i as u}from"./commands-registry-DqemUyiv.js";import d from"node:fs";import f from"node:path";import p from"node:os";import"node:crypto";import m from"chokidar";const h=r(`gateway/skills`),g=new Set,_=new Map,v=new Map;let y=0;const b=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function x(e){let t=Date.now();return t<=e?e+1:t}function S(e){for(let t of g)try{t(e)}catch(e){h.warn(`skills change listener failed: ${String(e)}`)}}function C(e,t){let n=[];e.trim()&&(n.push(f.join(e,`skills`)),n.push(f.join(e,`.agents`,`skills`))),n.push(f.join(a,`skills`)),n.push(f.join(p.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let r=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>o(e));n.push(...r);let i=c({workspaceDir:e,config:t});return n.push(...i),n}function w(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function T(e,t){let n=new Set;for(let r of C(e,t)){let e=w(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function E(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=x(_.get(e.workspaceDir)??0);return _.set(e.workspaceDir,r),S({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return y=x(y),S({reason:t,changedPath:n}),y}function D(e){if(!e)return y;let t=_.get(e)??0;return Math.max(y,t)}function O(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=v.get(t);if(!n){a&&(v.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=T(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(v.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let c=m.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:b}),l={watcher:c,pathsKey:s,debounceMs:i},u=e=>{l.pendingPath=e??l.pendingPath,l.timer&&clearTimeout(l.timer),l.timer=setTimeout(()=>{let e=l.pendingPath;l.pendingPath=void 0,l.timer=void 0,E({workspaceDir:t,reason:`watch`,changedPath:e})},i)};c.on(`add`,e=>u(e)),c.on(`change`,e=>u(e)),c.on(`unlink`,e=>u(e)),c.on(`error`,e=>{h.warn(`skills watcher error (${t}): ${String(e)}`)}),v.set(t,l)}s(),r(`gateway/skills-remote`);const k=new Map;function A(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function j(e){return Array.isArray(e)&&e.includes(`system.run`)}function M(){let e=[...k.values()].filter(e=>A(e.platform,e.deviceFamily)&&j(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function N(e=[]){let t=new Set;for(let e of u()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function P(e){return l(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:M()},reservedNames:N()})}function F(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function I(r){let a=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},o=r.agentIds??n(r.cfg),s=N(),c=[],u=new Map;for(let n of o){let o=t(r.cfg,n);if(!d.existsSync(o)){i(`Skipping agent "${n}": workspace does not exist: ${o}`);continue}let s;try{s=d.realpathSync(o)}catch{i(`Skipping agent "${n}": cannot resolve workspace: ${o}`);continue}let c=e(r.cfg,n),l=u.get(s);if(l){l.skillFilter=a(l.skillFilter,c);continue}u.set(s,{workspaceDir:o,skillFilter:c})}for(let{workspaceDir:e,skillFilter:t}of u.values()){let n=l(e,{config:r.cfg,skillFilter:t,eligibility:{remote:M()},reservedNames:s});for(let e of n)s.add(e.name.toLowerCase()),c.push(e)}return F(c)}function L(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function R(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=L(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:L(e.name)===i||L(e.skillName)===i)}function z(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=R(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}export{M as a,z as i,I as n,O as o,P as r,D as s,N as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./paths-Chp3zwtq.cjs`),n=require(`./logger-BlddiV_d.cjs`),r=require(`./model-auth-CKlA2xRB.cjs`),i=require(`./commands-registry-D-AnIQWz.cjs`);let a=require(`node:fs`);a=e.p(a);let o=require(`node:path`);o=e.p(o);let s=require(`node:os`);s=e.p(s),require(`node:crypto`);let c=require(`chokidar`);c=e.p(c);const l=n.O(`gateway/skills`),u=new Set,d=new Map,f=new Map;let p=0;const m=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function h(e){let t=Date.now();return t<=e?e+1:t}function g(e){for(let t of u)try{t(e)}catch(e){l.warn(`skills change listener failed: ${String(e)}`)}}function _(e,t){let i=[];e.trim()&&(i.push(o.default.join(e,`skills`)),i.push(o.default.join(e,`.agents`,`skills`))),i.push(o.default.join(n.a,`skills`)),i.push(o.default.join(s.default.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let a=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>n.y(e));i.push(...a);let c=r.kr({workspaceDir:e,config:t});return i.push(...c),i}function v(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function y(e,t){let n=new Set;for(let r of _(e,t)){let e=v(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function b(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=h(d.get(e.workspaceDir)??0);return d.set(e.workspaceDir,r),g({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return p=h(p),g({reason:t,changedPath:n}),p}function x(e){if(!e)return p;let t=d.get(e)??0;return Math.max(p,t)}function S(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=f.get(t);if(!n){a&&(f.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=y(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(f.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let u=c.default.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:m}),d={watcher:u,pathsKey:s,debounceMs:i},p=e=>{d.pendingPath=e??d.pendingPath,d.timer&&clearTimeout(d.timer),d.timer=setTimeout(()=>{let e=d.pendingPath;d.pendingPath=void 0,d.timer=void 0,b({workspaceDir:t,reason:`watch`,changedPath:e})},i)};u.on(`add`,e=>p(e)),u.on(`change`,e=>p(e)),u.on(`unlink`,e=>p(e)),u.on(`error`,e=>{l.warn(`skills watcher error (${t}): ${String(e)}`)}),f.set(t,d)}r.jn(),n.O(`gateway/skills-remote`);const C=new Map;function w(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function T(e){return Array.isArray(e)&&e.includes(`system.run`)}function E(){let e=[...C.values()].filter(e=>w(e.platform,e.deviceFamily)&&T(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function D(e=[]){let t=new Set;for(let e of i.i()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function O(e){return r.Tr(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:E()},reservedNames:D()})}function k(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function A(e){let i=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},o=e.agentIds??t.z(e.cfg),s=D(),c=[],l=new Map;for(let r of o){let o=t.W(e.cfg,r);if(!a.default.existsSync(o)){n.R(`Skipping agent "${r}": workspace does not exist: ${o}`);continue}let s;try{s=a.default.realpathSync(o)}catch{n.R(`Skipping agent "${r}": cannot resolve workspace: ${o}`);continue}let c=t.U(e.cfg,r),u=l.get(s);if(u){u.skillFilter=i(u.skillFilter,c);continue}l.set(s,{workspaceDir:o,skillFilter:c})}for(let{workspaceDir:t,skillFilter:n}of l.values()){let i=r.Tr(t,{config:e.cfg,skillFilter:n,eligibility:{remote:E()},reservedNames:s});for(let e of i)s.add(e.name.toLowerCase()),c.push(e)}return k(c)}function j(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function M(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=j(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:j(e.name)===i||j(e.skillName)===i)}function N(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=M(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return D}});
|
|
1
|
+
const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./paths-Chp3zwtq.cjs`),n=require(`./logger-BlddiV_d.cjs`),r=require(`./model-auth-CKlA2xRB.cjs`),i=require(`./commands-registry-D-AnIQWz.cjs`);let a=require(`node:fs`);a=e.p(a);let o=require(`node:path`);o=e.p(o);let s=require(`node:os`);s=e.p(s),require(`node:crypto`);let c=require(`chokidar`);c=e.p(c);const l=n.O(`gateway/skills`),u=new Set,d=new Map,f=new Map;let p=0;const m=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function h(e){let t=Date.now();return t<=e?e+1:t}function g(e){for(let t of u)try{t(e)}catch(e){l.warn(`skills change listener failed: ${String(e)}`)}}function _(e,t){let i=[];e.trim()&&(i.push(o.default.join(e,`skills`)),i.push(o.default.join(e,`.agents`,`skills`))),i.push(o.default.join(n.a,`skills`)),i.push(o.default.join(s.default.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let a=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>n.y(e));i.push(...a);let c=r.kr({workspaceDir:e,config:t});return i.push(...c),i}function v(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function y(e,t){let n=new Set;for(let r of _(e,t)){let e=v(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function b(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=h(d.get(e.workspaceDir)??0);return d.set(e.workspaceDir,r),g({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return p=h(p),g({reason:t,changedPath:n}),p}function x(e){if(!e)return p;let t=d.get(e)??0;return Math.max(p,t)}function S(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=f.get(t);if(!n){a&&(f.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=y(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(f.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let u=c.default.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:m}),d={watcher:u,pathsKey:s,debounceMs:i},p=e=>{d.pendingPath=e??d.pendingPath,d.timer&&clearTimeout(d.timer),d.timer=setTimeout(()=>{let e=d.pendingPath;d.pendingPath=void 0,d.timer=void 0,b({workspaceDir:t,reason:`watch`,changedPath:e})},i)};u.on(`add`,e=>p(e)),u.on(`change`,e=>p(e)),u.on(`unlink`,e=>p(e)),u.on(`error`,e=>{l.warn(`skills watcher error (${t}): ${String(e)}`)}),f.set(t,d)}r.jn(),n.O(`gateway/skills-remote`);const C=new Map;function w(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function T(e){return Array.isArray(e)&&e.includes(`system.run`)}function E(){let e=[...C.values()].filter(e=>w(e.platform,e.deviceFamily)&&T(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function D(e=[]){let t=new Set;for(let e of i.i()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function O(e){return r.Tr(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:E()},reservedNames:D()})}function k(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function A(e){let i=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},o=e.agentIds??t.z(e.cfg),s=D(),c=[],l=new Map;for(let r of o){let o=t.W(e.cfg,r);if(!a.default.existsSync(o)){n.R(`Skipping agent "${r}": workspace does not exist: ${o}`);continue}let s;try{s=a.default.realpathSync(o)}catch{n.R(`Skipping agent "${r}": cannot resolve workspace: ${o}`);continue}let c=t.U(e.cfg,r),u=l.get(s);if(u){u.skillFilter=i(u.skillFilter,c);continue}l.set(s,{workspaceDir:o,skillFilter:c})}for(let{workspaceDir:t,skillFilter:n}of l.values()){let i=r.Tr(t,{config:e.cfg,skillFilter:n,eligibility:{remote:E()},reservedNames:s});for(let e of i)s.add(e.name.toLowerCase()),c.push(e)}return k(c)}function j(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function M(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=j(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:j(e.name)===i||j(e.skillName)===i)}function N(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=M(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return D}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{U as e,W as t,z as n}from"./paths-cBAF6Bj0.js";import{Hi as r,Kr as i,Ri as a}from"./sessions-BwTjGneU.js";import{O as o,R as s,a as c,y as l}from"./logger-vBDTZWl3.js";import{i as u}from"./commands-registry-DOBe9cWq.js";import d from"node:path";import f from"node:fs";import p from"node:os";import"node:crypto";import m from"chokidar";const h=o(`gateway/skills`),g=new Set,_=new Map,v=new Map;let y=0;const b=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function x(e){let t=Date.now();return t<=e?e+1:t}function S(e){for(let t of g)try{t(e)}catch(e){h.warn(`skills change listener failed: ${String(e)}`)}}function C(e,t){let n=[];e.trim()&&(n.push(d.join(e,`skills`)),n.push(d.join(e,`.agents`,`skills`))),n.push(d.join(c,`skills`)),n.push(d.join(p.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let i=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>l(e));n.push(...i);let a=r({workspaceDir:e,config:t});return n.push(...a),n}function w(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function T(e,t){let n=new Set;for(let r of C(e,t)){let e=w(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function E(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=x(_.get(e.workspaceDir)??0);return _.set(e.workspaceDir,r),S({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return y=x(y),S({reason:t,changedPath:n}),y}function D(e){if(!e)return y;let t=_.get(e)??0;return Math.max(y,t)}function O(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=v.get(t);if(!n){a&&(v.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=T(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(v.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let c=m.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:b}),l={watcher:c,pathsKey:s,debounceMs:i},u=e=>{l.pendingPath=e??l.pendingPath,l.timer&&clearTimeout(l.timer),l.timer=setTimeout(()=>{let e=l.pendingPath;l.pendingPath=void 0,l.timer=void 0,E({workspaceDir:t,reason:`watch`,changedPath:e})},i)};c.on(`add`,e=>u(e)),c.on(`change`,e=>u(e)),c.on(`unlink`,e=>u(e)),c.on(`error`,e=>{h.warn(`skills watcher error (${t}): ${String(e)}`)}),v.set(t,l)}i(),o(`gateway/skills-remote`);const k=new Map;function A(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function j(e){return Array.isArray(e)&&e.includes(`system.run`)}function M(){let e=[...k.values()].filter(e=>A(e.platform,e.deviceFamily)&&j(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function N(e=[]){let t=new Set;for(let e of u()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function P(e){return a(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:M()},reservedNames:N()})}function F(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function I(r){let i=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},o=r.agentIds??n(r.cfg),c=N(),l=[],u=new Map;for(let n of o){let a=t(r.cfg,n);if(!f.existsSync(a)){s(`Skipping agent "${n}": workspace does not exist: ${a}`);continue}let o;try{o=f.realpathSync(a)}catch{s(`Skipping agent "${n}": cannot resolve workspace: ${a}`);continue}let c=e(r.cfg,n),l=u.get(o);if(l){l.skillFilter=i(l.skillFilter,c);continue}u.set(o,{workspaceDir:a,skillFilter:c})}for(let{workspaceDir:e,skillFilter:t}of u.values()){let n=a(e,{config:r.cfg,skillFilter:t,eligibility:{remote:M()},reservedNames:c});for(let e of n)c.add(e.name.toLowerCase()),l.push(e)}return F(l)}function L(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function R(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=L(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:L(e.name)===i||L(e.skillName)===i)}function z(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=R(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}export{M as a,z as i,I as n,O as o,P as r,D as s,N as t};
|
|
1
|
+
import{U as e,W as t,z as n}from"./paths-cBAF6Bj0.js";import{Hi as r,Kr as i,Ri as a}from"./sessions-BwTjGneU.js";import{O as o,R as s,a as c,y as l}from"./logger-vBDTZWl3.js";import{i as u}from"./commands-registry-DOBe9cWq.js";import d from"node:path";import f from"node:fs";import p from"node:os";import"node:crypto";import m from"chokidar";const h=o(`gateway/skills`),g=new Set,_=new Map,v=new Map;let y=0;const b=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function x(e){let t=Date.now();return t<=e?e+1:t}function S(e){for(let t of g)try{t(e)}catch(e){h.warn(`skills change listener failed: ${String(e)}`)}}function C(e,t){let n=[];e.trim()&&(n.push(d.join(e,`skills`)),n.push(d.join(e,`.agents`,`skills`))),n.push(d.join(c,`skills`)),n.push(d.join(p.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let i=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>l(e));n.push(...i);let a=r({workspaceDir:e,config:t});return n.push(...a),n}function w(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function T(e,t){let n=new Set;for(let r of C(e,t)){let e=w(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function E(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=x(_.get(e.workspaceDir)??0);return _.set(e.workspaceDir,r),S({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return y=x(y),S({reason:t,changedPath:n}),y}function D(e){if(!e)return y;let t=_.get(e)??0;return Math.max(y,t)}function O(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=v.get(t);if(!n){a&&(v.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=T(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(v.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let c=m.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:b}),l={watcher:c,pathsKey:s,debounceMs:i},u=e=>{l.pendingPath=e??l.pendingPath,l.timer&&clearTimeout(l.timer),l.timer=setTimeout(()=>{let e=l.pendingPath;l.pendingPath=void 0,l.timer=void 0,E({workspaceDir:t,reason:`watch`,changedPath:e})},i)};c.on(`add`,e=>u(e)),c.on(`change`,e=>u(e)),c.on(`unlink`,e=>u(e)),c.on(`error`,e=>{h.warn(`skills watcher error (${t}): ${String(e)}`)}),v.set(t,l)}i(),o(`gateway/skills-remote`);const k=new Map;function A(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function j(e){return Array.isArray(e)&&e.includes(`system.run`)}function M(){let e=[...k.values()].filter(e=>A(e.platform,e.deviceFamily)&&j(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function N(e=[]){let t=new Set;for(let e of u()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function P(e){return a(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:M()},reservedNames:N()})}function F(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function I(r){let i=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},o=r.agentIds??n(r.cfg),c=N(),l=[],u=new Map;for(let n of o){let a=t(r.cfg,n);if(!f.existsSync(a)){s(`Skipping agent "${n}": workspace does not exist: ${a}`);continue}let o;try{o=f.realpathSync(a)}catch{s(`Skipping agent "${n}": cannot resolve workspace: ${a}`);continue}let c=e(r.cfg,n),l=u.get(o);if(l){l.skillFilter=i(l.skillFilter,c);continue}u.set(o,{workspaceDir:a,skillFilter:c})}for(let{workspaceDir:e,skillFilter:t}of u.values()){let n=a(e,{config:r.cfg,skillFilter:t,eligibility:{remote:M()},reservedNames:c});for(let e of n)c.add(e.name.toLowerCase()),l.push(e)}return F(l)}function L(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function R(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=L(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:L(e.name)===i||L(e.skillName)===i)}function z(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=R(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}export{M as a,z as i,I as n,O as o,P as r,D as s,N as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./paths-BPlgbwrb.cjs`),n=require(`./config-DT_csBcZ.cjs`),r=require(`./logger-Bm93ZKOk.cjs`),i=require(`./commands-registry-33H8WYTk.cjs`);let a=require(`node:fs`);a=e.p(a);let o=require(`node:path`);o=e.p(o);let s=require(`node:os`);s=e.p(s);let c=require(`node:crypto`),l=require(`chokidar`);l=e.p(l);const u=r.a(`gateway/skills`),d=new Set,f=new Map,p=new Map;let m=0;const h=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function g(e){let t=Date.now();return t<=e?e+1:t}function _(e){for(let t of d)try{t(e)}catch(e){u.warn(`skills change listener failed: ${String(e)}`)}}function v(e,t){let i=[];e.trim()&&(i.push(o.default.join(e,`skills`)),i.push(o.default.join(e,`.agents`,`skills`))),i.push(o.default.join(r.p,`skills`)),i.push(o.default.join(s.default.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let a=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>r.D(e));i.push(...a);let c=n.$s({workspaceDir:e,config:t});return i.push(...c),i}function y(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function b(e,t){let n=new Set;for(let r of v(e,t)){let e=y(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function x(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=g(f.get(e.workspaceDir)??0);return f.set(e.workspaceDir,r),_({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return m=g(m),_({reason:t,changedPath:n}),m}function S(e){if(!e)return m;let t=f.get(e)??0;return Math.max(m,t)}function C(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=p.get(t);if(!n){a&&(p.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=b(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(p.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let c=l.default.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:h}),d={watcher:c,pathsKey:s,debounceMs:i},f=e=>{d.pendingPath=e??d.pendingPath,d.timer&&clearTimeout(d.timer),d.timer=setTimeout(()=>{let e=d.pendingPath;d.pendingPath=void 0,d.timer=void 0,x({workspaceDir:t,reason:`watch`,changedPath:e})},i)};c.on(`add`,e=>f(e)),c.on(`change`,e=>f(e)),c.on(`unlink`,e=>f(e)),c.on(`error`,e=>{u.warn(`skills watcher error (${t}): ${String(e)}`)}),p.set(t,d)}function w(t,n){let r=t??e.c(),i=o.default.join(r,n);return{dir:i,pendingPath:o.default.join(i,`pending.json`),pairedPath:o.default.join(i,`paired.json`)}}function T(e,t,n){for(let[r,i]of Object.entries(e))t-i.ts>n&&delete e[r]}async function E(e){let t=await e.loadState(),n=t.pendingById[e.requestId];return n?(delete t.pendingById[e.requestId],await e.persistState(t),{requestId:e.requestId,[e.idKey]:e.getId(n)}):null}function D(){return(0,c.randomBytes)(32).toString(`base64url`)}n.$o(),r.a(`gateway/skills-remote`);const O=new Map;function k(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function A(e){return Array.isArray(e)&&e.includes(`system.run`)}function j(){let e=[...O.values()].filter(e=>k(e.platform,e.deviceFamily)&&A(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function M(e=[]){let t=new Set;for(let e of i.i()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function N(e){return n.Ys(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:j()},reservedNames:M()})}function P(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function F(e){let i=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},o=e.agentIds??t.U(e.cfg),s=M(),c=[],l=new Map;for(let n of o){let o=t.J(e.cfg,n);if(!a.default.existsSync(o)){r.R(`Skipping agent "${n}": workspace does not exist: ${o}`);continue}let s;try{s=a.default.realpathSync(o)}catch{r.R(`Skipping agent "${n}": cannot resolve workspace: ${o}`);continue}let c=t.q(e.cfg,n),u=l.get(s);if(u){u.skillFilter=i(u.skillFilter,c);continue}l.set(s,{workspaceDir:o,skillFilter:c})}for(let{workspaceDir:t,skillFilter:r}of l.values()){let i=n.Ys(t,{config:e.cfg,skillFilter:r,eligibility:{remote:j()},reservedNames:s});for(let e of i)s.add(e.name.toLowerCase()),c.push(e)}return P(c)}function I(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function L(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=I(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:I(e.name)===i||I(e.skillName)===i)}function R(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=L(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return C}});
|
|
1
|
+
const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./paths-BPlgbwrb.cjs`),n=require(`./config-DT_csBcZ.cjs`),r=require(`./logger-Bm93ZKOk.cjs`),i=require(`./commands-registry-33H8WYTk.cjs`);let a=require(`node:fs`);a=e.p(a);let o=require(`node:path`);o=e.p(o);let s=require(`node:os`);s=e.p(s);let c=require(`node:crypto`),l=require(`chokidar`);l=e.p(l);const u=r.a(`gateway/skills`),d=new Set,f=new Map,p=new Map;let m=0;const h=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function g(e){let t=Date.now();return t<=e?e+1:t}function _(e){for(let t of d)try{t(e)}catch(e){u.warn(`skills change listener failed: ${String(e)}`)}}function v(e,t){let i=[];e.trim()&&(i.push(o.default.join(e,`skills`)),i.push(o.default.join(e,`.agents`,`skills`))),i.push(o.default.join(r.p,`skills`)),i.push(o.default.join(s.default.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let a=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>r.D(e));i.push(...a);let c=n.$s({workspaceDir:e,config:t});return i.push(...c),i}function y(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function b(e,t){let n=new Set;for(let r of v(e,t)){let e=y(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function x(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=g(f.get(e.workspaceDir)??0);return f.set(e.workspaceDir,r),_({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return m=g(m),_({reason:t,changedPath:n}),m}function S(e){if(!e)return m;let t=f.get(e)??0;return Math.max(m,t)}function C(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=p.get(t);if(!n){a&&(p.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=b(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(p.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let c=l.default.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:h}),d={watcher:c,pathsKey:s,debounceMs:i},f=e=>{d.pendingPath=e??d.pendingPath,d.timer&&clearTimeout(d.timer),d.timer=setTimeout(()=>{let e=d.pendingPath;d.pendingPath=void 0,d.timer=void 0,x({workspaceDir:t,reason:`watch`,changedPath:e})},i)};c.on(`add`,e=>f(e)),c.on(`change`,e=>f(e)),c.on(`unlink`,e=>f(e)),c.on(`error`,e=>{u.warn(`skills watcher error (${t}): ${String(e)}`)}),p.set(t,d)}function w(t,n){let r=t??e.c(),i=o.default.join(r,n);return{dir:i,pendingPath:o.default.join(i,`pending.json`),pairedPath:o.default.join(i,`paired.json`)}}function T(e,t,n){for(let[r,i]of Object.entries(e))t-i.ts>n&&delete e[r]}async function E(e){let t=await e.loadState(),n=t.pendingById[e.requestId];return n?(delete t.pendingById[e.requestId],await e.persistState(t),{requestId:e.requestId,[e.idKey]:e.getId(n)}):null}function D(){return(0,c.randomBytes)(32).toString(`base64url`)}n.$o(),r.a(`gateway/skills-remote`);const O=new Map;function k(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function A(e){return Array.isArray(e)&&e.includes(`system.run`)}function j(){let e=[...O.values()].filter(e=>k(e.platform,e.deviceFamily)&&A(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function M(e=[]){let t=new Set;for(let e of i.i()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function N(e){return n.Ys(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:j()},reservedNames:M()})}function P(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function F(e){let i=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},o=e.agentIds??t.U(e.cfg),s=M(),c=[],l=new Map;for(let n of o){let o=t.J(e.cfg,n);if(!a.default.existsSync(o)){r.R(`Skipping agent "${n}": workspace does not exist: ${o}`);continue}let s;try{s=a.default.realpathSync(o)}catch{r.R(`Skipping agent "${n}": cannot resolve workspace: ${o}`);continue}let c=t.q(e.cfg,n),u=l.get(s);if(u){u.skillFilter=i(u.skillFilter,c);continue}l.set(s,{workspaceDir:o,skillFilter:c})}for(let{workspaceDir:t,skillFilter:r}of l.values()){let i=n.Ys(t,{config:e.cfg,skillFilter:r,eligibility:{remote:j()},reservedNames:s});for(let e of i)s.add(e.name.toLowerCase()),c.push(e)}return P(c)}function I(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function L(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=I(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:I(e.name)===i||I(e.skillName)===i)}function R(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=L(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return C}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{J as e,U as t,q as n}from"./paths-J4JUiRsa.js";import{Js as r,Qo as i,Qs as a}from"./config-LR8GH3Ws.js";import{c as o}from"./paths-DaRoqzBQ.js";import{D as s,R as c,a as l,p as u}from"./logger-BtrWb0dj.js";import{i as d}from"./commands-registry-BGdm1KdC.js";import f from"node:fs";import p from"node:path";import m from"node:os";import{randomBytes as h}from"node:crypto";import g from"chokidar";const _=l(`gateway/skills`),v=new Set,y=new Map,b=new Map;let x=0;const S=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function C(e){let t=Date.now();return t<=e?e+1:t}function w(e){for(let t of v)try{t(e)}catch(e){_.warn(`skills change listener failed: ${String(e)}`)}}function T(e,t){let n=[];e.trim()&&(n.push(p.join(e,`skills`)),n.push(p.join(e,`.agents`,`skills`))),n.push(p.join(u,`skills`)),n.push(p.join(m.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let r=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>s(e));n.push(...r);let i=a({workspaceDir:e,config:t});return n.push(...i),n}function E(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function D(e,t){let n=new Set;for(let r of T(e,t)){let e=E(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function O(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=C(y.get(e.workspaceDir)??0);return y.set(e.workspaceDir,r),w({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return x=C(x),w({reason:t,changedPath:n}),x}function k(e){if(!e)return x;let t=y.get(e)??0;return Math.max(x,t)}function A(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=b.get(t);if(!n){a&&(b.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=D(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(b.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let c=g.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:S}),l={watcher:c,pathsKey:s,debounceMs:i},u=e=>{l.pendingPath=e??l.pendingPath,l.timer&&clearTimeout(l.timer),l.timer=setTimeout(()=>{let e=l.pendingPath;l.pendingPath=void 0,l.timer=void 0,O({workspaceDir:t,reason:`watch`,changedPath:e})},i)};c.on(`add`,e=>u(e)),c.on(`change`,e=>u(e)),c.on(`unlink`,e=>u(e)),c.on(`error`,e=>{_.warn(`skills watcher error (${t}): ${String(e)}`)}),b.set(t,l)}function j(e,t){let n=e??o(),r=p.join(n,t);return{dir:r,pendingPath:p.join(r,`pending.json`),pairedPath:p.join(r,`paired.json`)}}function M(e,t,n){for(let[r,i]of Object.entries(e))t-i.ts>n&&delete e[r]}async function N(e){let t=await e.loadState(),n=t.pendingById[e.requestId];return n?(delete t.pendingById[e.requestId],await e.persistState(t),{requestId:e.requestId,[e.idKey]:e.getId(n)}):null}function P(){return h(32).toString(`base64url`)}i(),l(`gateway/skills-remote`);const F=new Map;function I(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function L(e){return Array.isArray(e)&&e.includes(`system.run`)}function R(){let e=[...F.values()].filter(e=>I(e.platform,e.deviceFamily)&&L(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function z(e=[]){let t=new Set;for(let e of d()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function B(e){return r(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:R()},reservedNames:z()})}function V(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function H(i){let a=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},o=i.agentIds??t(i.cfg),s=z(),l=[],u=new Map;for(let t of o){let r=e(i.cfg,t);if(!f.existsSync(r)){c(`Skipping agent "${t}": workspace does not exist: ${r}`);continue}let o;try{o=f.realpathSync(r)}catch{c(`Skipping agent "${t}": cannot resolve workspace: ${r}`);continue}let s=n(i.cfg,t),l=u.get(o);if(l){l.skillFilter=a(l.skillFilter,s);continue}u.set(o,{workspaceDir:r,skillFilter:s})}for(let{workspaceDir:e,skillFilter:t}of u.values()){let n=r(e,{config:i.cfg,skillFilter:t,eligibility:{remote:R()},reservedNames:s});for(let e of n)s.add(e.name.toLowerCase()),l.push(e)}return V(l)}function U(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function W(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=U(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:U(e.name)===i||U(e.skillName)===i)}function G(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=W(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}export{R as a,M as c,k as d,G as i,j as l,H as n,P as o,B as r,N as s,z as t,A as u};
|
|
1
|
+
import{J as e,U as t,q as n}from"./paths-J4JUiRsa.js";import{Js as r,Qo as i,Qs as a}from"./config-LR8GH3Ws.js";import{c as o}from"./paths-DaRoqzBQ.js";import{D as s,R as c,a as l,p as u}from"./logger-BtrWb0dj.js";import{i as d}from"./commands-registry-BGdm1KdC.js";import f from"node:fs";import p from"node:path";import m from"node:os";import{randomBytes as h}from"node:crypto";import g from"chokidar";const _=l(`gateway/skills`),v=new Set,y=new Map,b=new Map;let x=0;const S=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function C(e){let t=Date.now();return t<=e?e+1:t}function w(e){for(let t of v)try{t(e)}catch(e){_.warn(`skills change listener failed: ${String(e)}`)}}function T(e,t){let n=[];e.trim()&&(n.push(p.join(e,`skills`)),n.push(p.join(e,`.agents`,`skills`))),n.push(p.join(u,`skills`)),n.push(p.join(m.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let r=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>s(e));n.push(...r);let i=a({workspaceDir:e,config:t});return n.push(...i),n}function E(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function D(e,t){let n=new Set;for(let r of T(e,t)){let e=E(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function O(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=C(y.get(e.workspaceDir)??0);return y.set(e.workspaceDir,r),w({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return x=C(x),w({reason:t,changedPath:n}),x}function k(e){if(!e)return x;let t=y.get(e)??0;return Math.max(x,t)}function A(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=b.get(t);if(!n){a&&(b.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=D(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(b.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let c=g.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:S}),l={watcher:c,pathsKey:s,debounceMs:i},u=e=>{l.pendingPath=e??l.pendingPath,l.timer&&clearTimeout(l.timer),l.timer=setTimeout(()=>{let e=l.pendingPath;l.pendingPath=void 0,l.timer=void 0,O({workspaceDir:t,reason:`watch`,changedPath:e})},i)};c.on(`add`,e=>u(e)),c.on(`change`,e=>u(e)),c.on(`unlink`,e=>u(e)),c.on(`error`,e=>{_.warn(`skills watcher error (${t}): ${String(e)}`)}),b.set(t,l)}function j(e,t){let n=e??o(),r=p.join(n,t);return{dir:r,pendingPath:p.join(r,`pending.json`),pairedPath:p.join(r,`paired.json`)}}function M(e,t,n){for(let[r,i]of Object.entries(e))t-i.ts>n&&delete e[r]}async function N(e){let t=await e.loadState(),n=t.pendingById[e.requestId];return n?(delete t.pendingById[e.requestId],await e.persistState(t),{requestId:e.requestId,[e.idKey]:e.getId(n)}):null}function P(){return h(32).toString(`base64url`)}i(),l(`gateway/skills-remote`);const F=new Map;function I(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function L(e){return Array.isArray(e)&&e.includes(`system.run`)}function R(){let e=[...F.values()].filter(e=>I(e.platform,e.deviceFamily)&&L(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function z(e=[]){let t=new Set;for(let e of d()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function B(e){return r(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:R()},reservedNames:z()})}function V(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function H(i){let a=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},o=i.agentIds??t(i.cfg),s=z(),l=[],u=new Map;for(let t of o){let r=e(i.cfg,t);if(!f.existsSync(r)){c(`Skipping agent "${t}": workspace does not exist: ${r}`);continue}let o;try{o=f.realpathSync(r)}catch{c(`Skipping agent "${t}": cannot resolve workspace: ${r}`);continue}let s=n(i.cfg,t),l=u.get(o);if(l){l.skillFilter=a(l.skillFilter,s);continue}u.set(o,{workspaceDir:r,skillFilter:s})}for(let{workspaceDir:e,skillFilter:t}of u.values()){let n=r(e,{config:i.cfg,skillFilter:t,eligibility:{remote:R()},reservedNames:s});for(let e of n)s.add(e.name.toLowerCase()),l.push(e)}return V(l)}function U(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function W(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=U(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:U(e.name)===i||U(e.skillName)===i)}function G(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=W(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}export{R as a,M as c,k as d,G as i,j as l,H as n,P as o,B as r,N as s,z as t,A as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{U as e,W as t,z as n}from"./paths-Do0djuaj.js";import{Ai as r,Ei as i,Pr as a}from"./model-auth-g6eGgTwR.js";import{O as o,R as s,a as c,y as l}from"./logger-DJGHvDbX.js";import{i as u}from"./commands-registry-CJLBIIIp.js";import d from"node:path";import f from"node:fs";import p from"node:os";import"node:crypto";import m from"chokidar";const h=o(`gateway/skills`),g=new Set,_=new Map,v=new Map;let y=0;const b=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function x(e){let t=Date.now();return t<=e?e+1:t}function S(e){for(let t of g)try{t(e)}catch(e){h.warn(`skills change listener failed: ${String(e)}`)}}function C(e,t){let n=[];e.trim()&&(n.push(d.join(e,`skills`)),n.push(d.join(e,`.agents`,`skills`))),n.push(d.join(c,`skills`)),n.push(d.join(p.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let i=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>l(e));n.push(...i);let a=r({workspaceDir:e,config:t});return n.push(...a),n}function w(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function T(e,t){let n=new Set;for(let r of C(e,t)){let e=w(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function E(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=x(_.get(e.workspaceDir)??0);return _.set(e.workspaceDir,r),S({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return y=x(y),S({reason:t,changedPath:n}),y}function D(e){if(!e)return y;let t=_.get(e)??0;return Math.max(y,t)}function O(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=v.get(t);if(!n){a&&(v.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=T(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(v.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let c=m.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:b}),l={watcher:c,pathsKey:s,debounceMs:i},u=e=>{l.pendingPath=e??l.pendingPath,l.timer&&clearTimeout(l.timer),l.timer=setTimeout(()=>{let e=l.pendingPath;l.pendingPath=void 0,l.timer=void 0,E({workspaceDir:t,reason:`watch`,changedPath:e})},i)};c.on(`add`,e=>u(e)),c.on(`change`,e=>u(e)),c.on(`unlink`,e=>u(e)),c.on(`error`,e=>{h.warn(`skills watcher error (${t}): ${String(e)}`)}),v.set(t,l)}a(),o(`gateway/skills-remote`);const k=new Map;function A(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function j(e){return Array.isArray(e)&&e.includes(`system.run`)}function M(){let e=[...k.values()].filter(e=>A(e.platform,e.deviceFamily)&&j(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function N(e=[]){let t=new Set;for(let e of u()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function P(e){return i(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:M()},reservedNames:N()})}function F(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function I(r){let a=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},o=r.agentIds??n(r.cfg),c=N(),l=[],u=new Map;for(let n of o){let i=t(r.cfg,n);if(!f.existsSync(i)){s(`Skipping agent "${n}": workspace does not exist: ${i}`);continue}let o;try{o=f.realpathSync(i)}catch{s(`Skipping agent "${n}": cannot resolve workspace: ${i}`);continue}let c=e(r.cfg,n),l=u.get(o);if(l){l.skillFilter=a(l.skillFilter,c);continue}u.set(o,{workspaceDir:i,skillFilter:c})}for(let{workspaceDir:e,skillFilter:t}of u.values()){let n=i(e,{config:r.cfg,skillFilter:t,eligibility:{remote:M()},reservedNames:c});for(let e of n)c.add(e.name.toLowerCase()),l.push(e)}return F(l)}function L(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function R(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=L(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:L(e.name)===i||L(e.skillName)===i)}function z(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=R(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}export{M as a,z as i,I as n,O as o,P as r,D as s,N as t};
|
|
1
|
+
import{U as e,W as t,z as n}from"./paths-Do0djuaj.js";import{Ai as r,Ei as i,Pr as a}from"./model-auth-g6eGgTwR.js";import{O as o,R as s,a as c,y as l}from"./logger-DJGHvDbX.js";import{i as u}from"./commands-registry-CJLBIIIp.js";import d from"node:path";import f from"node:fs";import p from"node:os";import"node:crypto";import m from"chokidar";const h=o(`gateway/skills`),g=new Set,_=new Map,v=new Map;let y=0;const b=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function x(e){let t=Date.now();return t<=e?e+1:t}function S(e){for(let t of g)try{t(e)}catch(e){h.warn(`skills change listener failed: ${String(e)}`)}}function C(e,t){let n=[];e.trim()&&(n.push(d.join(e,`skills`)),n.push(d.join(e,`.agents`,`skills`))),n.push(d.join(c,`skills`)),n.push(d.join(p.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let i=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>l(e));n.push(...i);let a=r({workspaceDir:e,config:t});return n.push(...a),n}function w(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function T(e,t){let n=new Set;for(let r of C(e,t)){let e=w(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function E(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=x(_.get(e.workspaceDir)??0);return _.set(e.workspaceDir,r),S({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return y=x(y),S({reason:t,changedPath:n}),y}function D(e){if(!e)return y;let t=_.get(e)??0;return Math.max(y,t)}function O(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=v.get(t);if(!n){a&&(v.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=T(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(v.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let c=m.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:b}),l={watcher:c,pathsKey:s,debounceMs:i},u=e=>{l.pendingPath=e??l.pendingPath,l.timer&&clearTimeout(l.timer),l.timer=setTimeout(()=>{let e=l.pendingPath;l.pendingPath=void 0,l.timer=void 0,E({workspaceDir:t,reason:`watch`,changedPath:e})},i)};c.on(`add`,e=>u(e)),c.on(`change`,e=>u(e)),c.on(`unlink`,e=>u(e)),c.on(`error`,e=>{h.warn(`skills watcher error (${t}): ${String(e)}`)}),v.set(t,l)}a(),o(`gateway/skills-remote`);const k=new Map;function A(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function j(e){return Array.isArray(e)&&e.includes(`system.run`)}function M(){let e=[...k.values()].filter(e=>A(e.platform,e.deviceFamily)&&j(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function N(e=[]){let t=new Set;for(let e of u()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function P(e){return i(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:M()},reservedNames:N()})}function F(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function I(r){let a=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},o=r.agentIds??n(r.cfg),c=N(),l=[],u=new Map;for(let n of o){let i=t(r.cfg,n);if(!f.existsSync(i)){s(`Skipping agent "${n}": workspace does not exist: ${i}`);continue}let o;try{o=f.realpathSync(i)}catch{s(`Skipping agent "${n}": cannot resolve workspace: ${i}`);continue}let c=e(r.cfg,n),l=u.get(o);if(l){l.skillFilter=a(l.skillFilter,c);continue}u.set(o,{workspaceDir:i,skillFilter:c})}for(let{workspaceDir:e,skillFilter:t}of u.values()){let n=i(e,{config:r.cfg,skillFilter:t,eligibility:{remote:M()},reservedNames:c});for(let e of n)c.add(e.name.toLowerCase()),l.push(e)}return F(l)}function L(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function R(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=L(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:L(e.name)===i||L(e.skillName)===i)}function z(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=R(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}export{M as a,z as i,I as n,O as o,P as r,D as s,N as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Dd7r1qlB.cjs`),n=require(`./model-auth-CLnFIqcf.cjs`),r=require(`./logger-6O6OsYBL.cjs`),i=require(`./commands-registry-BgV9i-bj.cjs`);let a=require(`node:path`);a=e.p(a);let o=require(`node:fs`);o=e.p(o);let s=require(`node:os`);s=e.p(s),require(`node:crypto`);let c=require(`chokidar`);c=e.p(c);const l=r.O(`gateway/skills`),u=new Set,d=new Map,f=new Map;let p=0;const m=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function h(e){let t=Date.now();return t<=e?e+1:t}function g(e){for(let t of u)try{t(e)}catch(e){l.warn(`skills change listener failed: ${String(e)}`)}}function _(e,t){let i=[];e.trim()&&(i.push(a.default.join(e,`skills`)),i.push(a.default.join(e,`.agents`,`skills`))),i.push(a.default.join(r.a,`skills`)),i.push(a.default.join(s.default.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let o=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>r.y(e));i.push(...o);let c=n.Pi({workspaceDir:e,config:t});return i.push(...c),i}function v(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function y(e,t){let n=new Set;for(let r of _(e,t)){let e=v(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function b(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=h(d.get(e.workspaceDir)??0);return d.set(e.workspaceDir,r),g({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return p=h(p),g({reason:t,changedPath:n}),p}function x(e){if(!e)return p;let t=d.get(e)??0;return Math.max(p,t)}function S(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=f.get(t);if(!n){a&&(f.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=y(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(f.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let u=c.default.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:m}),d={watcher:u,pathsKey:s,debounceMs:i},p=e=>{d.pendingPath=e??d.pendingPath,d.timer&&clearTimeout(d.timer),d.timer=setTimeout(()=>{let e=d.pendingPath;d.pendingPath=void 0,d.timer=void 0,b({workspaceDir:t,reason:`watch`,changedPath:e})},i)};u.on(`add`,e=>p(e)),u.on(`change`,e=>p(e)),u.on(`unlink`,e=>p(e)),u.on(`error`,e=>{l.warn(`skills watcher error (${t}): ${String(e)}`)}),f.set(t,d)}n.Rr(),r.O(`gateway/skills-remote`);const C=new Map;function w(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function T(e){return Array.isArray(e)&&e.includes(`system.run`)}function E(){let e=[...C.values()].filter(e=>w(e.platform,e.deviceFamily)&&T(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function D(e=[]){let t=new Set;for(let e of i.i()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function O(e){return n.Ai(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:E()},reservedNames:D()})}function k(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function A(e){let i=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},a=e.agentIds??t.z(e.cfg),s=D(),c=[],l=new Map;for(let n of a){let a=t.W(e.cfg,n);if(!o.default.existsSync(a)){r.R(`Skipping agent "${n}": workspace does not exist: ${a}`);continue}let s;try{s=o.default.realpathSync(a)}catch{r.R(`Skipping agent "${n}": cannot resolve workspace: ${a}`);continue}let c=t.U(e.cfg,n),u=l.get(s);if(u){u.skillFilter=i(u.skillFilter,c);continue}l.set(s,{workspaceDir:a,skillFilter:c})}for(let{workspaceDir:t,skillFilter:r}of l.values()){let i=n.Ai(t,{config:e.cfg,skillFilter:r,eligibility:{remote:E()},reservedNames:s});for(let e of i)s.add(e.name.toLowerCase()),c.push(e)}return k(c)}function j(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function M(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=j(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:j(e.name)===i||j(e.skillName)===i)}function N(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=M(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return D}});
|
|
1
|
+
const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Dd7r1qlB.cjs`),n=require(`./model-auth-CLnFIqcf.cjs`),r=require(`./logger-6O6OsYBL.cjs`),i=require(`./commands-registry-BgV9i-bj.cjs`);let a=require(`node:path`);a=e.p(a);let o=require(`node:fs`);o=e.p(o);let s=require(`node:os`);s=e.p(s),require(`node:crypto`);let c=require(`chokidar`);c=e.p(c);const l=r.O(`gateway/skills`),u=new Set,d=new Map,f=new Map;let p=0;const m=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function h(e){let t=Date.now();return t<=e?e+1:t}function g(e){for(let t of u)try{t(e)}catch(e){l.warn(`skills change listener failed: ${String(e)}`)}}function _(e,t){let i=[];e.trim()&&(i.push(a.default.join(e,`skills`)),i.push(a.default.join(e,`.agents`,`skills`))),i.push(a.default.join(r.a,`skills`)),i.push(a.default.join(s.default.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let o=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>r.y(e));i.push(...o);let c=n.Pi({workspaceDir:e,config:t});return i.push(...c),i}function v(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function y(e,t){let n=new Set;for(let r of _(e,t)){let e=v(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function b(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=h(d.get(e.workspaceDir)??0);return d.set(e.workspaceDir,r),g({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return p=h(p),g({reason:t,changedPath:n}),p}function x(e){if(!e)return p;let t=d.get(e)??0;return Math.max(p,t)}function S(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=f.get(t);if(!n){a&&(f.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=y(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(f.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let u=c.default.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:m}),d={watcher:u,pathsKey:s,debounceMs:i},p=e=>{d.pendingPath=e??d.pendingPath,d.timer&&clearTimeout(d.timer),d.timer=setTimeout(()=>{let e=d.pendingPath;d.pendingPath=void 0,d.timer=void 0,b({workspaceDir:t,reason:`watch`,changedPath:e})},i)};u.on(`add`,e=>p(e)),u.on(`change`,e=>p(e)),u.on(`unlink`,e=>p(e)),u.on(`error`,e=>{l.warn(`skills watcher error (${t}): ${String(e)}`)}),f.set(t,d)}n.Rr(),r.O(`gateway/skills-remote`);const C=new Map;function w(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function T(e){return Array.isArray(e)&&e.includes(`system.run`)}function E(){let e=[...C.values()].filter(e=>w(e.platform,e.deviceFamily)&&T(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function D(e=[]){let t=new Set;for(let e of i.i()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function O(e){return n.Ai(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:E()},reservedNames:D()})}function k(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function A(e){let i=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},a=e.agentIds??t.z(e.cfg),s=D(),c=[],l=new Map;for(let n of a){let a=t.W(e.cfg,n);if(!o.default.existsSync(a)){r.R(`Skipping agent "${n}": workspace does not exist: ${a}`);continue}let s;try{s=o.default.realpathSync(a)}catch{r.R(`Skipping agent "${n}": cannot resolve workspace: ${a}`);continue}let c=t.U(e.cfg,n),u=l.get(s);if(u){u.skillFilter=i(u.skillFilter,c);continue}l.set(s,{workspaceDir:a,skillFilter:c})}for(let{workspaceDir:t,skillFilter:r}of l.values()){let i=n.Ai(t,{config:e.cfg,skillFilter:r,eligibility:{remote:E()},reservedNames:s});for(let e of i)s.add(e.name.toLowerCase()),c.push(e)}return k(c)}function j(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function M(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=j(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:j(e.name)===i||j(e.skillName)===i)}function N(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=M(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return D}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-CIcxeNL-.cjs`),n=require(`./utils-PPIvU9qw.cjs`),r=require(`./model-auth-BgS7ynQw.cjs`),i=require(`./commands-registry-BifdCfty.cjs`);let a=require(`node:path`);a=e.p(a);let o=require(`node:fs`);o=e.p(o);let s=require(`node:os`);s=e.p(s),require(`node:crypto`);let c=require(`chokidar`);c=e.p(c);const l=n.O(`gateway/skills`),u=new Set,d=new Map,f=new Map;let p=0;const m=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function h(e){let t=Date.now();return t<=e?e+1:t}function g(e){for(let t of u)try{t(e)}catch(e){l.warn(`skills change listener failed: ${String(e)}`)}}function _(e,t){let i=[];e.trim()&&(i.push(a.default.join(e,`skills`)),i.push(a.default.join(e,`.agents`,`skills`))),i.push(a.default.join(n.t,`skills`)),i.push(a.default.join(s.default.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let o=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>n.h(e));i.push(...o);let c=r.ti({workspaceDir:e,config:t});return i.push(...c),i}function v(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function y(e,t){let n=new Set;for(let r of _(e,t)){let e=v(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function b(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=h(d.get(e.workspaceDir)??0);return d.set(e.workspaceDir,r),g({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return p=h(p),g({reason:t,changedPath:n}),p}function x(e){if(!e)return p;let t=d.get(e)??0;return Math.max(p,t)}function S(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=f.get(t);if(!n){a&&(f.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=y(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(f.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let u=c.default.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:m}),d={watcher:u,pathsKey:s,debounceMs:i},p=e=>{d.pendingPath=e??d.pendingPath,d.timer&&clearTimeout(d.timer),d.timer=setTimeout(()=>{let e=d.pendingPath;d.pendingPath=void 0,d.timer=void 0,b({workspaceDir:t,reason:`watch`,changedPath:e})},i)};u.on(`add`,e=>p(e)),u.on(`change`,e=>p(e)),u.on(`unlink`,e=>p(e)),u.on(`error`,e=>{l.warn(`skills watcher error (${t}): ${String(e)}`)}),f.set(t,d)}r.ur(),n.O(`gateway/skills-remote`);const C=new Map;function w(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function T(e){return Array.isArray(e)&&e.includes(`system.run`)}function E(){let e=[...C.values()].filter(e=>w(e.platform,e.deviceFamily)&&T(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function D(e=[]){let t=new Set;for(let e of i.i()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function O(e){return r.Zr(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:E()},reservedNames:D()})}function k(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function A(e){let i=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},a=e.agentIds??t.O(e.cfg),s=D(),c=[],l=new Map;for(let r of a){let a=t.N(e.cfg,r);if(!o.default.existsSync(a)){n.R(`Skipping agent "${r}": workspace does not exist: ${a}`);continue}let s;try{s=o.default.realpathSync(a)}catch{n.R(`Skipping agent "${r}": cannot resolve workspace: ${a}`);continue}let c=t.M(e.cfg,r),u=l.get(s);if(u){u.skillFilter=i(u.skillFilter,c);continue}l.set(s,{workspaceDir:a,skillFilter:c})}for(let{workspaceDir:t,skillFilter:n}of l.values()){let i=r.Zr(t,{config:e.cfg,skillFilter:n,eligibility:{remote:E()},reservedNames:s});for(let e of i)s.add(e.name.toLowerCase()),c.push(e)}return k(c)}function j(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function M(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=j(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:j(e.name)===i||j(e.skillName)===i)}function N(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=M(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return D}});
|
|
1
|
+
const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-CIcxeNL-.cjs`),n=require(`./utils-PPIvU9qw.cjs`),r=require(`./model-auth-BgS7ynQw.cjs`),i=require(`./commands-registry-BifdCfty.cjs`);let a=require(`node:path`);a=e.p(a);let o=require(`node:fs`);o=e.p(o);let s=require(`node:os`);s=e.p(s),require(`node:crypto`);let c=require(`chokidar`);c=e.p(c);const l=n.O(`gateway/skills`),u=new Set,d=new Map,f=new Map;let p=0;const m=[/(^|[\\/])\.git([\\/]|$)/,/(^|[\\/])node_modules([\\/]|$)/,/(^|[\\/])dist([\\/]|$)/,/(^|[\\/])\.venv([\\/]|$)/,/(^|[\\/])venv([\\/]|$)/,/(^|[\\/])__pycache__([\\/]|$)/,/(^|[\\/])\.mypy_cache([\\/]|$)/,/(^|[\\/])\.pytest_cache([\\/]|$)/,/(^|[\\/])build([\\/]|$)/,/(^|[\\/])\.cache([\\/]|$)/];function h(e){let t=Date.now();return t<=e?e+1:t}function g(e){for(let t of u)try{t(e)}catch(e){l.warn(`skills change listener failed: ${String(e)}`)}}function _(e,t){let i=[];e.trim()&&(i.push(a.default.join(e,`skills`)),i.push(a.default.join(e,`.agents`,`skills`))),i.push(a.default.join(n.t,`skills`)),i.push(a.default.join(s.default.homedir(),`.qbotclaw`,`openclaw-qbot`,`skills`));let o=(t?.skills?.load?.extraDirs??[]).map(e=>typeof e==`string`?e.trim():``).filter(Boolean).map(e=>n.h(e));i.push(...o);let c=r.ti({workspaceDir:e,config:t});return i.push(...c),i}function v(e){return e.replaceAll(`\\`,`/`).replace(/\/+$/,``)}function y(e,t){let n=new Set;for(let r of _(e,t)){let e=v(r);n.add(`${e}/SKILL.md`),n.add(`${e}/*/SKILL.md`)}return Array.from(n).toSorted()}function b(e){let t=e?.reason??`manual`,n=e?.changedPath;if(e?.workspaceDir){let r=h(d.get(e.workspaceDir)??0);return d.set(e.workspaceDir,r),g({workspaceDir:e.workspaceDir,reason:t,changedPath:n}),r}return p=h(p),g({reason:t,changedPath:n}),p}function x(e){if(!e)return p;let t=d.get(e)??0;return Math.max(p,t)}function S(e){let t=e.workspaceDir.trim();if(!t)return;let n=e.config?.skills?.load?.watch!==!1,r=e.config?.skills?.load?.watchDebounceMs,i=typeof r==`number`&&Number.isFinite(r)?Math.max(0,r):250,a=f.get(t);if(!n){a&&(f.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));return}let o=y(t,e.config),s=o.join(`|`);if(a&&a.pathsKey===s&&a.debounceMs===i)return;a&&(f.delete(t),a.timer&&clearTimeout(a.timer),a.watcher.close().catch(()=>{}));let u=c.default.watch(o,{ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:i,pollInterval:100},ignored:m}),d={watcher:u,pathsKey:s,debounceMs:i},p=e=>{d.pendingPath=e??d.pendingPath,d.timer&&clearTimeout(d.timer),d.timer=setTimeout(()=>{let e=d.pendingPath;d.pendingPath=void 0,d.timer=void 0,b({workspaceDir:t,reason:`watch`,changedPath:e})},i)};u.on(`add`,e=>p(e)),u.on(`change`,e=>p(e)),u.on(`unlink`,e=>p(e)),u.on(`error`,e=>{l.warn(`skills watcher error (${t}): ${String(e)}`)}),f.set(t,d)}r.ur(),n.O(`gateway/skills-remote`);const C=new Map;function w(e,t){let n=String(e??``).trim().toLowerCase(),r=String(t??``).trim().toLowerCase();return!!(n.includes(`mac`)||n.includes(`darwin`)||r===`mac`)}function T(e){return Array.isArray(e)&&e.includes(`system.run`)}function E(){let e=[...C.values()].filter(e=>w(e.platform,e.deviceFamily)&&T(e.commands));if(e.length===0)return;let t=new Set;for(let n of e)for(let e of n.bins)t.add(e);let n=e.map(e=>e.displayName??e.nodeId).filter(Boolean);return{platforms:[`darwin`],hasBin:e=>t.has(e),hasAnyBin:e=>e.some(e=>t.has(e)),note:n.length>0?`Remote macOS node available (${n.join(`, `)}). Run macOS-only skills via nodes.run on that node.`:`Remote macOS node available. Run macOS-only skills via nodes.run on that node.`}}function D(e=[]){let t=new Set;for(let e of i.i()){e.nativeName&&t.add(e.nativeName.toLowerCase());for(let n of e.textAliases){let e=n.trim();e.startsWith(`/`)&&t.add(e.slice(1).toLowerCase())}}for(let n of e){let e=n.trim().toLowerCase();e&&t.add(e)}return t}function O(e){return r.Zr(e.workspaceDir,{config:e.cfg,skillFilter:e.skillFilter,eligibility:{remote:E()},reservedNames:D()})}function k(e){let t=new Set,n=[];for(let r of e){let e=r.skillName.trim().toLowerCase();e&&t.has(e)||(e&&t.add(e),n.push(r))}return n}function A(e){let i=(e,t)=>{if(!(e===void 0||t===void 0))return e.length===0?Array.from(new Set(t)):t.length===0?Array.from(new Set(e)):Array.from(new Set([...e,...t]))},a=e.agentIds??t.O(e.cfg),s=D(),c=[],l=new Map;for(let r of a){let a=t.N(e.cfg,r);if(!o.default.existsSync(a)){n.R(`Skipping agent "${r}": workspace does not exist: ${a}`);continue}let s;try{s=o.default.realpathSync(a)}catch{n.R(`Skipping agent "${r}": cannot resolve workspace: ${a}`);continue}let c=t.M(e.cfg,r),u=l.get(s);if(u){u.skillFilter=i(u.skillFilter,c);continue}l.set(s,{workspaceDir:a,skillFilter:c})}for(let{workspaceDir:t,skillFilter:n}of l.values()){let i=r.Zr(t,{config:e.cfg,skillFilter:n,eligibility:{remote:E()},reservedNames:s});for(let e of i)s.add(e.name.toLowerCase()),c.push(e)}return k(c)}function j(e){return e.trim().toLowerCase().replace(/[\s_]+/g,`-`)}function M(e,t){let n=t.trim();if(!n)return;let r=n.toLowerCase(),i=j(n);return e.find(e=>e.name.toLowerCase()===r||e.skillName.toLowerCase()===r?!0:j(e.name)===i||j(e.skillName)===i)}function N(e){let t=e.commandBodyNormalized.trim();if(!t.startsWith(`/`))return null;let n=t.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);if(!n)return null;let r=n[1]?.trim().toLowerCase();if(!r)return null;if(r===`skill`){let t=n[2]?.trim();if(!t)return null;let r=t.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);if(!r)return null;let i=M(e.skillCommands,r[1]??``);return i?{command:i,args:r[2]?.trim()||void 0}:null}let i=e.skillCommands.find(e=>e.name.toLowerCase()===r);return i?{command:i,args:n[2]?.trim()||void 0}:null}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return D}});
|
|
@@ -6,4 +6,4 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.
|
|
|
6
6
|
`),`Reference check failed`)}}}async function xf(e){return e.explicitMode?e.explicitMode:typeof e.prompter.select==`function`&&await e.prompter.select({message:e.copy?.modeMessage??`How do you want to provide this API key?`,initialValue:`plaintext`,options:[{value:`plaintext`,label:e.copy?.plaintextLabel??`Paste API key now`,hint:e.copy?.plaintextHint??`Stores the key directly in OpenClaw config`},{value:`ref`,label:e.copy?.refLabel??`Use external secret provider`,hint:e.copy?.refHint??`Stores a reference to env or configured external secret providers`}]})===`ref`?`ref`:`plaintext`}async function Sf(e){let t=e.listAccountIds(e.cfg),n=e.currentId?.trim()||e.defaultAccountId||`default`,r=await e.prompter.select({message:`${e.label} account`,options:[...t.map(e=>({value:e,label:e===`default`?`default (primary)`:e})),{value:`__new__`,label:`Add a new account`}],initialValue:n});if(r!==`__new__`)return b(r);let i=await e.prompter.text({message:`New ${e.label} account id`,validate:e=>e?.trim()?void 0:`Required`}),a=b(String(i));return String(i).trim()!==a&&await e.prompter.note(`Normalized account id to "${a}".`,`${e.label} account`),a}const Cf=async e=>await Sf(e);function wf(e){let t=(e??[]).map(e=>String(e).trim()).filter(Boolean);return t.includes(`*`)||t.push(`*`),t}function Tf(e,t){let n=[...e??[],...t].map(e=>String(e).trim()).filter(Boolean);return[...new Set(n)]}function Ef(e){return e.split(/[\n,;]+/g).map(e=>e.trim()).filter(Boolean)}function Df(e){let t=e.value.trim();if(!t)return null;let n=t.match(e.mentionPattern);if(n?.[1])return e.normalizeId?e.normalizeId(n[1]):n[1];let r=e.prefixPattern?t.replace(e.prefixPattern,``):t;return e.idPattern.test(r)?e.normalizeId?e.normalizeId(r):r:null}function Of(e){return e.accountId?.trim()?b(e.accountId):e.defaultAccountId}async function kf(e){let t=e.accountOverride?.trim(),n=t?b(t):e.defaultAccountId;return e.shouldPromptAccountIds&&!t&&(n=await Cf({cfg:e.cfg,prompter:e.prompter,label:e.label,currentId:n,listAccountIds:e.listAccountIds,defaultAccountId:e.defaultAccountId})),n}function Af(e){let t=e.cfg.channels?.[e.channel]??{allowFrom:void 0,dm:void 0},n=t.allowFrom??t.dm?.allowFrom,r=e.dmPolicy===`open`?wf(n):void 0;return Nf({cfg:e.cfg,channel:e.channel,patch:{dmPolicy:e.dmPolicy,...r?{allowFrom:r}:{}}})}function jf(e){return Nf({cfg:e.cfg,channel:e.channel,patch:{allowFrom:e.allowFrom}})}function Mf(e){return If({cfg:e.cfg,channel:e.channel,accountId:e.accountId,patch:{groupPolicy:e.groupPolicy}})}function Nf(e){let{cfg:t,channel:n,patch:r}=e,i=t.channels?.[n]??{},a=i.dm??{};return{...t,channels:{...t.channels,[n]:{...i,...r,dm:{...a,enabled:typeof a.enabled==`boolean`?a.enabled:!0}}}}}function Pf(e,t,n){let r=e.channels?.[t]??{};return{...e,channels:{...e.channels,[t]:{...r,enabled:n}}}}function Ff(e){let{cfg:t,channel:n,accountId:r,patch:i,ensureEnabled:a}=e;return Te({cfg:r===`default`?t:Ae({cfg:t,channelKey:n}),channelKey:n,accountId:r,patch:i,ensureChannelEnabled:a,ensureAccountEnabled:a})}function If(e){return Ff({...e,ensureEnabled:!0})}function Lf(e){return{accountConfigured:e.accountConfigured,hasConfigToken:e.hasConfigToken,canUseEnv:e.allowEnv&&!!e.envValue?.trim()&&!e.hasConfigToken}}async function Rf(e){let t=async()=>String(await e.prompter.text({message:e.inputPrompt,validate:e=>e?.trim()?void 0:`Required`})).trim();return e.canUseEnv?await e.prompter.confirm({message:e.envPrompt,initialValue:!0})?{useEnv:!0,token:null}:{useEnv:!1,token:await t()}:e.hasConfigToken&&e.accountConfigured&&await e.prompter.confirm({message:e.keepPrompt,initialValue:!0})?{useEnv:!1,token:null}:{useEnv:!1,token:await t()}}async function zf(e){let t=Lf({accountConfigured:e.accountConfigured,hasConfigToken:e.hasConfigToken,allowEnv:e.allowEnv,envValue:e.envValue});!t.accountConfigured&&e.onMissingConfigured&&await e.onMissingConfigured();let n=await Bf({cfg:e.cfg,prompter:e.prompter,providerHint:e.providerHint,credentialLabel:e.credentialLabel,secretInputMode:e.secretInputMode,accountConfigured:t.accountConfigured,canUseEnv:t.canUseEnv,hasConfigToken:t.hasConfigToken,envPrompt:e.envPrompt,keepPrompt:e.keepPrompt,inputPrompt:e.inputPrompt,preferredEnvVar:e.preferredEnvVar});return n.action===`use-env`?{cfg:e.applyUseEnv?await e.applyUseEnv(e.cfg):e.cfg,action:n.action,resolvedValue:e.envValue?.trim()||void 0}:n.action===`set`?{cfg:e.applySet?await e.applySet(e.cfg,n.value,n.resolvedValue):e.cfg,action:n.action,resolvedValue:n.resolvedValue}:{cfg:e.cfg,action:n.action}}async function Bf(e){if(await xf({prompter:e.prompter,explicitMode:e.secretInputMode,copy:{modeMessage:`How do you want to provide this ${e.credentialLabel}?`,plaintextLabel:`Enter ${e.credentialLabel}`,plaintextHint:`Stores the credential directly in OpenClaw config`,refLabel:`Use external secret provider`,refHint:`Stores a reference to env or configured external secret providers`}})===`plaintext`){let t=await Rf({prompter:e.prompter,accountConfigured:e.accountConfigured,canUseEnv:e.canUseEnv,hasConfigToken:e.hasConfigToken,envPrompt:e.envPrompt,keepPrompt:e.keepPrompt,inputPrompt:e.inputPrompt});return t.useEnv?{action:`use-env`}:t.token?{action:`set`,value:t.token,resolvedValue:t.token}:{action:`keep`}}if(e.hasConfigToken&&e.accountConfigured&&await e.prompter.confirm({message:e.keepPrompt,initialValue:!0}))return{action:`keep`};let t=await bf({provider:e.providerHint,config:e.cfg,prompter:e.prompter,preferredEnvVar:e.preferredEnvVar,copy:{sourceMessage:`Where is this ${e.credentialLabel} stored?`,envVarPlaceholder:e.preferredEnvVar??`OPENCLAW_SECRET`,envVarFormatError:`Use an env var name like "OPENCLAW_SECRET" (uppercase letters, numbers, underscores).`,noProvidersMessage:`No file/exec secret providers are configured yet. Add one under secrets.providers, or select Environment variable.`}});return{action:`set`,value:t.ref,resolvedValue:t.resolvedValue}}async function Vf(e){let t=[];for(let n of e.resolvedSections)n.values.length!==0&&t.push(`${n.title}: ${n.values.join(`, `)}`);e.unresolved&&e.unresolved.length>0&&t.push(`Unresolved (kept as typed): ${e.unresolved.join(`, `)}`),t.length>0&&await e.prompter.note(t.join(`
|
|
7
7
|
`),e.label)}async function Hf(e){await e.prompter.note(`Channel lookup failed; keeping entries as typed. ${String(e.error)}`,e.label)}async function Uf(e){for(;;){let t=await e.prompter.text({message:e.message,placeholder:e.placeholder,initialValue:e.existing[0]?String(e.existing[0]):void 0,validate:e=>String(e??``).trim()?void 0:`Required`}),n=e.parseInputs(String(t));if(!e.token){let t=n.map(e.parseId).filter(Boolean);if(t.length!==n.length){await e.prompter.note(e.invalidWithoutTokenNote,e.label);continue}return Tf(e.existing,t)}let r=await e.resolveEntries({token:e.token,entries:n}).catch(()=>null);if(!r){await e.prompter.note(`Failed to resolve usernames. Try again.`,e.label);continue}let i=r.filter(e=>!e.resolved||!e.id);if(i.length>0){await e.prompter.note(`Could not resolve: ${i.map(e=>e.input).join(`, `)}`,e.label);continue}let a=r.map(e=>e.id);return Tf(e.existing,a)}}async function Wf(e){await e.prompter.note(e.noteLines.join(`
|
|
8
8
|
`),e.noteTitle);let t=await Uf({prompter:e.prompter,existing:e.existing,token:e.token,message:e.message,placeholder:e.placeholder,label:e.noteTitle,parseInputs:Ef,parseId:e.parseId,invalidWithoutTokenNote:e.invalidWithoutTokenNote,resolveEntries:e.resolveEntries});return jf({cfg:e.cfg,channel:e.channel,allowFrom:t})}function Gf(e){return Ef(String(e??``))}function Kf(e){return e.map(e=>e.trim()).filter(Boolean).join(`, `)}async function qf(e){let t=[{value:`allowlist`,label:`Allowlist (recommended)`}];e.allowOpen!==!1&&t.push({value:`open`,label:`Open (allow all channels)`}),e.allowDisabled!==!1&&t.push({value:`disabled`,label:`Disabled (block all channels)`});let n=e.currentPolicy??`allowlist`;return await e.prompter.select({message:`${e.label} access`,options:t,initialValue:n})}async function Jf(e){let t=e.currentEntries&&e.currentEntries.length>0?Kf(e.currentEntries):void 0;return Gf(await e.prompter.text({message:`${e.label} allowlist (comma-separated)`,placeholder:e.placeholder,initialValue:t}))}async function Yf(e){let t=(e.currentEntries??[]).length>0,n=e.defaultPrompt??!t;if(!await e.prompter.confirm({message:e.updatePrompt?`Update ${e.label} access?`:`Configure ${e.label} access?`,initialValue:n}))return null;let r=await qf({prompter:e.prompter,label:e.label,currentPolicy:e.currentPolicy,allowOpen:e.allowOpen,allowDisabled:e.allowDisabled});return r===`allowlist`?{policy:r,entries:await Jf({prompter:e.prompter,label:e.label,currentEntries:e.currentEntries,placeholder:e.placeholder})}:{policy:r,entries:[]}}async function Xf(e){let t=e.cfg,n=await Yf({prompter:e.prompter,label:e.label,currentPolicy:e.currentPolicy,currentEntries:e.currentEntries,placeholder:e.placeholder,updatePrompt:e.updatePrompt});if(!n)return t;if(n.policy!==`allowlist`)return e.setPolicy(t,n.policy);let r=await e.resolveAllowlist({cfg:t,entries:n.entries});return t=e.setPolicy(t,`allowlist`),e.applyAllowlist({cfg:t,resolved:r})}const Zf=`slack`;function Qf(e){let t=e.trim()||`OpenClaw`,n={display_information:{name:t,description:`${t} connector for OpenClaw`},features:{bot_user:{display_name:t,always_online:!1},app_home:{messages_tab_enabled:!0,messages_tab_read_only_enabled:!1},slash_commands:[{command:`/openclaw`,description:`Send a message to OpenClaw`,should_escape:!1}]},oauth_config:{scopes:{bot:[`chat:write`,`channels:history`,`channels:read`,`groups:history`,`im:history`,`mpim:history`,`users:read`,`app_mentions:read`,`reactions:read`,`reactions:write`,`pins:read`,`pins:write`,`emoji:read`,`commands`,`files:read`,`files:write`]}},settings:{socket_mode_enabled:!0,event_subscriptions:{bot_events:[`app_mention`,`message.channels`,`message.groups`,`message.im`,`message.mpim`,`reaction_added`,`reaction_removed`,`member_joined_channel`,`member_left_channel`,`channel_rename`,`pin_added`,`pin_removed`]}}};return JSON.stringify(n,null,2)}async function $f(e,t){let n=Qf(t);await e.note([`1) Slack API → Create App → From scratch or From manifest (with the JSON below)`,`2) Add Socket Mode + enable it to get the app-level token (xapp-...)`,`3) Install App to workspace to get the xoxb- bot token`,`4) Enable Event Subscriptions (socket) for message events`,`5) App Home → enable the Messages tab for DMs`,`Tip: set SLACK_BOT_TOKEN + SLACK_APP_TOKEN in your env.`,`Docs: ${Fo(`/slack`,`slack`)}`,``,`Manifest (JSON):`,n].join(`
|
|
9
|
-
`),`Slack socket mode tokens`)}function ep(e,t,n){return If({cfg:e,channel:`slack`,accountId:t,patch:{channels:Object.fromEntries(n.map(e=>[e,{allow:!0}]))}})}async function tp(e){let t=Of({accountId:e.accountId,defaultAccountId:Fi(e.cfg)}),n=Ri({cfg:e.cfg,accountId:t}),r=n.userToken??n.botToken??``,i=e.cfg.channels?.slack?.allowFrom??e.cfg.channels?.slack?.dm?.allowFrom??[];return Wf({cfg:e.cfg,channel:`slack`,prompter:e.prompter,existing:i,token:r,noteTitle:`Slack allowlist`,noteLines:[`Allowlist Slack DMs by username (we resolve to user ids).`,`Examples:`,`- U12345678`,`- @alice`,`Multiple entries: comma-separated.`,`Docs: ${Fo(`/slack`,`slack`)}`],message:`Slack allowFrom (usernames or ids)`,placeholder:`@alice, U12345678`,parseId:e=>Df({value:e,mentionPattern:/^<@([A-Z0-9]+)>$/i,prefixPattern:/^(slack:|user:)/i,idPattern:/^[A-Z][A-Z0-9]+$/i,normalizeId:e=>e.toUpperCase()}),invalidWithoutTokenNote:`Slack token missing; use user ids (or mention form) only.`,resolveEntries:({token:e,entries:t})=>Po({token:e,entries:t})})}const np={channel:Zf,getStatus:async({cfg:e})=>{let t=Pi(e).some(t=>Hi({cfg:e,accountId:t}).configured);return{channel:Zf,configured:t,statusLines:[`Slack: ${t?`configured`:`needs tokens`}`],selectionHint:t?`configured`:`needs tokens`,quickstartScore:t?2:1}},configure:async({cfg:e,prompter:t,options:n,accountOverrides:r,shouldPromptAccountIds:i})=>{let a=Fi(e),o=await kf({cfg:e,prompter:t,label:`Slack`,accountOverride:r.slack,shouldPromptAccountIds:i,listAccountIds:Pi,defaultAccountId:a}),s=e,c=Ri({cfg:s,accountId:o}),l=Ke(c.config.botToken),u=Ke(c.config.appToken),d=l&&u,f=!!(c.botToken&&c.appToken)||d,p=o===y,m=c.botToken,h=String(await t.text({message:`Slack bot display name (used for manifest)`,initialValue:`OpenClaw`})).trim();f||await $f(t,h);let g=await zf({cfg:s,prompter:t,providerHint:`slack-bot`,credentialLabel:`Slack bot token`,secretInputMode:n?.secretInputMode,accountConfigured:!!c.botToken||l,hasConfigToken:l,allowEnv:p,envValue:process.env.SLACK_BOT_TOKEN,envPrompt:`SLACK_BOT_TOKEN detected. Use env var?`,keepPrompt:`Slack bot token already configured. Keep it?`,inputPrompt:`Enter Slack bot token (xoxb-...)`,preferredEnvVar:p?`SLACK_BOT_TOKEN`:void 0,applySet:async(e,t)=>If({cfg:e,channel:`slack`,accountId:o,patch:{botToken:t}})});return s=g.cfg,g.resolvedValue&&(m=g.resolvedValue),s=(await zf({cfg:s,prompter:t,providerHint:`slack-app`,credentialLabel:`Slack app token`,secretInputMode:n?.secretInputMode,accountConfigured:!!c.appToken||u,hasConfigToken:u,allowEnv:p,envValue:process.env.SLACK_APP_TOKEN,envPrompt:`SLACK_APP_TOKEN detected. Use env var?`,keepPrompt:`Slack app token already configured. Keep it?`,inputPrompt:`Enter Slack app token (xapp-...)`,preferredEnvVar:p?`SLACK_APP_TOKEN`:void 0,applySet:async(e,t)=>If({cfg:e,channel:`slack`,accountId:o,patch:{appToken:t}})})).cfg,s=await Xf({cfg:s,prompter:t,label:`Slack channels`,currentPolicy:c.config.groupPolicy??`allowlist`,currentEntries:Object.entries(c.config.channels??{}).filter(([,e])=>e?.allow!==!1&&e?.enabled!==!1).map(([e])=>e),placeholder:`#general, #private, C123`,updatePrompt:!!c.config.channels,setPolicy:(e,t)=>Mf({cfg:e,channel:`slack`,accountId:o,groupPolicy:t}),resolveAllowlist:async({cfg:e,entries:n})=>{let r=n,i=Ri({cfg:e,accountId:o}).botToken||m||``;if(i&&n.length>0)try{let e=await ko({token:i,entries:n}),a=e.filter(e=>e.resolved&&e.id).map(e=>e.id),o=e.filter(e=>!e.resolved).map(e=>e.input);r=[...a,...o.map(e=>e.trim()).filter(Boolean)],await Vf({prompter:t,label:`Slack channels`,resolvedSections:[{title:`Resolved`,values:a}],unresolved:o})}catch(e){await Hf({prompter:t,label:`Slack channels`,error:e})}return r},applyAllowlist:({cfg:e,resolved:t})=>ep(e,o,t)}),{cfg:s,accountId:o}},dmPolicy:{label:`Slack`,channel:Zf,policyKey:`channels.slack.dmPolicy`,allowFromKey:`channels.slack.allowFrom`,getCurrent:e=>e.channels?.slack?.dmPolicy??e.channels?.slack?.dm?.policy??`pairing`,setPolicy:(e,t)=>Af({cfg:e,channel:`slack`,dmPolicy:t}),promptAllowFrom:tp},disable:e=>Pf(e,Zf,!1)};function rp(e){try{return JSON.parse(e)}catch{throw Error(`blocks must be valid JSON`)}}function ip(e){if(!Array.isArray(e))throw Error(`blocks must be an array`);if(e.length===0)throw Error(`blocks must contain at least one block`);if(e.length>50)throw Error(`blocks cannot exceed 50 items`);for(let t of e){if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`each block must be an object`);let e=t.type;if(typeof e!=`string`||e.trim().length===0)throw Error(`each block must include a non-empty string type`)}}function ap(e){return ip(e),e}function op(e){if(e!=null)return ap(typeof e==`string`?rp(e):e)}function sp(e){return op(e.blocks)}async function cp(e){let{providerId:t,ctx:n,invoke:r,normalizeChannelId:i,includeReadThreadId:a=!1}=e,{action:o,cfg:s,params:c}=n,l=n.accountId??void 0,u=()=>{let e=U(c,`channelId`)??U(c,`to`,{required:!0});return i?i(e):e};if(o===`send`){let e=U(c,`to`,{required:!0}),t=U(c,`message`,{required:!1,allowEmpty:!0}),i=U(c,`media`,{trim:!1}),a=sp(c);if(!t&&!i&&!a)throw Error(`Slack send requires message, blocks, or media.`);if(i&&a)throw Error(`Slack send does not support blocks with media.`);let o=U(c,`threadId`),u=U(c,`replyTo`);return await r({action:`sendMessage`,to:e,content:t??``,mediaUrl:i??void 0,blocks:a,accountId:l,threadTs:o??u??void 0},s,n.toolContext)}if(o===`react`){let e=U(c,`messageId`,{required:!0}),t=U(c,`emoji`,{allowEmpty:!0}),n=typeof c.remove==`boolean`?c.remove:void 0;return await r({action:`react`,channelId:u(),messageId:e,emoji:t,remove:n,accountId:l},s)}if(o===`reactions`){let e=U(c,`messageId`,{required:!0}),t=Ua(c,`limit`,{integer:!0});return await r({action:`reactions`,channelId:u(),messageId:e,limit:t,accountId:l},s)}if(o===`read`){let e=Ua(c,`limit`,{integer:!0}),t={action:`readMessages`,channelId:u(),limit:e,before:U(c,`before`),after:U(c,`after`),accountId:l};return a&&(t.threadId=U(c,`threadId`)),await r(t,s)}if(o===`edit`){let e=U(c,`messageId`,{required:!0}),t=U(c,`message`,{allowEmpty:!0}),n=sp(c);if(!t&&!n)throw Error(`Slack edit requires message or blocks.`);return await r({action:`editMessage`,channelId:u(),messageId:e,content:t??``,blocks:n,accountId:l},s)}if(o===`delete`){let e=U(c,`messageId`,{required:!0});return await r({action:`deleteMessage`,channelId:u(),messageId:e,accountId:l},s)}if(o===`pin`||o===`unpin`||o===`list-pins`){let e=o===`list-pins`?void 0:U(c,`messageId`,{required:!0});return await r({action:o===`pin`?`pinMessage`:o===`unpin`?`unpinMessage`:`listPins`,channelId:u(),messageId:e,accountId:l},s)}if(o===`member-info`)return await r({action:`memberInfo`,userId:U(c,`userId`,{required:!0}),accountId:l},s);if(o===`emoji-list`)return await r({action:`emojiList`,limit:Ua(c,`limit`,{integer:!0}),accountId:l},s);if(o===`download-file`){let e=U(c,`fileId`,{required:!0}),t=U(c,`channelId`)??U(c,`to`),n=U(c,`threadId`)??U(c,`replyTo`);return await r({action:`downloadFile`,fileId:e,channelId:t??void 0,threadId:n??void 0,accountId:l},s)}throw Error(`Action ${o} is not supported for provider ${t}.`)}exports.DEFAULT_ACCOUNT_ID=y,exports.PAIRING_APPROVED_MESSAGE=`✅ OpenClaw access approved. Send a message to start chatting.`,exports.SlackConfigSchema=Bl,exports.applyAccountNameToChannelSection=Ce,exports.buildChannelConfigSchema=hn,exports.buildComputedAccountStatusSnapshot=Ja,exports.buildSlackThreadingToolContext=Ka,exports.deleteAccountFromConfigSection=_n,exports.emptyPluginConfigSchema=ce,exports.extractSlackToolSend=Ga,exports.formatPairingApproveHint=An,exports.getChatChannelMeta=Ti,exports.handleSlackMessageAction=cp,exports.inspectSlackAccount=Hi,exports.listSlackAccountIds=Pi,exports.listSlackDirectoryGroupsFromConfig=wa,exports.listSlackDirectoryPeersFromConfig=Ca,exports.listSlackMessageActions=Wa,exports.looksLikeSlackTargetId=ma,exports.migrateBaseNameToDefaultAccount=we,exports.normalizeAccountId=b,exports.normalizeSlackMessagingTarget=pa,exports.projectCredentialSnapshotFields=qi,exports.resolveConfiguredFromCredentialStatuses=Gi,exports.resolveConfiguredFromRequiredCredentialStatuses=Ki,exports.resolveDefaultGroupPolicy=Za,exports.resolveDefaultSlackAccountId=Fi,exports.resolveOpenProviderRuntimeGroupPolicy=Qa,exports.resolveSlackAccount=Ri,exports.resolveSlackGroupRequireMention=vo,exports.resolveSlackGroupToolPolicy=yo,exports.resolveSlackReplyToMode=Bi,exports.setAccountEnabledInConfigSection=gn,exports.slackOnboardingAdapter=np;
|
|
9
|
+
`),`Slack socket mode tokens`)}function ep(e,t,n){return If({cfg:e,channel:`slack`,accountId:t,patch:{channels:Object.fromEntries(n.map(e=>[e,{allow:!0}]))}})}async function tp(e){let t=Of({accountId:e.accountId,defaultAccountId:Fi(e.cfg)}),n=Ri({cfg:e.cfg,accountId:t}),r=n.userToken??n.botToken??``,i=e.cfg.channels?.slack?.allowFrom??e.cfg.channels?.slack?.dm?.allowFrom??[];return Wf({cfg:e.cfg,channel:`slack`,prompter:e.prompter,existing:i,token:r,noteTitle:`Slack allowlist`,noteLines:[`Allowlist Slack DMs by username (we resolve to user ids).`,`Examples:`,`- U12345678`,`- @alice`,`Multiple entries: comma-separated.`,`Docs: ${Fo(`/slack`,`slack`)}`],message:`Slack allowFrom (usernames or ids)`,placeholder:`@alice, U12345678`,parseId:e=>Df({value:e,mentionPattern:/^<@([A-Z0-9]+)>$/i,prefixPattern:/^(slack:|user:)/i,idPattern:/^[A-Z][A-Z0-9]+$/i,normalizeId:e=>e.toUpperCase()}),invalidWithoutTokenNote:`Slack token missing; use user ids (or mention form) only.`,resolveEntries:({token:e,entries:t})=>Po({token:e,entries:t})})}const np={channel:Zf,getStatus:async({cfg:e})=>{let t=Pi(e).some(t=>Hi({cfg:e,accountId:t}).configured);return{channel:Zf,configured:t,statusLines:[`Slack: ${t?`configured`:`needs tokens`}`],selectionHint:t?`configured`:`needs tokens`,quickstartScore:t?2:1}},configure:async({cfg:e,prompter:t,options:n,accountOverrides:r,shouldPromptAccountIds:i})=>{let a=Fi(e),o=await kf({cfg:e,prompter:t,label:`Slack`,accountOverride:r.slack,shouldPromptAccountIds:i,listAccountIds:Pi,defaultAccountId:a}),s=e,c=Ri({cfg:s,accountId:o}),l=Ke(c.config.botToken),u=Ke(c.config.appToken),d=l&&u,f=!!(c.botToken&&c.appToken)||d,p=o===y,m=c.botToken,h=String(await t.text({message:`Slack bot display name (used for manifest)`,initialValue:`OpenClaw`})).trim();f||await $f(t,h);let g=await zf({cfg:s,prompter:t,providerHint:`slack-bot`,credentialLabel:`Slack bot token`,secretInputMode:n?.secretInputMode,accountConfigured:!!c.botToken||l,hasConfigToken:l,allowEnv:p,envValue:process.env.SLACK_BOT_TOKEN,envPrompt:`SLACK_BOT_TOKEN detected. Use env var?`,keepPrompt:`Slack bot token already configured. Keep it?`,inputPrompt:`Enter Slack bot token (xoxb-...)`,preferredEnvVar:p?`SLACK_BOT_TOKEN`:void 0,applySet:async(e,t)=>If({cfg:e,channel:`slack`,accountId:o,patch:{botToken:t}})});return s=g.cfg,g.resolvedValue&&(m=g.resolvedValue),s=(await zf({cfg:s,prompter:t,providerHint:`slack-app`,credentialLabel:`Slack app token`,secretInputMode:n?.secretInputMode,accountConfigured:!!c.appToken||u,hasConfigToken:u,allowEnv:p,envValue:process.env.SLACK_APP_TOKEN,envPrompt:`SLACK_APP_TOKEN detected. Use env var?`,keepPrompt:`Slack app token already configured. Keep it?`,inputPrompt:`Enter Slack app token (xapp-...)`,preferredEnvVar:p?`SLACK_APP_TOKEN`:void 0,applySet:async(e,t)=>If({cfg:e,channel:`slack`,accountId:o,patch:{appToken:t}})})).cfg,s=await Xf({cfg:s,prompter:t,label:`Slack channels`,currentPolicy:c.config.groupPolicy??`allowlist`,currentEntries:Object.entries(c.config.channels??{}).filter(([,e])=>e?.allow!==!1&&e?.enabled!==!1).map(([e])=>e),placeholder:`#general, #private, C123`,updatePrompt:!!c.config.channels,setPolicy:(e,t)=>Mf({cfg:e,channel:`slack`,accountId:o,groupPolicy:t}),resolveAllowlist:async({cfg:e,entries:n})=>{let r=n,i=Ri({cfg:e,accountId:o}).botToken||m||``;if(i&&n.length>0)try{let e=await ko({token:i,entries:n}),a=e.filter(e=>e.resolved&&e.id).map(e=>e.id),o=e.filter(e=>!e.resolved).map(e=>e.input);r=[...a,...o.map(e=>e.trim()).filter(Boolean)],await Vf({prompter:t,label:`Slack channels`,resolvedSections:[{title:`Resolved`,values:a}],unresolved:o})}catch(e){await Hf({prompter:t,label:`Slack channels`,error:e})}return r},applyAllowlist:({cfg:e,resolved:t})=>ep(e,o,t)}),{cfg:s,accountId:o}},dmPolicy:{label:`Slack`,channel:Zf,policyKey:`channels.slack.dmPolicy`,allowFromKey:`channels.slack.allowFrom`,getCurrent:e=>e.channels?.slack?.dmPolicy??e.channels?.slack?.dm?.policy??`pairing`,setPolicy:(e,t)=>Af({cfg:e,channel:`slack`,dmPolicy:t}),promptAllowFrom:tp},disable:e=>Pf(e,Zf,!1)};function rp(e){try{return JSON.parse(e)}catch{throw Error(`blocks must be valid JSON`)}}function ip(e){if(!Array.isArray(e))throw Error(`blocks must be an array`);if(e.length===0)throw Error(`blocks must contain at least one block`);if(e.length>50)throw Error(`blocks cannot exceed 50 items`);for(let t of e){if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`each block must be an object`);let e=t.type;if(typeof e!=`string`||e.trim().length===0)throw Error(`each block must include a non-empty string type`)}}function ap(e){return ip(e),e}function op(e){if(e!=null)return ap(typeof e==`string`?rp(e):e)}function sp(e){return op(e.blocks)}async function cp(e){let{providerId:t,ctx:n,invoke:r,normalizeChannelId:i,includeReadThreadId:a=!1}=e,{action:o,cfg:s,params:c}=n,l=n.accountId??void 0,u=()=>{let e=U(c,`channelId`)??U(c,`to`,{required:!0});return i?i(e):e};if(o===`send`){let e=U(c,`to`,{required:!0}),t=U(c,`message`,{required:!1,allowEmpty:!0}),i=U(c,`media`,{trim:!1}),a=sp(c);if(!t&&!i&&!a)throw Error(`Slack send requires message, blocks, or media.`);if(i&&a)throw Error(`Slack send does not support blocks with media.`);let o=U(c,`threadId`),u=U(c,`replyTo`);return await r({action:`sendMessage`,to:e,content:t??``,mediaUrl:i??void 0,blocks:a,accountId:l,threadTs:o??u??void 0},s,n.toolContext)}if(o===`react`){let e=U(c,`messageId`,{required:!0}),t=U(c,`emoji`,{allowEmpty:!0}),n=typeof c.remove==`boolean`?c.remove:void 0;return await r({action:`react`,channelId:u(),messageId:e,emoji:t,remove:n,accountId:l},s)}if(o===`reactions`){let e=U(c,`messageId`,{required:!0}),t=Ua(c,`limit`,{integer:!0});return await r({action:`reactions`,channelId:u(),messageId:e,limit:t,accountId:l},s)}if(o===`read`){let e=Ua(c,`limit`,{integer:!0}),t={action:`readMessages`,channelId:u(),limit:e,before:U(c,`before`),after:U(c,`after`),accountId:l};return a&&(t.threadId=U(c,`threadId`)),await r(t,s)}if(o===`edit`){let e=U(c,`messageId`,{required:!0}),t=U(c,`message`,{allowEmpty:!0}),n=sp(c);if(!t&&!n)throw Error(`Slack edit requires message or blocks.`);return await r({action:`editMessage`,channelId:u(),messageId:e,content:t??``,blocks:n,accountId:l},s)}if(o===`delete`){let e=U(c,`messageId`,{required:!0});return await r({action:`deleteMessage`,channelId:u(),messageId:e,accountId:l},s)}if(o===`pin`||o===`unpin`||o===`list-pins`){let e=o===`list-pins`?void 0:U(c,`messageId`,{required:!0});return await r({action:o===`pin`?`pinMessage`:o===`unpin`?`unpinMessage`:`listPins`,channelId:u(),messageId:e,accountId:l},s)}if(o===`member-info`)return await r({action:`memberInfo`,userId:U(c,`userId`,{required:!0}),accountId:l},s);if(o===`emoji-list`)return await r({action:`emojiList`,limit:Ua(c,`limit`,{integer:!0}),accountId:l},s);if(o===`download-file`){let e=U(c,`fileId`,{required:!0}),t=U(c,`channelId`)??U(c,`to`),n=U(c,`threadId`)??U(c,`replyTo`);return await r({action:`downloadFile`,fileId:e,channelId:t??void 0,threadId:n??void 0,accountId:l},s)}throw Error(`Action ${o} is not supported for provider ${t}.`)}exports.DEFAULT_ACCOUNT_ID=y,exports.PAIRING_APPROVED_MESSAGE=`✅ OpenClaw access approved. Send a message to start chatting.`,exports.SlackConfigSchema=Bl,exports.applyAccountNameToChannelSection=Ce,exports.buildChannelConfigSchema=hn,exports.buildComputedAccountStatusSnapshot=Ja,exports.buildSlackThreadingToolContext=Ka,exports.deleteAccountFromConfigSection=_n,exports.emptyPluginConfigSchema=ce,exports.extractSlackToolSend=Ga,exports.formatPairingApproveHint=An,exports.getChatChannelMeta=Ti,exports.handleSlackMessageAction=cp,exports.inspectSlackAccount=Hi,exports.listSlackAccountIds=Pi,exports.listSlackDirectoryGroupsFromConfig=wa,exports.listSlackDirectoryPeersFromConfig=Ca,exports.listSlackMessageActions=Wa,exports.looksLikeSlackTargetId=ma,exports.migrateBaseNameToDefaultAccount=we,exports.normalizeAccountId=b,exports.normalizeSlackMessagingTarget=pa,exports.projectCredentialSnapshotFields=qi,exports.resolveConfiguredFromCredentialStatuses=Gi,exports.resolveConfiguredFromRequiredCredentialStatuses=Ki,exports.resolveDefaultGroupPolicy=Za,exports.resolveDefaultSlackAccountId=Fi,exports.resolveOpenProviderRuntimeGroupPolicy=Qa,exports.resolveSlackAccount=Ri,exports.resolveSlackGroupRequireMention=vo,exports.resolveSlackGroupToolPolicy=yo,exports.resolveSlackReplyToMode=Bi,exports.setAccountEnabledInConfigSection=gn,exports.slackOnboardingAdapter=np;
|
package/dist/plugin-sdk/slack.js
CHANGED
|
@@ -6,4 +6,4 @@ import{createRequire as e}from"node:module";import{z as t}from"zod";import n fro
|
|
|
6
6
|
`),`Reference check failed`)}}}async function _f(e){return e.explicitMode?e.explicitMode:typeof e.prompter.select==`function`&&await e.prompter.select({message:e.copy?.modeMessage??`How do you want to provide this API key?`,initialValue:`plaintext`,options:[{value:`plaintext`,label:e.copy?.plaintextLabel??`Paste API key now`,hint:e.copy?.plaintextHint??`Stores the key directly in OpenClaw config`},{value:`ref`,label:e.copy?.refLabel??`Use external secret provider`,hint:e.copy?.refHint??`Stores a reference to env or configured external secret providers`}]})===`ref`?`ref`:`plaintext`}async function vf(e){let t=e.listAccountIds(e.cfg),n=e.currentId?.trim()||e.defaultAccountId||`default`,r=await e.prompter.select({message:`${e.label} account`,options:[...t.map(e=>({value:e,label:e===`default`?`default (primary)`:e})),{value:`__new__`,label:`Add a new account`}],initialValue:n});if(r!==`__new__`)return y(r);let i=await e.prompter.text({message:`New ${e.label} account id`,validate:e=>e?.trim()?void 0:`Required`}),a=y(String(i));return String(i).trim()!==a&&await e.prompter.note(`Normalized account id to "${a}".`,`${e.label} account`),a}const yf=async e=>await vf(e);function bf(e){let t=(e??[]).map(e=>String(e).trim()).filter(Boolean);return t.includes(`*`)||t.push(`*`),t}function xf(e,t){let n=[...e??[],...t].map(e=>String(e).trim()).filter(Boolean);return[...new Set(n)]}function Sf(e){return e.split(/[\n,;]+/g).map(e=>e.trim()).filter(Boolean)}function Cf(e){let t=e.value.trim();if(!t)return null;let n=t.match(e.mentionPattern);if(n?.[1])return e.normalizeId?e.normalizeId(n[1]):n[1];let r=e.prefixPattern?t.replace(e.prefixPattern,``):t;return e.idPattern.test(r)?e.normalizeId?e.normalizeId(r):r:null}function wf(e){return e.accountId?.trim()?y(e.accountId):e.defaultAccountId}async function Tf(e){let t=e.accountOverride?.trim(),n=t?y(t):e.defaultAccountId;return e.shouldPromptAccountIds&&!t&&(n=await yf({cfg:e.cfg,prompter:e.prompter,label:e.label,currentId:n,listAccountIds:e.listAccountIds,defaultAccountId:e.defaultAccountId})),n}function Ef(e){let t=e.cfg.channels?.[e.channel]??{allowFrom:void 0,dm:void 0},n=t.allowFrom??t.dm?.allowFrom,r=e.dmPolicy===`open`?bf(n):void 0;return kf({cfg:e.cfg,channel:e.channel,patch:{dmPolicy:e.dmPolicy,...r?{allowFrom:r}:{}}})}function Df(e){return kf({cfg:e.cfg,channel:e.channel,patch:{allowFrom:e.allowFrom}})}function Of(e){return Mf({cfg:e.cfg,channel:e.channel,accountId:e.accountId,patch:{groupPolicy:e.groupPolicy}})}function kf(e){let{cfg:t,channel:n,patch:r}=e,i=t.channels?.[n]??{},a=i.dm??{};return{...t,channels:{...t.channels,[n]:{...i,...r,dm:{...a,enabled:typeof a.enabled==`boolean`?a.enabled:!0}}}}}function Af(e,t,n){let r=e.channels?.[t]??{};return{...e,channels:{...e.channels,[t]:{...r,enabled:n}}}}function jf(e){let{cfg:t,channel:n,accountId:r,patch:i,ensureEnabled:a}=e;return xe({cfg:r===`default`?t:Ee({cfg:t,channelKey:n}),channelKey:n,accountId:r,patch:i,ensureChannelEnabled:a,ensureAccountEnabled:a})}function Mf(e){return jf({...e,ensureEnabled:!0})}function Nf(e){return{accountConfigured:e.accountConfigured,hasConfigToken:e.hasConfigToken,canUseEnv:e.allowEnv&&!!e.envValue?.trim()&&!e.hasConfigToken}}async function Pf(e){let t=async()=>String(await e.prompter.text({message:e.inputPrompt,validate:e=>e?.trim()?void 0:`Required`})).trim();return e.canUseEnv?await e.prompter.confirm({message:e.envPrompt,initialValue:!0})?{useEnv:!0,token:null}:{useEnv:!1,token:await t()}:e.hasConfigToken&&e.accountConfigured&&await e.prompter.confirm({message:e.keepPrompt,initialValue:!0})?{useEnv:!1,token:null}:{useEnv:!1,token:await t()}}async function Ff(e){let t=Nf({accountConfigured:e.accountConfigured,hasConfigToken:e.hasConfigToken,allowEnv:e.allowEnv,envValue:e.envValue});!t.accountConfigured&&e.onMissingConfigured&&await e.onMissingConfigured();let n=await If({cfg:e.cfg,prompter:e.prompter,providerHint:e.providerHint,credentialLabel:e.credentialLabel,secretInputMode:e.secretInputMode,accountConfigured:t.accountConfigured,canUseEnv:t.canUseEnv,hasConfigToken:t.hasConfigToken,envPrompt:e.envPrompt,keepPrompt:e.keepPrompt,inputPrompt:e.inputPrompt,preferredEnvVar:e.preferredEnvVar});return n.action===`use-env`?{cfg:e.applyUseEnv?await e.applyUseEnv(e.cfg):e.cfg,action:n.action,resolvedValue:e.envValue?.trim()||void 0}:n.action===`set`?{cfg:e.applySet?await e.applySet(e.cfg,n.value,n.resolvedValue):e.cfg,action:n.action,resolvedValue:n.resolvedValue}:{cfg:e.cfg,action:n.action}}async function If(e){if(await _f({prompter:e.prompter,explicitMode:e.secretInputMode,copy:{modeMessage:`How do you want to provide this ${e.credentialLabel}?`,plaintextLabel:`Enter ${e.credentialLabel}`,plaintextHint:`Stores the credential directly in OpenClaw config`,refLabel:`Use external secret provider`,refHint:`Stores a reference to env or configured external secret providers`}})===`plaintext`){let t=await Pf({prompter:e.prompter,accountConfigured:e.accountConfigured,canUseEnv:e.canUseEnv,hasConfigToken:e.hasConfigToken,envPrompt:e.envPrompt,keepPrompt:e.keepPrompt,inputPrompt:e.inputPrompt});return t.useEnv?{action:`use-env`}:t.token?{action:`set`,value:t.token,resolvedValue:t.token}:{action:`keep`}}if(e.hasConfigToken&&e.accountConfigured&&await e.prompter.confirm({message:e.keepPrompt,initialValue:!0}))return{action:`keep`};let t=await gf({provider:e.providerHint,config:e.cfg,prompter:e.prompter,preferredEnvVar:e.preferredEnvVar,copy:{sourceMessage:`Where is this ${e.credentialLabel} stored?`,envVarPlaceholder:e.preferredEnvVar??`OPENCLAW_SECRET`,envVarFormatError:`Use an env var name like "OPENCLAW_SECRET" (uppercase letters, numbers, underscores).`,noProvidersMessage:`No file/exec secret providers are configured yet. Add one under secrets.providers, or select Environment variable.`}});return{action:`set`,value:t.ref,resolvedValue:t.resolvedValue}}async function Lf(e){let t=[];for(let n of e.resolvedSections)n.values.length!==0&&t.push(`${n.title}: ${n.values.join(`, `)}`);e.unresolved&&e.unresolved.length>0&&t.push(`Unresolved (kept as typed): ${e.unresolved.join(`, `)}`),t.length>0&&await e.prompter.note(t.join(`
|
|
7
7
|
`),e.label)}async function Rf(e){await e.prompter.note(`Channel lookup failed; keeping entries as typed. ${String(e.error)}`,e.label)}async function zf(e){for(;;){let t=await e.prompter.text({message:e.message,placeholder:e.placeholder,initialValue:e.existing[0]?String(e.existing[0]):void 0,validate:e=>String(e??``).trim()?void 0:`Required`}),n=e.parseInputs(String(t));if(!e.token){let t=n.map(e.parseId).filter(Boolean);if(t.length!==n.length){await e.prompter.note(e.invalidWithoutTokenNote,e.label);continue}return xf(e.existing,t)}let r=await e.resolveEntries({token:e.token,entries:n}).catch(()=>null);if(!r){await e.prompter.note(`Failed to resolve usernames. Try again.`,e.label);continue}let i=r.filter(e=>!e.resolved||!e.id);if(i.length>0){await e.prompter.note(`Could not resolve: ${i.map(e=>e.input).join(`, `)}`,e.label);continue}let a=r.map(e=>e.id);return xf(e.existing,a)}}async function Bf(e){await e.prompter.note(e.noteLines.join(`
|
|
8
8
|
`),e.noteTitle);let t=await zf({prompter:e.prompter,existing:e.existing,token:e.token,message:e.message,placeholder:e.placeholder,label:e.noteTitle,parseInputs:Sf,parseId:e.parseId,invalidWithoutTokenNote:e.invalidWithoutTokenNote,resolveEntries:e.resolveEntries});return Df({cfg:e.cfg,channel:e.channel,allowFrom:t})}function Vf(e){return Sf(String(e??``))}function Hf(e){return e.map(e=>e.trim()).filter(Boolean).join(`, `)}async function Uf(e){let t=[{value:`allowlist`,label:`Allowlist (recommended)`}];e.allowOpen!==!1&&t.push({value:`open`,label:`Open (allow all channels)`}),e.allowDisabled!==!1&&t.push({value:`disabled`,label:`Disabled (block all channels)`});let n=e.currentPolicy??`allowlist`;return await e.prompter.select({message:`${e.label} access`,options:t,initialValue:n})}async function Wf(e){let t=e.currentEntries&&e.currentEntries.length>0?Hf(e.currentEntries):void 0;return Vf(await e.prompter.text({message:`${e.label} allowlist (comma-separated)`,placeholder:e.placeholder,initialValue:t}))}async function Gf(e){let t=(e.currentEntries??[]).length>0,n=e.defaultPrompt??!t;if(!await e.prompter.confirm({message:e.updatePrompt?`Update ${e.label} access?`:`Configure ${e.label} access?`,initialValue:n}))return null;let r=await Uf({prompter:e.prompter,label:e.label,currentPolicy:e.currentPolicy,allowOpen:e.allowOpen,allowDisabled:e.allowDisabled});return r===`allowlist`?{policy:r,entries:await Wf({prompter:e.prompter,label:e.label,currentEntries:e.currentEntries,placeholder:e.placeholder})}:{policy:r,entries:[]}}async function Kf(e){let t=e.cfg,n=await Gf({prompter:e.prompter,label:e.label,currentPolicy:e.currentPolicy,currentEntries:e.currentEntries,placeholder:e.placeholder,updatePrompt:e.updatePrompt});if(!n)return t;if(n.policy!==`allowlist`)return e.setPolicy(t,n.policy);let r=await e.resolveAllowlist({cfg:t,entries:n.entries});return t=e.setPolicy(t,`allowlist`),e.applyAllowlist({cfg:t,resolved:r})}const qf=`slack`;function Jf(e){let t=e.trim()||`OpenClaw`,n={display_information:{name:t,description:`${t} connector for OpenClaw`},features:{bot_user:{display_name:t,always_online:!1},app_home:{messages_tab_enabled:!0,messages_tab_read_only_enabled:!1},slash_commands:[{command:`/openclaw`,description:`Send a message to OpenClaw`,should_escape:!1}]},oauth_config:{scopes:{bot:[`chat:write`,`channels:history`,`channels:read`,`groups:history`,`im:history`,`mpim:history`,`users:read`,`app_mentions:read`,`reactions:read`,`reactions:write`,`pins:read`,`pins:write`,`emoji:read`,`commands`,`files:read`,`files:write`]}},settings:{socket_mode_enabled:!0,event_subscriptions:{bot_events:[`app_mention`,`message.channels`,`message.groups`,`message.im`,`message.mpim`,`reaction_added`,`reaction_removed`,`member_joined_channel`,`member_left_channel`,`channel_rename`,`pin_added`,`pin_removed`]}}};return JSON.stringify(n,null,2)}async function Yf(e,t){let n=Jf(t);await e.note([`1) Slack API → Create App → From scratch or From manifest (with the JSON below)`,`2) Add Socket Mode + enable it to get the app-level token (xapp-...)`,`3) Install App to workspace to get the xoxb- bot token`,`4) Enable Event Subscriptions (socket) for message events`,`5) App Home → enable the Messages tab for DMs`,`Tip: set SLACK_BOT_TOKEN + SLACK_APP_TOKEN in your env.`,`Docs: ${jo(`/slack`,`slack`)}`,``,`Manifest (JSON):`,n].join(`
|
|
9
|
-
`),`Slack socket mode tokens`)}function Xf(e,t,n){return Mf({cfg:e,channel:`slack`,accountId:t,patch:{channels:Object.fromEntries(n.map(e=>[e,{allow:!0}]))}})}async function Zf(e){let t=wf({accountId:e.accountId,defaultAccountId:ji(e.cfg)}),n=Pi({cfg:e.cfg,accountId:t}),r=n.userToken??n.botToken??``,i=e.cfg.channels?.slack?.allowFrom??e.cfg.channels?.slack?.dm?.allowFrom??[];return Bf({cfg:e.cfg,channel:`slack`,prompter:e.prompter,existing:i,token:r,noteTitle:`Slack allowlist`,noteLines:[`Allowlist Slack DMs by username (we resolve to user ids).`,`Examples:`,`- U12345678`,`- @alice`,`Multiple entries: comma-separated.`,`Docs: ${jo(`/slack`,`slack`)}`],message:`Slack allowFrom (usernames or ids)`,placeholder:`@alice, U12345678`,parseId:e=>Cf({value:e,mentionPattern:/^<@([A-Z0-9]+)>$/i,prefixPattern:/^(slack:|user:)/i,idPattern:/^[A-Z][A-Z0-9]+$/i,normalizeId:e=>e.toUpperCase()}),invalidWithoutTokenNote:`Slack token missing; use user ids (or mention form) only.`,resolveEntries:({token:e,entries:t})=>Ao({token:e,entries:t})})}const Qf={channel:qf,getStatus:async({cfg:e})=>{let t=Ai(e).some(t=>Ri({cfg:e,accountId:t}).configured);return{channel:qf,configured:t,statusLines:[`Slack: ${t?`configured`:`needs tokens`}`],selectionHint:t?`configured`:`needs tokens`,quickstartScore:t?2:1}},configure:async({cfg:e,prompter:t,options:n,accountOverrides:r,shouldPromptAccountIds:i})=>{let a=ji(e),o=await Tf({cfg:e,prompter:t,label:`Slack`,accountOverride:r.slack,shouldPromptAccountIds:i,listAccountIds:Ai,defaultAccountId:a}),s=e,c=Pi({cfg:s,accountId:o}),l=b(c.config.botToken),u=b(c.config.appToken),d=l&&u,f=!!(c.botToken&&c.appToken)||d,p=o===v,m=c.botToken,h=String(await t.text({message:`Slack bot display name (used for manifest)`,initialValue:`OpenClaw`})).trim();f||await Yf(t,h);let g=await Ff({cfg:s,prompter:t,providerHint:`slack-bot`,credentialLabel:`Slack bot token`,secretInputMode:n?.secretInputMode,accountConfigured:!!c.botToken||l,hasConfigToken:l,allowEnv:p,envValue:process.env.SLACK_BOT_TOKEN,envPrompt:`SLACK_BOT_TOKEN detected. Use env var?`,keepPrompt:`Slack bot token already configured. Keep it?`,inputPrompt:`Enter Slack bot token (xoxb-...)`,preferredEnvVar:p?`SLACK_BOT_TOKEN`:void 0,applySet:async(e,t)=>Mf({cfg:e,channel:`slack`,accountId:o,patch:{botToken:t}})});return s=g.cfg,g.resolvedValue&&(m=g.resolvedValue),s=(await Ff({cfg:s,prompter:t,providerHint:`slack-app`,credentialLabel:`Slack app token`,secretInputMode:n?.secretInputMode,accountConfigured:!!c.appToken||u,hasConfigToken:u,allowEnv:p,envValue:process.env.SLACK_APP_TOKEN,envPrompt:`SLACK_APP_TOKEN detected. Use env var?`,keepPrompt:`Slack app token already configured. Keep it?`,inputPrompt:`Enter Slack app token (xapp-...)`,preferredEnvVar:p?`SLACK_APP_TOKEN`:void 0,applySet:async(e,t)=>Mf({cfg:e,channel:`slack`,accountId:o,patch:{appToken:t}})})).cfg,s=await Kf({cfg:s,prompter:t,label:`Slack channels`,currentPolicy:c.config.groupPolicy??`allowlist`,currentEntries:Object.entries(c.config.channels??{}).filter(([,e])=>e?.allow!==!1&&e?.enabled!==!1).map(([e])=>e),placeholder:`#general, #private, C123`,updatePrompt:!!c.config.channels,setPolicy:(e,t)=>Of({cfg:e,channel:`slack`,accountId:o,groupPolicy:t}),resolveAllowlist:async({cfg:e,entries:n})=>{let r=n,i=Pi({cfg:e,accountId:o}).botToken||m||``;if(i&&n.length>0)try{let e=await To({token:i,entries:n}),a=e.filter(e=>e.resolved&&e.id).map(e=>e.id),o=e.filter(e=>!e.resolved).map(e=>e.input);r=[...a,...o.map(e=>e.trim()).filter(Boolean)],await Lf({prompter:t,label:`Slack channels`,resolvedSections:[{title:`Resolved`,values:a}],unresolved:o})}catch(e){await Rf({prompter:t,label:`Slack channels`,error:e})}return r},applyAllowlist:({cfg:e,resolved:t})=>Xf(e,o,t)}),{cfg:s,accountId:o}},dmPolicy:{label:`Slack`,channel:qf,policyKey:`channels.slack.dmPolicy`,allowFromKey:`channels.slack.allowFrom`,getCurrent:e=>e.channels?.slack?.dmPolicy??e.channels?.slack?.dm?.policy??`pairing`,setPolicy:(e,t)=>Ef({cfg:e,channel:`slack`,dmPolicy:t}),promptAllowFrom:Zf},disable:e=>Af(e,qf,!1)};function $f(e){try{return JSON.parse(e)}catch{throw Error(`blocks must be valid JSON`)}}function ep(e){if(!Array.isArray(e))throw Error(`blocks must be an array`);if(e.length===0)throw Error(`blocks must contain at least one block`);if(e.length>50)throw Error(`blocks cannot exceed 50 items`);for(let t of e){if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`each block must be an object`);let e=t.type;if(typeof e!=`string`||e.trim().length===0)throw Error(`each block must include a non-empty string type`)}}function tp(e){return ep(e),e}function np(e){if(e!=null)return tp(typeof e==`string`?$f(e):e)}function rp(e){return np(e.blocks)}async function ip(e){let{providerId:t,ctx:n,invoke:r,normalizeChannelId:i,includeReadThreadId:a=!1}=e,{action:o,cfg:s,params:c}=n,l=n.accountId??void 0,u=()=>{let e=U(c,`channelId`)??U(c,`to`,{required:!0});return i?i(e):e};if(o===`send`){let e=U(c,`to`,{required:!0}),t=U(c,`message`,{required:!1,allowEmpty:!0}),i=U(c,`media`,{trim:!1}),a=rp(c);if(!t&&!i&&!a)throw Error(`Slack send requires message, blocks, or media.`);if(i&&a)throw Error(`Slack send does not support blocks with media.`);let o=U(c,`threadId`),u=U(c,`replyTo`);return await r({action:`sendMessage`,to:e,content:t??``,mediaUrl:i??void 0,blocks:a,accountId:l,threadTs:o??u??void 0},s,n.toolContext)}if(o===`react`){let e=U(c,`messageId`,{required:!0}),t=U(c,`emoji`,{allowEmpty:!0}),n=typeof c.remove==`boolean`?c.remove:void 0;return await r({action:`react`,channelId:u(),messageId:e,emoji:t,remove:n,accountId:l},s)}if(o===`reactions`){let e=U(c,`messageId`,{required:!0}),t=za(c,`limit`,{integer:!0});return await r({action:`reactions`,channelId:u(),messageId:e,limit:t,accountId:l},s)}if(o===`read`){let e=za(c,`limit`,{integer:!0}),t={action:`readMessages`,channelId:u(),limit:e,before:U(c,`before`),after:U(c,`after`),accountId:l};return a&&(t.threadId=U(c,`threadId`)),await r(t,s)}if(o===`edit`){let e=U(c,`messageId`,{required:!0}),t=U(c,`message`,{allowEmpty:!0}),n=rp(c);if(!t&&!n)throw Error(`Slack edit requires message or blocks.`);return await r({action:`editMessage`,channelId:u(),messageId:e,content:t??``,blocks:n,accountId:l},s)}if(o===`delete`){let e=U(c,`messageId`,{required:!0});return await r({action:`deleteMessage`,channelId:u(),messageId:e,accountId:l},s)}if(o===`pin`||o===`unpin`||o===`list-pins`){let e=o===`list-pins`?void 0:U(c,`messageId`,{required:!0});return await r({action:o===`pin`?`pinMessage`:o===`unpin`?`unpinMessage`:`listPins`,channelId:u(),messageId:e,accountId:l},s)}if(o===`member-info`)return await r({action:`memberInfo`,userId:U(c,`userId`,{required:!0}),accountId:l},s);if(o===`emoji-list`)return await r({action:`emojiList`,limit:za(c,`limit`,{integer:!0}),accountId:l},s);if(o===`download-file`){let e=U(c,`fileId`,{required:!0}),t=U(c,`channelId`)??U(c,`to`),n=U(c,`threadId`)??U(c,`replyTo`);return await r({action:`downloadFile`,fileId:e,channelId:t??void 0,threadId:n??void 0,accountId:l},s)}throw Error(`Action ${o} is not supported for provider ${t}.`)}export{v as DEFAULT_ACCOUNT_ID,En as PAIRING_APPROVED_MESSAGE,Il as SlackConfigSchema,ye as applyAccountNameToChannelSection,un as buildChannelConfigSchema,Wa as buildComputedAccountStatusSnapshot,Ha as buildSlackThreadingToolContext,fn as deleteAccountFromConfigSection,ie as emptyPluginConfigSchema,Va as extractSlackToolSend,Tn as formatPairingApproveHint,xi as getChatChannelMeta,ip as handleSlackMessageAction,Ri as inspectSlackAccount,Ai as listSlackAccountIds,ba as listSlackDirectoryGroupsFromConfig,ya as listSlackDirectoryPeersFromConfig,Ba as listSlackMessageActions,ua as looksLikeSlackTargetId,be as migrateBaseNameToDefaultAccount,y as normalizeAccountId,la as normalizeSlackMessagingTarget,Ui as projectCredentialSnapshotFields,Vi as resolveConfiguredFromCredentialStatuses,Hi as resolveConfiguredFromRequiredCredentialStatuses,qa as resolveDefaultGroupPolicy,ji as resolveDefaultSlackAccountId,Ja as resolveOpenProviderRuntimeGroupPolicy,Pi as resolveSlackAccount,mo as resolveSlackGroupRequireMention,ho as resolveSlackGroupToolPolicy,Ii as resolveSlackReplyToMode,dn as setAccountEnabledInConfigSection,Qf as slackOnboardingAdapter};
|
|
9
|
+
`),`Slack socket mode tokens`)}function Xf(e,t,n){return Mf({cfg:e,channel:`slack`,accountId:t,patch:{channels:Object.fromEntries(n.map(e=>[e,{allow:!0}]))}})}async function Zf(e){let t=wf({accountId:e.accountId,defaultAccountId:ji(e.cfg)}),n=Pi({cfg:e.cfg,accountId:t}),r=n.userToken??n.botToken??``,i=e.cfg.channels?.slack?.allowFrom??e.cfg.channels?.slack?.dm?.allowFrom??[];return Bf({cfg:e.cfg,channel:`slack`,prompter:e.prompter,existing:i,token:r,noteTitle:`Slack allowlist`,noteLines:[`Allowlist Slack DMs by username (we resolve to user ids).`,`Examples:`,`- U12345678`,`- @alice`,`Multiple entries: comma-separated.`,`Docs: ${jo(`/slack`,`slack`)}`],message:`Slack allowFrom (usernames or ids)`,placeholder:`@alice, U12345678`,parseId:e=>Cf({value:e,mentionPattern:/^<@([A-Z0-9]+)>$/i,prefixPattern:/^(slack:|user:)/i,idPattern:/^[A-Z][A-Z0-9]+$/i,normalizeId:e=>e.toUpperCase()}),invalidWithoutTokenNote:`Slack token missing; use user ids (or mention form) only.`,resolveEntries:({token:e,entries:t})=>Ao({token:e,entries:t})})}const Qf={channel:qf,getStatus:async({cfg:e})=>{let t=Ai(e).some(t=>Ri({cfg:e,accountId:t}).configured);return{channel:qf,configured:t,statusLines:[`Slack: ${t?`configured`:`needs tokens`}`],selectionHint:t?`configured`:`needs tokens`,quickstartScore:t?2:1}},configure:async({cfg:e,prompter:t,options:n,accountOverrides:r,shouldPromptAccountIds:i})=>{let a=ji(e),o=await Tf({cfg:e,prompter:t,label:`Slack`,accountOverride:r.slack,shouldPromptAccountIds:i,listAccountIds:Ai,defaultAccountId:a}),s=e,c=Pi({cfg:s,accountId:o}),l=b(c.config.botToken),u=b(c.config.appToken),d=l&&u,f=!!(c.botToken&&c.appToken)||d,p=o===v,m=c.botToken,h=String(await t.text({message:`Slack bot display name (used for manifest)`,initialValue:`OpenClaw`})).trim();f||await Yf(t,h);let g=await Ff({cfg:s,prompter:t,providerHint:`slack-bot`,credentialLabel:`Slack bot token`,secretInputMode:n?.secretInputMode,accountConfigured:!!c.botToken||l,hasConfigToken:l,allowEnv:p,envValue:process.env.SLACK_BOT_TOKEN,envPrompt:`SLACK_BOT_TOKEN detected. Use env var?`,keepPrompt:`Slack bot token already configured. Keep it?`,inputPrompt:`Enter Slack bot token (xoxb-...)`,preferredEnvVar:p?`SLACK_BOT_TOKEN`:void 0,applySet:async(e,t)=>Mf({cfg:e,channel:`slack`,accountId:o,patch:{botToken:t}})});return s=g.cfg,g.resolvedValue&&(m=g.resolvedValue),s=(await Ff({cfg:s,prompter:t,providerHint:`slack-app`,credentialLabel:`Slack app token`,secretInputMode:n?.secretInputMode,accountConfigured:!!c.appToken||u,hasConfigToken:u,allowEnv:p,envValue:process.env.SLACK_APP_TOKEN,envPrompt:`SLACK_APP_TOKEN detected. Use env var?`,keepPrompt:`Slack app token already configured. Keep it?`,inputPrompt:`Enter Slack app token (xapp-...)`,preferredEnvVar:p?`SLACK_APP_TOKEN`:void 0,applySet:async(e,t)=>Mf({cfg:e,channel:`slack`,accountId:o,patch:{appToken:t}})})).cfg,s=await Kf({cfg:s,prompter:t,label:`Slack channels`,currentPolicy:c.config.groupPolicy??`allowlist`,currentEntries:Object.entries(c.config.channels??{}).filter(([,e])=>e?.allow!==!1&&e?.enabled!==!1).map(([e])=>e),placeholder:`#general, #private, C123`,updatePrompt:!!c.config.channels,setPolicy:(e,t)=>Of({cfg:e,channel:`slack`,accountId:o,groupPolicy:t}),resolveAllowlist:async({cfg:e,entries:n})=>{let r=n,i=Pi({cfg:e,accountId:o}).botToken||m||``;if(i&&n.length>0)try{let e=await To({token:i,entries:n}),a=e.filter(e=>e.resolved&&e.id).map(e=>e.id),o=e.filter(e=>!e.resolved).map(e=>e.input);r=[...a,...o.map(e=>e.trim()).filter(Boolean)],await Lf({prompter:t,label:`Slack channels`,resolvedSections:[{title:`Resolved`,values:a}],unresolved:o})}catch(e){await Rf({prompter:t,label:`Slack channels`,error:e})}return r},applyAllowlist:({cfg:e,resolved:t})=>Xf(e,o,t)}),{cfg:s,accountId:o}},dmPolicy:{label:`Slack`,channel:qf,policyKey:`channels.slack.dmPolicy`,allowFromKey:`channels.slack.allowFrom`,getCurrent:e=>e.channels?.slack?.dmPolicy??e.channels?.slack?.dm?.policy??`pairing`,setPolicy:(e,t)=>Ef({cfg:e,channel:`slack`,dmPolicy:t}),promptAllowFrom:Zf},disable:e=>Af(e,qf,!1)};function $f(e){try{return JSON.parse(e)}catch{throw Error(`blocks must be valid JSON`)}}function ep(e){if(!Array.isArray(e))throw Error(`blocks must be an array`);if(e.length===0)throw Error(`blocks must contain at least one block`);if(e.length>50)throw Error(`blocks cannot exceed 50 items`);for(let t of e){if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`each block must be an object`);let e=t.type;if(typeof e!=`string`||e.trim().length===0)throw Error(`each block must include a non-empty string type`)}}function tp(e){return ep(e),e}function np(e){if(e!=null)return tp(typeof e==`string`?$f(e):e)}function rp(e){return np(e.blocks)}async function ip(e){let{providerId:t,ctx:n,invoke:r,normalizeChannelId:i,includeReadThreadId:a=!1}=e,{action:o,cfg:s,params:c}=n,l=n.accountId??void 0,u=()=>{let e=U(c,`channelId`)??U(c,`to`,{required:!0});return i?i(e):e};if(o===`send`){let e=U(c,`to`,{required:!0}),t=U(c,`message`,{required:!1,allowEmpty:!0}),i=U(c,`media`,{trim:!1}),a=rp(c);if(!t&&!i&&!a)throw Error(`Slack send requires message, blocks, or media.`);if(i&&a)throw Error(`Slack send does not support blocks with media.`);let o=U(c,`threadId`),u=U(c,`replyTo`);return await r({action:`sendMessage`,to:e,content:t??``,mediaUrl:i??void 0,blocks:a,accountId:l,threadTs:o??u??void 0},s,n.toolContext)}if(o===`react`){let e=U(c,`messageId`,{required:!0}),t=U(c,`emoji`,{allowEmpty:!0}),n=typeof c.remove==`boolean`?c.remove:void 0;return await r({action:`react`,channelId:u(),messageId:e,emoji:t,remove:n,accountId:l},s)}if(o===`reactions`){let e=U(c,`messageId`,{required:!0}),t=za(c,`limit`,{integer:!0});return await r({action:`reactions`,channelId:u(),messageId:e,limit:t,accountId:l},s)}if(o===`read`){let e=za(c,`limit`,{integer:!0}),t={action:`readMessages`,channelId:u(),limit:e,before:U(c,`before`),after:U(c,`after`),accountId:l};return a&&(t.threadId=U(c,`threadId`)),await r(t,s)}if(o===`edit`){let e=U(c,`messageId`,{required:!0}),t=U(c,`message`,{allowEmpty:!0}),n=rp(c);if(!t&&!n)throw Error(`Slack edit requires message or blocks.`);return await r({action:`editMessage`,channelId:u(),messageId:e,content:t??``,blocks:n,accountId:l},s)}if(o===`delete`){let e=U(c,`messageId`,{required:!0});return await r({action:`deleteMessage`,channelId:u(),messageId:e,accountId:l},s)}if(o===`pin`||o===`unpin`||o===`list-pins`){let e=o===`list-pins`?void 0:U(c,`messageId`,{required:!0});return await r({action:o===`pin`?`pinMessage`:o===`unpin`?`unpinMessage`:`listPins`,channelId:u(),messageId:e,accountId:l},s)}if(o===`member-info`)return await r({action:`memberInfo`,userId:U(c,`userId`,{required:!0}),accountId:l},s);if(o===`emoji-list`)return await r({action:`emojiList`,limit:za(c,`limit`,{integer:!0}),accountId:l},s);if(o===`download-file`){let e=U(c,`fileId`,{required:!0}),t=U(c,`channelId`)??U(c,`to`),n=U(c,`threadId`)??U(c,`replyTo`);return await r({action:`downloadFile`,fileId:e,channelId:t??void 0,threadId:n??void 0,accountId:l},s)}throw Error(`Action ${o} is not supported for provider ${t}.`)}export{v as DEFAULT_ACCOUNT_ID,En as PAIRING_APPROVED_MESSAGE,Il as SlackConfigSchema,ye as applyAccountNameToChannelSection,un as buildChannelConfigSchema,Wa as buildComputedAccountStatusSnapshot,Ha as buildSlackThreadingToolContext,fn as deleteAccountFromConfigSection,ie as emptyPluginConfigSchema,Va as extractSlackToolSend,Tn as formatPairingApproveHint,xi as getChatChannelMeta,ip as handleSlackMessageAction,Ri as inspectSlackAccount,Ai as listSlackAccountIds,ba as listSlackDirectoryGroupsFromConfig,ya as listSlackDirectoryPeersFromConfig,Ba as listSlackMessageActions,ua as looksLikeSlackTargetId,be as migrateBaseNameToDefaultAccount,y as normalizeAccountId,la as normalizeSlackMessagingTarget,Ui as projectCredentialSnapshotFields,Vi as resolveConfiguredFromCredentialStatuses,Hi as resolveConfiguredFromRequiredCredentialStatuses,qa as resolveDefaultGroupPolicy,ji as resolveDefaultSlackAccountId,Ja as resolveOpenProviderRuntimeGroupPolicy,Pi as resolveSlackAccount,mo as resolveSlackGroupRequireMention,ho as resolveSlackGroupToolPolicy,Ii as resolveSlackReplyToMode,dn as setAccountEnabledInConfigSection,Qf as slackOnboardingAdapter};
|