@xopcai/xopc 0.0.416 → 0.0.418
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/README.zh-CN.md +2 -2
- package/dist/browser-ext/dist/assets/{page-context-CVvmTWZb.js → page-context-BKnEwsOO.js} +2881 -1372
- package/dist/browser-ext/dist/background.js +1 -1
- package/dist/browser-ext/dist/sidepanel.html +1 -1
- package/dist/browser-ext/dist/sidepanel.js +481 -346
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/activity-YogQEteU.js +1 -0
- package/dist/gateway/static/root/assets/activity-store-DnqOM8GN.js +1 -0
- package/dist/gateway/static/root/assets/agent-avatar-dicebear-1UABT2KS.js +1 -0
- package/dist/gateway/static/root/assets/agent-avatar-display-Cy50vjbq.js +2 -0
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-V4NX_cWz.js +1 -0
- package/dist/gateway/static/root/assets/agent-display-names-Bje7vfSn.js +1 -0
- package/dist/gateway/static/root/assets/agent-plugin-dialog-CQ5LLDMO.js +1 -0
- package/dist/gateway/static/root/assets/agents-O7mago-m.js +77 -0
- package/dist/gateway/static/root/assets/{agents-admin-api-B1p-ghg9.js → agents-admin-api-CyjykMEh.js} +2 -2
- package/dist/gateway/static/root/assets/agents-app-path-ciChvpCS.js +1 -0
- package/dist/gateway/static/root/assets/api-C1dxxDZx.js +1 -0
- package/dist/gateway/static/root/assets/api-Ddrs70xV.js +1 -0
- package/dist/gateway/static/root/assets/app-chrome-BeB4KgOf.js +1 -0
- package/dist/gateway/static/root/assets/app-link-CytZ5zkp.js +1 -0
- package/dist/gateway/static/root/assets/app-management-settings-panel-C1Zs-eha.js +1 -0
- package/dist/gateway/static/root/assets/appearance-settings-lIfGokbz.js +1 -0
- package/dist/gateway/static/root/assets/apps-page-CUvtsRYD.js +1 -0
- package/dist/gateway/static/root/assets/archive-Dz0hferG.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-B4btCsiV.js → archive-plugin-n5lPr79c.js} +1 -1
- package/dist/gateway/static/root/assets/arrow-left-D880xG-P.js +1 -0
- package/dist/gateway/static/root/assets/arrow-right-DSSvoX71.js +1 -0
- package/dist/gateway/static/root/assets/arrow-up-D5ZtR1QT.js +1 -0
- package/dist/gateway/static/root/assets/arrow-up-right-T72JbQ1Q.js +1 -0
- package/dist/gateway/static/root/assets/{attachment-preview-renderer-wzIchDSv.js → attachment-preview-renderer-DdOEgexg.js} +3 -3
- package/dist/gateway/static/root/assets/{attachment-process-heavy-Db4nTY5N.js → attachment-process-heavy-DGZZ-M85.js} +2 -2
- package/dist/gateway/static/root/assets/automation-api-Bld8blNl.js +1 -0
- package/dist/gateway/static/root/assets/automation-display-BcfZOQTC.js +2 -0
- package/dist/gateway/static/root/assets/{automations-page-yb1EL_3N.js → automations-page-oLsNzu_6.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-BgtYY2Mm.js +8 -0
- package/dist/gateway/static/root/assets/beta-badge-BnzdzIEl.js +1 -0
- package/dist/gateway/static/root/assets/{binary-plugins-DQT9e258.js → binary-plugins-D9VW7dWP.js} +2 -2
- package/dist/gateway/static/root/assets/{block-editor-B50rU9tL.js → block-editor-C477bTtO.js} +23 -23
- package/dist/gateway/static/root/assets/book-open-CCGtrT3R.js +1 -0
- package/dist/gateway/static/root/assets/bot-DjLkhyZL.js +1 -0
- package/dist/gateway/static/root/assets/box-DvYoGszj.js +1 -0
- package/dist/gateway/static/root/assets/braces-Cfmtagno.js +1 -0
- package/dist/gateway/static/root/assets/brand-logo-CgT9zQfr.js +1 -0
- package/dist/gateway/static/root/assets/briefcase-business-BsoCaI_t.js +1 -0
- package/dist/gateway/static/root/assets/browser-BLJWD7WI.js +8 -0
- package/dist/gateway/static/root/assets/{browser-automation-inputs-D6AccXaA.js → browser-automation-inputs-CCiYXxmh.js} +1 -1
- package/dist/gateway/static/root/assets/browser-automations-page-DIUNY94X.js +3 -0
- package/dist/gateway/static/root/assets/browser-control-api-Y3fvmeBk.js +6 -0
- package/dist/gateway/static/root/assets/browser-notification-delivery-DmE2FgGc.js +1 -0
- package/dist/gateway/static/root/assets/browser-settings-page-DjkGahlz.js +3 -0
- package/dist/gateway/static/root/assets/{button-aIC072nz.js → button-CnRSIP6m.js} +1 -1
- package/dist/gateway/static/root/assets/calendar-clock-D-quYVPe.js +1 -0
- package/dist/gateway/static/root/assets/calendar-days-hw_Y-g-s.js +1 -0
- package/dist/gateway/static/root/assets/capabilities-DAyA681v.js +1 -0
- package/dist/gateway/static/root/assets/capabilities-DRVXLssH.js +1 -0
- package/dist/gateway/static/root/assets/capabilities-page-DFW4Y0x8.js +2 -0
- package/dist/gateway/static/root/assets/capabilities-settings-panel-uOHSMQPZ.js +8 -0
- package/dist/gateway/static/root/assets/capability-header-actions-CTUCuBlW.js +1 -0
- package/dist/gateway/static/root/assets/capability-icon-DVoZxEgW.js +1 -0
- package/dist/gateway/static/root/assets/capability-links-DzQWK1Fh.js +1 -0
- package/dist/gateway/static/root/assets/channels-D2a69dSt.js +1 -0
- package/dist/gateway/static/root/assets/channels-routes-r2g-9DdC.js +1 -0
- package/dist/gateway/static/root/assets/chat-agents-api-D5nR_JVe.js +1 -0
- package/dist/gateway/static/root/assets/chat-chart-block-K2t333qv.js +2 -0
- package/dist/gateway/static/root/assets/chat-page-CG38tCHE.js +71 -0
- package/dist/gateway/static/root/assets/chat-page-zQeUaawJ.css +1 -0
- package/dist/gateway/static/root/assets/chat-terminal-dock-CkFG6mA3.js +35 -0
- package/dist/gateway/static/root/assets/chevron-left-DqFhpbvK.js +1 -0
- package/dist/gateway/static/root/assets/chevron-right-BweFrslA.js +1 -0
- package/dist/gateway/static/root/assets/chunk-D32TOXHM-DQIy-Baq.js +156 -0
- package/dist/gateway/static/root/assets/chunk-KS7C4IRE-CiwuuyV8.js +4 -0
- package/dist/gateway/static/root/assets/circle-BoO4YvTx.js +1 -0
- package/dist/gateway/static/root/assets/circle-alert-BEjgurr2.js +1 -0
- package/dist/gateway/static/root/assets/circle-pause-CN9jYH2s.js +1 -0
- package/dist/gateway/static/root/assets/circle-x-DFsCKeya.js +1 -0
- package/dist/gateway/static/root/assets/clock-3-DnrAnuyZ.js +1 -0
- package/dist/gateway/static/root/assets/cloud-C4-yfnnk.js +1 -0
- package/dist/gateway/static/root/assets/cloud-credits-B-nbtkqv.js +1 -0
- package/dist/gateway/static/root/assets/code-xml-DJtYhZUF.js +1 -0
- package/dist/gateway/static/root/assets/coins-DjP27vUx.js +1 -0
- package/dist/gateway/static/root/assets/command-palette-api-Do_66X1B.js +1 -0
- package/dist/gateway/static/root/assets/composer-payload-handoff-BU3B-C26.js +1 -0
- package/dist/gateway/static/root/assets/computer-settings-page-DBxOcMko.js +1 -0
- package/dist/gateway/static/root/assets/confirm-dialog-XGclfBqe.js +1 -0
- package/dist/gateway/static/root/assets/connected-providers-grid-Dmnu2zle.js +1 -0
- package/dist/gateway/static/root/assets/connector-filters-Cfcx9EA2.js +1 -0
- package/dist/gateway/static/root/assets/connector-service-page-rWpnchb3.js +1 -0
- package/dist/gateway/static/root/assets/connectors-api-DIBG72k4.js +1 -0
- package/dist/gateway/static/root/assets/connectors-page-DT_WrC1y.js +1 -0
- package/dist/gateway/static/root/assets/constants-DBtMsXdW.js +1 -0
- package/dist/gateway/static/root/assets/copy-text-row-CYIv7RfP.js +1 -0
- package/dist/gateway/static/root/assets/cpu-B247669f.js +1 -0
- package/dist/gateway/static/root/assets/database-CjjeZfRG.js +1 -0
- package/dist/gateway/static/root/assets/date-picker-CE-cZFCU.js +1 -0
- package/dist/gateway/static/root/assets/dependency-picker-7SpSfDSg.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-lorocS9j.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-narrative-CS8qJpNO.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-settings-CEcohlZq.js +1 -0
- package/dist/gateway/static/root/assets/{desktop-pet-sprite-Bd-aOI7N.js → desktop-pet-sprite-D5YYq2zC.js} +1 -1
- package/dist/gateway/static/root/assets/dev-view-store-57HgVuZ6.js +1 -0
- package/dist/gateway/static/root/assets/device-pairing-wizard-CLCPuf4R.js +1 -0
- package/dist/gateway/static/root/assets/directory-picker-path-field-D4jMhpka.js +1 -0
- package/dist/gateway/static/root/assets/discussion-annotation-sync-BKjf9gWe.js +1 -0
- package/dist/gateway/static/root/assets/dist-CaUuvp8-.js +1 -0
- package/dist/gateway/static/root/assets/dist-DNCdG_qB.js +1 -0
- package/dist/gateway/static/root/assets/dist-DfWfZ9iu.js +1 -0
- package/dist/gateway/static/root/assets/dist-DusecO_p.js +1 -0
- package/dist/gateway/static/root/assets/docx-preview-CnIClbYi.js +20 -0
- package/dist/gateway/static/root/assets/earth-BMhZtzcj.js +1 -0
- package/dist/gateway/static/root/assets/echarts-runtime-QSmTlXOu.js +18 -0
- package/dist/gateway/static/root/assets/electron-env-DHOGevH3.js +1 -0
- package/dist/gateway/static/root/assets/extension-debug-page-BsK2LMXQ.js +1 -0
- package/dist/gateway/static/root/assets/extension-iframe-host-Dhkk5JV2.js +1 -0
- package/dist/gateway/static/root/assets/extension-marketplace-api-CVJPqJOB.js +1 -0
- package/dist/gateway/static/root/assets/extension-page-Brps2XDP.js +1 -0
- package/dist/gateway/static/root/assets/extension-paths-DvuaZJuy.js +1 -0
- package/dist/gateway/static/root/assets/extension-provider-Byrd8Sor.js +1 -0
- package/dist/gateway/static/root/assets/extension-settings-page-CHY68DpG.js +1 -0
- package/dist/gateway/static/root/assets/file-BqMS_3DT.js +1 -0
- package/dist/gateway/static/root/assets/file-archive-DanfQJNe.js +1 -0
- package/dist/gateway/static/root/assets/file-preview-surface-BlprUrIs.js +1 -0
- package/dist/gateway/static/root/assets/file-text-D12HbeVy.js +1 -0
- package/dist/gateway/static/root/assets/file-tree-CFlZnV3Y.js +1 -0
- package/dist/gateway/static/root/assets/file-tree-utils-DJs1faGv.js +1 -0
- package/dist/gateway/static/root/assets/files-BNL4kkSB.js +1 -0
- package/dist/gateway/static/root/assets/floating-ui.dom-seOukHzT.js +1 -0
- package/dist/gateway/static/root/assets/folder-CN-pC3XL.js +1 -0
- package/dist/gateway/static/root/assets/folder-kanban-CpLlFI1o.js +1 -0
- package/dist/gateway/static/root/assets/form-field-width-DJw_jULe.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-config-swr-fQKBHBi1.js → gateway-config-swr-BAmUhiP1.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-CsykKL4l.js +1 -0
- package/dist/gateway/static/root/assets/gateway-realtime-store-DQqMBruB.js +1 -0
- package/dist/gateway/static/root/assets/gateway-restart-Ch128Lrr.js +1 -0
- package/dist/gateway/static/root/assets/gateway-settings-BA5-Uuwx.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-Cfwxof4k.js → gateway-startup-retry-CtUB3g6N.js} +1 -1
- package/dist/gateway/static/root/assets/gauge-C78eD2BA.js +1 -0
- package/dist/gateway/static/root/assets/git-branch-Dh9uxTot.js +1 -0
- package/dist/gateway/static/root/assets/global-defaults-api-CINf-C6a.js +2 -0
- package/dist/gateway/static/root/assets/heart-Cp4rgrqn.js +1 -0
- package/dist/gateway/static/root/assets/highlight-code-BH65IIbJ.js +1 -0
- package/dist/gateway/static/root/assets/highlighted-body-KQOG7T2V-DKGma5wI.js +1 -0
- package/dist/gateway/static/root/assets/history-DXH_9jsE.js +1 -0
- package/dist/gateway/static/root/assets/home-page-DaMFBYo1.js +2 -0
- package/dist/gateway/static/root/assets/image-Cwyalflz.js +1 -0
- package/dist/gateway/static/root/assets/image-generation-api-I_JgLL_m.js +1 -0
- package/dist/gateway/static/root/assets/imports-page-BWShtGRQ.js +1 -0
- package/dist/gateway/static/root/assets/index-DY2Y83b9.css +1 -0
- package/dist/gateway/static/root/assets/index-fKpEKELX.js +11 -0
- package/dist/gateway/static/root/assets/index.module-Cd9ENXfk.js +1 -0
- package/dist/gateway/static/root/assets/info-CDrmIZhb.js +1 -0
- package/dist/gateway/static/root/assets/install-connector-dialog-DU1Tz7B3.js +1 -0
- package/dist/gateway/static/root/assets/interaction-BdhHBbYa.js +1 -0
- package/dist/gateway/static/root/assets/is-masked-secret-DOkL5b_X.js +1 -0
- package/dist/gateway/static/root/assets/{jszip.min-DT31yWkU.js → jszip.min-Dj17eJqX.js} +1 -1
- package/dist/gateway/static/root/assets/key-round-DWbpyU2U.js +1 -0
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-CdM4BQwp.js +1 -0
- package/dist/gateway/static/root/assets/languages-zXtNocoy.js +2 -0
- package/dist/gateway/static/root/assets/laptop-CI3hBVrl.js +1 -0
- package/dist/gateway/static/root/assets/layers-mJW7JJKm.js +1 -0
- package/dist/gateway/static/root/assets/layout-grid-CEVZdVFU.js +1 -0
- package/dist/gateway/static/root/assets/list-checks-BbsExAoq.js +1 -0
- package/dist/gateway/static/root/assets/list-filter-COkzTdOz.js +1 -0
- package/dist/gateway/static/root/assets/list-todo-CTVRto8O.js +1 -0
- package/dist/gateway/static/root/assets/list-tree-B0OMswgM.js +1 -0
- package/dist/gateway/static/root/assets/local-app-workbench-page-qPflPuQD.js +1 -0
- package/dist/gateway/static/root/assets/local-apps-Ck6kACsY.js +1 -0
- package/dist/gateway/static/root/assets/local-apps-page-CxyRVfjD.js +1 -0
- package/dist/gateway/static/root/assets/local-session-drafts-B9ZPwotC.js +1 -0
- package/dist/gateway/static/root/assets/{locale-store-B7s2Hb35.js → locale-store-lIXD1FMw.js} +1 -1
- package/dist/gateway/static/root/assets/lock-keyhole-DEK5kH0u.js +1 -0
- package/dist/gateway/static/root/assets/logs-page-CbY1N-zi.js +2 -0
- package/dist/gateway/static/root/assets/loopi-C09I2mNj.css +1 -0
- package/dist/gateway/static/root/assets/loopi-CNtmi9FU.js +1 -0
- package/dist/gateway/static/root/assets/management-settings-Diy12JfQ.js +1 -0
- package/dist/gateway/static/root/assets/{markdown-editor-phTQ0mox.js → markdown-editor-BuuGlcfG.js} +1 -1
- package/dist/gateway/static/root/assets/markdown-view-C-DHb3Io.css +1 -0
- package/dist/gateway/static/root/assets/markdown-view-CJt-i2Dp.js +324 -0
- package/dist/gateway/static/root/assets/{media-plugins-CIx1koXw.js → media-plugins-D_bR23mA.js} +1 -1
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-Ur99GwOg.js +1 -0
- package/dist/gateway/static/root/assets/mermaid-render-oOellPHt.js +134 -0
- package/dist/gateway/static/root/assets/message-circle-Badhj-4D.js +1 -0
- package/dist/gateway/static/root/assets/message-square-fVE7Ghj1.js +1 -0
- package/dist/gateway/static/root/assets/message-square-plus-XP0tGdlV.js +1 -0
- package/dist/gateway/static/root/assets/{messages-BYq0cPbn.js → messages-DRR9N3HC.js} +1 -1
- package/dist/gateway/static/root/assets/messages-square-BckAJrEW.js +1 -0
- package/dist/gateway/static/root/assets/mic-CuUb7zc-.js +1 -0
- package/dist/gateway/static/root/assets/minimize-2-DtOGrlpo.js +1 -0
- package/dist/gateway/static/root/assets/mobile-pair-qr-CuIbmw5x.js +1 -0
- package/dist/gateway/static/root/assets/model-selector-DCYA_ntf.js +1 -0
- package/dist/gateway/static/root/assets/models-hub-cache-za2fWJLg.js +1 -0
- package/dist/gateway/static/root/assets/monitor-Af5eAvF7.js +1 -0
- package/dist/gateway/static/root/assets/mouse-pointer-2-DZ51Onvj.js +1 -0
- package/dist/gateway/static/root/assets/navigation-BkjnOw30.js +1 -0
- package/dist/gateway/static/root/assets/network-BUQLY1BV.js +1 -0
- package/dist/gateway/static/root/assets/new-session-preferences-gb411vZP.js +1 -0
- package/dist/gateway/static/root/assets/note-detail-panel-DBs1yHLy.js +5 -0
- package/dist/gateway/static/root/assets/note-image-lightbox-CivkB6LB.js +1 -0
- package/dist/gateway/static/root/assets/notes-api-C_458rv5.js +1 -0
- package/dist/gateway/static/root/assets/notes-page-DL3c-41a.js +8 -0
- package/dist/gateway/static/root/assets/number-input-El7Szeln.js +1 -0
- package/dist/gateway/static/root/assets/oauth-api-C3X9FLYw.js +1 -0
- package/dist/gateway/static/root/assets/oauth-authorization-window-o6URRos4.js +1 -0
- package/dist/gateway/static/root/assets/oauth-provider-connect-H81se_3n.js +1 -0
- package/dist/gateway/static/root/assets/package-wATCyihJ.js +1 -0
- package/dist/gateway/static/root/assets/page-context-capture-button-BkAlQ7cB.js +1 -0
- package/dist/gateway/static/root/assets/page-context-draft-ClLgaOaD.js +1 -0
- package/dist/gateway/static/root/assets/page-header-store-DH8K0xii.js +1 -0
- package/dist/gateway/static/root/assets/page-tabs-oeTY7z3_.js +1 -0
- package/dist/gateway/static/root/assets/panel-left-C8MqSXRZ.js +1 -0
- package/dist/gateway/static/root/assets/panel-right-CFGrHTsD.js +1 -0
- package/dist/gateway/static/root/assets/paperclip-f1HujQY1.js +1 -0
- package/dist/gateway/static/root/assets/pause-DuPxgSxk.js +1 -0
- package/dist/gateway/static/root/assets/{pdf-D4PI9qAw.js → pdf-EQHMWEbX.js} +3 -3
- package/dist/gateway/static/root/assets/pdf-runtime-JnUAvfIa.js +2 -0
- package/dist/gateway/static/root/assets/{pdf.worker.min-B4E34YdZ.js → pdf.worker.min-bpyjgR8v.js} +7 -7
- package/dist/gateway/static/root/assets/pencil-DmIY3Oa-.js +1 -0
- package/dist/gateway/static/root/assets/personal-avatar-BLtHt8fV.js +1 -0
- package/dist/gateway/static/root/assets/personal-avatar-BUCb7OiW.css +1 -0
- package/dist/gateway/static/root/assets/personal-page-B5DP3lO-.js +1 -0
- package/dist/gateway/static/root/assets/personal-proactivity-DaRnbB1f.js +1 -0
- package/dist/gateway/static/root/assets/personal-settings-panel-DjDc5Kaz.js +1 -0
- package/dist/gateway/static/root/assets/phone-dependencies-card-DISHarj8.js +1 -0
- package/dist/gateway/static/root/assets/phone-model-picker-u8YIQCgo.js +1 -0
- package/dist/gateway/static/root/assets/phone-settings-page-el3pT0PD.js +1 -0
- package/dist/gateway/static/root/assets/phone-workspace-store-fhnZrgy_.js +1 -0
- package/dist/gateway/static/root/assets/pin-off-BMRv-Kxr.js +1 -0
- package/dist/gateway/static/root/assets/play-kxZvpBg8.js +1 -0
- package/dist/gateway/static/root/assets/plug-DKYPEgkR.js +1 -0
- package/dist/gateway/static/root/assets/plug-zap-L8NMe3Sv.js +1 -0
- package/dist/gateway/static/root/assets/plugin-details-dialog-CTBs1Jde.js +1 -0
- package/dist/gateway/static/root/assets/plus-Q2yW6OE7.js +1 -0
- package/dist/gateway/static/root/assets/popover-select-DniHw2dy.js +1 -0
- package/dist/gateway/static/root/assets/power-ZI-pBczI.js +1 -0
- package/dist/gateway/static/root/assets/power-off-CwwQ7Gp7.js +1 -0
- package/dist/gateway/static/root/assets/preference-select-fields-D7oluyHN.js +1 -0
- package/dist/gateway/static/root/assets/preload-helper-Czpn1I53.js +1 -0
- package/dist/gateway/static/root/assets/preview-open-alternatives-CY_hjK4b.js +1 -0
- package/dist/gateway/static/root/assets/product-automation-feedback-DsUSqCOX.js +7 -0
- package/dist/gateway/static/root/assets/product-delivery-BU_H84jL.js +1 -0
- package/dist/gateway/static/root/assets/product-navigation-Co8pLbDP.js +1 -0
- package/dist/gateway/static/root/assets/product-open-page-xn9G4hSI.js +1 -0
- package/dist/gateway/static/root/assets/product-preview-content-DcoK-iZe.js +1 -0
- package/dist/gateway/static/root/assets/product-preview-modal-Ruw9WSKK.js +2 -0
- package/dist/gateway/static/root/assets/project-detail-page-BKvWLiMw.js +7 -0
- package/dist/gateway/static/root/assets/project-understanding-BCQr0AZ_.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-D4g7bB7X.js +1 -0
- package/dist/gateway/static/root/assets/providers-api-CzVkFKFg.js +1 -0
- package/dist/gateway/static/root/assets/puzzle-BptcPjKI.js +1 -0
- package/dist/gateway/static/root/assets/recording-upload-0jxahBMo.js +1 -0
- package/dist/gateway/static/root/assets/refresh-button-bU_0NarN.js +1 -0
- package/dist/gateway/static/root/assets/{registry-api-BcfoLEna.js → registry-api-n8TwtJ_j.js} +2 -2
- package/dist/gateway/static/root/assets/remote-access-hub-cZpBi4Rk.js +1 -0
- package/dist/gateway/static/root/assets/rotate-ccw-JM1TBLpp.js +1 -0
- package/dist/gateway/static/root/assets/rotate-cw-LIg3Am9S.js +1 -0
- package/dist/gateway/static/root/assets/route-preload-B5UiReO7.js +2 -0
- package/dist/gateway/static/root/assets/runtime-health-D2TDFLLq.js +1 -0
- package/dist/gateway/static/root/assets/{runtime-tools-api-DesqGCnE.js → runtime-tools-api-D-8KjYK6.js} +1 -1
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-MKlLFuow.js +1 -0
- package/dist/gateway/static/root/assets/save-DRDABU--.js +1 -0
- package/dist/gateway/static/root/assets/schema-form-v4N4lawq.js +1 -0
- package/dist/gateway/static/root/assets/schemas-CCWMleym.js +55 -0
- package/dist/gateway/static/root/assets/search-DA7gz22f.js +1 -0
- package/dist/gateway/static/root/assets/secret-input-BQvFXqzz.js +1 -0
- package/dist/gateway/static/root/assets/secret-input-labels-B5Jl5HqK.js +1 -0
- package/dist/gateway/static/root/assets/segmented-styles-Cqb91xsn.js +1 -0
- package/dist/gateway/static/root/assets/send-1f1Ntw6E.js +1 -0
- package/dist/gateway/static/root/assets/server-BlHCBjiE.js +1 -0
- package/dist/gateway/static/root/assets/service-recommendation-list-B1xuVT3N.js +1 -0
- package/dist/gateway/static/root/assets/{session-api-DdQnMwkl.js → session-api-CsCoI2im.js} +1 -1
- package/dist/gateway/static/root/assets/session-channel-icon-SsY70Z6t.js +1 -0
- package/dist/gateway/static/root/assets/session-identity-label-B7sgG1PE.js +1 -0
- package/dist/gateway/static/root/assets/session-manager-5l9q0cd5.js +16 -0
- package/dist/gateway/static/root/assets/sessions-page-DsLw2aMD.js +1 -0
- package/dist/gateway/static/root/assets/settings-2-D-csvaET.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-B5lQeVNi.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-section-BqoVSko2.js +1 -0
- package/dist/gateway/static/root/assets/settings-form-draft-Dy10ldo8.js +1 -0
- package/dist/gateway/static/root/assets/settings-form-section-num14vSv.js +1 -0
- package/dist/gateway/static/root/assets/settings-loading-skeleton-BTqvr_Fw.js +1 -0
- package/dist/gateway/static/root/assets/settings-mode-store-CBsJ-Qg2.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-DROUGyJl.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-header-Bv-kQFTm.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-layout-DHP6MrrL.js +1 -0
- package/dist/gateway/static/root/assets/settings-uiTATseT.js +1 -0
- package/dist/gateway/static/root/assets/setup-status-panel-MJE3B_LX.js +1 -0
- package/dist/gateway/static/root/assets/share-link-dialog-BJHRQVKC.js +1 -0
- package/dist/gateway/static/root/assets/share-preview-page-Bsrv_zOQ.js +2 -0
- package/dist/gateway/static/root/assets/shares-api-rtWVHA_d.js +1 -0
- package/dist/gateway/static/root/assets/shares-settings-CfIRv4uX.js +1 -0
- package/dist/gateway/static/root/assets/shield-B1sI_cxl.js +1 -0
- package/dist/gateway/static/root/assets/shield-check-BU58siTV.js +1 -0
- package/dist/gateway/static/root/assets/shield-off-2jsucUds.js +1 -0
- package/dist/gateway/static/root/assets/side-chat-shortcut-BIw-1TTD.js +1 -0
- package/dist/gateway/static/root/assets/skill-api-B_W1K3sv.js +1 -0
- package/dist/gateway/static/root/assets/skill-api-utils-C7V4JVXM.js +1 -0
- package/dist/gateway/static/root/assets/skill-list-api-BzlKXPsE.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-Cff2GgZb.js +1 -0
- package/dist/gateway/static/root/assets/skill-wire-pattern-BPpeIcCi.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-DtBloYeU.js +2 -0
- package/dist/gateway/static/root/assets/sliders-horizontal-DqsYor6I.js +1 -0
- package/dist/gateway/static/root/assets/sliding-tab-list-DuQyViqe.js +1 -0
- package/dist/gateway/static/root/assets/smartphone-DSSsQFqA.js +1 -0
- package/dist/gateway/static/root/assets/{source-workspace-editor-BIvi89Zx.js → source-workspace-editor-kxosllTu.js} +1 -1
- package/dist/gateway/static/root/assets/sparkles-DHlfQFAF.js +1 -0
- package/dist/gateway/static/root/assets/specialists-xbB3xL9e.js +1 -0
- package/dist/gateway/static/root/assets/square-DMK_fB-3.js +1 -0
- package/dist/gateway/static/root/assets/square-pen-B8FsvqNu.js +1 -0
- package/dist/gateway/static/root/assets/square-terminal-K87bylpZ.js +1 -0
- package/dist/gateway/static/root/assets/star-BUWJqJ5c.js +1 -0
- package/dist/gateway/static/root/assets/stethoscope-DRqTAtjD.js +1 -0
- package/dist/gateway/static/root/assets/sticky-note-fzP7NAJq.js +1 -0
- package/dist/gateway/static/root/assets/store-SzD1Jvgm.js +1 -0
- package/dist/gateway/static/root/assets/system-settings-panel-BeQeUUMH.js +1 -0
- package/dist/gateway/static/root/assets/task-detail-page-Drrv-Hp0.js +2 -0
- package/dist/gateway/static/root/assets/task-result-evidence-D1Kyskm_.js +1 -0
- package/dist/gateway/static/root/assets/tasks-DRmd6sWt.js +1 -0
- package/dist/gateway/static/root/assets/terminal-oKqqZdiG.js +1 -0
- package/dist/gateway/static/root/assets/terminal-panel-store-5Fzctajw.js +1 -0
- package/dist/gateway/static/root/assets/theme-store-DW45fWYQ.js +1 -0
- package/dist/gateway/static/root/assets/timer-rCwGHjuO.js +1 -0
- package/dist/gateway/static/root/assets/tool-friendly-title-DGmi7rCQ.js +1 -0
- package/dist/gateway/static/root/assets/tracing-settings-page-B12u5D9A.js +1 -0
- package/dist/gateway/static/root/assets/trash-2-DusmjVPV.js +1 -0
- package/dist/gateway/static/root/assets/triangle-alert-2JXFNNKU.js +1 -0
- package/dist/gateway/static/root/assets/tunnel-api-DGO56LQU.js +1 -0
- package/dist/gateway/static/root/assets/understanding-activity-store-CTe6TFB0.js +1 -0
- package/dist/gateway/static/root/assets/understanding-refresh-store-mE9OKG6q.js +1 -0
- package/dist/gateway/static/root/assets/unlink-BEuthaaq.js +1 -0
- package/dist/gateway/static/root/assets/upload-rrb46c3c.js +1 -0
- package/dist/gateway/static/root/assets/usage-page-Ud2U9UG1.js +1 -0
- package/dist/gateway/static/root/assets/use-async-resource-BHFGZCY2.js +1 -0
- package/dist/gateway/static/root/assets/use-autosave-Cs2Ga_Y_.js +1 -0
- package/dist/gateway/static/root/assets/use-composer-attachments-BCbMj-MN.js +2 -0
- package/dist/gateway/static/root/assets/use-directory-picker-C4p7AgWY.js +1 -0
- package/dist/gateway/static/root/assets/use-file-preview-expanded-DSpCRXUW.js +2 -0
- package/dist/gateway/static/root/assets/use-media-query-ady-FgjK.js +1 -0
- package/dist/gateway/static/root/assets/use-personal-profile-BHL2AxWU.js +1 -0
- package/dist/gateway/static/root/assets/use-workspace-tree-CnmPZrpx.js +1 -0
- package/dist/gateway/static/root/assets/user-model-page-p5iPfnwl.js +2 -0
- package/dist/gateway/static/root/assets/user-round-C9jxPhMR.js +1 -0
- package/dist/gateway/static/root/assets/{vendor-codemirror-Qdcjid65.js → vendor-codemirror-aCQ0FcJT.js} +8 -8
- package/dist/gateway/static/root/assets/{vendor-swr-BIWyz7Rc.js → vendor-swr-CdRzEUwF.js} +1 -1
- package/dist/gateway/static/root/assets/video-B6V0GFss.js +1 -0
- package/dist/gateway/static/root/assets/voice-api-key-field-3gyc2UV3.js +1 -0
- package/dist/gateway/static/root/assets/voice-call-context-BM2A4bLz.js +1 -0
- package/dist/gateway/static/root/assets/{voice-config-api-BkUlN7GH.js → voice-config-api-Cda2uBIC.js} +1 -1
- package/dist/gateway/static/root/assets/voice-input-shortcut-events-DtYHsPLF.js +1 -0
- package/dist/gateway/static/root/assets/voice-transcribe-api-TInEfIYo.js +1 -0
- package/dist/gateway/static/root/assets/volume-2-BSJhAY97.js +1 -0
- package/dist/gateway/static/root/assets/wand-sparkles-CkSL-3Fy.js +1 -0
- package/dist/gateway/static/root/assets/{with-selector-aYPsXwdl.js → with-selector-xonYxPoM.js} +1 -1
- package/dist/gateway/static/root/assets/work-discovery-overlay-Dqu5CQCS.js +1 -0
- package/dist/gateway/static/root/assets/work-discovery-page-p-8ciZ0i.js +1 -0
- package/dist/gateway/static/root/assets/working-directory-picker-modal-DHl2cZY1.js +1 -0
- package/dist/gateway/static/root/assets/workspace-api-CtDbI6T7.js +2 -0
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-B94Q2nN8.js +1 -0
- package/dist/gateway/static/root/assets/workspace-file-preview-dialog-CTIbUfKb.js +1 -0
- package/dist/gateway/static/root/assets/workspace-open-location-menu-BwxouqdZ.js +1 -0
- package/dist/gateway/static/root/assets/x-B_N4OPjy.js +1 -0
- package/dist/gateway/static/root/assets/{xlsx-CKkngM-o.js → xlsx-Cl_0CZaL.js} +11 -11
- package/dist/gateway/static/root/assets/xml-_d7dTN2Q.js +3 -0
- package/dist/gateway/static/root/assets/xopc-cloud-account-card-CFb-23rS.js +1 -0
- package/dist/gateway/static/root/assets/zap-dximCGjy.js +1 -0
- package/dist/gateway/static/root/index.html +266 -48
- package/dist/package.js +1 -1
- package/dist/src/activity/emitter.js +1 -2
- package/dist/src/activity/service.js +1 -2
- package/dist/src/agent/agent-manager.d.ts +1 -0
- package/dist/src/agent/agent-manager.js +3 -4
- package/dist/src/agent/background-review/run-background-review.js +1 -2
- package/dist/src/agent/context/execution-context.js +1 -2
- package/dist/src/agent/context/execution-scope.js +1 -2
- package/dist/src/agent/context/project-context.js +1 -2
- package/dist/src/agent/embedded/agent-profile-context.js +1 -2
- package/dist/src/agent/embedded/run-turn.js +2 -4
- package/dist/src/agent/embedded/sqlite-hydrating-session-manager.js +1 -2
- package/dist/src/agent/external-tools/cliProvider.js +1 -2
- package/dist/src/agent/external-tools/composio-provider.js +1 -2
- package/dist/src/agent/memory/compaction-promotion.js +1 -2
- package/dist/src/agent/orchestration/research-checkpoint.js +26 -31
- package/dist/src/agent/prompt/response-language.js +1 -2
- package/dist/src/agent/prompt/service-prompt-builder.js +3 -6
- package/dist/src/agent/prompt/system-prompt.js +1 -2
- package/dist/src/agent/service/direct-turn-helpers.js +1 -2
- package/dist/src/agent/service/process-direct-streaming.js +1 -2
- package/dist/src/agent/service/webchat-tts.js +1 -2
- package/dist/src/agent/service.js +2 -2
- package/dist/src/agent/service.types.d.ts +1 -0
- package/dist/src/agent/tool-manuals/computer.d.ts +1 -1
- package/dist/src/agent/tool-manuals/computer.js +2 -0
- package/dist/src/agent/tool-manuals/phone.d.ts +1 -1
- package/dist/src/agent/tool-manuals/phone.js +14 -4
- package/dist/src/agent/tool-manuals/xopc-configuration.d.ts +2 -2
- package/dist/src/agent/tool-manuals/xopc-configuration.js +27 -23
- package/dist/src/agent/tools/delegate-tool.js +2 -4
- package/dist/src/agent/tools/factory.d.ts +1 -0
- package/dist/src/agent/tools/factory.js +12 -8
- package/dist/src/agent/tools/personal-task-tool.js +1 -2
- package/dist/src/agent/tools/phone-use-tool.d.ts +1 -0
- package/dist/src/agent/tools/phone-use-tool.js +71 -4
- package/dist/src/agent/tools/research-checkpoint-tool.js +1 -2
- package/dist/src/agent/tools/xopc-use-tool.d.ts +1 -0
- package/dist/src/agent/tools/xopc-use-tool.js +7 -4
- package/dist/src/agent-catalog/repository.js +2 -3
- package/dist/src/agent-catalog/test-support.js +1 -2
- package/dist/src/agent-matching/selection-repository.js +1 -2
- package/dist/src/automations/capabilities/drafts.js +2 -4
- package/dist/src/bootstrap/application-state.js +1 -2
- package/dist/src/browser/automations/repository.js +1 -2
- package/dist/src/browser/native-messaging-host.js +2 -4
- package/dist/src/browser/providers/realtime-extension.js +1 -2
- package/dist/src/browser/recordings/service.js +1 -2
- package/dist/src/browser/setup/service.d.ts +9 -4
- package/dist/src/browser/setup/service.js +48 -19
- package/dist/src/chat-previews/store.js +1 -2
- package/dist/src/cli/commands/doctor/checks/automation-integrity.js +1 -2
- package/dist/src/cli/commands/doctor/checks/database-relations.js +1 -2
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -2
- package/dist/src/cli/commands/doctor/checks/node-version.js +6 -6
- package/dist/src/cli/commands/doctor/checks/session-integrity.js +1 -2
- package/dist/src/cli/commands/gateway/shared.js +1 -2
- package/dist/src/cli/commands/history.js +1 -2
- package/dist/src/cli/commands/project.js +1 -2
- package/dist/src/computer/diagnostics.d.ts +7 -7
- package/dist/src/computer/diagnostics.js +8 -2
- package/dist/src/computer/errors.js +9 -1
- package/dist/src/computer/evaluation.d.ts +4 -4
- package/dist/src/computer/keyboard.d.ts +1 -1
- package/dist/src/computer/keyboard.js +10 -2
- package/dist/src/computer/model-adapter.js +27 -7
- package/dist/src/config/gateway-bind.js +1 -2
- package/dist/src/config/schema.d.ts +5 -0
- package/dist/src/connectors/cli/lifecycle.js +1 -2
- package/dist/src/connectors/composio-managed-events.js +1 -2
- package/dist/src/connectors/connected-source-ingestion.js +1 -2
- package/dist/src/connectors/connected-source-understanding.js +2 -4
- package/dist/src/connectors/content-enrichment.js +1 -2
- package/dist/src/connectors/learning-coordinator.js +1 -2
- package/dist/src/connectors/runtime-adapter-registry.js +1 -2
- package/dist/src/daemon/constants.js +9 -14
- package/dist/src/daemon/index.js +1 -4
- package/dist/src/daemon/install-plan.js +1 -2
- package/dist/src/daemon/launchd.js +1 -2
- package/dist/src/daemon/schtasks.js +1 -2
- package/dist/src/daemon/service-audit.js +1 -2
- package/dist/src/daemon/service.js +1 -2
- package/dist/src/daemon/systemd.js +1 -2
- package/dist/src/discussions/analyzer.d.ts +3 -3
- package/dist/src/endpoint-tools/runtime.js +1 -2
- package/dist/src/execution-environments/subject.js +1 -2
- package/dist/src/extensions/agent-plugins/branding.js +2 -1
- package/dist/src/extensions/agent-plugins/cli-authorization.js +2 -1
- package/dist/src/extensions/agent-plugins/contained-path.d.ts +1 -0
- package/dist/src/extensions/agent-plugins/contained-path.js +29 -0
- package/dist/src/extensions/agent-plugins/mcp-adapter.js +2 -1
- package/dist/src/extensions/agent-plugins/resources.js +1 -1
- package/dist/src/extensions/agent-plugins/skill-catalog.js +2 -1
- package/dist/src/extensions/agent-plugins/source-catalog.js +1 -1
- package/dist/src/extensions/agent-plugins/store.js +2 -1
- package/dist/src/extensions/agent-plugins/validation.d.ts +1 -2
- package/dist/src/extensions/agent-plugins/validation.js +2 -25
- package/dist/src/gateway/client-ip.js +1 -2
- package/dist/src/gateway/file-space-service.js +1 -2
- package/dist/src/gateway/hono/app.js +2 -4
- package/dist/src/gateway/hono/middleware/auth.js +3 -6
- package/dist/src/gateway/hono/middleware/logger.js +1 -2
- package/dist/src/gateway/hono/middleware/public-device-rate-limit.js +1 -2
- package/dist/src/gateway/hono/middleware/scopes.js +1 -2
- package/dist/src/gateway/hono/middleware/strict-rate-limit.js +1 -2
- package/dist/src/gateway/hono/oauth-async.js +1 -2
- package/dist/src/gateway/hono/routes/browser-session.js +1 -2
- package/dist/src/gateway/hono/routes/browser.js +3 -6
- package/dist/src/gateway/hono/routes/cli-connectors.js +1 -2
- package/dist/src/gateway/hono/routes/composer-history.js +1 -2
- package/dist/src/gateway/hono/routes/config.js +1 -2
- package/dist/src/gateway/hono/routes/connectors.js +2 -4
- package/dist/src/gateway/hono/routes/context-sources.js +1 -2
- package/dist/src/gateway/hono/routes/device-pairing-approval.js +2 -4
- package/dist/src/gateway/hono/routes/device-push.js +1 -2
- package/dist/src/gateway/hono/routes/devices.js +4 -8
- package/dist/src/gateway/hono/routes/discussions.js +1 -2
- package/dist/src/gateway/hono/routes/endpoint-tools.js +1 -2
- package/dist/src/gateway/hono/routes/home.js +1 -2
- package/dist/src/gateway/hono/routes/interaction-state.js +1 -2
- package/dist/src/gateway/hono/routes/memory-learning.js +1 -2
- package/dist/src/gateway/hono/routes/personal-agent.js +1 -2
- package/dist/src/gateway/hono/routes/phone-dependencies.js +1 -6
- package/dist/src/gateway/hono/routes/phone-setup.js +71 -2
- package/dist/src/gateway/hono/routes/phone-wireless.d.ts +4 -0
- package/dist/src/gateway/hono/routes/phone-wireless.js +63 -0
- package/dist/src/gateway/hono/routes/phone.js +116 -21
- package/dist/src/gateway/hono/routes/projects.js +1 -2
- package/dist/src/gateway/hono/routes/public-gateway.js +1 -2
- package/dist/src/gateway/hono/routes/sessions.js +2 -4
- package/dist/src/gateway/hono/routes/shares.js +2 -4
- package/dist/src/gateway/hono/routes/tasks.js +1 -2
- package/dist/src/gateway/hono/routes/user-model-refresh.js +1 -2
- package/dist/src/gateway/hono/routes/user-model.js +1 -2
- package/dist/src/gateway/host.js +4 -9
- package/dist/src/gateway/index.js +2 -6
- package/dist/src/gateway/listen.js +1 -2
- package/dist/src/gateway/next-turn-suggestions/service.js +1 -2
- package/dist/src/gateway/next-turn-suggestions/snapshot.js +1 -2
- package/dist/src/gateway/rate-limit/auth-policy.js +11 -7
- package/dist/src/gateway/rate-limit/buckets.js +220 -211
- package/dist/src/gateway/rate-limit/env-flags.js +1 -4
- package/dist/src/gateway/rate-limit/index.js +4 -13
- package/dist/src/gateway/runtime-config.js +2 -4
- package/dist/src/gateway/security/audit.js +1 -2
- package/dist/src/gateway/security/browser-session.js +1 -2
- package/dist/src/gateway/security/device-request-proof.d.ts +1 -2
- package/dist/src/gateway/security/device-request-proof.js +2 -4
- package/dist/src/gateway/security/gateway-scopes.js +2 -6
- package/dist/src/gateway/security/index.js +1 -4
- package/dist/src/gateway/security/loopback.js +6 -7
- package/dist/src/gateway/service/agent-runner.js +2 -4
- package/dist/src/gateway/service/app-context-access.js +1 -2
- package/dist/src/gateway/service/config-coordinator.d.ts +2 -0
- package/dist/src/gateway/service/run-gateway-agent.js +2 -4
- package/dist/src/gateway/service/session-input-coordinator.js +3 -6
- package/dist/src/gateway/service.js +16 -19
- package/dist/src/gateway/session-context-summary.js +2 -4
- package/dist/src/gateway/tailscale-auth.js +1 -2
- package/dist/src/gateway/ws-security.js +1 -2
- package/dist/src/infra/rate-limit/failure-limiter.js +90 -78
- package/dist/src/infra/rate-limit/index.js +3 -11
- package/dist/src/infra/rate-limit/keyed-store.js +47 -52
- package/dist/src/infra/rate-limit/rate-limiter.js +58 -55
- package/dist/src/infra/update-service-refresh.js +1 -2
- package/dist/src/knowledge/chunks.js +1 -4
- package/dist/src/knowledge/connected-knowledge-pipeline.js +3 -6
- package/dist/src/knowledge/ingestion-service.js +1 -2
- package/dist/src/knowledge-memory/repository.js +1 -2
- package/dist/src/local-apps/store.js +1 -2
- package/dist/src/media/session-references.js +1 -2
- package/dist/src/memory-learning/forget-capture.js +1 -2
- package/dist/src/memory-learning/forgotten-history.js +3 -6
- package/dist/src/memory-learning/service.js +1 -2
- package/dist/src/memory-learning/source-learning.js +3 -3
- package/dist/src/memory-learning/task-receipts.js +1 -2
- package/dist/src/memory-learning/work-candidate.d.ts +29 -0
- package/dist/src/memory-learning/work-candidate.js +31 -0
- package/dist/src/memory-learning/work-capture.d.ts +2 -29
- package/dist/src/memory-learning/work-capture.js +2 -30
- package/dist/src/memory-maintenance/service.js +1 -2
- package/dist/src/notes/agent-context.js +1 -2
- package/dist/src/notes/attachment-ref.js +4 -8
- package/dist/src/notes/note-attachment-sync.js +1 -2
- package/dist/src/notes/note-index-meta.js +7 -14
- package/dist/src/notes/note-markdown.js +7 -13
- package/dist/src/notes/service.js +3 -6
- package/dist/src/notes/store.js +2 -4
- package/dist/src/notifications/clarification.js +1 -2
- package/dist/src/notifications/service.js +1 -2
- package/dist/src/personal-agent/proactivity/repository.js +1 -2
- package/dist/src/personal-agent/proactivity/service.js +1 -2
- package/dist/src/personal-agent/prompt-context.js +1 -2
- package/dist/src/personal-agent/reply-composer.js +4 -5
- package/dist/src/personal-agent/repository.js +1 -2
- package/dist/src/personal-agent/request-delivery.js +1 -2
- package/dist/src/personal-agent/result-extraction.js +71 -71
- package/dist/src/personal-agent/service.js +1 -2
- package/dist/src/phone/adb-command.d.ts +1 -0
- package/dist/src/phone/adb-command.js +12 -0
- package/dist/src/phone/adb-driver.d.ts +4 -2
- package/dist/src/phone/adb-driver.js +44 -38
- package/dist/src/phone/cloud-adb-connection.d.ts +34 -0
- package/dist/src/phone/cloud-adb-connection.js +324 -0
- package/dist/src/phone/cloud-adb-writable.d.ts +3 -0
- package/dist/src/phone/cloud-adb-writable.js +21 -0
- package/dist/src/phone/cloud-adb.d.ts +3 -32
- package/dist/src/phone/cloud-adb.js +3 -259
- package/dist/src/phone/cloud-key-permissions.d.ts +2 -0
- package/dist/src/phone/cloud-key-permissions.js +66 -0
- package/dist/src/phone/cloud-phones.js +2 -1
- package/dist/src/phone/cloud-scrcpy.d.ts +1 -1
- package/dist/src/phone/cloud-scrcpy.js +3 -2
- package/dist/src/phone/contracts.d.ts +157 -1
- package/dist/src/phone/contracts.js +41 -5
- package/dist/src/phone/foreground.d.ts +1 -0
- package/dist/src/phone/foreground.js +18 -0
- package/dist/src/phone/live-state.d.ts +2 -0
- package/dist/src/phone/live-state.js +5 -0
- package/dist/src/phone/model-adapter.d.ts +6 -2
- package/dist/src/phone/model-adapter.js +79 -64
- package/dist/src/phone/reliability.d.ts +2 -2
- package/dist/src/phone/reliability.js +19 -6
- package/dist/src/phone/repository.d.ts +3 -1
- package/dist/src/phone/repository.js +9 -1
- package/dist/src/phone/runtime.d.ts +79 -3
- package/dist/src/phone/runtime.js +631 -41
- package/dist/src/phone/scrcpy.js +3 -2
- package/dist/src/phone/setup/service.d.ts +20 -67
- package/dist/src/phone/setup/service.js +52 -7
- package/dist/src/phone/task-feedback.d.ts +4 -0
- package/dist/src/phone/task-feedback.js +47 -0
- package/dist/src/phone/ui-dump-binary.d.ts +1 -0
- package/dist/src/phone/ui-dump-binary.js +4 -0
- package/dist/src/phone/wireless.d.ts +80 -0
- package/dist/src/phone/wireless.js +244 -0
- package/dist/src/projects/capabilities/write.js +1 -2
- package/dist/src/projects/project-service.js +1 -2
- package/dist/src/projects/workspace.js +1 -2
- package/dist/src/realtime/runtime.d.ts +3 -0
- package/dist/src/realtime/runtime.js +15 -2
- package/dist/src/remote-access/exposure-guards.js +1 -2
- package/dist/src/runtime-tools/catalog.d.ts +1 -1
- package/dist/src/runtime-tools/catalog.js +2 -2
- package/dist/src/session/config-store.js +1 -2
- package/dist/src/session/init-session-turn.js +1 -2
- package/dist/src/session/resolve-session.js +1 -2
- package/dist/src/session/store.js +2 -4
- package/dist/src/share/share-rate-limit.js +1 -2
- package/dist/src/share/share-url.js +1 -2
- package/dist/src/share/site-share-router.js +1 -2
- package/dist/src/storage/sqlite/activity-repository.js +2 -6
- package/dist/src/storage/sqlite/browser-tab-binding-repository.js +2 -6
- package/dist/src/storage/sqlite/clarification-wait-repository.js +9 -14
- package/dist/src/storage/sqlite/collaboration-rule-repository.js +3 -8
- package/dist/src/storage/sqlite/composer-input-history-repository.js +3 -8
- package/dist/src/storage/sqlite/config-repository.js +5 -9
- package/dist/src/storage/sqlite/connector-learning-repository.js +2 -6
- package/dist/src/storage/sqlite/connector-sync-policy-repository.js +2 -6
- package/dist/src/storage/sqlite/context-evidence-repository.js +3 -8
- package/dist/src/storage/sqlite/context-extraction-repository.js +3 -8
- package/dist/src/storage/sqlite/device-access-repository.js +16 -23
- package/dist/src/storage/sqlite/device-pairing-approval.js +2 -6
- package/dist/src/storage/sqlite/device-pairing-repository.js +5 -10
- package/dist/src/storage/sqlite/endpoint-principal-repository.js +2 -6
- package/dist/src/storage/sqlite/endpoint-session-binding-repository.js +2 -6
- package/dist/src/storage/sqlite/endpoint-tool-invocation-repository.js +2 -6
- package/dist/src/storage/sqlite/gateway-identity-repository.js +2 -6
- package/dist/src/storage/sqlite/home-attention-repository.js +2 -6
- package/dist/src/storage/sqlite/index.js +40 -72
- package/dist/src/storage/sqlite/interaction-state-repository.js +4 -10
- package/dist/src/storage/sqlite/knowledge-repository.js +3 -8
- package/dist/src/storage/sqlite/note-agent-context-repository.js +2 -6
- package/dist/src/storage/sqlite/notes-repository.js +4 -9
- package/dist/src/storage/sqlite/research-checkpoint-repository.js +3 -8
- package/dist/src/storage/sqlite/session-creation-repository.js +2 -4
- package/dist/src/storage/sqlite/session-task-plan-repository.js +9 -14
- package/dist/src/storage/sqlite/session-turn-replace-repository.js +5 -9
- package/dist/src/storage/sqlite/sidebar-layout-repository.js +9 -14
- package/dist/src/storage/sqlite/transcript-repository.js +6 -10
- package/dist/src/storage/sqlite/user-people-repository.js +3 -8
- package/dist/src/storage/sqlite/user-trust-repository.js +4 -9
- package/dist/src/tasks/execution-context.js +1 -2
- package/dist/src/tasks/home-query-service.js +1 -2
- package/dist/src/tasks/task-allocation-repository.js +1 -2
- package/dist/src/tasks/task-context-assembler.js +1 -2
- package/dist/src/tasks/task-handoff.js +2 -4
- package/dist/src/tasks/task-instruction-sequence.d.ts +1 -0
- package/dist/src/tasks/task-instruction-sequence.js +7 -0
- package/dist/src/tasks/task-language.js +1 -2
- package/dist/src/tasks/task-research-result.d.ts +1 -2
- package/dist/src/tasks/task-research-result.js +1 -3
- package/dist/src/tasks/task-result-delivery-repository.js +1 -1
- package/dist/src/tasks/task-result-delivery-service.js +3 -3
- package/dist/src/tasks/task-run-coordinator.js +3 -3
- package/dist/src/tasks/task-run-dispatcher.js +1 -2
- package/dist/src/tasks/task-value-metrics-service.js +1 -2
- package/dist/src/tui/backends/embedded-backend.js +1 -2
- package/dist/src/tui/tui-commands.js +1 -2
- package/dist/src/tunnel/registration-proof.js +1 -2
- package/dist/src/tunnel/tunnel-rate-limit.js +1 -2
- package/dist/src/user-context/access-policy.js +1 -2
- package/dist/src/user-context/domain.js +13 -18
- package/dist/src/user-context/extraction/registry.js +1 -2
- package/dist/src/user-context/interaction-state.js +1 -4
- package/dist/src/user-context/relationship-continuity.js +1 -2
- package/dist/src/user-context/sources/consent-repository.js +1 -2
- package/dist/src/user-context/trust-policy.js +8 -13
- package/dist/src/user-model/action-rule-suggestions.js +1 -2
- package/dist/src/user-model/bootstrap.js +1 -2
- package/dist/src/user-model/capture/executor.js +2 -4
- package/dist/src/user-model/capture/semantic.d.ts +1 -1
- package/dist/src/user-model/capture/semantic.js +1 -1
- package/dist/src/user-model/domain.js +30 -35
- package/dist/src/user-model/goals.js +1 -2
- package/dist/src/user-model/index.js +1 -4
- package/dist/src/user-model/observation-repository.js +1 -2
- package/dist/src/user-model/repository.js +1 -2
- package/dist/src/user-model/usage-policy.js +1 -2
- package/dist/src/voice/realtime/memory-context.js +1 -2
- package/dist/src/work-discovery/service.js +2 -4
- package/package.json +5 -5
- package/skills/tools/configure-xopc/SKILL.md +10 -3
- package/skills/tools/configure-xopc/references/browser/acceptance.md +4 -3
- package/skills/tools/configure-xopc/references/browser/chrome-extension.md +19 -15
- package/skills/tools/configure-xopc/references/browser/overview.md +14 -17
- package/skills/tools/configure-xopc/references/browser/permissions.md +3 -5
- package/skills/tools/configure-xopc/references/browser/troubleshooting.md +2 -2
- package/skills/tools/configure-xopc/references/phone/acceptance.md +5 -3
- package/skills/tools/configure-xopc/references/phone/dependencies.md +4 -4
- package/skills/tools/configure-xopc/references/phone/local.md +5 -5
- package/skills/tools/configure-xopc/references/phone/models.md +17 -14
- package/skills/tools/configure-xopc/references/phone/overview.md +20 -25
- package/skills/tools/configure-xopc/references/phone/troubleshooting.md +3 -0
- package/dist/gateway/static/root/assets/agent-avatar-dicebear-CufU7cqe.js +0 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-DHDAcss8.js +0 -1
- package/dist/gateway/static/root/assets/agents-BV3dAoa0.js +0 -77
- package/dist/gateway/static/root/assets/app-management-settings-panel-D4-n1uBg.js +0 -1
- package/dist/gateway/static/root/assets/appearance-settings-Cgn4eNsX.js +0 -1
- package/dist/gateway/static/root/assets/apps-page-BOYzD7Zz.js +0 -1
- package/dist/gateway/static/root/assets/automation-display-BFN7zWBg.js +0 -2
- package/dist/gateway/static/root/assets/automations-workspace-J7LJ4RuV.js +0 -8
- package/dist/gateway/static/root/assets/browser-automations-page-BiQz6lJA.js +0 -3
- package/dist/gateway/static/root/assets/browser-settings-page-W9kuxBbE.js +0 -3
- package/dist/gateway/static/root/assets/capabilities-BlxF36t-.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-page-iXe87MdG.js +0 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-CRLSXe7Z.js +0 -8
- package/dist/gateway/static/root/assets/capability-header-actions-BMnbzHms.js +0 -1
- package/dist/gateway/static/root/assets/channels-CrRJkOKX.js +0 -1
- package/dist/gateway/static/root/assets/chat-terminal-dock-Bd3af4gL.js +0 -36
- package/dist/gateway/static/root/assets/chunk-KS7C4IRE-BvcCCgTW.js +0 -4
- package/dist/gateway/static/root/assets/cloud-credits-BMYMiiNn.js +0 -1
- package/dist/gateway/static/root/assets/computer-settings-page-DXfqy7xh.js +0 -1
- package/dist/gateway/static/root/assets/connector-service-page-B-cw0CPU.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-DbFxc0Fd.js +0 -1
- package/dist/gateway/static/root/assets/constants-DeXt1mV-.js +0 -1
- package/dist/gateway/static/root/assets/date-picker-CqzXevH6.js +0 -1
- package/dist/gateway/static/root/assets/dependency-picker-pgT4Gyaf.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-settings-Dy_-i2L8.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-zICeqw9c.js +0 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-ByGbxqkg.js +0 -1
- package/dist/gateway/static/root/assets/directory-picker-path-field-C-aQ7qoM.js +0 -1
- package/dist/gateway/static/root/assets/dist-C3DSFZCi.js +0 -1
- package/dist/gateway/static/root/assets/dist-CI_fqRk-.js +0 -1
- package/dist/gateway/static/root/assets/docx-preview-CajIk2FR.js +0 -20
- package/dist/gateway/static/root/assets/echarts-runtime-tcHc9TOS.js +0 -18
- package/dist/gateway/static/root/assets/electron-env-Dit0bHgy.js +0 -1
- package/dist/gateway/static/root/assets/extension-debug-page-2NwpYkS5.js +0 -1
- package/dist/gateway/static/root/assets/extension-page-y9J0z7_Q.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-BtowusUh.js +0 -1
- package/dist/gateway/static/root/assets/files-Bw4SBGdM.js +0 -1
- package/dist/gateway/static/root/assets/floating-ui.dom-B7uQOZZW.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-C52ghnBK.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-Bx9KCID-.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-BYSKzUMR.js +0 -1
- package/dist/gateway/static/root/assets/highlight-code-Cz6eeDH5.js +0 -1
- package/dist/gateway/static/root/assets/highlighted-body-KQOG7T2V-BiAa8HKC.js +0 -1
- package/dist/gateway/static/root/assets/home-page-Cd1BjYHj.js +0 -2
- package/dist/gateway/static/root/assets/image-generation-api-gBFro48x.js +0 -1
- package/dist/gateway/static/root/assets/imports-page-BZQpXgjj.js +0 -1
- package/dist/gateway/static/root/assets/index-Cy16gQST.css +0 -1
- package/dist/gateway/static/root/assets/index-DRyGCING.js +0 -710
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-CYunR34k.js +0 -1
- package/dist/gateway/static/root/assets/languages-byq_L2Ae.js +0 -2
- package/dist/gateway/static/root/assets/local-app-workbench-page-B_Ac1lly.js +0 -1
- package/dist/gateway/static/root/assets/local-apps-page-w-J5bY02.js +0 -1
- package/dist/gateway/static/root/assets/local-apps-yys1VChX.js +0 -1
- package/dist/gateway/static/root/assets/local-session-drafts-iGX_6O0O.js +0 -1
- package/dist/gateway/static/root/assets/logs-page-Dnjvvx2i.js +0 -2
- package/dist/gateway/static/root/assets/management-settings-w1EDwgLW.js +0 -1
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-DISkHmEC.js +0 -1
- package/dist/gateway/static/root/assets/note-detail-panel-CNkxMTFU.js +0 -5
- package/dist/gateway/static/root/assets/note-image-lightbox-D5GH2wuC.js +0 -1
- package/dist/gateway/static/root/assets/notes-page-DZgKqFBG.js +0 -8
- package/dist/gateway/static/root/assets/number-input-DDeqHK-G.js +0 -1
- package/dist/gateway/static/root/assets/page-context-capture-button-DusR2Itk.js +0 -1
- package/dist/gateway/static/root/assets/pdf-runtime-DU_sMPjG.js +0 -2
- package/dist/gateway/static/root/assets/personal-page-CR5JFkQ9.js +0 -1
- package/dist/gateway/static/root/assets/personal-proactivity-BJcZ3Yhi.js +0 -1
- package/dist/gateway/static/root/assets/personal-settings-panel-B7undvlr.js +0 -1
- package/dist/gateway/static/root/assets/phone-model-picker-fWDltRUJ.js +0 -1
- package/dist/gateway/static/root/assets/phone-settings-page-CsOirAiy.js +0 -1
- package/dist/gateway/static/root/assets/plugin-details-dialog-BOBVIB3j.js +0 -1
- package/dist/gateway/static/root/assets/popover-select-DGKUpVsz.js +0 -1
- package/dist/gateway/static/root/assets/preload-helper-zJ_50EbN.js +0 -1
- package/dist/gateway/static/root/assets/preview-open-alternatives-CMxjsKSw.js +0 -1
- package/dist/gateway/static/root/assets/product-delivery-BqNm-8S5.js +0 -1
- package/dist/gateway/static/root/assets/product-open-page-CrlyJx5M.js +0 -1
- package/dist/gateway/static/root/assets/product-preview-content-B-Jhzi7W.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-DoYUbtcI.js +0 -7
- package/dist/gateway/static/root/assets/projects-page-xGQd9oAZ.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-Gs0Xkws9.js +0 -1
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-Bwg7U7TR.js +0 -1
- package/dist/gateway/static/root/assets/schema-form-ByzTNR_C.js +0 -1
- package/dist/gateway/static/root/assets/schemas-CObaziC7.js +0 -64
- package/dist/gateway/static/root/assets/session-manager-B_h0jlLb.js +0 -16
- package/dist/gateway/static/root/assets/sessions-page-XzK1ftbR.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-D_8Mvnog.js +0 -1
- package/dist/gateway/static/root/assets/settings-form-section-Brgd8IOV.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-B6Mv02eg.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-header-BWyxJKOG.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-layout-DLHcS-0T.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-DSCj5yis.js +0 -1
- package/dist/gateway/static/root/assets/share-preview-page-DF8Of0aZ.js +0 -2
- package/dist/gateway/static/root/assets/shares-settings-DXNPe4Tl.js +0 -1
- package/dist/gateway/static/root/assets/skill-api-CKCDCHLq.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-BH0WF6Br.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-DFWMVRW4.js +0 -2
- package/dist/gateway/static/root/assets/specialists-4bkS5rZ4.js +0 -1
- package/dist/gateway/static/root/assets/system-settings-panel-DB-ttubV.js +0 -1
- package/dist/gateway/static/root/assets/task-detail-page-BJY7c8wb.js +0 -2
- package/dist/gateway/static/root/assets/task-result-evidence-B-vt1BgK.js +0 -1
- package/dist/gateway/static/root/assets/tasks-TVRjEggr.js +0 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-Dt51Z_ws.js +0 -1
- package/dist/gateway/static/root/assets/tunnel-api-Dok3t7Qe.js +0 -1
- package/dist/gateway/static/root/assets/usage-page-lJym5G7F.js +0 -1
- package/dist/gateway/static/root/assets/use-autosave-D4EMIB-V.js +0 -1
- package/dist/gateway/static/root/assets/user-model-page-BXdNkITp.js +0 -2
- package/dist/gateway/static/root/assets/voice-api-key-field-CO3KuanA.js +0 -1
- package/dist/gateway/static/root/assets/work-discovery-overlay-BJRtgQM3.js +0 -1
- package/dist/gateway/static/root/assets/xopc-cloud-account-card-CS-_GxHV.js +0 -1
|
@@ -5,10 +5,10 @@ import { parseTurnOutcome } from "../../../packages/gateway-contract/src/turn-ou
|
|
|
5
5
|
import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
6
6
|
import { findSessionInputByRunId, init_session_input_repository, listTaskUpdateTriggers } from "../../storage/sqlite/session-input-repository.js";
|
|
7
7
|
import { TaskRunRepository, init_task_run_repository } from "../../tasks/task-run-repository.js";
|
|
8
|
-
import {
|
|
8
|
+
import { isClarificationSuspended } from "../../storage/sqlite/clarification-wait-repository.js";
|
|
9
9
|
import { updateInteractionStateFromMessage } from "../../storage/sqlite/interaction-state-repository.js";
|
|
10
10
|
import { getConnectionResumeInput, init_connection_wait_repository, isConnectionSuspended } from "../../storage/sqlite/connection-wait-repository.js";
|
|
11
|
-
import
|
|
11
|
+
import "../../storage/sqlite/index.js";
|
|
12
12
|
import { getConversationRouting } from "../../storage/sqlite/conversation-repository.js";
|
|
13
13
|
import { init_session_key } from "../../routing/session-key.js";
|
|
14
14
|
import { resolveAgentTurnTimeoutMs } from "../../agent/orchestration/run-agent-turn-with-timeout.js";
|
|
@@ -28,12 +28,10 @@ import { describeActiveExecution } from "./active-execution.js";
|
|
|
28
28
|
import crypto from "crypto";
|
|
29
29
|
//#region src/gateway/service/run-gateway-agent.ts
|
|
30
30
|
init_connection_wait_repository();
|
|
31
|
-
init_clarification_wait_repository();
|
|
32
31
|
init_src();
|
|
33
32
|
init_logger();
|
|
34
33
|
init_session_key();
|
|
35
34
|
init_task_run_repository();
|
|
36
|
-
init_sqlite();
|
|
37
35
|
init_session_input_repository();
|
|
38
36
|
const log = createLogger("Gateway:Service");
|
|
39
37
|
/**
|
|
@@ -4,11 +4,11 @@ import { getSqliteDatabase, init_transaction, runSqliteWriteTransaction } from "
|
|
|
4
4
|
import { init_session_instance_repository, readCurrentTranscriptId } from "../../storage/sqlite/session-instance-repository.js";
|
|
5
5
|
import { SessionInstanceChangedError, cancelQueuedSessionInput, claimNextSessionInput, findSessionInput, findSessionInputByRunId, finishSessionInputRun, getSessionInputById, getSessionInputState, init_session_input_repository, insertSessionInput, mutateQueuedSessionInput, recoverSessionInputState, setSessionInputStatus } from "../../storage/sqlite/session-input-repository.js";
|
|
6
6
|
import { TaskRunRepository, init_task_run_repository } from "../../tasks/task-run-repository.js";
|
|
7
|
-
import { consumeClarificationResume, getActiveClarification,
|
|
7
|
+
import { consumeClarificationResume, getActiveClarification, supersedeActiveClarification } from "../../storage/sqlite/clarification-wait-repository.js";
|
|
8
8
|
import { replaceLatestSessionTurnAndQueueInput, validateLatestSessionTurnTarget } from "../../storage/sqlite/session-turn-replace-repository.js";
|
|
9
9
|
import { cancelConnectionObjective, consumeConnectionResume, getActiveConnectionWait, getConnectionWait, hasPendingConnectionMessages, init_connection_wait_repository, interruptedConnectionMessage, publishConnectionWait, reconcileConnectionWaits } from "../../storage/sqlite/connection-wait-repository.js";
|
|
10
|
-
import { appendTranscriptEntry
|
|
11
|
-
import
|
|
10
|
+
import { appendTranscriptEntry } from "../../storage/sqlite/transcript-repository.js";
|
|
11
|
+
import "../../storage/sqlite/index.js";
|
|
12
12
|
import { emitSessionTranscriptUpdate } from "../../session/transcript-events.js";
|
|
13
13
|
import { summarizeSourceContext } from "../../agent/source-context/types.js";
|
|
14
14
|
import { TaskApplicationService } from "../../tasks/task-application-service.js";
|
|
@@ -21,10 +21,7 @@ import { isDeepStrictEqual } from "node:util";
|
|
|
21
21
|
init_session_input_repository();
|
|
22
22
|
init_connection_wait_repository();
|
|
23
23
|
init_transaction();
|
|
24
|
-
init_transcript_repository();
|
|
25
24
|
init_session_instance_repository();
|
|
26
|
-
init_clarification_wait_repository();
|
|
27
|
-
init_sqlite();
|
|
28
25
|
init_logger();
|
|
29
26
|
init_task_run_repository();
|
|
30
27
|
const log = createLogger("SessionInputCoordinator");
|
|
@@ -7,19 +7,19 @@ import { createLogger } from "../utils/logger/index.js";
|
|
|
7
7
|
import { init_logger } from "../utils/logger.js";
|
|
8
8
|
import { closeXopcDatabase } from "../storage/sqlite/connection.js";
|
|
9
9
|
import { getSqliteDatabase, init_transaction } from "../storage/sqlite/transaction.js";
|
|
10
|
-
import { getBrowserTabBindingById
|
|
10
|
+
import { getBrowserTabBindingById } from "../storage/sqlite/browser-tab-binding-repository.js";
|
|
11
11
|
import { buckets } from "./rate-limit/buckets.js";
|
|
12
|
-
import {
|
|
12
|
+
import { resolveEffectiveGatewayPort } from "./host.js";
|
|
13
13
|
import { isGatewayStrictSecurityEnabled } from "./rate-limit/env-flags.js";
|
|
14
|
-
import
|
|
14
|
+
import "./rate-limit/index.js";
|
|
15
15
|
import { bumpSessionInputRevision, findSessionInput, init_session_input_repository, insertSessionInput } from "../storage/sqlite/session-input-repository.js";
|
|
16
16
|
import { TaskRepository } from "../tasks/task-repository.js";
|
|
17
17
|
import { TaskRunRepository, init_task_run_repository } from "../tasks/task-run-repository.js";
|
|
18
18
|
import { init_changes, notifyUserContextChange } from "../user-context/changes.js";
|
|
19
19
|
import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
|
|
20
20
|
import { init_session_repository, listSessionMetadata, patchSessionMetadata } from "../storage/sqlite/session-repository.js";
|
|
21
|
-
import { getSessionConfig
|
|
22
|
-
import
|
|
21
|
+
import { getSessionConfig } from "../storage/sqlite/config-repository.js";
|
|
22
|
+
import "../storage/sqlite/index.js";
|
|
23
23
|
import { init_agent_scope, listAgentEntries, resolveAgentWorkspaceDir, resolveDefaultAgentId } from "../agent/agent-scope.js";
|
|
24
24
|
import { init_paths, resolveConfigPath, resolveExtensionsDir } from "../config/paths.js";
|
|
25
25
|
import { init_config, resolveKnowledgeReadPolicy } from "../user-context/config.js";
|
|
@@ -83,10 +83,15 @@ import { bootstrapApplicationStateSync } from "../bootstrap/application-state.js
|
|
|
83
83
|
import { setPairingBroadcastSink } from "../channels/pairing/pairing-events.js";
|
|
84
84
|
import { registerClarificationChannelRuntime } from "./clarify-runtime.js";
|
|
85
85
|
import { ChannelManager } from "../channels/manager.js";
|
|
86
|
-
import { ChatPreviewService } from "../chat-previews/service.js";
|
|
87
|
-
import "../chat-previews/index.js";
|
|
88
86
|
import { configureGatewayHttpProxy } from "../infra/http-proxy-env.js";
|
|
89
87
|
import "../config/index.js";
|
|
88
|
+
import { ManagedComposioEventPoller } from "../connectors/composio-managed-events.js";
|
|
89
|
+
import { startConnectedKnowledgeCoordinator } from "../knowledge/coordinator.js";
|
|
90
|
+
import "../knowledge/index.js";
|
|
91
|
+
import { PersonalReplyComposer } from "../personal-agent/reply-composer.js";
|
|
92
|
+
import { ConnectionRecoveryService } from "../connectors/connection-recovery-service.js";
|
|
93
|
+
import { startConnectorLearningCoordinator } from "../connectors/learning-coordinator.js";
|
|
94
|
+
import { startConnectorSupervisor } from "../connectors/supervisor.js";
|
|
90
95
|
import { DiscussionService } from "../discussions/service.js";
|
|
91
96
|
import { DiscussionOrganizer } from "../discussions/organizer.js";
|
|
92
97
|
import { DiscussionLiveWorker } from "../discussions/live-worker.js";
|
|
@@ -95,13 +100,6 @@ import { DiscussionSealer } from "../discussions/sealer.js";
|
|
|
95
100
|
import "../discussions/index.js";
|
|
96
101
|
import { EndpointToolRuntime } from "../endpoint-tools/runtime.js";
|
|
97
102
|
import "../endpoint-tools/index.js";
|
|
98
|
-
import { ManagedComposioEventPoller } from "../connectors/composio-managed-events.js";
|
|
99
|
-
import { startConnectedKnowledgeCoordinator } from "../knowledge/coordinator.js";
|
|
100
|
-
import "../knowledge/index.js";
|
|
101
|
-
import { PersonalReplyComposer } from "../personal-agent/reply-composer.js";
|
|
102
|
-
import { ConnectionRecoveryService } from "../connectors/connection-recovery-service.js";
|
|
103
|
-
import { startConnectorLearningCoordinator } from "../connectors/learning-coordinator.js";
|
|
104
|
-
import { startConnectorSupervisor } from "../connectors/supervisor.js";
|
|
105
103
|
import { assertGatewayAuthConfigured, extractToken, resolveGatewayAuth, validateToken } from "./auth.js";
|
|
106
104
|
import { prepareAutomationAgentSession } from "./automation-agent-session.js";
|
|
107
105
|
import { stopTailscaleExposure } from "./tailscale-lifecycle.js";
|
|
@@ -135,6 +133,8 @@ import { getXopcCloudCatalogCoordinator } from "../providers/xopc-cloud-catalog-
|
|
|
135
133
|
import { ModelCatalogSyncService } from "../providers/model-catalog-sync-service.js";
|
|
136
134
|
import { NotificationService } from "../notifications/service.js";
|
|
137
135
|
import "../local-apps/index.js";
|
|
136
|
+
import { ChatPreviewService } from "../chat-previews/service.js";
|
|
137
|
+
import "../chat-previews/index.js";
|
|
138
138
|
import { TaskAllocationDispatcher } from "../tasks/task-allocation-service.js";
|
|
139
139
|
import { TaskResultDeliveryService } from "../tasks/task-result-delivery-service.js";
|
|
140
140
|
import { createRuntimeBrowserAutomationService } from "../browser/automations/runtime-service.js";
|
|
@@ -170,14 +170,10 @@ import crypto from "node:crypto";
|
|
|
170
170
|
//#region src/gateway/service.ts
|
|
171
171
|
init_session_repository();
|
|
172
172
|
init_agent_session_key();
|
|
173
|
-
init_browser_tab_binding_repository();
|
|
174
173
|
init_session_input_repository();
|
|
175
|
-
init_config_repository();
|
|
176
174
|
init_changes();
|
|
177
175
|
init_agent_scope();
|
|
178
176
|
init_schema();
|
|
179
|
-
init_host();
|
|
180
|
-
init_rate_limit();
|
|
181
177
|
init_providers();
|
|
182
178
|
init_logger();
|
|
183
179
|
init_log_stream();
|
|
@@ -186,7 +182,6 @@ init_package_version();
|
|
|
186
182
|
init_task_run_repository();
|
|
187
183
|
init_resolve_route();
|
|
188
184
|
init_session_key();
|
|
189
|
-
init_sqlite();
|
|
190
185
|
init_transaction();
|
|
191
186
|
init_config();
|
|
192
187
|
const log = createLogger("Gateway:Service");
|
|
@@ -312,6 +307,7 @@ var GatewayService = class {
|
|
|
312
307
|
_browserSetup;
|
|
313
308
|
get browserSetup() {
|
|
314
309
|
return this._browserSetup ??= new BrowserSetupService({
|
|
310
|
+
verificationOrigin: () => `http://127.0.0.1:${this.getEffectiveListenPort()}`,
|
|
315
311
|
getConfig: () => this.currentConfig,
|
|
316
312
|
saveConfig: (next, expected) => this.saveConfig(next, expected),
|
|
317
313
|
endpoints: this.endpointTools,
|
|
@@ -727,6 +723,7 @@ var GatewayService = class {
|
|
|
727
723
|
getBrowserAutomationService: () => this.browserAutomations,
|
|
728
724
|
getBrowserSetupService: () => this.browserSetup,
|
|
729
725
|
getPhoneSetupService: () => this.phoneSetup,
|
|
726
|
+
canConfigureEndpoint: (endpointId) => this.realtime.canConfigureEndpoint(endpointId),
|
|
730
727
|
emitBrowserEvent: (type, payload) => this.emit(type, payload),
|
|
731
728
|
getNotesService: () => this.notesService,
|
|
732
729
|
getProjectService: () => this.projects,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createLogger } from "../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
3
|
import { getSqliteDatabase, init_transaction } from "../storage/sqlite/transaction.js";
|
|
4
|
-
import { hasGatewayScope
|
|
4
|
+
import { hasGatewayScope } from "./security/gateway-scopes.js";
|
|
5
5
|
import { TaskRepository, init_task_repository } from "../tasks/task-repository.js";
|
|
6
6
|
import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
|
|
7
7
|
import { getCurrentTranscriptId, init_session_repository } from "../storage/sqlite/session-repository.js";
|
|
8
|
-
import { getSessionConfig
|
|
8
|
+
import { getSessionConfig } from "../storage/sqlite/config-repository.js";
|
|
9
9
|
import { runExec } from "../infra/exec.js";
|
|
10
10
|
import { getExecutionEnvironmentForSession } from "../execution-environments/subject.js";
|
|
11
11
|
import { effectiveWorkspacePathForSession } from "../session/session-workspace.js";
|
|
@@ -16,12 +16,10 @@ import { TaskCollaborationRepository } from "../tasks/task-collaboration-reposit
|
|
|
16
16
|
import { isSessionSourceBinding } from "../agent/source-context/types.js";
|
|
17
17
|
import { realpath, stat } from "node:fs/promises";
|
|
18
18
|
//#region src/gateway/session-context-summary.ts
|
|
19
|
-
init_config_repository();
|
|
20
19
|
init_session_repository();
|
|
21
20
|
init_transaction();
|
|
22
21
|
init_task_repository();
|
|
23
22
|
init_logger();
|
|
24
|
-
init_gateway_scopes();
|
|
25
23
|
const log = createLogger("SessionContextSummary");
|
|
26
24
|
const SOURCE_LIMIT = 20;
|
|
27
25
|
const RECENT_SOURCE_KINDS = new Set([
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isLoopbackHost } from "./host.js";
|
|
2
2
|
import { readTailscaleWhoisIdentity } from "../infra/tailscale.js";
|
|
3
3
|
//#region src/gateway/tailscale-auth.ts
|
|
4
|
-
init_host();
|
|
5
4
|
function parseTailscaleAuthHeaders(headers) {
|
|
6
5
|
return {
|
|
7
6
|
forwardedFor: headers["x-forwarded-for"]?.split(",")[0]?.trim(),
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isLoopbackHost } from "./host.js";
|
|
2
2
|
import net from "node:net";
|
|
3
3
|
//#region src/gateway/ws-security.ts
|
|
4
4
|
/**
|
|
5
5
|
* WebSocket / gateway URL transport security (OpenClaw-aligned).
|
|
6
6
|
*/
|
|
7
|
-
init_host();
|
|
8
7
|
function isPrivateOrLoopbackHost(hostname) {
|
|
9
8
|
const host = hostname.trim().toLowerCase();
|
|
10
9
|
if (isLoopbackHost(host)) return true;
|
|
@@ -1,86 +1,98 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { KeyedStore, init_keyed_store } from "./keyed-store.js";
|
|
1
|
+
import { KeyedStore } from "./keyed-store.js";
|
|
3
2
|
//#region src/infra/rate-limit/failure-limiter.ts
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Per-key brute-force protection limiter.
|
|
5
|
+
*
|
|
6
|
+
* Semantics:
|
|
7
|
+
* - `fail(key)` records a failed attempt; reaching `maxFailures` within
|
|
8
|
+
* `windowMs` triggers a `blockDurationMs` lockout.
|
|
9
|
+
* - `succeed(key)` clears all state for the key (a successful auth wipes the
|
|
10
|
+
* bucket so legitimate users aren't punished for prior typos).
|
|
11
|
+
* - `check(key)` is read-only — returns the current block status.
|
|
12
|
+
* - Failures from the same key within `burstCoalesceMs` collapse to a single
|
|
13
|
+
* attempt. This absorbs SPA fan-out / SDK auto-retry storms without
|
|
14
|
+
* weakening protection: a deliberate attacker is rate-limited to ~1
|
|
15
|
+
* attempt/s per key, still astronomically slow against any token of
|
|
16
|
+
* meaningful entropy.
|
|
17
|
+
*
|
|
18
|
+
* Pure counter — no policy knowledge (loopback exemption, key formatting,
|
|
19
|
+
* etc. all live in the policy layer that calls into this limiter).
|
|
20
|
+
*/
|
|
21
|
+
const DEFAULT_BURST_COALESCE_MS = 1e3;
|
|
22
|
+
var FailureLimiter = class {
|
|
23
|
+
store;
|
|
24
|
+
clock;
|
|
25
|
+
maxFailures;
|
|
26
|
+
windowMs;
|
|
27
|
+
blockDurationMs;
|
|
28
|
+
burstCoalesceMs;
|
|
29
|
+
constructor(cfg) {
|
|
30
|
+
this.maxFailures = Math.max(1, Math.floor(cfg.maxFailures));
|
|
31
|
+
this.windowMs = Math.max(1e3, Math.floor(cfg.windowMs));
|
|
32
|
+
this.blockDurationMs = Math.max(1e3, Math.floor(cfg.blockDurationMs));
|
|
33
|
+
this.burstCoalesceMs = Math.max(0, Math.floor(cfg.burstCoalesceMs ?? DEFAULT_BURST_COALESCE_MS));
|
|
34
|
+
this.clock = cfg.clock ?? Date.now;
|
|
35
|
+
this.store = new KeyedStore({
|
|
36
|
+
staleAfterMs: cfg.staleAfterMs ?? this.windowMs + this.blockDurationMs,
|
|
37
|
+
clock: this.clock
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
check(key) {
|
|
41
|
+
const now = this.clock();
|
|
42
|
+
const state = this.store.get(key);
|
|
43
|
+
if (!state?.blockedUntil) return { blocked: false };
|
|
44
|
+
if (now >= state.blockedUntil) {
|
|
45
|
+
state.blockedUntil = void 0;
|
|
46
|
+
state.count = 0;
|
|
47
|
+
state.windowStart = now;
|
|
48
|
+
state.lastTouchedMs = now;
|
|
49
|
+
return { blocked: false };
|
|
25
50
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
retryAfterSec: Math.max(1, Math.ceil((state.blockedUntil - now) / 1e3))
|
|
51
|
+
return {
|
|
52
|
+
blocked: true,
|
|
53
|
+
retryAfterSec: Math.max(1, Math.ceil((state.blockedUntil - now) / 1e3))
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
fail(key) {
|
|
57
|
+
const now = this.clock();
|
|
58
|
+
let state = this.store.get(key);
|
|
59
|
+
if (!state) {
|
|
60
|
+
state = {
|
|
61
|
+
windowStart: now,
|
|
62
|
+
count: 0,
|
|
63
|
+
lastTouchedMs: now
|
|
40
64
|
};
|
|
65
|
+
this.store.set(key, state);
|
|
41
66
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
count: 0,
|
|
49
|
-
lastTouchedMs: now
|
|
50
|
-
};
|
|
51
|
-
this.store.set(key, state);
|
|
52
|
-
}
|
|
53
|
-
state.lastTouchedMs = now;
|
|
54
|
-
if (state.blockedUntil && now < state.blockedUntil) return;
|
|
55
|
-
if (state.blockedUntil && now >= state.blockedUntil) {
|
|
56
|
-
state.blockedUntil = void 0;
|
|
57
|
-
state.count = 0;
|
|
58
|
-
state.windowStart = now;
|
|
59
|
-
}
|
|
60
|
-
if (now - state.windowStart > this.windowMs) {
|
|
61
|
-
state.count = 0;
|
|
62
|
-
state.windowStart = now;
|
|
63
|
-
}
|
|
64
|
-
if (state.lastFailureAtMs !== void 0 && now - state.lastFailureAtMs < this.burstCoalesceMs) {
|
|
65
|
-
state.lastFailureAtMs = now;
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
state.lastFailureAtMs = now;
|
|
69
|
-
state.count += 1;
|
|
70
|
-
if (state.count >= this.maxFailures) state.blockedUntil = now + this.blockDurationMs;
|
|
67
|
+
state.lastTouchedMs = now;
|
|
68
|
+
if (state.blockedUntil && now < state.blockedUntil) return;
|
|
69
|
+
if (state.blockedUntil && now >= state.blockedUntil) {
|
|
70
|
+
state.blockedUntil = void 0;
|
|
71
|
+
state.count = 0;
|
|
72
|
+
state.windowStart = now;
|
|
71
73
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
if (now - state.windowStart > this.windowMs) {
|
|
75
|
+
state.count = 0;
|
|
76
|
+
state.windowStart = now;
|
|
74
77
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
destroy() {
|
|
80
|
-
this.store.destroy();
|
|
78
|
+
if (state.lastFailureAtMs !== void 0 && now - state.lastFailureAtMs < this.burstCoalesceMs) {
|
|
79
|
+
state.lastFailureAtMs = now;
|
|
80
|
+
return;
|
|
81
81
|
}
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
state.lastFailureAtMs = now;
|
|
83
|
+
state.count += 1;
|
|
84
|
+
if (state.count >= this.maxFailures) state.blockedUntil = now + this.blockDurationMs;
|
|
85
|
+
}
|
|
86
|
+
succeed(key) {
|
|
87
|
+
this.store.delete(key);
|
|
88
|
+
}
|
|
89
|
+
/** @internal Test hook. */
|
|
90
|
+
resetForTests() {
|
|
91
|
+
this.store.clear();
|
|
92
|
+
}
|
|
93
|
+
destroy() {
|
|
94
|
+
this.store.destroy();
|
|
95
|
+
}
|
|
96
|
+
};
|
|
84
97
|
//#endregion
|
|
85
|
-
|
|
86
|
-
export { FailureLimiter, init_failure_limiter };
|
|
98
|
+
export { FailureLimiter };
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
//#region src/infra/rate-limit/index.ts
|
|
5
|
-
var init_rate_limit = __esmMin((() => {
|
|
6
|
-
init_rate_limiter();
|
|
7
|
-
init_failure_limiter();
|
|
8
|
-
}));
|
|
9
|
-
//#endregion
|
|
10
|
-
init_rate_limit();
|
|
11
|
-
export { FailureLimiter, RateLimiter, init_rate_limit };
|
|
1
|
+
import { RateLimiter } from "./rate-limiter.js";
|
|
2
|
+
import { FailureLimiter } from "./failure-limiter.js";
|
|
3
|
+
export { FailureLimiter, RateLimiter };
|
|
@@ -1,54 +1,49 @@
|
|
|
1
|
-
import { __esmMin } from "../../../_virtual/_rolldown/runtime.js";
|
|
2
1
|
//#region src/infra/rate-limit/keyed-store.ts
|
|
3
|
-
var KeyedStore
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
}));
|
|
2
|
+
var KeyedStore = class {
|
|
3
|
+
map = /* @__PURE__ */ new Map();
|
|
4
|
+
maxEntries;
|
|
5
|
+
overflow;
|
|
6
|
+
clock;
|
|
7
|
+
staleAfterMs;
|
|
8
|
+
cleanupTimer;
|
|
9
|
+
constructor(opts) {
|
|
10
|
+
this.maxEntries = Math.max(1, opts.maxEntries ?? 1e4);
|
|
11
|
+
this.clock = opts.clock ?? Date.now;
|
|
12
|
+
this.staleAfterMs = Math.max(1e3, opts.staleAfterMs);
|
|
13
|
+
const interval = Math.min(600 * 1e3, Math.max(1e3, opts.cleanupIntervalMs ?? Math.floor(this.staleAfterMs / 4)));
|
|
14
|
+
this.cleanupTimer = setInterval(() => this.sweep(), interval);
|
|
15
|
+
this.cleanupTimer.unref?.();
|
|
16
|
+
}
|
|
17
|
+
get(key) {
|
|
18
|
+
return this.map.get(key) ?? (this.map.size >= this.maxEntries ? this.overflow : void 0);
|
|
19
|
+
}
|
|
20
|
+
set(key, value) {
|
|
21
|
+
if (this.map.has(key) || this.map.size < this.maxEntries) this.map.set(key, value);
|
|
22
|
+
else this.overflow ??= value;
|
|
23
|
+
}
|
|
24
|
+
delete(key) {
|
|
25
|
+
this.map.delete(key);
|
|
26
|
+
}
|
|
27
|
+
size() {
|
|
28
|
+
return this.map.size;
|
|
29
|
+
}
|
|
30
|
+
clear() {
|
|
31
|
+
this.map.clear();
|
|
32
|
+
this.overflow = void 0;
|
|
33
|
+
}
|
|
34
|
+
destroy() {
|
|
35
|
+
if (this.cleanupTimer) {
|
|
36
|
+
clearInterval(this.cleanupTimer);
|
|
37
|
+
this.cleanupTimer = void 0;
|
|
38
|
+
}
|
|
39
|
+
this.map.clear();
|
|
40
|
+
this.overflow = void 0;
|
|
41
|
+
}
|
|
42
|
+
sweep() {
|
|
43
|
+
const now = this.clock();
|
|
44
|
+
if (this.overflow && now - this.overflow.lastTouchedMs > this.staleAfterMs) this.overflow = void 0;
|
|
45
|
+
for (const [k, v] of this.map.entries()) if (now - v.lastTouchedMs > this.staleAfterMs) this.map.delete(k);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
52
48
|
//#endregion
|
|
53
|
-
|
|
54
|
-
export { KeyedStore, init_keyed_store };
|
|
49
|
+
export { KeyedStore };
|
|
@@ -1,60 +1,63 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { KeyedStore, init_keyed_store } from "./keyed-store.js";
|
|
1
|
+
import { KeyedStore } from "./keyed-store.js";
|
|
3
2
|
//#region src/infra/rate-limit/rate-limiter.ts
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
state.lastTouchedMs = now;
|
|
37
|
-
if (state.count >= this.maxRequests) return {
|
|
38
|
-
allowed: false,
|
|
39
|
-
remaining: 0,
|
|
40
|
-
retryAfterMs: Math.max(0, state.windowStart + this.windowMs - now)
|
|
41
|
-
};
|
|
42
|
-
state.count += 1;
|
|
43
|
-
return {
|
|
44
|
-
allowed: true,
|
|
45
|
-
remaining: this.maxRequests - state.count,
|
|
46
|
-
retryAfterMs: 0
|
|
3
|
+
/**
|
|
4
|
+
* Per-key fixed-window request-rate limiter. Every `consume()` counts toward
|
|
5
|
+
* the limit; once the window's count hits `maxRequests`, subsequent consumes
|
|
6
|
+
* return `allowed: false` until the window rolls over.
|
|
7
|
+
*
|
|
8
|
+
* Use this for *throughput* limiting (e.g. "15 req/min on /admin"). For
|
|
9
|
+
* *failure-rate* limiting with lockout (e.g. brute-force protection), use
|
|
10
|
+
* {@link FailureLimiter} instead.
|
|
11
|
+
*/
|
|
12
|
+
var RateLimiter = class {
|
|
13
|
+
store;
|
|
14
|
+
clock;
|
|
15
|
+
maxRequests;
|
|
16
|
+
windowMs;
|
|
17
|
+
constructor(cfg) {
|
|
18
|
+
this.maxRequests = Math.max(1, Math.floor(cfg.maxRequests));
|
|
19
|
+
this.windowMs = Math.max(1, Math.floor(cfg.windowMs));
|
|
20
|
+
this.clock = cfg.clock ?? Date.now;
|
|
21
|
+
this.store = new KeyedStore({
|
|
22
|
+
staleAfterMs: cfg.staleAfterMs ?? this.windowMs * 4,
|
|
23
|
+
clock: this.clock
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
consume(key) {
|
|
27
|
+
const now = this.clock();
|
|
28
|
+
let state = this.store.get(key);
|
|
29
|
+
if (!state) {
|
|
30
|
+
state = {
|
|
31
|
+
windowStart: now,
|
|
32
|
+
count: 0,
|
|
33
|
+
lastTouchedMs: now
|
|
47
34
|
};
|
|
35
|
+
this.store.set(key, state);
|
|
48
36
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
destroy() {
|
|
54
|
-
this.store.destroy();
|
|
37
|
+
if (now - state.windowStart >= this.windowMs) {
|
|
38
|
+
state.windowStart = now;
|
|
39
|
+
state.count = 0;
|
|
55
40
|
}
|
|
56
|
-
|
|
57
|
-
|
|
41
|
+
state.lastTouchedMs = now;
|
|
42
|
+
if (state.count >= this.maxRequests) return {
|
|
43
|
+
allowed: false,
|
|
44
|
+
remaining: 0,
|
|
45
|
+
retryAfterMs: Math.max(0, state.windowStart + this.windowMs - now)
|
|
46
|
+
};
|
|
47
|
+
state.count += 1;
|
|
48
|
+
return {
|
|
49
|
+
allowed: true,
|
|
50
|
+
remaining: this.maxRequests - state.count,
|
|
51
|
+
retryAfterMs: 0
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/** @internal Test hook. */
|
|
55
|
+
resetForTests() {
|
|
56
|
+
this.store.clear();
|
|
57
|
+
}
|
|
58
|
+
destroy() {
|
|
59
|
+
this.store.destroy();
|
|
60
|
+
}
|
|
61
|
+
};
|
|
58
62
|
//#endregion
|
|
59
|
-
|
|
60
|
-
export { RateLimiter, init_rate_limiter };
|
|
63
|
+
export { RateLimiter };
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { createLogger } from "../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
|
-
import { SERVICE_VERSION_ENV_KEY, formatGatewayServiceDescription
|
|
3
|
+
import { SERVICE_VERSION_ENV_KEY, formatGatewayServiceDescription } from "../daemon/constants.js";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import fs from "node:fs/promises";
|
|
6
6
|
//#region src/infra/update-service-refresh.ts
|
|
7
|
-
init_constants();
|
|
8
7
|
init_logger();
|
|
9
8
|
const log = createLogger("UpdateServiceRefresh");
|
|
10
9
|
function resolveBinPath(bin) {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import { createHash } from "node:crypto";
|
|
3
2
|
//#region src/knowledge/chunks.ts
|
|
4
3
|
/** Index the retained source text; source deletion removes chunks through the FK. */
|
|
@@ -22,7 +21,5 @@ function replaceKnowledgeChunks(db, item) {
|
|
|
22
21
|
offset = end - 150;
|
|
23
22
|
}
|
|
24
23
|
}
|
|
25
|
-
var init_chunks = __esmMin((() => {}));
|
|
26
24
|
//#endregion
|
|
27
|
-
|
|
28
|
-
export { init_chunks, replaceKnowledgeChunks };
|
|
25
|
+
export { replaceKnowledgeChunks };
|