@qqbrowser/openclaw-qbot 0.0.127 → 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 +3 -3
- 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/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{t as e}from"./rolldown-runtime-CNxR59P3.js";import{Ja as t,La as n}from"./model-auth-eNVBeC-B.js";import r from"node:fs";import i from"node:path";import*as a from"@mariozechner/pi-coding-agent";function o(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function s(e){let n={};for(let r of Object.values(e.profiles)){let e=t(String(r.provider??``)).trim();if(!e||n[e])continue;let i=o(r);i&&(n[e]=i)}return n}var c=e({AuthStorage:()=>l,ModelRegistry:()=>u,discoverAuthStorage:()=>g,discoverModels:()=>_});const l=a.AuthStorage,u=a.ModelRegistry;function d(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function f(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function p(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!r.existsSync(e))return;let t;try{t=JSON.parse(r.readFileSync(e,`utf8`))}catch{return}if(!f(t))return;let n=!1;for(let[e,r]of Object.entries(t))f(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){r.rmSync(e,{force:!0});return}r.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),r.chmodSync(e,384)}}function m(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let i=e;if(typeof i.fromStorage==`function`){let e=a.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:d(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),i.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function h(e){return s(n(e,{allowKeychainPrompt:!1}))}function g(e){let t=h(e),n=i.join(e,`auth.json`);return p(n),m(l,n,t)}function _(e,t){return new u(e,i.join(t,`models.json`))}export{_ as n,c as r,g as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{Ja as t,La as n}from"./model-auth-eNVBeC-B.js";import r from"node:fs";import i from"node:path";import*as a from"@mariozechner/pi-coding-agent";function o(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function s(e){let n={};for(let r of Object.values(e.profiles)){let e=t(String(r.provider??``)).trim();if(!e||n[e])continue;let i=o(r);i&&(n[e]=i)}return n}var c=e({AuthStorage:()=>l,ModelRegistry:()=>u,discoverAuthStorage:()=>g,discoverModels:()=>_});const l=a.AuthStorage,u=a.ModelRegistry;function d(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function f(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function p(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!r.existsSync(e))return;let t;try{t=JSON.parse(r.readFileSync(e,`utf8`))}catch{return}if(!f(t))return;let n=!1;for(let[e,r]of Object.entries(t))f(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){r.rmSync(e,{force:!0});return}r.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),r.chmodSync(e,384)}}function m(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let i=e;if(typeof i.fromStorage==`function`){let e=a.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:d(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),i.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function h(e){return s(n(e,{allowKeychainPrompt:!1}))}function g(e){let t=h(e),n=i.join(e,`auth.json`);return p(n),m(l,n,t)}function _(e,t){return new u(e,i.join(t,`models.json`))}export{_ as n,c as r,g as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{W as e,r as t}from"./model-selection-4ExiFkaW.js";import n from"node:fs";import r from"node:path";import*as i from"@mariozechner/pi-coding-agent";function a(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function o(e){let n={};for(let r of Object.values(e.profiles)){let e=t(String(r.provider??``)).trim();if(!e||n[e])continue;let i=a(r);i&&(n[e]=i)}return n}const s=i.AuthStorage,c=i.ModelRegistry;function l(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!n.existsSync(e))return;let t;try{t=JSON.parse(n.readFileSync(e,`utf8`))}catch{return}if(!u(t))return;let r=!1;for(let[e,n]of Object.entries(t))u(n)&&n.type===`api_key`&&(delete t[e],r=!0);if(r){if(Object.keys(t).length===0){n.rmSync(e,{force:!0});return}n.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),n.chmodSync(e,384)}}function f(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=i.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:l(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function p(t){return o(e(t,{allowKeychainPrompt:!1}))}function m(e){let t=p(e),n=r.join(e,`auth.json`);return d(n),f(s,n,t)}function h(e,t){return new c(e,r.join(t,`models.json`))}export{s as AuthStorage,c as ModelRegistry,m as discoverAuthStorage,h as discoverModels};
|
|
1
|
+
import{W as e,r as t}from"./model-selection-4ExiFkaW.js";import n from"node:fs";import r from"node:path";import*as i from"@mariozechner/pi-coding-agent";function a(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function o(e){let n={};for(let r of Object.values(e.profiles)){let e=t(String(r.provider??``)).trim();if(!e||n[e])continue;let i=a(r);i&&(n[e]=i)}return n}const s=i.AuthStorage,c=i.ModelRegistry;function l(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!n.existsSync(e))return;let t;try{t=JSON.parse(n.readFileSync(e,`utf8`))}catch{return}if(!u(t))return;let r=!1;for(let[e,n]of Object.entries(t))u(n)&&n.type===`api_key`&&(delete t[e],r=!0);if(r){if(Object.keys(t).length===0){n.rmSync(e,{force:!0});return}n.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),n.chmodSync(e,384)}}function f(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=i.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:l(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function p(t){return o(e(t,{allowKeychainPrompt:!1}))}function m(e){let t=p(e),n=r.join(e,`auth.json`);return d(n),f(s,n,t)}function h(e,t){return new c(e,r.join(t,`models.json`))}export{s as AuthStorage,c as ModelRegistry,m as discoverAuthStorage,h as discoverModels};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./config-DT_csBcZ.cjs`);let n=require(`node:fs`);n=e.p(n);let r=require(`node:path`);r=e.p(r);let i=require(`@mariozechner/pi-coding-agent`);i=e.p(i);function a(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function o(e){let n={};for(let r of Object.values(e.profiles)){let e=t.Pt(String(r.provider??``)).trim();if(!e||n[e])continue;let i=a(r);i&&(n[e]=i)}return n}const s=i.AuthStorage,c=i.ModelRegistry;function l(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!n.default.existsSync(e))return;let t;try{t=JSON.parse(n.default.readFileSync(e,`utf8`))}catch{return}if(!u(t))return;let r=!1;for(let[e,n]of Object.entries(t))u(n)&&n.type===`api_key`&&(delete t[e],r=!0);if(r){if(Object.keys(t).length===0){n.default.rmSync(e,{force:!0});return}n.default.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),n.default.chmodSync(e,384)}}function f(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=i.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:l(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function p(e){return o(t.Il(e,{allowKeychainPrompt:!1}))}function m(e){let t=p(e),n=r.default.join(e,`auth.json`);return d(n),f(s,n,t)}function h(e,t){return new c(e,r.default.join(t,`models.json`))}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
1
|
+
const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./config-DT_csBcZ.cjs`);let n=require(`node:fs`);n=e.p(n);let r=require(`node:path`);r=e.p(r);let i=require(`@mariozechner/pi-coding-agent`);i=e.p(i);function a(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function o(e){let n={};for(let r of Object.values(e.profiles)){let e=t.Pt(String(r.provider??``)).trim();if(!e||n[e])continue;let i=a(r);i&&(n[e]=i)}return n}const s=i.AuthStorage,c=i.ModelRegistry;function l(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!n.default.existsSync(e))return;let t;try{t=JSON.parse(n.default.readFileSync(e,`utf8`))}catch{return}if(!u(t))return;let r=!1;for(let[e,n]of Object.entries(t))u(n)&&n.type===`api_key`&&(delete t[e],r=!0);if(r){if(Object.keys(t).length===0){n.default.rmSync(e,{force:!0});return}n.default.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),n.default.chmodSync(e,384)}}function f(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=i.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:l(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function p(e){return o(t.Il(e,{allowKeychainPrompt:!1}))}function m(e){let t=p(e),n=r.default.join(e,`auth.json`);return d(n),f(s,n,t)}function h(e,t){return new c(e,r.default.join(t,`models.json`))}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./sessions-CJbvfO6m.cjs`);let n=require(`node:path`);n=e.p(n);let r=require(`node:fs`);r=e.p(r);let i=require(`@mariozechner/pi-coding-agent`);i=e.p(i);function a(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function o(e){let n={};for(let r of Object.values(e.profiles)){let e=t.in(String(r.provider??``)).trim();if(!e||n[e])continue;let i=a(r);i&&(n[e]=i)}return n}const s=i.AuthStorage,c=i.ModelRegistry;function l(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!r.default.existsSync(e))return;let t;try{t=JSON.parse(r.default.readFileSync(e,`utf8`))}catch{return}if(!u(t))return;let n=!1;for(let[e,r]of Object.entries(t))u(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){r.default.rmSync(e,{force:!0});return}r.default.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),r.default.chmodSync(e,384)}}function f(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=i.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:l(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function p(e){return o(t.Ja(e,{allowKeychainPrompt:!1}))}function m(e){let t=p(e),r=n.default.join(e,`auth.json`);return d(r),f(s,r,t)}function h(e,t){return new c(e,n.default.join(t,`models.json`))}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
1
|
+
const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./sessions-CJbvfO6m.cjs`);let n=require(`node:path`);n=e.p(n);let r=require(`node:fs`);r=e.p(r);let i=require(`@mariozechner/pi-coding-agent`);i=e.p(i);function a(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function o(e){let n={};for(let r of Object.values(e.profiles)){let e=t.in(String(r.provider??``)).trim();if(!e||n[e])continue;let i=a(r);i&&(n[e]=i)}return n}const s=i.AuthStorage,c=i.ModelRegistry;function l(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!r.default.existsSync(e))return;let t;try{t=JSON.parse(r.default.readFileSync(e,`utf8`))}catch{return}if(!u(t))return;let n=!1;for(let[e,r]of Object.entries(t))u(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){r.default.rmSync(e,{force:!0});return}r.default.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),r.default.chmodSync(e,384)}}function f(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=i.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:l(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function p(e){return o(t.Ja(e,{allowKeychainPrompt:!1}))}function m(e){let t=p(e),r=n.default.join(e,`auth.json`);return d(r),f(s,r,t)}function h(e,t){return new c(e,n.default.join(t,`models.json`))}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./model-auth-CLnFIqcf.cjs`);let n=require(`node:path`);n=e.p(n);let r=require(`node:fs`);r=e.p(r);let i=require(`@mariozechner/pi-coding-agent`);i=e.p(i);function a(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function o(e){let n={};for(let r of Object.values(e.profiles)){let e=t.Ds(String(r.provider??``)).trim();if(!e||n[e])continue;let i=a(r);i&&(n[e]=i)}return n}const s=i.AuthStorage,c=i.ModelRegistry;function l(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!r.default.existsSync(e))return;let t;try{t=JSON.parse(r.default.readFileSync(e,`utf8`))}catch{return}if(!u(t))return;let n=!1;for(let[e,r]of Object.entries(t))u(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){r.default.rmSync(e,{force:!0});return}r.default.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),r.default.chmodSync(e,384)}}function f(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=i.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:l(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function p(e){return o(t.hs(e,{allowKeychainPrompt:!1}))}function m(e){let t=p(e),r=n.default.join(e,`auth.json`);return d(r),f(s,r,t)}function h(e,t){return new c(e,n.default.join(t,`models.json`))}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
1
|
+
const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./model-auth-CLnFIqcf.cjs`);let n=require(`node:path`);n=e.p(n);let r=require(`node:fs`);r=e.p(r);let i=require(`@mariozechner/pi-coding-agent`);i=e.p(i);function a(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function o(e){let n={};for(let r of Object.values(e.profiles)){let e=t.Ds(String(r.provider??``)).trim();if(!e||n[e])continue;let i=a(r);i&&(n[e]=i)}return n}const s=i.AuthStorage,c=i.ModelRegistry;function l(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!r.default.existsSync(e))return;let t;try{t=JSON.parse(r.default.readFileSync(e,`utf8`))}catch{return}if(!u(t))return;let n=!1;for(let[e,r]of Object.entries(t))u(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){r.default.rmSync(e,{force:!0});return}r.default.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),r.default.chmodSync(e,384)}}function f(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=i.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:l(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function p(e){return o(t.hs(e,{allowKeychainPrompt:!1}))}function m(e){let t=p(e),r=n.default.join(e,`auth.json`);return d(r),f(s,r,t)}function h(e,t){return new c(e,n.default.join(t,`models.json`))}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./model-selection-CZY_x2-a.cjs`);let t=require(`node:fs`);t=e.Pt(t);let n=require(`node:path`);n=e.Pt(n);let r=require(`@mariozechner/pi-coding-agent`);r=e.Pt(r);function i(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function a(t){let n={};for(let r of Object.values(t.profiles)){let t=e.r(String(r.provider??``)).trim();if(!t||n[t])continue;let a=i(r);a&&(n[t]=a)}return n}const o=r.AuthStorage,s=r.ModelRegistry;function c(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function l(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function u(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!t.default.existsSync(e))return;let n;try{n=JSON.parse(t.default.readFileSync(e,`utf8`))}catch{return}if(!l(n))return;let r=!1;for(let[e,t]of Object.entries(n))l(t)&&t.type===`api_key`&&(delete n[e],r=!0);if(r){if(Object.keys(n).length===0){t.default.rmSync(e,{force:!0});return}t.default.writeFileSync(e,`${JSON.stringify(n,null,2)}\n`,`utf8`),t.default.chmodSync(e,384)}}function d(e,t,n){let i=e;if(typeof i.inMemory==`function`)return i.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=r.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:c(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function f(t){return a(e.W(t,{allowKeychainPrompt:!1}))}function p(e){let t=f(e),r=n.default.join(e,`auth.json`);return u(r),d(o,r,t)}function m(e,t){return new s(e,n.default.join(t,`models.json`))}exports.AuthStorage=o,exports.ModelRegistry=s,exports.discoverAuthStorage=p,exports.discoverModels=m;
|
|
1
|
+
const e=require(`./model-selection-CZY_x2-a.cjs`);let t=require(`node:fs`);t=e.Pt(t);let n=require(`node:path`);n=e.Pt(n);let r=require(`@mariozechner/pi-coding-agent`);r=e.Pt(r);function i(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function a(t){let n={};for(let r of Object.values(t.profiles)){let t=e.r(String(r.provider??``)).trim();if(!t||n[t])continue;let a=i(r);a&&(n[t]=a)}return n}const o=r.AuthStorage,s=r.ModelRegistry;function c(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function l(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function u(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!t.default.existsSync(e))return;let n;try{n=JSON.parse(t.default.readFileSync(e,`utf8`))}catch{return}if(!l(n))return;let r=!1;for(let[e,t]of Object.entries(n))l(t)&&t.type===`api_key`&&(delete n[e],r=!0);if(r){if(Object.keys(n).length===0){t.default.rmSync(e,{force:!0});return}t.default.writeFileSync(e,`${JSON.stringify(n,null,2)}\n`,`utf8`),t.default.chmodSync(e,384)}}function d(e,t,n){let i=e;if(typeof i.inMemory==`function`)return i.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=r.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:c(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function f(t){return a(e.W(t,{allowKeychainPrompt:!1}))}function p(e){let t=f(e),r=n.default.join(e,`auth.json`);return u(r),d(o,r,t)}function m(e,t){return new s(e,n.default.join(t,`models.json`))}exports.AuthStorage=o,exports.ModelRegistry=s,exports.discoverAuthStorage=p,exports.discoverModels=m;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{cs as t,ys as n}from"./model-auth-g6eGgTwR.js";import r from"node:path";import i from"node:fs";import*as a from"@mariozechner/pi-coding-agent";function o(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function s(e){let t={};for(let r of Object.values(e.profiles)){let e=n(String(r.provider??``)).trim();if(!e||t[e])continue;let i=o(r);i&&(t[e]=i)}return t}var c=e({AuthStorage:()=>l,ModelRegistry:()=>u,discoverAuthStorage:()=>g,discoverModels:()=>_});const l=a.AuthStorage,u=a.ModelRegistry;function d(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function f(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function p(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!i.existsSync(e))return;let t;try{t=JSON.parse(i.readFileSync(e,`utf8`))}catch{return}if(!f(t))return;let n=!1;for(let[e,r]of Object.entries(t))f(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){i.rmSync(e,{force:!0});return}i.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),i.chmodSync(e,384)}}function m(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let i=e;if(typeof i.fromStorage==`function`){let e=a.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:d(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),i.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function h(e){return s(t(e,{allowKeychainPrompt:!1}))}function g(e){let t=h(e),n=r.join(e,`auth.json`);return p(n),m(l,n,t)}function _(e,t){return new u(e,r.join(t,`models.json`))}export{_ as n,c as r,g as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{cs as t,ys as n}from"./model-auth-g6eGgTwR.js";import r from"node:path";import i from"node:fs";import*as a from"@mariozechner/pi-coding-agent";function o(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function s(e){let t={};for(let r of Object.values(e.profiles)){let e=n(String(r.provider??``)).trim();if(!e||t[e])continue;let i=o(r);i&&(t[e]=i)}return t}var c=e({AuthStorage:()=>l,ModelRegistry:()=>u,discoverAuthStorage:()=>g,discoverModels:()=>_});const l=a.AuthStorage,u=a.ModelRegistry;function d(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function f(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function p(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!i.existsSync(e))return;let t;try{t=JSON.parse(i.readFileSync(e,`utf8`))}catch{return}if(!f(t))return;let n=!1;for(let[e,r]of Object.entries(t))f(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){i.rmSync(e,{force:!0});return}i.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),i.chmodSync(e,384)}}function m(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let i=e;if(typeof i.fromStorage==`function`){let e=a.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:d(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),i.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function h(e){return s(t(e,{allowKeychainPrompt:!1}))}function g(e){let t=h(e),n=r.join(e,`auth.json`);return p(n),m(l,n,t)}function _(e,t){return new u(e,r.join(t,`models.json`))}export{_ as n,c as r,g as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./model-auth-CKlA2xRB.cjs`);let n=require(`node:fs`);n=e.p(n);let r=require(`node:path`);r=e.p(r);let i=require(`@mariozechner/pi-coding-agent`);i=e.p(i);function a(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function o(e){let n={};for(let r of Object.values(e.profiles)){let e=t.Qa(String(r.provider??``)).trim();if(!e||n[e])continue;let i=a(r);i&&(n[e]=i)}return n}const s=i.AuthStorage,c=i.ModelRegistry;function l(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!n.default.existsSync(e))return;let t;try{t=JSON.parse(n.default.readFileSync(e,`utf8`))}catch{return}if(!u(t))return;let r=!1;for(let[e,n]of Object.entries(t))u(n)&&n.type===`api_key`&&(delete t[e],r=!0);if(r){if(Object.keys(t).length===0){n.default.rmSync(e,{force:!0});return}n.default.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),n.default.chmodSync(e,384)}}function f(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=i.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:l(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function p(e){return o(t.Ba(e,{allowKeychainPrompt:!1}))}function m(e){let t=p(e),n=r.default.join(e,`auth.json`);return d(n),f(s,n,t)}function h(e,t){return new c(e,r.default.join(t,`models.json`))}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
1
|
+
const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./model-auth-CKlA2xRB.cjs`);let n=require(`node:fs`);n=e.p(n);let r=require(`node:path`);r=e.p(r);let i=require(`@mariozechner/pi-coding-agent`);i=e.p(i);function a(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function o(e){let n={};for(let r of Object.values(e.profiles)){let e=t.Qa(String(r.provider??``)).trim();if(!e||n[e])continue;let i=a(r);i&&(n[e]=i)}return n}const s=i.AuthStorage,c=i.ModelRegistry;function l(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!n.default.existsSync(e))return;let t;try{t=JSON.parse(n.default.readFileSync(e,`utf8`))}catch{return}if(!u(t))return;let r=!1;for(let[e,n]of Object.entries(t))u(n)&&n.type===`api_key`&&(delete t[e],r=!0);if(r){if(Object.keys(t).length===0){n.default.rmSync(e,{force:!0});return}n.default.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),n.default.chmodSync(e,384)}}function f(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=i.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:l(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function p(e){return o(t.Ba(e,{allowKeychainPrompt:!1}))}function m(e){let t=p(e),n=r.default.join(e,`auth.json`);return d(n),f(s,n,t)}function h(e,t){return new c(e,r.default.join(t,`models.json`))}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{Ga as t,in as n}from"./sessions-BwTjGneU.js";import r from"node:path";import i from"node:fs";import*as a from"@mariozechner/pi-coding-agent";function o(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function s(e){let t={};for(let r of Object.values(e.profiles)){let e=n(String(r.provider??``)).trim();if(!e||t[e])continue;let i=o(r);i&&(t[e]=i)}return t}var c=e({AuthStorage:()=>l,ModelRegistry:()=>u,discoverAuthStorage:()=>g,discoverModels:()=>_});const l=a.AuthStorage,u=a.ModelRegistry;function d(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function f(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function p(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!i.existsSync(e))return;let t;try{t=JSON.parse(i.readFileSync(e,`utf8`))}catch{return}if(!f(t))return;let n=!1;for(let[e,r]of Object.entries(t))f(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){i.rmSync(e,{force:!0});return}i.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),i.chmodSync(e,384)}}function m(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let i=e;if(typeof i.fromStorage==`function`){let e=a.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:d(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),i.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function h(e){return s(t(e,{allowKeychainPrompt:!1}))}function g(e){let t=h(e),n=r.join(e,`auth.json`);return p(n),m(l,n,t)}function _(e,t){return new u(e,r.join(t,`models.json`))}export{_ as n,c as r,g as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{Ga as t,in as n}from"./sessions-BwTjGneU.js";import r from"node:path";import i from"node:fs";import*as a from"@mariozechner/pi-coding-agent";function o(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function s(e){let t={};for(let r of Object.values(e.profiles)){let e=n(String(r.provider??``)).trim();if(!e||t[e])continue;let i=o(r);i&&(t[e]=i)}return t}var c=e({AuthStorage:()=>l,ModelRegistry:()=>u,discoverAuthStorage:()=>g,discoverModels:()=>_});const l=a.AuthStorage,u=a.ModelRegistry;function d(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function f(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function p(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!i.existsSync(e))return;let t;try{t=JSON.parse(i.readFileSync(e,`utf8`))}catch{return}if(!f(t))return;let n=!1;for(let[e,r]of Object.entries(t))f(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){i.rmSync(e,{force:!0});return}i.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),i.chmodSync(e,384)}}function m(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let i=e;if(typeof i.fromStorage==`function`){let e=a.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:d(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),i.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function h(e){return s(t(e,{allowKeychainPrompt:!1}))}function g(e){let t=h(e),n=r.join(e,`auth.json`);return p(n),m(l,n,t)}function _(e,t){return new u(e,r.join(t,`models.json`))}export{_ as n,c as r,g as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./model-auth-BgS7ynQw.cjs`);let n=require(`node:path`);n=e.p(n);let r=require(`node:fs`);r=e.p(r);let i=require(`@mariozechner/pi-coding-agent`);i=e.p(i);function a(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function o(e){let n={};for(let r of Object.values(e.profiles)){let e=t.Wo(String(r.provider??``)).trim();if(!e||n[e])continue;let i=a(r);i&&(n[e]=i)}return n}const s=i.AuthStorage,c=i.ModelRegistry;function l(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!r.default.existsSync(e))return;let t;try{t=JSON.parse(r.default.readFileSync(e,`utf8`))}catch{return}if(!u(t))return;let n=!1;for(let[e,r]of Object.entries(t))u(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){r.default.rmSync(e,{force:!0});return}r.default.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),r.default.chmodSync(e,384)}}function f(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=i.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:l(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function p(e){return o(t.Mo(e,{allowKeychainPrompt:!1}))}function m(e){let t=p(e),r=n.default.join(e,`auth.json`);return d(r),f(s,r,t)}function h(e,t){return new c(e,n.default.join(t,`models.json`))}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
1
|
+
const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./model-auth-BgS7ynQw.cjs`);let n=require(`node:path`);n=e.p(n);let r=require(`node:fs`);r=e.p(r);let i=require(`@mariozechner/pi-coding-agent`);i=e.p(i);function a(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function o(e){let n={};for(let r of Object.values(e.profiles)){let e=t.Wo(String(r.provider??``)).trim();if(!e||n[e])continue;let i=a(r);i&&(n[e]=i)}return n}const s=i.AuthStorage,c=i.ModelRegistry;function l(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!r.default.existsSync(e))return;let t;try{t=JSON.parse(r.default.readFileSync(e,`utf8`))}catch{return}if(!u(t))return;let n=!1;for(let[e,r]of Object.entries(t))u(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){r.default.rmSync(e,{force:!0});return}r.default.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),r.default.chmodSync(e,384)}}function f(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let a=e;if(typeof a.fromStorage==`function`){let e=i.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:l(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),a.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function p(e){return o(t.Mo(e,{allowKeychainPrompt:!1}))}function m(e){let t=p(e),r=n.default.join(e,`auth.json`);return d(r),f(s,r,t)}function h(e,t){return new c(e,n.default.join(t,`models.json`))}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{Nl as t,Pt as n}from"./config-LR8GH3Ws.js";import r from"node:fs";import i from"node:path";import*as a from"@mariozechner/pi-coding-agent";function o(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function s(e){let t={};for(let r of Object.values(e.profiles)){let e=n(String(r.provider??``)).trim();if(!e||t[e])continue;let i=o(r);i&&(t[e]=i)}return t}var c=e({AuthStorage:()=>l,ModelRegistry:()=>u,discoverAuthStorage:()=>g,discoverModels:()=>_});const l=a.AuthStorage,u=a.ModelRegistry;function d(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function f(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function p(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!r.existsSync(e))return;let t;try{t=JSON.parse(r.readFileSync(e,`utf8`))}catch{return}if(!f(t))return;let n=!1;for(let[e,r]of Object.entries(t))f(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){r.rmSync(e,{force:!0});return}r.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),r.chmodSync(e,384)}}function m(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let i=e;if(typeof i.fromStorage==`function`){let e=a.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:d(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),i.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function h(e){return s(t(e,{allowKeychainPrompt:!1}))}function g(e){let t=h(e),n=i.join(e,`auth.json`);return p(n),m(l,n,t)}function _(e,t){return new u(e,i.join(t,`models.json`))}export{_ as n,c as r,g as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{Nl as t,Pt as n}from"./config-LR8GH3Ws.js";import r from"node:fs";import i from"node:path";import*as a from"@mariozechner/pi-coding-agent";function o(e){if(e.type===`api_key`){let t=typeof e.key==`string`?e.key.trim():``;return t?{type:`api_key`,key:t}:null}if(e.type===`token`){let t=typeof e.token==`string`?e.token.trim():``;return!t||typeof e.expires==`number`&&Number.isFinite(e.expires)&&Date.now()>=e.expires?null:{type:`api_key`,key:t}}if(e.type===`oauth`){let t=typeof e.access==`string`?e.access.trim():``,n=typeof e.refresh==`string`?e.refresh.trim():``;return!t||!n||!Number.isFinite(e.expires)||e.expires<=0?null:{type:`oauth`,access:t,refresh:n,expires:e.expires}}return null}function s(e){let t={};for(let r of Object.values(e.profiles)){let e=n(String(r.provider??``)).trim();if(!e||t[e])continue;let i=o(r);i&&(t[e]=i)}return t}var c=e({AuthStorage:()=>l,ModelRegistry:()=>u,discoverAuthStorage:()=>g,discoverModels:()=>_});const l=a.AuthStorage,u=a.ModelRegistry;function d(e){let t=JSON.stringify(e,null,2);return{withLock(e){let{result:n,next:r}=e(t);return typeof r==`string`&&(t=r),n}}}function f(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function p(e){if(process.env.OPENCLAW_AUTH_STORE_READONLY===`1`||!r.existsSync(e))return;let t;try{t=JSON.parse(r.readFileSync(e,`utf8`))}catch{return}if(!f(t))return;let n=!1;for(let[e,r]of Object.entries(t))f(r)&&r.type===`api_key`&&(delete t[e],n=!0);if(n){if(Object.keys(t).length===0){r.rmSync(e,{force:!0});return}r.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),r.chmodSync(e,384)}}function m(e,t,n){let r=e;if(typeof r.inMemory==`function`)return r.inMemory(n);let i=e;if(typeof i.fromStorage==`function`){let e=a.InMemoryAuthStorageBackend,t=typeof e==`function`?new e:d(n);return t.withLock(()=>({result:void 0,next:JSON.stringify(n,null,2)})),i.fromStorage(t)}let o=e,s=typeof o.create==`function`?o.create(t):new e(t);if(typeof s.setRuntimeApiKey==`function`)for(let[e,t]of Object.entries(n)){if(t.type===`api_key`){s.setRuntimeApiKey(e,t.key);continue}s.setRuntimeApiKey(e,t.access)}return s}function h(e){return s(t(e,{allowKeychainPrompt:!1}))}function g(e){let t=h(e),n=i.join(e,`auth.json`);return p(n),m(l,n,t)}function _(e,t){return new u(e,i.join(t,`models.json`))}export{_ as n,c as r,g as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
require(`./paths-Bcdg3ma0.cjs`),require(`./paths-CIcxeNL-.cjs`);const e=require(`./utils-PPIvU9qw.cjs`);require(`./model-auth-BgS7ynQw.cjs`),require(`./proxy-env-D48qBPAr.cjs`),require(`./github-copilot-token-C1O2cBqk.cjs`);const t=require(`./diagnostic-DYpehqHU.cjs`);let n=require(`node:crypto`);const r=e.O(`agents/loop-detection`),i={enabled:!1,historySize:30,warningThreshold:10,criticalThreshold:20,globalCircuitBreakerThreshold:30,detectors:{genericRepeat:!0,knownPollNoProgress:!0,pingPong:!0}};function a(e,t){return typeof e!=`number`||!Number.isInteger(e)||e<=0?t:e}function o(e){let t=a(e?.warningThreshold,i.warningThreshold),n=a(e?.criticalThreshold,i.criticalThreshold),r=a(e?.globalCircuitBreakerThreshold,i.globalCircuitBreakerThreshold);return n<=t&&(n=t+1),r<=n&&(r=n+1),{enabled:e?.enabled??i.enabled,historySize:a(e?.historySize,i.historySize),warningThreshold:t,criticalThreshold:n,globalCircuitBreakerThreshold:r,detectors:{genericRepeat:e?.detectors?.genericRepeat??i.detectors.genericRepeat,knownPollNoProgress:e?.detectors?.knownPollNoProgress??i.detectors.knownPollNoProgress,pingPong:e?.detectors?.pingPong??i.detectors.pingPong}}}function s(e,t){return`${e}:${l(t)}`}function c(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(c).join(`,`)}]`;let t=e;return`{${Object.keys(t).toSorted().map(e=>`${JSON.stringify(e)}:${c(t[e])}`).join(`,`)}}`}function l(e){let t=u(e);return(0,n.createHash)(`sha256`).update(t).digest(`hex`)}function u(e){try{return c(e)}catch{return e==null?`${e}`:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:e instanceof Error?`${e.name}:${e.message}`:Object.prototype.toString.call(e)}}function d(t,n){if(t===`command_status`)return!0;if(t!==`process`||!e.C(n))return!1;let r=n.action;return r===`poll`||r===`log`}function f(t){return!e.C(t)||!Array.isArray(t.content)?``:t.content.filter(t=>e.C(t)&&typeof t.type==`string`&&typeof t.text==`string`).map(e=>e.text).join(`
|
|
2
|
-
`).trim()}function p(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:c(e)}function m(t,n,r,i){if(i!==void 0)return`error:${l(p(i))}`;if(!e.C(r))return r===void 0?void 0:l(r);let a=e.C(r.details)?r.details:{},o=f(r);if(d(t,n)&&t===`process`&&e.C(n)){let e=n.action;if(e===`poll`)return l({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return l({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return l({details:a,text:o})}function h(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function g(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function _(e,t){return[e,t].toSorted().join(`|`)}function v(e,t,n,i){let a=o(i);if(!a.enabled)return{stuck:!1};let c=e.toolCallHistory??[],l=s(t,n),u=h(c,t,l),f=u.count,p=d(t,n),m=g(c,l);if(f>=a.globalCircuitBreakerThreshold)return r.error(`Global circuit breaker triggered: ${t} repeated ${f} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:f,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${f} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.criticalThreshold)return r.error(`Critical polling loop detected: ${t} repeated ${f} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:f,message:`CRITICAL: Called ${t} with identical arguments and no progress ${f} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.warningThreshold)return r.warn(`Polling loop warning: ${t} repeated ${f} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:f,message:`WARNING: You have called ${t} ${f} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};let v=m.pairedSignature?`pingpong:${_(l,m.pairedSignature)}`:`pingpong:${t}:${l}`;if(a.detectors.pingPong&&m.count>=a.criticalThreshold&&m.noProgressEvidence)return r.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:v};if(a.detectors.pingPong&&m.count>=a.warningThreshold)return r.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:v};let y=c.filter(e=>e.toolName===t&&e.argsHash===l).length;return!p&&a.detectors.genericRepeat&&y>=a.warningThreshold?(r.warn(`Loop warning: ${t} called ${y} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:y,message:`WARNING: You have called ${t} ${y} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${l}`}):{stuck:!1}}function y(e,t,n,r,i){let a=o(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:s(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function b(e,t){let n=o(t.config),r=m(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=s(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}exports.detectToolCallLoop=v,exports.getDiagnosticSessionState=t.p,exports.logToolLoopAction=t.s,exports.recordToolCall=y,exports.recordToolCallOutcome=b;
|
|
2
|
+
`).trim()}function p(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:c(e)}function m(t,n,r,i){if(i!==void 0)return`error:${l(p(i))}`;if(!e.C(r))return r===void 0?void 0:l(r);let a=e.C(r.details)?r.details:{},o=f(r);if(d(t,n)&&t===`process`&&e.C(n)){let e=n.action;if(e===`poll`)return l({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return l({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return l({details:a,text:o})}function h(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function g(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function _(e,t){return[e,t].toSorted().join(`|`)}function v(e,t,n,i){let a=o(i);if(!a.enabled)return{stuck:!1};let c=e.toolCallHistory??[],l=s(t,n),u=h(c,t,l),f=u.count,p=d(t,n),m=g(c,l);if(f>=a.globalCircuitBreakerThreshold)return r.error(`Global circuit breaker triggered: ${t} repeated ${f} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:f,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${f} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.criticalThreshold)return r.error(`Critical polling loop detected: ${t} repeated ${f} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:f,message:`CRITICAL: Called ${t} with identical arguments and no progress ${f} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.warningThreshold)return r.warn(`Polling loop warning: ${t} repeated ${f} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:f,message:`WARNING: You have called ${t} ${f} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};let v=m.pairedSignature?`pingpong:${_(l,m.pairedSignature)}`:`pingpong:${t}:${l}`;if(a.detectors.pingPong&&m.count>=a.criticalThreshold&&m.noProgressEvidence)return r.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:v};if(a.detectors.pingPong&&m.count>=a.warningThreshold)return r.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:v};let y=c.filter(e=>e.toolName===t&&e.argsHash===l).length;return!p&&a.detectors.genericRepeat&&y>=a.warningThreshold?(r.warn(`Loop warning: ${t} called ${y} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:y,message:`WARNING: You have called ${t} ${y} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${l}`}):{stuck:!1}}function y(e,t,n,r,i){let a=o(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:s(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function b(e,t){let n=o(t.config),r=m(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=s(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}exports.detectToolCallLoop=v,exports.getDiagnosticSessionState=t.p,exports.logToolLoopAction=t.s,exports.recordToolCall=y,exports.recordToolCallOutcome=b;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import"./paths-Do0djuaj.js";import"./model-auth-g6eGgTwR.js";import{D as e,O as t}from"./logger-DJGHvDbX.js";import"./paths-CtrEseGU.js";import"./proxy-env-MEjSyzTr.js";import"./github-copilot-token-vKAKX6iE.js";import{p as n,s as r}from"./diagnostic-DDwUPG1m.js";import{createHash as i}from"node:crypto";const a=t(`agents/loop-detection`),o={enabled:!1,historySize:30,warningThreshold:10,criticalThreshold:20,globalCircuitBreakerThreshold:30,detectors:{genericRepeat:!0,knownPollNoProgress:!0,pingPong:!0}};function s(e,t){return typeof e!=`number`||!Number.isInteger(e)||e<=0?t:e}function c(e){let t=s(e?.warningThreshold,o.warningThreshold),n=s(e?.criticalThreshold,o.criticalThreshold),r=s(e?.globalCircuitBreakerThreshold,o.globalCircuitBreakerThreshold);return n<=t&&(n=t+1),r<=n&&(r=n+1),{enabled:e?.enabled??o.enabled,historySize:s(e?.historySize,o.historySize),warningThreshold:t,criticalThreshold:n,globalCircuitBreakerThreshold:r,detectors:{genericRepeat:e?.detectors?.genericRepeat??o.detectors.genericRepeat,knownPollNoProgress:e?.detectors?.knownPollNoProgress??o.detectors.knownPollNoProgress,pingPong:e?.detectors?.pingPong??o.detectors.pingPong}}}function l(e,t){return`${e}:${d(t)}`}function u(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(u).join(`,`)}]`;let t=e;return`{${Object.keys(t).toSorted().map(e=>`${JSON.stringify(e)}:${u(t[e])}`).join(`,`)}}`}function d(e){let t=f(e);return i(`sha256`).update(t).digest(`hex`)}function f(e){try{return u(e)}catch{return e==null?`${e}`:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:e instanceof Error?`${e.name}:${e.message}`:Object.prototype.toString.call(e)}}function p(t,n){if(t===`command_status`)return!0;if(t!==`process`||!e(n))return!1;let r=n.action;return r===`poll`||r===`log`}function m(t){return!e(t)||!Array.isArray(t.content)?``:t.content.filter(t=>e(t)&&typeof t.type==`string`&&typeof t.text==`string`).map(e=>e.text).join(`
|
|
2
|
-
`).trim()}function h(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:u(e)}function g(t,n,r,i){if(i!==void 0)return`error:${d(h(i))}`;if(!e(r))return r===void 0?void 0:d(r);let a=e(r.details)?r.details:{},o=m(r);if(p(t,n)&&t===`process`&&e(n)){let e=n.action;if(e===`poll`)return d({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return d({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return d({details:a,text:o})}function _(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function v(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function y(e,t){return[e,t].toSorted().join(`|`)}function b(e,t,n,r){let i=c(r);if(!i.enabled)return{stuck:!1};let o=e.toolCallHistory??[],s=l(t,n),u=_(o,t,s),d=u.count,f=p(t,n),m=v(o,s);if(d>=i.globalCircuitBreakerThreshold)return a.error(`Global circuit breaker triggered: ${t} repeated ${d} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:d,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${d} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.criticalThreshold)return a.error(`Critical polling loop detected: ${t} repeated ${d} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:d,message:`CRITICAL: Called ${t} with identical arguments and no progress ${d} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.warningThreshold)return a.warn(`Polling loop warning: ${t} repeated ${d} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:d,message:`WARNING: You have called ${t} ${d} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};let h=m.pairedSignature?`pingpong:${y(s,m.pairedSignature)}`:`pingpong:${t}:${s}`;if(i.detectors.pingPong&&m.count>=i.criticalThreshold&&m.noProgressEvidence)return a.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:h};if(i.detectors.pingPong&&m.count>=i.warningThreshold)return a.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:h};let g=o.filter(e=>e.toolName===t&&e.argsHash===s).length;return!f&&i.detectors.genericRepeat&&g>=i.warningThreshold?(a.warn(`Loop warning: ${t} called ${g} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:g,message:`WARNING: You have called ${t} ${g} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${s}`}):{stuck:!1}}function x(e,t,n,r,i){let a=c(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:l(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function S(e,t){let n=c(t.config),r=g(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=l(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}export{b as detectToolCallLoop,n as getDiagnosticSessionState,r as logToolLoopAction,x as recordToolCall,S as recordToolCallOutcome};
|
|
2
|
+
`).trim()}function h(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:u(e)}function g(t,n,r,i){if(i!==void 0)return`error:${d(h(i))}`;if(!e(r))return r===void 0?void 0:d(r);let a=e(r.details)?r.details:{},o=m(r);if(p(t,n)&&t===`process`&&e(n)){let e=n.action;if(e===`poll`)return d({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return d({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return d({details:a,text:o})}function _(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function v(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function y(e,t){return[e,t].toSorted().join(`|`)}function b(e,t,n,r){let i=c(r);if(!i.enabled)return{stuck:!1};let o=e.toolCallHistory??[],s=l(t,n),u=_(o,t,s),d=u.count,f=p(t,n),m=v(o,s);if(d>=i.globalCircuitBreakerThreshold)return a.error(`Global circuit breaker triggered: ${t} repeated ${d} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:d,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${d} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.criticalThreshold)return a.error(`Critical polling loop detected: ${t} repeated ${d} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:d,message:`CRITICAL: Called ${t} with identical arguments and no progress ${d} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.warningThreshold)return a.warn(`Polling loop warning: ${t} repeated ${d} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:d,message:`WARNING: You have called ${t} ${d} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};let h=m.pairedSignature?`pingpong:${y(s,m.pairedSignature)}`:`pingpong:${t}:${s}`;if(i.detectors.pingPong&&m.count>=i.criticalThreshold&&m.noProgressEvidence)return a.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:h};if(i.detectors.pingPong&&m.count>=i.warningThreshold)return a.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:h};let g=o.filter(e=>e.toolName===t&&e.argsHash===s).length;return!f&&i.detectors.genericRepeat&&g>=i.warningThreshold?(a.warn(`Loop warning: ${t} called ${g} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:g,message:`WARNING: You have called ${t} ${g} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${s}`}):{stuck:!1}}function x(e,t,n,r,i){let a=c(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:l(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function S(e,t){let n=c(t.config),r=g(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=l(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}export{b as detectToolCallLoop,n as getDiagnosticSessionState,r as logToolLoopAction,x as recordToolCall,S as recordToolCallOutcome};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import"./paths-D55o_j8-.js";import"./model-auth-D7YupJDS.js";import{D as e,O as t}from"./logger-C210xuWx.js";import"./paths-DhSjTRMz.js";import"./proxy-env-BlrHtJWH.js";import"./github-copilot-token-ylX_gawo.js";import{p as n,s as r}from"./diagnostic-BFea3l_a.js";import{createHash as i}from"node:crypto";const a=t(`agents/loop-detection`),o={enabled:!1,historySize:30,warningThreshold:10,criticalThreshold:20,globalCircuitBreakerThreshold:30,detectors:{genericRepeat:!0,knownPollNoProgress:!0,pingPong:!0}};function s(e,t){return typeof e!=`number`||!Number.isInteger(e)||e<=0?t:e}function c(e){let t=s(e?.warningThreshold,o.warningThreshold),n=s(e?.criticalThreshold,o.criticalThreshold),r=s(e?.globalCircuitBreakerThreshold,o.globalCircuitBreakerThreshold);return n<=t&&(n=t+1),r<=n&&(r=n+1),{enabled:e?.enabled??o.enabled,historySize:s(e?.historySize,o.historySize),warningThreshold:t,criticalThreshold:n,globalCircuitBreakerThreshold:r,detectors:{genericRepeat:e?.detectors?.genericRepeat??o.detectors.genericRepeat,knownPollNoProgress:e?.detectors?.knownPollNoProgress??o.detectors.knownPollNoProgress,pingPong:e?.detectors?.pingPong??o.detectors.pingPong}}}function l(e,t){return`${e}:${d(t)}`}function u(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(u).join(`,`)}]`;let t=e;return`{${Object.keys(t).toSorted().map(e=>`${JSON.stringify(e)}:${u(t[e])}`).join(`,`)}}`}function d(e){let t=f(e);return i(`sha256`).update(t).digest(`hex`)}function f(e){try{return u(e)}catch{return e==null?`${e}`:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:e instanceof Error?`${e.name}:${e.message}`:Object.prototype.toString.call(e)}}function p(t,n){if(t===`command_status`)return!0;if(t!==`process`||!e(n))return!1;let r=n.action;return r===`poll`||r===`log`}function m(t){return!e(t)||!Array.isArray(t.content)?``:t.content.filter(t=>e(t)&&typeof t.type==`string`&&typeof t.text==`string`).map(e=>e.text).join(`
|
|
2
|
-
`).trim()}function h(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:u(e)}function g(t,n,r,i){if(i!==void 0)return`error:${d(h(i))}`;if(!e(r))return r===void 0?void 0:d(r);let a=e(r.details)?r.details:{},o=m(r);if(p(t,n)&&t===`process`&&e(n)){let e=n.action;if(e===`poll`)return d({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return d({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return d({details:a,text:o})}function _(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function v(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function y(e,t){return[e,t].toSorted().join(`|`)}function b(e,t,n,r){let i=c(r);if(!i.enabled)return{stuck:!1};let o=e.toolCallHistory??[],s=l(t,n),u=_(o,t,s),d=u.count,f=p(t,n),m=v(o,s);if(d>=i.globalCircuitBreakerThreshold)return a.error(`Global circuit breaker triggered: ${t} repeated ${d} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:d,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${d} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.criticalThreshold)return a.error(`Critical polling loop detected: ${t} repeated ${d} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:d,message:`CRITICAL: Called ${t} with identical arguments and no progress ${d} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.warningThreshold)return a.warn(`Polling loop warning: ${t} repeated ${d} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:d,message:`WARNING: You have called ${t} ${d} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};let h=m.pairedSignature?`pingpong:${y(s,m.pairedSignature)}`:`pingpong:${t}:${s}`;if(i.detectors.pingPong&&m.count>=i.criticalThreshold&&m.noProgressEvidence)return a.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:h};if(i.detectors.pingPong&&m.count>=i.warningThreshold)return a.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:h};let g=o.filter(e=>e.toolName===t&&e.argsHash===s).length;return!f&&i.detectors.genericRepeat&&g>=i.warningThreshold?(a.warn(`Loop warning: ${t} called ${g} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:g,message:`WARNING: You have called ${t} ${g} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${s}`}):{stuck:!1}}function x(e,t,n,r,i){let a=c(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:l(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function S(e,t){let n=c(t.config),r=g(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=l(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}export{b as detectToolCallLoop,n as getDiagnosticSessionState,r as logToolLoopAction,x as recordToolCall,S as recordToolCallOutcome};
|
|
2
|
+
`).trim()}function h(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:u(e)}function g(t,n,r,i){if(i!==void 0)return`error:${d(h(i))}`;if(!e(r))return r===void 0?void 0:d(r);let a=e(r.details)?r.details:{},o=m(r);if(p(t,n)&&t===`process`&&e(n)){let e=n.action;if(e===`poll`)return d({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return d({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return d({details:a,text:o})}function _(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function v(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function y(e,t){return[e,t].toSorted().join(`|`)}function b(e,t,n,r){let i=c(r);if(!i.enabled)return{stuck:!1};let o=e.toolCallHistory??[],s=l(t,n),u=_(o,t,s),d=u.count,f=p(t,n),m=v(o,s);if(d>=i.globalCircuitBreakerThreshold)return a.error(`Global circuit breaker triggered: ${t} repeated ${d} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:d,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${d} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.criticalThreshold)return a.error(`Critical polling loop detected: ${t} repeated ${d} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:d,message:`CRITICAL: Called ${t} with identical arguments and no progress ${d} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.warningThreshold)return a.warn(`Polling loop warning: ${t} repeated ${d} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:d,message:`WARNING: You have called ${t} ${d} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};let h=m.pairedSignature?`pingpong:${y(s,m.pairedSignature)}`:`pingpong:${t}:${s}`;if(i.detectors.pingPong&&m.count>=i.criticalThreshold&&m.noProgressEvidence)return a.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:h};if(i.detectors.pingPong&&m.count>=i.warningThreshold)return a.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:h};let g=o.filter(e=>e.toolName===t&&e.argsHash===s).length;return!f&&i.detectors.genericRepeat&&g>=i.warningThreshold?(a.warn(`Loop warning: ${t} called ${g} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:g,message:`WARNING: You have called ${t} ${g} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${s}`}):{stuck:!1}}function x(e,t,n,r,i){let a=c(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:l(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function S(e,t){let n=c(t.config),r=g(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=l(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}export{b as detectToolCallLoop,n as getDiagnosticSessionState,r as logToolLoopAction,x as recordToolCall,S as recordToolCallOutcome};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
require(`./paths-BvlJvmRS.cjs`),require(`./paths-BPlgbwrb.cjs`),require(`./config-DT_csBcZ.cjs`),require(`./github-copilot-token-TMkfxxD2.cjs`);const e=require(`./logger-Bm93ZKOk.cjs`);require(`./proxy-env-Bcl14j2_.cjs`);const t=require(`./diagnostic-BCyE1aYH.cjs`);let n=require(`node:crypto`);const r=e.a(`agents/loop-detection`),i={enabled:!1,historySize:30,warningThreshold:10,criticalThreshold:20,globalCircuitBreakerThreshold:30,detectors:{genericRepeat:!0,knownPollNoProgress:!0,pingPong:!0}};function a(e,t){return typeof e!=`number`||!Number.isInteger(e)||e<=0?t:e}function o(e){let t=a(e?.warningThreshold,i.warningThreshold),n=a(e?.criticalThreshold,i.criticalThreshold),r=a(e?.globalCircuitBreakerThreshold,i.globalCircuitBreakerThreshold);return n<=t&&(n=t+1),r<=n&&(r=n+1),{enabled:e?.enabled??i.enabled,historySize:a(e?.historySize,i.historySize),warningThreshold:t,criticalThreshold:n,globalCircuitBreakerThreshold:r,detectors:{genericRepeat:e?.detectors?.genericRepeat??i.detectors.genericRepeat,knownPollNoProgress:e?.detectors?.knownPollNoProgress??i.detectors.knownPollNoProgress,pingPong:e?.detectors?.pingPong??i.detectors.pingPong}}}function s(e,t){return`${e}:${l(t)}`}function c(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(c).join(`,`)}]`;let t=e;return`{${Object.keys(t).toSorted().map(e=>`${JSON.stringify(e)}:${c(t[e])}`).join(`,`)}}`}function l(e){let t=u(e);return(0,n.createHash)(`sha256`).update(t).digest(`hex`)}function u(e){try{return c(e)}catch{return e==null?`${e}`:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:e instanceof Error?`${e.name}:${e.message}`:Object.prototype.toString.call(e)}}function d(t,n){if(t===`command_status`)return!0;if(t!==`process`||!e.F(n))return!1;let r=n.action;return r===`poll`||r===`log`}function f(t){return!e.F(t)||!Array.isArray(t.content)?``:t.content.filter(t=>e.F(t)&&typeof t.type==`string`&&typeof t.text==`string`).map(e=>e.text).join(`
|
|
2
|
-
`).trim()}function p(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:c(e)}function m(t,n,r,i){if(i!==void 0)return`error:${l(p(i))}`;if(!e.F(r))return r===void 0?void 0:l(r);let a=e.F(r.details)?r.details:{},o=f(r);if(d(t,n)&&t===`process`&&e.F(n)){let e=n.action;if(e===`poll`)return l({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return l({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return l({details:a,text:o})}function h(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function g(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function _(e,t){return[e,t].toSorted().join(`|`)}function v(e,t,n,i){let a=o(i);if(!a.enabled)return{stuck:!1};let c=e.toolCallHistory??[],l=s(t,n),u=h(c,t,l),f=u.count,p=d(t,n),m=g(c,l);if(f>=a.globalCircuitBreakerThreshold)return r.error(`Global circuit breaker triggered: ${t} repeated ${f} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:f,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${f} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.criticalThreshold)return r.error(`Critical polling loop detected: ${t} repeated ${f} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:f,message:`CRITICAL: Called ${t} with identical arguments and no progress ${f} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.warningThreshold)return r.warn(`Polling loop warning: ${t} repeated ${f} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:f,message:`WARNING: You have called ${t} ${f} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};let v=m.pairedSignature?`pingpong:${_(l,m.pairedSignature)}`:`pingpong:${t}:${l}`;if(a.detectors.pingPong&&m.count>=a.criticalThreshold&&m.noProgressEvidence)return r.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:v};if(a.detectors.pingPong&&m.count>=a.warningThreshold)return r.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:v};let y=c.filter(e=>e.toolName===t&&e.argsHash===l).length;return!p&&a.detectors.genericRepeat&&y>=a.warningThreshold?(r.warn(`Loop warning: ${t} called ${y} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:y,message:`WARNING: You have called ${t} ${y} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${l}`}):{stuck:!1}}function y(e,t,n,r,i){let a=o(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:s(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function b(e,t){let n=o(t.config),r=m(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=s(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}exports.detectToolCallLoop=v,exports.getDiagnosticSessionState=t.p,exports.logToolLoopAction=t.s,exports.recordToolCall=y,exports.recordToolCallOutcome=b;
|
|
2
|
+
`).trim()}function p(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:c(e)}function m(t,n,r,i){if(i!==void 0)return`error:${l(p(i))}`;if(!e.F(r))return r===void 0?void 0:l(r);let a=e.F(r.details)?r.details:{},o=f(r);if(d(t,n)&&t===`process`&&e.F(n)){let e=n.action;if(e===`poll`)return l({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return l({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return l({details:a,text:o})}function h(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function g(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function _(e,t){return[e,t].toSorted().join(`|`)}function v(e,t,n,i){let a=o(i);if(!a.enabled)return{stuck:!1};let c=e.toolCallHistory??[],l=s(t,n),u=h(c,t,l),f=u.count,p=d(t,n),m=g(c,l);if(f>=a.globalCircuitBreakerThreshold)return r.error(`Global circuit breaker triggered: ${t} repeated ${f} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:f,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${f} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.criticalThreshold)return r.error(`Critical polling loop detected: ${t} repeated ${f} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:f,message:`CRITICAL: Called ${t} with identical arguments and no progress ${f} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.warningThreshold)return r.warn(`Polling loop warning: ${t} repeated ${f} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:f,message:`WARNING: You have called ${t} ${f} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};let v=m.pairedSignature?`pingpong:${_(l,m.pairedSignature)}`:`pingpong:${t}:${l}`;if(a.detectors.pingPong&&m.count>=a.criticalThreshold&&m.noProgressEvidence)return r.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:v};if(a.detectors.pingPong&&m.count>=a.warningThreshold)return r.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:v};let y=c.filter(e=>e.toolName===t&&e.argsHash===l).length;return!p&&a.detectors.genericRepeat&&y>=a.warningThreshold?(r.warn(`Loop warning: ${t} called ${y} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:y,message:`WARNING: You have called ${t} ${y} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${l}`}):{stuck:!1}}function y(e,t,n,r,i){let a=o(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:s(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function b(e,t){let n=o(t.config),r=m(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=s(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}exports.detectToolCallLoop=v,exports.getDiagnosticSessionState=t.p,exports.logToolLoopAction=t.s,exports.recordToolCall=y,exports.recordToolCallOutcome=b;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import"./paths-CXgWvWAM.js";import{C as e,O as t}from"./utils-BJtJR72k.js";import"./paths-rO4ehkyU.js";import"./model-auth-wcxJptQX.js";import"./proxy-env-m9eG3uZN.js";import"./github-copilot-token-C8j8_NjX.js";import{p as n,s as r}from"./diagnostic-Dz8HPEDe.js";import{createHash as i}from"node:crypto";const a=t(`agents/loop-detection`),o={enabled:!1,historySize:30,warningThreshold:10,criticalThreshold:20,globalCircuitBreakerThreshold:30,detectors:{genericRepeat:!0,knownPollNoProgress:!0,pingPong:!0}};function s(e,t){return typeof e!=`number`||!Number.isInteger(e)||e<=0?t:e}function c(e){let t=s(e?.warningThreshold,o.warningThreshold),n=s(e?.criticalThreshold,o.criticalThreshold),r=s(e?.globalCircuitBreakerThreshold,o.globalCircuitBreakerThreshold);return n<=t&&(n=t+1),r<=n&&(r=n+1),{enabled:e?.enabled??o.enabled,historySize:s(e?.historySize,o.historySize),warningThreshold:t,criticalThreshold:n,globalCircuitBreakerThreshold:r,detectors:{genericRepeat:e?.detectors?.genericRepeat??o.detectors.genericRepeat,knownPollNoProgress:e?.detectors?.knownPollNoProgress??o.detectors.knownPollNoProgress,pingPong:e?.detectors?.pingPong??o.detectors.pingPong}}}function l(e,t){return`${e}:${d(t)}`}function u(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(u).join(`,`)}]`;let t=e;return`{${Object.keys(t).toSorted().map(e=>`${JSON.stringify(e)}:${u(t[e])}`).join(`,`)}}`}function d(e){let t=f(e);return i(`sha256`).update(t).digest(`hex`)}function f(e){try{return u(e)}catch{return e==null?`${e}`:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:e instanceof Error?`${e.name}:${e.message}`:Object.prototype.toString.call(e)}}function p(t,n){if(t===`command_status`)return!0;if(t!==`process`||!e(n))return!1;let r=n.action;return r===`poll`||r===`log`}function m(t){return!e(t)||!Array.isArray(t.content)?``:t.content.filter(t=>e(t)&&typeof t.type==`string`&&typeof t.text==`string`).map(e=>e.text).join(`
|
|
2
|
-
`).trim()}function h(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:u(e)}function g(t,n,r,i){if(i!==void 0)return`error:${d(h(i))}`;if(!e(r))return r===void 0?void 0:d(r);let a=e(r.details)?r.details:{},o=m(r);if(p(t,n)&&t===`process`&&e(n)){let e=n.action;if(e===`poll`)return d({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return d({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return d({details:a,text:o})}function _(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function v(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function y(e,t){return[e,t].toSorted().join(`|`)}function b(e,t,n,r){let i=c(r);if(!i.enabled)return{stuck:!1};let o=e.toolCallHistory??[],s=l(t,n),u=_(o,t,s),d=u.count,f=p(t,n),m=v(o,s);if(d>=i.globalCircuitBreakerThreshold)return a.error(`Global circuit breaker triggered: ${t} repeated ${d} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:d,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${d} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.criticalThreshold)return a.error(`Critical polling loop detected: ${t} repeated ${d} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:d,message:`CRITICAL: Called ${t} with identical arguments and no progress ${d} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.warningThreshold)return a.warn(`Polling loop warning: ${t} repeated ${d} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:d,message:`WARNING: You have called ${t} ${d} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};let h=m.pairedSignature?`pingpong:${y(s,m.pairedSignature)}`:`pingpong:${t}:${s}`;if(i.detectors.pingPong&&m.count>=i.criticalThreshold&&m.noProgressEvidence)return a.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:h};if(i.detectors.pingPong&&m.count>=i.warningThreshold)return a.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:h};let g=o.filter(e=>e.toolName===t&&e.argsHash===s).length;return!f&&i.detectors.genericRepeat&&g>=i.warningThreshold?(a.warn(`Loop warning: ${t} called ${g} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:g,message:`WARNING: You have called ${t} ${g} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${s}`}):{stuck:!1}}function x(e,t,n,r,i){let a=c(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:l(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function S(e,t){let n=c(t.config),r=g(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=l(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}export{b as detectToolCallLoop,n as getDiagnosticSessionState,r as logToolLoopAction,x as recordToolCall,S as recordToolCallOutcome};
|
|
2
|
+
`).trim()}function h(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:u(e)}function g(t,n,r,i){if(i!==void 0)return`error:${d(h(i))}`;if(!e(r))return r===void 0?void 0:d(r);let a=e(r.details)?r.details:{},o=m(r);if(p(t,n)&&t===`process`&&e(n)){let e=n.action;if(e===`poll`)return d({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return d({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return d({details:a,text:o})}function _(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function v(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function y(e,t){return[e,t].toSorted().join(`|`)}function b(e,t,n,r){let i=c(r);if(!i.enabled)return{stuck:!1};let o=e.toolCallHistory??[],s=l(t,n),u=_(o,t,s),d=u.count,f=p(t,n),m=v(o,s);if(d>=i.globalCircuitBreakerThreshold)return a.error(`Global circuit breaker triggered: ${t} repeated ${d} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:d,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${d} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.criticalThreshold)return a.error(`Critical polling loop detected: ${t} repeated ${d} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:d,message:`CRITICAL: Called ${t} with identical arguments and no progress ${d} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.warningThreshold)return a.warn(`Polling loop warning: ${t} repeated ${d} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:d,message:`WARNING: You have called ${t} ${d} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};let h=m.pairedSignature?`pingpong:${y(s,m.pairedSignature)}`:`pingpong:${t}:${s}`;if(i.detectors.pingPong&&m.count>=i.criticalThreshold&&m.noProgressEvidence)return a.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:h};if(i.detectors.pingPong&&m.count>=i.warningThreshold)return a.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:h};let g=o.filter(e=>e.toolName===t&&e.argsHash===s).length;return!f&&i.detectors.genericRepeat&&g>=i.warningThreshold?(a.warn(`Loop warning: ${t} called ${g} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:g,message:`WARNING: You have called ${t} ${g} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${s}`}):{stuck:!1}}function x(e,t,n,r,i){let a=c(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:l(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function S(e,t){let n=c(t.config),r=g(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=l(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}export{b as detectToolCallLoop,n as getDiagnosticSessionState,r as logToolLoopAction,x as recordToolCall,S as recordToolCallOutcome};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import"./paths-piJASC5k.js";import"./paths-BpQOWYiT.js";import{D as e,O as t}from"./logger-DwWqfo66.js";import"./model-auth-eNVBeC-B.js";import"./proxy-env-DGzNnnJh.js";import"./github-copilot-token-Bt4PduRB.js";import{p as n,s as r}from"./diagnostic-BvR96WdC.js";import{createHash as i}from"node:crypto";const a=t(`agents/loop-detection`),o={enabled:!1,historySize:30,warningThreshold:10,criticalThreshold:20,globalCircuitBreakerThreshold:30,detectors:{genericRepeat:!0,knownPollNoProgress:!0,pingPong:!0}};function s(e,t){return typeof e!=`number`||!Number.isInteger(e)||e<=0?t:e}function c(e){let t=s(e?.warningThreshold,o.warningThreshold),n=s(e?.criticalThreshold,o.criticalThreshold),r=s(e?.globalCircuitBreakerThreshold,o.globalCircuitBreakerThreshold);return n<=t&&(n=t+1),r<=n&&(r=n+1),{enabled:e?.enabled??o.enabled,historySize:s(e?.historySize,o.historySize),warningThreshold:t,criticalThreshold:n,globalCircuitBreakerThreshold:r,detectors:{genericRepeat:e?.detectors?.genericRepeat??o.detectors.genericRepeat,knownPollNoProgress:e?.detectors?.knownPollNoProgress??o.detectors.knownPollNoProgress,pingPong:e?.detectors?.pingPong??o.detectors.pingPong}}}function l(e,t){return`${e}:${d(t)}`}function u(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(u).join(`,`)}]`;let t=e;return`{${Object.keys(t).toSorted().map(e=>`${JSON.stringify(e)}:${u(t[e])}`).join(`,`)}}`}function d(e){let t=f(e);return i(`sha256`).update(t).digest(`hex`)}function f(e){try{return u(e)}catch{return e==null?`${e}`:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:e instanceof Error?`${e.name}:${e.message}`:Object.prototype.toString.call(e)}}function p(t,n){if(t===`command_status`)return!0;if(t!==`process`||!e(n))return!1;let r=n.action;return r===`poll`||r===`log`}function m(t){return!e(t)||!Array.isArray(t.content)?``:t.content.filter(t=>e(t)&&typeof t.type==`string`&&typeof t.text==`string`).map(e=>e.text).join(`
|
|
2
|
-
`).trim()}function h(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:u(e)}function g(t,n,r,i){if(i!==void 0)return`error:${d(h(i))}`;if(!e(r))return r===void 0?void 0:d(r);let a=e(r.details)?r.details:{},o=m(r);if(p(t,n)&&t===`process`&&e(n)){let e=n.action;if(e===`poll`)return d({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return d({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return d({details:a,text:o})}function _(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function v(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function y(e,t){return[e,t].toSorted().join(`|`)}function b(e,t,n,r){let i=c(r);if(!i.enabled)return{stuck:!1};let o=e.toolCallHistory??[],s=l(t,n),u=_(o,t,s),d=u.count,f=p(t,n),m=v(o,s);if(d>=i.globalCircuitBreakerThreshold)return a.error(`Global circuit breaker triggered: ${t} repeated ${d} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:d,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${d} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.criticalThreshold)return a.error(`Critical polling loop detected: ${t} repeated ${d} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:d,message:`CRITICAL: Called ${t} with identical arguments and no progress ${d} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.warningThreshold)return a.warn(`Polling loop warning: ${t} repeated ${d} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:d,message:`WARNING: You have called ${t} ${d} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};let h=m.pairedSignature?`pingpong:${y(s,m.pairedSignature)}`:`pingpong:${t}:${s}`;if(i.detectors.pingPong&&m.count>=i.criticalThreshold&&m.noProgressEvidence)return a.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:h};if(i.detectors.pingPong&&m.count>=i.warningThreshold)return a.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:h};let g=o.filter(e=>e.toolName===t&&e.argsHash===s).length;return!f&&i.detectors.genericRepeat&&g>=i.warningThreshold?(a.warn(`Loop warning: ${t} called ${g} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:g,message:`WARNING: You have called ${t} ${g} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${s}`}):{stuck:!1}}function x(e,t,n,r,i){let a=c(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:l(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function S(e,t){let n=c(t.config),r=g(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=l(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}export{b as detectToolCallLoop,n as getDiagnosticSessionState,r as logToolLoopAction,x as recordToolCall,S as recordToolCallOutcome};
|
|
2
|
+
`).trim()}function h(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:u(e)}function g(t,n,r,i){if(i!==void 0)return`error:${d(h(i))}`;if(!e(r))return r===void 0?void 0:d(r);let a=e(r.details)?r.details:{},o=m(r);if(p(t,n)&&t===`process`&&e(n)){let e=n.action;if(e===`poll`)return d({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return d({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return d({details:a,text:o})}function _(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function v(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function y(e,t){return[e,t].toSorted().join(`|`)}function b(e,t,n,r){let i=c(r);if(!i.enabled)return{stuck:!1};let o=e.toolCallHistory??[],s=l(t,n),u=_(o,t,s),d=u.count,f=p(t,n),m=v(o,s);if(d>=i.globalCircuitBreakerThreshold)return a.error(`Global circuit breaker triggered: ${t} repeated ${d} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:d,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${d} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.criticalThreshold)return a.error(`Critical polling loop detected: ${t} repeated ${d} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:d,message:`CRITICAL: Called ${t} with identical arguments and no progress ${d} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.warningThreshold)return a.warn(`Polling loop warning: ${t} repeated ${d} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:d,message:`WARNING: You have called ${t} ${d} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};let h=m.pairedSignature?`pingpong:${y(s,m.pairedSignature)}`:`pingpong:${t}:${s}`;if(i.detectors.pingPong&&m.count>=i.criticalThreshold&&m.noProgressEvidence)return a.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:h};if(i.detectors.pingPong&&m.count>=i.warningThreshold)return a.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:h};let g=o.filter(e=>e.toolName===t&&e.argsHash===s).length;return!f&&i.detectors.genericRepeat&&g>=i.warningThreshold?(a.warn(`Loop warning: ${t} called ${g} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:g,message:`WARNING: You have called ${t} ${g} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${s}`}):{stuck:!1}}function x(e,t,n,r,i){let a=c(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:l(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function S(e,t){let n=c(t.config),r=g(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=l(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}export{b as detectToolCallLoop,n as getDiagnosticSessionState,r as logToolLoopAction,x as recordToolCall,S as recordToolCallOutcome};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
require(`./paths-BvlJvmRS.cjs`),require(`./paths-Chp3zwtq.cjs`);const e=require(`./logger-BlddiV_d.cjs`);require(`./model-auth-CKlA2xRB.cjs`),require(`./proxy-env-DWw9TnOj.cjs`),require(`./github-copilot-token-DoHgkI2r.cjs`);const t=require(`./diagnostic-C0xDsk89.cjs`);let n=require(`node:crypto`);const r=e.O(`agents/loop-detection`),i={enabled:!1,historySize:30,warningThreshold:10,criticalThreshold:20,globalCircuitBreakerThreshold:30,detectors:{genericRepeat:!0,knownPollNoProgress:!0,pingPong:!0}};function a(e,t){return typeof e!=`number`||!Number.isInteger(e)||e<=0?t:e}function o(e){let t=a(e?.warningThreshold,i.warningThreshold),n=a(e?.criticalThreshold,i.criticalThreshold),r=a(e?.globalCircuitBreakerThreshold,i.globalCircuitBreakerThreshold);return n<=t&&(n=t+1),r<=n&&(r=n+1),{enabled:e?.enabled??i.enabled,historySize:a(e?.historySize,i.historySize),warningThreshold:t,criticalThreshold:n,globalCircuitBreakerThreshold:r,detectors:{genericRepeat:e?.detectors?.genericRepeat??i.detectors.genericRepeat,knownPollNoProgress:e?.detectors?.knownPollNoProgress??i.detectors.knownPollNoProgress,pingPong:e?.detectors?.pingPong??i.detectors.pingPong}}}function s(e,t){return`${e}:${l(t)}`}function c(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(c).join(`,`)}]`;let t=e;return`{${Object.keys(t).toSorted().map(e=>`${JSON.stringify(e)}:${c(t[e])}`).join(`,`)}}`}function l(e){let t=u(e);return(0,n.createHash)(`sha256`).update(t).digest(`hex`)}function u(e){try{return c(e)}catch{return e==null?`${e}`:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:e instanceof Error?`${e.name}:${e.message}`:Object.prototype.toString.call(e)}}function d(t,n){if(t===`command_status`)return!0;if(t!==`process`||!e.D(n))return!1;let r=n.action;return r===`poll`||r===`log`}function f(t){return!e.D(t)||!Array.isArray(t.content)?``:t.content.filter(t=>e.D(t)&&typeof t.type==`string`&&typeof t.text==`string`).map(e=>e.text).join(`
|
|
2
|
-
`).trim()}function p(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:c(e)}function m(t,n,r,i){if(i!==void 0)return`error:${l(p(i))}`;if(!e.D(r))return r===void 0?void 0:l(r);let a=e.D(r.details)?r.details:{},o=f(r);if(d(t,n)&&t===`process`&&e.D(n)){let e=n.action;if(e===`poll`)return l({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return l({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return l({details:a,text:o})}function h(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function g(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function _(e,t){return[e,t].toSorted().join(`|`)}function v(e,t,n,i){let a=o(i);if(!a.enabled)return{stuck:!1};let c=e.toolCallHistory??[],l=s(t,n),u=h(c,t,l),f=u.count,p=d(t,n),m=g(c,l);if(f>=a.globalCircuitBreakerThreshold)return r.error(`Global circuit breaker triggered: ${t} repeated ${f} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:f,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${f} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.criticalThreshold)return r.error(`Critical polling loop detected: ${t} repeated ${f} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:f,message:`CRITICAL: Called ${t} with identical arguments and no progress ${f} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.warningThreshold)return r.warn(`Polling loop warning: ${t} repeated ${f} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:f,message:`WARNING: You have called ${t} ${f} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};let v=m.pairedSignature?`pingpong:${_(l,m.pairedSignature)}`:`pingpong:${t}:${l}`;if(a.detectors.pingPong&&m.count>=a.criticalThreshold&&m.noProgressEvidence)return r.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:v};if(a.detectors.pingPong&&m.count>=a.warningThreshold)return r.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:v};let y=c.filter(e=>e.toolName===t&&e.argsHash===l).length;return!p&&a.detectors.genericRepeat&&y>=a.warningThreshold?(r.warn(`Loop warning: ${t} called ${y} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:y,message:`WARNING: You have called ${t} ${y} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${l}`}):{stuck:!1}}function y(e,t,n,r,i){let a=o(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:s(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function b(e,t){let n=o(t.config),r=m(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=s(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}exports.detectToolCallLoop=v,exports.getDiagnosticSessionState=t.p,exports.logToolLoopAction=t.s,exports.recordToolCall=y,exports.recordToolCallOutcome=b;
|
|
2
|
+
`).trim()}function p(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:c(e)}function m(t,n,r,i){if(i!==void 0)return`error:${l(p(i))}`;if(!e.D(r))return r===void 0?void 0:l(r);let a=e.D(r.details)?r.details:{},o=f(r);if(d(t,n)&&t===`process`&&e.D(n)){let e=n.action;if(e===`poll`)return l({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return l({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return l({details:a,text:o})}function h(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function g(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function _(e,t){return[e,t].toSorted().join(`|`)}function v(e,t,n,i){let a=o(i);if(!a.enabled)return{stuck:!1};let c=e.toolCallHistory??[],l=s(t,n),u=h(c,t,l),f=u.count,p=d(t,n),m=g(c,l);if(f>=a.globalCircuitBreakerThreshold)return r.error(`Global circuit breaker triggered: ${t} repeated ${f} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:f,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${f} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.criticalThreshold)return r.error(`Critical polling loop detected: ${t} repeated ${f} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:f,message:`CRITICAL: Called ${t} with identical arguments and no progress ${f} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.warningThreshold)return r.warn(`Polling loop warning: ${t} repeated ${f} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:f,message:`WARNING: You have called ${t} ${f} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};let v=m.pairedSignature?`pingpong:${_(l,m.pairedSignature)}`:`pingpong:${t}:${l}`;if(a.detectors.pingPong&&m.count>=a.criticalThreshold&&m.noProgressEvidence)return r.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:v};if(a.detectors.pingPong&&m.count>=a.warningThreshold)return r.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:v};let y=c.filter(e=>e.toolName===t&&e.argsHash===l).length;return!p&&a.detectors.genericRepeat&&y>=a.warningThreshold?(r.warn(`Loop warning: ${t} called ${y} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:y,message:`WARNING: You have called ${t} ${y} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${l}`}):{stuck:!1}}function y(e,t,n,r,i){let a=o(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:s(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function b(e,t){let n=o(t.config),r=m(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=s(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}exports.detectToolCallLoop=v,exports.getDiagnosticSessionState=t.p,exports.logToolLoopAction=t.s,exports.recordToolCall=y,exports.recordToolCallOutcome=b;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import"./paths-cBAF6Bj0.js";import"./sessions-BwTjGneU.js";import{D as e,O as t}from"./logger-vBDTZWl3.js";import"./paths-CnHSNSeR.js";import"./proxy-env-B765haXA.js";import"./github-copilot-token-N8vnLZPw.js";import{p as n,s as r}from"./diagnostic-DkncnZ3G.js";import{createHash as i}from"node:crypto";const a=t(`agents/loop-detection`),o={enabled:!1,historySize:30,warningThreshold:10,criticalThreshold:20,globalCircuitBreakerThreshold:30,detectors:{genericRepeat:!0,knownPollNoProgress:!0,pingPong:!0}};function s(e,t){return typeof e!=`number`||!Number.isInteger(e)||e<=0?t:e}function c(e){let t=s(e?.warningThreshold,o.warningThreshold),n=s(e?.criticalThreshold,o.criticalThreshold),r=s(e?.globalCircuitBreakerThreshold,o.globalCircuitBreakerThreshold);return n<=t&&(n=t+1),r<=n&&(r=n+1),{enabled:e?.enabled??o.enabled,historySize:s(e?.historySize,o.historySize),warningThreshold:t,criticalThreshold:n,globalCircuitBreakerThreshold:r,detectors:{genericRepeat:e?.detectors?.genericRepeat??o.detectors.genericRepeat,knownPollNoProgress:e?.detectors?.knownPollNoProgress??o.detectors.knownPollNoProgress,pingPong:e?.detectors?.pingPong??o.detectors.pingPong}}}function l(e,t){return`${e}:${d(t)}`}function u(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(u).join(`,`)}]`;let t=e;return`{${Object.keys(t).toSorted().map(e=>`${JSON.stringify(e)}:${u(t[e])}`).join(`,`)}}`}function d(e){let t=f(e);return i(`sha256`).update(t).digest(`hex`)}function f(e){try{return u(e)}catch{return e==null?`${e}`:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:e instanceof Error?`${e.name}:${e.message}`:Object.prototype.toString.call(e)}}function p(t,n){if(t===`command_status`)return!0;if(t!==`process`||!e(n))return!1;let r=n.action;return r===`poll`||r===`log`}function m(t){return!e(t)||!Array.isArray(t.content)?``:t.content.filter(t=>e(t)&&typeof t.type==`string`&&typeof t.text==`string`).map(e=>e.text).join(`
|
|
2
|
-
`).trim()}function h(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:u(e)}function g(t,n,r,i){if(i!==void 0)return`error:${d(h(i))}`;if(!e(r))return r===void 0?void 0:d(r);let a=e(r.details)?r.details:{},o=m(r);if(p(t,n)&&t===`process`&&e(n)){let e=n.action;if(e===`poll`)return d({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return d({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return d({details:a,text:o})}function _(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function v(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function y(e,t){return[e,t].toSorted().join(`|`)}function b(e,t,n,r){let i=c(r);if(!i.enabled)return{stuck:!1};let o=e.toolCallHistory??[],s=l(t,n),u=_(o,t,s),d=u.count,f=p(t,n),m=v(o,s);if(d>=i.globalCircuitBreakerThreshold)return a.error(`Global circuit breaker triggered: ${t} repeated ${d} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:d,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${d} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.criticalThreshold)return a.error(`Critical polling loop detected: ${t} repeated ${d} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:d,message:`CRITICAL: Called ${t} with identical arguments and no progress ${d} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.warningThreshold)return a.warn(`Polling loop warning: ${t} repeated ${d} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:d,message:`WARNING: You have called ${t} ${d} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};let h=m.pairedSignature?`pingpong:${y(s,m.pairedSignature)}`:`pingpong:${t}:${s}`;if(i.detectors.pingPong&&m.count>=i.criticalThreshold&&m.noProgressEvidence)return a.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:h};if(i.detectors.pingPong&&m.count>=i.warningThreshold)return a.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:h};let g=o.filter(e=>e.toolName===t&&e.argsHash===s).length;return!f&&i.detectors.genericRepeat&&g>=i.warningThreshold?(a.warn(`Loop warning: ${t} called ${g} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:g,message:`WARNING: You have called ${t} ${g} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${s}`}):{stuck:!1}}function x(e,t,n,r,i){let a=c(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:l(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function S(e,t){let n=c(t.config),r=g(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=l(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}export{b as detectToolCallLoop,n as getDiagnosticSessionState,r as logToolLoopAction,x as recordToolCall,S as recordToolCallOutcome};
|
|
2
|
+
`).trim()}function h(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:u(e)}function g(t,n,r,i){if(i!==void 0)return`error:${d(h(i))}`;if(!e(r))return r===void 0?void 0:d(r);let a=e(r.details)?r.details:{},o=m(r);if(p(t,n)&&t===`process`&&e(n)){let e=n.action;if(e===`poll`)return d({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return d({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return d({details:a,text:o})}function _(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function v(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function y(e,t){return[e,t].toSorted().join(`|`)}function b(e,t,n,r){let i=c(r);if(!i.enabled)return{stuck:!1};let o=e.toolCallHistory??[],s=l(t,n),u=_(o,t,s),d=u.count,f=p(t,n),m=v(o,s);if(d>=i.globalCircuitBreakerThreshold)return a.error(`Global circuit breaker triggered: ${t} repeated ${d} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:d,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${d} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.criticalThreshold)return a.error(`Critical polling loop detected: ${t} repeated ${d} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:d,message:`CRITICAL: Called ${t} with identical arguments and no progress ${d} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.warningThreshold)return a.warn(`Polling loop warning: ${t} repeated ${d} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:d,message:`WARNING: You have called ${t} ${d} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};let h=m.pairedSignature?`pingpong:${y(s,m.pairedSignature)}`:`pingpong:${t}:${s}`;if(i.detectors.pingPong&&m.count>=i.criticalThreshold&&m.noProgressEvidence)return a.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:h};if(i.detectors.pingPong&&m.count>=i.warningThreshold)return a.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:h};let g=o.filter(e=>e.toolName===t&&e.argsHash===s).length;return!f&&i.detectors.genericRepeat&&g>=i.warningThreshold?(a.warn(`Loop warning: ${t} called ${g} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:g,message:`WARNING: You have called ${t} ${g} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${s}`}):{stuck:!1}}function x(e,t,n,r,i){let a=c(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:l(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function S(e,t){let n=c(t.config),r=g(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=l(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}export{b as detectToolCallLoop,n as getDiagnosticSessionState,r as logToolLoopAction,x as recordToolCall,S as recordToolCallOutcome};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
require(`./paths-Bcdg3ma0.cjs`),require(`./paths-Cqca1YmF.cjs`),require(`./model-auth-fJrNIbke.cjs`);const e=require(`./logger-DPlqYkRm.cjs`);require(`./proxy-env-a590sPAz.cjs`),require(`./github-copilot-token-CCrgp2py.cjs`);const t=require(`./diagnostic-CbfxoqI_.cjs`);let n=require(`node:crypto`);const r=e.O(`agents/loop-detection`),i={enabled:!1,historySize:30,warningThreshold:10,criticalThreshold:20,globalCircuitBreakerThreshold:30,detectors:{genericRepeat:!0,knownPollNoProgress:!0,pingPong:!0}};function a(e,t){return typeof e!=`number`||!Number.isInteger(e)||e<=0?t:e}function o(e){let t=a(e?.warningThreshold,i.warningThreshold),n=a(e?.criticalThreshold,i.criticalThreshold),r=a(e?.globalCircuitBreakerThreshold,i.globalCircuitBreakerThreshold);return n<=t&&(n=t+1),r<=n&&(r=n+1),{enabled:e?.enabled??i.enabled,historySize:a(e?.historySize,i.historySize),warningThreshold:t,criticalThreshold:n,globalCircuitBreakerThreshold:r,detectors:{genericRepeat:e?.detectors?.genericRepeat??i.detectors.genericRepeat,knownPollNoProgress:e?.detectors?.knownPollNoProgress??i.detectors.knownPollNoProgress,pingPong:e?.detectors?.pingPong??i.detectors.pingPong}}}function s(e,t){return`${e}:${l(t)}`}function c(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(c).join(`,`)}]`;let t=e;return`{${Object.keys(t).toSorted().map(e=>`${JSON.stringify(e)}:${c(t[e])}`).join(`,`)}}`}function l(e){let t=u(e);return(0,n.createHash)(`sha256`).update(t).digest(`hex`)}function u(e){try{return c(e)}catch{return e==null?`${e}`:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:e instanceof Error?`${e.name}:${e.message}`:Object.prototype.toString.call(e)}}function d(t,n){if(t===`command_status`)return!0;if(t!==`process`||!e.D(n))return!1;let r=n.action;return r===`poll`||r===`log`}function f(t){return!e.D(t)||!Array.isArray(t.content)?``:t.content.filter(t=>e.D(t)&&typeof t.type==`string`&&typeof t.text==`string`).map(e=>e.text).join(`
|
|
2
|
-
`).trim()}function p(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:c(e)}function m(t,n,r,i){if(i!==void 0)return`error:${l(p(i))}`;if(!e.D(r))return r===void 0?void 0:l(r);let a=e.D(r.details)?r.details:{},o=f(r);if(d(t,n)&&t===`process`&&e.D(n)){let e=n.action;if(e===`poll`)return l({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return l({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return l({details:a,text:o})}function h(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function g(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function _(e,t){return[e,t].toSorted().join(`|`)}function v(e,t,n,i){let a=o(i);if(!a.enabled)return{stuck:!1};let c=e.toolCallHistory??[],l=s(t,n),u=h(c,t,l),f=u.count,p=d(t,n),m=g(c,l);if(f>=a.globalCircuitBreakerThreshold)return r.error(`Global circuit breaker triggered: ${t} repeated ${f} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:f,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${f} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.criticalThreshold)return r.error(`Critical polling loop detected: ${t} repeated ${f} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:f,message:`CRITICAL: Called ${t} with identical arguments and no progress ${f} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.warningThreshold)return r.warn(`Polling loop warning: ${t} repeated ${f} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:f,message:`WARNING: You have called ${t} ${f} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};let v=m.pairedSignature?`pingpong:${_(l,m.pairedSignature)}`:`pingpong:${t}:${l}`;if(a.detectors.pingPong&&m.count>=a.criticalThreshold&&m.noProgressEvidence)return r.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:v};if(a.detectors.pingPong&&m.count>=a.warningThreshold)return r.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:v};let y=c.filter(e=>e.toolName===t&&e.argsHash===l).length;return!p&&a.detectors.genericRepeat&&y>=a.warningThreshold?(r.warn(`Loop warning: ${t} called ${y} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:y,message:`WARNING: You have called ${t} ${y} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${l}`}):{stuck:!1}}function y(e,t,n,r,i){let a=o(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:s(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function b(e,t){let n=o(t.config),r=m(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=s(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}exports.detectToolCallLoop=v,exports.getDiagnosticSessionState=t.p,exports.logToolLoopAction=t.s,exports.recordToolCall=y,exports.recordToolCallOutcome=b;
|
|
2
|
+
`).trim()}function p(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:c(e)}function m(t,n,r,i){if(i!==void 0)return`error:${l(p(i))}`;if(!e.D(r))return r===void 0?void 0:l(r);let a=e.D(r.details)?r.details:{},o=f(r);if(d(t,n)&&t===`process`&&e.D(n)){let e=n.action;if(e===`poll`)return l({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return l({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return l({details:a,text:o})}function h(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function g(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function _(e,t){return[e,t].toSorted().join(`|`)}function v(e,t,n,i){let a=o(i);if(!a.enabled)return{stuck:!1};let c=e.toolCallHistory??[],l=s(t,n),u=h(c,t,l),f=u.count,p=d(t,n),m=g(c,l);if(f>=a.globalCircuitBreakerThreshold)return r.error(`Global circuit breaker triggered: ${t} repeated ${f} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:f,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${f} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.criticalThreshold)return r.error(`Critical polling loop detected: ${t} repeated ${f} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:f,message:`CRITICAL: Called ${t} with identical arguments and no progress ${f} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.warningThreshold)return r.warn(`Polling loop warning: ${t} repeated ${f} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:f,message:`WARNING: You have called ${t} ${f} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};let v=m.pairedSignature?`pingpong:${_(l,m.pairedSignature)}`:`pingpong:${t}:${l}`;if(a.detectors.pingPong&&m.count>=a.criticalThreshold&&m.noProgressEvidence)return r.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:v};if(a.detectors.pingPong&&m.count>=a.warningThreshold)return r.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:v};let y=c.filter(e=>e.toolName===t&&e.argsHash===l).length;return!p&&a.detectors.genericRepeat&&y>=a.warningThreshold?(r.warn(`Loop warning: ${t} called ${y} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:y,message:`WARNING: You have called ${t} ${y} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${l}`}):{stuck:!1}}function y(e,t,n,r,i){let a=o(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:s(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function b(e,t){let n=o(t.config),r=m(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=s(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}exports.detectToolCallLoop=v,exports.getDiagnosticSessionState=t.p,exports.logToolLoopAction=t.s,exports.recordToolCall=y,exports.recordToolCallOutcome=b;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
require(`./paths-Bcdg3ma0.cjs`),require(`./paths-D90l3h_o.cjs`),require(`./sessions-CJbvfO6m.cjs`);const e=require(`./logger-DUYnS-W3.cjs`);require(`./proxy-env-DQoJjkWE.cjs`),require(`./github-copilot-token-zskwAEpd.cjs`);const t=require(`./diagnostic-CbLwUqTE.cjs`);let n=require(`node:crypto`);const r=e.O(`agents/loop-detection`),i={enabled:!1,historySize:30,warningThreshold:10,criticalThreshold:20,globalCircuitBreakerThreshold:30,detectors:{genericRepeat:!0,knownPollNoProgress:!0,pingPong:!0}};function a(e,t){return typeof e!=`number`||!Number.isInteger(e)||e<=0?t:e}function o(e){let t=a(e?.warningThreshold,i.warningThreshold),n=a(e?.criticalThreshold,i.criticalThreshold),r=a(e?.globalCircuitBreakerThreshold,i.globalCircuitBreakerThreshold);return n<=t&&(n=t+1),r<=n&&(r=n+1),{enabled:e?.enabled??i.enabled,historySize:a(e?.historySize,i.historySize),warningThreshold:t,criticalThreshold:n,globalCircuitBreakerThreshold:r,detectors:{genericRepeat:e?.detectors?.genericRepeat??i.detectors.genericRepeat,knownPollNoProgress:e?.detectors?.knownPollNoProgress??i.detectors.knownPollNoProgress,pingPong:e?.detectors?.pingPong??i.detectors.pingPong}}}function s(e,t){return`${e}:${l(t)}`}function c(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(c).join(`,`)}]`;let t=e;return`{${Object.keys(t).toSorted().map(e=>`${JSON.stringify(e)}:${c(t[e])}`).join(`,`)}}`}function l(e){let t=u(e);return(0,n.createHash)(`sha256`).update(t).digest(`hex`)}function u(e){try{return c(e)}catch{return e==null?`${e}`:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:e instanceof Error?`${e.name}:${e.message}`:Object.prototype.toString.call(e)}}function d(t,n){if(t===`command_status`)return!0;if(t!==`process`||!e.D(n))return!1;let r=n.action;return r===`poll`||r===`log`}function f(t){return!e.D(t)||!Array.isArray(t.content)?``:t.content.filter(t=>e.D(t)&&typeof t.type==`string`&&typeof t.text==`string`).map(e=>e.text).join(`
|
|
2
|
-
`).trim()}function p(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:c(e)}function m(t,n,r,i){if(i!==void 0)return`error:${l(p(i))}`;if(!e.D(r))return r===void 0?void 0:l(r);let a=e.D(r.details)?r.details:{},o=f(r);if(d(t,n)&&t===`process`&&e.D(n)){let e=n.action;if(e===`poll`)return l({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return l({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return l({details:a,text:o})}function h(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function g(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function _(e,t){return[e,t].toSorted().join(`|`)}function v(e,t,n,i){let a=o(i);if(!a.enabled)return{stuck:!1};let c=e.toolCallHistory??[],l=s(t,n),u=h(c,t,l),f=u.count,p=d(t,n),m=g(c,l);if(f>=a.globalCircuitBreakerThreshold)return r.error(`Global circuit breaker triggered: ${t} repeated ${f} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:f,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${f} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.criticalThreshold)return r.error(`Critical polling loop detected: ${t} repeated ${f} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:f,message:`CRITICAL: Called ${t} with identical arguments and no progress ${f} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.warningThreshold)return r.warn(`Polling loop warning: ${t} repeated ${f} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:f,message:`WARNING: You have called ${t} ${f} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};let v=m.pairedSignature?`pingpong:${_(l,m.pairedSignature)}`:`pingpong:${t}:${l}`;if(a.detectors.pingPong&&m.count>=a.criticalThreshold&&m.noProgressEvidence)return r.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:v};if(a.detectors.pingPong&&m.count>=a.warningThreshold)return r.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:v};let y=c.filter(e=>e.toolName===t&&e.argsHash===l).length;return!p&&a.detectors.genericRepeat&&y>=a.warningThreshold?(r.warn(`Loop warning: ${t} called ${y} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:y,message:`WARNING: You have called ${t} ${y} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${l}`}):{stuck:!1}}function y(e,t,n,r,i){let a=o(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:s(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function b(e,t){let n=o(t.config),r=m(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=s(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}exports.detectToolCallLoop=v,exports.getDiagnosticSessionState=t.p,exports.logToolLoopAction=t.s,exports.recordToolCall=y,exports.recordToolCallOutcome=b;
|
|
2
|
+
`).trim()}function p(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:c(e)}function m(t,n,r,i){if(i!==void 0)return`error:${l(p(i))}`;if(!e.D(r))return r===void 0?void 0:l(r);let a=e.D(r.details)?r.details:{},o=f(r);if(d(t,n)&&t===`process`&&e.D(n)){let e=n.action;if(e===`poll`)return l({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return l({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return l({details:a,text:o})}function h(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function g(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function _(e,t){return[e,t].toSorted().join(`|`)}function v(e,t,n,i){let a=o(i);if(!a.enabled)return{stuck:!1};let c=e.toolCallHistory??[],l=s(t,n),u=h(c,t,l),f=u.count,p=d(t,n),m=g(c,l);if(f>=a.globalCircuitBreakerThreshold)return r.error(`Global circuit breaker triggered: ${t} repeated ${f} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:f,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${f} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.criticalThreshold)return r.error(`Critical polling loop detected: ${t} repeated ${f} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:f,message:`CRITICAL: Called ${t} with identical arguments and no progress ${f} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};if(p&&a.detectors.knownPollNoProgress&&f>=a.warningThreshold)return r.warn(`Polling loop warning: ${t} repeated ${f} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:f,message:`WARNING: You have called ${t} ${f} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${l}:${u.latestResultHash??`none`}`};let v=m.pairedSignature?`pingpong:${_(l,m.pairedSignature)}`:`pingpong:${t}:${l}`;if(a.detectors.pingPong&&m.count>=a.criticalThreshold&&m.noProgressEvidence)return r.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:v};if(a.detectors.pingPong&&m.count>=a.warningThreshold)return r.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:v};let y=c.filter(e=>e.toolName===t&&e.argsHash===l).length;return!p&&a.detectors.genericRepeat&&y>=a.warningThreshold?(r.warn(`Loop warning: ${t} called ${y} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:y,message:`WARNING: You have called ${t} ${y} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${l}`}):{stuck:!1}}function y(e,t,n,r,i){let a=o(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:s(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function b(e,t){let n=o(t.config),r=m(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=s(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}exports.detectToolCallLoop=v,exports.getDiagnosticSessionState=t.p,exports.logToolLoopAction=t.s,exports.recordToolCall=y,exports.recordToolCallOutcome=b;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import"./paths-J4JUiRsa.js";import"./config-LR8GH3Ws.js";import"./paths-DaRoqzBQ.js";import"./github-copilot-token-C1hiDugd.js";import{F as e,a as t}from"./logger-BtrWb0dj.js";import"./proxy-env-t6hcaFqC.js";import{p as n,s as r}from"./diagnostic-DS_mKKOu.js";import{createHash as i}from"node:crypto";const a=t(`agents/loop-detection`),o={enabled:!1,historySize:30,warningThreshold:10,criticalThreshold:20,globalCircuitBreakerThreshold:30,detectors:{genericRepeat:!0,knownPollNoProgress:!0,pingPong:!0}};function s(e,t){return typeof e!=`number`||!Number.isInteger(e)||e<=0?t:e}function c(e){let t=s(e?.warningThreshold,o.warningThreshold),n=s(e?.criticalThreshold,o.criticalThreshold),r=s(e?.globalCircuitBreakerThreshold,o.globalCircuitBreakerThreshold);return n<=t&&(n=t+1),r<=n&&(r=n+1),{enabled:e?.enabled??o.enabled,historySize:s(e?.historySize,o.historySize),warningThreshold:t,criticalThreshold:n,globalCircuitBreakerThreshold:r,detectors:{genericRepeat:e?.detectors?.genericRepeat??o.detectors.genericRepeat,knownPollNoProgress:e?.detectors?.knownPollNoProgress??o.detectors.knownPollNoProgress,pingPong:e?.detectors?.pingPong??o.detectors.pingPong}}}function l(e,t){return`${e}:${d(t)}`}function u(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(u).join(`,`)}]`;let t=e;return`{${Object.keys(t).toSorted().map(e=>`${JSON.stringify(e)}:${u(t[e])}`).join(`,`)}}`}function d(e){let t=f(e);return i(`sha256`).update(t).digest(`hex`)}function f(e){try{return u(e)}catch{return e==null?`${e}`:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:e instanceof Error?`${e.name}:${e.message}`:Object.prototype.toString.call(e)}}function p(t,n){if(t===`command_status`)return!0;if(t!==`process`||!e(n))return!1;let r=n.action;return r===`poll`||r===`log`}function m(t){return!e(t)||!Array.isArray(t.content)?``:t.content.filter(t=>e(t)&&typeof t.type==`string`&&typeof t.text==`string`).map(e=>e.text).join(`
|
|
2
|
-
`).trim()}function h(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:u(e)}function g(t,n,r,i){if(i!==void 0)return`error:${d(h(i))}`;if(!e(r))return r===void 0?void 0:d(r);let a=e(r.details)?r.details:{},o=m(r);if(p(t,n)&&t===`process`&&e(n)){let e=n.action;if(e===`poll`)return d({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return d({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return d({details:a,text:o})}function _(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function v(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function y(e,t){return[e,t].toSorted().join(`|`)}function b(e,t,n,r){let i=c(r);if(!i.enabled)return{stuck:!1};let o=e.toolCallHistory??[],s=l(t,n),u=_(o,t,s),d=u.count,f=p(t,n),m=v(o,s);if(d>=i.globalCircuitBreakerThreshold)return a.error(`Global circuit breaker triggered: ${t} repeated ${d} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:d,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${d} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.criticalThreshold)return a.error(`Critical polling loop detected: ${t} repeated ${d} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:d,message:`CRITICAL: Called ${t} with identical arguments and no progress ${d} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.warningThreshold)return a.warn(`Polling loop warning: ${t} repeated ${d} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:d,message:`WARNING: You have called ${t} ${d} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};let h=m.pairedSignature?`pingpong:${y(s,m.pairedSignature)}`:`pingpong:${t}:${s}`;if(i.detectors.pingPong&&m.count>=i.criticalThreshold&&m.noProgressEvidence)return a.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:h};if(i.detectors.pingPong&&m.count>=i.warningThreshold)return a.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:h};let g=o.filter(e=>e.toolName===t&&e.argsHash===s).length;return!f&&i.detectors.genericRepeat&&g>=i.warningThreshold?(a.warn(`Loop warning: ${t} called ${g} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:g,message:`WARNING: You have called ${t} ${g} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${s}`}):{stuck:!1}}function x(e,t,n,r,i){let a=c(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:l(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function S(e,t){let n=c(t.config),r=g(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=l(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}export{b as detectToolCallLoop,n as getDiagnosticSessionState,r as logToolLoopAction,x as recordToolCall,S as recordToolCallOutcome};
|
|
2
|
+
`).trim()}function h(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?`${e}`:u(e)}function g(t,n,r,i){if(i!==void 0)return`error:${d(h(i))}`;if(!e(r))return r===void 0?void 0:d(r);let a=e(r.details)?r.details:{},o=m(r);if(p(t,n)&&t===`process`&&e(n)){let e=n.action;if(e===`poll`)return d({action:e,status:a.status,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,aggregated:a.aggregated??null,text:o});if(e===`log`)return d({action:e,status:a.status,totalLines:a.totalLines??null,totalChars:a.totalChars??null,truncated:a.truncated??null,exitCode:a.exitCode??null,exitSignal:a.exitSignal??null,text:o})}return d({details:a,text:o})}function _(e,t,n){let r=0,i;for(let a=e.length-1;a>=0;--a){let o=e[a];if(!(!o||o.toolName!==t||o.argsHash!==n)&&!(typeof o.resultHash!=`string`||!o.resultHash)){if(!i){i=o.resultHash,r=1;continue}if(o.resultHash!==i)break;r+=1}}return{count:r,latestResultHash:i}}function v(e,t){let n=e.at(-1);if(!n)return{count:0,noProgressEvidence:!1};let r,i;for(let t=e.length-2;t>=0;--t){let a=e[t];if(a&&a.argsHash!==n.argsHash){r=a.argsHash,i=a.toolName;break}}if(!r||!i)return{count:0,noProgressEvidence:!1};let a=0;for(let t=e.length-1;t>=0;--t){let i=e[t];if(!i)continue;let o=a%2==0?n.argsHash:r;if(i.argsHash!==o)break;a+=1}if(a<2||t!==r)return{count:0,noProgressEvidence:!1};let o=Math.max(0,e.length-a),s,c,l=!0;for(let t=o;t<e.length;t+=1){let i=e[t];if(i){if(!i.resultHash){l=!1;break}if(i.argsHash===n.argsHash){if(!s)s=i.resultHash;else if(s!==i.resultHash){l=!1;break}continue}if(i.argsHash===r){if(!c)c=i.resultHash;else if(c!==i.resultHash){l=!1;break}continue}l=!1;break}}return(!s||!c)&&(l=!1),{count:a+1,pairedToolName:n.toolName,pairedSignature:n.argsHash,noProgressEvidence:l}}function y(e,t){return[e,t].toSorted().join(`|`)}function b(e,t,n,r){let i=c(r);if(!i.enabled)return{stuck:!1};let o=e.toolCallHistory??[],s=l(t,n),u=_(o,t,s),d=u.count,f=p(t,n),m=v(o,s);if(d>=i.globalCircuitBreakerThreshold)return a.error(`Global circuit breaker triggered: ${t} repeated ${d} times with no progress`),{stuck:!0,level:`critical`,detector:`global_circuit_breaker`,count:d,message:`CRITICAL: ${t} has repeated identical no-progress outcomes ${d} times. Session execution blocked by global circuit breaker to prevent runaway loops.`,warningKey:`global:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.criticalThreshold)return a.error(`Critical polling loop detected: ${t} repeated ${d} times`),{stuck:!0,level:`critical`,detector:`known_poll_no_progress`,count:d,message:`CRITICAL: Called ${t} with identical arguments and no progress ${d} times. This appears to be a stuck polling loop. Session execution blocked to prevent resource waste.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};if(f&&i.detectors.knownPollNoProgress&&d>=i.warningThreshold)return a.warn(`Polling loop warning: ${t} repeated ${d} times`),{stuck:!0,level:`warning`,detector:`known_poll_no_progress`,count:d,message:`WARNING: You have called ${t} ${d} times with identical arguments and no progress. Stop polling and either (1) increase wait time between checks, or (2) report the task as failed if the process is stuck.`,warningKey:`poll:${t}:${s}:${u.latestResultHash??`none`}`};let h=m.pairedSignature?`pingpong:${y(s,m.pairedSignature)}`:`pingpong:${t}:${s}`;if(i.detectors.pingPong&&m.count>=i.criticalThreshold&&m.noProgressEvidence)return a.error(`Critical ping-pong loop detected: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`critical`,detector:`ping_pong`,count:m.count,message:`CRITICAL: You are alternating between repeated tool-call patterns (${m.count} consecutive calls) with no progress. This appears to be a stuck ping-pong loop. Session execution blocked to prevent resource waste.`,pairedToolName:m.pairedToolName,warningKey:h};if(i.detectors.pingPong&&m.count>=i.warningThreshold)return a.warn(`Ping-pong loop warning: alternating calls count=${m.count} currentTool=${t}`),{stuck:!0,level:`warning`,detector:`ping_pong`,count:m.count,message:`WARNING: You are alternating between repeated tool-call patterns (${m.count} consecutive calls). This looks like a ping-pong loop; stop retrying and report the task as failed.`,pairedToolName:m.pairedToolName,warningKey:h};let g=o.filter(e=>e.toolName===t&&e.argsHash===s).length;return!f&&i.detectors.genericRepeat&&g>=i.warningThreshold?(a.warn(`Loop warning: ${t} called ${g} times with identical arguments`),{stuck:!0,level:`warning`,detector:`generic_repeat`,count:g,message:`WARNING: You have called ${t} ${g} times with identical arguments. If this is not making progress, stop retrying and report the task as failed.`,warningKey:`generic:${t}:${s}`}):{stuck:!1}}function x(e,t,n,r,i){let a=c(i);e.toolCallHistory||=[],e.toolCallHistory.push({toolName:t,argsHash:l(t,n),toolCallId:r,timestamp:Date.now()}),e.toolCallHistory.length>a.historySize&&e.toolCallHistory.shift()}function S(e,t){let n=c(t.config),r=g(t.toolName,t.toolParams,t.result,t.error);if(!r)return;e.toolCallHistory||=[];let i=l(t.toolName,t.toolParams),a=!1;for(let n=e.toolCallHistory.length-1;n>=0;--n){let o=e.toolCallHistory[n];if(o&&!(t.toolCallId&&o.toolCallId!==t.toolCallId)&&!(o.toolName!==t.toolName||o.argsHash!==i)&&o.resultHash===void 0){o.resultHash=r,a=!0;break}}a||e.toolCallHistory.push({toolName:t.toolName,argsHash:i,toolCallId:t.toolCallId,resultHash:r,timestamp:Date.now()}),e.toolCallHistory.length>n.historySize&&e.toolCallHistory.splice(0,e.toolCallHistory.length-n.historySize)}export{b as detectToolCallLoop,n as getDiagnosticSessionState,r as logToolLoopAction,x as recordToolCall,S as recordToolCallOutcome};
|