@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.
Files changed (516) hide show
  1. package/README.md +59 -174
  2. package/README.zh-CN.md +59 -174
  3. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/_md.js +131 -0
  4. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/_u64.js +30 -0
  5. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/sha2.js +252 -0
  6. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/sha256.js +16 -0
  7. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/utils.js +66 -0
  8. package/dist/browser-ext/_locales/en/messages.json +30 -1
  9. package/dist/browser-ext/_locales/zh_CN/messages.json +30 -1
  10. package/dist/browser-ext/dist/assets/{auth-beGtbLPS.js → page-context-BeworyNB.js} +1331 -1355
  11. package/dist/browser-ext/dist/assets/{sidepanel-BT0ojEzG.css → sidepanel-Ccl0eSa1.css} +43 -0
  12. package/dist/browser-ext/dist/background.js +680 -182
  13. package/dist/browser-ext/dist/sidepanel.html +2 -2
  14. package/dist/browser-ext/dist/sidepanel.js +393 -194
  15. package/dist/browser-ext/manifest.json +2 -8
  16. package/dist/extensions/telegram/xopc.extension.json +1 -1
  17. package/dist/gateway/static/root/assets/{activity-store-D9ZMh5ZR.js → activity-store-BQ3PMp2q.js} +1 -1
  18. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-Bj3rvcTm.js → agent-avatar-dicebear-C61i1QbX.js} +1 -1
  19. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-0fCR1DHx.js +1 -0
  20. package/dist/gateway/static/root/assets/agent-plugin-dialog-Di99mUTT.js +1 -0
  21. package/dist/gateway/static/root/assets/agents-BRZZmYH_.js +66 -0
  22. package/dist/gateway/static/root/assets/{agents-admin-api-B5QDepbW.js → agents-admin-api-HBZvVyzF.js} +1 -1
  23. package/dist/gateway/static/root/assets/{app-management-settings-panel-2rTEtB_X.js → app-management-settings-panel-noqqxkds.js} +1 -1
  24. package/dist/gateway/static/root/assets/{appearance-settings-BPVBS80k.js → appearance-settings-DG8QN0gR.js} +1 -1
  25. package/dist/gateway/static/root/assets/{apps-page-1FuKlZYP.js → apps-page-CgiyzFYo.js} +1 -1
  26. package/dist/gateway/static/root/assets/{archive-plugin-BbT1O7oK.js → archive-plugin-BO3I9zRP.js} +1 -1
  27. package/dist/gateway/static/root/assets/{automations-page-DjwP_h8h.js → automations-page-CgAcRFDS.js} +1 -1
  28. package/dist/gateway/static/root/assets/automations-workspace-BIkxIpab.js +6 -0
  29. package/dist/gateway/static/root/assets/{binary-plugins-gS7Wg68v.js → binary-plugins-gFD7vH9R.js} +1 -1
  30. package/dist/gateway/static/root/assets/{block-editor-DbwMaivP.js → block-editor-B1VE-jAe.js} +2 -2
  31. package/dist/gateway/static/root/assets/browser-automation-inputs-DxRoKFun.js +1 -0
  32. package/dist/gateway/static/root/assets/browser-automations-page-CIjyMS6f.js +3 -0
  33. package/dist/gateway/static/root/assets/browser-settings-page-BMAivBfp.js +3 -0
  34. package/dist/gateway/static/root/assets/{capabilities-Lswa0hv8.js → capabilities-CY4SiHcP.js} +1 -1
  35. package/dist/gateway/static/root/assets/{capabilities-Dd1PZRQw.js → capabilities-gjQtMhKu.js} +1 -1
  36. package/dist/gateway/static/root/assets/capabilities-page-DRdcfo68.js +2 -0
  37. package/dist/gateway/static/root/assets/{capabilities-settings-panel-DTHR1DrJ.js → capabilities-settings-panel-ZuL6pWjM.js} +4 -4
  38. package/dist/gateway/static/root/assets/{capability-header-actions-494dnJsj.js → capability-header-actions-D0GC1FEv.js} +1 -1
  39. package/dist/gateway/static/root/assets/channels-CgE22Pzd.js +1 -0
  40. package/dist/gateway/static/root/assets/{chat-terminal-dock-Bl7-Zk-x.js → chat-terminal-dock-CEjh1utz.js} +2 -2
  41. package/dist/gateway/static/root/assets/{computer-settings-page-ByExKr_6.js → computer-settings-page-vFHJAmQr.js} +1 -1
  42. package/dist/gateway/static/root/assets/{connector-service-page-BK_5aFxO.js → connector-service-page-DTrwZ4kV.js} +1 -1
  43. package/dist/gateway/static/root/assets/connectors-page-DRcMiTWu.js +1 -0
  44. package/dist/gateway/static/root/assets/copy-text-row-C1gaJwlZ.js +1 -0
  45. package/dist/gateway/static/root/assets/{date-picker-BXJv6472.js → date-picker-NfGIPSYY.js} +1 -1
  46. package/dist/gateway/static/root/assets/dependency-picker-CqguveUi.js +1 -0
  47. package/dist/gateway/static/root/assets/{desktop-pet-DWNEC3mk.js → desktop-pet-CTx1zkJm.js} +1 -1
  48. package/dist/gateway/static/root/assets/{desktop-pet-settings-BYwlxGiN.js → desktop-pet-settings-BRDS3EGc.js} +1 -1
  49. package/dist/gateway/static/root/assets/{device-pairing-wizard-BAc4F35b.js → device-pairing-wizard-Du4Ciuyw.js} +1 -1
  50. package/dist/gateway/static/root/assets/{directory-picker-path-field-D26tSY8Z.js → directory-picker-path-field-CjstlxFl.js} +1 -1
  51. package/dist/gateway/static/root/assets/{extension-debug-page-xYIGNegB.js → extension-debug-page-BfAtjhoK.js} +1 -1
  52. package/dist/gateway/static/root/assets/{extension-page-BoQ1-3AW.js → extension-page-BJmudejr.js} +1 -1
  53. package/dist/gateway/static/root/assets/{extension-provider-Cw_JU6RR.js → extension-provider-Br6LXyIj.js} +1 -1
  54. package/dist/gateway/static/root/assets/{extension-settings-page-BH5TFGPe.js → extension-settings-page-UvmHniyz.js} +1 -1
  55. package/dist/gateway/static/root/assets/{fallback-models-04Wqmw14.js → fallback-models-euw9MGdt.js} +1 -1
  56. package/dist/gateway/static/root/assets/{gateway-config-swr-CNf0ZeRw.js → gateway-config-swr-7RKqgU_U.js} +1 -1
  57. package/dist/gateway/static/root/assets/gateway-realtime-F6D4A7N5.js +1 -0
  58. package/dist/gateway/static/root/assets/gateway-realtime-store-BheKaO6d.js +1 -0
  59. package/dist/gateway/static/root/assets/{gateway-settings-BqvCJVUC.js → gateway-settings-C7roPHh1.js} +1 -1
  60. package/dist/gateway/static/root/assets/{gateway-startup-retry-DIxHacUw.js → gateway-startup-retry-jiV5sbEX.js} +1 -1
  61. package/dist/gateway/static/root/assets/home-page-BGNCTtM3.js +2 -0
  62. package/dist/gateway/static/root/assets/{image-generation-api-CS0q0Kto.js → image-generation-api-DO4mXb6I.js} +1 -1
  63. package/dist/gateway/static/root/assets/{imports-page-n_rSLo6b.js → imports-page-DxCoT0VV.js} +1 -1
  64. package/dist/gateway/static/root/assets/index-BGBkIIzM.css +1 -0
  65. package/dist/gateway/static/root/assets/index-FCEE325-.js +106 -0
  66. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-tVkrHbYF.js → keyboard-shortcuts-settings-CnLln9Ds.js} +1 -1
  67. package/dist/gateway/static/root/assets/{local-app-workbench-page-L8tYuas0.js → local-app-workbench-page-yXRkSrEj.js} +1 -1
  68. package/dist/gateway/static/root/assets/{local-apps-page-SSJ9B1bH.js → local-apps-page-D46buzTk.js} +1 -1
  69. package/dist/gateway/static/root/assets/local-session-drafts-pox8evDV.js +1 -0
  70. package/dist/gateway/static/root/assets/{locale-store-D6_rF-qT.js → locale-store-COVscAqC.js} +1 -1
  71. package/dist/gateway/static/root/assets/logs-page-DmcCHnH0.js +2 -0
  72. package/dist/gateway/static/root/assets/management-settings-khN1ThNL.js +1 -0
  73. package/dist/gateway/static/root/assets/{markdown-view-_xwUuKce.js → markdown-view-B_qnAcW2.js} +1 -1
  74. package/dist/gateway/static/root/assets/{media-plugins-C631CDu4.js → media-plugins-C0Pc-wSY.js} +1 -1
  75. package/dist/gateway/static/root/assets/messages-Bb2GK-Nj.js +3 -0
  76. package/dist/gateway/static/root/assets/models-hub-cache-DyPPksMP.js +1 -0
  77. package/dist/gateway/static/root/assets/note-detail-panel-C_t58yha.js +5 -0
  78. package/dist/gateway/static/root/assets/{notes-api-vIZWQ9Yt.js → notes-api-sBgBcyLW.js} +1 -1
  79. package/dist/gateway/static/root/assets/notes-page-BJ0QS6xx.js +8 -0
  80. package/dist/gateway/static/root/assets/{page-context-capture-button-BlPDM7GM.js → page-context-capture-button-DfRODHv1.js} +1 -1
  81. package/dist/gateway/static/root/assets/personal-page-CiiXwwQE.js +1 -0
  82. package/dist/gateway/static/root/assets/{product-open-page-BJjWvoER.js → product-open-page-_Bp6HRmm.js} +1 -1
  83. package/dist/gateway/static/root/assets/{product-preview-content-CEd4E7Gf.js → product-preview-content-BUdiO0Ct.js} +1 -1
  84. package/dist/gateway/static/root/assets/project-detail-page-Clb-fXYk.js +1 -0
  85. package/dist/gateway/static/root/assets/{projects-page-lszV8HuS.js → projects-page-D9JEEqhh.js} +1 -1
  86. package/dist/gateway/static/root/assets/{registry-api-uJnjqTcn.js → registry-api-Bh9UBb-f.js} +1 -1
  87. package/dist/gateway/static/root/assets/remote-access-hub-CmyTq3_l.js +1 -0
  88. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-CjnNQYW8.js → runtime-tools-settings-panel-B1_inj8L.js} +1 -1
  89. package/dist/gateway/static/root/assets/{scenes-page-B3T3dDOR.js → scenes-page-CUNAZN2_.js} +2 -2
  90. package/dist/gateway/static/root/assets/{schema-form-DT3c4Vd_.js → schema-form-CfT-9UVw.js} +1 -1
  91. package/dist/gateway/static/root/assets/{send-session-input-CICkGwn-.js → send-session-input-BW40VHiL.js} +1 -1
  92. package/dist/gateway/static/root/assets/{session-api-BcQodoAu.js → session-api-yjpEz4pP.js} +1 -1
  93. package/dist/gateway/static/root/assets/session-manager-BqlvrjPE.js +16 -0
  94. package/dist/gateway/static/root/assets/sessions-page-CXZKScvu.js +1 -0
  95. package/dist/gateway/static/root/assets/settings-advanced-gate-B2vKXmzg.js +1 -0
  96. package/dist/gateway/static/root/assets/{settings-page-D-PZjcss.js → settings-page-1h3vyueg.js} +1 -1
  97. package/dist/gateway/static/root/assets/setup-status-panel-Cqc7UlZy.js +1 -0
  98. package/dist/gateway/static/root/assets/{share-link-dialog-CWS8EkJS.js → share-link-dialog-HCHM8qnf.js} +1 -1
  99. package/dist/gateway/static/root/assets/{share-preview-page-23NJAKiq.js → share-preview-page-Ce6FNWt1.js} +1 -1
  100. package/dist/gateway/static/root/assets/{shares-api-iKhHbvBD.js → shares-api-c0dfWz6h.js} +1 -1
  101. package/dist/gateway/static/root/assets/shares-settings-Dh5jisCK.js +1 -0
  102. package/dist/gateway/static/root/assets/{skill-api-C-MWdQwl.js → skill-api-deDZeQS8.js} +1 -1
  103. package/dist/gateway/static/root/assets/{skill-reload-api-iy02aB13.js → skill-reload-api-Ge5XymHa.js} +1 -1
  104. package/dist/gateway/static/root/assets/skills-page-DZozl9U_.js +2 -0
  105. package/dist/gateway/static/root/assets/system-settings-panel-CtzyMxqq.js +1 -0
  106. package/dist/gateway/static/root/assets/{task-detail-page-B2SIEyhZ.js → task-detail-page-5f_V0h-p.js} +2 -2
  107. package/dist/gateway/static/root/assets/{task-expandable-content-D2LRR4BC.js → task-expandable-content-hYcgCEE3.js} +1 -1
  108. package/dist/gateway/static/root/assets/{theme-store-BJfhz-Zq.js → theme-store-BOfCKgl6.js} +1 -1
  109. package/dist/gateway/static/root/assets/{tracing-settings-page-aHD56iaS.js → tracing-settings-page-DDWFXcST.js} +1 -1
  110. package/dist/gateway/static/root/assets/{tunnel-api-BCf8CfTC.js → tunnel-api-vMtlbJ-m.js} +1 -1
  111. package/dist/gateway/static/root/assets/{usage-page-B4XUkuJd.js → usage-page-B1-BCW8U.js} +1 -1
  112. package/dist/gateway/static/root/assets/{use-autosave-BnnTw9RE.js → use-autosave-CSckcjFx.js} +1 -1
  113. package/dist/gateway/static/root/assets/{use-composer-attachments-Itczg0y1.js → use-composer-attachments-DJya1hIL.js} +1 -1
  114. package/dist/gateway/static/root/assets/use-file-preview-expanded-C5ONO7sF.js +2 -0
  115. package/dist/gateway/static/root/assets/user-model-page-D4BSq9HJ.js +2 -0
  116. package/dist/gateway/static/root/assets/{voice-api-key-field-BphJku8x.js → voice-api-key-field-GEw5x2fU.js} +1 -1
  117. package/dist/gateway/static/root/assets/{voice-config-api-B4u4coFj.js → voice-config-api-3yyVwXln.js} +1 -1
  118. package/dist/gateway/static/root/assets/{work-discovery-overlay-jgOEP1xw.js → work-discovery-overlay-CjiNYJV5.js} +1 -1
  119. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-N69crzRu.js → workflow-run-setup-panel-DJOetXvm.js} +2 -2
  120. package/dist/gateway/static/root/assets/workflows-page-CcAPFh2R.js +6 -0
  121. package/dist/gateway/static/root/assets/{workspace-api-Lzv6GDO8.js → workspace-api-WhbMvdBE.js} +2 -2
  122. package/dist/gateway/static/root/index.html +32 -34
  123. package/dist/package.js +1 -1
  124. package/dist/packages/browser-control-contract/src/automation.js +213 -0
  125. package/dist/packages/browser-control-contract/src/index.js +43 -12
  126. package/dist/packages/endpoint-tools-client/src/index.js +189 -0
  127. package/dist/packages/endpoint-tools-protocol/src/bridge.js +105 -0
  128. package/dist/packages/endpoint-tools-protocol/src/index.js +93 -2
  129. package/dist/packages/endpoint-tools-protocol/src/location.js +109 -0
  130. package/dist/packages/gateway-contract/src/gateway-scopes.js +3 -1
  131. package/dist/packages/gateway-contract/src/notifications.js +1 -0
  132. package/dist/packages/gateway-contract/src/session-input-command.js +30 -5
  133. package/dist/packages/realtime-protocol/src/voice.js +9 -3
  134. package/dist/src/agent/agent-manager.js +22 -26
  135. package/dist/src/agent/coding/repository-instructions.js +8 -1
  136. package/dist/src/agent/embedded/codemode-extension.d.ts +7 -0
  137. package/dist/src/agent/embedded/codemode-extension.js +232 -0
  138. package/dist/src/agent/embedded/codemode-output.d.ts +2 -0
  139. package/dist/src/agent/embedded/codemode-output.js +34 -0
  140. package/dist/src/agent/embedded/external-tool-discovery.d.ts +6 -0
  141. package/dist/src/agent/embedded/external-tool-discovery.js +60 -0
  142. package/dist/src/agent/embedded/model-runtime.js +5 -2
  143. package/dist/src/agent/embedded/run-for-session.js +10 -1
  144. package/dist/src/agent/embedded/run-turn.js +10 -3
  145. package/dist/src/agent/embedded/session-runner.d.ts +9 -1
  146. package/dist/src/agent/embedded/session-runner.js +111 -23
  147. package/dist/src/agent/embedded/session-tool-result-guard.d.ts +2 -0
  148. package/dist/src/agent/embedded/session-tool-result-guard.js +17 -0
  149. package/dist/src/agent/embedded/subscribe-session.js +14 -4
  150. package/dist/src/agent/embedded/tool-metadata.d.ts +15 -0
  151. package/dist/src/agent/embedded/tool-metadata.js +38 -0
  152. package/dist/src/agent/embedded/tool-search-extension.d.ts +5 -0
  153. package/dist/src/agent/embedded/tool-search-extension.js +31 -0
  154. package/dist/src/agent/embedded/types.d.ts +7 -0
  155. package/dist/src/agent/embedded/xopc-tools-bridge.js +6 -0
  156. package/dist/src/agent/external-tools/endpoint-provider.d.ts +1 -1
  157. package/dist/src/agent/external-tools/endpoint-provider.js +148 -56
  158. package/dist/src/agent/external-tools/extension-provider.js +8 -1
  159. package/dist/src/agent/external-tools/gateway-tools.d.ts +1 -1
  160. package/dist/src/agent/external-tools/gateway-tools.js +45 -22
  161. package/dist/src/agent/external-tools/index.js +46 -14
  162. package/dist/src/agent/external-tools/memory-provider.js +8 -1
  163. package/dist/src/agent/external-tools/read-policy.js +2 -1
  164. package/dist/src/agent/external-tools/service.d.ts +2 -0
  165. package/dist/src/agent/external-tools/service.js +25 -3
  166. package/dist/src/agent/external-tools/tool-registry.d.ts +14 -0
  167. package/dist/src/agent/external-tools/tool-registry.js +14 -0
  168. package/dist/src/agent/external-tools/types.d.ts +8 -1
  169. package/dist/src/agent/external-tools/types.js +0 -1
  170. package/dist/src/agent/mcp/config.d.ts +18 -0
  171. package/dist/src/agent/mcp/{bundle-mcp-config.js → config.js} +8 -25
  172. package/dist/src/agent/mcp/native-mcp.d.ts +6 -0
  173. package/dist/src/agent/mcp/native-mcp.js +73 -0
  174. package/dist/src/agent/service.js +2 -5
  175. package/dist/src/agent/skills/installer.js +1 -1
  176. package/dist/src/agent/skills/skill-manager.js +1 -1
  177. package/dist/src/agent/skills/skill-sources.js +1 -1
  178. package/dist/src/agent/source-context/index.d.ts +0 -1
  179. package/dist/src/agent/source-context/index.js +1 -2
  180. package/dist/src/agent/source-context/injector.js +1 -0
  181. package/dist/src/agent/source-context/types.d.ts +2 -2
  182. package/dist/src/agent/source-context/types.js +1 -1
  183. package/dist/src/agent/tool-manuals/browser.d.ts +1 -1
  184. package/dist/src/agent/tool-manuals/browser.js +3 -3
  185. package/dist/src/agent/tools/browser/tool/browser-use-tool.js +1 -1
  186. package/dist/src/agent/tools/browser/tool/schemas.d.ts +0 -13
  187. package/dist/src/agent/tools/browser/tool/schemas.js +0 -4
  188. package/dist/src/agent/tools/browser-automation-tool.d.ts +74 -1
  189. package/dist/src/agent/tools/browser-automation-tool.js +52 -6
  190. package/dist/src/agent/tools/cli-clarify.js +1 -1
  191. package/dist/src/agent/tools/codemode-permissions.d.ts +4 -0
  192. package/dist/src/agent/tools/codemode-permissions.js +23 -0
  193. package/dist/src/agent/tools/dataBatch.js +3 -1
  194. package/dist/src/agent/tools/delegation-parent-policy.js +1 -4
  195. package/dist/src/agent/tools/factory.js +4 -3
  196. package/dist/src/agent/transcript/provider-capabilities.js +0 -1
  197. package/dist/src/agent/transcript/transcript-policy.js +1 -2
  198. package/dist/src/agent-config/schema.d.ts +28 -0
  199. package/dist/src/agent-config/schema.js +7 -0
  200. package/dist/src/auth/credentials.js +7 -20
  201. package/dist/src/auth/model-credential-store.js +11 -4
  202. package/dist/src/auth/oauth/index.d.ts +1 -1
  203. package/dist/src/auth/oauth/index.js +3 -3
  204. package/dist/src/auth/oauth/openai.d.ts +2 -0
  205. package/dist/src/auth/oauth/openai.js +90 -0
  206. package/dist/src/auth/oauth/registry.js +3 -3
  207. package/dist/src/auth/oauth/types.d.ts +1 -0
  208. package/dist/src/auth/oauth/xopc-cloud.js +1 -1
  209. package/dist/src/auth/sync-provider-auth.js +5 -0
  210. package/dist/src/automations/capabilities/write.d.ts +2 -0
  211. package/dist/src/automations/domain/types.d.ts +11 -0
  212. package/dist/src/automations/domain/validation.d.ts +4 -0
  213. package/dist/src/automations/domain/validation.js +1 -0
  214. package/dist/src/automations/draft/automation-draft-validator.d.ts +1 -0
  215. package/dist/src/automations/service/action-executor.js +11 -3
  216. package/dist/src/automations/service/automation-service.d.ts +1 -0
  217. package/dist/src/automations/service/automation-service.js +13 -1
  218. package/dist/src/bootstrap/application-state.js +1 -1
  219. package/dist/src/browser/automations/repository.d.ts +4 -0
  220. package/dist/src/browser/automations/repository.js +27 -6
  221. package/dist/src/browser/automations/runner.js +101 -9
  222. package/dist/src/browser/automations/runtime-service.js +4 -3
  223. package/dist/src/browser/automations/schema.d.ts +84 -1
  224. package/dist/src/browser/automations/schema.js +68 -2
  225. package/dist/src/browser/automations/service.d.ts +78 -1
  226. package/dist/src/browser/automations/service.js +36 -4
  227. package/dist/src/browser/automations/types.d.ts +19 -4
  228. package/dist/src/browser/drivers/extension-driver.d.ts +5 -5
  229. package/dist/src/browser/drivers/extension-driver.js +10 -10
  230. package/dist/src/browser/drivers/playwright-driver.js +46 -0
  231. package/dist/src/browser/index.d.ts +1 -2
  232. package/dist/src/browser/index.js +2 -3
  233. package/dist/src/browser/policy/browser-policy.d.ts +0 -1
  234. package/dist/src/browser/policy/browser-policy.js +1 -4
  235. package/dist/src/browser/providers/index.d.ts +1 -1
  236. package/dist/src/browser/providers/index.js +2 -2
  237. package/dist/src/browser/providers/realtime-extension.d.ts +1 -1
  238. package/dist/src/browser/providers/realtime-extension.js +5 -1
  239. package/dist/src/browser/recordings/service.d.ts +22 -0
  240. package/dist/src/browser/recordings/service.js +160 -0
  241. package/dist/src/browser/runtime/browser-runtime.d.ts +1 -1
  242. package/dist/src/browser/runtime/browser-runtime.js +19 -56
  243. package/dist/src/chat-commands/builtins/model.js +2 -2
  244. package/dist/src/cli/command-manifest.js +1 -1
  245. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  246. package/dist/src/cli/commands/extension-agent-plugin.js +0 -19
  247. package/dist/src/cli/commands/mcp.js +36 -2
  248. package/dist/src/cli/commands/models.js +1 -1
  249. package/dist/src/cli/utils/oauth-login.js +2 -2
  250. package/dist/src/computer/runtime.js +2 -2
  251. package/dist/src/config/index.js +3 -3
  252. package/dist/src/config/mcp-config-normalize.d.ts +0 -3
  253. package/dist/src/config/mcp-config-normalize.js +2 -22
  254. package/dist/src/config/models-json.d.ts +0 -5
  255. package/dist/src/config/models-json.js +13 -4
  256. package/dist/src/config/paths.d.ts +0 -1
  257. package/dist/src/config/paths.js +1 -4
  258. package/dist/src/config/schema.d.ts +142 -48
  259. package/dist/src/config/schema.js +64 -47
  260. package/dist/src/connectors/auth-provider-registry.d.ts +1 -1
  261. package/dist/src/connectors/auth-provider-registry.js +1 -21
  262. package/dist/src/connectors/china-catalog.js +5 -5
  263. package/dist/src/connectors/connection-recovery-service.d.ts +1 -6
  264. package/dist/src/connectors/connection-recovery-service.js +3 -105
  265. package/dist/src/connectors/health.d.ts +1 -2
  266. package/dist/src/connectors/health.js +2 -101
  267. package/dist/src/connectors/types.d.ts +1 -1
  268. package/dist/src/endpoint-tools/binding-service.d.ts +2 -0
  269. package/dist/src/endpoint-tools/binding-service.js +14 -2
  270. package/dist/src/endpoint-tools/bridge-host.d.ts +15 -0
  271. package/dist/src/endpoint-tools/bridge-host.js +166 -0
  272. package/dist/src/endpoint-tools/bridge.d.ts +27 -0
  273. package/dist/src/endpoint-tools/bridge.js +88 -0
  274. package/dist/src/endpoint-tools/capability-catalog.d.ts +2 -0
  275. package/dist/src/endpoint-tools/capability-catalog.js +8 -0
  276. package/dist/src/endpoint-tools/grant-service.d.ts +69 -0
  277. package/dist/src/endpoint-tools/grant-service.js +113 -0
  278. package/dist/src/endpoint-tools/index.js +1 -1
  279. package/dist/src/endpoint-tools/invocation-service.js +6 -2
  280. package/dist/src/endpoint-tools/location-task.d.ts +22 -0
  281. package/dist/src/endpoint-tools/location-task.js +114 -0
  282. package/dist/src/endpoint-tools/policy.js +20 -4
  283. package/dist/src/endpoint-tools/registry.d.ts +2 -0
  284. package/dist/src/endpoint-tools/registry.js +9 -0
  285. package/dist/src/endpoint-tools/result-projector.d.ts +15 -0
  286. package/dist/src/endpoint-tools/result-projector.js +31 -0
  287. package/dist/src/endpoint-tools/runtime.d.ts +2 -0
  288. package/dist/src/endpoint-tools/runtime.js +15 -2
  289. package/dist/src/endpoint-tools/target-resolver.d.ts +12 -0
  290. package/dist/src/endpoint-tools/target-resolver.js +27 -0
  291. package/dist/src/endpoint-tools/turn-context.d.ts +6 -0
  292. package/dist/src/endpoint-tools/turn-context.js +29 -0
  293. package/dist/src/extensions/agent-plugins/auth.d.ts +0 -2
  294. package/dist/src/extensions/agent-plugins/auth.js +2 -19
  295. package/dist/src/extensions/agent-plugins/credentials.js +3 -19
  296. package/dist/src/extensions/agent-plugins/inventory.d.ts +2 -2
  297. package/dist/src/extensions/agent-plugins/mcp-adapter.js +1 -5
  298. package/dist/src/extensions/agent-plugins/source-http-fetch.d.ts +2 -0
  299. package/dist/src/{agent/mcp/plugin-http-fetch.js → extensions/agent-plugins/source-http-fetch.js} +7 -7
  300. package/dist/src/extensions/agent-plugins/sources.js +2 -2
  301. package/dist/src/extensions/agent-plugins/store.js +1 -3
  302. package/dist/src/extensions/agent-plugins/validation.d.ts +0 -4
  303. package/dist/src/extensions/agent-plugins/validation.js +13 -20
  304. package/dist/src/gateway/agents-admin.d.ts +5 -0
  305. package/dist/src/gateway/agents-admin.js +56 -1
  306. package/dist/src/gateway/chat-stream/mapper.js +9 -0
  307. package/dist/src/gateway/chat-stream/protocol.d.ts +4 -4
  308. package/dist/src/gateway/hono/lib/config-payload.d.ts +9 -4
  309. package/dist/src/gateway/hono/lib/config-payload.js +2 -5
  310. package/dist/src/gateway/hono/oauth-async.js +9 -2
  311. package/dist/src/gateway/hono/routes/agent-plugins.js +4 -9
  312. package/dist/src/gateway/hono/routes/agents.js +4 -3
  313. package/dist/src/gateway/hono/routes/browser-automations.js +23 -7
  314. package/dist/src/gateway/hono/routes/browser-recordings.d.ts +3 -0
  315. package/dist/src/gateway/hono/routes/browser-recordings.js +78 -0
  316. package/dist/src/gateway/hono/routes/browser.js +1 -34
  317. package/dist/src/gateway/hono/routes/connection-waits.js +2 -5
  318. package/dist/src/gateway/hono/routes/connectors.js +5 -60
  319. package/dist/src/gateway/hono/routes/device-authorizations.d.ts +3 -0
  320. package/dist/src/gateway/hono/routes/device-authorizations.js +74 -0
  321. package/dist/src/gateway/hono/routes/device-push.js +1 -0
  322. package/dist/src/gateway/hono/routes/endpoint-compatibility.js +7 -0
  323. package/dist/src/gateway/hono/routes/endpoint-tools.d.ts +1 -0
  324. package/dist/src/gateway/hono/routes/endpoint-tools.js +53 -3
  325. package/dist/src/gateway/hono/routes/home.js +1 -1
  326. package/dist/src/gateway/hono/routes/lazy-bundles.js +25 -1
  327. package/dist/src/gateway/hono/routes/mcp.d.ts +1 -1
  328. package/dist/src/gateway/hono/routes/mcp.js +11 -237
  329. package/dist/src/gateway/hono/routes/personal-agent.js +35 -0
  330. package/dist/src/gateway/hono/routes/session-command-handler.js +11 -1
  331. package/dist/src/gateway/hono/routes/session-input-handler.d.ts +8 -2
  332. package/dist/src/gateway/hono/routes/session-input-handler.js +25 -1
  333. package/dist/src/gateway/hono/routes/voice.js +5 -2
  334. package/dist/src/gateway/security/gateway-scopes.js +3 -1
  335. package/dist/src/gateway/service/agent-runner.js +1 -0
  336. package/dist/src/gateway/service/config-coordinator.js +2 -5
  337. package/dist/src/gateway/service/marketplace-service.js +2 -2
  338. package/dist/src/gateway/service/run-gateway-agent.js +13 -5
  339. package/dist/src/gateway/service/session-input-coordinator.d.ts +1 -1
  340. package/dist/src/gateway/service/session-input-coordinator.js +29 -9
  341. package/dist/src/gateway/service/sessions-api.js +0 -6
  342. package/dist/src/gateway/service.js +3 -12
  343. package/dist/src/gateway/session-reset-service.js +0 -6
  344. package/dist/src/home-intelligence/generator.d.ts +2 -0
  345. package/dist/src/home-intelligence/generator.js +53 -4
  346. package/dist/src/home-intelligence/host.d.ts +2 -1
  347. package/dist/src/home-intelligence/host.js +23 -3
  348. package/dist/src/imports/compatibility.js +12 -10
  349. package/dist/src/mcp/channel-bridge.js +1 -1
  350. package/dist/src/migrations/cloud-public-models.js +1 -0
  351. package/dist/src/notifications/clarification.d.ts +5 -0
  352. package/dist/src/notifications/clarification.js +66 -0
  353. package/dist/src/notifications/device-store.js +1 -0
  354. package/dist/src/notifications/harmony-push.d.ts +1 -0
  355. package/dist/src/notifications/harmony-push.js +3 -1
  356. package/dist/src/notifications/planner.d.ts +1 -0
  357. package/dist/src/notifications/service.d.ts +2 -2
  358. package/dist/src/notifications/service.js +20 -4
  359. package/dist/src/notifications/store.d.ts +2 -0
  360. package/dist/src/notifications/store.js +7 -1
  361. package/dist/src/notifications/types.d.ts +1 -0
  362. package/dist/src/notifications/types.js +1 -0
  363. package/dist/src/providers/env-keys.js +1 -1
  364. package/dist/src/providers/index.js +26 -24
  365. package/dist/src/providers/model-call.d.ts +0 -2
  366. package/dist/src/providers/model-call.js +2 -6
  367. package/dist/src/providers/model-registry.js +4 -2
  368. package/dist/src/providers/model-supplements.d.ts +3 -3
  369. package/dist/src/providers/model-supplements.js +6 -27
  370. package/dist/src/providers/presentation.js +3 -8
  371. package/dist/src/providers/prompt-cache-plan.js +1 -1
  372. package/dist/src/providers/provider-auth-service.d.ts +1 -1
  373. package/dist/src/providers/provider-auth-service.js +7 -2
  374. package/dist/src/providers/provider-policy.d.ts +3 -0
  375. package/dist/src/providers/provider-policy.js +14 -0
  376. package/dist/src/providers/register-runtime-providers.js +6 -1
  377. package/dist/src/realtime/runtime.js +1 -1
  378. package/dist/src/session/store.js +7 -1
  379. package/dist/src/session/transcript-events.d.ts +5 -0
  380. package/dist/src/session/transcript-events.js +1 -0
  381. package/dist/src/session/types.d.ts +2 -0
  382. package/dist/src/storage/sqlite/clarification-wait-repository.js +1 -0
  383. package/dist/src/storage/sqlite/device-grant-audit-repository.d.ts +11 -0
  384. package/dist/src/storage/sqlite/device-grant-audit-repository.js +10 -0
  385. package/dist/src/storage/sqlite/endpoint-device-settings-repository.d.ts +7 -0
  386. package/dist/src/storage/sqlite/endpoint-device-settings-repository.js +17 -0
  387. package/dist/src/storage/sqlite/migrations/238_browser_record_replay.sql +45 -0
  388. package/dist/src/storage/sqlite/migrations/239_clarification_notifications.sql +26 -0
  389. package/dist/src/storage/sqlite/migrations/240_device_settings.sql +5 -0
  390. package/dist/src/storage/sqlite/migrations/241_device_grant_audit.sql +13 -0
  391. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  392. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  393. package/dist/src/storage/sqlite/schema.js +1 -1
  394. package/dist/src/storage/sqlite/session-input-repository.d.ts +1 -0
  395. package/dist/src/storage/sqlite/session-input-repository.js +5 -1
  396. package/dist/src/tasks/home-query-service.d.ts +1 -1
  397. package/dist/src/tasks/home-query-service.js +6 -2
  398. package/dist/src/tui/backends/gateway-realtime-backend.js +1 -1
  399. package/dist/src/tui/xopc-tui-keybindings.d.ts +4 -4
  400. package/dist/src/voice/dashscope/streaming-tts-stream.d.ts +2 -1
  401. package/dist/src/voice/dashscope/streaming-tts-stream.js +135 -79
  402. package/dist/src/voice/realtime/agentEngine.js +78 -1
  403. package/dist/src/voice/realtime/speakable-segmenter.d.ts +2 -0
  404. package/dist/src/voice/realtime/speakable-segmenter.js +30 -0
  405. package/dist/src/voice/tts/providers/alibaba-speech.js +17 -1
  406. package/dist/src/voice/tts/speak-core.d.ts +3 -0
  407. package/dist/src/voice/tts/speak-core.js +21 -1
  408. package/dist/src/voice/tts/speech-provider-types.d.ts +8 -0
  409. package/package.json +18 -7
  410. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-D0tD3kCe.js +0 -1
  411. package/dist/gateway/static/root/assets/agent-plugin-dialog-BjdgKCnk.js +0 -1
  412. package/dist/gateway/static/root/assets/agents-CWXKzX5L.js +0 -66
  413. package/dist/gateway/static/root/assets/automations-workspace-C9ZT6TAU.js +0 -6
  414. package/dist/gateway/static/root/assets/browser-automation-inputs-CXG_JveC.js +0 -1
  415. package/dist/gateway/static/root/assets/browser-automations-page-CJc7OKR3.js +0 -3
  416. package/dist/gateway/static/root/assets/browser-settings-page-BjaTEUR8.js +0 -3
  417. package/dist/gateway/static/root/assets/capabilities-page-djBsC_tG.js +0 -2
  418. package/dist/gateway/static/root/assets/channels-BaYRJtz3.js +0 -1
  419. package/dist/gateway/static/root/assets/connectors-page-DyqRwSH2.js +0 -2
  420. package/dist/gateway/static/root/assets/copy-text-row-BHDs3cBa.js +0 -1
  421. package/dist/gateway/static/root/assets/dependency-picker-CWbbhKZa.js +0 -1
  422. package/dist/gateway/static/root/assets/dist-Che_jiQF.js +0 -1
  423. package/dist/gateway/static/root/assets/gateway-realtime-C4KtwMY3.js +0 -1
  424. package/dist/gateway/static/root/assets/gateway-realtime-store-ChZUzVbe.js +0 -1
  425. package/dist/gateway/static/root/assets/home-page-DhPPLbdD.js +0 -2
  426. package/dist/gateway/static/root/assets/index-CK4O2xMa.css +0 -1
  427. package/dist/gateway/static/root/assets/index-DpLD-7Hc.js +0 -106
  428. package/dist/gateway/static/root/assets/link-2-D_ZKYUW7.js +0 -1
  429. package/dist/gateway/static/root/assets/local-session-drafts-B_McurIj.js +0 -1
  430. package/dist/gateway/static/root/assets/logs-page-BWD63eg1.js +0 -2
  431. package/dist/gateway/static/root/assets/management-settings-aKSibklM.js +0 -1
  432. package/dist/gateway/static/root/assets/messages-Bnx3GMDB.js +0 -3
  433. package/dist/gateway/static/root/assets/models-hub-cache-Di83uIPw.js +0 -1
  434. package/dist/gateway/static/root/assets/note-detail-panel-B_fve3_2.js +0 -5
  435. package/dist/gateway/static/root/assets/notes-page-DnChyp8S.js +0 -8
  436. package/dist/gateway/static/root/assets/personal-page-BM2qAgg_.js +0 -1
  437. package/dist/gateway/static/root/assets/project-detail-page-DM4_VLNX.js +0 -1
  438. package/dist/gateway/static/root/assets/remote-access-hub-O6j9CWX0.js +0 -1
  439. package/dist/gateway/static/root/assets/session-manager-B0tOE4qz.js +0 -16
  440. package/dist/gateway/static/root/assets/sessions-page-BIixHXlQ.js +0 -1
  441. package/dist/gateway/static/root/assets/settings-advanced-gate-49SUEWPh.js +0 -1
  442. package/dist/gateway/static/root/assets/setup-status-panel-Ce3gTbT3.js +0 -1
  443. package/dist/gateway/static/root/assets/shares-settings-CNEZjF66.js +0 -1
  444. package/dist/gateway/static/root/assets/skills-page-BndNdYsJ.js +0 -2
  445. package/dist/gateway/static/root/assets/system-settings-panel-EpZeMlvp.js +0 -1
  446. package/dist/gateway/static/root/assets/use-file-preview-expanded-DJ5vyrvM.js +0 -2
  447. package/dist/gateway/static/root/assets/user-model-page-Bz5lkFG9.js +0 -2
  448. package/dist/gateway/static/root/assets/workflows-page-CPCgOfHh.js +0 -6
  449. package/dist/src/agent/embedded/system-prompt-override.d.ts +0 -2
  450. package/dist/src/agent/embedded/system-prompt-override.js +0 -21
  451. package/dist/src/agent/external-tools/mcp-provider.d.ts +0 -32
  452. package/dist/src/agent/external-tools/mcp-provider.js +0 -208
  453. package/dist/src/agent/mcp/bundle-mcp-config.d.ts +0 -20
  454. package/dist/src/agent/mcp/bundle-mcp-gateway.d.ts +0 -79
  455. package/dist/src/agent/mcp/bundle-mcp-gateway.js +0 -93
  456. package/dist/src/agent/mcp/bundle-mcp-names.d.ts +0 -1
  457. package/dist/src/agent/mcp/bundle-mcp-names.js +0 -25
  458. package/dist/src/agent/mcp/bundle-mcp-policy.d.ts +0 -1
  459. package/dist/src/agent/mcp/bundle-mcp-policy.js +0 -6
  460. package/dist/src/agent/mcp/bundle-mcp-runtime.d.ts +0 -46
  461. package/dist/src/agent/mcp/bundle-mcp-runtime.js +0 -571
  462. package/dist/src/agent/mcp/bundle-mcp-tools.d.ts +0 -2
  463. package/dist/src/agent/mcp/bundle-mcp-tools.js +0 -2
  464. package/dist/src/agent/mcp/bundle-mcp-types.d.ts +0 -76
  465. package/dist/src/agent/mcp/bundle-mcp-types.js +0 -1
  466. package/dist/src/agent/mcp/embedded-mcp.d.ts +0 -10
  467. package/dist/src/agent/mcp/embedded-mcp.js +0 -14
  468. package/dist/src/agent/mcp/index.d.ts +0 -5
  469. package/dist/src/agent/mcp/index.js +0 -12
  470. package/dist/src/agent/mcp/mcp-config-shared.d.ts +0 -8
  471. package/dist/src/agent/mcp/mcp-config-shared.js +0 -39
  472. package/dist/src/agent/mcp/mcp-http.d.ts +0 -23
  473. package/dist/src/agent/mcp/mcp-http.js +0 -67
  474. package/dist/src/agent/mcp/mcp-resource-id.d.ts +0 -6
  475. package/dist/src/agent/mcp/mcp-resource-id.js +0 -19
  476. package/dist/src/agent/mcp/mcp-stdio-transport.d.ts +0 -26
  477. package/dist/src/agent/mcp/mcp-stdio-transport.js +0 -120
  478. package/dist/src/agent/mcp/mcp-stdio.d.ts +0 -18
  479. package/dist/src/agent/mcp/mcp-stdio.js +0 -35
  480. package/dist/src/agent/mcp/mcp-transport-config.d.ts +0 -28
  481. package/dist/src/agent/mcp/mcp-transport-config.js +0 -91
  482. package/dist/src/agent/mcp/mcp-transport.d.ts +0 -17
  483. package/dist/src/agent/mcp/mcp-transport.js +0 -141
  484. package/dist/src/agent/mcp/oauth/index.d.ts +0 -6
  485. package/dist/src/agent/mcp/oauth/index.js +0 -6
  486. package/dist/src/agent/mcp/oauth/mcp-oauth-errors.d.ts +0 -5
  487. package/dist/src/agent/mcp/oauth/mcp-oauth-errors.js +0 -14
  488. package/dist/src/agent/mcp/oauth/mcp-oauth-manager.d.ts +0 -30
  489. package/dist/src/agent/mcp/oauth/mcp-oauth-manager.js +0 -276
  490. package/dist/src/agent/mcp/oauth/mcp-oauth-provider.d.ts +0 -33
  491. package/dist/src/agent/mcp/oauth/mcp-oauth-provider.js +0 -103
  492. package/dist/src/agent/mcp/oauth/mcp-oauth-session.d.ts +0 -31
  493. package/dist/src/agent/mcp/oauth/mcp-oauth-session.js +0 -181
  494. package/dist/src/agent/mcp/oauth/mcp-oauth-store.d.ts +0 -12
  495. package/dist/src/agent/mcp/oauth/mcp-oauth-store.js +0 -91
  496. package/dist/src/agent/mcp/oauth/mcp-oauth-types.d.ts +0 -22
  497. package/dist/src/agent/mcp/oauth/mcp-oauth-types.js +0 -1
  498. package/dist/src/agent/mcp/plugin-http-fetch.d.ts +0 -2
  499. package/dist/src/agent/source-context/mcp-resource-context.d.ts +0 -8
  500. package/dist/src/agent/source-context/mcp-resource-context.js +0 -30
  501. package/dist/src/auth/oauth/openai-codex.d.ts +0 -9
  502. package/dist/src/auth/oauth/openai-codex.js +0 -414
  503. package/dist/src/browser/policy/approval-store.d.ts +0 -17
  504. package/dist/src/browser/policy/approval-store.js +0 -62
  505. package/dist/src/browser/providers/extension-ws-acquire.d.ts +0 -19
  506. package/dist/src/browser/providers/extension-ws-acquire.js +0 -78
  507. package/dist/src/browser/providers/extension.d.ts +0 -61
  508. package/dist/src/browser/providers/extension.js +0 -378
  509. package/dist/src/connectors/plugin-mcp-recovery.d.ts +0 -28
  510. package/dist/src/connectors/plugin-mcp-recovery.js +0 -90
  511. package/dist/src/extensions/agent-plugins/connection.d.ts +0 -8
  512. package/dist/src/extensions/agent-plugins/connection.js +0 -41
  513. package/dist/src/extensions/agent-plugins/health.d.ts +0 -4
  514. package/dist/src/extensions/agent-plugins/health.js +0 -48
  515. package/dist/src/extensions/agent-plugins/plugin-oauth-scope.d.ts +0 -1
  516. 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
  }