@xopcai/xopc 0.0.427 → 0.0.430
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/feishu/src/adapters/cli-login.js +3 -3
- package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
- package/dist/extensions/telegram/src/inbound-processor.js +2 -2
- package/dist/extensions/telegram/src/outbound-sender.js +1 -1
- package/dist/extensions/telegram/src/plugin.js +2 -2
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/extensions/weixin/src/api/api.js +2 -2
- package/dist/extensions/weixin/src/auth/accounts.js +12 -12
- package/dist/extensions/weixin/src/messaging/debug-mode.js +5 -5
- package/dist/extensions/weixin/src/messaging/inbound.js +11 -11
- package/dist/gateway/static/root/assets/{activity-store-D_DXNHba.js → activity-store-WqnVruhY.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-CjaQxFQt.js → agent-avatar-dicebear-CSiO9c2F.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-display-6Z4m31Fz.js → agent-avatar-display-D-yds6wG.js} +2 -2
- package/dist/gateway/static/root/assets/{agent-defaults-settings-panel-D4ClP_DJ.js → agent-defaults-settings-panel-_UT9C7bg.js} +1 -1
- package/dist/gateway/static/root/assets/agent-plugin-dialog-DVzYXsAy.js +1 -0
- package/dist/gateway/static/root/assets/{agents-B9slUA_1.js → agents-Ds7K3D7T.js} +3 -3
- package/dist/gateway/static/root/assets/{agents-admin-api-u5c3GREg.js → agents-admin-api-Bgv4lJ9Y.js} +1 -1
- package/dist/gateway/static/root/assets/{api-C3Tp9MkF.js → api-C-9J9ghT.js} +1 -1
- package/dist/gateway/static/root/assets/{api-CRT9ZyH0.js → api-Dv6Cn-Rs.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-XqoIBF2H.js → app-management-settings-panel-BXJrrjH5.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-9ZtqCASo.js → appearance-settings-oYjAVulT.js} +1 -1
- package/dist/gateway/static/root/assets/{apps-page-DUeu_7iC.js → apps-page-D95yzj-f.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-BCQnOkV8.js → archive-plugin-DBPu3xCJ.js} +1 -1
- package/dist/gateway/static/root/assets/automation-api-DAou8Kji.js +1 -0
- package/dist/gateway/static/root/assets/{automation-result-state-CMfVTv_i.js → automation-result-state-CA7LV098.js} +1 -1
- package/dist/gateway/static/root/assets/automation-task-card-DIjI_Y1X.js +3 -0
- package/dist/gateway/static/root/assets/{automations-page-DMIyWsP0.js → automations-page-BQwSCkmd.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-BUFTTjBq.js +9 -0
- package/dist/gateway/static/root/assets/{binary-plugins-CIB5cbvQ.js → binary-plugins-D25P9ZxQ.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-CXdlNAmZ.js → block-editor-BI105p1U.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-automation-inputs-Fxo7HbK6.js → browser-automation-inputs-DhDRvWQE.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-automations-page-Dn3LN5wo.js → browser-automations-page-CCPi1Bvy.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-control-api-CbbPvhHR.js → browser-control-api-BN4F-bM1.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-settings-page-Cpm9fEPV.js → browser-settings-page-BZXUZpjp.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-BEvywfF9.js → capabilities-LC-yEQYo.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-page-BCzsIzvC.js → capabilities-page-B8UgQ4dD.js} +2 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-Bxn8HtEO.js +8 -0
- package/dist/gateway/static/root/assets/capabilities-u2z_KFRt.js +1 -0
- package/dist/gateway/static/root/assets/{channels-CA5z5dGY.js → channels-9Uaa-IN0.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-agents-api-D8YS5amE.js → chat-agents-api-Cffxfzi1.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-chart-block-B39npsXj.js → chat-chart-block-Bbk0b3TV.js} +1 -1
- package/dist/gateway/static/root/assets/chat-page-e-xCsrdS.js +72 -0
- package/dist/gateway/static/root/assets/{chat-terminal-dock-DjFnElAM.js → chat-terminal-dock-CQMuG-Bz.js} +1 -1
- package/dist/gateway/static/root/assets/{command-palette-api-Dijix7V6.js → command-palette-api-BRxfFgGA.js} +1 -1
- package/dist/gateway/static/root/assets/composer-payload-handoff-_9L2A5AZ.js +1 -0
- package/dist/gateway/static/root/assets/{computer-settings-page-MkqyKyf3.js → computer-settings-page-BIHbjBVt.js} +1 -1
- package/dist/gateway/static/root/assets/{connected-providers-grid-BSvKP2u-.js → connected-providers-grid-B7ktDgqt.js} +1 -1
- package/dist/gateway/static/root/assets/{connector-service-page-DlIl9bLx.js → connector-service-page-BVMEg8n-.js} +1 -1
- package/dist/gateway/static/root/assets/{connectors-api-DEJU8mgn.js → connectors-api-B07yoCzk.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-hPKaJUWY.js +1 -0
- package/dist/gateway/static/root/assets/{date-picker-BIfjfOTM.js → date-picker-BvEnSGZK.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-DFNehTtd.js → desktop-pet-C1z9YDEg.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-BDjsFown.js → desktop-pet-settings-CbbVb8GY.js} +1 -1
- package/dist/gateway/static/root/assets/{dev-view-store-CeZZLOc6.js → dev-view-store-38EmUIEC.js} +1 -1
- package/dist/gateway/static/root/assets/{device-pairing-wizard-DH_uJ698.js → device-pairing-wizard-Wb1EKiXA.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-DiZXY7jF.js → directory-picker-path-field-BvKDrKc4.js} +1 -1
- package/dist/gateway/static/root/assets/{discussion-annotation-sync-BXqNuZnx.js → discussion-annotation-sync-BfVzIwe2.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-myQqsol2.js → extension-debug-page-CB9Lu3Sq.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-iframe-host-DaL-OcTw.js → extension-iframe-host-BzjrVAUR.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-marketplace-api-DRBszrCR.js → extension-marketplace-api-DigziAgd.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-DvlGhZLa.js → extension-page-DUa9MeaZ.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-provider-fOi6V6Cr.js → extension-provider-301x0rh-.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-DOGlQpkx.js → extension-settings-page-CP9ciZUI.js} +1 -1
- package/dist/gateway/static/root/assets/{file-preview-surface-DfkXvFnc.js → file-preview-surface-BaMGmCbw.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-swr-BOCt_zOo.js → gateway-config-swr-BD4Bf8uu.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-BL_Cf0OQ.js → gateway-realtime-CSd9VB7Z.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-Bxkv62qs.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-restart-CHf8qY7H.js → gateway-restart-CIUCTKYR.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-Di41peSM.js → gateway-settings-CCqF1uZv.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-CvkJYurV.js → gateway-startup-retry-BsU5k8oi.js} +1 -1
- package/dist/gateway/static/root/assets/{global-defaults-api-BWMbKu72.js → global-defaults-api-asOZQeM8.js} +1 -1
- package/dist/gateway/static/root/assets/home-page-Bb_RC1O9.js +2 -0
- package/dist/gateway/static/root/assets/{image-generation-api-Ce-IY7Ug.js → image-generation-api-CdwYgzhU.js} +1 -1
- package/dist/gateway/static/root/assets/{imports-page-W7_cDbxy.js → imports-page-CVnoGUyp.js} +1 -1
- package/dist/gateway/static/root/assets/index-C5BhE5cA.js +11 -0
- package/dist/gateway/static/root/assets/index-Cz-VjTNd.css +1 -0
- package/dist/gateway/static/root/assets/{install-connector-dialog-DWVl9ekV.js → install-connector-dialog-DXVOHMhS.js} +1 -1
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-Doyu0Q9e.js → keyboard-shortcuts-settings-BCl90SrD.js} +1 -1
- package/dist/gateway/static/root/assets/{local-app-workbench-page-B3h3P6aI.js → local-app-workbench-page-CcJc9xLJ.js} +1 -1
- package/dist/gateway/static/root/assets/{local-apps-page-D6D2bZGW.js → local-apps-page-CdAKoWfg.js} +1 -1
- package/dist/gateway/static/root/assets/{local-session-drafts-BJ1B1dQ7.js → local-session-drafts-nRGeybku.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-Br7IfbXK.js → locale-store-B7y-RVe8.js} +1 -1
- package/dist/gateway/static/root/assets/{logs-page-qiXos_12.js → logs-page-McbSQwJI.js} +1 -1
- package/dist/gateway/static/root/assets/{management-settings-C0WcSdK7.js → management-settings-BIR0BwNV.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-view-Ck5s16p9.js → markdown-view-DFHa8rUg.js} +1 -1
- package/dist/gateway/static/root/assets/mcp-conversation-setup-page-Dwx4TuIr.js +1 -0
- package/dist/gateway/static/root/assets/{media-plugins-Ba6vUE4J.js → media-plugins-BzzLV7wW.js} +1 -1
- package/dist/gateway/static/root/assets/messages-DYDkJvXj.js +3 -0
- package/dist/gateway/static/root/assets/model-selector-YsCHu1Gn.js +1 -0
- package/dist/gateway/static/root/assets/{models-hub-cache-Bd-fYUrV.js → models-hub-cache-BUapaPTN.js} +1 -1
- package/dist/gateway/static/root/assets/new-chat-navigation-B6NPQ4h4.js +1 -0
- package/dist/gateway/static/root/assets/{note-detail-panel-CnuxqWMd.js → note-detail-panel-CJ-dPovd.js} +3 -3
- package/dist/gateway/static/root/assets/note-image-lightbox-ClPkeHe5.js +1 -0
- package/dist/gateway/static/root/assets/{notes-api-8kp0X1x6.js → notes-api-ulup1oFS.js} +1 -1
- package/dist/gateway/static/root/assets/{notes-page-XMdy-H3H.js → notes-page-BaFNplIr.js} +1 -1
- package/dist/gateway/static/root/assets/{oauth-api-DMMdeaNd.js → oauth-api-DINa08-z.js} +1 -1
- package/dist/gateway/static/root/assets/{oauth-provider-connect-CfOK8mPM.js → oauth-provider-connect-C0PVEHC2.js} +1 -1
- package/dist/gateway/static/root/assets/{page-context-capture-button-CKlKWSJ7.js → page-context-capture-button-CGfR0dsc.js} +1 -1
- package/dist/gateway/static/root/assets/{page-context-draft-LF33STHC.js → page-context-draft-DhRNxc0v.js} +1 -1
- package/dist/gateway/static/root/assets/page-header-store-CoKMiYoi.js +1 -0
- package/dist/gateway/static/root/assets/{personal-avatar-D6CzIIfo.js → personal-avatar-DiVFO2Aw.js} +1 -1
- package/dist/gateway/static/root/assets/{personal-page-CIMMSI25.js → personal-page-Cvd-v9kT.js} +1 -1
- package/dist/gateway/static/root/assets/{personal-settings-panel-wKdlrfPq.js → personal-settings-panel-Ds4ntiqu.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-dependencies-card-CDhk5277.js → phone-dependencies-card-B3R6L5Qu.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-model-connection-DZ-ZunPz.js → phone-model-connection-BieYnAJ5.js} +1 -1
- package/dist/gateway/static/root/assets/phone-model-picker-Bkex4Sre.js +1 -0
- package/dist/gateway/static/root/assets/{phone-settings-page-0u0GQl_R.js → phone-settings-page-D8PuvEuJ.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-workspace-store-SN7hfddU.js → phone-workspace-store-Cmes9gQ4.js} +1 -1
- package/dist/gateway/static/root/assets/{plugin-details-dialog-Bfc-Wmrd.js → plugin-details-dialog-DblFhnuC.js} +1 -1
- package/dist/gateway/static/root/assets/{preference-select-fields-BKeHZLXZ.js → preference-select-fields-D2-QfMN5.js} +1 -1
- package/dist/gateway/static/root/assets/{product-automation-feedback-BPur0vyo.js → product-automation-feedback-BzY3z8zu.js} +1 -1
- package/dist/gateway/static/root/assets/{product-open-page-Bfd7R483.js → product-open-page-BKw6H0Mn.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-content-Bnq68oVw.js → product-preview-content-VcvxaO2S.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-modal-BPmTeweh.js → product-preview-modal-Ym6bomTW.js} +2 -2
- package/dist/gateway/static/root/assets/project-detail-page-CFbXWvcd.js +7 -0
- package/dist/gateway/static/root/assets/{project-understanding-DLvxAoTT.js → project-understanding-CrSkrJnM.js} +1 -1
- package/dist/gateway/static/root/assets/{projects-page-BGy1pw9a.js → projects-page-Cp91_KzA.js} +1 -1
- package/dist/gateway/static/root/assets/{providers-api-DOnNfkwQ.js → providers-api-CBSC3jdu.js} +1 -1
- package/dist/gateway/static/root/assets/{recording-upload-CHFJbqW1.js → recording-upload-DBHAGKZj.js} +1 -1
- package/dist/gateway/static/root/assets/{registry-api-DFDvOTg4.js → registry-api-QZEjziDq.js} +1 -1
- package/dist/gateway/static/root/assets/{remote-access-hub-BVqwnOqO.js → remote-access-hub-BdXxFQfH.js} +1 -1
- package/dist/gateway/static/root/assets/{resource-unavailable-TQcRCpAg.js → resource-unavailable-BTNhcOHF.js} +1 -1
- package/dist/gateway/static/root/assets/route-preload-C-VRKwB1.js +2 -0
- package/dist/gateway/static/root/assets/{runtime-tools-api-9o3Wfji1.js → runtime-tools-api-BDTUD8Rj.js} +1 -1
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-ccVBG-bZ.js → runtime-tools-settings-panel-CYEzIrDf.js} +1 -1
- package/dist/gateway/static/root/assets/{service-recommendation-list-CNghOavt.js → service-recommendation-list-CfeYH6lK.js} +1 -1
- package/dist/gateway/static/root/assets/{session-api-Bs3r_d2_.js → session-api-DVXLCZX2.js} +1 -1
- package/dist/gateway/static/root/assets/{session-manager-Bnq3qpqy.js → session-manager-DjRWxXJG.js} +1 -1
- package/dist/gateway/static/root/assets/{sessions-page-CyBj1Xw2.js → sessions-page-C2CH-55n.js} +1 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-BMHe9uwy.js +1 -0
- package/dist/gateway/static/root/assets/{settings-advanced-section-DwpPPxT0.js → settings-advanced-section-BmrbHgQa.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-mode-store-CiRpsdTJ.js → settings-mode-store-Bk_hzwPK.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-Cd8Ermnn.js → settings-page-B6vrcc6f.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-header-BZl4AMiN.js → settings-page-header-BLKI3_9N.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-layout-onhEgq-K.js → settings-page-layout-BqBVrkC9.js} +1 -1
- package/dist/gateway/static/root/assets/{setup-interaction-page-Cvvj6JyV.js → setup-interaction-page-BDPte58u.js} +1 -1
- package/dist/gateway/static/root/assets/{setup-status-panel-D4qgE7QM.js → setup-status-panel-DEefuWo3.js} +1 -1
- package/dist/gateway/static/root/assets/{share-link-dialog-DA0QuFOD.js → share-link-dialog-C2LyeNzj.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-YDpIY4dC.js → share-preview-page-BFwEr7Ws.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-api-D8Q-m46d.js → shares-api-CTFkLQxq.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-settings-DUvjOMmA.js → shares-settings-CpK3yhtc.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-api-uKU4sRiv.js → skill-api-DpicfA6o.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-list-api-BzKzG-xG.js → skill-list-api-B8fegRLZ.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-reload-api-DkUXekcd.js → skill-reload-api-VmC8ySUy.js} +1 -1
- package/dist/gateway/static/root/assets/{skills-page-ClyNSh-7.js → skills-page-BIWXS6Ki.js} +1 -1
- package/dist/gateway/static/root/assets/{system-settings-panel-BN6sUX0H.js → system-settings-panel-BmoA92oX.js} +1 -1
- package/dist/gateway/static/root/assets/task-detail-page-CC3Rzqq9.js +3 -0
- package/dist/gateway/static/root/assets/{task-result-evidence-DKygspo2.js → task-result-evidence-BV-6hBVU.js} +1 -1
- package/dist/gateway/static/root/assets/{terminal-panel-store-DJVC7HqA.js → terminal-panel-store-BGdKE9hU.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-Dlnmgryi.js → theme-store-Dvv79Wb2.js} +1 -1
- package/dist/gateway/static/root/assets/{tracing-settings-page-Bs76WeoF.js → tracing-settings-page-B4uA4Pnz.js} +1 -1
- package/dist/gateway/static/root/assets/{tunnel-api-B7nx0NQJ.js → tunnel-api-BurZtvqx.js} +1 -1
- package/dist/gateway/static/root/assets/{understanding-activity-store-C4bblRnQ.js → understanding-activity-store-C1cLL8zq.js} +1 -1
- package/dist/gateway/static/root/assets/{understanding-refresh-store-BvCj9-Ue.js → understanding-refresh-store-C3Lr_pjY.js} +1 -1
- package/dist/gateway/static/root/assets/{usage-page-anU5gslJ.js → usage-page-C91ZzLm9.js} +1 -1
- package/dist/gateway/static/root/assets/{use-autosave-YHxQ-UZg.js → use-autosave-zkzRuUtx.js} +1 -1
- package/dist/gateway/static/root/assets/{use-composer-attachments-DYY3Yz4a.js → use-composer-attachments-CoiQAgjo.js} +1 -1
- package/dist/gateway/static/root/assets/{use-file-preview-expanded-CYgWzDnv.js → use-file-preview-expanded-DFzy6iVy.js} +2 -2
- package/dist/gateway/static/root/assets/{use-personal-profile-D2Un8G1L.js → use-personal-profile-BB10h9ED.js} +1 -1
- package/dist/gateway/static/root/assets/{use-workspace-tree-Dkg9tUr4.js → use-workspace-tree-sF5DcONt.js} +1 -1
- package/dist/gateway/static/root/assets/user-model-page-WFnD5utO.js +2 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-BUes-Jlp.js → voice-api-key-field-Bqa4PeZx.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-CrULrSKC.js → voice-config-api-LNO2xXHk.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-input-shortcut-events-DFMNIyy4.js → voice-input-shortcut-events-AzfhxBX7.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-transcribe-api-Dy4hfftb.js → voice-transcribe-api-Cb8i6dLb.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-CFF4cRFl.js → work-discovery-overlay-CdQUiV-a.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-page-BnYaVH3V.js → work-discovery-page-HcUloXxf.js} +1 -1
- package/dist/gateway/static/root/assets/{working-directory-picker-modal-GFwVefVA.js → working-directory-picker-modal-Dv1HUipe.js} +1 -1
- package/dist/gateway/static/root/assets/{workspace-api-BdB4NEOh.js → workspace-api-Am2ee4R6.js} +2 -2
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-CqHcVFhS.js +1 -0
- package/dist/gateway/static/root/assets/{workspace-file-preview-dialog-NRL3YRjg.js → workspace-file-preview-dialog-z5Q00v92.js} +1 -1
- package/dist/gateway/static/root/assets/{workspace-open-location-menu-Dcij7wvJ.js → workspace-open-location-menu-4ONYaGy0.js} +1 -1
- package/dist/gateway/static/root/assets/xopc-cloud-account-card-DimGN59n.js +1 -0
- package/dist/gateway/static/root/index.html +80 -80
- package/dist/package.js +1 -1
- package/dist/packages/gateway-contract/src/automations.js +1 -0
- package/dist/packages/gateway-contract/src/capabilities.js +6 -2
- package/dist/packages/gateway-contract/src/home.js +12 -2
- package/dist/src/agent/agent-manager.js +18 -18
- package/dist/src/agent/agent-scope.js +2 -2
- package/dist/src/agent/background-review/prompts.js +12 -7
- package/dist/src/agent/background-review/run-background-review.js +24 -15
- package/dist/src/agent/child-agent-factory.js +2 -2
- package/dist/src/agent/coding/run-verification.d.ts +1 -0
- package/dist/src/agent/coding/run-verification.js +1 -1
- package/dist/src/agent/context/coordinator.js +2 -2
- package/dist/src/agent/context/execution-context.js +7 -5
- package/dist/src/agent/context/project-context.js +3 -3
- package/dist/src/agent/data-acquisition/service.js +1 -1
- package/dist/src/agent/embedded/codemode-extension.js +1 -1
- package/dist/src/agent/embedded/configuration-capability-correction.js +1 -1
- package/dist/src/agent/embedded/execution-tool-policy.js +1 -1
- package/dist/src/agent/embedded/external-tool-discovery.js +1 -1
- package/dist/src/agent/embedded/run-for-session.js +6 -6
- package/dist/src/agent/embedded/run-turn.js +42 -23
- package/dist/src/agent/embedded/session-runner.js +8 -4
- package/dist/src/agent/embedded/session-tool-result-guard.js +1 -1
- package/dist/src/agent/embedded/xopc-tools-bridge.js +1 -1
- package/dist/src/agent/external-tools/cliProvider.js +4 -4
- package/dist/src/agent/external-tools/composio-provider.js +4 -4
- package/dist/src/agent/external-tools/endpoint-provider.js +6 -6
- package/dist/src/agent/external-tools/extension-provider.js +1 -1
- package/dist/src/agent/external-tools/gateway-tools.js +3 -3
- package/dist/src/agent/external-tools/memory-provider.js +1 -1
- package/dist/src/agent/image/generation/openai-images-provider.js +1 -1
- package/dist/src/agent/image/generation/runtime.js +1 -1
- package/dist/src/agent/image/index.js +1 -1
- package/dist/src/agent/inbound/attachment-pipeline.js +2 -2
- package/dist/src/agent/inbound/inbound-loop.js +2 -2
- package/dist/src/agent/independent-execution.js +2 -2
- package/dist/src/agent/index.js +3 -3
- package/dist/src/agent/mcp/connection-drafts.d.ts +2 -1
- package/dist/src/agent/mcp/connection-drafts.js +4 -3
- package/dist/src/agent/mcp/connection-setup.d.ts +15 -1
- package/dist/src/agent/mcp/connection-setup.js +219 -106
- package/dist/src/agent/mcp/continuation-guard.d.ts +3 -0
- package/dist/src/agent/mcp/continuation-guard.js +54 -0
- package/dist/src/agent/mcp/continuation-input.d.ts +4 -0
- package/dist/src/agent/mcp/continuation-input.js +13 -0
- package/dist/src/agent/mcp/conversation-setup.d.ts +121 -2
- package/dist/src/agent/mcp/conversation-setup.js +275 -40
- package/dist/src/agent/mcp/discovery.d.ts +102 -0
- package/dist/src/agent/mcp/discovery.js +219 -0
- package/dist/src/agent/mcp/native-mcp.js +8 -1
- package/dist/src/agent/mcp/setup-plan.d.ts +76 -0
- package/dist/src/agent/mcp/setup-plan.js +93 -0
- package/dist/src/agent/mcp/tool-catalog.d.ts +2 -0
- package/dist/src/agent/mcp/tool-catalog.js +7 -1
- package/dist/src/agent/mcp/transport.d.ts +20 -0
- package/dist/src/agent/mcp/transport.js +188 -0
- package/dist/src/agent/memory/index.js +1 -1
- package/dist/src/agent/orchestration/delegation-scope.d.ts +2 -1
- package/dist/src/agent/orchestration/llm-turn-retry.js +1 -1
- package/dist/src/agent/prompt/conversational-configuration-guide.js +1 -1
- package/dist/src/agent/prompt/response-language.js +1 -1
- package/dist/src/agent/prompt/service-prompt-builder.js +3 -3
- package/dist/src/agent/prompt/system-prompt-params.js +1 -1
- package/dist/src/agent/sandbox/exec-policy.js +1 -1
- package/dist/src/agent/service/direct-turn-helpers.js +16 -12
- package/dist/src/agent/service/process-direct-streaming.js +7 -6
- package/dist/src/agent/service/webchat-tts.js +2 -2
- package/dist/src/agent/service.js +27 -23
- package/dist/src/agent/session/session-config-service.js +2 -2
- package/dist/src/agent/session/session-hydrator.js +1 -1
- package/dist/src/agent/session/session-inspector.js +1 -1
- package/dist/src/agent/skills/filesystem-watcher.js +1 -1
- package/dist/src/agent/skills/hub-lock.js +1 -1
- package/dist/src/agent/skills/hub-pull.js +2 -2
- package/dist/src/agent/skills/index.js +1 -1
- package/dist/src/agent/skills/managed-store.js +1 -1
- package/dist/src/agent/skills/marketplace/adapters/store/adapter.js +1 -1
- package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.js +1 -1
- package/dist/src/agent/skills/skill-manage-ops.js +1 -1
- package/dist/src/agent/skills/skill-manager.js +1 -1
- package/dist/src/agent/skills/skill-sources.js +1 -1
- package/dist/src/agent/source-context/index.js +1 -1
- package/dist/src/agent/tasks/task-judge-service.js +8 -8
- package/dist/src/agent/tool-manuals/xopc-configuration.d.ts +2 -2
- package/dist/src/agent/tool-manuals/xopc-configuration.js +37 -4
- package/dist/src/agent/tools/create-share-tool.js +2 -2
- package/dist/src/agent/tools/delegate-tool.js +3 -3
- package/dist/src/agent/tools/exec-command.js +1 -1
- package/dist/src/agent/tools/executor.js +1 -1
- package/dist/src/agent/tools/factory.js +20 -20
- package/dist/src/agent/tools/fetch-text.js +1 -1
- package/dist/src/agent/tools/image-generate-tool.js +2 -2
- package/dist/src/agent/tools/index.js +4 -4
- package/dist/src/agent/tools/list-dir.js +1 -1
- package/dist/src/agent/tools/mcp-setup-tool.js +6 -2
- package/dist/src/agent/tools/personal-attention-tool.js +2 -2
- package/dist/src/agent/tools/personal-read-tool.js +1 -1
- package/dist/src/agent/tools/personal-request-result-tool.js +1 -1
- package/dist/src/agent/tools/personal-request-tool.js +4 -4
- package/dist/src/agent/tools/personal-result-tool.js +1 -1
- package/dist/src/agent/tools/personal-task-tool.js +5 -5
- package/dist/src/agent/tools/phone-use-tool.js +1 -1
- package/dist/src/agent/tools/publish-artifacts.js +1 -1
- package/dist/src/agent/tools/read.js +1 -1
- package/dist/src/agent/tools/review-workspace.js +1 -1
- package/dist/src/agent/tools/send-media.js +1 -1
- package/dist/src/agent/tools/skill-manage-tool.js +1 -1
- package/dist/src/agent/tools/task-collaboration-tool.js +2 -2
- package/dist/src/agent/tools/tts-tool.js +1 -1
- package/dist/src/agent/tools/user-context-tool.js +2 -2
- package/dist/src/agent/tools/web.js +1 -1
- package/dist/src/agent/tools/write.js +1 -1
- package/dist/src/agent/tools/xopc-use-tool.d.ts +1 -0
- package/dist/src/agent/tools/xopc-use-tool.js +32 -11
- package/dist/src/agent/transcript/index.js +2 -2
- package/dist/src/agent/transcript/transcript-hygiene.js +2 -2
- package/dist/src/agent-catalog/capabilities.js +2 -2
- package/dist/src/agent-catalog/repository.js +1 -1
- package/dist/src/agent-matching/delegation-service.js +1 -1
- package/dist/src/ai-assist/text-assist.js +1 -1
- package/dist/src/auth/credentials.js +1 -1
- package/dist/src/auth/oauth/openai.js +1 -1
- package/dist/src/auth/oauth/xopc-cloud.js +1 -1
- package/dist/src/auth/profiles/store.js +1 -1
- package/dist/src/automations/api/routes.js +15 -7
- package/dist/src/automations/capabilities/drafts.js +1 -1
- package/dist/src/automations/capabilities/read.js +31 -3
- package/dist/src/automations/capabilities/write.js +1 -1
- package/dist/src/automations/configuration-conversation.js +1 -1
- package/dist/src/automations/delivery/delivery-router.js +1 -1
- package/dist/src/automations/domain/index.js +1 -1
- package/dist/src/automations/domain/types.d.ts +2 -0
- package/dist/src/automations/draft/automation-draft-service.js +1 -1
- package/dist/src/automations/index.js +2 -2
- package/dist/src/automations/service/action-executor.js +2 -2
- package/dist/src/automations/service/automation-service.d.ts +7 -0
- package/dist/src/automations/service/automation-service.js +11 -4
- package/dist/src/automations/storage/automation-run-repository.d.ts +11 -2
- package/dist/src/automations/storage/automation-run-repository.js +28 -24
- package/dist/src/automations/storage/index.js +2 -2
- package/dist/src/browser/native-messaging-host.js +1 -1
- package/dist/src/browser/providers/browser-ext-install.js +2 -2
- package/dist/src/capabilities/runtime/dispatcher.js +1 -1
- package/dist/src/capabilities/runtime/product.js +1 -1
- package/dist/src/capabilities/store-connector.js +2 -2
- package/dist/src/channels/attachments/voice-stt-webchat.js +1 -1
- package/dist/src/channels/index.js +1 -1
- package/dist/src/channels/outbound-sender.js +1 -1
- package/dist/src/channels/pairing/allow-from-file.js +9 -9
- package/dist/src/channels/pairing/pairing-store.js +6 -6
- package/dist/src/chat-commands/agent-edit.js +1 -1
- package/dist/src/chat-commands/builtins/config.js +2 -2
- package/dist/src/chat-commands/builtins/session.js +1 -1
- package/dist/src/chat-commands/builtins/thinking.js +1 -1
- package/dist/src/chat-commands/builtins/tts.js +1 -1
- package/dist/src/chat-commands/context.js +1 -1
- package/dist/src/chat-commands/index.js +3 -3
- package/dist/src/cli/commands/agent.js +7 -7
- package/dist/src/cli/commands/agents.js +1 -1
- package/dist/src/cli/commands/config.js +1 -1
- package/dist/src/cli/commands/connectors.js +1 -1
- package/dist/src/cli/commands/doctor/checks/channel-plugins.js +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/doctor/checks/gateway-health.js +1 -1
- package/dist/src/cli/commands/extension-agent-plugin.js +1 -1
- package/dist/src/cli/commands/extension-dev.js +1 -1
- package/dist/src/cli/commands/extension.js +2 -2
- package/dist/src/cli/commands/image.js +1 -1
- package/dist/src/cli/commands/init.js +1 -1
- package/dist/src/cli/commands/models.js +3 -3
- package/dist/src/cli/commands/onboard/channels/registry.js +1 -1
- package/dist/src/cli/commands/onboard/model.js +1 -1
- package/dist/src/cli/commands/onboard.js +1 -1
- package/dist/src/cli/commands/project.js +1 -1
- package/dist/src/cli/commands/skills.js +2 -2
- package/dist/src/cli/commands/tunnel.js +4 -4
- package/dist/src/cli/extension-cli-register.js +5 -5
- package/dist/src/cli/utils/gateway-client.js +1 -1
- package/dist/src/cli/utils/init-workspace-core.js +3 -3
- package/dist/src/cli/utils/session.js +1 -1
- package/dist/src/computer/flows.js +1 -1
- package/dist/src/computer/model-adapter.js +1 -1
- package/dist/src/computer/model-policy.js +1 -1
- package/dist/src/computer/runtime.js +4 -4
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/index.js +3 -3
- package/dist/src/config/loader.js +1 -1
- package/dist/src/config/models-json.d.ts +6 -0
- package/dist/src/config/models-json.js +10 -5
- package/dist/src/config/schema.d.ts +3 -0
- package/dist/src/config/schema.js +3 -2
- package/dist/src/connectors/cli/authorization.js +1 -1
- package/dist/src/connectors/composio-sessions.js +1 -1
- package/dist/src/connectors/composio.js +1 -1
- package/dist/src/connectors/connected-source-ingestion.js +2 -2
- package/dist/src/connectors/connected-source-understanding.js +5 -5
- package/dist/src/connectors/connection-recovery-service.js +4 -4
- package/dist/src/connectors/content-enrichment.js +1 -1
- package/dist/src/connectors/health.js +1 -1
- package/dist/src/connectors/instances.js +1 -1
- package/dist/src/connectors/runtime-adapter-registry.js +2 -2
- package/dist/src/discussions/live-worker.js +1 -1
- package/dist/src/discussions/sealer.js +1 -1
- package/dist/src/endpoint-tools/index.js +1 -1
- package/dist/src/endpoint-tools/runtime.js +2 -2
- package/dist/src/execution-environments/local-worktree-manager.js +1 -1
- package/dist/src/extensions/activation-context.js +3 -3
- package/dist/src/extensions/agent-plugins/auth.js +1 -1
- package/dist/src/extensions/agent-plugins/setup.d.ts +1 -0
- package/dist/src/extensions/agent-plugins/setup.js +1 -0
- package/dist/src/extensions/agent-plugins/skill-catalog.js +3 -3
- package/dist/src/extensions/agent-plugins/source-http-fetch.js +1 -1
- package/dist/src/extensions/agent-plugins/validation.js +1 -1
- package/dist/src/extensions/api.js +3 -3
- package/dist/src/extensions/bundled-extension-activation.js +1 -1
- package/dist/src/extensions/index.js +3 -3
- package/dist/src/extensions/loader.js +2 -2
- package/dist/src/extensions/lockfile.js +1 -1
- package/dist/src/extensions/sdk/index.js +1 -1
- package/dist/src/extensions/sdk/media.js +1 -1
- package/dist/src/gateway/agents-admin.js +2 -2
- package/dist/src/gateway/device-routes.js +1 -1
- package/dist/src/gateway/file-path-classifier.js +1 -1
- package/dist/src/gateway/global-defaults-admin.js +1 -1
- package/dist/src/gateway/hono/app.js +2 -2
- package/dist/src/gateway/hono/lib/config-payload.js +2 -2
- package/dist/src/gateway/hono/oauth-async.js +1 -1
- package/dist/src/gateway/hono/routes/agent-plugins.js +1 -1
- package/dist/src/gateway/hono/routes/agents.js +1 -1
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
- package/dist/src/gateway/hono/routes/commands-skills.js +4 -4
- package/dist/src/gateway/hono/routes/config-patch/gateway.js +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
- package/dist/src/gateway/hono/routes/connectors.js +1 -1
- package/dist/src/gateway/hono/routes/context-sources.js +1 -1
- package/dist/src/gateway/hono/routes/endpoint-tools.js +1 -1
- package/dist/src/gateway/hono/routes/home.js +1 -1
- package/dist/src/gateway/hono/routes/location-sharing.js +1 -1
- package/dist/src/gateway/hono/routes/mcp.js +2 -2
- package/dist/src/gateway/hono/routes/memory-learning.js +3 -3
- package/dist/src/gateway/hono/routes/models.js +16 -9
- package/dist/src/gateway/hono/routes/notes.js +3 -3
- package/dist/src/gateway/hono/routes/phone-dependencies.js +1 -1
- package/dist/src/gateway/hono/routes/phone-setup.js +3 -2
- package/dist/src/gateway/hono/routes/phone.js +3 -2
- package/dist/src/gateway/hono/routes/projects.js +5 -5
- package/dist/src/gateway/hono/routes/runtime-tools.js +1 -1
- package/dist/src/gateway/hono/routes/session-command-handler.js +2 -2
- package/dist/src/gateway/hono/routes/session-input-handler.js +5 -5
- package/dist/src/gateway/hono/routes/sessions.js +3 -3
- package/dist/src/gateway/hono/routes/shares.js +1 -1
- package/dist/src/gateway/hono/routes/side-chats.js +1 -1
- package/dist/src/gateway/hono/routes/tasks.js +2 -6
- package/dist/src/gateway/hono/routes/user-model.js +7 -7
- package/dist/src/gateway/hono/routes/voice.js +7 -7
- package/dist/src/gateway/image-generation-setup.js +1 -1
- package/dist/src/gateway/lock.js +11 -11
- package/dist/src/gateway/media-access.js +1 -1
- package/dist/src/gateway/mobile-privacy.js +2 -2
- package/dist/src/gateway/ports.js +6 -6
- package/dist/src/gateway/provider-model-setup.js +1 -1
- package/dist/src/gateway/server.js +1 -1
- package/dist/src/gateway/service/agent-runner.js +2 -2
- package/dist/src/gateway/service/config-coordinator.d.ts +1 -1
- package/dist/src/gateway/service/config-coordinator.js +2 -2
- package/dist/src/gateway/service/marketplace-service.js +2 -2
- package/dist/src/gateway/service/run-gateway-agent.js +6 -7
- package/dist/src/gateway/service/session-command-service.js +2 -2
- package/dist/src/gateway/service/session-input-coordinator.js +1 -1
- package/dist/src/gateway/service.js +44 -43
- package/dist/src/gateway/session-context-summary.js +4 -4
- package/dist/src/gateway/session-reset-service.js +1 -1
- package/dist/src/gateway/workspace-editor-path.js +2 -2
- package/dist/src/gateway/xopc-cloud-capability-setup.js +5 -2
- package/dist/src/home-intelligence/evidence-presentation.d.ts +3 -0
- package/dist/src/home-intelligence/evidence-presentation.js +30 -0
- package/dist/src/home-intelligence/generator.d.ts +8 -0
- package/dist/src/home-intelligence/generator.js +17 -6
- package/dist/src/home-intelligence/policy.js +3 -0
- package/dist/src/imports/importService.js +1 -1
- package/dist/src/imports/inventory.js +2 -2
- package/dist/src/imports/productImport.js +1 -1
- package/dist/src/imports/runtime.js +1 -1
- package/dist/src/infra/gateway-processes.js +2 -2
- package/dist/src/infra/path-env.js +3 -3
- package/dist/src/infra/update-global.js +9 -9
- package/dist/src/knowledge/connected-knowledge-pipeline.js +1 -1
- package/dist/src/knowledge/index.js +1 -1
- package/dist/src/knowledge-memory/repository.js +1 -1
- package/dist/src/knowledge-memory/usage-policy.js +1 -1
- package/dist/src/local-apps/service.js +3 -3
- package/dist/src/mcp/gateway-http-client.js +1 -1
- package/dist/src/media-understanding/openai-compatible-audio.js +1 -1
- package/dist/src/memory-learning/repository.d.ts +6 -1
- package/dist/src/memory-learning/repository.js +10 -5
- package/dist/src/memory-learning/service.js +23 -1
- package/dist/src/memory-learning/source-learning.js +5 -5
- package/dist/src/memory-learning/task-receipts.js +1 -1
- package/dist/src/notes/agent-context.js +4 -4
- package/dist/src/notes/index.js +1 -1
- package/dist/src/notes/service.js +3 -3
- package/dist/src/observability/runtime.d.ts +2 -0
- package/dist/src/observability/runtime.js +12 -1
- package/dist/src/personal-agent/capability-service.js +2 -2
- package/dist/src/personal-agent/proactivity/routes.js +1 -1
- package/dist/src/personal-agent/proactivity/service.js +7 -7
- package/dist/src/personal-agent/prompt-context.js +7 -7
- package/dist/src/personal-agent/prompts.js +2 -2
- package/dist/src/personal-agent/reply-composer.js +9 -9
- package/dist/src/personal-agent/request-delivery.js +2 -2
- package/dist/src/personal-agent/request-service.js +7 -7
- package/dist/src/personal-agent/result-reader.js +1 -1
- package/dist/src/personal-agent/service.js +2 -2
- package/dist/src/phone/contracts.d.ts +2 -0
- package/dist/src/phone/contracts.js +1 -0
- package/dist/src/phone/model-adapter.d.ts +1 -1
- package/dist/src/phone/model-adapter.js +30 -7
- package/dist/src/phone/model-policy.d.ts +4 -0
- package/dist/src/phone/model-policy.js +30 -0
- package/dist/src/phone/repository.js +1 -1
- package/dist/src/phone/runtime.js +4 -4
- package/dist/src/phone/structured-model.d.ts +6 -0
- package/dist/src/phone/structured-model.js +87 -0
- package/dist/src/process/mcp-stdio-supervisor.d.ts +1 -0
- package/dist/src/process/mcp-stdio-supervisor.js +14 -0
- package/dist/src/projects/index.js +2 -2
- package/dist/src/projects/project-agent-suggestion.js +1 -1
- package/dist/src/projects/project-service.js +2 -2
- package/dist/src/projects/project-skill-service.js +2 -2
- package/dist/src/projects/workspace.js +1 -1
- package/dist/src/providers/model-catalog-types.d.ts +1 -1
- package/dist/src/providers/model-reference-auditor.js +3 -2
- package/dist/src/providers/presentation.js +5 -3
- package/dist/src/realtime/runtime.js +1 -1
- package/dist/src/remote-access/exposure-manager.js +1 -1
- package/dist/src/runtime-tools/archive.js +1 -1
- package/dist/src/runtime-tools/phone-dependencies.js +2 -2
- package/dist/src/session/index.js +2 -2
- package/dist/src/session/init-session-turn.js +1 -1
- package/dist/src/session/resolve-session.js +1 -1
- package/dist/src/session/store.js +5 -5
- package/dist/src/session/thinking-resolve.js +1 -1
- package/dist/src/share/hosted-session-share.js +2 -2
- package/dist/src/share/session-share-service.js +1 -1
- package/dist/src/share/share-store.js +1 -1
- package/dist/src/share/share-thumbnail.js +1 -1
- package/dist/src/share/site-proxy.js +1 -1
- package/dist/src/share/site-share-store.js +1 -1
- package/dist/src/storage/sqlite/connection.js +9 -9
- package/dist/src/storage/sqlite/schema.d.ts +2 -2
- package/dist/src/storage/sqlite/schema.js +7 -7
- package/dist/src/storage/sqlite/upgrades/261_session_input_task_origins.sql +6 -0
- package/dist/src/tasks/capabilities/read.js +2 -2
- package/dist/src/tasks/capabilities/write.js +2 -2
- package/dist/src/tasks/home-query-service.js +1 -1
- package/dist/src/tasks/index.js +5 -5
- package/dist/src/tasks/task-allocation-service.js +5 -5
- package/dist/src/tasks/task-application-service.js +5 -5
- package/dist/src/tasks/task-collaboration-delivery.js +1 -1
- package/dist/src/tasks/task-context-assembler.js +2 -2
- package/dist/src/tasks/task-contract-planner.js +2 -2
- package/dist/src/tasks/task-criterion-review-repository.js +1 -1
- package/dist/src/tasks/task-handoff-service.js +1 -1
- package/dist/src/tasks/task-handoff.js +4 -4
- package/dist/src/tasks/task-main-update-decision-service.js +3 -3
- package/dist/src/tasks/task-model-call.js +1 -1
- package/dist/src/tasks/task-research-result.js +4 -4
- package/dist/src/tasks/task-result-delivery-repository.js +1 -1
- package/dist/src/tasks/task-result-delivery-service.js +2 -2
- package/dist/src/tasks/task-run-coordinator.js +3 -3
- package/dist/src/tasks/task-run-dispatcher.js +1 -1
- package/dist/src/tui/backends/embedded-backend.js +12 -12
- package/dist/src/tui/backends/gateway-realtime-backend.js +2 -2
- package/dist/src/tui/extension-host/load-extensions.js +1 -1
- package/dist/src/tui/tui-commands.js +5 -5
- package/dist/src/tui/tui-picker-overlay.js +1 -1
- package/dist/src/tui/tui-skills-autocomplete.js +1 -1
- package/dist/src/tui/tui-startup-resources.js +3 -3
- package/dist/src/tui/tui.js +5 -5
- package/dist/src/tunnel/gateway-lifecycle.js +1 -1
- package/dist/src/user-context/access-policy.js +2 -2
- package/dist/src/user-context/extraction/registry.js +2 -2
- package/dist/src/user-model/bootstrap.js +1 -1
- package/dist/src/user-model/capture/executor.d.ts +1 -0
- package/dist/src/user-model/capture/executor.js +7 -7
- package/dist/src/user-model/capture/semantic.d.ts +3 -0
- package/dist/src/user-model/capture/semantic.js +14 -4
- package/dist/src/user-model/index.js +2 -2
- package/dist/src/user-model/usage-policy.js +1 -1
- package/dist/src/voice/platform-catalog.d.ts +1 -1
- package/dist/src/voice/realtime/memory-context.js +5 -5
- package/dist/src/voice/realtime/omniRoute.js +1 -1
- package/dist/src/voice/realtime/persona-context.js +1 -1
- package/dist/src/voice/realtime/runtime.js +4 -4
- package/dist/src/voice/stt/index.js +2 -2
- package/dist/src/voice/stt/preflight.js +1 -1
- package/dist/src/voice/stt/providers/alibaba-transcription.js +1 -1
- package/dist/src/voice/stt/providers/bailian-plan-transcription.js +1 -1
- package/dist/src/voice/stt/providers/xopc-cloud-transcription.js +1 -1
- package/dist/src/voice/stt/transcribe-core.js +1 -1
- package/dist/src/voice/tts/index.js +3 -3
- package/dist/src/voice/tts/merge-config.js +1 -1
- package/dist/src/voice/tts/payload.js +1 -1
- package/dist/src/voice/tts/providers/bailian-plan-speech.js +1 -1
- package/dist/src/voice/tts/providers/xopc-cloud-speech.js +1 -1
- package/dist/src/voice/tts/speak-core.js +1 -1
- package/dist/src/work-discovery/service.js +7 -7
- package/package.json +1 -1
- package/dist/gateway/static/root/assets/agent-plugin-dialog-m1A8wF9p.js +0 -1
- package/dist/gateway/static/root/assets/automation-api-hRsGx-qe.js +0 -1
- package/dist/gateway/static/root/assets/automation-task-card-Bur78p68.js +0 -3
- package/dist/gateway/static/root/assets/automations-workspace-DEkDjxeU.js +0 -9
- package/dist/gateway/static/root/assets/capabilities-Bo2qEJhH.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-settings-panel-Cr67ziwX.js +0 -8
- package/dist/gateway/static/root/assets/chat-page-D92AWJbh.js +0 -72
- package/dist/gateway/static/root/assets/composer-payload-handoff-BQXlFKf4.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-Vx8-MY0Y.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-BHBOPF_q.js +0 -1
- package/dist/gateway/static/root/assets/home-page-B3sgqrl3.js +0 -2
- package/dist/gateway/static/root/assets/index-D4B6O8B3.js +0 -11
- package/dist/gateway/static/root/assets/index-DGWBJDAM.css +0 -1
- package/dist/gateway/static/root/assets/mcp-conversation-setup-page-CENs3hGU.js +0 -1
- package/dist/gateway/static/root/assets/messages-ByFlEbsu.js +0 -3
- package/dist/gateway/static/root/assets/model-selector-DCBmsHzj.js +0 -1
- package/dist/gateway/static/root/assets/note-image-lightbox-BFKZ7qJr.js +0 -1
- package/dist/gateway/static/root/assets/page-header-store-Du44NIEJ.js +0 -1
- package/dist/gateway/static/root/assets/phone-model-picker-DuZc5jYO.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-D9nnyvrI.js +0 -7
- package/dist/gateway/static/root/assets/route-preload-DI43HQV_.js +0 -2
- package/dist/gateway/static/root/assets/send-1f1Ntw6E.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-BI4DMz4_.js +0 -1
- package/dist/gateway/static/root/assets/task-detail-page-CS9m7Ipo.js +0 -2
- package/dist/gateway/static/root/assets/user-model-page-DIgPL3tN.js +0 -2
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-4cZ26iaD.js +0 -1
- package/dist/gateway/static/root/assets/xopc-cloud-account-card-DC9aG7Pl.js +0 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { isXopcDatabaseOpen } from "../storage/sqlite/connection.js";
|
|
2
2
|
import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
|
|
3
3
|
import "../storage/sqlite/index.js";
|
|
4
|
-
import { resolveUserContextSessionAccess } from "../user-context/access-policy.js";
|
|
5
|
-
import { isKnowledgeCurrent, knowledgeItemAllowed, listKnowledgeItems } from "../knowledge-memory/repository.js";
|
|
6
|
-
import "../knowledge-memory/index.js";
|
|
7
4
|
import { getActiveAssertionForSlot } from "../user-model/repository.js";
|
|
8
|
-
import { getProjectForSession } from "../projects/workspace.js";
|
|
9
|
-
import { canUseAssertion } from "../user-model/usage-policy.js";
|
|
10
|
-
import "../user-model/index.js";
|
|
11
5
|
import { isPersonalConversation } from "./repository.js";
|
|
12
|
-
import { TaskOriginRepository } from "../tasks/task-origin-repository.js";
|
|
13
6
|
import { listPersonalResults } from "./result-reader.js";
|
|
7
|
+
import { TaskOriginRepository } from "../tasks/task-origin-repository.js";
|
|
8
|
+
import { canUseAssertion } from "../user-model/usage-policy.js";
|
|
9
|
+
import "../user-model/index.js";
|
|
10
|
+
import { getProjectForSession } from "../projects/workspace.js";
|
|
11
|
+
import { isKnowledgeCurrent, knowledgeItemAllowed, listKnowledgeItems } from "../knowledge-memory/repository.js";
|
|
12
|
+
import "../knowledge-memory/index.js";
|
|
13
|
+
import { resolveUserContextSessionAccess } from "../user-context/access-policy.js";
|
|
14
14
|
//#region src/personal-agent/prompt-context.ts
|
|
15
15
|
const clip = (value, limit) => value && (value.length > limit ? `${value.slice(0, limit - 1)}…` : value);
|
|
16
16
|
/** Keep complete JSON records and identifiers, even when the snapshot is incomplete. */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { PERSONAL_EMOTIONAL_STYLE_RULE, PERSONAL_IDENTITY_CONTINUITY_RULE } from "./persona.js";
|
|
2
|
-
import { PERSONAL_COMMUNICATION_RULES, PERSONAL_RELIABILITY_RULES } from "./communication.js";
|
|
3
1
|
import { PERSONAL_DEFAULT_STYLE_RULES } from "./default-style.js";
|
|
4
2
|
import { PERSONAL_REPLY_EXAMPLES, PERSONAL_REPLY_STYLE_RULES } from "./reply-style.js";
|
|
3
|
+
import { PERSONAL_EMOTIONAL_STYLE_RULE, PERSONAL_IDENTITY_CONTINUITY_RULE } from "./persona.js";
|
|
4
|
+
import { PERSONAL_COMMUNICATION_RULES, PERSONAL_RELIABILITY_RULES } from "./communication.js";
|
|
5
5
|
//#region src/personal-agent/prompts.ts
|
|
6
6
|
const DELEGATION_RULES = [
|
|
7
7
|
"Answer directly when your capabilities suffice. Otherwise call personal_task(command=\"submit\") with a short objective. For a self-contained current request send {command:\"submit\", objective:\"short outcome\", useOriginalRequest:true}; command is required. With this mode, the host copies its entire stored text, including exact constraints. Preserve sourceRefs and explicitly requested Agent/Skills. Use a concise complete description instead when earlier conversation must be synthesized. Submit before reading materials. The background Task Router selects and starts the executor. After the tool succeeds, reply only with a short confirmation such as \"Submitted; I will report the result here.\" in the conversation language, then finish. Do not restate any task details, files, requirements or acceptance criteria, and do not wait for the worker. Remain available for conversation.",
|
|
@@ -10,23 +10,23 @@ import { appendTranscriptEntry, loadLlmMessagesForSession } from "../storage/sql
|
|
|
10
10
|
import { getSessionConfig } from "../storage/sqlite/config-repository.js";
|
|
11
11
|
import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
|
|
12
12
|
import { init_agent_scope, resolveAgentProfileDir } from "../agent/agent-scope.js";
|
|
13
|
-
import { init_providers, resolveModel } from "../providers/index.js";
|
|
14
|
-
import { completeWithResolvedCredentials } from "../providers/model-call.js";
|
|
15
|
-
import { extractAssistantText, getAssistantMessageErrorReason } from "../providers/model-response.js";
|
|
16
|
-
import { getPersonalAgentByConversation } from "./repository.js";
|
|
17
13
|
import { emitSessionTranscriptUpdate } from "../session/transcript-events.js";
|
|
14
|
+
import { getPersonalAgentByConversation } from "./repository.js";
|
|
15
|
+
import { TaskCollaborationRepository } from "../tasks/task-collaboration-repository.js";
|
|
18
16
|
import { TaskConversationRepository } from "../tasks/task-conversation-repository.js";
|
|
19
|
-
import { loadProfileBootstrapFiles } from "../agent/bootstrap/load-bootstrap-files.js";
|
|
20
17
|
import { TaskCriterionReviewRepository } from "../tasks/task-criterion-review-repository.js";
|
|
21
|
-
import { TaskCollaborationRepository } from "../tasks/task-collaboration-repository.js";
|
|
22
18
|
import { hasPersonalResultFileLinks, sanitizePersonalResultFileLinks } from "./result-file-links.js";
|
|
23
19
|
import { taskInstructionSequence } from "../tasks/task-instruction-sequence.js";
|
|
24
|
-
import {
|
|
25
|
-
import "../
|
|
26
|
-
import {
|
|
20
|
+
import { init_providers, resolveModel } from "../providers/index.js";
|
|
21
|
+
import { extractAssistantText, getAssistantMessageErrorReason } from "../providers/model-response.js";
|
|
22
|
+
import { completeWithResolvedCredentials } from "../providers/model-call.js";
|
|
27
23
|
import { PERSONAL_DEFAULT_STYLE_RULES } from "./default-style.js";
|
|
24
|
+
import { recordPersonalPerformance } from "./performance.js";
|
|
25
|
+
import "../tasks/task-research-result.js";
|
|
28
26
|
import { PERSONAL_REPLY_EXAMPLES, PERSONAL_REPLY_STYLE_RULES } from "./reply-style.js";
|
|
29
27
|
import { personalConversationState } from "./conversation-state.js";
|
|
28
|
+
import { PERSONAL_PERSONA_GUIDANCE } from "./persona.js";
|
|
29
|
+
import { loadProfileBootstrapFiles } from "../agent/bootstrap/load-bootstrap-files.js";
|
|
30
30
|
import { randomUUID } from "node:crypto";
|
|
31
31
|
import { z } from "zod";
|
|
32
32
|
//#region src/personal-agent/reply-composer.ts
|
|
@@ -7,11 +7,11 @@ import { init_session_instance_repository, readCurrentTranscriptId } from "../st
|
|
|
7
7
|
import { TaskRunRepository, init_task_run_repository } from "../tasks/task-run-repository.js";
|
|
8
8
|
import { getPersonalRequest, init_request_repository, updatePersonalRequest } from "./request-repository.js";
|
|
9
9
|
import { appendTranscriptEntry, loadLlmMessagesForSession } from "../storage/sqlite/transcript-repository.js";
|
|
10
|
-
import { getPersonalAgentByConversation } from "./repository.js";
|
|
11
10
|
import { emitSessionTranscriptUpdate } from "../session/transcript-events.js";
|
|
11
|
+
import { getPersonalAgentByConversation } from "./repository.js";
|
|
12
12
|
import { warmPersonalResult } from "./result-reader.js";
|
|
13
|
-
import { TaskConversationRepository } from "../tasks/task-conversation-repository.js";
|
|
14
13
|
import { TaskCollaborationRepository } from "../tasks/task-collaboration-repository.js";
|
|
14
|
+
import { TaskConversationRepository } from "../tasks/task-conversation-repository.js";
|
|
15
15
|
import { PersonalRequestResultSchema, renderPersonalRequestResult } from "./request-result.js";
|
|
16
16
|
import { enqueuePersonalReply } from "./reply-composer.js";
|
|
17
17
|
//#region src/personal-agent/request-delivery.ts
|
|
@@ -13,21 +13,21 @@ import { getConnectorAccount, init_connector_account_repository } from "../stora
|
|
|
13
13
|
import { getConnectorConnection, getConnectorInstallation, init_connector_repository, listConnectorConnections } from "../storage/sqlite/connector-repository.js";
|
|
14
14
|
import { cancelConnectionObjective, init_connection_wait_repository, publishConnectionWait, requireSessionConnection } from "../storage/sqlite/connection-wait-repository.js";
|
|
15
15
|
import { getUserProfileSnapshot } from "../user-model/profile.js";
|
|
16
|
-
import { isPersonalConversation } from "./repository.js";
|
|
17
16
|
import { resolveTaskLocale } from "../tasks/task-language.js";
|
|
18
17
|
import { canAccessConnectorAccount } from "../connectors/account-access.js";
|
|
19
18
|
import { connectorPrincipalForSession } from "../connectors/principal.js";
|
|
20
|
-
import {
|
|
19
|
+
import { isPersonalConversation } from "./repository.js";
|
|
21
20
|
import { TaskCollaborationRepository } from "../tasks/task-collaboration-repository.js";
|
|
22
21
|
import { TaskApplicationService } from "../tasks/task-application-service.js";
|
|
23
|
-
import {
|
|
24
|
-
import { defineTaskContract } from "../tasks/task-contract-definition.js";
|
|
25
|
-
import "./communication.js";
|
|
22
|
+
import { AgentSelectionRepository, selectionRequestHash } from "../agent-matching/selection-repository.js";
|
|
26
23
|
import { assessSpecialist } from "../agent-matching/service.js";
|
|
24
|
+
import { assertSpecialistEligible } from "../agent-matching/delegation-service.js";
|
|
25
|
+
import { resolveConnectionCandidate } from "../connectors/connection-candidates.js";
|
|
26
|
+
import { defineTaskContract } from "../tasks/task-contract-definition.js";
|
|
27
27
|
import { personalCapabilities } from "./capability-service.js";
|
|
28
|
+
import "./communication.js";
|
|
29
|
+
import { resolveResponseLanguageForSession } from "../agent/prompt/response-language.js";
|
|
28
30
|
import { abortEmbeddedRun } from "../agent/embedded/runs.js";
|
|
29
|
-
import { AgentSelectionRepository, selectionRequestHash } from "../agent-matching/selection-repository.js";
|
|
30
|
-
import { assertSpecialistEligible } from "../agent-matching/delegation-service.js";
|
|
31
31
|
import { createHash, randomUUID } from "node:crypto";
|
|
32
32
|
//#region src/personal-agent/request-service.ts
|
|
33
33
|
init_src();
|
|
@@ -7,10 +7,10 @@ import { init_session_instance_repository, readCurrentTranscriptId } from "../st
|
|
|
7
7
|
import { init_request_repository, personalRequestForTask } from "./request-repository.js";
|
|
8
8
|
import { getConnectorAccount, init_connector_account_repository } from "../storage/sqlite/connector-account-repository.js";
|
|
9
9
|
import { getConnectorConnection, getConnectorInstallation, init_connector_repository } from "../storage/sqlite/connector-repository.js";
|
|
10
|
-
import { isPersonalConversation } from "./repository.js";
|
|
11
10
|
import { canAccessConnectorAccount } from "../connectors/account-access.js";
|
|
12
11
|
import { connectorPrincipalForSession } from "../connectors/principal.js";
|
|
13
12
|
import { resolveMediaReference } from "../media/media-reference.js";
|
|
13
|
+
import { isPersonalConversation } from "./repository.js";
|
|
14
14
|
import { createRequire } from "node:module";
|
|
15
15
|
import { existsSync } from "node:fs";
|
|
16
16
|
import { fileURLToPath } from "node:url";
|
|
@@ -2,11 +2,11 @@ import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js
|
|
|
2
2
|
import { init_session_repository, patchSessionMetadata } from "../storage/sqlite/session-repository.js";
|
|
3
3
|
import { setSessionConfig } from "../storage/sqlite/config-repository.js";
|
|
4
4
|
import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
|
|
5
|
+
import { AgentCatalogService } from "../agent-catalog/service.js";
|
|
5
6
|
import { createConversation, init_conversation_repository } from "../storage/sqlite/conversation-repository.js";
|
|
6
|
-
import { getAvailableModels, init_providers } from "../providers/index.js";
|
|
7
7
|
import { getPersonalAgent, personalAgentId } from "./repository.js";
|
|
8
|
+
import { getAvailableModels, init_providers } from "../providers/index.js";
|
|
8
9
|
import { PERSONAL_MAIN_TOOL_IDS, PERSONAL_READ_TOOL_ALIASES } from "./policy.js";
|
|
9
|
-
import { AgentCatalogService } from "../agent-catalog/service.js";
|
|
10
10
|
import { getModelThinking } from "../providers/model-thinking.js";
|
|
11
11
|
import { personalInstructions } from "./prompts.js";
|
|
12
12
|
import { completePersonalOnboarding } from "./onboarding.js";
|
|
@@ -3,6 +3,7 @@ import type { PhonePerformance } from './execution-trace.js';
|
|
|
3
3
|
export declare const PhoneProfileSchema: z.ZodEnum<{
|
|
4
4
|
"autoglm-phone-v1": "autoglm-phone-v1";
|
|
5
5
|
"structured-phone-v1": "structured-phone-v1";
|
|
6
|
+
"structured-tools-phone-v1": "structured-tools-phone-v1";
|
|
6
7
|
"doubao-seed-phone-v1": "doubao-seed-phone-v1";
|
|
7
8
|
"gui-owl-phone-v1": "gui-owl-phone-v1";
|
|
8
9
|
}>;
|
|
@@ -10,6 +11,7 @@ export declare const PhoneModelMetadataSchema: z.ZodObject<{
|
|
|
10
11
|
profile: z.ZodEnum<{
|
|
11
12
|
"autoglm-phone-v1": "autoglm-phone-v1";
|
|
12
13
|
"structured-phone-v1": "structured-phone-v1";
|
|
14
|
+
"structured-tools-phone-v1": "structured-tools-phone-v1";
|
|
13
15
|
"doubao-seed-phone-v1": "doubao-seed-phone-v1";
|
|
14
16
|
"gui-owl-phone-v1": "gui-owl-phone-v1";
|
|
15
17
|
}>;
|
|
@@ -2,7 +2,7 @@ import { type PhoneAppAccess } from './app-access.js';
|
|
|
2
2
|
import { type PhonePlan, type PhonePlanState } from './planning.js';
|
|
3
3
|
import type { Config } from '../config/schema.js';
|
|
4
4
|
import { type PhoneAction, type PhoneApplication, type PhoneDecision, type PhoneObservation, type PhoneCompletion, type PhoneTaskContract, type PhoneRequestedOutput } from './contracts.js';
|
|
5
|
-
export
|
|
5
|
+
export { phoneModelProfile } from './model-policy.js';
|
|
6
6
|
export declare function validatePhoneModelChange(next: {
|
|
7
7
|
primary: string;
|
|
8
8
|
} | null | undefined, previous?: {
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
import { PhoneDecisionSchema, PhoneError,
|
|
1
|
+
import { PhoneDecisionSchema, PhoneError, init_contracts } from "./contracts.js";
|
|
2
|
+
import { init_model_policy, phoneModelProfile } from "./model-policy.js";
|
|
2
3
|
import { getApiKey, init_providers, resolveModel } from "../providers/index.js";
|
|
3
4
|
import { cloudCreditBudgetHeaders, reportCloudCreditError } from "../providers/xopc-cloud-credit-budget.js";
|
|
4
5
|
import { currentPhoneTrace, measurePhonePhase } from "./execution-trace.js";
|
|
5
|
-
import {
|
|
6
|
+
import { predictPhoneToolDecision } from "./structured-model.js";
|
|
6
7
|
import { readPhoneModelResponse } from "./model-response.js";
|
|
7
8
|
import { AutoGlmHistory, autoGlmSystemPrompt, buildAutoGlmMessages } from "./autoglm-protocol.js";
|
|
9
|
+
import { phoneAllowsApp } from "./app-access.js";
|
|
8
10
|
import { PHONE_PLANNING_RULES, PhonePlanSchema } from "./planning.js";
|
|
9
11
|
import { phoneSemanticControls } from "./semantic-controls.js";
|
|
10
12
|
import { guiPhonePrompt, parseDoubaoPhone, parseGuiOwlPhone } from "./gui-protocol.js";
|
|
11
13
|
import { z } from "zod";
|
|
12
14
|
import { performance } from "node:perf_hooks";
|
|
13
15
|
//#region src/phone/model-adapter.ts
|
|
16
|
+
init_model_policy();
|
|
14
17
|
init_providers();
|
|
15
18
|
init_contracts();
|
|
16
|
-
function phoneModelProfile(model) {
|
|
17
|
-
const candidate = model;
|
|
18
|
-
const metadata = PhoneModelMetadataSchema.safeParse(candidate?.phoneUse);
|
|
19
|
-
return metadata.success && candidate?.api === "openai-completions" && candidate.input?.includes("image") ? metadata.data.profile : void 0;
|
|
20
|
-
}
|
|
21
19
|
function validatePhoneModelChange(next, previous) {
|
|
22
20
|
if (!next || next.primary === previous?.primary || next.primary === "phone-mock/settings-about") return;
|
|
23
21
|
try {
|
|
@@ -507,6 +505,31 @@ async function createPhoneModel(modelRef, config, agentId) {
|
|
|
507
505
|
transport: config.phone?.modelResponseMode ?? "json"
|
|
508
506
|
};
|
|
509
507
|
try {
|
|
508
|
+
if (profile === "structured-tools-phone-v1") {
|
|
509
|
+
metric.protocol = profile;
|
|
510
|
+
const deadline = AbortSignal.timeout(config.phone?.modelRequestTimeoutMs ?? 45e3);
|
|
511
|
+
try {
|
|
512
|
+
const requestSignal = AbortSignal.any([signal, deadline]);
|
|
513
|
+
requestSignal.throwIfAborted();
|
|
514
|
+
const currentKey = await getApiKey(model.provider, {
|
|
515
|
+
agentId,
|
|
516
|
+
appConfig: config
|
|
517
|
+
});
|
|
518
|
+
if (!currentKey) throw new PhoneError("PHONE_MODEL_KEY_MISSING", "Reconnect the model provider on the Gateway host");
|
|
519
|
+
const modelInput = {
|
|
520
|
+
...input,
|
|
521
|
+
enhancements: {
|
|
522
|
+
...input.enhancements,
|
|
523
|
+
hierarchicalPlanning: false
|
|
524
|
+
}
|
|
525
|
+
};
|
|
526
|
+
const instructions = `Operate the authorized Android phone using exactly one phone_decision function call. Coordinates are normalized to 0..1000 on both axes. Ground actions in the current screenshot and native UI. Use typeText only for a focused non-password editable field; mode replace changes existing contents, insert appends. Request needsUser for passwords, login, verification codes, CAPTCHA or an effect outside the authorized goal. Completion is a claim, verified separately by the host. ${input.readOnly ? PHONE_SCREEN_READING_RULES : PHONE_RECOVERY_RULES}${input.readingFields ? " Return the requested readingFields as a compact JSON object encoded in complete.summary, with exactly those keys and visible string values or null. Do not merge fields." : ""}${input.enhancements?.semanticControls ? ` ${PHONE_SEMANTIC_RULES}` : ""}`;
|
|
527
|
+
return await measurePhonePhase("model_request", () => predictPhoneToolDecision(model, currentKey, instructions, buildPhoneModelContext(modelInput), modelInput, requestSignal, metric, started));
|
|
528
|
+
} catch (error) {
|
|
529
|
+
if (!signal.aborted && deadline.aborted) throw new PhoneError("PHONE_MODEL_TIMEOUT", "Phone model request timed out; no action from this request was dispatched", 502);
|
|
530
|
+
throw error;
|
|
531
|
+
}
|
|
532
|
+
}
|
|
510
533
|
const nativeGui = profile === "doubao-seed-phone-v1" || profile === "gui-owl-phone-v1";
|
|
511
534
|
const modelInput = profile !== "structured-phone-v1" ? {
|
|
512
535
|
...input,
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Native phone protocols stay explicit; ordinary visual tool models use function calls. */
|
|
2
|
+
export declare function phoneModelProfile(model: unknown): "autoglm-phone-v1" | "structured-phone-v1" | "structured-tools-phone-v1" | "doubao-seed-phone-v1" | "gui-owl-phone-v1";
|
|
3
|
+
/** Generic visual models remain eligible for ordinary chat and vision pickers. */
|
|
4
|
+
export declare function isDedicatedPhoneModel(model: unknown): boolean;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { PhoneModelMetadataSchema, init_contracts } from "./contracts.js";
|
|
3
|
+
import { init_constants } from "../providers/constants.js";
|
|
4
|
+
//#region src/phone/model-policy.ts
|
|
5
|
+
/** Native phone protocols stay explicit; ordinary visual tool models use function calls. */
|
|
6
|
+
function phoneModelProfile(model) {
|
|
7
|
+
if (!model || typeof model !== "object") return void 0;
|
|
8
|
+
const value = model;
|
|
9
|
+
if (!Array.isArray(value.input) || !value.input.includes("image")) return void 0;
|
|
10
|
+
const compatibleApi = value.api === "openai-completions" || value.api === "openai-responses";
|
|
11
|
+
if (value.phoneUse !== void 0) {
|
|
12
|
+
const metadata = PhoneModelMetadataSchema.safeParse(value.phoneUse);
|
|
13
|
+
if (!metadata.success) return void 0;
|
|
14
|
+
return metadata.data.profile === "structured-tools-phone-v1" ? compatibleApi && value.supportsTools !== false ? metadata.data.profile : void 0 : value.api === "openai-completions" ? metadata.data.profile : void 0;
|
|
15
|
+
}
|
|
16
|
+
if (value.provider === "xopc-cloud" || value.baseUrl === "extension://provider-plugin" || value.computerUse || value.supportsTools === false) return void 0;
|
|
17
|
+
return compatibleApi ? "structured-tools-phone-v1" : void 0;
|
|
18
|
+
}
|
|
19
|
+
/** Generic visual models remain eligible for ordinary chat and vision pickers. */
|
|
20
|
+
function isDedicatedPhoneModel(model) {
|
|
21
|
+
const value = model;
|
|
22
|
+
return Boolean(value?.phoneUse && phoneModelProfile(model) && value.phoneUse.profile !== "structured-tools-phone-v1");
|
|
23
|
+
}
|
|
24
|
+
var init_model_policy = __esmMin((() => {
|
|
25
|
+
init_constants();
|
|
26
|
+
init_contracts();
|
|
27
|
+
}));
|
|
28
|
+
//#endregion
|
|
29
|
+
init_model_policy();
|
|
30
|
+
export { init_model_policy, isDedicatedPhoneModel, phoneModelProfile };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PhoneDeviceSchema, PhoneError, init_contracts } from "./contracts.js";
|
|
2
|
-
import { normalizePhoneAppAccess } from "./app-access.js";
|
|
3
2
|
import { DurableState } from "../storage/sqlite/durable-state.js";
|
|
3
|
+
import { normalizePhoneAppAccess } from "./app-access.js";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
5
5
|
//#region src/phone/repository.ts
|
|
6
6
|
init_contracts();
|
|
@@ -4,6 +4,10 @@ import { MOCK_PHONE_MODEL, PhoneError, PhoneInputSchema, init_contracts } from "
|
|
|
4
4
|
import { resolveEffectiveAgentConfigForAgent } from "../config/agent-profile.js";
|
|
5
5
|
import { PhoneExecutionTrace, currentPhoneTrace, measurePhonePhase } from "./execution-trace.js";
|
|
6
6
|
import { phoneAllowsApp, phoneAppAccess } from "./app-access.js";
|
|
7
|
+
import { advancePhonePlan, buildPhonePlan, createPhonePlanState } from "./planning.js";
|
|
8
|
+
import { canDispatchPhoneAction, observationSignature, phoneCompletionSatisfied } from "./reliability.js";
|
|
9
|
+
import { groundPhoneCoordinateAction, resolvePhoneSemanticAction } from "./semantic-controls.js";
|
|
10
|
+
import { createPhoneModel, isAboutScreen } from "./model-adapter.js";
|
|
7
11
|
import { nativePhoneOutput, updatePhoneFeedback } from "./task-feedback.js";
|
|
8
12
|
import { PhoneFrameCache, PhoneOperationBudget } from "./live-state.js";
|
|
9
13
|
import { PhoneInteractiveSession } from "./interactive-session.js";
|
|
@@ -13,10 +17,6 @@ import { AdbPhoneDriver, resolveAdbPath } from "./adb-driver.js";
|
|
|
13
17
|
import { CloudPhones } from "./cloud-phones.js";
|
|
14
18
|
import { PhoneLocationEnvironment } from "./location-environment.js";
|
|
15
19
|
import { WirelessPhones } from "./wireless.js";
|
|
16
|
-
import { advancePhonePlan, buildPhonePlan, createPhonePlanState } from "./planning.js";
|
|
17
|
-
import { canDispatchPhoneAction, observationSignature, phoneCompletionSatisfied } from "./reliability.js";
|
|
18
|
-
import { groundPhoneCoordinateAction, resolvePhoneSemanticAction } from "./semantic-controls.js";
|
|
19
|
-
import { createPhoneModel, isAboutScreen } from "./model-adapter.js";
|
|
20
20
|
import { PhoneRepository } from "./repository.js";
|
|
21
21
|
import { phoneCompletionGuidance, phoneCompletionRecoveryHint } from "./completion-recovery.js";
|
|
22
22
|
import { confirmPhoneFocusRecovery, phoneBackRecovery, phoneUnfocusedTypingHint, preparePhoneFocusRecovery } from "./recovery.js";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Api, type Model } from '@earendil-works/pi-ai/compat';
|
|
2
|
+
import { type PhoneDecision } from './contracts.js';
|
|
3
|
+
import type { PhoneModelMetric } from './execution-trace.js';
|
|
4
|
+
import type { PhonePrediction } from './model-adapter.js';
|
|
5
|
+
/** Use the shared provider client for API keys and ChatGPT OAuth without persisting screenshots. */
|
|
6
|
+
export declare function predictPhoneToolDecision(model: Model<Api>, apiKey: string, instructions: string, context: unknown, input: PhonePrediction, signal: AbortSignal, metric: PhoneModelMetric, started: number): Promise<PhoneDecision>;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { PhoneDecisionSchema, PhoneError, init_contracts } from "./contracts.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { completeSimple } from "@earendil-works/pi-ai/compat";
|
|
4
|
+
import { performance } from "node:perf_hooks";
|
|
5
|
+
//#region src/phone/structured-model.ts
|
|
6
|
+
init_contracts();
|
|
7
|
+
const TOOL_NAME = "phone_decision";
|
|
8
|
+
const invalid = () => new PhoneError("PHONE_MODEL_PROTOCOL", "Phone model returned an invalid or incomplete function call; no action was dispatched");
|
|
9
|
+
/** Use the shared provider client for API keys and ChatGPT OAuth without persisting screenshots. */
|
|
10
|
+
async function predictPhoneToolDecision(model, apiKey, instructions, context, input, signal, metric, started) {
|
|
11
|
+
const responses = model.api === "openai-responses";
|
|
12
|
+
const schema = z.object({ decision: input.readOnly ? z.union([PhoneDecisionSchema.options[1], PhoneDecisionSchema.options[2]]) : PhoneDecisionSchema }).strict();
|
|
13
|
+
const tool = {
|
|
14
|
+
name: TOOL_NAME,
|
|
15
|
+
description: "One authorized phone action, completion claim or request for user assistance.",
|
|
16
|
+
parameters: z.toJSONSchema(schema)
|
|
17
|
+
};
|
|
18
|
+
metric.transport = responses ? "responses-stream" : "chat-completions-stream";
|
|
19
|
+
signal.throwIfAborted();
|
|
20
|
+
metric.preparationMs = Math.round(performance.now() - started);
|
|
21
|
+
const result = await completeSimple(model, {
|
|
22
|
+
systemPrompt: instructions,
|
|
23
|
+
messages: [{
|
|
24
|
+
role: "user",
|
|
25
|
+
timestamp: Date.now(),
|
|
26
|
+
content: [{
|
|
27
|
+
type: "text",
|
|
28
|
+
text: JSON.stringify(context)
|
|
29
|
+
}, {
|
|
30
|
+
type: "image",
|
|
31
|
+
data: input.observation.frame.toString("base64"),
|
|
32
|
+
mimeType: "image/png"
|
|
33
|
+
}]
|
|
34
|
+
}],
|
|
35
|
+
tools: [tool]
|
|
36
|
+
}, {
|
|
37
|
+
apiKey,
|
|
38
|
+
maxTokens: Math.min(3e3, model.maxTokens ?? 3e3),
|
|
39
|
+
signal,
|
|
40
|
+
maxRetries: 0,
|
|
41
|
+
transport: "sse",
|
|
42
|
+
cacheRetention: "none",
|
|
43
|
+
onPayload(payload) {
|
|
44
|
+
const body = payload;
|
|
45
|
+
body.parallel_tool_calls = false;
|
|
46
|
+
body.tool_choice = responses ? {
|
|
47
|
+
type: "function",
|
|
48
|
+
name: TOOL_NAME
|
|
49
|
+
} : {
|
|
50
|
+
type: "function",
|
|
51
|
+
function: { name: TOOL_NAME }
|
|
52
|
+
};
|
|
53
|
+
if (responses) {
|
|
54
|
+
body.store = false;
|
|
55
|
+
body.stream = true;
|
|
56
|
+
}
|
|
57
|
+
metric.requestBytes = Buffer.byteLength(JSON.stringify(body));
|
|
58
|
+
},
|
|
59
|
+
onProviderStreamEvent(event) {
|
|
60
|
+
metric.responseBytes = (metric.responseBytes ?? 0) + Buffer.byteLength(JSON.stringify(event));
|
|
61
|
+
if (metric.responseBytes > 2 * 1024 * 1024) throw invalid();
|
|
62
|
+
},
|
|
63
|
+
onResponse(response) {
|
|
64
|
+
metric.httpStatus = response.status;
|
|
65
|
+
metric.firstByteMs = Math.round(performance.now() - started);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
signal.throwIfAborted();
|
|
69
|
+
metric.finishReason = result.stopReason;
|
|
70
|
+
metric.promptTokens = result.usage?.input;
|
|
71
|
+
metric.completionTokens = result.usage?.output;
|
|
72
|
+
metric.totalTokens = result.usage?.totalTokens;
|
|
73
|
+
if (result.stopReason === "length") throw new PhoneError("PHONE_MODEL_TRUNCATED", "Phone model response was truncated; no action was dispatched");
|
|
74
|
+
if (result.stopReason !== "toolUse" || result.errorMessage) throw invalid();
|
|
75
|
+
const calls = result.content.filter((item) => item.type === "toolCall");
|
|
76
|
+
if (calls.length !== 1 || calls[0].name !== TOOL_NAME) throw invalid();
|
|
77
|
+
let decision;
|
|
78
|
+
try {
|
|
79
|
+
decision = schema.parse(calls[0].arguments).decision;
|
|
80
|
+
} catch {
|
|
81
|
+
throw invalid();
|
|
82
|
+
}
|
|
83
|
+
if (decision.kind === "action" && decision.action.type === "tapElement" && !input.enhancements?.semanticControls) throw invalid();
|
|
84
|
+
return decision;
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { predictPhoneToolDecision };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const mcpStdioSupervisor = "\nimport {spawn} from 'node:child_process';\nconst p=JSON.parse(process.argv[1]);\nconst child=spawn(p.command,p.args,{cwd:p.cwd,env:process.env,detached:process.platform!=='win32',stdio:['pipe','pipe','ignore'],windowsHide:true});\nlet stopping=false;\nconst stop=()=>{if(stopping)return;stopping=true;try{if(process.platform==='win32')spawn('taskkill',['/pid',String(child.pid),'/T','/F'],{stdio:'ignore',windowsHide:true});else process.kill(-child.pid,'SIGTERM');}catch{}setTimeout(()=>{try{if(process.platform!=='win32')process.kill(-child.pid,'SIGKILL');}catch{}process.exit(0);},500);};\nprocess.on('SIGTERM',stop);process.on('SIGINT',stop);process.stdin.on('end',stop);process.stdin.on('error',stop);\nchild.on('error',()=>{process.stderr.write('Local MCP executable could not start');process.exit(1);});\nchild.on('exit',code=>{stop();process.exitCode=code||0;});\nprocess.stdin.pipe(child.stdin);child.stdin.on('error',()=>{});child.stdout.pipe(process.stdout);\n";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/process/mcp-stdio-supervisor.ts
|
|
2
|
+
const mcpStdioSupervisor = `
|
|
3
|
+
import {spawn} from 'node:child_process';
|
|
4
|
+
const p=JSON.parse(process.argv[1]);
|
|
5
|
+
const child=spawn(p.command,p.args,{cwd:p.cwd,env:process.env,detached:process.platform!=='win32',stdio:['pipe','pipe','ignore'],windowsHide:true});
|
|
6
|
+
let stopping=false;
|
|
7
|
+
const stop=()=>{if(stopping)return;stopping=true;try{if(process.platform==='win32')spawn('taskkill',['/pid',String(child.pid),'/T','/F'],{stdio:'ignore',windowsHide:true});else process.kill(-child.pid,'SIGTERM');}catch{}setTimeout(()=>{try{if(process.platform!=='win32')process.kill(-child.pid,'SIGKILL');}catch{}process.exit(0);},500);};
|
|
8
|
+
process.on('SIGTERM',stop);process.on('SIGINT',stop);process.stdin.on('end',stop);process.stdin.on('error',stop);
|
|
9
|
+
child.on('error',()=>{process.stderr.write('Local MCP executable could not start');process.exit(1);});
|
|
10
|
+
child.on('exit',code=>{stop();process.exitCode=code||0;});
|
|
11
|
+
process.stdin.pipe(child.stdin);child.stdin.on('error',()=>{});child.stdout.pipe(process.stdout);
|
|
12
|
+
`;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { mcpStdioSupervisor };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ProjectStore, slugifyProjectName } from "./project-store.js";
|
|
2
|
-
import { getProjectForSession, getProjectWorkspacePathForSession, resolveProjectWorkspacePath } from "./workspace.js";
|
|
3
2
|
import { ProjectWorkspaceConflictError, ProjectWorkspaceMissingError, canonicalWorkspacePath, ensureWorkspaceDirectory, inferProjectNameFromWorkspaceRoot, isPathSameOrInsideWorkspace, isSafeAutoCreateWorkspaceRoot, resolveWorkspaceProjectRoot, workspaceDirectoryExists } from "./workspace-project.js";
|
|
4
3
|
import { inferProjectExecutionMode, inferProjectKind } from "./project-kind.js";
|
|
5
4
|
import { bindSessionToProject, bindSessionsToProject, listProjectConversationIds, moveSessionToProject, unbindSessionFromProject } from "./session-bind.js";
|
|
6
5
|
import { ProjectDeletionBlockedError, ProjectService, ProjectWorkspaceInUseError, ProjectWorkspaceInvalidError } from "./project-service.js";
|
|
6
|
+
import { ProjectSkillError, ProjectSkillService } from "./project-skill-service.js";
|
|
7
7
|
import { isValidProjectAgentId, normalizeProjectAgentId, resolveProjectAgentId } from "./project-agent.js";
|
|
8
8
|
import { CODING_PROJECT_AGENT_ID, inferSuggestedProjectDefaultAgentId, suggestProjectDefaultAgentId } from "./project-agent-suggestion.js";
|
|
9
|
-
import { ProjectSkillError, ProjectSkillService } from "./project-skill-service.js";
|
|
10
9
|
import { buildProjectLoopOverview } from "./project-loop.js";
|
|
11
10
|
import { bindAutomationToProject } from "./automation-bind.js";
|
|
12
11
|
import { bindKnowledgeItemToProject } from "./knowledge-bind.js";
|
|
12
|
+
import { getProjectForSession, getProjectWorkspacePathForSession, resolveProjectWorkspacePath } from "./workspace.js";
|
|
13
13
|
export { CODING_PROJECT_AGENT_ID, ProjectDeletionBlockedError, ProjectService, ProjectSkillError, ProjectSkillService, ProjectStore, ProjectWorkspaceConflictError, ProjectWorkspaceInUseError, ProjectWorkspaceInvalidError, ProjectWorkspaceMissingError, bindAutomationToProject, bindKnowledgeItemToProject, bindSessionToProject, bindSessionsToProject, buildProjectLoopOverview, canonicalWorkspacePath, ensureWorkspaceDirectory, getProjectForSession, getProjectWorkspacePathForSession, inferProjectExecutionMode, inferProjectKind, inferProjectNameFromWorkspaceRoot, inferSuggestedProjectDefaultAgentId, isPathSameOrInsideWorkspace, isSafeAutoCreateWorkspaceRoot, isValidProjectAgentId, listProjectConversationIds, moveSessionToProject, normalizeProjectAgentId, resolveProjectAgentId, resolveProjectWorkspacePath, resolveWorkspaceProjectRoot, slugifyProjectName, suggestProjectDefaultAgentId, unbindSessionFromProject, workspaceDirectoryExists };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { agentExists, init_resolve_route } from "../routing/resolve-route.js";
|
|
2
1
|
import { inferProjectKind } from "./project-kind.js";
|
|
2
|
+
import { agentExists, init_resolve_route } from "../routing/resolve-route.js";
|
|
3
3
|
//#region src/projects/project-agent-suggestion.ts
|
|
4
4
|
init_resolve_route();
|
|
5
5
|
const CODING_PROJECT_AGENT_ID = "coder";
|
|
@@ -2,12 +2,12 @@ import { init_transaction, runSqliteWriteTransaction } from "../storage/sqlite/t
|
|
|
2
2
|
import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
|
|
3
3
|
import "../storage/sqlite/index.js";
|
|
4
4
|
import { changedFieldsFromPatch, emitActivity, systemActivityActor, systemActivitySource } from "../activity/emitter.js";
|
|
5
|
-
import { ExecutionEnvironmentStore } from "../execution-environments/store.js";
|
|
6
5
|
import { ProjectStore } from "./project-store.js";
|
|
7
|
-
import { DomainOutboxDispatcher } from "../infra/domain-outbox-dispatcher.js";
|
|
8
6
|
import { enqueueProjectChanged } from "./project-change-events.js";
|
|
9
7
|
import { ProjectWorkspaceConflictError, ProjectWorkspaceMissingError, canonicalWorkspacePath, inferProjectNameFromWorkspaceRoot, isPathSameOrInsideWorkspace, isSafeAutoCreateWorkspaceRoot, resolveWorkspaceProjectRoot, workspaceDirectoryExists } from "./workspace-project.js";
|
|
10
8
|
import { drainProjectWorkspaceCreation, queueProjectWorkspaceCreation } from "./project-workspace-creation.js";
|
|
9
|
+
import { DomainOutboxDispatcher } from "../infra/domain-outbox-dispatcher.js";
|
|
10
|
+
import { ExecutionEnvironmentStore } from "../execution-environments/store.js";
|
|
11
11
|
import { listPendingProjectUnderstandingRuns } from "../work-discovery/repository.js";
|
|
12
12
|
import { inferProjectExecutionMode } from "./project-kind.js";
|
|
13
13
|
import { bindSessionToProject, listProjectConversationIds, unbindSessionFromProject } from "./session-bind.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { init_paths, resolveBundledSkillsDir } from "../config/paths.js";
|
|
2
|
-
import { removeSkillsLockEntry } from "../agent/skills/hub-lock.js";
|
|
3
|
-
import { deleteManagedSkill, installSkillFromZip, isValidSkillId } from "../agent/skills/managed-store.js";
|
|
4
2
|
import { resolveWorkspaceSkillsDir, resolveWorkspaceSkillsLockPath } from "../agent/skills/workspace-skills-dir.js";
|
|
5
3
|
import { loadSkills, loadWorkspaceSkillInventory } from "../agent/skills/index.js";
|
|
4
|
+
import { removeSkillsLockEntry } from "../agent/skills/hub-lock.js";
|
|
5
|
+
import { deleteManagedSkill, installSkillFromZip, isValidSkillId } from "../agent/skills/managed-store.js";
|
|
6
6
|
import { pullSkillFromSource } from "../agent/skills/hub-pull.js";
|
|
7
7
|
import { downloadFromMarketplace } from "../agent/skills/skills-marketplace.js";
|
|
8
8
|
import { basename, dirname, join, relative, resolve, sep } from "node:path";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { isXopcDatabaseOpen } from "../storage/sqlite/connection.js";
|
|
2
2
|
import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
|
|
3
3
|
import "../storage/sqlite/index.js";
|
|
4
|
+
import { ProjectStore } from "./project-store.js";
|
|
4
5
|
import { resolveEffectiveAgentProfileForSession } from "../config/agent-profile.js";
|
|
5
6
|
import { projectWorkspacePath } from "../session/session-workspace.js";
|
|
6
|
-
import { ProjectStore } from "./project-store.js";
|
|
7
7
|
//#region src/projects/workspace.ts
|
|
8
8
|
function resolveProjectWorkspacePath(config, conversationId, project) {
|
|
9
9
|
const projectWorkspace = projectWorkspacePath(project);
|
|
@@ -6,7 +6,7 @@ export interface CatalogModel {
|
|
|
6
6
|
profile: ComputerProfile;
|
|
7
7
|
};
|
|
8
8
|
phoneUse?: {
|
|
9
|
-
profile: 'autoglm-phone-v1' | 'structured-phone-v1' | 'doubao-seed-phone-v1' | 'gui-owl-phone-v1';
|
|
9
|
+
profile: 'autoglm-phone-v1' | 'structured-phone-v1' | 'structured-tools-phone-v1' | 'doubao-seed-phone-v1' | 'gui-owl-phone-v1';
|
|
10
10
|
};
|
|
11
11
|
id: string;
|
|
12
12
|
name: string;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
|
|
2
2
|
import { init_contracts } from "../phone/contracts.js";
|
|
3
|
+
import { phoneModelProfile } from "../phone/model-policy.js";
|
|
3
4
|
import { init_model_policy, isComputerModel, isDedicatedComputerProfile } from "../computer/model-policy.js";
|
|
4
5
|
import { getModelCatalogStore, init_model_catalog_store } from "./model-catalog-store.js";
|
|
5
6
|
import { getModelRegistry, init_model_registry } from "./model-registry.js";
|
|
6
|
-
import
|
|
7
|
-
import { parseImageGenerationModelRef } from "../agent/image/generation/model-ref.js";
|
|
7
|
+
import "../phone/model-adapter.js";
|
|
8
8
|
import { getImageGenerationProvider } from "../agent/image/generation/provider-registry.js";
|
|
9
|
+
import { parseImageGenerationModelRef } from "../agent/image/generation/model-ref.js";
|
|
9
10
|
//#region src/providers/model-reference-auditor.ts
|
|
10
11
|
init_contracts();
|
|
11
12
|
init_repository();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { init_model_policy,
|
|
1
|
+
import { init_model_policy, isDedicatedPhoneModel } from "../phone/model-policy.js";
|
|
2
|
+
import { init_model_policy as init_model_policy$1, isDedicatedComputerModel } from "../computer/model-policy.js";
|
|
2
3
|
import { getProviderRegistry, init_plugin_registry } from "./plugin-registry.js";
|
|
3
4
|
import { PROVIDER_META, getAllModels, getAllProviders, getModelsByProvider, getProviderDisplayName, init_providers, isProviderConfigured } from "./index.js";
|
|
4
5
|
import { getDomesticProviderPreset, getDomesticProviderPresetIds } from "./domestic-presets.js";
|
|
@@ -6,6 +7,7 @@ import { getDomesticProviderPreset, getDomesticProviderPresetIds } from "./domes
|
|
|
6
7
|
init_providers();
|
|
7
8
|
init_plugin_registry();
|
|
8
9
|
init_model_policy();
|
|
10
|
+
init_model_policy$1();
|
|
9
11
|
const FEATURED_PROVIDER_ORDER = [
|
|
10
12
|
"xopc-cloud",
|
|
11
13
|
"qwen-token-plan-cn",
|
|
@@ -238,7 +240,7 @@ function modelToCatalogView(model) {
|
|
|
238
240
|
...model.contextWindow ? { contextWindow: model.contextWindow } : {},
|
|
239
241
|
...model.maxTokens ? { maxTokens: model.maxTokens } : {},
|
|
240
242
|
vision: input.includes("image"),
|
|
241
|
-
recommended: !(
|
|
243
|
+
recommended: !isDedicatedPhoneModel(model) && !isDedicatedComputerModel(model) && isRecommendedModel(model.provider, model.id)
|
|
242
244
|
};
|
|
243
245
|
}
|
|
244
246
|
function presetModelToCatalogView(provider, model) {
|
|
@@ -266,7 +268,7 @@ function sortModelsForPicker(models) {
|
|
|
266
268
|
});
|
|
267
269
|
}
|
|
268
270
|
function getRecommendedModelsForProvider(provider, limit = 4) {
|
|
269
|
-
const fromRegistry = sortModelsForPicker(getModelsByProvider(provider)).filter((model) => !(
|
|
271
|
+
const fromRegistry = sortModelsForPicker(getModelsByProvider(provider)).filter((model) => !isDedicatedPhoneModel(model) && !isDedicatedComputerModel(model) && isRecommendedModel(provider, model.id)).slice(0, limit).map(modelToCatalogView);
|
|
270
272
|
if (fromRegistry.length > 0) return fromRegistry;
|
|
271
273
|
const preset = getDomesticProviderPreset(provider);
|
|
272
274
|
if (!preset) return [];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createLogger } from "../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
3
|
import { hasGatewayScope } from "../gateway/security/gateway-scopes.js";
|
|
4
|
-
import { EndpointToolPolicyError } from "../endpoint-tools/policy.js";
|
|
5
4
|
import { REALTIME_CAPABILITIES, REALTIME_HEARTBEAT_INTERVAL_MS, REALTIME_HEARTBEAT_TIMEOUT_MS, REALTIME_HELLO_TIMEOUT_MS, REALTIME_MAX_CLIENT_FRAME_BYTES, parseClientRealtimeJsonFrame, parseClientRealtimeMessage } from "../../packages/realtime-protocol/src/index.js";
|
|
5
|
+
import { EndpointToolPolicyError } from "../endpoint-tools/policy.js";
|
|
6
6
|
import { verifyDeviceConnectionProof } from "../gateway/security/device-request-proof.js";
|
|
7
7
|
import { compactRunEvent } from "./compact-run-event.js";
|
|
8
8
|
import { createPreauthConnectionBudget } from "../gateway/security/preauth-connection-budget.js";
|
|
@@ -2,9 +2,9 @@ import { createLogger } from "../utils/logger/index.js";
|
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
3
|
import { isTailscaleInstalled } from "../infra/tailscale.js";
|
|
4
4
|
import { resolveGatewayBindMode } from "../config/gateway-bind.js";
|
|
5
|
-
import { getTunnelService } from "../tunnel/tunnel-service.js";
|
|
6
5
|
import { collectExposureConflicts } from "./exposure-guards.js";
|
|
7
6
|
import { getTailscaleExposureState, maybeStartTailscaleFromConfig, stopTailscaleExposure } from "../gateway/tailscale-lifecycle.js";
|
|
7
|
+
import { getTunnelService } from "../tunnel/tunnel-service.js";
|
|
8
8
|
import { getTunnelConsentState } from "../tunnel/consent.js";
|
|
9
9
|
import { maybeAutoStartTunnelFromConfig } from "../tunnel/gateway-lifecycle.js";
|
|
10
10
|
//#region src/remote-access/exposure-manager.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { RuntimeError } from "./errors.js";
|
|
2
2
|
import { isAbsolute, join, posix, relative, resolve } from "node:path";
|
|
3
3
|
import { spawn } from "node:child_process";
|
|
4
|
-
import AdmZip from "adm-zip";
|
|
5
4
|
import { lstat, mkdir, readdir, readlink, rename, rm, stat } from "node:fs/promises";
|
|
5
|
+
import AdmZip from "adm-zip";
|
|
6
6
|
//#region src/runtime-tools/archive.ts
|
|
7
7
|
const MAX_ARCHIVE_ENTRIES = 5e4;
|
|
8
8
|
const MAX_TAR_OUTPUT_BYTES = 16 * 1024 * 1024;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { ADB_VERSION, SCRCPY_VERSION, managedPhoneAdbDir, managedPhoneAdbPath, managedScrcpyServerPath, phoneDependencyAsset } from "./phone-dependency-catalog.js";
|
|
2
|
-
import { resolveAdbPath } from "../phone/adb-driver.js";
|
|
3
1
|
import { RuntimeError } from "./errors.js";
|
|
4
2
|
import { extractRuntimeArchive } from "./archive.js";
|
|
5
3
|
import { runRuntimeCommand } from "./command.js";
|
|
6
4
|
import { downloadVerifiedArchive, sha256File } from "./downloader.js";
|
|
7
5
|
import { withInstallLock } from "./install-lock.js";
|
|
8
6
|
import { runtimeDownloadPath } from "./paths.js";
|
|
7
|
+
import { ADB_VERSION, SCRCPY_VERSION, managedPhoneAdbDir, managedPhoneAdbPath, managedScrcpyServerPath, phoneDependencyAsset } from "./phone-dependency-catalog.js";
|
|
8
|
+
import { resolveAdbPath } from "../phone/adb-driver.js";
|
|
9
9
|
import { dirname, isAbsolute, join } from "node:path";
|
|
10
10
|
import { randomUUID } from "node:crypto";
|
|
11
11
|
import { EventEmitter } from "node:events";
|