@fased/fased 0.1.13 → 0.1.14
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/CHANGELOG.md +9 -0
- package/README.md +28 -33
- package/dist/{agents-DmWSWgPi.js → agents-C-WHRWnS.js} +8 -8
- package/dist/{attachment-normalize-B2x8FWZ9.js → attachment-normalize-DQ8t8Fpg.js} +1 -1
- package/dist/{attachment-normalize-DaQyD3Gc.js → attachment-normalize-qkVppE3-.js} +1 -1
- package/dist/{audio-preflight-CjhAnjuK.js → audio-preflight-2IPkCNvN.js} +1 -1
- package/dist/{audio-preflight-DqM048P_.js → audio-preflight-3DGv3sEL.js} +2 -2
- package/dist/{audio-preflight-DilYfzh4.js → audio-preflight-Bd38_Rtq.js} +1 -1
- package/dist/{audio-preflight-BVQHfg69.js → audio-preflight-LGe174al.js} +2 -2
- package/dist/{audio-preflight-BF_inA1H.js → audio-preflight-vshjxbVx.js} +1 -1
- package/dist/{audit-BmyHd7Fd.js → audit-DjY5I08B.js} +1 -1
- package/dist/{audit-oiJMNMrH.js → audit-x263ATTT.js} +1 -1
- package/dist/{auth-Ba9Dk7FX.js → auth-B7xL5wBQ.js} +92 -73
- package/dist/{auth-choice-Ba8d4du0.js → auth-choice-DJMbZkdQ.js} +1 -1
- package/dist/{auth-choice-DT4p5QVd.js → auth-choice-FgOKdWSF.js} +1 -1
- package/dist/{auth-choice-prompt-DVg6LrLV.js → auth-choice-prompt-DpbsOuyY.js} +1 -1
- package/dist/{auth-choice-prompt-BLqcFdqp.js → auth-choice-prompt-rlE_GSOw.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-web-BjEGLQyO.js → channel-web-Bp0CxbNI.js} +2 -2
- package/dist/{channel-web-b3C50Y_N.js → channel-web-D6D54KuR.js} +2 -2
- package/dist/{channels-CkoIiZt6.js → channels-C4gSP3Dd.js} +6 -6
- package/dist/{channels-C7isH6xy.js → channels-DvysmLPX.js} +6 -6
- package/dist/{channels-cli-BtgXre6E.js → channels-cli-BuNVqf2J.js} +5 -5
- package/dist/{channels-cli-wTlfSXoS.js → channels-cli-Bz65iM4H.js} +5 -5
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-bjzzND1a.js → cli-CY2HaoYp.js} +2 -2
- package/dist/{cli-DIm0O_lA.js → cli-DgGwAObY.js} +2 -2
- package/dist/{command-registry-L5hzgsO3.js → command-registry-DgzxE6-s.js} +9 -9
- package/dist/{completion-cli-BS5owZSW.js → completion-cli-jTE-3aDE.js} +2 -2
- package/dist/{completion-cli-Cqcy4193.js → completion-cli-jpzUvb3x.js} +1 -1
- package/dist/{config-cli-B6a5ZEoL.js → config-cli-C8LQVFqN.js} +1 -1
- package/dist/{config-cli-DqdtNMfz.js → config-cli-Vu0qrkcp.js} +1 -1
- package/dist/{configure-DnEK9lvB.js → configure-BTCJ4jyp.js} +12 -12
- package/dist/{configure-BwEHGe7O.js → configure-DwuimLR7.js} +12 -12
- package/dist/control-ui/assets/app-DXYMrRJ9.js.map +1 -1
- package/dist/{cron-cli-BDHDvZT2.js → cron-cli-CnqrBQRR.js} +2 -2
- package/dist/{cron-cli-Bwt1DpjZ.js → cron-cli-Komkqy3-.js} +2 -2
- package/dist/{daemon-cli-Cb_QJZX8.js → daemon-cli-DO7p9TEM.js} +1 -1
- package/dist/{daemon-cli-h2D07h8M.js → daemon-cli-eLgnHj5I.js} +1 -1
- package/dist/daemon-cli.js +1 -1
- package/dist/{deps-CZFDjC6B.js → deps-Dh2iIgIB.js} +1 -1
- package/dist/{deps-CrKSMHlj.js → deps-npMqt3Ka.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +1 -1
- package/dist/{gateway-cli-a6mdZcvO.js → gateway-cli-CtGAZD_4.js} +27 -27
- package/dist/{gateway-cli-lJ8tfi1V.js → gateway-cli-DnPPkDok.js} +27 -27
- package/dist/{health-DI0aqVH0.js → health-CI2la9gk.js} +2 -2
- package/dist/{health-CKmYZQVl.js → health-WemI1hMs.js} +2 -2
- package/dist/{heartbeat-runner-CwEpFUJu.js → heartbeat-runner-DGA7RCWg.js} +1 -1
- package/dist/{heartbeat-runner-DDfNvScd.js → heartbeat-runner-DcqI-L2-.js} +1 -1
- package/dist/{hooks-cli-C3kkiY3m.js → hooks-cli-BJ-cuVgp.js} +3 -3
- package/dist/{hooks-cli-CWaBU3Gm.js → hooks-cli-CKiMdD4M.js} +3 -3
- package/dist/index.js +7 -7
- package/dist/{ipv4-CNhiSmCD.js → ipv4-86I-Nx-V.js} +2 -2
- package/dist/{ipv4-BLRwHChK.js → ipv4-ocsDp87_.js} +2 -2
- package/dist/{lifecycle-C5XGWThd.js → lifecycle-C6SWjahT.js} +1 -1
- package/dist/{lifecycle-DFB0_xLS.js → lifecycle-DtjQ5ipb.js} +1 -1
- package/dist/{list.auth-overview-BIp5q_8N.js → list.auth-overview-Cmhnxus1.js} +1 -1
- package/dist/{list.auth-overview-rLzc76Sc.js → list.auth-overview-DrR818-U.js} +1 -1
- package/dist/llm-slug-generator.js +1 -1
- package/dist/{model-catalog-hjXNofhs.js → model-catalog-QdGjCBzQ.js} +93 -74
- package/dist/{models-B0wDRRTB.js → models-B4gY5Zsf.js} +4 -4
- package/dist/{models-cli-2VcOiLID.js → models-cli-ZYvMSvJ0.js} +4 -4
- package/dist/{models-cli-CKQEE1hy.js → models-cli-hrJ2blXT.js} +5 -5
- package/dist/{node-cli-CT41KnaD.js → node-cli-CPmJqYER.js} +2 -2
- package/dist/{node-cli-hiCjYjDs.js → node-cli-DniBkXLM.js} +2 -2
- package/dist/{onboard-ruUWKVpa.js → onboard-BBW1oF-0.js} +6 -6
- package/dist/{onboard-ddaSHBKZ.js → onboard-WQObC6sI.js} +6 -6
- package/dist/{onboard-channels-DYKwJPZk.js → onboard-channels-Bwb5RCIS.js} +2 -2
- package/dist/{onboard-channels-BBLJ2eG7.js → onboard-channels-DZij_XSU.js} +2 -2
- package/dist/{onboard-search-K_gqtpu1.js → onboard-search-Bt2b93cG.js} +5 -5
- package/dist/{onboard-search-D8sCkxny.js → onboard-search-C-PWyXkX.js} +5 -5
- package/dist/{onboarding-j1hpXVOe.js → onboarding-Cb9j4BOq.js} +7 -7
- package/dist/{onboarding-C8WtfnfT.js → onboarding-INDfl2yD.js} +7 -7
- package/dist/{openresponses-http-B5LVbUQ-.js → openresponses-http-BHecKser.js} +1 -1
- package/dist/{openresponses-http-C983oEVC.js → openresponses-http-C4VkP7IC.js} +1 -1
- package/dist/{openresponses-http-c0bMt48o.js → openresponses-http-CGLYAUyM.js} +1 -1
- package/dist/{openresponses-http-ngs3P9ek.js → openresponses-http-CVJBsG9z.js} +2 -2
- package/dist/{openresponses-http-CUqgCbTX.js → openresponses-http-dny2OhpA.js} +2 -2
- package/dist/{parent-default-help-DE5SId9s.js → parent-default-help-CcPiYUar.js} +1 -1
- package/dist/{parent-default-help-CoH7zlDh.js → parent-default-help-dowF5JGJ.js} +1 -1
- package/dist/{pi-embedded-BvqQUzWN.js → pi-embedded-D-WBZS6e.js} +89 -70
- package/dist/{pi-embedded-F3Zt8ed6.js → pi-embedded-IqgbZA5l.js} +89 -70
- package/dist/{plugin-registry-C5Ry5FZe.js → plugin-registry-C0b3SJXT.js} +1 -1
- package/dist/{plugin-registry-V61y7NBj.js → plugin-registry-C1WE5cad.js} +1 -1
- package/dist/plugin-sdk/{active-listener-DMQkC65_.js → active-listener-CiGA0hRS.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-Ba6xe3SP.js → audio-preflight-DVoi6-9R.js} +29 -29
- package/dist/plugin-sdk/{audio-preflight-Iwawhfar.js → audio-preflight-Do3tS2Hp.js} +1 -1
- package/dist/plugin-sdk/{channel-activity-BcI4xSoe.js → channel-activity-DRcprlRI.js} +1 -1
- package/dist/plugin-sdk/{channel-web-ByZK5Ws6.js → channel-web-DvYiNUDj.js} +15 -15
- package/dist/plugin-sdk/{chunk-BntoXexQ.js → chunk-CWM4OQ5j.js} +1 -1
- package/dist/plugin-sdk/command-status.js +1 -1
- package/dist/plugin-sdk/{commands-registry-Deqd0K8M.js → commands-registry-CnlOnVB6.js} +1 -1
- package/dist/plugin-sdk/{diagnostic-BnS_JikV.js → diagnostic-BfpYqaMu.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-CTD85vq2.js → fetch-guard-BciVpgwU.js} +1 -1
- package/dist/plugin-sdk/{fetch-B42SDHGm.js → fetch-yy6-Kb3T.js} +1 -1
- package/dist/plugin-sdk/{filesystem-manager-BX7oNQR8.js → filesystem-manager-B5AL-sCv.js} +3 -3
- package/dist/plugin-sdk/{fs-safe-DOPVDJix.js → fs-safe-Ch39tcFn.js} +2 -2
- package/dist/plugin-sdk/index.js +34 -34
- package/dist/plugin-sdk/{internal-DQx46pKX.js → internal-Bsx2Ck4H.js} +1 -1
- package/dist/plugin-sdk/{ir-Bbym3o_S.js → ir-BqSQJB3B.js} +4 -4
- package/dist/plugin-sdk/{login-BViGjyGG.js → login-CUkR_AH3.js} +2 -2
- package/dist/plugin-sdk/{login-qr-Byua0a3V.js → login-qr-BTjizo_A.js} +2 -2
- package/dist/plugin-sdk/{manager-CIggnIJi.js → manager-DQJURMcB.js} +5 -5
- package/dist/plugin-sdk/{markdown-tables-DpMWx8Tl.js → markdown-tables-Dvj4VeiJ.js} +1 -1
- package/dist/plugin-sdk/{memory-search-DASOKZdc.js → memory-search-BMkuVf7r.js} +1 -1
- package/dist/plugin-sdk/{openresponses-http-CGyicTgJ.js → openresponses-http-7e9CqhJi.js} +1 -1
- package/dist/plugin-sdk/{openresponses-http-B5rDYW__.js → openresponses-http-CEjbCJ_J.js} +29 -29
- package/dist/plugin-sdk/{outbound-C_KKhUy0.js → outbound-Ch3UOB-3.js} +6 -6
- package/dist/plugin-sdk/{outbound-attachment-ddz0MwiT.js → outbound-attachment-8pyStMIv.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-ZLFppfUS.js → path-alias-guards-DmROHvdC.js} +1 -1
- package/dist/plugin-sdk/{paths-BjhD4HPg.js → paths-QYyMn2Wi.js} +2 -2
- package/dist/plugin-sdk/{pi-model-discovery-CFtZGJhK.js → pi-model-discovery-BGBK5j7O.js} +1 -1
- package/dist/plugin-sdk/{pi-model-discovery-runtime-C4xL6SHf.js → pi-model-discovery-runtime-Ds3U-M1x.js} +2 -2
- package/dist/plugin-sdk/{pw-ai-8IF0b_Yx.js → pw-ai-qIQtqb0S.js} +4 -4
- package/dist/plugin-sdk/{qmd-manager-Cwq6jm3-.js → qmd-manager-DAYkSE5z.js} +4 -4
- package/dist/plugin-sdk/{qmd-scope-CSMRsTtS.js → qmd-scope-CDToQJAg.js} +1 -1
- package/dist/plugin-sdk/{query-expansion-BxUJl8D1.js → query-expansion-yLS-ifHD.js} +2 -2
- package/dist/plugin-sdk/{replies-4ciKRt42.js → replies-DuVEe866.js} +2 -2
- package/dist/plugin-sdk/{reply-DQvYSWCp.js → reply-D9WhCAf0.js} +154 -135
- package/dist/plugin-sdk/{reply-prefix-D1GlTOVT.js → reply-prefix-DYUukSpx.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-CsbaX39w.js → resolve-outbound-target-DlTadiqm.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-y3cyO8Nu.js → resolve-route-CKHCIkIh.js} +1 -1
- package/dist/plugin-sdk/{runtime-JZwgwXxK.js → runtime-d_ap8ggn.js} +8 -8
- package/dist/plugin-sdk/{send-By-vmNGK.js → send-BYaWimfS.js} +5 -5
- package/dist/plugin-sdk/{send-BkZyweGW.js → send-Cvf5nOIr.js} +4 -4
- package/dist/plugin-sdk/{send-B7uKkTxV.js → send-DYsMepvi.js} +7 -7
- package/dist/plugin-sdk/{send-b2ALvHco.js → send-DtgDCh9h.js} +7 -7
- package/dist/plugin-sdk/{send-jXCTO3i_.js → send-XXJCJ2as.js} +5 -5
- package/dist/plugin-sdk/{session-B2c1Wmrm.js → session-CZkOY6Ba.js} +1 -1
- package/dist/plugin-sdk/{skill-commands-DqGrOYfl.js → skill-commands-BKfUIpx3.js} +5 -5
- package/dist/plugin-sdk/src/agents/bash-tools.process.d.ts +2 -2
- package/dist/plugin-sdk/src/brand.d.ts +2 -2
- package/dist/plugin-sdk/src/channels/thread-bindings-policy.d.ts +21 -0
- package/dist/plugin-sdk/{status-KYehxhnn.js → status-BtSfRg0Y.js} +92 -73
- package/dist/plugin-sdk/{tables-b0zUZRMn.js → tables-DQEs0bVk.js} +1 -1
- package/dist/plugin-sdk/{target-errors-WJdwRuAS.js → target-errors-DpDEAats.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-k7zpyjWy.js → tool-loop-detection-D8xgCIc0.js} +1 -1
- package/dist/plugin-sdk/{web-CAC5vbc9.js → web-Dn9EjG_7.js} +2 -2
- package/dist/plugin-sdk/web-Iu1NvzWV.js +40 -0
- package/dist/plugin-sdk/{whatsapp-actions-SkM0ibaJ.js → whatsapp-actions-qiFsmHsr.js} +12 -12
- package/dist/{plugins-cli-ChEJuxFs.js → plugins-cli-D1j2v1v3.js} +5 -5
- package/dist/{plugins-cli-DwxmXRMv.js → plugins-cli-DK4Jeucz.js} +5 -5
- package/dist/{program-BGSx2Vda.js → program-CazmynDS.js} +7 -7
- package/dist/{program-context-P_PLH93O.js → program-context-Bd78I73_.js} +24 -24
- package/dist/{prompt-select-styled-Cgj-zl4h.js → prompt-select-styled-Bx8l6tgz.js} +4 -4
- package/dist/{prompt-select-styled-xJXAqPXi.js → prompt-select-styled-DSFk0AgE.js} +4 -4
- package/dist/{register.agent-FTnfAUsz.js → register.agent-B4kjmkkK.js} +9 -9
- package/dist/{register.agent-DtHG7NoT.js → register.agent-PlTxuITr.js} +8 -8
- package/dist/{register.configure-wr3EEeat.js → register.configure-BvP4DKP8.js} +12 -12
- package/dist/{register.configure-hmL6L3g2.js → register.configure-DZPTQvjv.js} +12 -12
- package/dist/{register.maintenance-C6oo_ezy.js → register.maintenance-BbuaL-LU.js} +8 -8
- package/dist/{register.maintenance-Dy4bRQQG.js → register.maintenance-a-pIClSG.js} +9 -9
- package/dist/{register.message-Bf14REw-.js → register.message-DDFPXPWb.js} +3 -3
- package/dist/{register.message-BD4Te7tj.js → register.message-DNVRbijg.js} +3 -3
- package/dist/{register.onboard-Cu_0muzG.js → register.onboard-B0HUy5PD.js} +14 -14
- package/dist/{register.onboard-C0xqP_uC.js → register.onboard-nXq-teMt.js} +14 -14
- package/dist/{register.setup-oZxJojNP.js → register.setup-DIhPxsuu.js} +14 -14
- package/dist/{register.setup-BiHZP-Bk.js → register.setup-DRj3j2ZO.js} +14 -14
- package/dist/{register.status-health-sessions-DpCYTTdC.js → register.status-health-sessions-DTDrlfum.js} +6 -6
- package/dist/{register.status-health-sessions-5ekV66OK.js → register.status-health-sessions-vQKRHMLC.js} +6 -6
- package/dist/{register.subclis-CDkHAGnh.js → register.subclis-Cy8W7u7O.js} +16 -16
- package/dist/{reply-Baz1gE0S.js → reply-CHDxge29.js} +93 -74
- package/dist/{run-main-DKRKAwiP.js → run-main-1aaRfq94.js} +14 -14
- package/dist/{runtime-helper-grants-tP01ROwZ.js → runtime-helper-grants-0TgQ0lgQ.js} +1 -1
- package/dist/{runtime-helper-grants-BLBgnkag.js → runtime-helper-grants-n6XBHo3m.js} +1 -1
- package/dist/{sandbox-cli-Bd-8A0tb.js → sandbox-cli-D-2QLS_w.js} +2 -2
- package/dist/{sandbox-cli-D47Wa19_.js → sandbox-cli-Ds-oc2Jt.js} +2 -2
- package/dist/{security-cli-DNazkft-.js → security-cli-Ck0noj86.js} +3 -3
- package/dist/{security-cli-BJY7p7My.js → security-cli-DxJAZsT6.js} +3 -3
- package/dist/{server-Bve0fBtZ.js → server-BEwhNHAO.js} +2 -2
- package/dist/{server-Bbpijl2X.js → server-D554L3O3.js} +2 -2
- package/dist/{server-cron-Dqe6FbgV.js → server-cron-Co8el74q.js} +2 -2
- package/dist/{server-cron-BUNwsQ3c.js → server-cron-CuUXpitx.js} +2 -2
- package/dist/{server-node-events-ClO3P4gG.js → server-node-events-bzKAOMwM.js} +3 -3
- package/dist/{server-node-events-BEZ0jgR6.js → server-node-events-h-xwZu4x.js} +3 -3
- package/dist/{status-CNDT0EXd.js → status-Bd25eZ91.js} +4 -4
- package/dist/{status-CEc8-_t7.js → status-CjvLj0Ob.js} +1 -1
- package/dist/{status-CYNE3C5Y.js → status-DXweKVET.js} +4 -4
- package/dist/{status-Doouocs4.js → status-DetSO2U-.js} +1 -1
- package/dist/{tui-cli-DGqbmIjb.js → tui-cli-B6IhMpTo.js} +3 -3
- package/dist/{tui-cli-BAHVzUig.js → tui-cli-DDu-3YTW.js} +3 -3
- package/dist/{tui-DlBfUSia.js → tui-rvBD7CEp.js} +1 -1
- package/dist/{tui-Cj2tNzRU.js → tui-sRU4cuDV.js} +1 -1
- package/dist/{update-cli-CowwEm1_.js → update-cli-DdBQL9wa.js} +10 -10
- package/dist/{update-cli-Dhambp65.js → update-cli-DhiPLbfC.js} +9 -9
- package/dist/{update-runner-DItB16kj.js → update-runner-CsJOHUCm.js} +1 -1
- package/dist/{update-runner-BYNHsNaj.js → update-runner-DBPk9kKP.js} +1 -1
- package/dist/{web-BKQLvqgr.js → web-0D-MfWhQ.js} +2 -2
- package/dist/{web-B3fGD9XZ.js → web-B2uPE5Pt.js} +3 -3
- package/dist/{web-u2nJ-rqI.js → web-DsACg6Kp.js} +3 -3
- package/dist/{web-BLUd2_Lg.js → web-Y8Z075Dl.js} +2 -2
- package/dist/{web-search-providers.runtime-mdso7C9-.js → web-search-providers.runtime-C9rYYuJB.js} +1 -1
- package/dist/{web-search-providers.runtime-DmhNfMZI.js → web-search-providers.runtime-Dih9pZ-s.js} +1 -1
- package/dist/{web-Cv-tDA3u.js → web-uQepjRHJ.js} +2 -2
- package/docs/automation/cron-vs-heartbeat.md +8 -8
- package/docs/cli/index.md +4 -4
- package/docs/concepts/architecture.md +2 -2
- package/docs/concepts/features.md +40 -40
- package/docs/concepts/model-providers.md +4 -4
- package/docs/docs.json +1 -1
- package/docs/gateway/authentication.md +2 -2
- package/docs/gateway/configuration-reference.md +1 -1
- package/docs/gateway/heartbeat.md +1 -0
- package/docs/help/faq.md +4 -4
- package/docs/help/index.md +4 -4
- package/docs/help/testing.md +5 -0
- package/docs/images/screenshots/polished/README.md +16 -0
- package/docs/images/screenshots/polished/operator-school-001-local-install-profile.png +0 -0
- package/docs/images/screenshots/polished/operator-school-002-local-gateway-settings.png +0 -0
- package/docs/images/screenshots/polished/operator-school-003-local-dashboard-link.png +0 -0
- package/docs/images/screenshots/polished/operator-school-004-hosted-tailscale-start.png +0 -0
- package/docs/images/screenshots/polished/operator-school-005-hosted-ssh-check.png +0 -0
- package/docs/images/screenshots/polished/operator-school-006-hosted-private-access.png +0 -0
- package/docs/images/screenshots/polished/operator-school-007-dashboard-open.png +0 -0
- package/docs/images/screenshots/polished/operator-school-008-agent-setup.png +0 -0
- package/docs/images/screenshots/polished/operator-school-009-chat-channel-setup.png +0 -0
- package/docs/images/screenshots/polished/operator-school-010-model-selection.png +0 -0
- package/docs/images/screenshots/polished/operator-school-011-model-provider-sign-in.png +0 -0
- package/docs/images/screenshots/polished/operator-school-012-wallet-roles.png +0 -0
- package/docs/images/screenshots/polished/operator-school-013-wallet-create.png +0 -0
- package/docs/images/screenshots/polished/operator-school-014-wallet-summary.png +0 -0
- package/docs/images/screenshots/polished/operator-school-015-wallet-passkey.png +0 -0
- package/docs/images/screenshots/polished/operator-school-016-mining-funding.png +0 -0
- package/docs/images/screenshots/polished/operator-school-017-mining-commit.png +0 -0
- package/docs/images/screenshots/polished/operator-school-018-mining-activity.png +0 -0
- package/docs/images/screenshots/polished/operator-school-019-mining-history.png +0 -0
- package/docs/images/screenshots/polished/operator-school-020-network-bond.png +0 -0
- package/docs/index.md +47 -47
- package/docs/install/index.md +1 -1
- package/docs/links.md +8 -8
- package/docs/platforms/mac/release.md +1 -0
- package/docs/plugins/crypto/wallet-autonomous-security.md +1 -1
- package/docs/plugins/crypto/wallet-roles-and-policies.md +4 -0
- package/docs/reference/vision.md +21 -18
- package/docs/security/index.md +9 -8
- package/docs/start/agent-wallet-mining-walkthrough.md +84 -5
- package/docs/start/bond-operator-economy.md +61 -61
- package/docs/start/control-ui-setup.md +23 -23
- package/docs/start/fased.md +31 -31
- package/docs/start/federation.md +47 -45
- package/docs/start/getting-started.md +6 -6
- package/docs/start/marketplace-personas-roadmap.md +1 -1
- package/docs/start/offers-marketplace.md +87 -87
- package/docs/start/onboarding-overview.md +5 -5
- package/docs/start/operator-glossary.md +49 -45
- package/docs/start/provider-agent-chat-flow.md +17 -14
- package/docs/start/setup-matrix.md +13 -12
- package/docs/start/wizard-cli-reference.md +2 -0
- package/docs/start/wizard.md +5 -5
- package/docs/tools/thinking.md +2 -0
- package/docs/web/control-ui.md +10 -11
- package/docs/web/dashboard.md +8 -8
- package/docs/web/index.md +3 -3
- package/extensions/acpx/package.json +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/fased-federation/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +6 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +6 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/sat-mining/package.json +1 -1
- package/extensions/sat-mining/src/live-chaos.ts +3 -2
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/synology-chat/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +6 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +6 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +6 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +6 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/plugin-sdk/web-Bo3jM7sh.js +0 -40
|
@@ -1,52 +1,52 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { $ as resolveFreshSessionTotalTokens, $a as resolveAgentSkillsFilter, $c as getChildLogger, $n as resolveConfiguredModelRef, $o as resolveSignalAccount, $r as formatThinkingLevels, $s as applyTestPluginDefaults, $t as AVATAR_MAX_BYTES, A as mergeDeliveryContext, Ac as sliceUtf16Safe, An as unwrapKnownDispatchWrapperInvocation, Ar as dedupeProfileIds, As as isAcpSessionKey, At as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, B as applyInputProvenanceToUserMessage, Ba as listEnabledTelegramAccounts, Bc as clearActiveProgressLine, Bi as parseSlackTarget, Bn as resolveSlackNativeStreaming, Bo as isTruthyEnvValue, Br as normalizeProviderId$2, Bs as isInternalMessageChannel, C as updateLastRoute, Ca as resolveWhatsAppAccount, Ci as isDangerousHostInheritedEnvVarName, Cn as DEFAULT_SAFE_BINS, Co as logError, Cr as getSoonestCooldownExpiry, Cs as sanitizeAgentId, D as resolveCacheTtlMs$1, Da as logWebSelfId, Dc as shortenHomeInString, Di as getChannelPlugin, Dn as extractShellWrapperInlineCommand, Do as openBoundaryFileSync, Dr as resolveProfilesUnavailableReason, Ds as isBlockedObjectKey, Dt as TELEGRAM_COMMAND_NAME_PATTERN, E as isCacheEnabled, Ea as getWebAuthAgeMs, Ei as deriveSessionMetaPatch, En as resolveCommandResolutionFromArgv, Eo as openBoundaryFile, Er as markAuthProfileUsed, Es as normalizeOptionalAccountId, F as capArrayByJsonBytes, Fc as triggerInternalHook, Fn as resolveSafeBinProfiles, Fr as resolveAuthStorePathForDisplay, Fs as resolveAccountEntry, Ft as normalizeScpRemoteHost, G as resolveSessionKey$1, Ga as buildChannelAccountBindings, Gc as logVerbose, Gn as buildAllowedModelSet, Gr as resolveAuthProfileDisplayLabel, Gs as resolveMessageChannel, H as normalizeInputProvenance, Hc as unregisterActiveProgressLine, Hr as discoverFasedAgentPlugins, Hs as listDeliverableMessageChannels, I as countToolResults, Ia as webAuthExists, Ic as createSubsystemLogger, In as applyMergePatch, Ir as resolveFasedAgentAgentDir, Is as resolveGroupSessionKey, J as resolveSessionResetPolicy, Ja as listAgentEntries, Ji as listChannelDocks, Jn as findNormalizedProviderValue$1, Jo as resolveSlackAppToken, Jr as assertSecretInputResolved, Js as GATEWAY_CLIENT_NAMES, K as evaluateSessionFreshness, Kc as setVerbose, Kn as buildConfiguredAllowlistKeys, Ko as resolveSlackAccount, Kr as isPrivateNetworkBaseUrl, Ks as GATEWAY_CLIENT_IDS, L as extractToolCallNames, La as formatCliCommand, Ln as isSafeExecutableValue, Lo as resolveAgentModelFallbackValues, Ls as INTERNAL_MESSAGE_CHANNEL, M as normalizeSessionDeliveryFields, Ma as readWebSelfId, Mc as truncateUtf16Safe, Mn as splitShellArgs, Mr as listProvidersWithStoredCredentials, Ms as isSubagentSessionKey, Mt as mergeInboundPathRoots, N as normalizeAccountId$3, Nc as isPlainObject, Nn as SAFE_BIN_PROFILES, Nr as markAuthProfileGood, Ns as parseAgentSessionKey, Nt as resolveIMessageAttachmentRoots, O as deliveryContextFromSession, Oa as logoutWeb, Oc as shortenHomePath, Oi as listChannelPlugins, On as isDispatchWrapperExecutable, Or as resolveApiKeyForProfile, Os as deriveSessionChatType, Ot as normalizeTelegramCommandName, P as archiveSessionTranscripts, Pc as createInternalHookEvent, Pn as normalizeSafeBinProfileFixtures, Pr as ensureAuthProfileStore, Ps as resolveThreadParentSessionKey, Pt as resolveIMessageRemoteAttachmentRoots, Q as mergeSessionEntry, Qa as resolveAgentModelFallbacksOverride, Qc as theme, Qn as normalizeProviderId$1, Qr as lookupProviderManifestModelCapability, Qs as normalizeStringEntriesLower, Qt as parseDurationMs, R as parseInlineDirectives$1, Ra as resolveCliName, Rc as createNonExitingRuntime, Rn as mapStreamingModeToSlackLegacyDraftStreamMode, Ro as resolveAgentModelPrimaryValue, Rr as withFileLock, Rs as isDeliverableMessageChannel, S as recordSessionMetaFromInbound, Sn as splitCommandChain, So as logDebug, Sr as resolveAuthProfileOrder, Ss as resolveThreadSessionKeys, T as updateSessionStoreEntry, Tc as resolveUserPath, Ti as resolveOwnerDisplaySetting, Tn as resolveAllowlistCandidatePath, To as logWarn, Tr as markAuthProfileFailure, Ts as normalizeAccountId$2, U as acquireSessionWriteLock, Ua as resolveTelegramAccount, Uc as danger, Un as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Ur as isPathInside, Us as normalizeMessageChannel, V as hasInterSessionUserProvenance, Va as listTelegramAccountIds, Vc as registerActiveProgressLine, Vi as resolveSlackChannelId, Vn as resolveSlackStreamingMode, Vo as parseBooleanValue$1, Vr as loadPluginManifestRegistry, Vs as isMarkdownCapableMessageChannel, W as resolveSessionLockMaxHoldFromTimeout, Wa as resolveTelegramToken, Wn as resolveAgentMaxConcurrent, Wr as safeStatSync, Ws as resolveGatewayMessageChannel, X as resolveThreadFlag, Xa as resolveAgentConfig, Xc as colorize, Xn as modelKey, Xo as listEnabledSignalAccounts, Xr as splitTrailingAuthProfile, Xs as normalizeHyphenSlug, Xt as MODEL_APIS, Y as resolveSessionResetType, Ya as listAgentIds, Yc as warn, Yn as isCliProvider, Yo as resolveSlackBotToken, Yr as coerceSecretRef, Ys as normalizeAtHashSlug, Z as DEFAULT_RESET_TRIGGERS, Za as resolveAgentDir, Zc as isRich, Zn as normalizeModelRef$2, Zr as isOpenAISignInRuntimeModelSupported, Zs as normalizeStringEntries, Zt as getBlockedNetworkModeReason, _ as resolveAndPersistSessionFile, _c as formatTerminalLink, _i as compileSafeRegex, _n as normalizeTrustedSafeBinDirs, _o as resolveFasedAgentPackageRoot, _r as mergeModelCatalogRowsByAuthority, _t as writeConfigFile, a as createPluginRegistry, aa as normalizeSignalMessagingTarget, ac as resolveLeastPrivilegeOperatorScopesForMethod, ai as DEFAULT_CONTEXT_TOKENS, al as listChatChannels, an as getConfigOverrides, ao as resolveSessionAgentIds, ar as normalizeGoogleModelId, as as listEnabledDiscordAccounts, at as resolveSessionTranscriptsDirForAgent, b as loadSessionStore, ba as hasAnyWhatsAppAuth, bi as resolveShellEnvFallbackTimeoutMs, bn as buildEnforcedShellCommand, bo as runExec, br as normalizeProviderCatalogRows, bs as normalizeMainKey, c as lookupContextTokens, cc as getPluginCommandSpecs, ci as VERSION, cl as CHANNEL_IDS, cn as unsetConfigOverride, co as DEFAULT_BOOTSTRAP_FILENAME, cr as requireApiKey, cs as normalizeDiscordToken, ct as resolveAgentMainSessionKey, dc as CONFIG_DIR, di as extractErrorCode, dl as normalizePluginHttpPath, dn as setConfigValueAtPath, do as DEFAULT_SOUL_FILENAME, dr as resolveModelAuthMode, ds as resolveChannelGroupToolsPolicy, dt as createConfigIO, ec as normalizePluginsConfig, ei as formatXHighModelHint, en as isAvatarDataUrl, eo as resolveAgentWorkspaceDir, er as resolveDefaultModelForAgent, et as setSessionRuntimeModel, f as extractDeliveryInfo, fi as formatErrorMessage, fn as unsetConfigValueAtPath, fo as DEFAULT_TOOLS_FILENAME, fr as CURRENT_MODEL_PROVIDER_CATALOG, ft as loadConfig, g as resolveSessionTranscriptFile, gc as escapeRegExp, gi as redactToolDetail, gn as listWritableExplicitTrustedSafeBinDirs, go as loadWorkspaceBootstrapFiles, gr as buildModelCatalogMergeKey, gt as resolveConfigSnapshotHash, h as resolveMirroredTranscriptText, hc as ensureDir$3, hi as redactSensitiveText, hn as isTrustedSafeBinPath, ho as filterBootstrapFilesForSession, hr as retryAsync, hs as buildAgentMainSessionKey, ht as readConfigFileSnapshotForWrite, i as setActivePluginRegistry, ic as CLI_DEFAULT_OPERATOR_SCOPES, ii as supportsXHighThinking, il as getChatChannelMeta, in as validateJsonSchemaValue, io as resolveSessionAgentId, ir as resolveThinkingDefault, it as resolveSessionTranscriptPath, j as normalizeDeliveryContext, jn as unwrapKnownShellMultiplexerInvocation, jo as resolvePathViaExistingAncestorSync, jr as listProfilesForProvider, js as isCronSessionKey, jt as isInboundPathAllowed, k as deliveryContextKey, kc as sleep$1, ki as normalizeChannelId$1, kn as isShellWrapperExecutable, kr as runTasksWithConcurrency, ks as getSubagentDepth, kt as resolveTelegramCustomCommands, l as resolveContextTokensForModel, lc as listPluginCommands, li as getPackageManifestMetadata, ll as CHAT_CHANNEL_ORDER, ln as getConfigValueAtPath, lo as DEFAULT_HEARTBEAT_FILENAME, lr as resolveApiKeyForProvider, ls as resolveChannelGroupPolicy, lt as resolveExplicitAgentSessionKey, m as appendAssistantMessageToSessionTranscript, mn as getTrustedSafeBinDirs, mo as ensureAgentWorkspace, mt as readConfigFileSnapshot, n as getActivePluginRegistryKey, na as isWhatsAppGroupJid, nc as resolveMemorySlotDecision, ni as normalizeThinkLevel, nl as normalizeLogLevel, nn as isPathWithinRoot, no as resolveEffectiveModelFallbacks, nr as resolveReasoningDefault, ns as resolveIMessageAccount, nt as resolveSessionFilePath, o as createRuntimeHelpers, oc as clearPluginCommands, oi as DEFAULT_MODEL, ol as normalizeAnyChannelId, on as resetConfigOverrides, oo as DEFAULT_AGENTS_FILENAME, or as getApiKeyForModel, ot as resolveStorePath, p as parseSessionThreadInfo, pc as clampInt, pi as formatUncaughtError, pn as ensurePluginAllowlisted, po as DEFAULT_USER_FILENAME, pr as listCurrentModelCatalogRows, ps as DEFAULT_AGENT_ID, pt as parseConfigJson5, q as resolveChannelResetConfig, qa as hasConfiguredModelFallbacks, qc as shouldLogVerbose, qi as getChannelDock, qn as buildModelAliasIndex, qr as normalizeSecretInput, qs as GATEWAY_CLIENT_MODES, r as requireActivePluginRegistry, ra as normalizeWhatsAppTarget, rc as ADMIN_SCOPE, ri as resolveModelThinkingCapability, rl as resolvePreferredFasedAgentTmpDir, rn as isSupportedLocalAvatarExtension, ro as resolveRunModelFallbacksOverride, rr as resolveSubagentSpawnModelSelection, rs as createDiscordActionGate, rt as resolveSessionFilePathOptions, s as loadCombinedSessionStoreForGateway, sc as executePluginCommand, si as DEFAULT_PROVIDER, sl as normalizeChannelId$2, sn as setConfigOverride, so as DEFAULT_AGENT_WORKSPACE_DIR, sr as getCustomProviderApiKey, ss as resolveDiscordAccount, st as canonicalizeMainSessionAlias, t as getActivePluginRegistry, tc as resolveEffectiveEnableState, tn as isAvatarHttpUrl, to as resolveDefaultAgentId, tr as resolveModelRefFromString, tt as resolveDefaultSessionStorePath, u as ensureFasedAgentModelsJson, uc as matchPluginCommand, ul as normalizeChatChannelId, un as parseConfigPath, uo as DEFAULT_IDENTITY_FILENAME, ur as resolveEnvApiKey, us as resolveChannelGroupRequireMention, ut as resolveMainSessionKey, v as emitSessionTranscriptUpdate, vc as isRecord$3, vn as validateSafeBinArgv, vo as resolveFasedAgentPackageRootSync, vr as normalizeModelCatalogModelId, vs as classifySessionKeyShape, vt as validateConfigObjectWithPlugins, w as updateSessionStore, wi as sanitizeHostExecEnv, wn as matchAllowlist, wo as logInfo, wr as isProfileInCooldown, ws as DEFAULT_ACCOUNT_ID, x as readSessionUpdatedAt, xc as normalizeE164, xi as isDangerousHostEnvOverrideVarName, xn as isWindowsPlatform, xo as spawnWithFallback, xs as resolveAgentIdFromSessionKey, yi as getShellPathFromLoginShell, yn as analyzeShellCommand, yo as runCommandWithTimeout, yr as normalizeModelCatalogProviderId, ys as normalizeAgentId, z as INPUT_PROVENANCE_KIND_VALUES, za as createTelegramActionGate, zc as defaultRuntime, zn as resolveDiscordPreviewStreamMode, zo as toAgentModelListLike, zr as findNormalizedProviderValue, zs as isGatewayMessageChannel } from "./runtime-JZwgwXxK.js";
|
|
2
|
+
import { $ as resolveFreshSessionTotalTokens, $a as resolveAgentSkillsFilter, $c as getChildLogger, $n as resolveConfiguredModelRef, $o as resolveSignalAccount, $r as formatThinkingLevels, $s as applyTestPluginDefaults, $t as AVATAR_MAX_BYTES, A as mergeDeliveryContext, Ac as sliceUtf16Safe, An as unwrapKnownDispatchWrapperInvocation, Ar as dedupeProfileIds, As as isAcpSessionKey, At as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, B as applyInputProvenanceToUserMessage, Ba as listEnabledTelegramAccounts, Bc as clearActiveProgressLine, Bi as parseSlackTarget, Bn as resolveSlackNativeStreaming, Bo as isTruthyEnvValue, Br as normalizeProviderId$2, Bs as isInternalMessageChannel, C as updateLastRoute, Ca as resolveWhatsAppAccount, Ci as isDangerousHostInheritedEnvVarName, Cn as DEFAULT_SAFE_BINS, Co as logError, Cr as getSoonestCooldownExpiry, Cs as sanitizeAgentId, D as resolveCacheTtlMs$1, Da as logWebSelfId, Dc as shortenHomeInString, Di as getChannelPlugin, Dn as extractShellWrapperInlineCommand, Do as openBoundaryFileSync, Dr as resolveProfilesUnavailableReason, Ds as isBlockedObjectKey, Dt as TELEGRAM_COMMAND_NAME_PATTERN, E as isCacheEnabled, Ea as getWebAuthAgeMs, Ei as deriveSessionMetaPatch, En as resolveCommandResolutionFromArgv, Eo as openBoundaryFile, Er as markAuthProfileUsed, Es as normalizeOptionalAccountId, F as capArrayByJsonBytes, Fc as triggerInternalHook, Fn as resolveSafeBinProfiles, Fr as resolveAuthStorePathForDisplay, Fs as resolveAccountEntry, Ft as normalizeScpRemoteHost, G as resolveSessionKey$1, Ga as buildChannelAccountBindings, Gc as logVerbose, Gn as buildAllowedModelSet, Gr as resolveAuthProfileDisplayLabel, Gs as resolveMessageChannel, H as normalizeInputProvenance, Hc as unregisterActiveProgressLine, Hr as discoverFasedAgentPlugins, Hs as listDeliverableMessageChannels, I as countToolResults, Ia as webAuthExists, Ic as createSubsystemLogger, In as applyMergePatch, Ir as resolveFasedAgentAgentDir, Is as resolveGroupSessionKey, J as resolveSessionResetPolicy, Ja as listAgentEntries, Ji as listChannelDocks, Jn as findNormalizedProviderValue$1, Jo as resolveSlackAppToken, Jr as assertSecretInputResolved, Js as GATEWAY_CLIENT_NAMES, K as evaluateSessionFreshness, Kc as setVerbose, Kn as buildConfiguredAllowlistKeys, Ko as resolveSlackAccount, Kr as isPrivateNetworkBaseUrl, Ks as GATEWAY_CLIENT_IDS, L as extractToolCallNames, La as formatCliCommand, Ln as isSafeExecutableValue, Lo as resolveAgentModelFallbackValues, Ls as INTERNAL_MESSAGE_CHANNEL, M as normalizeSessionDeliveryFields, Ma as readWebSelfId, Mc as truncateUtf16Safe, Mn as splitShellArgs, Mr as listProvidersWithStoredCredentials, Ms as isSubagentSessionKey, Mt as mergeInboundPathRoots, N as normalizeAccountId$3, Nc as isPlainObject, Nn as SAFE_BIN_PROFILES, Nr as markAuthProfileGood, Ns as parseAgentSessionKey, Nt as resolveIMessageAttachmentRoots, O as deliveryContextFromSession, Oa as logoutWeb, Oc as shortenHomePath, Oi as listChannelPlugins, On as isDispatchWrapperExecutable, Or as resolveApiKeyForProfile, Os as deriveSessionChatType, Ot as normalizeTelegramCommandName, P as archiveSessionTranscripts, Pc as createInternalHookEvent, Pn as normalizeSafeBinProfileFixtures, Pr as ensureAuthProfileStore, Ps as resolveThreadParentSessionKey, Pt as resolveIMessageRemoteAttachmentRoots, Q as mergeSessionEntry, Qa as resolveAgentModelFallbacksOverride, Qc as theme, Qn as normalizeProviderId$1, Qr as lookupProviderManifestModelCapability, Qs as normalizeStringEntriesLower, Qt as parseDurationMs, R as parseInlineDirectives$1, Ra as resolveCliName, Rc as createNonExitingRuntime, Rn as mapStreamingModeToSlackLegacyDraftStreamMode, Ro as resolveAgentModelPrimaryValue, Rr as withFileLock, Rs as isDeliverableMessageChannel, S as recordSessionMetaFromInbound, Sn as splitCommandChain, So as logDebug, Sr as resolveAuthProfileOrder, Ss as resolveThreadSessionKeys, T as updateSessionStoreEntry, Tc as resolveUserPath, Ti as resolveOwnerDisplaySetting, Tn as resolveAllowlistCandidatePath, To as logWarn, Tr as markAuthProfileFailure, Ts as normalizeAccountId$2, U as acquireSessionWriteLock, Ua as resolveTelegramAccount, Uc as danger, Un as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Ur as isPathInside, Us as normalizeMessageChannel, V as hasInterSessionUserProvenance, Va as listTelegramAccountIds, Vc as registerActiveProgressLine, Vi as resolveSlackChannelId, Vn as resolveSlackStreamingMode, Vo as parseBooleanValue$1, Vr as loadPluginManifestRegistry, Vs as isMarkdownCapableMessageChannel, W as resolveSessionLockMaxHoldFromTimeout, Wa as resolveTelegramToken, Wn as resolveAgentMaxConcurrent, Wr as safeStatSync, Ws as resolveGatewayMessageChannel, X as resolveThreadFlag, Xa as resolveAgentConfig, Xc as colorize, Xn as modelKey, Xo as listEnabledSignalAccounts, Xr as splitTrailingAuthProfile, Xs as normalizeHyphenSlug, Xt as MODEL_APIS, Y as resolveSessionResetType, Ya as listAgentIds, Yc as warn, Yn as isCliProvider, Yo as resolveSlackBotToken, Yr as coerceSecretRef, Ys as normalizeAtHashSlug, Z as DEFAULT_RESET_TRIGGERS, Za as resolveAgentDir, Zc as isRich, Zn as normalizeModelRef$2, Zr as isOpenAISignInRuntimeModelSupported, Zs as normalizeStringEntries, Zt as getBlockedNetworkModeReason, _ as resolveAndPersistSessionFile, _c as formatTerminalLink, _i as compileSafeRegex, _n as normalizeTrustedSafeBinDirs, _o as resolveFasedAgentPackageRoot, _r as mergeModelCatalogRowsByAuthority, _t as writeConfigFile, a as createPluginRegistry, aa as normalizeSignalMessagingTarget, ac as resolveLeastPrivilegeOperatorScopesForMethod, ai as DEFAULT_CONTEXT_TOKENS, al as listChatChannels, an as getConfigOverrides, ao as resolveSessionAgentIds, ar as normalizeGoogleModelId, as as listEnabledDiscordAccounts, at as resolveSessionTranscriptsDirForAgent, b as loadSessionStore, ba as hasAnyWhatsAppAuth, bi as resolveShellEnvFallbackTimeoutMs, bn as buildEnforcedShellCommand, bo as runExec, br as normalizeProviderCatalogRows, bs as normalizeMainKey, c as lookupContextTokens, cc as getPluginCommandSpecs, ci as VERSION, cl as CHANNEL_IDS, cn as unsetConfigOverride, co as DEFAULT_BOOTSTRAP_FILENAME, cr as requireApiKey, cs as normalizeDiscordToken, ct as resolveAgentMainSessionKey, dc as CONFIG_DIR, di as extractErrorCode, dl as normalizePluginHttpPath, dn as setConfigValueAtPath, do as DEFAULT_SOUL_FILENAME, dr as resolveModelAuthMode, ds as resolveChannelGroupToolsPolicy, dt as createConfigIO, ec as normalizePluginsConfig, ei as formatXHighModelHint, en as isAvatarDataUrl, eo as resolveAgentWorkspaceDir, er as resolveDefaultModelForAgent, et as setSessionRuntimeModel, f as extractDeliveryInfo, fi as formatErrorMessage, fn as unsetConfigValueAtPath, fo as DEFAULT_TOOLS_FILENAME, fr as CURRENT_MODEL_PROVIDER_CATALOG, ft as loadConfig, g as resolveSessionTranscriptFile, gc as escapeRegExp, gi as redactToolDetail, gn as listWritableExplicitTrustedSafeBinDirs, go as loadWorkspaceBootstrapFiles, gr as buildModelCatalogMergeKey, gt as resolveConfigSnapshotHash, h as resolveMirroredTranscriptText, hc as ensureDir$3, hi as redactSensitiveText, hn as isTrustedSafeBinPath, ho as filterBootstrapFilesForSession, hr as retryAsync, hs as buildAgentMainSessionKey, ht as readConfigFileSnapshotForWrite, i as setActivePluginRegistry, ic as CLI_DEFAULT_OPERATOR_SCOPES, ii as supportsXHighThinking, il as getChatChannelMeta, in as validateJsonSchemaValue, io as resolveSessionAgentId, ir as resolveThinkingDefault, it as resolveSessionTranscriptPath, j as normalizeDeliveryContext, jn as unwrapKnownShellMultiplexerInvocation, jo as resolvePathViaExistingAncestorSync, jr as listProfilesForProvider, js as isCronSessionKey, jt as isInboundPathAllowed, k as deliveryContextKey, kc as sleep$1, ki as normalizeChannelId$1, kn as isShellWrapperExecutable, kr as runTasksWithConcurrency, ks as getSubagentDepth, kt as resolveTelegramCustomCommands, l as resolveContextTokensForModel, lc as listPluginCommands, li as getPackageManifestMetadata, ll as CHAT_CHANNEL_ORDER, ln as getConfigValueAtPath, lo as DEFAULT_HEARTBEAT_FILENAME, lr as resolveApiKeyForProvider, ls as resolveChannelGroupPolicy, lt as resolveExplicitAgentSessionKey, m as appendAssistantMessageToSessionTranscript, mn as getTrustedSafeBinDirs, mo as ensureAgentWorkspace, mt as readConfigFileSnapshot, n as getActivePluginRegistryKey, na as isWhatsAppGroupJid, nc as resolveMemorySlotDecision, ni as normalizeThinkLevel, nl as normalizeLogLevel, nn as isPathWithinRoot, no as resolveEffectiveModelFallbacks, nr as resolveReasoningDefault, ns as resolveIMessageAccount, nt as resolveSessionFilePath, o as createRuntimeHelpers, oc as clearPluginCommands, oi as DEFAULT_MODEL, ol as normalizeAnyChannelId, on as resetConfigOverrides, oo as DEFAULT_AGENTS_FILENAME, or as getApiKeyForModel, ot as resolveStorePath, p as parseSessionThreadInfo, pc as clampInt, pi as formatUncaughtError, pn as ensurePluginAllowlisted, po as DEFAULT_USER_FILENAME, pr as listCurrentModelCatalogRows, ps as DEFAULT_AGENT_ID, pt as parseConfigJson5, q as resolveChannelResetConfig, qa as hasConfiguredModelFallbacks, qc as shouldLogVerbose, qi as getChannelDock, qn as buildModelAliasIndex, qr as normalizeSecretInput, qs as GATEWAY_CLIENT_MODES, r as requireActivePluginRegistry, ra as normalizeWhatsAppTarget, rc as ADMIN_SCOPE, ri as resolveModelThinkingCapability, rl as resolvePreferredFasedAgentTmpDir, rn as isSupportedLocalAvatarExtension, ro as resolveRunModelFallbacksOverride, rr as resolveSubagentSpawnModelSelection, rs as createDiscordActionGate, rt as resolveSessionFilePathOptions, s as loadCombinedSessionStoreForGateway, sc as executePluginCommand, si as DEFAULT_PROVIDER, sl as normalizeChannelId$2, sn as setConfigOverride, so as DEFAULT_AGENT_WORKSPACE_DIR, sr as getCustomProviderApiKey, ss as resolveDiscordAccount, st as canonicalizeMainSessionAlias, t as getActivePluginRegistry, tc as resolveEffectiveEnableState, tn as isAvatarHttpUrl, to as resolveDefaultAgentId, tr as resolveModelRefFromString, tt as resolveDefaultSessionStorePath, u as ensureFasedAgentModelsJson, uc as matchPluginCommand, ul as normalizeChatChannelId, un as parseConfigPath, uo as DEFAULT_IDENTITY_FILENAME, ur as resolveEnvApiKey, us as resolveChannelGroupRequireMention, ut as resolveMainSessionKey, v as emitSessionTranscriptUpdate, vc as isRecord$3, vn as validateSafeBinArgv, vo as resolveFasedAgentPackageRootSync, vr as normalizeModelCatalogModelId, vs as classifySessionKeyShape, vt as validateConfigObjectWithPlugins, w as updateSessionStore, wi as sanitizeHostExecEnv, wn as matchAllowlist, wo as logInfo, wr as isProfileInCooldown, ws as DEFAULT_ACCOUNT_ID, x as readSessionUpdatedAt, xc as normalizeE164, xi as isDangerousHostEnvOverrideVarName, xn as isWindowsPlatform, xo as spawnWithFallback, xs as resolveAgentIdFromSessionKey, yi as getShellPathFromLoginShell, yn as analyzeShellCommand, yo as runCommandWithTimeout, yr as normalizeModelCatalogProviderId, ys as normalizeAgentId, z as INPUT_PROVENANCE_KIND_VALUES, za as createTelegramActionGate, zc as defaultRuntime, zn as resolveDiscordPreviewStreamMode, zo as toAgentModelListLike, zr as findNormalizedProviderValue, zs as isGatewayMessageChannel } from "./runtime-d_ap8ggn.js";
|
|
3
3
|
import { a as saveJsonFile, f as resolveStateDir, h as resolveRequiredHomeDir, i as loadJsonFile, l as resolveGatewayPort, o as STATE_DIR, p as expandHomePrefix, s as resolveConfigPath } from "./github-copilot-token-CVC_19vl.js";
|
|
4
4
|
import { n as resolveConversationLabel, r as normalizeChatType } from "./conversation-label-DEoJ9tbZ.js";
|
|
5
|
-
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, kt as resolveChannelEntryMatchWithFallback, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-
|
|
5
|
+
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, kt as resolveChannelEntryMatchWithFallback, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-DYsMepvi.js";
|
|
6
6
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-BD-UJHcc.js";
|
|
7
|
-
import { t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
7
|
+
import { t as fetchWithSsrFGuard } from "./fetch-guard-BciVpgwU.js";
|
|
8
8
|
import { a as isBlockedHostnameOrIp, c as normalizeHostname, t as SsrFBlockedError } from "./ssrf-DHglwD1p.js";
|
|
9
9
|
import { n as redactSensitiveUrlLikeString, t as redactSensitiveUrl } from "./redact-sensitive-url-C_6JDrWW.js";
|
|
10
|
-
import { a as formatIMessageChatTarget, c as normalizeIMessageHandle, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, l as parseIMessageTarget, o as formatIMessageTargetForLog, r as createIMessageRpcClient, s as isAllowedIMessageSender, t as sendMessageIMessage } from "./send-
|
|
11
|
-
import { A as buildTypingThreadParams, B as resolveTelegramStreamMode, C as buildGroupLabel, D as buildTelegramGroupPeerId, E as buildTelegramGroupFrom, F as normalizeForwardedContext, G as resolveSenderAllowMatch, H as isSenderAllowed$1, I as resolveTelegramForumThreadId, J as parseTelegramTarget, K as isVoiceCompatibleAudio, L as resolveTelegramGroupAllowFromContext, M as expandTextLinks, N as extractTelegramLocation, O as buildTelegramParentPeer, P as hasBotMention, R as resolveTelegramMediaPlaceholder, S as withTelegramApiErrorLogging, T as buildSenderName, U as normalizeAllowFrom$2, V as resolveTelegramThreadSpec, W as normalizeDmAllowFromWithStore$1, X as formatLocationText, Y as resolveTelegramTargetChatType, Z as toLocationContext, _ as markdownToTelegramHtml, a as reactMessageTelegram, at as upsertChannelPairingRequest, b as resolveTelegramFetch, c as sendStickerTelegram, ct as getPairingAdapter, d as loadCronStore, dt as isSenderIdAllowed, f as resolveCronStorePath, ft as mergeDmAllowFromSources, g as markdownToTelegramChunks, h as isRecoverableTelegramNetworkError, i as editMessageTelegram, it as removeChannelAllowFromStoreEntry, j as describeReplyTarget, k as buildTelegramThreadParams, lt as listPairingChannels, m as wasSentByBot, n as createForumTopicTelegram, nt as readChannelAllowFromStore, o as sendMessageTelegram, ot as readJsonFileWithFallback, p as saveCronStore, pt as resolveGroupAllowFromSources, r as deleteMessageTelegram, s as sendPollTelegram, st as writeJsonFileAtomically, t as buildInlineKeyboard, tt as addChannelAllowFromStoreEntry, u as resolveTelegramVoiceSend, ut as firstDefined$2, v as renderTelegramHtmlText, w as buildSenderLabel, x as splitTelegramCaption, y as wrapFileReferencesInHtml, z as resolveTelegramReplyId } from "./send-
|
|
12
|
-
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-
|
|
13
|
-
import { E as mediaKindFromMime, S as kindFromMime, _ as extensionForMime, a as loadWebMedia, b as isAudioFileName, c as getDefaultMediaLocalRoots, d as readResponseWithLimit, f as IMAGE_REDUCE_QUALITY_STEPS, g as detectMime, h as resizeToJpeg, i as getDefaultLocalRoots, l as MediaFetchError, m as getImageMetadata, p as buildImageResizeSideGrid, s as getAgentScopedMediaLocalRoots, u as fetchRemoteMedia, v as getFileExtension, w as MAX_IMAGE_BYTES, x as isGifMedia, y as imageMimeFromFormat } from "./ir-
|
|
14
|
-
import { _ as sanitizeToolResultImages, a as createActionGate, b as estimateBase64DecodedBytes, c as jsonResult, d as readReactionParams, f as readStringArrayParam, g as sanitizeImageBlocks, h as sanitizeContentBlocksImages, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam, v as resolveImageSanitizationLimits, y as canonicalizeBase64 } from "./target-errors-
|
|
15
|
-
import { a as createSlackWebClient, c as SILENT_REPLY_TOKEN, d as parseSlackBlocksInput, f as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, l as isSilentReplyPrefixText, o as resolveSlackWebClientOptions, s as HEARTBEAT_TOKEN, t as sendMessageSlack, u as isSilentReplyText } from "./send-
|
|
16
|
-
import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-
|
|
17
|
-
import { C as rejectPendingPairingRequest, D as readJsonFile$1, E as createAsyncLock, O as writeJsonAtomic, S as safeEqualSecret, T as resolvePairingPaths, _ as assertSandboxPath, b as resolveSandboxedMediaSource, c as getSkillsSnapshotVersion, d as resolveSkillsPromptForRun, f as syncSkillsToWorkspace, g as assertMediaNotDataUrl, h as sanitizeEnvVars, i as resolveSkillCommandInvocation, l as buildWorkspaceSkillSnapshot, m as applySkillEnvOverridesFromSnapshot, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as applySkillEnvOverrides, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as loadWorkspaceSkillEntries, v as resolveSandboxInputPath, w as pruneExpiredPending, x as generatePairingToken, y as resolveSandboxPath } from "./skill-commands-
|
|
18
|
-
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-
|
|
19
|
-
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-
|
|
20
|
-
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-
|
|
21
|
-
import { a as writeFileWithinRoot, n as openFileWithinRoot, r as readFileWithinRoot, t as SafeOpenError } from "./fs-safe-
|
|
22
|
-
import { a as saveMediaBuffer, i as getMediaDir, n as ensureMediaDir } from "./outbound-attachment-
|
|
23
|
-
import { B as DEFAULT_FASED_BROWSER_PROFILE_NAME, C as assertBrowserNavigationAllowed, D as fetchJson$1, E as appendCdpPath, F as DEFAULT_AI_SNAPSHOT_MAX_CHARS, G as resolveClientIp, H as isLoopbackHost, I as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, K as resolveForwardedClientIp, L as DEFAULT_BROWSER_EVALUATE_ENABLED, M as stopChromeExtensionRelayServer, N as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, O as fetchOk, P as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, R as DEFAULT_FASED_BROWSER_COLOR, S as InvalidBrowserNavigationUrlError, T as withBrowserNavigationPolicy, U as isSecureWebSocketUrl, V as isLoopbackAddress, W as isTrustedProxyAddress, _ as captureScreenshot, b as normalizeCdpWsUrl, c as normalizeBrowserFormField, d as isChromeReachable, f as launchFasedAgentChrome, g as resolveLsofCommandSync, h as resolveBrowserExecutableForPlatform, i as resolveExistingPathsWithinRoot, j as ensureChromeExtensionRelayServer, m as stopFasedAgentChrome, n as DEFAULT_TRACE_DIR, o as resolveWritablePathWithinRoot, p as resolveFasedAgentUserDataDir, q as rawDataToString, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR, u as isChromeCdpReady, v as createTargetViaCdp, w as assertBrowserNavigationResultAllowed, x as snapshotAria, z as DEFAULT_FASED_BROWSER_ENABLED } from "./paths-
|
|
24
|
-
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-
|
|
10
|
+
import { a as formatIMessageChatTarget, c as normalizeIMessageHandle, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, l as parseIMessageTarget, o as formatIMessageTargetForLog, r as createIMessageRpcClient, s as isAllowedIMessageSender, t as sendMessageIMessage } from "./send-XXJCJ2as.js";
|
|
11
|
+
import { A as buildTypingThreadParams, B as resolveTelegramStreamMode, C as buildGroupLabel, D as buildTelegramGroupPeerId, E as buildTelegramGroupFrom, F as normalizeForwardedContext, G as resolveSenderAllowMatch, H as isSenderAllowed$1, I as resolveTelegramForumThreadId, J as parseTelegramTarget, K as isVoiceCompatibleAudio, L as resolveTelegramGroupAllowFromContext, M as expandTextLinks, N as extractTelegramLocation, O as buildTelegramParentPeer, P as hasBotMention, R as resolveTelegramMediaPlaceholder, S as withTelegramApiErrorLogging, T as buildSenderName, U as normalizeAllowFrom$2, V as resolveTelegramThreadSpec, W as normalizeDmAllowFromWithStore$1, X as formatLocationText, Y as resolveTelegramTargetChatType, Z as toLocationContext, _ as markdownToTelegramHtml, a as reactMessageTelegram, at as upsertChannelPairingRequest, b as resolveTelegramFetch, c as sendStickerTelegram, ct as getPairingAdapter, d as loadCronStore, dt as isSenderIdAllowed, f as resolveCronStorePath, ft as mergeDmAllowFromSources, g as markdownToTelegramChunks, h as isRecoverableTelegramNetworkError, i as editMessageTelegram, it as removeChannelAllowFromStoreEntry, j as describeReplyTarget, k as buildTelegramThreadParams, lt as listPairingChannels, m as wasSentByBot, n as createForumTopicTelegram, nt as readChannelAllowFromStore, o as sendMessageTelegram, ot as readJsonFileWithFallback, p as saveCronStore, pt as resolveGroupAllowFromSources, r as deleteMessageTelegram, s as sendPollTelegram, st as writeJsonFileAtomically, t as buildInlineKeyboard, tt as addChannelAllowFromStoreEntry, u as resolveTelegramVoiceSend, ut as firstDefined$2, v as renderTelegramHtmlText, w as buildSenderLabel, x as splitTelegramCaption, y as wrapFileReferencesInHtml, z as resolveTelegramReplyId } from "./send-DtgDCh9h.js";
|
|
12
|
+
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-CWM4OQ5j.js";
|
|
13
|
+
import { E as mediaKindFromMime, S as kindFromMime, _ as extensionForMime, a as loadWebMedia, b as isAudioFileName, c as getDefaultMediaLocalRoots, d as readResponseWithLimit, f as IMAGE_REDUCE_QUALITY_STEPS, g as detectMime, h as resizeToJpeg, i as getDefaultLocalRoots, l as MediaFetchError, m as getImageMetadata, p as buildImageResizeSideGrid, s as getAgentScopedMediaLocalRoots, u as fetchRemoteMedia, v as getFileExtension, w as MAX_IMAGE_BYTES, x as isGifMedia, y as imageMimeFromFormat } from "./ir-BqSQJB3B.js";
|
|
14
|
+
import { _ as sanitizeToolResultImages, a as createActionGate, b as estimateBase64DecodedBytes, c as jsonResult, d as readReactionParams, f as readStringArrayParam, g as sanitizeImageBlocks, h as sanitizeContentBlocksImages, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam, v as resolveImageSanitizationLimits, y as canonicalizeBase64 } from "./target-errors-DpDEAats.js";
|
|
15
|
+
import { a as createSlackWebClient, c as SILENT_REPLY_TOKEN, d as parseSlackBlocksInput, f as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, l as isSilentReplyPrefixText, o as resolveSlackWebClientOptions, s as HEARTBEAT_TOKEN, t as sendMessageSlack, u as isSilentReplyText } from "./send-Cvf5nOIr.js";
|
|
16
|
+
import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-DYUukSpx.js";
|
|
17
|
+
import { C as rejectPendingPairingRequest, D as readJsonFile$1, E as createAsyncLock, O as writeJsonAtomic, S as safeEqualSecret, T as resolvePairingPaths, _ as assertSandboxPath, b as resolveSandboxedMediaSource, c as getSkillsSnapshotVersion, d as resolveSkillsPromptForRun, f as syncSkillsToWorkspace, g as assertMediaNotDataUrl, h as sanitizeEnvVars, i as resolveSkillCommandInvocation, l as buildWorkspaceSkillSnapshot, m as applySkillEnvOverridesFromSnapshot, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as applySkillEnvOverrides, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as loadWorkspaceSkillEntries, v as resolveSandboxInputPath, w as pruneExpiredPending, x as generatePairingToken, y as resolveSandboxPath } from "./skill-commands-BKfUIpx3.js";
|
|
18
|
+
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-yy6-Kb3T.js";
|
|
19
|
+
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-BfpYqaMu.js";
|
|
20
|
+
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DmROHvdC.js";
|
|
21
|
+
import { a as writeFileWithinRoot, n as openFileWithinRoot, r as readFileWithinRoot, t as SafeOpenError } from "./fs-safe-Ch39tcFn.js";
|
|
22
|
+
import { a as saveMediaBuffer, i as getMediaDir, n as ensureMediaDir } from "./outbound-attachment-8pyStMIv.js";
|
|
23
|
+
import { B as DEFAULT_FASED_BROWSER_PROFILE_NAME, C as assertBrowserNavigationAllowed, D as fetchJson$1, E as appendCdpPath, F as DEFAULT_AI_SNAPSHOT_MAX_CHARS, G as resolveClientIp, H as isLoopbackHost, I as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, K as resolveForwardedClientIp, L as DEFAULT_BROWSER_EVALUATE_ENABLED, M as stopChromeExtensionRelayServer, N as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, O as fetchOk, P as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, R as DEFAULT_FASED_BROWSER_COLOR, S as InvalidBrowserNavigationUrlError, T as withBrowserNavigationPolicy, U as isSecureWebSocketUrl, V as isLoopbackAddress, W as isTrustedProxyAddress, _ as captureScreenshot, b as normalizeCdpWsUrl, c as normalizeBrowserFormField, d as isChromeReachable, f as launchFasedAgentChrome, g as resolveLsofCommandSync, h as resolveBrowserExecutableForPlatform, i as resolveExistingPathsWithinRoot, j as ensureChromeExtensionRelayServer, m as stopFasedAgentChrome, n as DEFAULT_TRACE_DIR, o as resolveWritablePathWithinRoot, p as resolveFasedAgentUserDataDir, q as rawDataToString, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR, u as isChromeCdpReady, v as createTargetViaCdp, w as assertBrowserNavigationResultAllowed, x as snapshotAria, z as DEFAULT_FASED_BROWSER_ENABLED } from "./paths-QYyMn2Wi.js";
|
|
24
|
+
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-DRcprlRI.js";
|
|
25
25
|
import { n as normalizePollInput } from "./polls-Bqxnqm99.js";
|
|
26
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
27
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
28
|
-
import { C as normalizeUsageDisplay, S as normalizeReasoningLevel, T as resolveResponseUsageMode, _ as isNativeCommandsExplicitlyDisabled, a as listChatCommands, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as isCommandFlagEnabled, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, v as isRestartEnabled, w as normalizeVerboseLevel, x as normalizeElevatedLevel, y as resolveNativeCommandsEnabled } from "./commands-registry-
|
|
26
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-Dvj4VeiJ.js";
|
|
27
|
+
import { t as convertMarkdownTables } from "./tables-DQEs0bVk.js";
|
|
28
|
+
import { C as normalizeUsageDisplay, S as normalizeReasoningLevel, T as resolveResponseUsageMode, _ as isNativeCommandsExplicitlyDisabled, a as listChatCommands, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as isCommandFlagEnabled, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, v as isRestartEnabled, w as normalizeVerboseLevel, x as normalizeElevatedLevel, y as resolveNativeCommandsEnabled } from "./commands-registry-CnlOnVB6.js";
|
|
29
29
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BfsNSQia.js";
|
|
30
|
-
import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-
|
|
31
|
-
import { a as resolveSignalRpcContext, c as streamSignalEvents, l as markdownToSignalTextChunks, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-
|
|
30
|
+
import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-BGBK5j7O.js";
|
|
31
|
+
import { a as resolveSignalRpcContext, c as streamSignalEvents, l as markdownToSignalTextChunks, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-BYaWimfS.js";
|
|
32
32
|
import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-DvsQZtss.js";
|
|
33
|
-
import { t as resolveMemorySearchConfig } from "./memory-search-
|
|
34
|
-
import { i as executeWithApiKeyRotation, n as parseGeminiAuth, r as collectProviderApiKeysForExecution } from "./manager-
|
|
35
|
-
import { c as normalizeExtraMemoryPaths, s as listMemoryFiles } from "./internal-
|
|
36
|
-
import { i as resolveQmdScopeDenial } from "./qmd-scope-
|
|
33
|
+
import { t as resolveMemorySearchConfig } from "./memory-search-BMkuVf7r.js";
|
|
34
|
+
import { i as executeWithApiKeyRotation, n as parseGeminiAuth, r as collectProviderApiKeysForExecution } from "./manager-DQJURMcB.js";
|
|
35
|
+
import { c as normalizeExtraMemoryPaths, s as listMemoryFiles } from "./internal-Bsx2Ck4H.js";
|
|
36
|
+
import { i as resolveQmdScopeDenial } from "./qmd-scope-CDToQJAg.js";
|
|
37
37
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-DLuYVc4W.js";
|
|
38
38
|
import { t as redactIdentifier } from "./redact-identifier-BpQRFqut.js";
|
|
39
39
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DzU3t_M4.js";
|
|
40
|
-
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-
|
|
40
|
+
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CKHCIkIh.js";
|
|
41
41
|
import { t as makeProxyFetch } from "./proxy-BiW7MtYh.js";
|
|
42
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
43
|
-
import { t as getActiveWebListener } from "./active-listener-
|
|
42
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DuVEe866.js";
|
|
43
|
+
import { t as getActiveWebListener } from "./active-listener-CiGA0hRS.js";
|
|
44
44
|
import { createRequire } from "node:module";
|
|
45
45
|
import * as path$1 from "node:path";
|
|
46
46
|
import path, { isAbsolute, posix } from "node:path";
|
|
47
47
|
import fs, { constants, existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
48
48
|
import os, { homedir } from "node:os";
|
|
49
|
-
import
|
|
49
|
+
import json5 from "json5";
|
|
50
50
|
import { inspect, isDeepStrictEqual, promisify } from "node:util";
|
|
51
51
|
import * as fs$2 from "node:fs/promises";
|
|
52
52
|
import fs$1, { appendFile, mkdir, mkdtemp, rm } from "node:fs/promises";
|
|
@@ -4078,7 +4078,7 @@ async function resolveDiscordUserAllowlist(params) {
|
|
|
4078
4078
|
|
|
4079
4079
|
//#endregion
|
|
4080
4080
|
//#region src/brand.ts
|
|
4081
|
-
const FASED_PRODUCT_VERSION = "0.1.
|
|
4081
|
+
const FASED_PRODUCT_VERSION = "0.1.14";
|
|
4082
4082
|
const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
|
|
4083
4083
|
|
|
4084
4084
|
//#endregion
|
|
@@ -20549,27 +20549,27 @@ function createOutboundSendDepsFromCliSource(deps) {
|
|
|
20549
20549
|
function createDefaultDeps() {
|
|
20550
20550
|
return {
|
|
20551
20551
|
sendMessageWhatsApp: async (...args) => {
|
|
20552
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
20552
|
+
const { sendMessageWhatsApp } = await import("./web-Iu1NvzWV.js");
|
|
20553
20553
|
return await sendMessageWhatsApp(...args);
|
|
20554
20554
|
},
|
|
20555
20555
|
sendMessageTelegram: async (...args) => {
|
|
20556
|
-
const { sendMessageTelegram } = await import("./send-
|
|
20556
|
+
const { sendMessageTelegram } = await import("./send-DtgDCh9h.js").then((n) => n.l);
|
|
20557
20557
|
return await sendMessageTelegram(...args);
|
|
20558
20558
|
},
|
|
20559
20559
|
sendMessageDiscord: async (...args) => {
|
|
20560
|
-
const { sendMessageDiscord } = await import("./send-
|
|
20560
|
+
const { sendMessageDiscord } = await import("./send-DYsMepvi.js").then((n) => n.t);
|
|
20561
20561
|
return await sendMessageDiscord(...args);
|
|
20562
20562
|
},
|
|
20563
20563
|
sendMessageSlack: async (...args) => {
|
|
20564
|
-
const { sendMessageSlack } = await import("./send-
|
|
20564
|
+
const { sendMessageSlack } = await import("./send-Cvf5nOIr.js").then((n) => n.n);
|
|
20565
20565
|
return await sendMessageSlack(...args);
|
|
20566
20566
|
},
|
|
20567
20567
|
sendMessageSignal: async (...args) => {
|
|
20568
|
-
const { sendMessageSignal } = await import("./send-
|
|
20568
|
+
const { sendMessageSignal } = await import("./send-BYaWimfS.js").then((n) => n.i);
|
|
20569
20569
|
return await sendMessageSignal(...args);
|
|
20570
20570
|
},
|
|
20571
20571
|
sendMessageIMessage: async (...args) => {
|
|
20572
|
-
const { sendMessageIMessage } = await import("./send-
|
|
20572
|
+
const { sendMessageIMessage } = await import("./send-XXJCJ2as.js").then((n) => n.n);
|
|
20573
20573
|
return await sendMessageIMessage(...args);
|
|
20574
20574
|
}
|
|
20575
20575
|
};
|
|
@@ -22544,7 +22544,7 @@ async function getMemorySearchManager(params) {
|
|
|
22544
22544
|
if (cached) return { manager: cached };
|
|
22545
22545
|
}
|
|
22546
22546
|
try {
|
|
22547
|
-
const { QmdMemoryManager } = await import("./qmd-manager-
|
|
22547
|
+
const { QmdMemoryManager } = await import("./qmd-manager-DAYkSE5z.js");
|
|
22548
22548
|
const primary = await QmdMemoryManager.create({
|
|
22549
22549
|
cfg: params.cfg,
|
|
22550
22550
|
agentId: params.agentId,
|
|
@@ -22556,7 +22556,7 @@ async function getMemorySearchManager(params) {
|
|
|
22556
22556
|
const wrapper = new FallbackMemoryManager({
|
|
22557
22557
|
primary,
|
|
22558
22558
|
fallbackFactory: async () => {
|
|
22559
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
22559
|
+
const { MemoryIndexManager } = await import("./manager-DQJURMcB.js").then((n) => n.t);
|
|
22560
22560
|
return await MemoryIndexManager.get(params);
|
|
22561
22561
|
}
|
|
22562
22562
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -22569,12 +22569,12 @@ async function getMemorySearchManager(params) {
|
|
|
22569
22569
|
}
|
|
22570
22570
|
}
|
|
22571
22571
|
try {
|
|
22572
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
22572
|
+
const { MemoryIndexManager } = await import("./manager-DQJURMcB.js").then((n) => n.t);
|
|
22573
22573
|
return { manager: await MemoryIndexManager.get(params) };
|
|
22574
22574
|
} catch (err) {
|
|
22575
22575
|
const message = err instanceof Error ? err.message : String(err);
|
|
22576
22576
|
if (isNodeSqliteUnavailable(message)) {
|
|
22577
|
-
const { FilesystemMemorySearchManager } = await import("./filesystem-manager-
|
|
22577
|
+
const { FilesystemMemorySearchManager } = await import("./filesystem-manager-B5AL-sCv.js");
|
|
22578
22578
|
const manager = await FilesystemMemorySearchManager.create({
|
|
22579
22579
|
cfg: params.cfg,
|
|
22580
22580
|
agentId: params.agentId,
|
|
@@ -31497,14 +31497,14 @@ async function resolveMessageChannelSelection(params) {
|
|
|
31497
31497
|
|
|
31498
31498
|
//#endregion
|
|
31499
31499
|
//#region src/infra/outbound/session-context.ts
|
|
31500
|
-
function normalizeOptionalString$
|
|
31500
|
+
function normalizeOptionalString$3(value) {
|
|
31501
31501
|
if (typeof value !== "string") return;
|
|
31502
31502
|
const trimmed = value.trim();
|
|
31503
31503
|
return trimmed.length > 0 ? trimmed : void 0;
|
|
31504
31504
|
}
|
|
31505
31505
|
function buildOutboundSessionContext(params) {
|
|
31506
|
-
const key = normalizeOptionalString$
|
|
31507
|
-
const explicitAgentId = normalizeOptionalString$
|
|
31506
|
+
const key = normalizeOptionalString$3(params.sessionKey);
|
|
31507
|
+
const explicitAgentId = normalizeOptionalString$3(params.agentId);
|
|
31508
31508
|
const derivedAgentId = key ? resolveSessionAgentId({
|
|
31509
31509
|
sessionKey: key,
|
|
31510
31510
|
config: params.cfg
|
|
@@ -34159,7 +34159,7 @@ function isModuleNotFoundError(err) {
|
|
|
34159
34159
|
}
|
|
34160
34160
|
async function loadPwAiModule(mode) {
|
|
34161
34161
|
try {
|
|
34162
|
-
return await import("./pw-ai-
|
|
34162
|
+
return await import("./pw-ai-qIQtqb0S.js");
|
|
34163
34163
|
} catch (err) {
|
|
34164
34164
|
if (mode === "soft") return null;
|
|
34165
34165
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -34553,11 +34553,11 @@ function createProfileContext(opts, profile) {
|
|
|
34553
34553
|
const userDataDir = resolveFasedAgentUserDataDir(profile.name);
|
|
34554
34554
|
const profileState = getProfileState();
|
|
34555
34555
|
if (await isHttpReachable(300) && !profileState.running) try {
|
|
34556
|
-
await (await import("./pw-ai-
|
|
34556
|
+
await (await import("./pw-ai-qIQtqb0S.js")).closePlaywrightBrowserConnection();
|
|
34557
34557
|
} catch {}
|
|
34558
34558
|
if (profileState.running) await stopRunningBrowser();
|
|
34559
34559
|
try {
|
|
34560
|
-
await (await import("./pw-ai-
|
|
34560
|
+
await (await import("./pw-ai-qIQtqb0S.js")).closePlaywrightBrowserConnection();
|
|
34561
34561
|
} catch {}
|
|
34562
34562
|
if (!fs.existsSync(userDataDir)) return {
|
|
34563
34563
|
moved: false,
|
|
@@ -47919,7 +47919,7 @@ async function loadProviderUsageSummary(opts = {}) {
|
|
|
47919
47919
|
|
|
47920
47920
|
//#endregion
|
|
47921
47921
|
//#region src/sessions/model-overrides.ts
|
|
47922
|
-
function normalizeOptionalString$
|
|
47922
|
+
function normalizeOptionalString$2(value) {
|
|
47923
47923
|
return typeof value === "string" && value.trim().length > 0 ? value.trim() : void 0;
|
|
47924
47924
|
}
|
|
47925
47925
|
function applyModelOverrideToSessionEntry(params) {
|
|
@@ -47959,8 +47959,8 @@ function applyModelOverrideToSessionEntry(params) {
|
|
|
47959
47959
|
updated = true;
|
|
47960
47960
|
}
|
|
47961
47961
|
}
|
|
47962
|
-
const runtimeModel = normalizeOptionalString$
|
|
47963
|
-
const runtimeProvider = normalizeOptionalString$
|
|
47962
|
+
const runtimeModel = normalizeOptionalString$2(entry.model) ?? "";
|
|
47963
|
+
const runtimeProvider = normalizeOptionalString$2(entry.modelProvider) ?? "";
|
|
47964
47964
|
const runtimePresent = runtimeModel.length > 0 || runtimeProvider.length > 0;
|
|
47965
47965
|
const runtimeAligned = runtimeModel === selection.model && (runtimeProvider.length === 0 || runtimeProvider === selection.provider);
|
|
47966
47966
|
if (runtimePresent && (selectionUpdated || !runtimeAligned)) {
|
|
@@ -49495,14 +49495,42 @@ function resolveAcpThreadSessionDetailLines(params) {
|
|
|
49495
49495
|
return lines;
|
|
49496
49496
|
}
|
|
49497
49497
|
|
|
49498
|
+
//#endregion
|
|
49499
|
+
//#region src/infra/outbound/conversation-id.ts
|
|
49500
|
+
function normalizeConversationId(value) {
|
|
49501
|
+
if (typeof value !== "string") return;
|
|
49502
|
+
return value.trim() || void 0;
|
|
49503
|
+
}
|
|
49504
|
+
function resolveConversationIdFromTargets(params) {
|
|
49505
|
+
const threadId = params.threadId != null ? normalizeConversationId(String(params.threadId)) : void 0;
|
|
49506
|
+
if (threadId) return threadId;
|
|
49507
|
+
for (const rawTarget of params.targets) {
|
|
49508
|
+
const target = normalizeConversationId(rawTarget);
|
|
49509
|
+
if (!target) continue;
|
|
49510
|
+
if (target.startsWith("channel:")) {
|
|
49511
|
+
const channelId = normalizeConversationId(target.slice(8));
|
|
49512
|
+
if (channelId) return channelId;
|
|
49513
|
+
continue;
|
|
49514
|
+
}
|
|
49515
|
+
const mentionMatch = target.match(/^<#(\d+)>$/);
|
|
49516
|
+
if (mentionMatch?.[1]) return mentionMatch[1];
|
|
49517
|
+
if (/^\d{6,}$/.test(target)) return target;
|
|
49518
|
+
}
|
|
49519
|
+
}
|
|
49520
|
+
|
|
49498
49521
|
//#endregion
|
|
49499
49522
|
//#region src/channels/thread-bindings-policy.ts
|
|
49500
49523
|
const DISCORD_THREAD_BINDING_CHANNEL = "discord";
|
|
49524
|
+
const TELEGRAM_THREAD_BINDING_CHANNEL = "telegram";
|
|
49525
|
+
const LINE_THREAD_BINDING_CHANNEL = "line";
|
|
49501
49526
|
const DEFAULT_THREAD_BINDING_IDLE_HOURS$1 = 24;
|
|
49502
49527
|
const DEFAULT_THREAD_BINDING_MAX_AGE_HOURS$1 = 0;
|
|
49503
49528
|
function normalizeChannelId(value) {
|
|
49504
49529
|
return String(value ?? "").trim().toLowerCase();
|
|
49505
49530
|
}
|
|
49531
|
+
function normalizeOptionalString$1(value) {
|
|
49532
|
+
return typeof value === "string" && value.trim() ? value.trim() : void 0;
|
|
49533
|
+
}
|
|
49506
49534
|
function normalizeBoolean$1(value) {
|
|
49507
49535
|
if (typeof value !== "boolean") return;
|
|
49508
49536
|
return value;
|
|
@@ -49548,6 +49576,50 @@ function resolveThreadBindingSpawnPolicy(params) {
|
|
|
49548
49576
|
spawnEnabled: normalizeBoolean$1(account?.[spawnFlagKey]) ?? normalizeBoolean$1(root?.[spawnFlagKey]) ?? channel !== DISCORD_THREAD_BINDING_CHANNEL
|
|
49549
49577
|
};
|
|
49550
49578
|
}
|
|
49579
|
+
function stripKnownTargetPrefix(value) {
|
|
49580
|
+
const typed = value.match(/^[a-z0-9_-]+:(user|group|room|channel):(.+)$/i);
|
|
49581
|
+
if (typed?.[2]) return typed[2];
|
|
49582
|
+
const colon = value.indexOf(":");
|
|
49583
|
+
return colon > 0 ? value.slice(colon + 1) : value;
|
|
49584
|
+
}
|
|
49585
|
+
function resolveThreadBindingConversationRef(params) {
|
|
49586
|
+
const channel = normalizeChannelId(params.channel);
|
|
49587
|
+
const threadId = params.threadId != null ? String(params.threadId).trim() : "";
|
|
49588
|
+
const groupId = params.groupId != null ? String(params.groupId).trim() : "";
|
|
49589
|
+
const to = normalizeOptionalString$1(params.to);
|
|
49590
|
+
if (channel === TELEGRAM_THREAD_BINDING_CHANNEL) {
|
|
49591
|
+
if (groupId && threadId) return {
|
|
49592
|
+
conversationId: `${groupId}:topic:${threadId}`,
|
|
49593
|
+
parentConversationId: groupId
|
|
49594
|
+
};
|
|
49595
|
+
if (to) {
|
|
49596
|
+
const topic = stripKnownTargetPrefix(to).match(/^(.+):topic:([^:]+)$/);
|
|
49597
|
+
if (topic?.[1] && topic[2]) return {
|
|
49598
|
+
conversationId: `${topic[1]}:topic:${topic[2]}`,
|
|
49599
|
+
parentConversationId: topic[1]
|
|
49600
|
+
};
|
|
49601
|
+
}
|
|
49602
|
+
}
|
|
49603
|
+
if (channel === LINE_THREAD_BINDING_CHANNEL && to) return { conversationId: stripKnownTargetPrefix(to) };
|
|
49604
|
+
if (to?.startsWith("room:")) return { conversationId: to.slice(5) };
|
|
49605
|
+
const resolved = resolveConversationIdFromTargets({
|
|
49606
|
+
threadId,
|
|
49607
|
+
targets: [to]
|
|
49608
|
+
});
|
|
49609
|
+
return resolved ? { conversationId: resolved } : null;
|
|
49610
|
+
}
|
|
49611
|
+
function resolveThreadBindingPlacement(params) {
|
|
49612
|
+
const channel = normalizeChannelId(params.channel);
|
|
49613
|
+
if (channel === TELEGRAM_THREAD_BINDING_CHANNEL || channel === LINE_THREAD_BINDING_CHANNEL) return params.placements.includes("current") ? "current" : "child";
|
|
49614
|
+
return params.placements.includes("child") ? "child" : "current";
|
|
49615
|
+
}
|
|
49616
|
+
function resolveThreadBindingDeliveryTo(params) {
|
|
49617
|
+
const channel = normalizeChannelId(params.channel);
|
|
49618
|
+
const boundConversationId = normalizeOptionalString$1(params.boundConversationId);
|
|
49619
|
+
if (boundConversationId && params.placement === "child") return `channel:${boundConversationId}`;
|
|
49620
|
+
if (boundConversationId && params.placement === "current" && channel === LINE_THREAD_BINDING_CHANNEL) return boundConversationId;
|
|
49621
|
+
return normalizeOptionalString$1(params.requesterTo) || (params.deliveryThreadId ? `channel:${params.deliveryThreadId}` : void 0);
|
|
49622
|
+
}
|
|
49551
49623
|
function resolveThreadBindingIdleTimeoutMsForChannel(params) {
|
|
49552
49624
|
const channel = normalizeChannelId(params.channel);
|
|
49553
49625
|
const accountId = normalizeAccountId$2(params.accountId);
|
|
@@ -49584,29 +49656,6 @@ function formatThreadBindingSpawnDisabledError(params) {
|
|
|
49584
49656
|
return `Thread-bound ${params.kind} spawns are disabled for ${params.channel}.`;
|
|
49585
49657
|
}
|
|
49586
49658
|
|
|
49587
|
-
//#endregion
|
|
49588
|
-
//#region src/infra/outbound/conversation-id.ts
|
|
49589
|
-
function normalizeConversationId(value) {
|
|
49590
|
-
if (typeof value !== "string") return;
|
|
49591
|
-
return value.trim() || void 0;
|
|
49592
|
-
}
|
|
49593
|
-
function resolveConversationIdFromTargets(params) {
|
|
49594
|
-
const threadId = params.threadId != null ? normalizeConversationId(String(params.threadId)) : void 0;
|
|
49595
|
-
if (threadId) return threadId;
|
|
49596
|
-
for (const rawTarget of params.targets) {
|
|
49597
|
-
const target = normalizeConversationId(rawTarget);
|
|
49598
|
-
if (!target) continue;
|
|
49599
|
-
if (target.startsWith("channel:")) {
|
|
49600
|
-
const channelId = normalizeConversationId(target.slice(8));
|
|
49601
|
-
if (channelId) return channelId;
|
|
49602
|
-
continue;
|
|
49603
|
-
}
|
|
49604
|
-
const mentionMatch = target.match(/^<#(\d+)>$/);
|
|
49605
|
-
if (mentionMatch?.[1]) return mentionMatch[1];
|
|
49606
|
-
if (/^\d{6,}$/.test(target)) return target;
|
|
49607
|
-
}
|
|
49608
|
-
}
|
|
49609
|
-
|
|
49610
49659
|
//#endregion
|
|
49611
49660
|
//#region src/tasks/task-executor.ts
|
|
49612
49661
|
function compactRecord$1(value) {
|
|
@@ -50235,42 +50284,6 @@ function resolveAcpSpawnChannelAccountId(params) {
|
|
|
50235
50284
|
const channels = params.cfg.channels;
|
|
50236
50285
|
return normalizeOptionalString(channels?.[channel]?.defaultAccount) ?? "default";
|
|
50237
50286
|
}
|
|
50238
|
-
function stripKnownTargetPrefix(value) {
|
|
50239
|
-
const typed = value.match(/^[a-z0-9_-]+:(user|group|room|channel):(.+)$/i);
|
|
50240
|
-
if (typed?.[2]) return typed[2];
|
|
50241
|
-
const colon = value.indexOf(":");
|
|
50242
|
-
return colon > 0 ? value.slice(colon + 1) : value;
|
|
50243
|
-
}
|
|
50244
|
-
function resolveConversationRefForThreadBinding(params) {
|
|
50245
|
-
const channel = normalizeOptionalLowercaseString(params.channel);
|
|
50246
|
-
const threadId = params.threadId != null ? String(params.threadId).trim() : "";
|
|
50247
|
-
const groupId = params.groupId != null ? String(params.groupId).trim() : "";
|
|
50248
|
-
const to = normalizeOptionalString(params.to);
|
|
50249
|
-
if (channel === "telegram") {
|
|
50250
|
-
if (groupId && threadId) return {
|
|
50251
|
-
conversationId: `${groupId}:topic:${threadId}`,
|
|
50252
|
-
parentConversationId: groupId
|
|
50253
|
-
};
|
|
50254
|
-
if (to) {
|
|
50255
|
-
const topic = stripKnownTargetPrefix(to).match(/^(.+):topic:([^:]+)$/);
|
|
50256
|
-
if (topic?.[1] && topic[2]) return {
|
|
50257
|
-
conversationId: `${topic[1]}:topic:${topic[2]}`,
|
|
50258
|
-
parentConversationId: topic[1]
|
|
50259
|
-
};
|
|
50260
|
-
}
|
|
50261
|
-
}
|
|
50262
|
-
if (channel === "line" && to) return { conversationId: stripKnownTargetPrefix(to) };
|
|
50263
|
-
if (to?.startsWith("room:")) return { conversationId: to.slice(5) };
|
|
50264
|
-
const resolved = resolveConversationIdFromTargets({
|
|
50265
|
-
threadId,
|
|
50266
|
-
targets: [to]
|
|
50267
|
-
});
|
|
50268
|
-
return resolved ? { conversationId: resolved } : null;
|
|
50269
|
-
}
|
|
50270
|
-
function resolveBindingPlacement(params) {
|
|
50271
|
-
if (params.channel === "telegram" || params.channel === "line") return params.placements.includes("current") ? "current" : "child";
|
|
50272
|
-
return params.placements.includes("child") ? "child" : "current";
|
|
50273
|
-
}
|
|
50274
50287
|
function isHeartbeatEnabledForSessionAgent(params) {
|
|
50275
50288
|
if (!areHeartbeatsEnabled()) return false;
|
|
50276
50289
|
const requesterAgentId = parseAgentSessionKey(params.sessionKey)?.agentId;
|
|
@@ -50364,7 +50377,7 @@ function prepareAcpThreadBinding(params) {
|
|
|
50364
50377
|
ok: false,
|
|
50365
50378
|
error: `Thread bindings are unavailable for ${policy.channel}.`
|
|
50366
50379
|
};
|
|
50367
|
-
const placement =
|
|
50380
|
+
const placement = resolveThreadBindingPlacement({
|
|
50368
50381
|
channel: policy.channel,
|
|
50369
50382
|
placements: capabilities.placements
|
|
50370
50383
|
});
|
|
@@ -50372,7 +50385,7 @@ function prepareAcpThreadBinding(params) {
|
|
|
50372
50385
|
ok: false,
|
|
50373
50386
|
error: `Thread bindings do not support ${placement} placement for ${policy.channel}.`
|
|
50374
50387
|
};
|
|
50375
|
-
const conversationRef =
|
|
50388
|
+
const conversationRef = resolveThreadBindingConversationRef({
|
|
50376
50389
|
channel: policy.channel,
|
|
50377
50390
|
to: params.to,
|
|
50378
50391
|
threadId: params.threadId,
|
|
@@ -50596,7 +50609,13 @@ async function spawnAcpDirect(params, ctx) {
|
|
|
50596
50609
|
const fallbackThreadId = fallbackThreadIdRaw != null ? String(fallbackThreadIdRaw).trim() || void 0 : void 0;
|
|
50597
50610
|
const bindingPlacement = preparedBinding?.placement;
|
|
50598
50611
|
const deliveryThreadId = bindingPlacement === "child" ? boundThreadId ?? fallbackThreadId : fallbackThreadId;
|
|
50599
|
-
const inferredDeliveryTo =
|
|
50612
|
+
const inferredDeliveryTo = resolveThreadBindingDeliveryTo({
|
|
50613
|
+
channel: preparedBinding?.channel,
|
|
50614
|
+
placement: bindingPlacement,
|
|
50615
|
+
boundConversationId: boundThreadId,
|
|
50616
|
+
requesterTo: requesterOrigin?.to,
|
|
50617
|
+
deliveryThreadId
|
|
50618
|
+
});
|
|
50600
50619
|
const hasDeliveryTarget = Boolean(requestThreadBinding && !streamToParent && requesterOrigin?.channel && inferredDeliveryTo);
|
|
50601
50620
|
const childIdem = crypto.randomUUID();
|
|
50602
50621
|
let childRunId = childIdem;
|
|
@@ -50996,7 +51015,7 @@ function normalizeSessionKey(value) {
|
|
|
50996
51015
|
function readSessionStore(storePath) {
|
|
50997
51016
|
try {
|
|
50998
51017
|
const raw = fs.readFileSync(storePath, "utf-8");
|
|
50999
|
-
const parsed =
|
|
51018
|
+
const parsed = json5.parse(raw);
|
|
51000
51019
|
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
|
|
51001
51020
|
} catch {}
|
|
51002
51021
|
return {};
|
|
@@ -58700,7 +58719,7 @@ async function recordLoopOutcome(args) {
|
|
|
58700
58719
|
if (!args.ctx?.sessionKey) return;
|
|
58701
58720
|
try {
|
|
58702
58721
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-DLuYVc4W.js").then((n) => n.n);
|
|
58703
|
-
const { recordToolCallOutcome } = await import("./tool-loop-detection-
|
|
58722
|
+
const { recordToolCallOutcome } = await import("./tool-loop-detection-D8xgCIc0.js");
|
|
58704
58723
|
recordToolCallOutcome(getDiagnosticSessionState({
|
|
58705
58724
|
sessionKey: args.ctx.sessionKey,
|
|
58706
58725
|
sessionId: args.ctx?.agentId
|
|
@@ -58721,8 +58740,8 @@ async function runBeforeToolCallHook(args) {
|
|
|
58721
58740
|
const params = args.params;
|
|
58722
58741
|
if (args.ctx?.sessionKey) {
|
|
58723
58742
|
const { getDiagnosticSessionState } = await import("./diagnostic-session-state-DLuYVc4W.js").then((n) => n.n);
|
|
58724
|
-
const { logToolLoopAction } = await import("./diagnostic-
|
|
58725
|
-
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-
|
|
58743
|
+
const { logToolLoopAction } = await import("./diagnostic-BfpYqaMu.js").then((n) => n.n);
|
|
58744
|
+
const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-D8xgCIc0.js");
|
|
58726
58745
|
const sessionState = getDiagnosticSessionState({
|
|
58727
58746
|
sessionKey: args.ctx.sessionKey,
|
|
58728
58747
|
sessionId: args.ctx?.agentId
|
|
@@ -79398,7 +79417,7 @@ function createWhatsAppLoginTool() {
|
|
|
79398
79417
|
force: Type.Optional(Type.Boolean())
|
|
79399
79418
|
}),
|
|
79400
79419
|
execute: async (_toolCallId, args) => {
|
|
79401
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
79420
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BTjizo_A.js");
|
|
79402
79421
|
if ((args?.action ?? "start") === "wait") {
|
|
79403
79422
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
79404
79423
|
return {
|
|
@@ -82818,7 +82837,7 @@ async function preflightDiscordMessage(params) {
|
|
|
82818
82837
|
let preflightTranscript;
|
|
82819
82838
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
82820
82839
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
82821
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
82840
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-DVoi6-9R.js");
|
|
82822
82841
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
82823
82842
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
82824
82843
|
ctx: {
|
|
@@ -84560,7 +84579,7 @@ async function createModelSelectionState(params) {
|
|
|
84560
84579
|
}
|
|
84561
84580
|
}
|
|
84562
84581
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
84563
|
-
const { ensureAuthProfileStore } = await import("./runtime-
|
|
84582
|
+
const { ensureAuthProfileStore } = await import("./runtime-d_ap8ggn.js").then((n) => n.xr);
|
|
84564
84583
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
84565
84584
|
const providerKey = normalizeProviderId$1(provider);
|
|
84566
84585
|
if (!profile || normalizeProviderId$1(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -97012,7 +97031,7 @@ function readSlackExternalArgMenuToken(raw) {
|
|
|
97012
97031
|
}
|
|
97013
97032
|
let commandsRegistry;
|
|
97014
97033
|
async function getCommandsRegistry() {
|
|
97015
|
-
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-
|
|
97034
|
+
if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CnlOnVB6.js").then((n) => n.n);
|
|
97016
97035
|
return commandsRegistry;
|
|
97017
97036
|
}
|
|
97018
97037
|
function encodeSlackCommandArgValue(parts) {
|
|
@@ -97336,14 +97355,14 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
97336
97355
|
const channelName = channelInfo?.name;
|
|
97337
97356
|
const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
|
|
97338
97357
|
const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
|
|
97339
|
-
import("./resolve-route-
|
|
97358
|
+
import("./resolve-route-CKHCIkIh.js").then((n) => n.r),
|
|
97340
97359
|
import("./inbound-context-BfsNSQia.js").then((n) => n.n),
|
|
97341
97360
|
Promise.resolve().then(() => provider_dispatcher_exports)
|
|
97342
97361
|
]);
|
|
97343
97362
|
const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
|
|
97344
97363
|
import("./conversation-label-DEoJ9tbZ.js").then((n) => n.t),
|
|
97345
|
-
import("./reply-prefix-
|
|
97346
|
-
import("./runtime-
|
|
97364
|
+
import("./reply-prefix-DYUukSpx.js").then((n) => n.r),
|
|
97365
|
+
import("./runtime-d_ap8ggn.js").then((n) => n.d)
|
|
97347
97366
|
]);
|
|
97348
97367
|
const route = resolveAgentRoute({
|
|
97349
97368
|
cfg,
|
|
@@ -97411,9 +97430,9 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
97411
97430
|
});
|
|
97412
97431
|
const deliverSlashPayloads = async (replies) => {
|
|
97413
97432
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
97414
|
-
import("./replies-
|
|
97415
|
-
import("./chunk-
|
|
97416
|
-
import("./markdown-tables-
|
|
97433
|
+
import("./replies-DuVEe866.js").then((n) => n.r),
|
|
97434
|
+
import("./chunk-CWM4OQ5j.js").then((n) => n.s),
|
|
97435
|
+
import("./markdown-tables-Dvj4VeiJ.js").then((n) => n.t)
|
|
97417
97436
|
]);
|
|
97418
97437
|
await deliverSlackSlashReplies({
|
|
97419
97438
|
replies,
|
|
@@ -97466,7 +97485,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
97466
97485
|
let nativeCommands = [];
|
|
97467
97486
|
if (nativeEnabled) {
|
|
97468
97487
|
reg = await getCommandsRegistry();
|
|
97469
|
-
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-
|
|
97488
|
+
const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BKfUIpx3.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
|
|
97470
97489
|
nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
|
|
97471
97490
|
skillCommands,
|
|
97472
97491
|
provider: "slack"
|
|
@@ -100647,7 +100666,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
|
|
|
100647
100666
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
100648
100667
|
let preflightTranscript;
|
|
100649
100668
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
100650
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
100669
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-DVoi6-9R.js");
|
|
100651
100670
|
preflightTranscript = await transcribeFirstAudio({
|
|
100652
100671
|
ctx: {
|
|
100653
100672
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -103261,23 +103280,23 @@ let webLoginQrPromise = null;
|
|
|
103261
103280
|
let webChannelPromise = null;
|
|
103262
103281
|
let whatsappActionsPromise = null;
|
|
103263
103282
|
function loadWebOutbound() {
|
|
103264
|
-
webOutboundPromise ??= import("./outbound-
|
|
103283
|
+
webOutboundPromise ??= import("./outbound-Ch3UOB-3.js").then((n) => n.t);
|
|
103265
103284
|
return webOutboundPromise;
|
|
103266
103285
|
}
|
|
103267
103286
|
function loadWebLogin() {
|
|
103268
|
-
webLoginPromise ??= import("./login-
|
|
103287
|
+
webLoginPromise ??= import("./login-CUkR_AH3.js").then((n) => n.n);
|
|
103269
103288
|
return webLoginPromise;
|
|
103270
103289
|
}
|
|
103271
103290
|
function loadWebLoginQr() {
|
|
103272
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
103291
|
+
webLoginQrPromise ??= import("./login-qr-BTjizo_A.js");
|
|
103273
103292
|
return webLoginQrPromise;
|
|
103274
103293
|
}
|
|
103275
103294
|
function loadWebChannel() {
|
|
103276
|
-
webChannelPromise ??= import("./web-
|
|
103295
|
+
webChannelPromise ??= import("./web-Iu1NvzWV.js");
|
|
103277
103296
|
return webChannelPromise;
|
|
103278
103297
|
}
|
|
103279
103298
|
function loadWhatsAppActions() {
|
|
103280
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
103299
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-qiFsmHsr.js");
|
|
103281
103300
|
return whatsappActionsPromise;
|
|
103282
103301
|
}
|
|
103283
103302
|
function createPluginRuntime(options = {}) {
|
|
@@ -105196,7 +105215,7 @@ const log$5 = createSubsystemLogger("model-catalog");
|
|
|
105196
105215
|
let modelCatalogPromise = null;
|
|
105197
105216
|
let hasLoggedModelCatalogError = false;
|
|
105198
105217
|
let hasLoggedProviderCatalogError = false;
|
|
105199
|
-
const defaultImportPiSdk = () => import("./pi-model-discovery-
|
|
105218
|
+
const defaultImportPiSdk = () => import("./pi-model-discovery-BGBK5j7O.js").then((n) => n.a);
|
|
105200
105219
|
let importPiSdk = defaultImportPiSdk;
|
|
105201
105220
|
const CODEX_PROVIDER = "openai-codex";
|
|
105202
105221
|
const OPENAI_PROVIDER = "openai";
|