@xopcai/xopc 0.0.425 → 0.0.427
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/telegram/src/adapters/security-adapter.js +1 -1
- package/dist/extensions/telegram/src/pairing-config-resolver.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 +1 -1
- package/dist/extensions/weixin/src/auth/accounts.js +2 -2
- package/dist/extensions/weixin/src/auth/pairing.js +1 -1
- package/dist/extensions/weixin/src/cdn/upload.js +1 -1
- package/dist/extensions/weixin/src/cli/gateway-qr-login.js +1 -1
- package/dist/extensions/weixin/src/cli/qr-login.js +1 -1
- package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
- package/dist/extensions/weixin/src/messaging/inbound.js +2 -2
- package/dist/extensions/weixin/src/messaging/process-message.js +3 -3
- package/dist/extensions/weixin/src/messaging/send.js +12 -3
- package/dist/extensions/weixin/src/monitor/monitor.js +1 -1
- package/dist/extensions/weixin/src/outbound-send.js +12 -3
- package/dist/extensions/weixin/src/pairing-config-resolver.js +1 -1
- package/dist/extensions/weixin/src/plugin.js +1 -1
- package/dist/gateway/static/root/assets/{activity-store-CMw8qBuC.js → activity-store-D_DXNHba.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-JI0YWOIm.js → agent-avatar-dicebear-CjaQxFQt.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-display-YqmwzOSa.js → agent-avatar-display-6Z4m31Fz.js} +2 -2
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-D4ClP_DJ.js +1 -0
- package/dist/gateway/static/root/assets/agent-plugin-dialog-m1A8wF9p.js +1 -0
- package/dist/gateway/static/root/assets/agents-B9slUA_1.js +77 -0
- package/dist/gateway/static/root/assets/{agents-admin-api-DLnmdC1h.js → agents-admin-api-u5c3GREg.js} +1 -1
- package/dist/gateway/static/root/assets/{api-Boc-CVh7.js → api-C3Tp9MkF.js} +1 -1
- package/dist/gateway/static/root/assets/{api-bL7sxjAF.js → api-CRT9ZyH0.js} +1 -1
- package/dist/gateway/static/root/assets/app-link-DRy3-k7j.js +1 -0
- package/dist/gateway/static/root/assets/{app-management-settings-panel-jIG5i7KE.js → app-management-settings-panel-XqoIBF2H.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-BnaQW9Xd.js → appearance-settings-9ZtqCASo.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-DUeu_7iC.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-DjboG3kA.js → archive-plugin-BCQnOkV8.js} +1 -1
- package/dist/gateway/static/root/assets/attachment-load-DrVGNxJm.js +1 -0
- package/dist/gateway/static/root/assets/{automation-api-CZqL9l_d.js → automation-api-hRsGx-qe.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-result-state-DRd-X_Ai.js → automation-result-state-CMfVTv_i.js} +1 -1
- package/dist/gateway/static/root/assets/automation-task-card-Bur78p68.js +3 -0
- package/dist/gateway/static/root/assets/{automations-page-HyBQIfmn.js → automations-page-DMIyWsP0.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-DEkDjxeU.js +9 -0
- package/dist/gateway/static/root/assets/{binary-plugins-Bg8ARZUH.js → binary-plugins-CIB5cbvQ.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-DKohqFAW.js → block-editor-CXdlNAmZ.js} +2 -2
- package/dist/gateway/static/root/assets/{browser-automation-inputs-YeibTzw4.js → browser-automation-inputs-Fxo7HbK6.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-automations-page-BWNcbuz2.js → browser-automations-page-Dn3LN5wo.js} +2 -2
- package/dist/gateway/static/root/assets/{browser-control-api-CDeuxy2x.js → browser-control-api-CbbPvhHR.js} +1 -1
- package/dist/gateway/static/root/assets/browser-settings-page-Cpm9fEPV.js +3 -0
- package/dist/gateway/static/root/assets/{button-CnRSIP6m.js → button-Cc4hUNTt.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-BcQa8c9n.js → capabilities-BEvywfF9.js} +1 -1
- package/dist/gateway/static/root/assets/capabilities-Bo2qEJhH.js +1 -0
- package/dist/gateway/static/root/assets/capabilities-page-BCzsIzvC.js +2 -0
- package/dist/gateway/static/root/assets/capabilities-settings-panel-Cr67ziwX.js +8 -0
- package/dist/gateway/static/root/assets/{capability-header-actions-CTUCuBlW.js → capability-header-actions-BxMYfQ8y.js} +1 -1
- package/dist/gateway/static/root/assets/channels-CA5z5dGY.js +1 -0
- package/dist/gateway/static/root/assets/{chat-agents-api-B8JO6Tcj.js → chat-agents-api-D8YS5amE.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-chart-block-DRtuFfF1.js → chat-chart-block-B39npsXj.js} +1 -1
- package/dist/gateway/static/root/assets/chat-page-D92AWJbh.js +72 -0
- package/dist/gateway/static/root/assets/{chat-terminal-dock-Dkqq5FSL.js → chat-terminal-dock-DjFnElAM.js} +2 -2
- package/dist/gateway/static/root/assets/{command-palette-api-qujvNqkK.js → command-palette-api-Dijix7V6.js} +1 -1
- package/dist/gateway/static/root/assets/composer-payload-handoff-BQXlFKf4.js +1 -0
- package/dist/gateway/static/root/assets/{computer-settings-page-8q4hRmoo.js → computer-settings-page-MkqyKyf3.js} +1 -1
- package/dist/gateway/static/root/assets/confirm-dialog-D7dQJytv.js +1 -0
- package/dist/gateway/static/root/assets/connected-providers-grid-BSvKP2u-.js +1 -0
- package/dist/gateway/static/root/assets/{connector-service-page-DQaTI21R.js → connector-service-page-DlIl9bLx.js} +1 -1
- package/dist/gateway/static/root/assets/{connectors-api-BjypBp2g.js → connectors-api-DEJU8mgn.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-Vx8-MY0Y.js +1 -0
- package/dist/gateway/static/root/assets/{copy-text-row-CYIv7RfP.js → copy-text-row-CpiRzq4G.js} +1 -1
- package/dist/gateway/static/root/assets/{date-picker-D_PSHGpe.js → date-picker-BIfjfOTM.js} +1 -1
- package/dist/gateway/static/root/assets/dependency-picker-XjPB8FJS.js +1 -0
- package/dist/gateway/static/root/assets/{desktop-pet-1Et9VqkM.js → desktop-pet-DFNehTtd.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-narrative-rADKU0FX.js → desktop-pet-narrative-ChwjpnsG.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-0fCGgaG7.js → desktop-pet-settings-BDjsFown.js} +1 -1
- package/dist/gateway/static/root/assets/{dev-view-store-TTj_djD8.js → dev-view-store-CeZZLOc6.js} +1 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-DH_uJ698.js +1 -0
- package/dist/gateway/static/root/assets/{directory-picker-path-field-C07a7wYX.js → directory-picker-path-field-DiZXY7jF.js} +1 -1
- package/dist/gateway/static/root/assets/{discussion-annotation-sync-BFqKm9ky.js → discussion-annotation-sync-BXqNuZnx.js} +1 -1
- package/dist/gateway/static/root/assets/dist-BGTk37IG.js +1 -0
- package/dist/gateway/static/root/assets/dist-BuHnPloF.js +1 -0
- package/dist/gateway/static/root/assets/dist-GJ8-1PAx.js +1 -0
- package/dist/gateway/static/root/assets/dist-ZrL34Ps4.js +1 -0
- package/dist/gateway/static/root/assets/{extension-debug-page-DFaVlqas.js → extension-debug-page-myQqsol2.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-iframe-host-BfzPfXBq.js → extension-iframe-host-DaL-OcTw.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-marketplace-api-ow0K1Y4_.js → extension-marketplace-api-DRBszrCR.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-CrDADV5W.js → extension-page-DvlGhZLa.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-provider-mnRoa63o.js → extension-provider-fOi6V6Cr.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-BLl02GFY.js → extension-settings-page-DOGlQpkx.js} +1 -1
- package/dist/gateway/static/root/assets/{file-preview-surface-TGdKqhCf.js → file-preview-surface-DfkXvFnc.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-swr-DfPQIHOL.js → gateway-config-swr-BOCt_zOo.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-67vWg_M2.js → gateway-realtime-BL_Cf0OQ.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-BHBOPF_q.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-restart-CLtR2wkL.js → gateway-restart-CHf8qY7H.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-COvC3r-l.js → gateway-settings-Di41peSM.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-9YQllbw2.js → gateway-startup-retry-CvkJYurV.js} +1 -1
- package/dist/gateway/static/root/assets/{global-defaults-api-DYMRjGvd.js → global-defaults-api-BWMbKu72.js} +1 -1
- package/dist/gateway/static/root/assets/home-page-B3sgqrl3.js +2 -0
- package/dist/gateway/static/root/assets/{image-generation-api-Dzydfvy8.js → image-generation-api-Ce-IY7Ug.js} +1 -1
- package/dist/gateway/static/root/assets/{imports-page-Csd_YZXZ.js → imports-page-W7_cDbxy.js} +1 -1
- package/dist/gateway/static/root/assets/index-D4B6O8B3.js +11 -0
- package/dist/gateway/static/root/assets/index-DGWBJDAM.css +1 -0
- package/dist/gateway/static/root/assets/install-connector-dialog-DWVl9ekV.js +1 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-B201bMIa.js → keyboard-shortcuts-settings-Doyu0Q9e.js} +1 -1
- package/dist/gateway/static/root/assets/link-2-D_ZKYUW7.js +1 -0
- package/dist/gateway/static/root/assets/local-app-workbench-page-B3h3P6aI.js +1 -0
- package/dist/gateway/static/root/assets/{local-apps-page-BOwqNH0L.js → local-apps-page-D6D2bZGW.js} +1 -1
- package/dist/gateway/static/root/assets/{local-session-drafts-DjmK-SM9.js → local-session-drafts-BJ1B1dQ7.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-Bg_XR36n.js → locale-store-Br7IfbXK.js} +1 -1
- package/dist/gateway/static/root/assets/{logs-page-gw3E9CMQ.js → logs-page-qiXos_12.js} +2 -2
- package/dist/gateway/static/root/assets/management-settings-C0WcSdK7.js +1 -0
- package/dist/gateway/static/root/assets/{markdown-view-BUpXJUPv.js → markdown-view-Ck5s16p9.js} +2 -2
- package/dist/gateway/static/root/assets/mcp-conversation-setup-page-CENs3hGU.js +1 -0
- package/dist/gateway/static/root/assets/{media-plugins-_shnaEMY.js → media-plugins-Ba6vUE4J.js} +1 -1
- package/dist/gateway/static/root/assets/messages-ByFlEbsu.js +3 -0
- package/dist/gateway/static/root/assets/model-selector-DCBmsHzj.js +1 -0
- package/dist/gateway/static/root/assets/{models-hub-cache-KOJC3z6Q.js → models-hub-cache-Bd-fYUrV.js} +1 -1
- package/dist/gateway/static/root/assets/note-detail-panel-CnuxqWMd.js +5 -0
- package/dist/gateway/static/root/assets/note-image-lightbox-BFKZ7qJr.js +1 -0
- package/dist/gateway/static/root/assets/{notes-api-BSmikUKI.js → notes-api-8kp0X1x6.js} +1 -1
- package/dist/gateway/static/root/assets/{notes-page-CA0NRL8O.js → notes-page-XMdy-H3H.js} +1 -1
- package/dist/gateway/static/root/assets/{oauth-api-D2t9HXoC.js → oauth-api-DMMdeaNd.js} +1 -1
- package/dist/gateway/static/root/assets/{oauth-provider-connect-DGGGGtcB.js → oauth-provider-connect-CfOK8mPM.js} +1 -1
- package/dist/gateway/static/root/assets/{page-context-capture-button-BH54VO0V.js → page-context-capture-button-CKlKWSJ7.js} +1 -1
- package/dist/gateway/static/root/assets/{page-context-draft-BS5y8Cx9.js → page-context-draft-LF33STHC.js} +1 -1
- package/dist/gateway/static/root/assets/page-header-store-Du44NIEJ.js +1 -0
- package/dist/gateway/static/root/assets/{personal-avatar-D8DtpDTa.js → personal-avatar-D6CzIIfo.js} +1 -1
- package/dist/gateway/static/root/assets/personal-page-CIMMSI25.js +1 -0
- package/dist/gateway/static/root/assets/{personal-settings-panel-9uDaNJy5.js → personal-settings-panel-wKdlrfPq.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-dependencies-card-DLYrI0C4.js → phone-dependencies-card-CDhk5277.js} +1 -1
- package/dist/gateway/static/root/assets/phone-model-connection-DZ-ZunPz.js +1 -0
- package/dist/gateway/static/root/assets/{phone-model-picker-BbA2iI-3.js → phone-model-picker-DuZc5jYO.js} +1 -1
- package/dist/gateway/static/root/assets/phone-settings-page-0u0GQl_R.js +1 -0
- package/dist/gateway/static/root/assets/{phone-workspace-store-CVDk80Bf.js → phone-workspace-store-SN7hfddU.js} +1 -1
- package/dist/gateway/static/root/assets/plugin-details-dialog-Bfc-Wmrd.js +1 -0
- package/dist/gateway/static/root/assets/{popover-select-DD8fmrxH.js → popover-select-CEMWIrtY.js} +1 -1
- package/dist/gateway/static/root/assets/{preference-select-fields-BVoN-lAv.js → preference-select-fields-BKeHZLXZ.js} +1 -1
- package/dist/gateway/static/root/assets/{product-automation-feedback-DCo90zGh.js → product-automation-feedback-BPur0vyo.js} +2 -2
- package/dist/gateway/static/root/assets/{product-open-page-OWl8IAoY.js → product-open-page-Bfd7R483.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-content-Cjas7UNe.js → product-preview-content-Bnq68oVw.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-modal-CPWRvBI9.js → product-preview-modal-BPmTeweh.js} +2 -2
- package/dist/gateway/static/root/assets/project-detail-page-D9nnyvrI.js +7 -0
- package/dist/gateway/static/root/assets/{project-understanding-Ba02SFzB.js → project-understanding-DLvxAoTT.js} +1 -1
- package/dist/gateway/static/root/assets/projects-page-BGy1pw9a.js +1 -0
- package/dist/gateway/static/root/assets/{providers-api-rwQ4LWzr.js → providers-api-DOnNfkwQ.js} +1 -1
- package/dist/gateway/static/root/assets/{recording-upload-BSmvRrZQ.js → recording-upload-CHFJbqW1.js} +1 -1
- package/dist/gateway/static/root/assets/{refresh-button-bU_0NarN.js → refresh-button-DiWdGAaX.js} +1 -1
- package/dist/gateway/static/root/assets/{registry-api-Vy7LfH6E.js → registry-api-DFDvOTg4.js} +1 -1
- package/dist/gateway/static/root/assets/{remote-access-hub-UXrnpGev.js → remote-access-hub-BVqwnOqO.js} +1 -1
- package/dist/gateway/static/root/assets/{resource-unavailable-f9OzSi4W.js → resource-unavailable-TQcRCpAg.js} +1 -1
- package/dist/gateway/static/root/assets/route-preload-DI43HQV_.js +2 -0
- package/dist/gateway/static/root/assets/{runtime-tools-api-Bt8t37z5.js → runtime-tools-api-9o3Wfji1.js} +1 -1
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-DU4UXnBm.js → runtime-tools-settings-panel-ccVBG-bZ.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-BKeP5G7b.js → schema-form-C-jw6Hid.js} +1 -1
- package/dist/gateway/static/root/assets/{secret-input-BQvFXqzz.js → secret-input-Dryrns2s.js} +1 -1
- package/dist/gateway/static/root/assets/{service-recommendation-list-CuYsRcBB.js → service-recommendation-list-CNghOavt.js} +1 -1
- package/dist/gateway/static/root/assets/{session-api-DJI9eSgw.js → session-api-Bs3r_d2_.js} +1 -1
- package/dist/gateway/static/root/assets/session-manager-Bnq3qpqy.js +23 -0
- package/dist/gateway/static/root/assets/sessions-page-CyBj1Xw2.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-BI4DMz4_.js +1 -0
- package/dist/gateway/static/root/assets/{settings-advanced-section-BxUuF_yi.js → settings-advanced-section-DwpPPxT0.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-mode-store-CaoRh2gt.js → settings-mode-store-CiRpsdTJ.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-qQ8-6dJ_.js → settings-page-Cd8Ermnn.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-header-CyUHrn7c.js → settings-page-header-BZl4AMiN.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-layout-DGVqXrlp.js → settings-page-layout-onhEgq-K.js} +1 -1
- package/dist/gateway/static/root/assets/setup-interaction-page-Cvvj6JyV.js +1 -0
- package/dist/gateway/static/root/assets/setup-status-panel-D4qgE7QM.js +1 -0
- package/dist/gateway/static/root/assets/share-link-dialog-DA0QuFOD.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-Cem96FbB.js → share-preview-page-YDpIY4dC.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-api-Dowes16l.js → shares-api-D8Q-m46d.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-DUvjOMmA.js +1 -0
- package/dist/gateway/static/root/assets/{skill-api-D8ZwFEVe.js → skill-api-uKU4sRiv.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-list-api-B4gp00-f.js → skill-list-api-BzKzG-xG.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-reload-api-ClmaaDXo.js → skill-reload-api-DkUXekcd.js} +1 -1
- package/dist/gateway/static/root/assets/skills-page-ClyNSh-7.js +2 -0
- package/dist/gateway/static/root/assets/{system-settings-panel-D095uacX.js → system-settings-panel-BN6sUX0H.js} +1 -1
- package/dist/gateway/static/root/assets/task-detail-page-CS9m7Ipo.js +2 -0
- package/dist/gateway/static/root/assets/{task-result-evidence-LUrJlUhb.js → task-result-evidence-DKygspo2.js} +1 -1
- package/dist/gateway/static/root/assets/{terminal-panel-store-BqEDB1Vl.js → terminal-panel-store-DJVC7HqA.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-gAcojLgP.js → theme-store-Dlnmgryi.js} +1 -1
- package/dist/gateway/static/root/assets/tool-friendly-title-DcCc6g7o.js +1 -0
- package/dist/gateway/static/root/assets/tracing-settings-page-Bs76WeoF.js +1 -0
- package/dist/gateway/static/root/assets/{tunnel-api-C9u9E3UQ.js → tunnel-api-B7nx0NQJ.js} +1 -1
- package/dist/gateway/static/root/assets/{understanding-activity-store-BTrzsR6_.js → understanding-activity-store-C4bblRnQ.js} +1 -1
- package/dist/gateway/static/root/assets/{understanding-refresh-store-5Qava3jh.js → understanding-refresh-store-BvCj9-Ue.js} +1 -1
- package/dist/gateway/static/root/assets/{usage-page-DFMLYKAc.js → usage-page-anU5gslJ.js} +1 -1
- package/dist/gateway/static/root/assets/{use-autosave-3O-X7x15.js → use-autosave-YHxQ-UZg.js} +1 -1
- package/dist/gateway/static/root/assets/use-composer-attachments-DYY3Yz4a.js +2 -0
- package/dist/gateway/static/root/assets/use-file-preview-expanded-CYgWzDnv.js +2 -0
- package/dist/gateway/static/root/assets/{use-personal-profile-MusPgljM.js → use-personal-profile-D2Un8G1L.js} +1 -1
- package/dist/gateway/static/root/assets/{use-workspace-tree-Ck_U2yTw.js → use-workspace-tree-Dkg9tUr4.js} +1 -1
- package/dist/gateway/static/root/assets/user-model-page-DIgPL3tN.js +2 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-C5zJApoa.js → voice-api-key-field-BUes-Jlp.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-DC1bYDt1.js → voice-config-api-CrULrSKC.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-input-shortcut-events-0SZjJdVV.js → voice-input-shortcut-events-DFMNIyy4.js} +1 -1
- package/dist/gateway/static/root/assets/voice-transcribe-api-Dy4hfftb.js +1 -0
- package/dist/gateway/static/root/assets/{work-discovery-overlay-DAQ8McVe.js → work-discovery-overlay-CFF4cRFl.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-page-DUQysEyb.js → work-discovery-page-BnYaVH3V.js} +1 -1
- package/dist/gateway/static/root/assets/working-directory-picker-modal-GFwVefVA.js +1 -0
- package/dist/gateway/static/root/assets/{workspace-api-ZrN6yUER.js → workspace-api-BdB4NEOh.js} +2 -2
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-4cZ26iaD.js +1 -0
- package/dist/gateway/static/root/assets/{workspace-file-preview-dialog-Yj_kBWSb.js → workspace-file-preview-dialog-NRL3YRjg.js} +1 -1
- package/dist/gateway/static/root/assets/{workspace-open-location-menu-yxT7wajO.js → workspace-open-location-menu-Dcij7wvJ.js} +1 -1
- package/dist/gateway/static/root/assets/{xopc-cloud-account-card-IcH9KDzx.js → xopc-cloud-account-card-DC9aG7Pl.js} +1 -1
- package/dist/gateway/static/root/index.html +100 -98
- package/dist/package.js +1 -1
- package/dist/packages/gateway-contract/src/automations.js +7 -0
- package/dist/packages/gateway-contract/src/capabilities.js +1 -1
- package/dist/src/agent/agent-manager.d.ts +1 -0
- package/dist/src/agent/agent-manager.js +1 -0
- package/dist/src/agent/child-agent-factory.js +1 -1
- package/dist/src/agent/data-acquisition/service.js +1 -1
- package/dist/src/agent/embedded/configuration-capability-correction.d.ts +3 -0
- package/dist/src/agent/embedded/configuration-capability-correction.js +14 -0
- package/dist/src/agent/embedded/run-for-session.js +20 -5
- package/dist/src/agent/embedded/run-turn.js +13 -1
- package/dist/src/agent/embedded/session-runner.js +6 -3
- package/dist/src/agent/image/generation/openai-images-provider.js +1 -1
- package/dist/src/agent/image/load-image-media.js +1 -1
- package/dist/src/agent/inbound/inbound-loop.js +4 -1
- package/dist/src/agent/independent-execution.js +1 -1
- package/dist/src/agent/mcp/config.js +1 -1
- package/dist/src/agent/mcp/connection-drafts.d.ts +3 -1
- package/dist/src/agent/mcp/connection-drafts.js +3 -2
- package/dist/src/agent/mcp/connection-setup.js +34 -2
- package/dist/src/agent/mcp/conversation-setup.d.ts +163 -0
- package/dist/src/agent/mcp/conversation-setup.js +621 -0
- package/dist/src/agent/mcp/native-mcp.d.ts +1 -0
- package/dist/src/agent/mcp/tool-catalog.d.ts +5 -0
- package/dist/src/agent/mcp/tool-catalog.js +19 -2
- package/dist/src/agent/mcp/weixin-setup-scope.d.ts +12 -0
- package/dist/src/agent/mcp/weixin-setup-scope.js +43 -0
- package/dist/src/agent/prompt/conversational-configuration-guide.js +2 -1
- package/dist/src/agent/prompt/sections/tooling.js +3 -2
- package/dist/src/agent/prompt/service-prompt-builder.js +1 -1
- package/dist/src/agent/service/direct-turn-helpers.js +1 -1
- package/dist/src/agent/service/process-direct-streaming.js +2 -2
- package/dist/src/agent/service.d.ts +2 -0
- package/dist/src/agent/service.js +11 -1
- package/dist/src/agent/service.types.d.ts +1 -0
- package/dist/src/agent/tasks/task-judge-service.js +2 -2
- package/dist/src/agent/tool-manuals/xopc-configuration.d.ts +6 -4
- package/dist/src/agent/tool-manuals/xopc-configuration.js +92 -8
- package/dist/src/agent/tools/automation-tool.d.ts +9 -1
- package/dist/src/agent/tools/automation-tool.js +34 -5
- package/dist/src/agent/tools/create-share-tool.js +1 -1
- package/dist/src/agent/tools/factory.d.ts +3 -0
- package/dist/src/agent/tools/factory.js +34 -23
- package/dist/src/agent/tools/image-generate-tool.js +3 -3
- package/dist/src/agent/tools/index.d.ts +1 -0
- package/dist/src/agent/tools/index.js +5 -4
- package/dist/src/agent/tools/mcp-setup-tool.d.ts +9 -0
- package/dist/src/agent/tools/mcp-setup-tool.js +32 -0
- package/dist/src/agent/tools/personal-task-tool.js +2 -2
- package/dist/src/agent/tools/publish-artifacts.js +1 -1
- package/dist/src/agent/tools/read.js +1 -1
- package/dist/src/agent/tools/skill-install-tool.js +56 -1
- package/dist/src/agent/tools/skill-manage-tool.d.ts +4 -0
- package/dist/src/agent/tools/skill-manage-tool.js +74 -2
- package/dist/src/agent/tools/skills-tools.js +1 -1
- package/dist/src/agent/tools/task-collaboration-tool.js +1 -1
- package/dist/src/agent/tools/tool-manual-tool.d.ts +1 -1
- package/dist/src/agent/tools/tool-manual-tool.js +3 -1
- package/dist/src/agent/tools/toolExposure.js +2 -0
- package/dist/src/agent/tools/write.js +1 -1
- package/dist/src/agent/tools/xopc-use-tool.d.ts +4 -2
- package/dist/src/agent/tools/xopc-use-tool.js +60 -10
- package/dist/src/agent-catalog/service.d.ts +1 -1
- package/dist/src/agent-catalog/service.js +2 -1
- package/dist/src/automations/capabilities/drafts.js +5 -2
- package/dist/src/automations/capabilities/read.js +18 -7
- package/dist/src/automations/capabilities/write.d.ts +111 -52
- package/dist/src/automations/capabilities/write.js +44 -10
- package/dist/src/automations/delivery/delivery-router.d.ts +1 -0
- package/dist/src/automations/delivery/delivery-router.js +7 -1
- package/dist/src/automations/domain/types.d.ts +8 -0
- package/dist/src/automations/domain/validation.d.ts +24 -0
- package/dist/src/automations/domain/validation.js +7 -0
- package/dist/src/automations/draft/automation-draft-validator.d.ts +6 -0
- package/dist/src/automations/index.js +2 -2
- package/dist/src/automations/mcp-source.d.ts +60 -0
- package/dist/src/automations/mcp-source.js +173 -0
- package/dist/src/automations/service/action-executor.js +15 -1
- package/dist/src/automations/service/automation-service.d.ts +5 -0
- package/dist/src/automations/service/automation-service.js +52 -2
- package/dist/src/automations/service/index.js +2 -2
- package/dist/src/browser/setup/repository.d.ts +1 -0
- package/dist/src/browser/setup/repository.js +7 -1
- package/dist/src/browser/setup/service.d.ts +3 -0
- package/dist/src/browser/setup/service.js +41 -18
- package/dist/src/browser/setup/types.d.ts +1 -0
- package/dist/src/channels/attachments/voice-stt-webchat.js +1 -1
- package/dist/src/channels/index.js +1 -1
- package/dist/src/channels/manager.d.ts +1 -0
- package/dist/src/channels/outbound-sender.d.ts +1 -0
- package/dist/src/channels/outbound-sender.js +3 -0
- package/dist/src/channels/pairing/pairing-service.js +1 -1
- package/dist/src/channels/weixin/account-identity.d.ts +2 -0
- package/dist/src/channels/weixin/account-identity.js +15 -0
- package/dist/src/chat-commands/builtins/config.js +1 -1
- package/dist/src/cli/commands/backup.js +1 -1
- package/dist/src/cli/commands/channels.js +2 -2
- package/dist/src/cli/commands/doctor/checks/channel-pairing-pending.js +1 -1
- package/dist/src/cli/commands/mcp.js +1 -1
- package/dist/src/config/models-json.d.ts +12 -0
- package/dist/src/extensions/agent-plugins/credentials.js +1 -1
- package/dist/src/extensions/agent-plugins/setup.d.ts +1 -1
- package/dist/src/extensions/agent-plugins/setup.js +3 -3
- package/dist/src/extensions/api.js +1 -1
- package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
- package/dist/src/gateway/agents-admin.js +1 -1
- package/dist/src/gateway/device-routes.js +1 -1
- package/dist/src/gateway/global-defaults-admin.js +1 -1
- package/dist/src/gateway/hono/app.js +1 -1
- package/dist/src/gateway/hono/lib/config-payload.js +1 -1
- package/dist/src/gateway/hono/oauth-async.js +1 -1
- package/dist/src/gateway/hono/routes/channels.js +1 -1
- package/dist/src/gateway/hono/routes/config.js +1 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js +1 -1
- package/dist/src/gateway/hono/routes/mcp.js +39 -2
- package/dist/src/gateway/hono/routes/notes.js +2 -2
- package/dist/src/gateway/hono/routes/phone-setup.js +45 -16
- package/dist/src/gateway/hono/routes/phone.js +2 -4
- package/dist/src/gateway/hono/routes/projects.js +1 -1
- package/dist/src/gateway/hono/routes/provider-setup.js +1 -1
- package/dist/src/gateway/hono/routes/public-gateway.js +22 -0
- package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
- package/dist/src/gateway/hono/routes/shares.js +1 -1
- package/dist/src/gateway/hono/routes/site-shares.js +1 -1
- package/dist/src/gateway/hono/routes/tasks.js +1 -1
- package/dist/src/gateway/media-access.js +1 -1
- package/dist/src/gateway/service/agent-runner.d.ts +1 -0
- package/dist/src/gateway/service/agent-runner.js +3 -1
- package/dist/src/gateway/service/config-coordinator.d.ts +1 -1
- package/dist/src/gateway/service/config-coordinator.js +2 -1
- package/dist/src/gateway/service/run-gateway-agent.js +1 -1
- package/dist/src/gateway/service/sessions-api.js +2 -1
- package/dist/src/gateway/service.d.ts +5 -1
- package/dist/src/gateway/service.js +86 -12
- package/dist/src/gateway/session-context-summary.js +1 -1
- package/dist/src/gateway/session-reset-service.d.ts +1 -0
- package/dist/src/gateway/session-reset-service.js +15 -2
- package/dist/src/gateway/xopc-cloud-capability-setup.js +9 -1
- package/dist/src/notes/service.js +1 -1
- package/dist/src/personal-agent/prompts.js +1 -1
- package/dist/src/personal-agent/reply-composer.js +2 -2
- package/dist/src/personal-agent/request-service.js +3 -3
- package/dist/src/personal-agent/service.js +1 -1
- package/dist/src/personal-agent/task-cancel.js +1 -1
- package/dist/src/phone/cloud-adb-connection.js +8 -5
- package/dist/src/phone/contracts.d.ts +4 -0
- package/dist/src/phone/contracts.js +6 -1
- package/dist/src/phone/gui-protocol.d.ts +7 -0
- package/dist/src/phone/gui-protocol.js +302 -0
- package/dist/src/phone/model-adapter.d.ts +1 -1
- package/dist/src/phone/model-adapter.js +7 -4
- package/dist/src/phone/runtime.js +8 -2
- package/dist/src/phone/setup/service.d.ts +14 -4
- package/dist/src/phone/setup/service.js +106 -28
- package/dist/src/phone/ui-dump-binary.d.ts +1 -1
- package/dist/src/phone/ui-dump-binary.js +1 -1
- package/dist/src/phone/ui-session.d.ts +2 -0
- package/dist/src/phone/ui-session.js +23 -4
- package/dist/src/projects/index.js +1 -1
- package/dist/src/projects/project-service.js +1 -1
- package/dist/src/providers/env-keys.js +2 -0
- package/dist/src/providers/index.js +11 -0
- package/dist/src/providers/model-catalog-types.d.ts +1 -1
- package/dist/src/providers/model-supplements.d.ts +1 -1
- package/dist/src/providers/model-supplements.js +6 -3
- package/dist/src/providers/phone-models.d.ts +3 -0
- package/dist/src/providers/phone-models.js +33 -0
- package/dist/src/providers/presentation.js +0 -1
- package/dist/src/runtime-tools/phone-dependencies.d.ts +2 -0
- package/dist/src/runtime-tools/phone-dependencies.js +10 -0
- package/dist/src/share/note-share-service.js +1 -1
- package/dist/src/share/site-proxy.js +1 -1
- package/dist/src/tasks/capabilities/write.js +1 -1
- package/dist/src/tasks/index.js +1 -1
- package/dist/src/tasks/task-allocation-service.js +3 -3
- package/dist/src/tasks/task-application-service.js +2 -2
- package/dist/src/tasks/task-context-assembler.js +1 -1
- package/dist/src/tasks/task-contract-planner.js +1 -1
- package/dist/src/tasks/task-handoff.js +1 -1
- package/dist/src/tasks/task-research-result.js +1 -1
- package/dist/src/tasks/task-run-coordinator.js +2 -2
- package/dist/src/tui/backends/embedded-backend.js +1 -1
- package/dist/src/tui/tui.js +1 -1
- package/dist/src/voice/platform-catalog.d.ts +1 -1
- package/package.json +3 -1
- package/skills/tools/configure-xopc/SKILL.md +10 -3
- package/skills/tools/configure-xopc/references/browser/chrome-extension.md +4 -1
- package/skills/tools/configure-xopc/references/browser/overview.md +2 -2
- package/skills/tools/configure-xopc/references/phone/aliyun.md +3 -2
- package/skills/tools/configure-xopc/references/phone/overview.md +2 -2
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-DlvjxWg6.js +0 -1
- package/dist/gateway/static/root/assets/agent-plugin-dialog-OBueuQSc.js +0 -1
- package/dist/gateway/static/root/assets/agents-Cp6_5OOQ.js +0 -77
- package/dist/gateway/static/root/assets/app-link-1j40sJ-z.js +0 -1
- package/dist/gateway/static/root/assets/apps-page-C2WKUwtN.js +0 -1
- package/dist/gateway/static/root/assets/attachment-load-qjPpQzYY.js +0 -1
- package/dist/gateway/static/root/assets/automation-task-card-wbnR5i6N.js +0 -3
- package/dist/gateway/static/root/assets/automations-workspace-D6cTOKr7.js +0 -9
- package/dist/gateway/static/root/assets/browser-settings-page-L0nBjfhG.js +0 -3
- package/dist/gateway/static/root/assets/capabilities-aT-QjNTl.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-page-DlpuHdHi.js +0 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-pvqkN2-2.js +0 -8
- package/dist/gateway/static/root/assets/channels-BUPtawh6.js +0 -1
- package/dist/gateway/static/root/assets/chat-page-BP0huA-W.js +0 -72
- package/dist/gateway/static/root/assets/composer-payload-handoff-CYIhcczq.js +0 -1
- package/dist/gateway/static/root/assets/confirm-dialog-XGclfBqe.js +0 -1
- package/dist/gateway/static/root/assets/connected-providers-grid-CKZfhHSD.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-Lf1ZzaVn.js +0 -1
- package/dist/gateway/static/root/assets/dependency-picker-UqKVJ9dv.js +0 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-ByEL5lvM.js +0 -1
- package/dist/gateway/static/root/assets/dist-CaUuvp8-.js +0 -1
- package/dist/gateway/static/root/assets/dist-D3lWNSe7.js +0 -1
- package/dist/gateway/static/root/assets/dist-DfWfZ9iu.js +0 -1
- package/dist/gateway/static/root/assets/dist-DusecO_p.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-Bkt1z-xo.js +0 -1
- package/dist/gateway/static/root/assets/home-page-k9LFXcVa.js +0 -2
- package/dist/gateway/static/root/assets/index-CpwPxKQ8.css +0 -1
- package/dist/gateway/static/root/assets/index-DKW7BeT_.js +0 -11
- package/dist/gateway/static/root/assets/install-connector-dialog-CTQAKTPv.js +0 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-CD_8_gd_.js +0 -1
- package/dist/gateway/static/root/assets/management-settings-t_Z2mCyw.js +0 -1
- package/dist/gateway/static/root/assets/messages-DG4HLOER.js +0 -3
- package/dist/gateway/static/root/assets/model-selector-a7PIT1Lk.js +0 -1
- package/dist/gateway/static/root/assets/note-detail-panel-BsHYUFgk.js +0 -5
- package/dist/gateway/static/root/assets/note-image-lightbox-B-bEtjhj.js +0 -1
- package/dist/gateway/static/root/assets/page-header-store-BdZnUh-D.js +0 -1
- package/dist/gateway/static/root/assets/personal-page-KJezmTKP.js +0 -1
- package/dist/gateway/static/root/assets/phone-settings-page-Cg_BPss4.js +0 -1
- package/dist/gateway/static/root/assets/plugin-details-dialog-DgibLkc3.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-B_HlZux_.js +0 -7
- package/dist/gateway/static/root/assets/projects-page-CdfKjp95.js +0 -1
- package/dist/gateway/static/root/assets/route-preload-BtObM-co.js +0 -2
- package/dist/gateway/static/root/assets/session-manager-CtKgACGl.js +0 -23
- package/dist/gateway/static/root/assets/sessions-page-BAsKzRHt.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-CjAFqg2U.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-BpaPb625.js +0 -1
- package/dist/gateway/static/root/assets/share-link-dialog-CQJ6Ykm2.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-DZEkZDR0.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-CV0X9rvG.js +0 -2
- package/dist/gateway/static/root/assets/task-detail-page-CY2C4AM2.js +0 -2
- package/dist/gateway/static/root/assets/tool-friendly-title-o6sxGVUu.js +0 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-B1ZRh-Is.js +0 -1
- package/dist/gateway/static/root/assets/use-composer-attachments-BLc4dBfe.js +0 -2
- package/dist/gateway/static/root/assets/use-file-preview-expanded-BaOmTXsT.js +0 -2
- package/dist/gateway/static/root/assets/user-model-page-Den5Lg-k.js +0 -2
- package/dist/gateway/static/root/assets/voice-transcribe-api-CxVeANPX.js +0 -1
- package/dist/gateway/static/root/assets/working-directory-picker-modal-BO9qdJyZ.js +0 -1
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-Bo5dwoWP.js +0 -1
|
@@ -554,7 +554,7 @@ var init_capabilities = __esmMin((() => {
|
|
|
554
554
|
})
|
|
555
555
|
},
|
|
556
556
|
"xopc.automations.get_run": {
|
|
557
|
-
input: CapabilityResourceInputSchema,
|
|
557
|
+
input: CapabilityResourceInputSchema.extend({ waitMs: z.number().int().min(0).max(3e4).optional() }),
|
|
558
558
|
output: z.object({
|
|
559
559
|
ok: z.literal(true),
|
|
560
560
|
run: AutomationRunSchema.loose()
|
|
@@ -100,6 +100,7 @@ export interface AgentManagerConfig {
|
|
|
100
100
|
canConfigureEndpoint?: (endpointId: string) => boolean;
|
|
101
101
|
getPhoneSetupService?: () => import('../phone/setup/service.js').PhoneSetupService | undefined;
|
|
102
102
|
getBrowserSetupService?: () => import('../browser/setup/service.js').BrowserSetupService | undefined;
|
|
103
|
+
getMcpSetupService?: () => import('./mcp/conversation-setup.js').McpConversationSetup | undefined;
|
|
103
104
|
getBrowserAutomationService?: () => import('../browser/automations/index.js').BrowserAutomationService | undefined;
|
|
104
105
|
emitBrowserEvent?: (type: string, payload: unknown) => void;
|
|
105
106
|
/** Gateway: exposes first-class xopc product objects for the `xopc_use` tool. */
|
|
@@ -287,6 +287,7 @@ var AgentManager = class {
|
|
|
287
287
|
getAutomationService: this.config.getAutomationService,
|
|
288
288
|
getBrowserAutomationService: this.config.getBrowserAutomationService,
|
|
289
289
|
getBrowserSetupService: this.config.getBrowserSetupService,
|
|
290
|
+
getMcpSetupService: this.config.getMcpSetupService,
|
|
290
291
|
getPhoneSetupService: this.config.getPhoneSetupService,
|
|
291
292
|
canConfigureEndpoint: this.config.canConfigureEndpoint,
|
|
292
293
|
emitBrowserEvent: this.config.emitBrowserEvent,
|
|
@@ -3,6 +3,7 @@ import { init_logger } from "../utils/logger.js";
|
|
|
3
3
|
import { cloudCreditBudgetStopMessage, isCloudCreditBudgetExhausted } from "../providers/xopc-cloud-credit-budget.js";
|
|
4
4
|
import { resolveAgentAbortReason } from "./orchestration/run-termination.js";
|
|
5
5
|
import { executeWithTimeout } from "./lifecycle/timeout-wrapper.js";
|
|
6
|
+
import { resolveResponseLanguageForSession } from "./prompt/response-language.js";
|
|
6
7
|
import { withDataToolPermissions } from "./tools/dataBatch.js";
|
|
7
8
|
import { withSearchCache } from "./tools/search/cache.js";
|
|
8
9
|
import { evictEmbeddedSessionRunner } from "./embedded/session-runner.js";
|
|
@@ -11,7 +12,6 @@ import { runXopcEmbeddedTurn } from "./embedded/run-turn.js";
|
|
|
11
12
|
import { createAgentTurnPolicy } from "./orchestration/agent-turn-policy.js";
|
|
12
13
|
import { createDelegationBudgetPolicy, resolveDelegationBudget } from "./orchestration/delegation-budget.js";
|
|
13
14
|
import { buildSubagentSystemPrompt } from "./prompt/subagent-context.js";
|
|
14
|
-
import { resolveResponseLanguageForSession } from "./prompt/response-language.js";
|
|
15
15
|
import { createResearchCheckpointTool } from "./tools/research-checkpoint-tool.js";
|
|
16
16
|
import { randomUUID } from "node:crypto";
|
|
17
17
|
//#region src/agent/child-agent-factory.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { executeWithTimeout } from "../lifecycle/timeout-wrapper.js";
|
|
2
2
|
import { checkedFilePath, readWorkspaceFileAsync } from "../sandbox/fileAccess.js";
|
|
3
|
-
import { dataScheduler } from "./scheduler.js";
|
|
4
3
|
import { checkFileSafety } from "../prompt/safety.js";
|
|
4
|
+
import { dataScheduler } from "./scheduler.js";
|
|
5
5
|
import { parseRepositoryMatch, repositorySearch } from "../tools/repository-search.js";
|
|
6
6
|
import { DATA_OPERATION_TOOLS, nativeDataArgs, validateDataBatch } from "./schema.js";
|
|
7
7
|
import { readGitData } from "./git.js";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { AgentMessage } from '@earendil-works/pi-agent-core';
|
|
2
|
+
/** Correct an unverified capability denial once; never infer authorization or execute a write. */
|
|
3
|
+
export declare function configurationCapabilityCorrection(toolNames: readonly string[], userText: string, answer: string, messages: readonly AgentMessage[]): string | undefined;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/agent/embedded/configuration-capability-correction.ts
|
|
2
|
+
/** Correct an unverified capability denial once; never infer authorization or execute a write. */
|
|
3
|
+
function configurationCapabilityCorrection(toolNames, userText, answer, messages) {
|
|
4
|
+
const explicitSkillInstall = /^(?:请|帮我)?安装(?:这个|此)|^(?:please\s+)?install\s+(?:this|the)\b/i.test(userText.trim()) && /skill|技能|能力|周报/i.test(userText) && /https?:\/\//i.test(userText) && !/mcp/i.test(userText) && !/不要|别|暂不|先不|只推荐|仅查看|do not|don't|not now|only recommend|review only/i.test(userText);
|
|
5
|
+
const skillAttempted = messages.some((message) => message.role === "assistant" && Array.isArray(message.content) && message.content.some((block) => block.type === "toolCall" && ["skill_install", "skill_manage"].includes(block.name)));
|
|
6
|
+
const promiseOnly = /^(?:我会|我将|I will|I'll).{0,100}(?:安装|install)/i.test(answer.trim()) && !/需要.{0,20}(?:确认|授权|权限)|cannot|can.t|denied|不可|无法|失败|拒绝/i.test(answer);
|
|
7
|
+
if (explicitSkillInstall && promiseOnly && !skillAttempted && toolNames.includes("skill_install")) return "Host execution check: the user explicitly requested installing the supplied Skill and using it. The registered skill_install tool has not been attempted; a promise to act is not execution. Continue that exact authorized request with the actual Skill tools and inspect the result, or report an actual blocker. Do not add permissions, force an overwrite, use shell/file configuration, or ask for duplicate consent. This is one bounded continuation, not a new user request.";
|
|
8
|
+
if (!toolNames.includes("mcp_setup") || !/mcp|https?:\/\//i.test(userText)) return;
|
|
9
|
+
if (messages.some((message) => message.role === "assistant" && Array.isArray(message.content) && message.content.some((block) => block.type === "toolCall" && (block.name === "mcp_setup" || block.name === "xopc_use" && block.arguments?.mode === "mcp_setup")))) return;
|
|
10
|
+
if (!/(?:tool|工具|能力).{0,45}(?:not available|isn.t available|unavailable|未提供|不可用|不存在|缺少)|(?:未提供|没有|缺少).{0,30}(?:MCP|配置工具)|(?:cannot|can.t|无法).{0,40}(?:MCP|连接).{0,30}(?:local|回环|localhost|127\.0\.0\.1)/i.test(answer)) return;
|
|
11
|
+
return "Host capability correction: mcp_setup is registered and directly callable in the current function schemas. No MCP setup call was attempted in this turn, so tool absence or endpoint reachability has not been verified. Correct that statement using the actual inspect/probe tools for the existing user request. Probes execute on the Gateway host, including user-provided loopback addresses. This fact grants no additional authorization: preserve the user's scope, do not mutate for advice-only requests, and honor any actual permission refusal or probe failure. Do not ask the user to repeat the request.";
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { configurationCapabilityCorrection };
|
|
@@ -12,8 +12,9 @@ import { resolveAgentTurnTimeoutMs } from "../orchestration/run-agent-turn-with-
|
|
|
12
12
|
import { isPersonalConversation } from "../../personal-agent/repository.js";
|
|
13
13
|
import { filterExecutionTools, resolveExecutionToolPolicy } from "./execution-tool-policy.js";
|
|
14
14
|
import { runWithEmbeddedExecutionSession } from "./execution-context.js";
|
|
15
|
-
import { resolvePromptCachePolicy } from "../../providers/prompt-cache-plan.js";
|
|
16
15
|
import { prepareNativeMcpConfig } from "../mcp/native-mcp.js";
|
|
16
|
+
import { boundAutomationMcpSource, restrictAutomationMcpConfig } from "../../automations/mcp-source.js";
|
|
17
|
+
import { resolvePromptCachePolicy } from "../../providers/prompt-cache-plan.js";
|
|
17
18
|
import { assessContext, recoverContext as recoverContext$1 } from "../memory/context-recovery.js";
|
|
18
19
|
import { resolveCompactionPolicy } from "../memory/compaction-policy.js";
|
|
19
20
|
import { runXopcEmbeddedTurn } from "./run-turn.js";
|
|
@@ -157,10 +158,22 @@ async function runEmbeddedTurnForSessionInner(params) {
|
|
|
157
158
|
if (typeof mm.applyResolvedModel === "function") mm.applyResolvedModel(agent, model, modelRef);
|
|
158
159
|
else await mm.applyModelForSession(agent, conversationId);
|
|
159
160
|
agentManager.setModelForSession(conversationId, modelRef);
|
|
160
|
-
const
|
|
161
|
-
const
|
|
161
|
+
const source = boundAutomationMcpSource(runId, conversationId);
|
|
162
|
+
const baseToolPolicy = resolveExecutionToolPolicy(conversationId);
|
|
163
|
+
if (source && !baseToolPolicy.nativeMcp) throw new Error("This execution surface does not permit native MCP tools.");
|
|
164
|
+
const executionToolPolicy = source ? {
|
|
165
|
+
...baseToolPolicy,
|
|
166
|
+
codemode: false,
|
|
167
|
+
externalMaterialization: false,
|
|
168
|
+
revision: `${baseToolPolicy.revision}:${source.id}`
|
|
169
|
+
} : baseToolPolicy;
|
|
170
|
+
const tools = source ? [] : filterExecutionTools(executionToolPolicy, agent.state.tools);
|
|
162
171
|
const turnPolicy = agentManager.createAgentTurnPolicy(conversationId);
|
|
163
|
-
const systemPrompt = appendDynamicPromptSection([agent.state.systemPrompt ?? "", params.presentation === "voice" ? voicePresentationPrompt : ""].filter(Boolean).join("\n\n"), [
|
|
172
|
+
const systemPrompt = appendDynamicPromptSection([agent.state.systemPrompt ?? "", params.presentation === "voice" ? voicePresentationPrompt : ""].filter(Boolean).join("\n\n"), [
|
|
173
|
+
params.dynamicSystemContext,
|
|
174
|
+
connectionObjectiveContext(conversationId),
|
|
175
|
+
source ? `The host pinned this automation to MCP server ${source.serverId} and tools ${JSON.stringify(source.tools.map((tool) => tool.name))}. Use these exact tools for the requested read. No other external source, configuration change or local file/shell fallback is permitted. An answer without a successful pinned tool call will fail verification.` : ""
|
|
176
|
+
].filter(Boolean).join("\n\n"));
|
|
164
177
|
const idlePolicy = resolveCompactionPolicy(config);
|
|
165
178
|
if (personal && idlePolicy.enabled && idlePolicy.personalIdle.enabled) idleJob = async (signal, isCurrent) => {
|
|
166
179
|
const messages = await sessionStore.load(conversationId);
|
|
@@ -202,7 +215,9 @@ async function runEmbeddedTurnForSessionInner(params) {
|
|
|
202
215
|
conversationId,
|
|
203
216
|
tools
|
|
204
217
|
}));
|
|
205
|
-
const
|
|
218
|
+
const preparedMcp = config && executionToolPolicy.nativeMcp ? await prepareNativeMcpConfig(config, workspaceDir, resolveEffectiveAgentProfileForSession(conversationId).agentId) : void 0;
|
|
219
|
+
if (source && !preparedMcp) throw new Error("The bound MCP source cannot be loaded.");
|
|
220
|
+
const mcp = preparedMcp ? restrictAutomationMcpConfig(runId, conversationId, preparedMcp) : void 0;
|
|
206
221
|
const promptCachePolicy = resolvePromptCachePolicy(config ? resolveEffectiveAgentProfileForSession(conversationId).config.runtime.promptCache : void 0);
|
|
207
222
|
let userMessageForTurn = userMessage;
|
|
208
223
|
if (params.applyStartupContext !== false) {
|
|
@@ -22,6 +22,7 @@ import { allowsExecutionTool, filterExecutionTools, resolveExecutionToolPolicy }
|
|
|
22
22
|
import { isPhoneAssistanceSuspended, phoneAssistance, phoneResumeForRun } from "../../phone/assistance.js";
|
|
23
23
|
import { runWithEmbeddedExecutionSession } from "./execution-context.js";
|
|
24
24
|
import { externalPolicyContext, getXopcToolMetadata } from "./tool-metadata.js";
|
|
25
|
+
import { withDelegationScope } from "../orchestration/delegation-scope.js";
|
|
25
26
|
import { isNestedCodemodePolicy } from "./codemode-extension.js";
|
|
26
27
|
import { isComputerControlActive, isComputerLeaseTool, stopComputerControl } from "../../computer/control-guard.js";
|
|
27
28
|
import { bindComputerAgentTurn, computerImagesForRequest, computerRequestFrameCleanup, endComputerAgentTurn, setComputerProgramAuthorization } from "../../computer/agent-context.js";
|
|
@@ -34,6 +35,7 @@ import { getActiveTranscriptUserText } from "../inbound/attachment-pipeline.js";
|
|
|
34
35
|
import { resolvePromptCachePolicy } from "../../providers/prompt-cache-plan.js";
|
|
35
36
|
import { wrapStreamFnForXopcExtensions } from "./xopc-stream-bridge.js";
|
|
36
37
|
import { acquireEmbeddedSessionRunner, evictEmbeddedSessionRunner } from "./session-runner.js";
|
|
38
|
+
import { configurationCapabilityCorrection } from "./configuration-capability-correction.js";
|
|
37
39
|
import { createSqliteTranscriptRuntime } from "./transcript-runtime.js";
|
|
38
40
|
import { assessContext, recoverContext as recoverContext$1 } from "../memory/context-recovery.js";
|
|
39
41
|
import { resolveCompactionPolicy } from "../memory/compaction-policy.js";
|
|
@@ -43,7 +45,6 @@ import { markTurnToolResult } from "../memory/turn-provenance.js";
|
|
|
43
45
|
import { RepositoryInstructions } from "../coding/repository-instructions.js";
|
|
44
46
|
import { RunVerification } from "../coding/run-verification.js";
|
|
45
47
|
import { projectWorkEvidence } from "../coding/projectEvidence.js";
|
|
46
|
-
import { withDelegationScope } from "../orchestration/delegation-scope.js";
|
|
47
48
|
import { getModelThinking } from "../../providers/model-thinking.js";
|
|
48
49
|
import "../messaging/no-reply.js";
|
|
49
50
|
import { createAssistantMessageEventStream, getCurrentSystemPrompt, getCurrentTools, isRecoverableLength } from "@earendil-works/pi-ai";
|
|
@@ -373,6 +374,7 @@ async function runXopcEmbeddedTurnInner(params) {
|
|
|
373
374
|
transcriptRuntime
|
|
374
375
|
});
|
|
375
376
|
const { session, reused } = runner;
|
|
377
|
+
const configurationTurnStart = session.agent.state.messages.length;
|
|
376
378
|
await runLease.attach(session, async () => session.abort());
|
|
377
379
|
const runAbortSignal = params.abortSignal ? AbortSignal.any([runLease.signal, params.abortSignal]) : runLease.signal;
|
|
378
380
|
if (runAbortSignal.aborted) {
|
|
@@ -1005,6 +1007,16 @@ async function runXopcEmbeddedTurnInner(params) {
|
|
|
1005
1007
|
});
|
|
1006
1008
|
};
|
|
1007
1009
|
await recoverSettledTurn();
|
|
1010
|
+
const capabilityCorrection = configurationCapabilityCorrection(session.getAllTools().filter((tool) => tool.exposure !== "hidden").map((tool) => tool.name), userMessageToPromptText(userMessage), lastAssistantPlainText(session), session.agent.state.messages.slice(configurationTurnStart));
|
|
1011
|
+
if (capabilityCorrection && !policyStopped && !connectionStopped && !clarificationStopped && !phoneStopped && !runAbortSignal.aborted && !isAssistantTurnFailed(session.agent) && !isAssistantTurnAborted(session.agent)) {
|
|
1012
|
+
await session.sendCustomMessage({
|
|
1013
|
+
customType: "configuration_capability_current",
|
|
1014
|
+
content: capabilityCorrection,
|
|
1015
|
+
display: false
|
|
1016
|
+
}, { triggerTurn: true });
|
|
1017
|
+
await session.agent.waitForIdle();
|
|
1018
|
+
await recoverSettledTurn();
|
|
1019
|
+
}
|
|
1008
1020
|
if (params.requireVisibleReply && !sentVisibleMessage && !policyStopped && !runAbortSignal.aborted && !isAssistantTurnFailed(session.agent) && !isAssistantTurnAborted(session.agent) && lastAssistantPlainText(session).trim() === "NO_REPLY") {
|
|
1009
1021
|
await session.sendCustomMessage({
|
|
1010
1022
|
customType: "visible_reply_required",
|
|
@@ -3,15 +3,16 @@ import { init_logger } from "../../utils/logger.js";
|
|
|
3
3
|
import { filterExecutionTools, resolveExecutionToolPolicy } from "./execution-tool-policy.js";
|
|
4
4
|
import { deferredToolContract, getXopcToolMetadata } from "./tool-metadata.js";
|
|
5
5
|
import { isCodemodeCoreRead } from "../tools/codemode-permissions.js";
|
|
6
|
+
import { createEmbeddedModelRuntime, resolveEmbeddedProviderApiKeySync } from "./model-runtime.js";
|
|
7
|
+
import { getNativePiAgentDir } from "../mcp/native-mcp.js";
|
|
8
|
+
import { createAutomationMcpSourceGuard } from "../../automations/mcp-source.js";
|
|
6
9
|
import { createXopcCodemodeExtension } from "./codemode-extension.js";
|
|
7
10
|
import { abortEmbeddedRun } from "./runs.js";
|
|
8
11
|
import { guardSessionManager } from "./session-tool-result-guard.js";
|
|
9
12
|
import { transformUserMessageForPersistence } from "../inbound/attachment-pipeline.js";
|
|
10
|
-
import { createEmbeddedModelRuntime, resolveEmbeddedProviderApiKeySync } from "./model-runtime.js";
|
|
11
13
|
import { wrapStreamFnForXopcExtensions } from "./xopc-stream-bridge.js";
|
|
12
14
|
import { xopcToolsToDefinitions } from "./xopc-tools-bridge.js";
|
|
13
15
|
import { TOOL_DISCOVERY_STATE, createXopcToolSearchExtension } from "./tool-search-extension.js";
|
|
14
|
-
import { getNativePiAgentDir } from "../mcp/native-mcp.js";
|
|
15
16
|
import { AGENT_PROFILE_CONTEXT_STATE, createAgentProfileContextExtension } from "./agent-profile-context.js";
|
|
16
17
|
import { join } from "node:path";
|
|
17
18
|
import { createHash } from "node:crypto";
|
|
@@ -46,7 +47,8 @@ function buildEmbeddedRunnerFingerprint(input) {
|
|
|
46
47
|
JSON.stringify(input.mcp ? {
|
|
47
48
|
servers: input.mcp.servers,
|
|
48
49
|
errors: input.mcp.errors,
|
|
49
|
-
credentialAliases: input.mcp.credentialAliases
|
|
50
|
+
credentialAliases: input.mcp.credentialAliases,
|
|
51
|
+
automationSourceRunId: input.mcp.automationSourceRunId
|
|
50
52
|
} : null),
|
|
51
53
|
JSON.stringify(input.executionToolPolicy ?? null)
|
|
52
54
|
].join("\0")).digest("base64url");
|
|
@@ -284,6 +286,7 @@ var EmbeddedSessionRunnerPool = class {
|
|
|
284
286
|
noContextFiles: true,
|
|
285
287
|
noExtensions: true,
|
|
286
288
|
extensionFactories: [
|
|
289
|
+
...mcp?.automationSourceRunId ? [createAutomationMcpSourceGuard(mcp.automationSourceRunId)] : [],
|
|
287
290
|
...codemode ? [createXopcCodemodeExtension(codemode, tools, () => boundSession)] : [],
|
|
288
291
|
...discovery ? [createXopcToolSearchExtension(tools)] : [],
|
|
289
292
|
...mcp ? [createMcpExtension({
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createLogger } from "../../../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../../../utils/logger.js";
|
|
3
|
-
import { imageFileExtensionForMimeType } from "./image-assets.js";
|
|
4
3
|
import { pickTimeoutMsOrFallback } from "../../../media-shared/http/deadline.js";
|
|
5
4
|
import { privateNetworkPolicyToSsrfGuardOptions } from "../../../media-shared/http/private-network.js";
|
|
6
5
|
import { resolveProviderHttpRequestConfig } from "../../../media-shared/http/resolve-provider-http-request-config.js";
|
|
7
6
|
import { postJsonRequest, postMultipartRequest, readJsonResponseLimited } from "../../../media-shared/http/provider-http.js";
|
|
8
7
|
import "../../../media-shared/http/index.js";
|
|
8
|
+
import { imageFileExtensionForMimeType } from "./image-assets.js";
|
|
9
9
|
import { ImageProviderError, validateImageRequest } from "../../../../packages/image-providers/src/validation.js";
|
|
10
10
|
import { decodeBase64, imageFromBytes } from "../../../../packages/image-providers/src/http.js";
|
|
11
11
|
import "../../../../packages/image-providers/src/index.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { checkFileSafety } from "../prompt/safety.js";
|
|
2
1
|
import { decodeDataUrl } from "./image-helpers.js";
|
|
2
|
+
import { checkFileSafety } from "../prompt/safety.js";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { promises } from "node:fs";
|
|
@@ -92,7 +92,10 @@ var InboundLoop = class {
|
|
|
92
92
|
type: "channel",
|
|
93
93
|
channel: context.channel
|
|
94
94
|
},
|
|
95
|
-
metadata: {
|
|
95
|
+
metadata: {
|
|
96
|
+
accountId: msg.metadata?.accountId,
|
|
97
|
+
transcribedVoice: msg.metadata?.transcribedVoice === true
|
|
98
|
+
}
|
|
96
99
|
};
|
|
97
100
|
const sessionMetadata = await this.cfg.sessionStore.getMetadata(sessionContext.conversationId).catch(() => null);
|
|
98
101
|
updateAsyncLogContext({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { withoutCloudCreditBudget } from "../providers/xopc-cloud-credit-budget.js";
|
|
2
2
|
import { withoutEmbeddedExecutionSession } from "./embedded/execution-context.js";
|
|
3
|
+
import { withoutDelegationScope } from "./orchestration/delegation-scope.js";
|
|
3
4
|
import { withoutDataToolPermissions } from "./tools/dataBatch.js";
|
|
4
5
|
import { withoutSearchCache } from "./tools/search/cache.js";
|
|
5
|
-
import { withoutDelegationScope } from "./orchestration/delegation-scope.js";
|
|
6
6
|
//#region src/agent/independent-execution.ts
|
|
7
7
|
/** Discard caller-owned execution scopes before resolving the target Agent. */
|
|
8
8
|
function runInIndependentAgentExecution(run) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AgentPluginStore } from "../../extensions/agent-plugins/store.js";
|
|
2
|
+
import { materializePluginServers } from "../../extensions/agent-plugins/mcp-adapter.js";
|
|
2
3
|
import { normalizeConfiguredMcpServers } from "../../config/mcp-config-normalize.js";
|
|
3
4
|
import { inspectExtensionConnectorDependencies } from "../../extensions/connector-dependencies.js";
|
|
4
|
-
import { materializePluginServers } from "../../extensions/agent-plugins/mcp-adapter.js";
|
|
5
5
|
//#region src/agent/mcp/config.ts
|
|
6
6
|
function loadMergedMcpConfig(params) {
|
|
7
7
|
const configured = Object.fromEntries(Object.entries(normalizeConfiguredMcpServers(params.cfg?.mcp?.servers)).filter(([, server]) => server.xopcConnector?.enabled !== false));
|
|
@@ -31,7 +31,9 @@ export declare class McpConnectionDrafts {
|
|
|
31
31
|
expiresAt: number;
|
|
32
32
|
}>;
|
|
33
33
|
probe(owner: string, id: string): Promise<McpConnectionProbe>;
|
|
34
|
-
authorize(owner: string, id: string
|
|
34
|
+
authorize(owner: string, id: string, options?: {
|
|
35
|
+
callbackRelayUrl?: string;
|
|
36
|
+
}): import("./connection-setup.js").McpAuthorization;
|
|
35
37
|
authorization(owner: string, id: string): import("./connection-setup.js").McpAuthorization;
|
|
36
38
|
redirect(owner: string, id: string, url: string): void;
|
|
37
39
|
cancelAuthorization(owner: string, id: string): void;
|
|
@@ -104,14 +104,15 @@ var McpConnectionDrafts = class {
|
|
|
104
104
|
draft.running = false;
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
authorize(owner, id) {
|
|
107
|
+
authorize(owner, id, options) {
|
|
108
108
|
const draft = this.get(owner, id);
|
|
109
109
|
this.assertIdle(draft);
|
|
110
110
|
if (draft.authorizationId) cancelMcpAuthorization(draft.authorizationId, owner);
|
|
111
111
|
draft.probe = void 0;
|
|
112
112
|
const attempt = startMcpAuthorization(draft.config, draft.workspace, draft.serverId, owner, {
|
|
113
113
|
credentials: draft.credentials,
|
|
114
|
-
authorizationScope: draft.id
|
|
114
|
+
authorizationScope: draft.id,
|
|
115
|
+
...options
|
|
115
116
|
});
|
|
116
117
|
draft.authorizationId = attempt.id;
|
|
117
118
|
return attempt;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createLogger } from "../../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../../utils/logger.js";
|
|
3
3
|
import { isManagedConnectorServer } from "../../connectors/materialize.js";
|
|
4
|
-
import { prepareNativeMcpConfig } from "./native-mcp.js";
|
|
5
4
|
import { resolveMcpSetupConfig } from "./effective-server.js";
|
|
6
|
-
import {
|
|
5
|
+
import { prepareNativeMcpConfig } from "./native-mcp.js";
|
|
7
6
|
import { McpAuthenticationRequiredError, discoverMcpTools, signInNativeMcp } from "./tool-catalog.js";
|
|
7
|
+
import { classifyMcpConnectionError } from "./connection-errors.js";
|
|
8
8
|
import { createHash, randomUUID } from "node:crypto";
|
|
9
9
|
//#region src/agent/mcp/connection-setup.ts
|
|
10
10
|
init_logger();
|
|
@@ -113,6 +113,38 @@ async function probeMcpConnection(config, workspace, serverId, options) {
|
|
|
113
113
|
return failed(cause);
|
|
114
114
|
}
|
|
115
115
|
if (server?.url && hasCredentials && /\b(?:401|403)\b|unauthorized|forbidden/i.test(String(error))) return { state: "token_required" };
|
|
116
|
+
if (server?.url && !server.auth && classifyMcpConnectionError(error) === "unknown" && Object.keys(server.headers ?? {}).some((name) => name.toLowerCase() === "authorization")) try {
|
|
117
|
+
const entry = (await prepareNativeMcpConfig(config, workspace)).servers.find((candidate) => candidate.name === serverId);
|
|
118
|
+
if (entry && "url" in entry.config) {
|
|
119
|
+
const response = await fetch(httpUrl(entry.config.url), {
|
|
120
|
+
method: "POST",
|
|
121
|
+
redirect: "error",
|
|
122
|
+
signal: options?.signal ? AbortSignal.any([options.signal, AbortSignal.timeout(1e4)]) : AbortSignal.timeout(1e4),
|
|
123
|
+
headers: {
|
|
124
|
+
Accept: "application/json, text/event-stream",
|
|
125
|
+
"Content-Type": "application/json",
|
|
126
|
+
...entry.config.headers
|
|
127
|
+
},
|
|
128
|
+
body: JSON.stringify({
|
|
129
|
+
jsonrpc: "2.0",
|
|
130
|
+
id: 1,
|
|
131
|
+
method: "initialize",
|
|
132
|
+
params: {
|
|
133
|
+
protocolVersion: "2025-03-26",
|
|
134
|
+
capabilities: {},
|
|
135
|
+
clientInfo: {
|
|
136
|
+
name: "xopc",
|
|
137
|
+
version: "1"
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
})
|
|
141
|
+
});
|
|
142
|
+
await response.body?.cancel();
|
|
143
|
+
if (response.status === 401 || response.status === 403) return { state: "token_required" };
|
|
144
|
+
}
|
|
145
|
+
} catch {
|
|
146
|
+
options?.signal?.throwIfAborted();
|
|
147
|
+
}
|
|
116
148
|
return failed(error);
|
|
117
149
|
}
|
|
118
150
|
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { type WeixinSetupScope } from './weixin-setup-scope.js';
|
|
2
|
+
import type { Config } from '../../config/schema.js';
|
|
3
|
+
type Phase = 'approval_required' | 'planned' | 'oauth_required' | 'authorizing' | 'token_required' | 'blocked' | 'ready' | 'cancelled';
|
|
4
|
+
export type McpSetupContext = {
|
|
5
|
+
conversationId: string;
|
|
6
|
+
agentId: string;
|
|
7
|
+
canConfigure: boolean;
|
|
8
|
+
canRequestWeixinSetup?: boolean;
|
|
9
|
+
};
|
|
10
|
+
type Save = (next: Config, expected?: Config) => Promise<{
|
|
11
|
+
saved: boolean;
|
|
12
|
+
persisted?: boolean;
|
|
13
|
+
conflict?: boolean;
|
|
14
|
+
}>;
|
|
15
|
+
/** Coordinates HTTP MCP setup; pi remains the sole MCP and OAuth implementation. */
|
|
16
|
+
export declare class McpConversationSetup {
|
|
17
|
+
private readonly options;
|
|
18
|
+
private readonly goals;
|
|
19
|
+
private readonly drafts;
|
|
20
|
+
private readonly draftIds;
|
|
21
|
+
private readonly busy;
|
|
22
|
+
private readonly authorizations;
|
|
23
|
+
private disposed;
|
|
24
|
+
constructor(options: {
|
|
25
|
+
readConfig: () => Config;
|
|
26
|
+
saveConfig: Save;
|
|
27
|
+
changed?: (conversationId: string) => void;
|
|
28
|
+
deliver?: (channel: WeixinSetupScope, text: string, setupId: string) => Promise<void>;
|
|
29
|
+
withConfigLock: <T>(operation: () => Promise<T>) => Promise<T>;
|
|
30
|
+
resume: (goal: {
|
|
31
|
+
id: string;
|
|
32
|
+
conversationId: string;
|
|
33
|
+
transcriptId: string;
|
|
34
|
+
serverId: string;
|
|
35
|
+
purpose: string;
|
|
36
|
+
channel?: WeixinSetupScope;
|
|
37
|
+
}) => Promise<boolean>;
|
|
38
|
+
});
|
|
39
|
+
private notify;
|
|
40
|
+
private save;
|
|
41
|
+
private current;
|
|
42
|
+
private get;
|
|
43
|
+
private view;
|
|
44
|
+
private cancelGoal;
|
|
45
|
+
revokeWeixinRequests(accountId: string, peerId: string): void;
|
|
46
|
+
reconcileWeixinScopes(): void;
|
|
47
|
+
private inspect;
|
|
48
|
+
currentForConversation(conversationId: string): {
|
|
49
|
+
setup: {
|
|
50
|
+
setupId: string;
|
|
51
|
+
serverId: string;
|
|
52
|
+
displayName: string;
|
|
53
|
+
version: number;
|
|
54
|
+
phase: Phase;
|
|
55
|
+
expired: boolean;
|
|
56
|
+
reloadRequired: boolean;
|
|
57
|
+
errorCode: string;
|
|
58
|
+
conversationId: string;
|
|
59
|
+
expiresAt: number;
|
|
60
|
+
interactionPath: string;
|
|
61
|
+
returnChannel: string;
|
|
62
|
+
managementPath: string;
|
|
63
|
+
continuationQueued: boolean;
|
|
64
|
+
replyDelivery: "failed" | "pending" | "delivered";
|
|
65
|
+
instruction: string;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
command(command: string, input: Record<string, unknown>, context: McpSetupContext, dryRun?: boolean): Promise<unknown>;
|
|
69
|
+
private advance;
|
|
70
|
+
/** Owner-only UI; secret values and OAuth URLs never pass through the model API. */
|
|
71
|
+
interact(id: string, action: 'get' | 'advance' | 'token' | 'authorize' | 'cancel' | 'approve' | 'retry_delivery', value?: string, expectedVersion?: number, ownerPrincipalId?: string): Promise<{
|
|
72
|
+
setupId: string;
|
|
73
|
+
serverId: string;
|
|
74
|
+
displayName: string;
|
|
75
|
+
version: number;
|
|
76
|
+
phase: Phase;
|
|
77
|
+
expired: boolean;
|
|
78
|
+
reloadRequired: boolean;
|
|
79
|
+
errorCode: string;
|
|
80
|
+
conversationId: string;
|
|
81
|
+
expiresAt: number;
|
|
82
|
+
interactionPath: string;
|
|
83
|
+
returnChannel: string;
|
|
84
|
+
managementPath: string;
|
|
85
|
+
continuationQueued: boolean;
|
|
86
|
+
replyDelivery: "failed" | "pending" | "delivered";
|
|
87
|
+
instruction: string;
|
|
88
|
+
} | {
|
|
89
|
+
phase: string;
|
|
90
|
+
endpointOrigin: string;
|
|
91
|
+
setupId: string;
|
|
92
|
+
serverId: string;
|
|
93
|
+
displayName: string;
|
|
94
|
+
version: number;
|
|
95
|
+
expired: boolean;
|
|
96
|
+
reloadRequired: boolean;
|
|
97
|
+
errorCode: string;
|
|
98
|
+
conversationId: string;
|
|
99
|
+
expiresAt: number;
|
|
100
|
+
interactionPath: string;
|
|
101
|
+
returnChannel: string;
|
|
102
|
+
managementPath: string;
|
|
103
|
+
continuationQueued: boolean;
|
|
104
|
+
replyDelivery: "failed" | "pending" | "delivered";
|
|
105
|
+
instruction: string;
|
|
106
|
+
} | {
|
|
107
|
+
endpointOrigin: string;
|
|
108
|
+
approval: {
|
|
109
|
+
endpoint: string;
|
|
110
|
+
purpose: string;
|
|
111
|
+
accountId: string;
|
|
112
|
+
peerId: string;
|
|
113
|
+
principalId: string;
|
|
114
|
+
origin: string;
|
|
115
|
+
};
|
|
116
|
+
canReplaceToken: boolean;
|
|
117
|
+
authorizationUrl: string;
|
|
118
|
+
authState: string;
|
|
119
|
+
requiresRecheck: boolean;
|
|
120
|
+
setupId: string;
|
|
121
|
+
serverId: string;
|
|
122
|
+
displayName: string;
|
|
123
|
+
version: number;
|
|
124
|
+
phase: Phase;
|
|
125
|
+
expired: boolean;
|
|
126
|
+
reloadRequired: boolean;
|
|
127
|
+
errorCode: string;
|
|
128
|
+
conversationId: string;
|
|
129
|
+
expiresAt: number;
|
|
130
|
+
interactionPath: string;
|
|
131
|
+
returnChannel: string;
|
|
132
|
+
managementPath: string;
|
|
133
|
+
continuationQueued: boolean;
|
|
134
|
+
replyDelivery: "failed" | "pending" | "delivered";
|
|
135
|
+
instruction: string;
|
|
136
|
+
}>;
|
|
137
|
+
private settleAuthorization;
|
|
138
|
+
dispose(): void;
|
|
139
|
+
relayCallback(id: string, callbackUrl: string): string;
|
|
140
|
+
completeContinuation(input: {
|
|
141
|
+
conversationId: string;
|
|
142
|
+
clientMessageId: string;
|
|
143
|
+
expectedTranscriptId?: string;
|
|
144
|
+
origin: {
|
|
145
|
+
type: string;
|
|
146
|
+
source?: string;
|
|
147
|
+
};
|
|
148
|
+
runId?: string;
|
|
149
|
+
}, text: string): Promise<void>;
|
|
150
|
+
private deliverReply;
|
|
151
|
+
private resume;
|
|
152
|
+
permitsContinuation(input: {
|
|
153
|
+
conversationId: string;
|
|
154
|
+
clientMessageId: string;
|
|
155
|
+
expectedTranscriptId?: string;
|
|
156
|
+
origin: {
|
|
157
|
+
type: string;
|
|
158
|
+
source?: string;
|
|
159
|
+
};
|
|
160
|
+
}): boolean;
|
|
161
|
+
resumePending(runtimeReloaded?: boolean): Promise<void>;
|
|
162
|
+
}
|
|
163
|
+
export {};
|