@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
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Hash, abytes, aexists, aoutput, clean, createView, toBytes } from "./utils.js";
|
|
2
|
+
//#region .pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/esm/_md.js
|
|
3
|
+
/**
|
|
4
|
+
* Internal Merkle-Damgard hash utils.
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
/** Polyfill for Safari 14. https://caniuse.com/mdn-javascript_builtins_dataview_setbiguint64 */
|
|
8
|
+
function setBigUint64(view, byteOffset, value, isLE) {
|
|
9
|
+
if (typeof view.setBigUint64 === "function") return view.setBigUint64(byteOffset, value, isLE);
|
|
10
|
+
const _32n = BigInt(32);
|
|
11
|
+
const _u32_max = BigInt(4294967295);
|
|
12
|
+
const wh = Number(value >> _32n & _u32_max);
|
|
13
|
+
const wl = Number(value & _u32_max);
|
|
14
|
+
const h = isLE ? 4 : 0;
|
|
15
|
+
const l = isLE ? 0 : 4;
|
|
16
|
+
view.setUint32(byteOffset + h, wh, isLE);
|
|
17
|
+
view.setUint32(byteOffset + l, wl, isLE);
|
|
18
|
+
}
|
|
19
|
+
/** Choice: a ? b : c */
|
|
20
|
+
function Chi(a, b, c) {
|
|
21
|
+
return a & b ^ ~a & c;
|
|
22
|
+
}
|
|
23
|
+
/** Majority function, true if any two inputs is true. */
|
|
24
|
+
function Maj(a, b, c) {
|
|
25
|
+
return a & b ^ a & c ^ b & c;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Merkle-Damgard hash construction base class.
|
|
29
|
+
* Could be used to create MD5, RIPEMD, SHA1, SHA2.
|
|
30
|
+
*/
|
|
31
|
+
var HashMD = class extends Hash {
|
|
32
|
+
constructor(blockLen, outputLen, padOffset, isLE) {
|
|
33
|
+
super();
|
|
34
|
+
this.finished = false;
|
|
35
|
+
this.length = 0;
|
|
36
|
+
this.pos = 0;
|
|
37
|
+
this.destroyed = false;
|
|
38
|
+
this.blockLen = blockLen;
|
|
39
|
+
this.outputLen = outputLen;
|
|
40
|
+
this.padOffset = padOffset;
|
|
41
|
+
this.isLE = isLE;
|
|
42
|
+
this.buffer = new Uint8Array(blockLen);
|
|
43
|
+
this.view = createView(this.buffer);
|
|
44
|
+
}
|
|
45
|
+
update(data) {
|
|
46
|
+
aexists(this);
|
|
47
|
+
data = toBytes(data);
|
|
48
|
+
abytes(data);
|
|
49
|
+
const { view, buffer, blockLen } = this;
|
|
50
|
+
const len = data.length;
|
|
51
|
+
for (let pos = 0; pos < len;) {
|
|
52
|
+
const take = Math.min(blockLen - this.pos, len - pos);
|
|
53
|
+
if (take === blockLen) {
|
|
54
|
+
const dataView = createView(data);
|
|
55
|
+
for (; blockLen <= len - pos; pos += blockLen) this.process(dataView, pos);
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
buffer.set(data.subarray(pos, pos + take), this.pos);
|
|
59
|
+
this.pos += take;
|
|
60
|
+
pos += take;
|
|
61
|
+
if (this.pos === blockLen) {
|
|
62
|
+
this.process(view, 0);
|
|
63
|
+
this.pos = 0;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
this.length += data.length;
|
|
67
|
+
this.roundClean();
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
digestInto(out) {
|
|
71
|
+
aexists(this);
|
|
72
|
+
aoutput(out, this);
|
|
73
|
+
this.finished = true;
|
|
74
|
+
const { buffer, view, blockLen, isLE } = this;
|
|
75
|
+
let { pos } = this;
|
|
76
|
+
buffer[pos++] = 128;
|
|
77
|
+
clean(this.buffer.subarray(pos));
|
|
78
|
+
if (this.padOffset > blockLen - pos) {
|
|
79
|
+
this.process(view, 0);
|
|
80
|
+
pos = 0;
|
|
81
|
+
}
|
|
82
|
+
for (let i = pos; i < blockLen; i++) buffer[i] = 0;
|
|
83
|
+
setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);
|
|
84
|
+
this.process(view, 0);
|
|
85
|
+
const oview = createView(out);
|
|
86
|
+
const len = this.outputLen;
|
|
87
|
+
if (len % 4) throw new Error("_sha2: outputLen should be aligned to 32bit");
|
|
88
|
+
const outLen = len / 4;
|
|
89
|
+
const state = this.get();
|
|
90
|
+
if (outLen > state.length) throw new Error("_sha2: outputLen bigger than state");
|
|
91
|
+
for (let i = 0; i < outLen; i++) oview.setUint32(4 * i, state[i], isLE);
|
|
92
|
+
}
|
|
93
|
+
digest() {
|
|
94
|
+
const { buffer, outputLen } = this;
|
|
95
|
+
this.digestInto(buffer);
|
|
96
|
+
const res = buffer.slice(0, outputLen);
|
|
97
|
+
this.destroy();
|
|
98
|
+
return res;
|
|
99
|
+
}
|
|
100
|
+
_cloneInto(to) {
|
|
101
|
+
to || (to = new this.constructor());
|
|
102
|
+
to.set(...this.get());
|
|
103
|
+
const { blockLen, buffer, length, finished, destroyed, pos } = this;
|
|
104
|
+
to.destroyed = destroyed;
|
|
105
|
+
to.finished = finished;
|
|
106
|
+
to.length = length;
|
|
107
|
+
to.pos = pos;
|
|
108
|
+
if (length % blockLen) to.buffer.set(buffer);
|
|
109
|
+
return to;
|
|
110
|
+
}
|
|
111
|
+
clone() {
|
|
112
|
+
return this._cloneInto();
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Initial SHA-2 state: fractional parts of square roots of first 16 primes 2..53.
|
|
117
|
+
* Check out `test/misc/sha2-gen-iv.js` for recomputation guide.
|
|
118
|
+
*/
|
|
119
|
+
/** Initial SHA256 state. Bits 0..32 of frac part of sqrt of primes 2..19 */
|
|
120
|
+
const SHA256_IV = /* @__PURE__ */ Uint32Array.from([
|
|
121
|
+
1779033703,
|
|
122
|
+
3144134277,
|
|
123
|
+
1013904242,
|
|
124
|
+
2773480762,
|
|
125
|
+
1359893119,
|
|
126
|
+
2600822924,
|
|
127
|
+
528734635,
|
|
128
|
+
1541459225
|
|
129
|
+
]);
|
|
130
|
+
//#endregion
|
|
131
|
+
export { Chi, HashMD, Maj, SHA256_IV };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//#region .pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/esm/_u64.js
|
|
2
|
+
/**
|
|
3
|
+
* Internal helpers for u64. BigUint64Array is too slow as per 2025, so we implement it using Uint32Array.
|
|
4
|
+
* @todo re-check https://issues.chromium.org/issues/42212588
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
const U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);
|
|
8
|
+
const _32n = /* @__PURE__ */ BigInt(32);
|
|
9
|
+
function fromBig(n, le = false) {
|
|
10
|
+
if (le) return {
|
|
11
|
+
h: Number(n & U32_MASK64),
|
|
12
|
+
l: Number(n >> _32n & U32_MASK64)
|
|
13
|
+
};
|
|
14
|
+
return {
|
|
15
|
+
h: Number(n >> _32n & U32_MASK64) | 0,
|
|
16
|
+
l: Number(n & U32_MASK64) | 0
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function split(lst, le = false) {
|
|
20
|
+
const len = lst.length;
|
|
21
|
+
let Ah = new Uint32Array(len);
|
|
22
|
+
let Al = new Uint32Array(len);
|
|
23
|
+
for (let i = 0; i < len; i++) {
|
|
24
|
+
const { h, l } = fromBig(lst[i], le);
|
|
25
|
+
[Ah[i], Al[i]] = [h, l];
|
|
26
|
+
}
|
|
27
|
+
return [Ah, Al];
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
export { split };
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { clean, createHasher, rotr } from "./utils.js";
|
|
2
|
+
import { Chi, HashMD, Maj, SHA256_IV } from "./_md.js";
|
|
3
|
+
import { split } from "./_u64.js";
|
|
4
|
+
//#region .pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/esm/sha2.js
|
|
5
|
+
/**
|
|
6
|
+
* SHA2 hash function. A.k.a. sha256, sha384, sha512, sha512_224, sha512_256.
|
|
7
|
+
* SHA256 is the fastest hash implementable in JS, even faster than Blake3.
|
|
8
|
+
* Check out [RFC 4634](https://datatracker.ietf.org/doc/html/rfc4634) and
|
|
9
|
+
* [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf).
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Round constants:
|
|
14
|
+
* First 32 bits of fractional parts of the cube roots of the first 64 primes 2..311)
|
|
15
|
+
*/
|
|
16
|
+
const SHA256_K = /* @__PURE__ */ Uint32Array.from([
|
|
17
|
+
1116352408,
|
|
18
|
+
1899447441,
|
|
19
|
+
3049323471,
|
|
20
|
+
3921009573,
|
|
21
|
+
961987163,
|
|
22
|
+
1508970993,
|
|
23
|
+
2453635748,
|
|
24
|
+
2870763221,
|
|
25
|
+
3624381080,
|
|
26
|
+
310598401,
|
|
27
|
+
607225278,
|
|
28
|
+
1426881987,
|
|
29
|
+
1925078388,
|
|
30
|
+
2162078206,
|
|
31
|
+
2614888103,
|
|
32
|
+
3248222580,
|
|
33
|
+
3835390401,
|
|
34
|
+
4022224774,
|
|
35
|
+
264347078,
|
|
36
|
+
604807628,
|
|
37
|
+
770255983,
|
|
38
|
+
1249150122,
|
|
39
|
+
1555081692,
|
|
40
|
+
1996064986,
|
|
41
|
+
2554220882,
|
|
42
|
+
2821834349,
|
|
43
|
+
2952996808,
|
|
44
|
+
3210313671,
|
|
45
|
+
3336571891,
|
|
46
|
+
3584528711,
|
|
47
|
+
113926993,
|
|
48
|
+
338241895,
|
|
49
|
+
666307205,
|
|
50
|
+
773529912,
|
|
51
|
+
1294757372,
|
|
52
|
+
1396182291,
|
|
53
|
+
1695183700,
|
|
54
|
+
1986661051,
|
|
55
|
+
2177026350,
|
|
56
|
+
2456956037,
|
|
57
|
+
2730485921,
|
|
58
|
+
2820302411,
|
|
59
|
+
3259730800,
|
|
60
|
+
3345764771,
|
|
61
|
+
3516065817,
|
|
62
|
+
3600352804,
|
|
63
|
+
4094571909,
|
|
64
|
+
275423344,
|
|
65
|
+
430227734,
|
|
66
|
+
506948616,
|
|
67
|
+
659060556,
|
|
68
|
+
883997877,
|
|
69
|
+
958139571,
|
|
70
|
+
1322822218,
|
|
71
|
+
1537002063,
|
|
72
|
+
1747873779,
|
|
73
|
+
1955562222,
|
|
74
|
+
2024104815,
|
|
75
|
+
2227730452,
|
|
76
|
+
2361852424,
|
|
77
|
+
2428436474,
|
|
78
|
+
2756734187,
|
|
79
|
+
3204031479,
|
|
80
|
+
3329325298
|
|
81
|
+
]);
|
|
82
|
+
/** Reusable temporary buffer. "W" comes straight from spec. */
|
|
83
|
+
const SHA256_W = /* @__PURE__ */ new Uint32Array(64);
|
|
84
|
+
var SHA256 = class extends HashMD {
|
|
85
|
+
constructor(outputLen = 32) {
|
|
86
|
+
super(64, outputLen, 8, false);
|
|
87
|
+
this.A = SHA256_IV[0] | 0;
|
|
88
|
+
this.B = SHA256_IV[1] | 0;
|
|
89
|
+
this.C = SHA256_IV[2] | 0;
|
|
90
|
+
this.D = SHA256_IV[3] | 0;
|
|
91
|
+
this.E = SHA256_IV[4] | 0;
|
|
92
|
+
this.F = SHA256_IV[5] | 0;
|
|
93
|
+
this.G = SHA256_IV[6] | 0;
|
|
94
|
+
this.H = SHA256_IV[7] | 0;
|
|
95
|
+
}
|
|
96
|
+
get() {
|
|
97
|
+
const { A, B, C, D, E, F, G, H } = this;
|
|
98
|
+
return [
|
|
99
|
+
A,
|
|
100
|
+
B,
|
|
101
|
+
C,
|
|
102
|
+
D,
|
|
103
|
+
E,
|
|
104
|
+
F,
|
|
105
|
+
G,
|
|
106
|
+
H
|
|
107
|
+
];
|
|
108
|
+
}
|
|
109
|
+
set(A, B, C, D, E, F, G, H) {
|
|
110
|
+
this.A = A | 0;
|
|
111
|
+
this.B = B | 0;
|
|
112
|
+
this.C = C | 0;
|
|
113
|
+
this.D = D | 0;
|
|
114
|
+
this.E = E | 0;
|
|
115
|
+
this.F = F | 0;
|
|
116
|
+
this.G = G | 0;
|
|
117
|
+
this.H = H | 0;
|
|
118
|
+
}
|
|
119
|
+
process(view, offset) {
|
|
120
|
+
for (let i = 0; i < 16; i++, offset += 4) SHA256_W[i] = view.getUint32(offset, false);
|
|
121
|
+
for (let i = 16; i < 64; i++) {
|
|
122
|
+
const W15 = SHA256_W[i - 15];
|
|
123
|
+
const W2 = SHA256_W[i - 2];
|
|
124
|
+
const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ W15 >>> 3;
|
|
125
|
+
SHA256_W[i] = (rotr(W2, 17) ^ rotr(W2, 19) ^ W2 >>> 10) + SHA256_W[i - 7] + s0 + SHA256_W[i - 16] | 0;
|
|
126
|
+
}
|
|
127
|
+
let { A, B, C, D, E, F, G, H } = this;
|
|
128
|
+
for (let i = 0; i < 64; i++) {
|
|
129
|
+
const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);
|
|
130
|
+
const T1 = H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i] | 0;
|
|
131
|
+
const T2 = (rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22)) + Maj(A, B, C) | 0;
|
|
132
|
+
H = G;
|
|
133
|
+
G = F;
|
|
134
|
+
F = E;
|
|
135
|
+
E = D + T1 | 0;
|
|
136
|
+
D = C;
|
|
137
|
+
C = B;
|
|
138
|
+
B = A;
|
|
139
|
+
A = T1 + T2 | 0;
|
|
140
|
+
}
|
|
141
|
+
A = A + this.A | 0;
|
|
142
|
+
B = B + this.B | 0;
|
|
143
|
+
C = C + this.C | 0;
|
|
144
|
+
D = D + this.D | 0;
|
|
145
|
+
E = E + this.E | 0;
|
|
146
|
+
F = F + this.F | 0;
|
|
147
|
+
G = G + this.G | 0;
|
|
148
|
+
H = H + this.H | 0;
|
|
149
|
+
this.set(A, B, C, D, E, F, G, H);
|
|
150
|
+
}
|
|
151
|
+
roundClean() {
|
|
152
|
+
clean(SHA256_W);
|
|
153
|
+
}
|
|
154
|
+
destroy() {
|
|
155
|
+
this.set(0, 0, 0, 0, 0, 0, 0, 0);
|
|
156
|
+
clean(this.buffer);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
const K512 = split([
|
|
160
|
+
"0x428a2f98d728ae22",
|
|
161
|
+
"0x7137449123ef65cd",
|
|
162
|
+
"0xb5c0fbcfec4d3b2f",
|
|
163
|
+
"0xe9b5dba58189dbbc",
|
|
164
|
+
"0x3956c25bf348b538",
|
|
165
|
+
"0x59f111f1b605d019",
|
|
166
|
+
"0x923f82a4af194f9b",
|
|
167
|
+
"0xab1c5ed5da6d8118",
|
|
168
|
+
"0xd807aa98a3030242",
|
|
169
|
+
"0x12835b0145706fbe",
|
|
170
|
+
"0x243185be4ee4b28c",
|
|
171
|
+
"0x550c7dc3d5ffb4e2",
|
|
172
|
+
"0x72be5d74f27b896f",
|
|
173
|
+
"0x80deb1fe3b1696b1",
|
|
174
|
+
"0x9bdc06a725c71235",
|
|
175
|
+
"0xc19bf174cf692694",
|
|
176
|
+
"0xe49b69c19ef14ad2",
|
|
177
|
+
"0xefbe4786384f25e3",
|
|
178
|
+
"0x0fc19dc68b8cd5b5",
|
|
179
|
+
"0x240ca1cc77ac9c65",
|
|
180
|
+
"0x2de92c6f592b0275",
|
|
181
|
+
"0x4a7484aa6ea6e483",
|
|
182
|
+
"0x5cb0a9dcbd41fbd4",
|
|
183
|
+
"0x76f988da831153b5",
|
|
184
|
+
"0x983e5152ee66dfab",
|
|
185
|
+
"0xa831c66d2db43210",
|
|
186
|
+
"0xb00327c898fb213f",
|
|
187
|
+
"0xbf597fc7beef0ee4",
|
|
188
|
+
"0xc6e00bf33da88fc2",
|
|
189
|
+
"0xd5a79147930aa725",
|
|
190
|
+
"0x06ca6351e003826f",
|
|
191
|
+
"0x142929670a0e6e70",
|
|
192
|
+
"0x27b70a8546d22ffc",
|
|
193
|
+
"0x2e1b21385c26c926",
|
|
194
|
+
"0x4d2c6dfc5ac42aed",
|
|
195
|
+
"0x53380d139d95b3df",
|
|
196
|
+
"0x650a73548baf63de",
|
|
197
|
+
"0x766a0abb3c77b2a8",
|
|
198
|
+
"0x81c2c92e47edaee6",
|
|
199
|
+
"0x92722c851482353b",
|
|
200
|
+
"0xa2bfe8a14cf10364",
|
|
201
|
+
"0xa81a664bbc423001",
|
|
202
|
+
"0xc24b8b70d0f89791",
|
|
203
|
+
"0xc76c51a30654be30",
|
|
204
|
+
"0xd192e819d6ef5218",
|
|
205
|
+
"0xd69906245565a910",
|
|
206
|
+
"0xf40e35855771202a",
|
|
207
|
+
"0x106aa07032bbd1b8",
|
|
208
|
+
"0x19a4c116b8d2d0c8",
|
|
209
|
+
"0x1e376c085141ab53",
|
|
210
|
+
"0x2748774cdf8eeb99",
|
|
211
|
+
"0x34b0bcb5e19b48a8",
|
|
212
|
+
"0x391c0cb3c5c95a63",
|
|
213
|
+
"0x4ed8aa4ae3418acb",
|
|
214
|
+
"0x5b9cca4f7763e373",
|
|
215
|
+
"0x682e6ff3d6b2b8a3",
|
|
216
|
+
"0x748f82ee5defb2fc",
|
|
217
|
+
"0x78a5636f43172f60",
|
|
218
|
+
"0x84c87814a1f0ab72",
|
|
219
|
+
"0x8cc702081a6439ec",
|
|
220
|
+
"0x90befffa23631e28",
|
|
221
|
+
"0xa4506cebde82bde9",
|
|
222
|
+
"0xbef9a3f7b2c67915",
|
|
223
|
+
"0xc67178f2e372532b",
|
|
224
|
+
"0xca273eceea26619c",
|
|
225
|
+
"0xd186b8c721c0c207",
|
|
226
|
+
"0xeada7dd6cde0eb1e",
|
|
227
|
+
"0xf57d4f7fee6ed178",
|
|
228
|
+
"0x06f067aa72176fba",
|
|
229
|
+
"0x0a637dc5a2c898a6",
|
|
230
|
+
"0x113f9804bef90dae",
|
|
231
|
+
"0x1b710b35131c471b",
|
|
232
|
+
"0x28db77f523047d84",
|
|
233
|
+
"0x32caab7b40c72493",
|
|
234
|
+
"0x3c9ebe0a15c9bebc",
|
|
235
|
+
"0x431d67c49c100d4c",
|
|
236
|
+
"0x4cc5d4becb3e42b6",
|
|
237
|
+
"0x597f299cfc657e2a",
|
|
238
|
+
"0x5fcb6fab3ad6faec",
|
|
239
|
+
"0x6c44198c4a475817"
|
|
240
|
+
].map((n) => BigInt(n)));
|
|
241
|
+
K512[0];
|
|
242
|
+
K512[1];
|
|
243
|
+
/**
|
|
244
|
+
* SHA2-256 hash function from RFC 4634.
|
|
245
|
+
*
|
|
246
|
+
* It is the fastest JS hash, even faster than Blake3.
|
|
247
|
+
* To break sha256 using birthday attack, attackers need to try 2^128 hashes.
|
|
248
|
+
* BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025.
|
|
249
|
+
*/
|
|
250
|
+
const sha256 = /* @__PURE__ */ createHasher(() => new SHA256());
|
|
251
|
+
//#endregion
|
|
252
|
+
export { sha256 };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { sha256 as sha256$1 } from "./sha2.js";
|
|
2
|
+
//#region .pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/esm/sha256.js
|
|
3
|
+
/**
|
|
4
|
+
* SHA2-256 a.k.a. sha256. In JS, it is the fastest hash, even faster than Blake3.
|
|
5
|
+
*
|
|
6
|
+
* To break sha256 using birthday attack, attackers need to try 2^128 hashes.
|
|
7
|
+
* BTC network is doing 2^70 hashes/sec (2^95 hashes/year) as per 2025.
|
|
8
|
+
*
|
|
9
|
+
* Check out [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf).
|
|
10
|
+
* @module
|
|
11
|
+
* @deprecated
|
|
12
|
+
*/
|
|
13
|
+
/** @deprecated Use import from `noble/hashes/sha2` module */
|
|
14
|
+
const sha256 = sha256$1;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { sha256 };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
//#region .pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/esm/utils.js
|
|
2
|
+
/** Checks if something is Uint8Array. Be careful: nodejs Buffer will return true. */
|
|
3
|
+
function isBytes(a) {
|
|
4
|
+
return a instanceof Uint8Array || ArrayBuffer.isView(a) && a.constructor.name === "Uint8Array";
|
|
5
|
+
}
|
|
6
|
+
/** Asserts something is Uint8Array. */
|
|
7
|
+
function abytes(b, ...lengths) {
|
|
8
|
+
if (!isBytes(b)) throw new Error("Uint8Array expected");
|
|
9
|
+
if (lengths.length > 0 && !lengths.includes(b.length)) throw new Error("Uint8Array expected of length " + lengths + ", got length=" + b.length);
|
|
10
|
+
}
|
|
11
|
+
/** Asserts a hash instance has not been destroyed / finished */
|
|
12
|
+
function aexists(instance, checkFinished = true) {
|
|
13
|
+
if (instance.destroyed) throw new Error("Hash instance has been destroyed");
|
|
14
|
+
if (checkFinished && instance.finished) throw new Error("Hash#digest() has already been called");
|
|
15
|
+
}
|
|
16
|
+
/** Asserts output is properly-sized byte array */
|
|
17
|
+
function aoutput(out, instance) {
|
|
18
|
+
abytes(out);
|
|
19
|
+
const min = instance.outputLen;
|
|
20
|
+
if (out.length < min) throw new Error("digestInto() expects output buffer of length at least " + min);
|
|
21
|
+
}
|
|
22
|
+
/** Zeroize a byte array. Warning: JS provides no guarantees. */
|
|
23
|
+
function clean(...arrays) {
|
|
24
|
+
for (let i = 0; i < arrays.length; i++) arrays[i].fill(0);
|
|
25
|
+
}
|
|
26
|
+
/** Create DataView of an array for easy byte-level manipulation. */
|
|
27
|
+
function createView(arr) {
|
|
28
|
+
return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
|
|
29
|
+
}
|
|
30
|
+
/** The rotate right (circular right shift) operation for uint32 */
|
|
31
|
+
function rotr(word, shift) {
|
|
32
|
+
return word << 32 - shift | word >>> shift;
|
|
33
|
+
}
|
|
34
|
+
new Uint8Array(new Uint32Array([287454020]).buffer)[0];
|
|
35
|
+
typeof Uint8Array.from([]).toHex === "function" && Uint8Array.fromHex;
|
|
36
|
+
/**
|
|
37
|
+
* Converts string to bytes using UTF8 encoding.
|
|
38
|
+
* @example utf8ToBytes('abc') // Uint8Array.from([97, 98, 99])
|
|
39
|
+
*/
|
|
40
|
+
function utf8ToBytes(str) {
|
|
41
|
+
if (typeof str !== "string") throw new Error("string expected");
|
|
42
|
+
return new Uint8Array(new TextEncoder().encode(str));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Normalizes (non-hex) string or Uint8Array to Uint8Array.
|
|
46
|
+
* Warning: when Uint8Array is passed, it would NOT get copied.
|
|
47
|
+
* Keep in mind for future mutable operations.
|
|
48
|
+
*/
|
|
49
|
+
function toBytes(data) {
|
|
50
|
+
if (typeof data === "string") data = utf8ToBytes(data);
|
|
51
|
+
abytes(data);
|
|
52
|
+
return data;
|
|
53
|
+
}
|
|
54
|
+
/** For runtime check if class implements interface */
|
|
55
|
+
var Hash = class {};
|
|
56
|
+
/** Wraps hash function, creating an interface on top of it */
|
|
57
|
+
function createHasher(hashCons) {
|
|
58
|
+
const hashC = (msg) => hashCons().update(toBytes(msg)).digest();
|
|
59
|
+
const tmp = hashCons();
|
|
60
|
+
hashC.outputLen = tmp.outputLen;
|
|
61
|
+
hashC.blockLen = tmp.blockLen;
|
|
62
|
+
hashC.create = () => hashCons();
|
|
63
|
+
return hashC;
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
export { Hash, abytes, aexists, aoutput, clean, createHasher, createView, rotr, toBytes };
|
|
@@ -113,6 +113,8 @@
|
|
|
113
113
|
"screenshot": { "message": "Screenshot" },
|
|
114
114
|
"captureVisibleTab": { "message": "Capture the visible tab" },
|
|
115
115
|
"supportedFileTypes": { "message": "Images, Office documents, PDF, text, and code" },
|
|
116
|
+
"useThisTab": { "message": "Use this tab" },
|
|
117
|
+
"useThisTabHelp": { "message": "Let xopc read and operate this page" },
|
|
116
118
|
"liveTabAccess": { "message": "Live tab access" },
|
|
117
119
|
"controlEnabled": { "message": "Control enabled" },
|
|
118
120
|
"readEnabled": { "message": "Read enabled" },
|
|
@@ -250,5 +252,32 @@
|
|
|
250
252
|
"voicePermissionHelp": { "message": "Microphone access needs permission. Open the authorization page, then return here and retry." },
|
|
251
253
|
"voicePermissionOpen": { "message": "Authorize microphone" },
|
|
252
254
|
"voicePermissionGranted": { "message": "Microphone authorized. Close this tab and return to chat." },
|
|
253
|
-
"voicePermissionFailed": { "message": "Microphone access was denied. Allow microphone access in browser and system settings, then retry." }
|
|
255
|
+
"voicePermissionFailed": { "message": "Microphone access was denied. Allow microphone access in browser and system settings, then retry." },
|
|
256
|
+
"recordingTitle": { "message": "Browser recording" },
|
|
257
|
+
"recordingStart": { "message": "Start recording" },
|
|
258
|
+
"recordingActive": { "message": "Recording" },
|
|
259
|
+
"recordingPaused": { "message": "Paused" },
|
|
260
|
+
"recordingPause": { "message": "Pause" },
|
|
261
|
+
"recordingResume": { "message": "Resume" },
|
|
262
|
+
"recordingFinish": { "message": "Finish and save" },
|
|
263
|
+
"recordingSaved": { "message": "Saved to browser automations" },
|
|
264
|
+
"recordingSyncing": { "message": "Saved locally. Syncing to Gateway…" },
|
|
265
|
+
"recordingRun": { "message": "Run" },
|
|
266
|
+
"recordingRunning": { "message": "Running…" },
|
|
267
|
+
"recordingCompleted": { "message": "Completed" },
|
|
268
|
+
"recordingUnknown": { "message": "Result unknown. Check before running again." },
|
|
269
|
+
"recordingDescription": { "message": "Turn your browser actions into a reusable workflow." },
|
|
270
|
+
"recordingActiveHelp": { "message": "Perform the steps on this page. Finish to save automatically." },
|
|
271
|
+
"recordingReady": { "message": "Ready" },
|
|
272
|
+
"recordingSavedShort": { "message": "Saved" },
|
|
273
|
+
"recordingSaving": { "message": "Saving" },
|
|
274
|
+
"recordingInterrupted": { "message": "Stopped" },
|
|
275
|
+
"recordingInterruptedHelp": { "message": "The partial recording is kept locally. Start a new recording when the page is ready." },
|
|
276
|
+
"recordingTarget": { "message": "Page to record" },
|
|
277
|
+
"recordingChoosePage": { "message": "Choose a website" },
|
|
278
|
+
"recordingChooseWebsite": { "message": "Open the website you want to record. Chrome settings, new tabs and extension pages cannot be recorded." },
|
|
279
|
+
"recordingParameters": { "message": "Parameters" },
|
|
280
|
+
"recordingNew": { "message": "New recording" },
|
|
281
|
+
"recordingStopped": { "message": "Run stopped" },
|
|
282
|
+
"recordingRequestFailed": { "message": "Could not complete this action. Please try again." }
|
|
254
283
|
}
|
|
@@ -113,6 +113,8 @@
|
|
|
113
113
|
"screenshot": { "message": "截图" },
|
|
114
114
|
"captureVisibleTab": { "message": "截取当前可见标签页" },
|
|
115
115
|
"supportedFileTypes": { "message": "图片、Office 文档、PDF、文本和代码" },
|
|
116
|
+
"useThisTab": { "message": "使用此标签页" },
|
|
117
|
+
"useThisTabHelp": { "message": "让 xopc 读取并操作当前页面" },
|
|
116
118
|
"liveTabAccess": { "message": "实时标签页访问" },
|
|
117
119
|
"controlEnabled": { "message": "已启用控制" },
|
|
118
120
|
"readEnabled": { "message": "已启用读取" },
|
|
@@ -250,5 +252,32 @@
|
|
|
250
252
|
"voicePermissionHelp": { "message": "需要麦克风权限。请打开授权页完成授权,然后返回聊天重试。" },
|
|
251
253
|
"voicePermissionOpen": { "message": "授权麦克风" },
|
|
252
254
|
"voicePermissionGranted": { "message": "麦克风已授权。请关闭此标签页并返回聊天。" },
|
|
253
|
-
"voicePermissionFailed": { "message": "麦克风访问被拒绝。请在浏览器及系统设置中允许麦克风访问,然后重试。" }
|
|
255
|
+
"voicePermissionFailed": { "message": "麦克风访问被拒绝。请在浏览器及系统设置中允许麦克风访问,然后重试。" },
|
|
256
|
+
"recordingTitle": { "message": "浏览器录制" },
|
|
257
|
+
"recordingStart": { "message": "开始录制" },
|
|
258
|
+
"recordingActive": { "message": "正在录制" },
|
|
259
|
+
"recordingPaused": { "message": "已暂停" },
|
|
260
|
+
"recordingPause": { "message": "暂停" },
|
|
261
|
+
"recordingResume": { "message": "继续" },
|
|
262
|
+
"recordingFinish": { "message": "完成并保存" },
|
|
263
|
+
"recordingSaved": { "message": "已保存到浏览器自动化" },
|
|
264
|
+
"recordingSyncing": { "message": "已保存到本机,正在同步…" },
|
|
265
|
+
"recordingRun": { "message": "运行" },
|
|
266
|
+
"recordingRunning": { "message": "正在运行…" },
|
|
267
|
+
"recordingCompleted": { "message": "已完成" },
|
|
268
|
+
"recordingUnknown": { "message": "结果待检查,请先检查业务结果再运行。" },
|
|
269
|
+
"recordingDescription": { "message": "把网页操作保存为可重复运行的流程。" },
|
|
270
|
+
"recordingActiveHelp": { "message": "在所选网页演示操作,完成后会自动保存。" },
|
|
271
|
+
"recordingReady": { "message": "准备就绪" },
|
|
272
|
+
"recordingSavedShort": { "message": "已保存" },
|
|
273
|
+
"recordingSaving": { "message": "正在保存" },
|
|
274
|
+
"recordingInterrupted": { "message": "已中断" },
|
|
275
|
+
"recordingInterruptedHelp": { "message": "未完成的录制已保留在本机。网页准备好后可重新录制。" },
|
|
276
|
+
"recordingTarget": { "message": "录制网页" },
|
|
277
|
+
"recordingChoosePage": { "message": "选择要录制的网页" },
|
|
278
|
+
"recordingChooseWebsite": { "message": "请打开要录制的网站。Chrome 设置页、新标签页和扩展页面无法录制。" },
|
|
279
|
+
"recordingParameters": { "message": "运行参数" },
|
|
280
|
+
"recordingNew": { "message": "再次录制" },
|
|
281
|
+
"recordingStopped": { "message": "运行已停止" },
|
|
282
|
+
"recordingRequestFailed": { "message": "操作未完成,请重试。" }
|
|
254
283
|
}
|