@xopcai/xopc 0.0.368 → 0.0.370
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -174
- package/README.zh-CN.md +59 -174
- package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/_md.js +131 -0
- package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/_u64.js +30 -0
- package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/sha2.js +252 -0
- package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/sha256.js +16 -0
- package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/utils.js +66 -0
- package/dist/browser-ext/_locales/en/messages.json +30 -1
- package/dist/browser-ext/_locales/zh_CN/messages.json +30 -1
- package/dist/browser-ext/dist/assets/{auth-beGtbLPS.js → page-context-BeworyNB.js} +1331 -1355
- package/dist/browser-ext/dist/assets/{sidepanel-BT0ojEzG.css → sidepanel-Ccl0eSa1.css} +43 -0
- package/dist/browser-ext/dist/background.js +680 -182
- package/dist/browser-ext/dist/sidepanel.html +2 -2
- package/dist/browser-ext/dist/sidepanel.js +393 -194
- package/dist/browser-ext/manifest.json +2 -8
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{activity-store-D9ZMh5ZR.js → activity-store-BQ3PMp2q.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-Bj3rvcTm.js → agent-avatar-dicebear-C61i1QbX.js} +1 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-0fCR1DHx.js +1 -0
- package/dist/gateway/static/root/assets/agent-plugin-dialog-Di99mUTT.js +1 -0
- package/dist/gateway/static/root/assets/agents-BRZZmYH_.js +66 -0
- package/dist/gateway/static/root/assets/{agents-admin-api-B5QDepbW.js → agents-admin-api-HBZvVyzF.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-2rTEtB_X.js → app-management-settings-panel-noqqxkds.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-BPVBS80k.js → appearance-settings-DG8QN0gR.js} +1 -1
- package/dist/gateway/static/root/assets/{apps-page-1FuKlZYP.js → apps-page-CgiyzFYo.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-BbT1O7oK.js → archive-plugin-BO3I9zRP.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-DjwP_h8h.js → automations-page-CgAcRFDS.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-BIkxIpab.js +6 -0
- package/dist/gateway/static/root/assets/{binary-plugins-gS7Wg68v.js → binary-plugins-gFD7vH9R.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-DbwMaivP.js → block-editor-B1VE-jAe.js} +2 -2
- package/dist/gateway/static/root/assets/browser-automation-inputs-DxRoKFun.js +1 -0
- package/dist/gateway/static/root/assets/browser-automations-page-CIjyMS6f.js +3 -0
- package/dist/gateway/static/root/assets/browser-settings-page-BMAivBfp.js +3 -0
- package/dist/gateway/static/root/assets/{capabilities-Lswa0hv8.js → capabilities-CY4SiHcP.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-Dd1PZRQw.js → capabilities-gjQtMhKu.js} +1 -1
- package/dist/gateway/static/root/assets/capabilities-page-DRdcfo68.js +2 -0
- package/dist/gateway/static/root/assets/{capabilities-settings-panel-DTHR1DrJ.js → capabilities-settings-panel-ZuL6pWjM.js} +4 -4
- package/dist/gateway/static/root/assets/{capability-header-actions-494dnJsj.js → capability-header-actions-D0GC1FEv.js} +1 -1
- package/dist/gateway/static/root/assets/channels-CgE22Pzd.js +1 -0
- package/dist/gateway/static/root/assets/{chat-terminal-dock-Bl7-Zk-x.js → chat-terminal-dock-CEjh1utz.js} +2 -2
- package/dist/gateway/static/root/assets/{computer-settings-page-ByExKr_6.js → computer-settings-page-vFHJAmQr.js} +1 -1
- package/dist/gateway/static/root/assets/{connector-service-page-BK_5aFxO.js → connector-service-page-DTrwZ4kV.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-DRcMiTWu.js +1 -0
- package/dist/gateway/static/root/assets/copy-text-row-C1gaJwlZ.js +1 -0
- package/dist/gateway/static/root/assets/{date-picker-BXJv6472.js → date-picker-NfGIPSYY.js} +1 -1
- package/dist/gateway/static/root/assets/dependency-picker-CqguveUi.js +1 -0
- package/dist/gateway/static/root/assets/{desktop-pet-DWNEC3mk.js → desktop-pet-CTx1zkJm.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-BYwlxGiN.js → desktop-pet-settings-BRDS3EGc.js} +1 -1
- package/dist/gateway/static/root/assets/{device-pairing-wizard-BAc4F35b.js → device-pairing-wizard-Du4Ciuyw.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-D26tSY8Z.js → directory-picker-path-field-CjstlxFl.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-xYIGNegB.js → extension-debug-page-BfAtjhoK.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-BoQ1-3AW.js → extension-page-BJmudejr.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-provider-Cw_JU6RR.js → extension-provider-Br6LXyIj.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-BH5TFGPe.js → extension-settings-page-UvmHniyz.js} +1 -1
- package/dist/gateway/static/root/assets/{fallback-models-04Wqmw14.js → fallback-models-euw9MGdt.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-swr-CNf0ZeRw.js → gateway-config-swr-7RKqgU_U.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-F6D4A7N5.js +1 -0
- package/dist/gateway/static/root/assets/gateway-realtime-store-BheKaO6d.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-settings-BqvCJVUC.js → gateway-settings-C7roPHh1.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-DIxHacUw.js → gateway-startup-retry-jiV5sbEX.js} +1 -1
- package/dist/gateway/static/root/assets/home-page-BGNCTtM3.js +2 -0
- package/dist/gateway/static/root/assets/{image-generation-api-CS0q0Kto.js → image-generation-api-DO4mXb6I.js} +1 -1
- package/dist/gateway/static/root/assets/{imports-page-n_rSLo6b.js → imports-page-DxCoT0VV.js} +1 -1
- package/dist/gateway/static/root/assets/index-BGBkIIzM.css +1 -0
- package/dist/gateway/static/root/assets/index-FCEE325-.js +106 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-tVkrHbYF.js → keyboard-shortcuts-settings-CnLln9Ds.js} +1 -1
- package/dist/gateway/static/root/assets/{local-app-workbench-page-L8tYuas0.js → local-app-workbench-page-yXRkSrEj.js} +1 -1
- package/dist/gateway/static/root/assets/{local-apps-page-SSJ9B1bH.js → local-apps-page-D46buzTk.js} +1 -1
- package/dist/gateway/static/root/assets/local-session-drafts-pox8evDV.js +1 -0
- package/dist/gateway/static/root/assets/{locale-store-D6_rF-qT.js → locale-store-COVscAqC.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-DmcCHnH0.js +2 -0
- package/dist/gateway/static/root/assets/management-settings-khN1ThNL.js +1 -0
- package/dist/gateway/static/root/assets/{markdown-view-_xwUuKce.js → markdown-view-B_qnAcW2.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-C631CDu4.js → media-plugins-C0Pc-wSY.js} +1 -1
- package/dist/gateway/static/root/assets/messages-Bb2GK-Nj.js +3 -0
- package/dist/gateway/static/root/assets/models-hub-cache-DyPPksMP.js +1 -0
- package/dist/gateway/static/root/assets/note-detail-panel-C_t58yha.js +5 -0
- package/dist/gateway/static/root/assets/{notes-api-vIZWQ9Yt.js → notes-api-sBgBcyLW.js} +1 -1
- package/dist/gateway/static/root/assets/notes-page-BJ0QS6xx.js +8 -0
- package/dist/gateway/static/root/assets/{page-context-capture-button-BlPDM7GM.js → page-context-capture-button-DfRODHv1.js} +1 -1
- package/dist/gateway/static/root/assets/personal-page-CiiXwwQE.js +1 -0
- package/dist/gateway/static/root/assets/{product-open-page-BJjWvoER.js → product-open-page-_Bp6HRmm.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-content-CEd4E7Gf.js → product-preview-content-BUdiO0Ct.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-Clb-fXYk.js +1 -0
- package/dist/gateway/static/root/assets/{projects-page-lszV8HuS.js → projects-page-D9JEEqhh.js} +1 -1
- package/dist/gateway/static/root/assets/{registry-api-uJnjqTcn.js → registry-api-Bh9UBb-f.js} +1 -1
- package/dist/gateway/static/root/assets/remote-access-hub-CmyTq3_l.js +1 -0
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-CjnNQYW8.js → runtime-tools-settings-panel-B1_inj8L.js} +1 -1
- package/dist/gateway/static/root/assets/{scenes-page-B3T3dDOR.js → scenes-page-CUNAZN2_.js} +2 -2
- package/dist/gateway/static/root/assets/{schema-form-DT3c4Vd_.js → schema-form-CfT-9UVw.js} +1 -1
- package/dist/gateway/static/root/assets/{send-session-input-CICkGwn-.js → send-session-input-BW40VHiL.js} +1 -1
- package/dist/gateway/static/root/assets/{session-api-BcQodoAu.js → session-api-yjpEz4pP.js} +1 -1
- package/dist/gateway/static/root/assets/session-manager-BqlvrjPE.js +16 -0
- package/dist/gateway/static/root/assets/sessions-page-CXZKScvu.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-B2vKXmzg.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-D-PZjcss.js → settings-page-1h3vyueg.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-Cqc7UlZy.js +1 -0
- package/dist/gateway/static/root/assets/{share-link-dialog-CWS8EkJS.js → share-link-dialog-HCHM8qnf.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-23NJAKiq.js → share-preview-page-Ce6FNWt1.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-api-iKhHbvBD.js → shares-api-c0dfWz6h.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-Dh5jisCK.js +1 -0
- package/dist/gateway/static/root/assets/{skill-api-C-MWdQwl.js → skill-api-deDZeQS8.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-reload-api-iy02aB13.js → skill-reload-api-Ge5XymHa.js} +1 -1
- package/dist/gateway/static/root/assets/skills-page-DZozl9U_.js +2 -0
- package/dist/gateway/static/root/assets/system-settings-panel-CtzyMxqq.js +1 -0
- package/dist/gateway/static/root/assets/{task-detail-page-B2SIEyhZ.js → task-detail-page-5f_V0h-p.js} +2 -2
- package/dist/gateway/static/root/assets/{task-expandable-content-D2LRR4BC.js → task-expandable-content-hYcgCEE3.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-BJfhz-Zq.js → theme-store-BOfCKgl6.js} +1 -1
- package/dist/gateway/static/root/assets/{tracing-settings-page-aHD56iaS.js → tracing-settings-page-DDWFXcST.js} +1 -1
- package/dist/gateway/static/root/assets/{tunnel-api-BCf8CfTC.js → tunnel-api-vMtlbJ-m.js} +1 -1
- package/dist/gateway/static/root/assets/{usage-page-B4XUkuJd.js → usage-page-B1-BCW8U.js} +1 -1
- package/dist/gateway/static/root/assets/{use-autosave-BnnTw9RE.js → use-autosave-CSckcjFx.js} +1 -1
- package/dist/gateway/static/root/assets/{use-composer-attachments-Itczg0y1.js → use-composer-attachments-DJya1hIL.js} +1 -1
- package/dist/gateway/static/root/assets/use-file-preview-expanded-C5ONO7sF.js +2 -0
- package/dist/gateway/static/root/assets/user-model-page-D4BSq9HJ.js +2 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-BphJku8x.js → voice-api-key-field-GEw5x2fU.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-B4u4coFj.js → voice-config-api-3yyVwXln.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-jgOEP1xw.js → work-discovery-overlay-CjiNYJV5.js} +1 -1
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-N69crzRu.js → workflow-run-setup-panel-DJOetXvm.js} +2 -2
- package/dist/gateway/static/root/assets/workflows-page-CcAPFh2R.js +6 -0
- package/dist/gateway/static/root/assets/{workspace-api-Lzv6GDO8.js → workspace-api-WhbMvdBE.js} +2 -2
- package/dist/gateway/static/root/index.html +32 -34
- package/dist/package.js +1 -1
- package/dist/packages/browser-control-contract/src/automation.js +213 -0
- package/dist/packages/browser-control-contract/src/index.js +43 -12
- package/dist/packages/endpoint-tools-client/src/index.js +189 -0
- package/dist/packages/endpoint-tools-protocol/src/bridge.js +105 -0
- package/dist/packages/endpoint-tools-protocol/src/index.js +93 -2
- package/dist/packages/endpoint-tools-protocol/src/location.js +109 -0
- package/dist/packages/gateway-contract/src/gateway-scopes.js +3 -1
- package/dist/packages/gateway-contract/src/notifications.js +1 -0
- package/dist/packages/gateway-contract/src/session-input-command.js +30 -5
- package/dist/packages/realtime-protocol/src/voice.js +9 -3
- package/dist/src/agent/agent-manager.js +22 -26
- package/dist/src/agent/coding/repository-instructions.js +8 -1
- package/dist/src/agent/embedded/codemode-extension.d.ts +7 -0
- package/dist/src/agent/embedded/codemode-extension.js +232 -0
- package/dist/src/agent/embedded/codemode-output.d.ts +2 -0
- package/dist/src/agent/embedded/codemode-output.js +34 -0
- package/dist/src/agent/embedded/external-tool-discovery.d.ts +6 -0
- package/dist/src/agent/embedded/external-tool-discovery.js +60 -0
- package/dist/src/agent/embedded/model-runtime.js +5 -2
- package/dist/src/agent/embedded/run-for-session.js +10 -1
- package/dist/src/agent/embedded/run-turn.js +10 -3
- package/dist/src/agent/embedded/session-runner.d.ts +9 -1
- package/dist/src/agent/embedded/session-runner.js +111 -23
- package/dist/src/agent/embedded/session-tool-result-guard.d.ts +2 -0
- package/dist/src/agent/embedded/session-tool-result-guard.js +17 -0
- package/dist/src/agent/embedded/subscribe-session.js +14 -4
- package/dist/src/agent/embedded/tool-metadata.d.ts +15 -0
- package/dist/src/agent/embedded/tool-metadata.js +38 -0
- package/dist/src/agent/embedded/tool-search-extension.d.ts +5 -0
- package/dist/src/agent/embedded/tool-search-extension.js +31 -0
- package/dist/src/agent/embedded/types.d.ts +7 -0
- package/dist/src/agent/embedded/xopc-tools-bridge.js +6 -0
- package/dist/src/agent/external-tools/endpoint-provider.d.ts +1 -1
- package/dist/src/agent/external-tools/endpoint-provider.js +148 -56
- package/dist/src/agent/external-tools/extension-provider.js +8 -1
- package/dist/src/agent/external-tools/gateway-tools.d.ts +1 -1
- package/dist/src/agent/external-tools/gateway-tools.js +45 -22
- package/dist/src/agent/external-tools/index.js +46 -14
- package/dist/src/agent/external-tools/memory-provider.js +8 -1
- package/dist/src/agent/external-tools/read-policy.js +2 -1
- package/dist/src/agent/external-tools/service.d.ts +2 -0
- package/dist/src/agent/external-tools/service.js +25 -3
- package/dist/src/agent/external-tools/tool-registry.d.ts +14 -0
- package/dist/src/agent/external-tools/tool-registry.js +14 -0
- package/dist/src/agent/external-tools/types.d.ts +8 -1
- package/dist/src/agent/external-tools/types.js +0 -1
- package/dist/src/agent/mcp/config.d.ts +18 -0
- package/dist/src/agent/mcp/{bundle-mcp-config.js → config.js} +8 -25
- package/dist/src/agent/mcp/native-mcp.d.ts +6 -0
- package/dist/src/agent/mcp/native-mcp.js +73 -0
- package/dist/src/agent/service.js +2 -5
- package/dist/src/agent/skills/installer.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.d.ts +0 -1
- package/dist/src/agent/source-context/index.js +1 -2
- package/dist/src/agent/source-context/injector.js +1 -0
- package/dist/src/agent/source-context/types.d.ts +2 -2
- package/dist/src/agent/source-context/types.js +1 -1
- package/dist/src/agent/tool-manuals/browser.d.ts +1 -1
- package/dist/src/agent/tool-manuals/browser.js +3 -3
- package/dist/src/agent/tools/browser/tool/browser-use-tool.js +1 -1
- package/dist/src/agent/tools/browser/tool/schemas.d.ts +0 -13
- package/dist/src/agent/tools/browser/tool/schemas.js +0 -4
- package/dist/src/agent/tools/browser-automation-tool.d.ts +74 -1
- package/dist/src/agent/tools/browser-automation-tool.js +52 -6
- package/dist/src/agent/tools/cli-clarify.js +1 -1
- package/dist/src/agent/tools/codemode-permissions.d.ts +4 -0
- package/dist/src/agent/tools/codemode-permissions.js +23 -0
- package/dist/src/agent/tools/dataBatch.js +3 -1
- package/dist/src/agent/tools/delegation-parent-policy.js +1 -4
- package/dist/src/agent/tools/factory.js +4 -3
- package/dist/src/agent/transcript/provider-capabilities.js +0 -1
- package/dist/src/agent/transcript/transcript-policy.js +1 -2
- package/dist/src/agent-config/schema.d.ts +28 -0
- package/dist/src/agent-config/schema.js +7 -0
- package/dist/src/auth/credentials.js +7 -20
- package/dist/src/auth/model-credential-store.js +11 -4
- package/dist/src/auth/oauth/index.d.ts +1 -1
- package/dist/src/auth/oauth/index.js +3 -3
- package/dist/src/auth/oauth/openai.d.ts +2 -0
- package/dist/src/auth/oauth/openai.js +90 -0
- package/dist/src/auth/oauth/registry.js +3 -3
- package/dist/src/auth/oauth/types.d.ts +1 -0
- package/dist/src/auth/oauth/xopc-cloud.js +1 -1
- package/dist/src/auth/sync-provider-auth.js +5 -0
- package/dist/src/automations/capabilities/write.d.ts +2 -0
- package/dist/src/automations/domain/types.d.ts +11 -0
- package/dist/src/automations/domain/validation.d.ts +4 -0
- package/dist/src/automations/domain/validation.js +1 -0
- package/dist/src/automations/draft/automation-draft-validator.d.ts +1 -0
- package/dist/src/automations/service/action-executor.js +11 -3
- package/dist/src/automations/service/automation-service.d.ts +1 -0
- package/dist/src/automations/service/automation-service.js +13 -1
- package/dist/src/bootstrap/application-state.js +1 -1
- package/dist/src/browser/automations/repository.d.ts +4 -0
- package/dist/src/browser/automations/repository.js +27 -6
- package/dist/src/browser/automations/runner.js +101 -9
- package/dist/src/browser/automations/runtime-service.js +4 -3
- package/dist/src/browser/automations/schema.d.ts +84 -1
- package/dist/src/browser/automations/schema.js +68 -2
- package/dist/src/browser/automations/service.d.ts +78 -1
- package/dist/src/browser/automations/service.js +36 -4
- package/dist/src/browser/automations/types.d.ts +19 -4
- package/dist/src/browser/drivers/extension-driver.d.ts +5 -5
- package/dist/src/browser/drivers/extension-driver.js +10 -10
- package/dist/src/browser/drivers/playwright-driver.js +46 -0
- package/dist/src/browser/index.d.ts +1 -2
- package/dist/src/browser/index.js +2 -3
- package/dist/src/browser/policy/browser-policy.d.ts +0 -1
- package/dist/src/browser/policy/browser-policy.js +1 -4
- package/dist/src/browser/providers/index.d.ts +1 -1
- package/dist/src/browser/providers/index.js +2 -2
- package/dist/src/browser/providers/realtime-extension.d.ts +1 -1
- package/dist/src/browser/providers/realtime-extension.js +5 -1
- package/dist/src/browser/recordings/service.d.ts +22 -0
- package/dist/src/browser/recordings/service.js +160 -0
- package/dist/src/browser/runtime/browser-runtime.d.ts +1 -1
- package/dist/src/browser/runtime/browser-runtime.js +19 -56
- package/dist/src/chat-commands/builtins/model.js +2 -2
- package/dist/src/cli/command-manifest.js +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/extension-agent-plugin.js +0 -19
- package/dist/src/cli/commands/mcp.js +36 -2
- package/dist/src/cli/commands/models.js +1 -1
- package/dist/src/cli/utils/oauth-login.js +2 -2
- package/dist/src/computer/runtime.js +2 -2
- package/dist/src/config/index.js +3 -3
- package/dist/src/config/mcp-config-normalize.d.ts +0 -3
- package/dist/src/config/mcp-config-normalize.js +2 -22
- package/dist/src/config/models-json.d.ts +0 -5
- package/dist/src/config/models-json.js +13 -4
- package/dist/src/config/paths.d.ts +0 -1
- package/dist/src/config/paths.js +1 -4
- package/dist/src/config/schema.d.ts +142 -48
- package/dist/src/config/schema.js +64 -47
- package/dist/src/connectors/auth-provider-registry.d.ts +1 -1
- package/dist/src/connectors/auth-provider-registry.js +1 -21
- package/dist/src/connectors/china-catalog.js +5 -5
- package/dist/src/connectors/connection-recovery-service.d.ts +1 -6
- package/dist/src/connectors/connection-recovery-service.js +3 -105
- package/dist/src/connectors/health.d.ts +1 -2
- package/dist/src/connectors/health.js +2 -101
- package/dist/src/connectors/types.d.ts +1 -1
- package/dist/src/endpoint-tools/binding-service.d.ts +2 -0
- package/dist/src/endpoint-tools/binding-service.js +14 -2
- package/dist/src/endpoint-tools/bridge-host.d.ts +15 -0
- package/dist/src/endpoint-tools/bridge-host.js +166 -0
- package/dist/src/endpoint-tools/bridge.d.ts +27 -0
- package/dist/src/endpoint-tools/bridge.js +88 -0
- package/dist/src/endpoint-tools/capability-catalog.d.ts +2 -0
- package/dist/src/endpoint-tools/capability-catalog.js +8 -0
- package/dist/src/endpoint-tools/grant-service.d.ts +69 -0
- package/dist/src/endpoint-tools/grant-service.js +113 -0
- package/dist/src/endpoint-tools/index.js +1 -1
- package/dist/src/endpoint-tools/invocation-service.js +6 -2
- package/dist/src/endpoint-tools/location-task.d.ts +22 -0
- package/dist/src/endpoint-tools/location-task.js +114 -0
- package/dist/src/endpoint-tools/policy.js +20 -4
- package/dist/src/endpoint-tools/registry.d.ts +2 -0
- package/dist/src/endpoint-tools/registry.js +9 -0
- package/dist/src/endpoint-tools/result-projector.d.ts +15 -0
- package/dist/src/endpoint-tools/result-projector.js +31 -0
- package/dist/src/endpoint-tools/runtime.d.ts +2 -0
- package/dist/src/endpoint-tools/runtime.js +15 -2
- package/dist/src/endpoint-tools/target-resolver.d.ts +12 -0
- package/dist/src/endpoint-tools/target-resolver.js +27 -0
- package/dist/src/endpoint-tools/turn-context.d.ts +6 -0
- package/dist/src/endpoint-tools/turn-context.js +29 -0
- package/dist/src/extensions/agent-plugins/auth.d.ts +0 -2
- package/dist/src/extensions/agent-plugins/auth.js +2 -19
- package/dist/src/extensions/agent-plugins/credentials.js +3 -19
- package/dist/src/extensions/agent-plugins/inventory.d.ts +2 -2
- package/dist/src/extensions/agent-plugins/mcp-adapter.js +1 -5
- package/dist/src/extensions/agent-plugins/source-http-fetch.d.ts +2 -0
- package/dist/src/{agent/mcp/plugin-http-fetch.js → extensions/agent-plugins/source-http-fetch.js} +7 -7
- package/dist/src/extensions/agent-plugins/sources.js +2 -2
- package/dist/src/extensions/agent-plugins/store.js +1 -3
- package/dist/src/extensions/agent-plugins/validation.d.ts +0 -4
- package/dist/src/extensions/agent-plugins/validation.js +13 -20
- package/dist/src/gateway/agents-admin.d.ts +5 -0
- package/dist/src/gateway/agents-admin.js +56 -1
- package/dist/src/gateway/chat-stream/mapper.js +9 -0
- package/dist/src/gateway/chat-stream/protocol.d.ts +4 -4
- package/dist/src/gateway/hono/lib/config-payload.d.ts +9 -4
- package/dist/src/gateway/hono/lib/config-payload.js +2 -5
- package/dist/src/gateway/hono/oauth-async.js +9 -2
- package/dist/src/gateway/hono/routes/agent-plugins.js +4 -9
- package/dist/src/gateway/hono/routes/agents.js +4 -3
- package/dist/src/gateway/hono/routes/browser-automations.js +23 -7
- package/dist/src/gateway/hono/routes/browser-recordings.d.ts +3 -0
- package/dist/src/gateway/hono/routes/browser-recordings.js +78 -0
- package/dist/src/gateway/hono/routes/browser.js +1 -34
- package/dist/src/gateway/hono/routes/connection-waits.js +2 -5
- package/dist/src/gateway/hono/routes/connectors.js +5 -60
- package/dist/src/gateway/hono/routes/device-authorizations.d.ts +3 -0
- package/dist/src/gateway/hono/routes/device-authorizations.js +74 -0
- package/dist/src/gateway/hono/routes/device-push.js +1 -0
- package/dist/src/gateway/hono/routes/endpoint-compatibility.js +7 -0
- package/dist/src/gateway/hono/routes/endpoint-tools.d.ts +1 -0
- package/dist/src/gateway/hono/routes/endpoint-tools.js +53 -3
- package/dist/src/gateway/hono/routes/home.js +1 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js +25 -1
- package/dist/src/gateway/hono/routes/mcp.d.ts +1 -1
- package/dist/src/gateway/hono/routes/mcp.js +11 -237
- package/dist/src/gateway/hono/routes/personal-agent.js +35 -0
- package/dist/src/gateway/hono/routes/session-command-handler.js +11 -1
- package/dist/src/gateway/hono/routes/session-input-handler.d.ts +8 -2
- package/dist/src/gateway/hono/routes/session-input-handler.js +25 -1
- package/dist/src/gateway/hono/routes/voice.js +5 -2
- package/dist/src/gateway/security/gateway-scopes.js +3 -1
- package/dist/src/gateway/service/agent-runner.js +1 -0
- package/dist/src/gateway/service/config-coordinator.js +2 -5
- package/dist/src/gateway/service/marketplace-service.js +2 -2
- package/dist/src/gateway/service/run-gateway-agent.js +13 -5
- package/dist/src/gateway/service/session-input-coordinator.d.ts +1 -1
- package/dist/src/gateway/service/session-input-coordinator.js +29 -9
- package/dist/src/gateway/service/sessions-api.js +0 -6
- package/dist/src/gateway/service.js +3 -12
- package/dist/src/gateway/session-reset-service.js +0 -6
- package/dist/src/home-intelligence/generator.d.ts +2 -0
- package/dist/src/home-intelligence/generator.js +53 -4
- package/dist/src/home-intelligence/host.d.ts +2 -1
- package/dist/src/home-intelligence/host.js +23 -3
- package/dist/src/imports/compatibility.js +12 -10
- package/dist/src/mcp/channel-bridge.js +1 -1
- package/dist/src/migrations/cloud-public-models.js +1 -0
- package/dist/src/notifications/clarification.d.ts +5 -0
- package/dist/src/notifications/clarification.js +66 -0
- package/dist/src/notifications/device-store.js +1 -0
- package/dist/src/notifications/harmony-push.d.ts +1 -0
- package/dist/src/notifications/harmony-push.js +3 -1
- package/dist/src/notifications/planner.d.ts +1 -0
- package/dist/src/notifications/service.d.ts +2 -2
- package/dist/src/notifications/service.js +20 -4
- package/dist/src/notifications/store.d.ts +2 -0
- package/dist/src/notifications/store.js +7 -1
- package/dist/src/notifications/types.d.ts +1 -0
- package/dist/src/notifications/types.js +1 -0
- package/dist/src/providers/env-keys.js +1 -1
- package/dist/src/providers/index.js +26 -24
- package/dist/src/providers/model-call.d.ts +0 -2
- package/dist/src/providers/model-call.js +2 -6
- package/dist/src/providers/model-registry.js +4 -2
- package/dist/src/providers/model-supplements.d.ts +3 -3
- package/dist/src/providers/model-supplements.js +6 -27
- package/dist/src/providers/presentation.js +3 -8
- package/dist/src/providers/prompt-cache-plan.js +1 -1
- package/dist/src/providers/provider-auth-service.d.ts +1 -1
- package/dist/src/providers/provider-auth-service.js +7 -2
- package/dist/src/providers/provider-policy.d.ts +3 -0
- package/dist/src/providers/provider-policy.js +14 -0
- package/dist/src/providers/register-runtime-providers.js +6 -1
- package/dist/src/realtime/runtime.js +1 -1
- package/dist/src/session/store.js +7 -1
- package/dist/src/session/transcript-events.d.ts +5 -0
- package/dist/src/session/transcript-events.js +1 -0
- package/dist/src/session/types.d.ts +2 -0
- package/dist/src/storage/sqlite/clarification-wait-repository.js +1 -0
- package/dist/src/storage/sqlite/device-grant-audit-repository.d.ts +11 -0
- package/dist/src/storage/sqlite/device-grant-audit-repository.js +10 -0
- package/dist/src/storage/sqlite/endpoint-device-settings-repository.d.ts +7 -0
- package/dist/src/storage/sqlite/endpoint-device-settings-repository.js +17 -0
- package/dist/src/storage/sqlite/migrations/238_browser_record_replay.sql +45 -0
- package/dist/src/storage/sqlite/migrations/239_clarification_notifications.sql +26 -0
- package/dist/src/storage/sqlite/migrations/240_device_settings.sql +5 -0
- package/dist/src/storage/sqlite/migrations/241_device_grant_audit.sql +13 -0
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +3 -3
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/storage/sqlite/session-input-repository.d.ts +1 -0
- package/dist/src/storage/sqlite/session-input-repository.js +5 -1
- package/dist/src/tasks/home-query-service.d.ts +1 -1
- package/dist/src/tasks/home-query-service.js +6 -2
- package/dist/src/tui/backends/gateway-realtime-backend.js +1 -1
- package/dist/src/tui/xopc-tui-keybindings.d.ts +4 -4
- package/dist/src/voice/dashscope/streaming-tts-stream.d.ts +2 -1
- package/dist/src/voice/dashscope/streaming-tts-stream.js +135 -79
- package/dist/src/voice/realtime/agentEngine.js +78 -1
- package/dist/src/voice/realtime/speakable-segmenter.d.ts +2 -0
- package/dist/src/voice/realtime/speakable-segmenter.js +30 -0
- package/dist/src/voice/tts/providers/alibaba-speech.js +17 -1
- package/dist/src/voice/tts/speak-core.d.ts +3 -0
- package/dist/src/voice/tts/speak-core.js +21 -1
- package/dist/src/voice/tts/speech-provider-types.d.ts +8 -0
- package/package.json +18 -7
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-D0tD3kCe.js +0 -1
- package/dist/gateway/static/root/assets/agent-plugin-dialog-BjdgKCnk.js +0 -1
- package/dist/gateway/static/root/assets/agents-CWXKzX5L.js +0 -66
- package/dist/gateway/static/root/assets/automations-workspace-C9ZT6TAU.js +0 -6
- package/dist/gateway/static/root/assets/browser-automation-inputs-CXG_JveC.js +0 -1
- package/dist/gateway/static/root/assets/browser-automations-page-CJc7OKR3.js +0 -3
- package/dist/gateway/static/root/assets/browser-settings-page-BjaTEUR8.js +0 -3
- package/dist/gateway/static/root/assets/capabilities-page-djBsC_tG.js +0 -2
- package/dist/gateway/static/root/assets/channels-BaYRJtz3.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-DyqRwSH2.js +0 -2
- package/dist/gateway/static/root/assets/copy-text-row-BHDs3cBa.js +0 -1
- package/dist/gateway/static/root/assets/dependency-picker-CWbbhKZa.js +0 -1
- package/dist/gateway/static/root/assets/dist-Che_jiQF.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-C4KtwMY3.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-ChZUzVbe.js +0 -1
- package/dist/gateway/static/root/assets/home-page-DhPPLbdD.js +0 -2
- package/dist/gateway/static/root/assets/index-CK4O2xMa.css +0 -1
- package/dist/gateway/static/root/assets/index-DpLD-7Hc.js +0 -106
- package/dist/gateway/static/root/assets/link-2-D_ZKYUW7.js +0 -1
- package/dist/gateway/static/root/assets/local-session-drafts-B_McurIj.js +0 -1
- package/dist/gateway/static/root/assets/logs-page-BWD63eg1.js +0 -2
- package/dist/gateway/static/root/assets/management-settings-aKSibklM.js +0 -1
- package/dist/gateway/static/root/assets/messages-Bnx3GMDB.js +0 -3
- package/dist/gateway/static/root/assets/models-hub-cache-Di83uIPw.js +0 -1
- package/dist/gateway/static/root/assets/note-detail-panel-B_fve3_2.js +0 -5
- package/dist/gateway/static/root/assets/notes-page-DnChyp8S.js +0 -8
- package/dist/gateway/static/root/assets/personal-page-BM2qAgg_.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-DM4_VLNX.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-O6j9CWX0.js +0 -1
- package/dist/gateway/static/root/assets/session-manager-B0tOE4qz.js +0 -16
- package/dist/gateway/static/root/assets/sessions-page-BIixHXlQ.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-49SUEWPh.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-Ce3gTbT3.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-CNEZjF66.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-BndNdYsJ.js +0 -2
- package/dist/gateway/static/root/assets/system-settings-panel-EpZeMlvp.js +0 -1
- package/dist/gateway/static/root/assets/use-file-preview-expanded-DJ5vyrvM.js +0 -2
- package/dist/gateway/static/root/assets/user-model-page-Bz5lkFG9.js +0 -2
- package/dist/gateway/static/root/assets/workflows-page-CPCgOfHh.js +0 -6
- package/dist/src/agent/embedded/system-prompt-override.d.ts +0 -2
- package/dist/src/agent/embedded/system-prompt-override.js +0 -21
- package/dist/src/agent/external-tools/mcp-provider.d.ts +0 -32
- package/dist/src/agent/external-tools/mcp-provider.js +0 -208
- package/dist/src/agent/mcp/bundle-mcp-config.d.ts +0 -20
- package/dist/src/agent/mcp/bundle-mcp-gateway.d.ts +0 -79
- package/dist/src/agent/mcp/bundle-mcp-gateway.js +0 -93
- package/dist/src/agent/mcp/bundle-mcp-names.d.ts +0 -1
- package/dist/src/agent/mcp/bundle-mcp-names.js +0 -25
- package/dist/src/agent/mcp/bundle-mcp-policy.d.ts +0 -1
- package/dist/src/agent/mcp/bundle-mcp-policy.js +0 -6
- package/dist/src/agent/mcp/bundle-mcp-runtime.d.ts +0 -46
- package/dist/src/agent/mcp/bundle-mcp-runtime.js +0 -571
- package/dist/src/agent/mcp/bundle-mcp-tools.d.ts +0 -2
- package/dist/src/agent/mcp/bundle-mcp-tools.js +0 -2
- package/dist/src/agent/mcp/bundle-mcp-types.d.ts +0 -76
- package/dist/src/agent/mcp/bundle-mcp-types.js +0 -1
- package/dist/src/agent/mcp/embedded-mcp.d.ts +0 -10
- package/dist/src/agent/mcp/embedded-mcp.js +0 -14
- package/dist/src/agent/mcp/index.d.ts +0 -5
- package/dist/src/agent/mcp/index.js +0 -12
- package/dist/src/agent/mcp/mcp-config-shared.d.ts +0 -8
- package/dist/src/agent/mcp/mcp-config-shared.js +0 -39
- package/dist/src/agent/mcp/mcp-http.d.ts +0 -23
- package/dist/src/agent/mcp/mcp-http.js +0 -67
- package/dist/src/agent/mcp/mcp-resource-id.d.ts +0 -6
- package/dist/src/agent/mcp/mcp-resource-id.js +0 -19
- package/dist/src/agent/mcp/mcp-stdio-transport.d.ts +0 -26
- package/dist/src/agent/mcp/mcp-stdio-transport.js +0 -120
- package/dist/src/agent/mcp/mcp-stdio.d.ts +0 -18
- package/dist/src/agent/mcp/mcp-stdio.js +0 -35
- package/dist/src/agent/mcp/mcp-transport-config.d.ts +0 -28
- package/dist/src/agent/mcp/mcp-transport-config.js +0 -91
- package/dist/src/agent/mcp/mcp-transport.d.ts +0 -17
- package/dist/src/agent/mcp/mcp-transport.js +0 -141
- package/dist/src/agent/mcp/oauth/index.d.ts +0 -6
- package/dist/src/agent/mcp/oauth/index.js +0 -6
- package/dist/src/agent/mcp/oauth/mcp-oauth-errors.d.ts +0 -5
- package/dist/src/agent/mcp/oauth/mcp-oauth-errors.js +0 -14
- package/dist/src/agent/mcp/oauth/mcp-oauth-manager.d.ts +0 -30
- package/dist/src/agent/mcp/oauth/mcp-oauth-manager.js +0 -276
- package/dist/src/agent/mcp/oauth/mcp-oauth-provider.d.ts +0 -33
- package/dist/src/agent/mcp/oauth/mcp-oauth-provider.js +0 -103
- package/dist/src/agent/mcp/oauth/mcp-oauth-session.d.ts +0 -31
- package/dist/src/agent/mcp/oauth/mcp-oauth-session.js +0 -181
- package/dist/src/agent/mcp/oauth/mcp-oauth-store.d.ts +0 -12
- package/dist/src/agent/mcp/oauth/mcp-oauth-store.js +0 -91
- package/dist/src/agent/mcp/oauth/mcp-oauth-types.d.ts +0 -22
- package/dist/src/agent/mcp/oauth/mcp-oauth-types.js +0 -1
- package/dist/src/agent/mcp/plugin-http-fetch.d.ts +0 -2
- package/dist/src/agent/source-context/mcp-resource-context.d.ts +0 -8
- package/dist/src/agent/source-context/mcp-resource-context.js +0 -30
- package/dist/src/auth/oauth/openai-codex.d.ts +0 -9
- package/dist/src/auth/oauth/openai-codex.js +0 -414
- package/dist/src/browser/policy/approval-store.d.ts +0 -17
- package/dist/src/browser/policy/approval-store.js +0 -62
- package/dist/src/browser/providers/extension-ws-acquire.d.ts +0 -19
- package/dist/src/browser/providers/extension-ws-acquire.js +0 -78
- package/dist/src/browser/providers/extension.d.ts +0 -61
- package/dist/src/browser/providers/extension.js +0 -378
- package/dist/src/connectors/plugin-mcp-recovery.d.ts +0 -28
- package/dist/src/connectors/plugin-mcp-recovery.js +0 -90
- package/dist/src/extensions/agent-plugins/connection.d.ts +0 -8
- package/dist/src/extensions/agent-plugins/connection.js +0 -41
- package/dist/src/extensions/agent-plugins/health.d.ts +0 -4
- package/dist/src/extensions/agent-plugins/health.js +0 -48
- package/dist/src/extensions/agent-plugins/plugin-oauth-scope.d.ts +0 -1
- package/dist/src/extensions/agent-plugins/plugin-oauth-scope.js +0 -8
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { init_paths, resolveModelsJsonPath } from "../config/paths.js";
|
|
3
|
+
import { init_register_bundled_oauth_flows, registerBundledOAuthFlows } from "./register-bundled-oauth-flows.js";
|
|
4
|
+
import { assertCurrentModelProvider, init_provider_policy } from "./provider-policy.js";
|
|
3
5
|
import { CredentialResolver, init_credentials } from "../auth/credentials.js";
|
|
4
6
|
import { XopcModelCredentialStore, init_model_credential_store } from "../auth/model-credential-store.js";
|
|
5
|
-
import { init_register_bundled_oauth_flows, registerBundledOAuthFlows } from "./register-bundled-oauth-flows.js";
|
|
6
7
|
import { init_register_runtime_providers, registerRuntimeProviders } from "./register-runtime-providers.js";
|
|
7
8
|
import { InMemoryModelsStore } from "@earendil-works/pi-ai";
|
|
8
9
|
import { ModelRuntime } from "@earendil-works/pi-coding-agent";
|
|
@@ -36,6 +37,7 @@ var init_provider_auth_service = __esmMin((() => {
|
|
|
36
37
|
init_paths();
|
|
37
38
|
init_register_bundled_oauth_flows();
|
|
38
39
|
init_register_runtime_providers();
|
|
40
|
+
init_provider_policy();
|
|
39
41
|
ProviderAuthService = class {
|
|
40
42
|
credentials;
|
|
41
43
|
resolver;
|
|
@@ -48,10 +50,13 @@ var init_provider_auth_service = __esmMin((() => {
|
|
|
48
50
|
this.runtimeFactory = options.runtimeFactory ?? createAuthRuntime;
|
|
49
51
|
}
|
|
50
52
|
async resolveApiKey(providerId, signal) {
|
|
53
|
+
assertCurrentModelProvider(providerId);
|
|
54
|
+
const source = await this.resolver.resolveApiKeySource?.(providerId);
|
|
55
|
+
if (source === "agent" || source === "global" || source === "env") return await this.resolver.resolveApiKey(providerId);
|
|
51
56
|
if ((await this.credentials.read(providerId, { signal }))?.type === "oauth") {
|
|
52
57
|
const runtime = await this.getRuntime();
|
|
53
58
|
const provider = runtime.getProvider(providerId);
|
|
54
|
-
if (provider?.auth.oauth && !provider.auth.apiKey) return (await runtime.getAuth(providerId, { signal }))?.auth.apiKey ?? null;
|
|
59
|
+
if (provider?.auth.oauth && (source === "oauth" || providerId === "openai" || !provider.auth.apiKey)) return (await runtime.getAuth(providerId, { signal }))?.auth.apiKey ?? null;
|
|
55
60
|
}
|
|
56
61
|
return await this.resolver.resolveApiKey(providerId);
|
|
57
62
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
//#region src/providers/provider-policy.ts
|
|
3
|
+
/** Provider identities removed from xopc's current model contract. */
|
|
4
|
+
function isRetiredModelProvider(provider) {
|
|
5
|
+
return provider === "openai-codex" || provider === "azure-openai-responses";
|
|
6
|
+
}
|
|
7
|
+
function assertCurrentModelProvider(provider) {
|
|
8
|
+
if (provider === "openai-codex") throw new Error("Provider openai-codex is no longer supported. Select openai/<model-id> and sign in with ChatGPT again under openai.");
|
|
9
|
+
if (provider === "azure-openai-responses") throw new Error("Provider azure-openai-responses is no longer supported. Update the provider ID and model references to azure; the azure-openai-responses API type remains supported.");
|
|
10
|
+
}
|
|
11
|
+
var init_provider_policy = __esmMin((() => {}));
|
|
12
|
+
//#endregion
|
|
13
|
+
init_provider_policy();
|
|
14
|
+
export { assertCurrentModelProvider, init_provider_policy, isRetiredModelProvider };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { getOAuthProviderDefinition, init_registry } from "../auth/oauth/registry.js";
|
|
3
|
+
import { init_provider_policy, isRetiredModelProvider } from "./provider-policy.js";
|
|
3
4
|
import { getModelCatalogStore, init_model_catalog_store } from "./model-catalog-store.js";
|
|
4
5
|
import { XOPC_CLOUD_PROVIDER_ID, init_xopc_cloud_config, resolveXopcModelRouterUrl } from "./xopc-cloud-config.js";
|
|
5
6
|
//#region src/providers/register-runtime-providers.ts
|
|
@@ -34,7 +35,10 @@ function registerRuntimeProvider(modelRuntime, source) {
|
|
|
34
35
|
}
|
|
35
36
|
/** Register dynamically discovered model providers, including their OAuth contract. */
|
|
36
37
|
function registerRuntimeProviders(modelRuntime, catalog = getModelCatalogStore().load()) {
|
|
37
|
-
for (const source of Object.values(catalog.sources))
|
|
38
|
+
for (const source of Object.values(catalog.sources)) {
|
|
39
|
+
if (isRetiredModelProvider(source.providerId)) continue;
|
|
40
|
+
registerRuntimeProvider(modelRuntime, source);
|
|
41
|
+
}
|
|
38
42
|
if (!catalog.sources["xopc-cloud"]) registerRuntimeProvider(modelRuntime, {
|
|
39
43
|
providerId: XOPC_CLOUD_PROVIDER_ID,
|
|
40
44
|
baseUrl: resolveXopcModelRouterUrl(),
|
|
@@ -47,6 +51,7 @@ function registerRuntimeProviders(modelRuntime, catalog = getModelCatalogStore()
|
|
|
47
51
|
}
|
|
48
52
|
var init_register_runtime_providers = __esmMin((() => {
|
|
49
53
|
init_registry();
|
|
54
|
+
init_provider_policy();
|
|
50
55
|
init_model_catalog_store();
|
|
51
56
|
init_xopc_cloud_config();
|
|
52
57
|
}));
|
|
@@ -2,8 +2,8 @@ import { createLogger } from "../utils/logger/index.js";
|
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
3
|
import { hasGatewayScope, init_gateway_scopes } from "../gateway/security/gateway-scopes.js";
|
|
4
4
|
import { EndpointToolPolicyError } from "../endpoint-tools/policy.js";
|
|
5
|
-
import { compactRunEvent } from "./compact-run-event.js";
|
|
6
5
|
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";
|
|
6
|
+
import { compactRunEvent } from "./compact-run-event.js";
|
|
7
7
|
import { createPreauthConnectionBudget } from "../gateway/security/preauth-connection-budget.js";
|
|
8
8
|
import { RealtimeBroker } from "./broker.js";
|
|
9
9
|
import { RealtimeTicketStore } from "./tickets.js";
|
|
@@ -404,6 +404,10 @@ var SessionStore = class {
|
|
|
404
404
|
requireXopcDatabase();
|
|
405
405
|
ensureSessionRecord(conversationId, this.resolveWorkspaceCwd(conversationId));
|
|
406
406
|
if (update.message && isAppendOnlyLlmTranscriptMessage(update.message)) appendTranscriptEntry(conversationId, update.message);
|
|
407
|
+
if (update.customEntry) appendTranscriptEntry(conversationId, {
|
|
408
|
+
type: "custom",
|
|
409
|
+
...update.customEntry
|
|
410
|
+
});
|
|
407
411
|
});
|
|
408
412
|
}
|
|
409
413
|
async appendTranscriptContextEntry(key, entry) {
|
|
@@ -949,7 +953,9 @@ var SessionStore = class {
|
|
|
949
953
|
timestamp: m.timestamp ? new Date(m.timestamp).toISOString() : void 0,
|
|
950
954
|
tool_call_id: m.tool_call_id || m.toolCallId,
|
|
951
955
|
tool_calls: m.tool_calls,
|
|
952
|
-
name: m.name
|
|
956
|
+
name: m.name,
|
|
957
|
+
...m.role === "toolResult" && m.nestedCalls ? { nestedCalls: m.nestedCalls } : {},
|
|
958
|
+
...m.role === "toolResult" && typeof m.durationMs === "number" ? { durationMs: m.durationMs } : {}
|
|
953
959
|
};
|
|
954
960
|
if (Array.isArray(m.media) && m.media.length > 0) row.media = m.media;
|
|
955
961
|
if (m.metadata && typeof m.metadata === "object") row.metadata = m.metadata;
|
|
@@ -2,6 +2,11 @@ export type SessionTranscriptUpdate = {
|
|
|
2
2
|
conversationId?: string;
|
|
3
3
|
message?: unknown;
|
|
4
4
|
messageId?: string;
|
|
5
|
+
customEntry?: {
|
|
6
|
+
customType: string;
|
|
7
|
+
data?: unknown;
|
|
8
|
+
timestamp: string;
|
|
9
|
+
};
|
|
5
10
|
};
|
|
6
11
|
type SessionTranscriptListener = (update: SessionTranscriptUpdate) => void;
|
|
7
12
|
export declare function onSessionTranscriptUpdate(listener: SessionTranscriptListener): () => void;
|
|
@@ -14,6 +14,7 @@ function emitSessionTranscriptUpdate(update) {
|
|
|
14
14
|
const nextUpdate = {
|
|
15
15
|
...conversationId ? { conversationId } : {},
|
|
16
16
|
...update.message !== void 0 ? { message: update.message } : {},
|
|
17
|
+
...update.customEntry ? { customEntry: update.customEntry } : {},
|
|
17
18
|
...normalizeOptionalString(update.messageId) ? { messageId: normalizeOptionalString(update.messageId) } : {}
|
|
18
19
|
};
|
|
19
20
|
for (const listener of SESSION_TRANSCRIPT_LISTENERS) try {
|
|
@@ -21,6 +21,8 @@ export interface Message {
|
|
|
21
21
|
toolName?: string;
|
|
22
22
|
isError?: boolean;
|
|
23
23
|
details?: unknown;
|
|
24
|
+
nestedCalls?: import('@earendil-works/pi-ai').ToolResultMessage['nestedCalls'];
|
|
25
|
+
durationMs?: number;
|
|
24
26
|
name?: string;
|
|
25
27
|
/** Token usage from the LLM response (assistant messages only). */
|
|
26
28
|
usage?: {
|
|
@@ -185,6 +185,7 @@ function createClarificationWait(input) {
|
|
|
185
185
|
id, principal_id, conversation_id, transcript_id, status, version, data_json,
|
|
186
186
|
origin_run_id, origin_tool_call_id
|
|
187
187
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(wait.id, wait.principalId, wait.conversationId, wait.transcriptId, wait.status, wait.version, JSON.stringify(wait), wait.originRunId, wait.originToolCallId);
|
|
188
|
+
db.prepare("INSERT INTO clarification_notification_outbox(wait_id, created_at) VALUES (?, ?)").run(wait.id, wait.createdAt);
|
|
188
189
|
markTaskWaiting(wait);
|
|
189
190
|
bumpSessionInputRevision(db, input.conversationId);
|
|
190
191
|
return wait;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface DeviceGrantAuditEvent {
|
|
2
|
+
id: string;
|
|
3
|
+
conversationId: string;
|
|
4
|
+
requestorPrincipalId: string;
|
|
5
|
+
targetPrincipalId: string;
|
|
6
|
+
targetEndpointId: string;
|
|
7
|
+
toolName: string;
|
|
8
|
+
argumentsDigest: string;
|
|
9
|
+
event: 'issued' | 'reserved' | 'consumed' | 'revoked' | 'expired';
|
|
10
|
+
}
|
|
11
|
+
export declare function recordDeviceGrantEvent(value: DeviceGrantAuditEvent): void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { getSqliteDatabase, init_transaction } from "./transaction.js";
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
3
|
+
//#region src/storage/sqlite/device-grant-audit-repository.ts
|
|
4
|
+
init_transaction();
|
|
5
|
+
function recordDeviceGrantEvent(value) {
|
|
6
|
+
getSqliteDatabase().prepare(`INSERT INTO device_grant_events(id, grant_id, conversation_id, requestor_principal_id,
|
|
7
|
+
target_principal_id, target_endpoint_id, tool_name, arguments_sha256, event, created_at_ms) VALUES (?,?,?,?,?,?,?,?,?,?)`).run(randomUUID(), value.id, value.conversationId, value.requestorPrincipalId, value.targetPrincipalId, value.targetEndpointId, value.toolName, value.argumentsDigest, value.event, Date.now());
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
export { recordDeviceGrantEvent };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface EndpointDeviceSettings {
|
|
2
|
+
nickname: string;
|
|
3
|
+
revision: number;
|
|
4
|
+
}
|
|
5
|
+
export declare function getEndpointDeviceSettings(principalId: string): EndpointDeviceSettings | undefined;
|
|
6
|
+
/** Compare and swap; revision zero means settings have not been created yet. */
|
|
7
|
+
export declare function renameEndpointDevice(principalId: string, nickname: string, expectedRevision: number): EndpointDeviceSettings | undefined;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getSqliteDatabase, init_transaction, runSqliteWriteTransaction } from "./transaction.js";
|
|
2
|
+
//#region src/storage/sqlite/endpoint-device-settings-repository.ts
|
|
3
|
+
init_transaction();
|
|
4
|
+
function getEndpointDeviceSettings(principalId) {
|
|
5
|
+
return getSqliteDatabase().prepare("SELECT nickname, revision FROM endpoint_device_settings WHERE principal_id = ?").get(principalId);
|
|
6
|
+
}
|
|
7
|
+
/** Compare and swap; revision zero means settings have not been created yet. */
|
|
8
|
+
function renameEndpointDevice(principalId, nickname, expectedRevision) {
|
|
9
|
+
return runSqliteWriteTransaction((db) => {
|
|
10
|
+
if (expectedRevision === 0) {
|
|
11
|
+
if (!db.prepare("INSERT OR IGNORE INTO endpoint_device_settings (principal_id, nickname) VALUES (?, ?)").run(principalId, nickname).changes) return void 0;
|
|
12
|
+
} else if (!db.prepare("UPDATE endpoint_device_settings SET nickname = ?, revision = revision + 1 WHERE principal_id = ? AND revision = ?").run(nickname, principalId, expectedRevision).changes) return void 0;
|
|
13
|
+
return getEndpointDeviceSettings(principalId);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { getEndpointDeviceSettings, renameEndpointDevice };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
CREATE TABLE browser_automation_versions (
|
|
2
|
+
automation_id TEXT NOT NULL REFERENCES browser_automations(automation_id) ON DELETE CASCADE,
|
|
3
|
+
revision INTEGER NOT NULL,
|
|
4
|
+
definition_json TEXT NOT NULL,
|
|
5
|
+
created_at_ms INTEGER NOT NULL,
|
|
6
|
+
PRIMARY KEY (automation_id, revision)
|
|
7
|
+
);
|
|
8
|
+
INSERT INTO browser_automation_versions SELECT automation_id, revision, definition_json, updated_at_ms FROM browser_automations;
|
|
9
|
+
|
|
10
|
+
CREATE TABLE browser_automation_verifications (
|
|
11
|
+
automation_id TEXT NOT NULL,
|
|
12
|
+
revision INTEGER NOT NULL,
|
|
13
|
+
run_id TEXT NOT NULL REFERENCES browser_automation_runs(run_id) ON DELETE CASCADE,
|
|
14
|
+
verified_at_ms INTEGER NOT NULL,
|
|
15
|
+
PRIMARY KEY (automation_id, revision),
|
|
16
|
+
FOREIGN KEY (automation_id, revision) REFERENCES browser_automation_versions(automation_id, revision) ON DELETE CASCADE
|
|
17
|
+
);
|
|
18
|
+
ALTER TABLE browser_automation_runs ADD COLUMN client_request_id TEXT;
|
|
19
|
+
ALTER TABLE browser_automation_runs ADD COLUMN business_outcome TEXT;
|
|
20
|
+
CREATE UNIQUE INDEX idx_browser_run_request ON browser_automation_runs(client_request_id) WHERE client_request_id IS NOT NULL;
|
|
21
|
+
|
|
22
|
+
CREATE TABLE browser_recordings (
|
|
23
|
+
recording_id TEXT PRIMARY KEY,
|
|
24
|
+
principal_id TEXT NOT NULL,
|
|
25
|
+
state TEXT NOT NULL,
|
|
26
|
+
ack_seq INTEGER NOT NULL DEFAULT 0,
|
|
27
|
+
final_seq INTEGER,
|
|
28
|
+
automation_id TEXT REFERENCES browser_automations(automation_id) ON DELETE CASCADE,
|
|
29
|
+
error TEXT,
|
|
30
|
+
created_at_ms INTEGER NOT NULL,
|
|
31
|
+
updated_at_ms INTEGER NOT NULL
|
|
32
|
+
);
|
|
33
|
+
CREATE TABLE browser_recording_events (
|
|
34
|
+
recording_id TEXT NOT NULL REFERENCES browser_recordings(recording_id) ON DELETE CASCADE,
|
|
35
|
+
seq INTEGER NOT NULL,
|
|
36
|
+
event_id TEXT NOT NULL UNIQUE,
|
|
37
|
+
payload_json TEXT NOT NULL,
|
|
38
|
+
PRIMARY KEY (recording_id, seq)
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
UPDATE automations SET action_json=json_set(action_json, '$.revision', COALESCE((SELECT revision FROM browser_automations WHERE automation_id=json_extract(automations.action_json, '$.automationId')), 1)), enabled=0
|
|
42
|
+
WHERE json_extract(action_json, '$.kind')='browser_automation';
|
|
43
|
+
|
|
44
|
+
UPDATE devices SET scopes_json=json_insert(scopes_json, '$[#]', 'automations.read') WHERE platform='chrome' AND NOT EXISTS(SELECT 1 FROM json_each(scopes_json) WHERE value='automations.read');
|
|
45
|
+
UPDATE devices SET scopes_json=json_insert(scopes_json, '$[#]', 'automations.write') WHERE platform='chrome' AND NOT EXISTS(SELECT 1 FROM json_each(scopes_json) WHERE value='automations.write');
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
CREATE TABLE clarification_notification_outbox (
|
|
2
|
+
wait_id TEXT PRIMARY KEY REFERENCES session_clarification_waits(id) ON DELETE CASCADE,
|
|
3
|
+
status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending', 'settled')),
|
|
4
|
+
created_at INTEGER NOT NULL
|
|
5
|
+
);
|
|
6
|
+
CREATE INDEX idx_clarification_notification_pending ON clarification_notification_outbox(status, created_at);
|
|
7
|
+
INSERT INTO clarification_notification_outbox(wait_id, created_at)
|
|
8
|
+
SELECT id, CAST(json_extract(data_json, '$.createdAt') AS INTEGER)
|
|
9
|
+
FROM session_clarification_waits WHERE status = 'open';
|
|
10
|
+
|
|
11
|
+
ALTER TABLE notification_deliveries RENAME TO notification_deliveries_old;
|
|
12
|
+
CREATE TABLE notification_deliveries (
|
|
13
|
+
event_id TEXT NOT NULL REFERENCES notification_events(event_id) ON DELETE CASCADE,
|
|
14
|
+
device_id TEXT NOT NULL REFERENCES device_push_endpoints(device_id) ON DELETE CASCADE,
|
|
15
|
+
status TEXT NOT NULL CHECK(status IN ('pending', 'accepted', 'delivered', 'dead', 'cancelled')),
|
|
16
|
+
attempts INTEGER NOT NULL DEFAULT 0,
|
|
17
|
+
next_attempt_at INTEGER NOT NULL,
|
|
18
|
+
provider_ticket_id TEXT,
|
|
19
|
+
last_error TEXT,
|
|
20
|
+
updated_at INTEGER NOT NULL,
|
|
21
|
+
PRIMARY KEY(event_id, device_id)
|
|
22
|
+
);
|
|
23
|
+
INSERT INTO notification_deliveries SELECT * FROM notification_deliveries_old;
|
|
24
|
+
DROP TABLE notification_deliveries_old;
|
|
25
|
+
CREATE INDEX idx_notification_deliveries_due ON notification_deliveries(status, next_attempt_at);
|
|
26
|
+
CREATE INDEX idx_notification_deliveries_device ON notification_deliveries(device_id);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
CREATE TABLE device_grant_events (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
grant_id TEXT NOT NULL,
|
|
4
|
+
conversation_id TEXT NOT NULL,
|
|
5
|
+
requestor_principal_id TEXT NOT NULL,
|
|
6
|
+
target_principal_id TEXT NOT NULL,
|
|
7
|
+
target_endpoint_id TEXT NOT NULL,
|
|
8
|
+
tool_name TEXT NOT NULL,
|
|
9
|
+
arguments_sha256 TEXT NOT NULL,
|
|
10
|
+
event TEXT NOT NULL CHECK(event IN ('issued','reserved','consumed','revoked','expired')),
|
|
11
|
+
created_at_ms INTEGER NOT NULL
|
|
12
|
+
);
|
|
13
|
+
CREATE INDEX device_grant_events_conversation ON device_grant_events(conversation_id, created_at_ms);
|
|
@@ -3,7 +3,7 @@ import type { ApplyMigrationsOptions } from './types.js';
|
|
|
3
3
|
/** Baseline schema version applied from schema.sql on first open. */
|
|
4
4
|
export declare const XOPC_DB_BASELINE_SCHEMA_VERSION = 165;
|
|
5
5
|
/** Latest schema version this release supports (increment when adding migrations). */
|
|
6
|
-
export declare const XOPC_DB_SCHEMA_VERSION =
|
|
6
|
+
export declare const XOPC_DB_SCHEMA_VERSION = 241;
|
|
7
7
|
export declare function resolveMigrationsDir(override?: string): string;
|
|
8
8
|
/**
|
|
9
9
|
* Apply sequential SQL migrations from (currentVersion + 1) through targetVersion.
|
|
@@ -57,7 +57,7 @@ function applySingleMigration(db, migration, discardOldScenes = false) {
|
|
|
57
57
|
*/
|
|
58
58
|
function applyPendingMigrations(db, options = {}) {
|
|
59
59
|
db.function("xopc_operation_id", () => currentOperationId() ?? null);
|
|
60
|
-
const targetVersion = options.targetVersion ??
|
|
60
|
+
const targetVersion = options.targetVersion ?? 241;
|
|
61
61
|
let currentVersion = readSchemaVersion(db);
|
|
62
62
|
if (currentVersion > targetVersion) throw new DatabaseSchemaTooNewError(currentVersion, targetVersion);
|
|
63
63
|
if (!options.migrationsDir && currentVersion < 165) throw new DatabaseSchemaTooOldError(currentVersion, 165);
|
|
@@ -95,7 +95,7 @@ function applyPendingMigrations(db, options = {}) {
|
|
|
95
95
|
}
|
|
96
96
|
/** Inspect schema version without mutating the database. */
|
|
97
97
|
function inspectSchemaMigrationStatus(db, options = {}) {
|
|
98
|
-
const appVersion = options.targetVersion ??
|
|
98
|
+
const appVersion = options.targetVersion ?? 241;
|
|
99
99
|
const dbVersion = readSchemaVersion(db);
|
|
100
100
|
if (dbVersion > appVersion) return {
|
|
101
101
|
dbVersion,
|
|
@@ -137,7 +137,7 @@ var init_runner = __esmMin((() => {
|
|
|
137
137
|
init_errors();
|
|
138
138
|
log = createLogger("Sqlite:Migrations");
|
|
139
139
|
XOPC_DB_BASELINE_SCHEMA_VERSION = 165;
|
|
140
|
-
XOPC_DB_SCHEMA_VERSION =
|
|
140
|
+
XOPC_DB_SCHEMA_VERSION = 241;
|
|
141
141
|
}));
|
|
142
142
|
//#endregion
|
|
143
143
|
init_runner();
|
|
@@ -71,6 +71,7 @@ export declare function listActiveSessionInputExecutions(): Array<{
|
|
|
71
71
|
taskRunId?: string;
|
|
72
72
|
startedAt: number;
|
|
73
73
|
}>;
|
|
74
|
+
export declare function findSessionInputByRunId(conversationId: string, runId: string): SessionInput | undefined;
|
|
74
75
|
export declare function findSessionInput(conversationId: string, clientMessageId: string): SessionInput | undefined;
|
|
75
76
|
export declare function getSessionInputById(conversationId: string, id: string): SessionInput | undefined;
|
|
76
77
|
export declare class SessionInstanceChangedError extends Error {
|
|
@@ -112,6 +112,10 @@ function listActiveSessionInputExecutions() {
|
|
|
112
112
|
startedAt: row.updated_at_ms ?? Date.now()
|
|
113
113
|
}));
|
|
114
114
|
}
|
|
115
|
+
function findSessionInputByRunId(conversationId, runId) {
|
|
116
|
+
const row = getSqliteDatabase().prepare(`${SELECT_INPUTS} WHERE conversation_id = ? AND run_id = ? ORDER BY created_at_ms LIMIT 1`).get(conversationId, runId);
|
|
117
|
+
return row ? mapInput(row) : void 0;
|
|
118
|
+
}
|
|
115
119
|
function findSessionInput(conversationId, clientMessageId) {
|
|
116
120
|
const row = getSqliteDatabase().prepare(`${SELECT_INPUTS} WHERE conversation_id = ? AND client_message_id = ?`).get(conversationId, clientMessageId);
|
|
117
121
|
return row ? mapInput(row) : void 0;
|
|
@@ -251,4 +255,4 @@ var init_session_input_repository = __esmMin((() => {
|
|
|
251
255
|
}));
|
|
252
256
|
//#endregion
|
|
253
257
|
init_session_input_repository();
|
|
254
|
-
export { SessionInstanceChangedError, bumpSessionInputRevision, cancelQueuedSessionInput, claimNextSessionInput, findSessionInput, finishSessionInputRun, getSessionInputById, getSessionInputState, init_session_input_repository, insertSessionInput, listActiveSessionInputExecutions, listActiveSessionInputRuns, listTaskUpdateRunIds, listTaskUpdateTriggers, mutateQueuedSessionInput, recoverSessionInputState, setSessionInputStatus };
|
|
258
|
+
export { SessionInstanceChangedError, bumpSessionInputRevision, cancelQueuedSessionInput, claimNextSessionInput, findSessionInput, findSessionInputByRunId, finishSessionInputRun, getSessionInputById, getSessionInputState, init_session_input_repository, insertSessionInput, listActiveSessionInputExecutions, listActiveSessionInputRuns, listTaskUpdateRunIds, listTaskUpdateTriggers, mutateQueuedSessionInput, recoverSessionInputState, setSessionInputStatus };
|
|
@@ -58,7 +58,7 @@ export declare class HomeQueryService {
|
|
|
58
58
|
#private;
|
|
59
59
|
private readonly service;
|
|
60
60
|
private readonly getAdvisor;
|
|
61
|
-
constructor(service: HomeGatewayPort, getAdvisor?: () => HomeAdvisor);
|
|
61
|
+
constructor(service: HomeGatewayPort, getAdvisor?: (locale?: string) => HomeAdvisor);
|
|
62
62
|
getSnapshot(locale?: string): Promise<HomeResponse>;
|
|
63
63
|
}
|
|
64
64
|
export {};
|
|
@@ -104,7 +104,11 @@ function decisionFromTask(model, projectName, locale) {
|
|
|
104
104
|
},
|
|
105
105
|
kind: "task",
|
|
106
106
|
title: task.title,
|
|
107
|
-
detail:
|
|
107
|
+
detail: isChinese ? {
|
|
108
|
+
"Agent run returned no result or evidence": "本次执行没有返回结果或依据,请重试。",
|
|
109
|
+
"The latest run failed": "最近一次执行失败,请查看详情后重试。",
|
|
110
|
+
"Task is overdue": "任务已逾期。"
|
|
111
|
+
}[item.summary] ?? item.summary : item.summary,
|
|
108
112
|
reason,
|
|
109
113
|
urgency: "now",
|
|
110
114
|
href: `/tasks/${encodeURIComponent(task.id)}`,
|
|
@@ -412,7 +416,7 @@ var HomeQueryService = class {
|
|
|
412
416
|
}),
|
|
413
417
|
runningConversations,
|
|
414
418
|
decisions,
|
|
415
|
-
advisor: this.getAdvisor(),
|
|
419
|
+
advisor: this.getAdvisor(locale),
|
|
416
420
|
attentionPolicy: governed.policy
|
|
417
421
|
};
|
|
418
422
|
}
|
|
@@ -7,8 +7,8 @@ import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
|
7
7
|
import { init_paths } from "../../config/paths.js";
|
|
8
8
|
import { transcriptRowsToClientHistory } from "../../session/client-history.js";
|
|
9
9
|
import { parseModelRef } from "../../agent/models/selection.js";
|
|
10
|
-
import { gatewayCredentialAuthorization } from "../../gateway/credential.js";
|
|
11
10
|
import { RealtimeClient } from "../../../packages/realtime-client/src/index.js";
|
|
11
|
+
import { gatewayCredentialAuthorization } from "../../gateway/credential.js";
|
|
12
12
|
import { buildTuiTranscriptTree, transcriptTreeEntryIdToRowNumber } from "../tui-transcript-tree.js";
|
|
13
13
|
import { computeTuiSessionStats } from "../tui-session-stats.js";
|
|
14
14
|
import { createRequire } from "node:module";
|
|
@@ -253,11 +253,11 @@ export declare const XOPC_TUI_KEYBINDINGS: {
|
|
|
253
253
|
readonly description: "Move cursor word right";
|
|
254
254
|
};
|
|
255
255
|
readonly "tui.editor.cursorLineStart": {
|
|
256
|
-
readonly defaultKeys: ["home", "ctrl+
|
|
256
|
+
readonly defaultKeys: ["home", "ctrl+a"];
|
|
257
257
|
readonly description: "Move to line start";
|
|
258
258
|
};
|
|
259
259
|
readonly "tui.editor.cursorLineEnd": {
|
|
260
|
-
readonly defaultKeys: ["end", "ctrl+
|
|
260
|
+
readonly defaultKeys: ["end", "ctrl+e"];
|
|
261
261
|
readonly description: "Move to line end";
|
|
262
262
|
};
|
|
263
263
|
readonly "tui.editor.jumpForward": {
|
|
@@ -401,11 +401,11 @@ export declare const XOPC_TUI_KEYBINDINGS: {
|
|
|
401
401
|
readonly description: "Close transcript search";
|
|
402
402
|
};
|
|
403
403
|
readonly "tui.altScreen.top": {
|
|
404
|
-
readonly defaultKeys: "home";
|
|
404
|
+
readonly defaultKeys: "ctrl+home";
|
|
405
405
|
readonly description: "Scroll viewport to top";
|
|
406
406
|
};
|
|
407
407
|
readonly "tui.altScreen.bottom": {
|
|
408
|
-
readonly defaultKeys: "end";
|
|
408
|
+
readonly defaultKeys: "ctrl+end";
|
|
409
409
|
readonly description: "Scroll viewport to bottom";
|
|
410
410
|
};
|
|
411
411
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SpeechSynthesisStreamResult } from '../tts/speech-provider-types.js';
|
|
1
|
+
import type { SpeechStreamSession, SpeechSynthesisStreamResult } from '../tts/speech-provider-types.js';
|
|
2
2
|
export interface DashScopeStreamingTtsRequest {
|
|
3
3
|
apiKey: string;
|
|
4
4
|
baseUrl?: string;
|
|
@@ -11,3 +11,4 @@ export interface DashScopeStreamingTtsRequest {
|
|
|
11
11
|
timeoutMs: number;
|
|
12
12
|
}
|
|
13
13
|
export declare function openDashScopeStreamingTts(request: DashScopeStreamingTtsRequest): Promise<SpeechSynthesisStreamResult>;
|
|
14
|
+
export declare function openDashScopeTtsSession(request: Omit<DashScopeStreamingTtsRequest, 'text'>): Promise<SpeechStreamSession>;
|