@xopcai/xopc 0.0.415 → 0.0.417

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 (892) hide show
  1. package/README.md +2 -2
  2. package/README.zh-CN.md +2 -2
  3. package/dist/browser-ext/_locales/en/messages.json +4 -1
  4. package/dist/browser-ext/_locales/zh_CN/messages.json +4 -1
  5. package/dist/browser-ext/dist/assets/{page-context-MuzjMBlJ.js → page-context-BKnEwsOO.js} +2914 -1381
  6. package/dist/browser-ext/dist/background.js +39 -10
  7. package/dist/browser-ext/dist/sidepanel.html +1 -1
  8. package/dist/browser-ext/dist/sidepanel.js +502 -348
  9. package/dist/browser-ext/manifest.json +1 -1
  10. package/dist/extensions/telegram/xopc.extension.json +1 -1
  11. package/dist/gateway/static/root/assets/activity-YogQEteU.js +1 -0
  12. package/dist/gateway/static/root/assets/activity-store-DnqOM8GN.js +1 -0
  13. package/dist/gateway/static/root/assets/agent-avatar-dicebear-1UABT2KS.js +1 -0
  14. package/dist/gateway/static/root/assets/agent-avatar-display-Cy50vjbq.js +2 -0
  15. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-V4NX_cWz.js +1 -0
  16. package/dist/gateway/static/root/assets/agent-display-names-Bje7vfSn.js +1 -0
  17. package/dist/gateway/static/root/assets/agent-plugin-dialog-CQ5LLDMO.js +1 -0
  18. package/dist/gateway/static/root/assets/agents-O7mago-m.js +77 -0
  19. package/dist/gateway/static/root/assets/{agents-admin-api-B1p-ghg9.js → agents-admin-api-CyjykMEh.js} +2 -2
  20. package/dist/gateway/static/root/assets/agents-app-path-ciChvpCS.js +1 -0
  21. package/dist/gateway/static/root/assets/api-C1dxxDZx.js +1 -0
  22. package/dist/gateway/static/root/assets/api-Ddrs70xV.js +1 -0
  23. package/dist/gateway/static/root/assets/app-chrome-BeB4KgOf.js +1 -0
  24. package/dist/gateway/static/root/assets/app-link-CytZ5zkp.js +1 -0
  25. package/dist/gateway/static/root/assets/app-management-settings-panel-C1Zs-eha.js +1 -0
  26. package/dist/gateway/static/root/assets/appearance-settings-lIfGokbz.js +1 -0
  27. package/dist/gateway/static/root/assets/apps-page-CUvtsRYD.js +1 -0
  28. package/dist/gateway/static/root/assets/archive-Dz0hferG.js +1 -0
  29. package/dist/gateway/static/root/assets/{archive-plugin-Ch7wolHE.js → archive-plugin-n5lPr79c.js} +1 -1
  30. package/dist/gateway/static/root/assets/arrow-left-D880xG-P.js +1 -0
  31. package/dist/gateway/static/root/assets/arrow-right-DSSvoX71.js +1 -0
  32. package/dist/gateway/static/root/assets/arrow-up-D5ZtR1QT.js +1 -0
  33. package/dist/gateway/static/root/assets/arrow-up-right-T72JbQ1Q.js +1 -0
  34. package/dist/gateway/static/root/assets/{attachment-preview-renderer-wzIchDSv.js → attachment-preview-renderer-DdOEgexg.js} +3 -3
  35. package/dist/gateway/static/root/assets/{attachment-process-heavy-Db4nTY5N.js → attachment-process-heavy-DGZZ-M85.js} +2 -2
  36. package/dist/gateway/static/root/assets/automation-api-Bld8blNl.js +1 -0
  37. package/dist/gateway/static/root/assets/automation-display-BcfZOQTC.js +2 -0
  38. package/dist/gateway/static/root/assets/{automations-page-DK7AU79v.js → automations-page-oLsNzu_6.js} +1 -1
  39. package/dist/gateway/static/root/assets/automations-workspace-BgtYY2Mm.js +8 -0
  40. package/dist/gateway/static/root/assets/beta-badge-BnzdzIEl.js +1 -0
  41. package/dist/gateway/static/root/assets/{binary-plugins-B4HcHYsC.js → binary-plugins-D9VW7dWP.js} +2 -2
  42. package/dist/gateway/static/root/assets/{block-editor-BQAWEZF-.js → block-editor-C477bTtO.js} +23 -23
  43. package/dist/gateway/static/root/assets/book-open-CCGtrT3R.js +1 -0
  44. package/dist/gateway/static/root/assets/bot-DjLkhyZL.js +1 -0
  45. package/dist/gateway/static/root/assets/box-DvYoGszj.js +1 -0
  46. package/dist/gateway/static/root/assets/braces-Cfmtagno.js +1 -0
  47. package/dist/gateway/static/root/assets/brand-logo-CgT9zQfr.js +1 -0
  48. package/dist/gateway/static/root/assets/briefcase-business-BsoCaI_t.js +1 -0
  49. package/dist/gateway/static/root/assets/browser-BLJWD7WI.js +8 -0
  50. package/dist/gateway/static/root/assets/{browser-automation-inputs-D6AccXaA.js → browser-automation-inputs-CCiYXxmh.js} +1 -1
  51. package/dist/gateway/static/root/assets/browser-automations-page-DIUNY94X.js +3 -0
  52. package/dist/gateway/static/root/assets/browser-control-api-Y3fvmeBk.js +6 -0
  53. package/dist/gateway/static/root/assets/browser-notification-delivery-DmE2FgGc.js +1 -0
  54. package/dist/gateway/static/root/assets/browser-settings-page-DjkGahlz.js +3 -0
  55. package/dist/gateway/static/root/assets/{button-aIC072nz.js → button-CnRSIP6m.js} +1 -1
  56. package/dist/gateway/static/root/assets/calendar-clock-D-quYVPe.js +1 -0
  57. package/dist/gateway/static/root/assets/calendar-days-hw_Y-g-s.js +1 -0
  58. package/dist/gateway/static/root/assets/capabilities-DAyA681v.js +1 -0
  59. package/dist/gateway/static/root/assets/capabilities-DRVXLssH.js +1 -0
  60. package/dist/gateway/static/root/assets/capabilities-page-DFW4Y0x8.js +2 -0
  61. package/dist/gateway/static/root/assets/capabilities-settings-panel-uOHSMQPZ.js +8 -0
  62. package/dist/gateway/static/root/assets/capability-header-actions-CTUCuBlW.js +1 -0
  63. package/dist/gateway/static/root/assets/capability-icon-DVoZxEgW.js +1 -0
  64. package/dist/gateway/static/root/assets/capability-links-DzQWK1Fh.js +1 -0
  65. package/dist/gateway/static/root/assets/channels-D2a69dSt.js +1 -0
  66. package/dist/gateway/static/root/assets/channels-routes-r2g-9DdC.js +1 -0
  67. package/dist/gateway/static/root/assets/chat-agents-api-D5nR_JVe.js +1 -0
  68. package/dist/gateway/static/root/assets/chat-chart-block-K2t333qv.js +2 -0
  69. package/dist/gateway/static/root/assets/chat-page-CG38tCHE.js +71 -0
  70. package/dist/gateway/static/root/assets/chat-page-zQeUaawJ.css +1 -0
  71. package/dist/gateway/static/root/assets/chat-terminal-dock-CkFG6mA3.js +35 -0
  72. package/dist/gateway/static/root/assets/chevron-left-DqFhpbvK.js +1 -0
  73. package/dist/gateway/static/root/assets/chevron-right-BweFrslA.js +1 -0
  74. package/dist/gateway/static/root/assets/chunk-D32TOXHM-DQIy-Baq.js +156 -0
  75. package/dist/gateway/static/root/assets/chunk-KS7C4IRE-CiwuuyV8.js +4 -0
  76. package/dist/gateway/static/root/assets/circle-BoO4YvTx.js +1 -0
  77. package/dist/gateway/static/root/assets/circle-alert-BEjgurr2.js +1 -0
  78. package/dist/gateway/static/root/assets/circle-pause-CN9jYH2s.js +1 -0
  79. package/dist/gateway/static/root/assets/circle-x-DFsCKeya.js +1 -0
  80. package/dist/gateway/static/root/assets/clock-3-DnrAnuyZ.js +1 -0
  81. package/dist/gateway/static/root/assets/cloud-C4-yfnnk.js +1 -0
  82. package/dist/gateway/static/root/assets/cloud-credits-B-nbtkqv.js +1 -0
  83. package/dist/gateway/static/root/assets/code-xml-DJtYhZUF.js +1 -0
  84. package/dist/gateway/static/root/assets/coins-DjP27vUx.js +1 -0
  85. package/dist/gateway/static/root/assets/command-palette-api-Do_66X1B.js +1 -0
  86. package/dist/gateway/static/root/assets/composer-payload-handoff-BU3B-C26.js +1 -0
  87. package/dist/gateway/static/root/assets/computer-settings-page-DBxOcMko.js +1 -0
  88. package/dist/gateway/static/root/assets/confirm-dialog-XGclfBqe.js +1 -0
  89. package/dist/gateway/static/root/assets/connected-providers-grid-Dmnu2zle.js +1 -0
  90. package/dist/gateway/static/root/assets/connector-filters-Cfcx9EA2.js +1 -0
  91. package/dist/gateway/static/root/assets/connector-service-page-rWpnchb3.js +1 -0
  92. package/dist/gateway/static/root/assets/connectors-api-DIBG72k4.js +1 -0
  93. package/dist/gateway/static/root/assets/connectors-page-DT_WrC1y.js +1 -0
  94. package/dist/gateway/static/root/assets/constants-DBtMsXdW.js +1 -0
  95. package/dist/gateway/static/root/assets/copy-text-row-CYIv7RfP.js +1 -0
  96. package/dist/gateway/static/root/assets/cpu-B247669f.js +1 -0
  97. package/dist/gateway/static/root/assets/database-CjjeZfRG.js +1 -0
  98. package/dist/gateway/static/root/assets/date-picker-CE-cZFCU.js +1 -0
  99. package/dist/gateway/static/root/assets/dependency-picker-7SpSfDSg.js +1 -0
  100. package/dist/gateway/static/root/assets/desktop-pet-lorocS9j.js +1 -0
  101. package/dist/gateway/static/root/assets/desktop-pet-narrative-CS8qJpNO.js +1 -0
  102. package/dist/gateway/static/root/assets/desktop-pet-settings-CEcohlZq.js +1 -0
  103. package/dist/gateway/static/root/assets/{desktop-pet-sprite-Bd-aOI7N.js → desktop-pet-sprite-D5YYq2zC.js} +1 -1
  104. package/dist/gateway/static/root/assets/dev-view-store-57HgVuZ6.js +1 -0
  105. package/dist/gateway/static/root/assets/device-pairing-wizard-CLCPuf4R.js +1 -0
  106. package/dist/gateway/static/root/assets/directory-picker-path-field-D4jMhpka.js +1 -0
  107. package/dist/gateway/static/root/assets/discussion-annotation-sync-BKjf9gWe.js +1 -0
  108. package/dist/gateway/static/root/assets/dist-CaUuvp8-.js +1 -0
  109. package/dist/gateway/static/root/assets/dist-DNCdG_qB.js +1 -0
  110. package/dist/gateway/static/root/assets/dist-DfWfZ9iu.js +1 -0
  111. package/dist/gateway/static/root/assets/dist-DusecO_p.js +1 -0
  112. package/dist/gateway/static/root/assets/docx-preview-CnIClbYi.js +20 -0
  113. package/dist/gateway/static/root/assets/earth-BMhZtzcj.js +1 -0
  114. package/dist/gateway/static/root/assets/echarts-runtime-QSmTlXOu.js +18 -0
  115. package/dist/gateway/static/root/assets/electron-env-DHOGevH3.js +1 -0
  116. package/dist/gateway/static/root/assets/extension-debug-page-BsK2LMXQ.js +1 -0
  117. package/dist/gateway/static/root/assets/extension-iframe-host-Dhkk5JV2.js +1 -0
  118. package/dist/gateway/static/root/assets/extension-marketplace-api-CVJPqJOB.js +1 -0
  119. package/dist/gateway/static/root/assets/extension-page-Brps2XDP.js +1 -0
  120. package/dist/gateway/static/root/assets/extension-paths-DvuaZJuy.js +1 -0
  121. package/dist/gateway/static/root/assets/extension-provider-Byrd8Sor.js +1 -0
  122. package/dist/gateway/static/root/assets/extension-settings-page-CHY68DpG.js +1 -0
  123. package/dist/gateway/static/root/assets/file-BqMS_3DT.js +1 -0
  124. package/dist/gateway/static/root/assets/file-archive-DanfQJNe.js +1 -0
  125. package/dist/gateway/static/root/assets/file-preview-surface-BlprUrIs.js +1 -0
  126. package/dist/gateway/static/root/assets/file-text-D12HbeVy.js +1 -0
  127. package/dist/gateway/static/root/assets/file-tree-CFlZnV3Y.js +1 -0
  128. package/dist/gateway/static/root/assets/file-tree-utils-DJs1faGv.js +1 -0
  129. package/dist/gateway/static/root/assets/files-BNL4kkSB.js +1 -0
  130. package/dist/gateway/static/root/assets/floating-ui.dom-seOukHzT.js +1 -0
  131. package/dist/gateway/static/root/assets/folder-CN-pC3XL.js +1 -0
  132. package/dist/gateway/static/root/assets/folder-kanban-CpLlFI1o.js +1 -0
  133. package/dist/gateway/static/root/assets/form-field-width-DJw_jULe.js +1 -0
  134. package/dist/gateway/static/root/assets/{gateway-config-swr-fQKBHBi1.js → gateway-config-swr-BAmUhiP1.js} +1 -1
  135. package/dist/gateway/static/root/assets/gateway-realtime-CsykKL4l.js +1 -0
  136. package/dist/gateway/static/root/assets/gateway-realtime-store-DQqMBruB.js +1 -0
  137. package/dist/gateway/static/root/assets/gateway-restart-Ch128Lrr.js +1 -0
  138. package/dist/gateway/static/root/assets/gateway-settings-BA5-Uuwx.js +1 -0
  139. package/dist/gateway/static/root/assets/{gateway-startup-retry-Cfwxof4k.js → gateway-startup-retry-CtUB3g6N.js} +1 -1
  140. package/dist/gateway/static/root/assets/gauge-C78eD2BA.js +1 -0
  141. package/dist/gateway/static/root/assets/git-branch-Dh9uxTot.js +1 -0
  142. package/dist/gateway/static/root/assets/global-defaults-api-CINf-C6a.js +2 -0
  143. package/dist/gateway/static/root/assets/heart-Cp4rgrqn.js +1 -0
  144. package/dist/gateway/static/root/assets/highlight-code-BH65IIbJ.js +1 -0
  145. package/dist/gateway/static/root/assets/highlighted-body-KQOG7T2V-DKGma5wI.js +1 -0
  146. package/dist/gateway/static/root/assets/history-DXH_9jsE.js +1 -0
  147. package/dist/gateway/static/root/assets/home-page-DaMFBYo1.js +2 -0
  148. package/dist/gateway/static/root/assets/image-Cwyalflz.js +1 -0
  149. package/dist/gateway/static/root/assets/image-generation-api-I_JgLL_m.js +1 -0
  150. package/dist/gateway/static/root/assets/imports-page-BWShtGRQ.js +1 -0
  151. package/dist/gateway/static/root/assets/index-BpCi0TdG.js +11 -0
  152. package/dist/gateway/static/root/assets/index-DY2Y83b9.css +1 -0
  153. package/dist/gateway/static/root/assets/index.module-Cd9ENXfk.js +1 -0
  154. package/dist/gateway/static/root/assets/info-CDrmIZhb.js +1 -0
  155. package/dist/gateway/static/root/assets/install-connector-dialog-DU1Tz7B3.js +1 -0
  156. package/dist/gateway/static/root/assets/interaction-BdhHBbYa.js +1 -0
  157. package/dist/gateway/static/root/assets/is-masked-secret-DOkL5b_X.js +1 -0
  158. package/dist/gateway/static/root/assets/{jszip.min-DT31yWkU.js → jszip.min-Dj17eJqX.js} +1 -1
  159. package/dist/gateway/static/root/assets/key-round-DWbpyU2U.js +1 -0
  160. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-CdM4BQwp.js +1 -0
  161. package/dist/gateway/static/root/assets/languages-zXtNocoy.js +2 -0
  162. package/dist/gateway/static/root/assets/laptop-CI3hBVrl.js +1 -0
  163. package/dist/gateway/static/root/assets/layers-mJW7JJKm.js +1 -0
  164. package/dist/gateway/static/root/assets/layout-grid-CEVZdVFU.js +1 -0
  165. package/dist/gateway/static/root/assets/list-checks-BbsExAoq.js +1 -0
  166. package/dist/gateway/static/root/assets/list-filter-COkzTdOz.js +1 -0
  167. package/dist/gateway/static/root/assets/list-todo-CTVRto8O.js +1 -0
  168. package/dist/gateway/static/root/assets/list-tree-B0OMswgM.js +1 -0
  169. package/dist/gateway/static/root/assets/local-app-workbench-page-qPflPuQD.js +1 -0
  170. package/dist/gateway/static/root/assets/local-apps-Ck6kACsY.js +1 -0
  171. package/dist/gateway/static/root/assets/local-apps-page-CxyRVfjD.js +1 -0
  172. package/dist/gateway/static/root/assets/local-session-drafts-B9ZPwotC.js +1 -0
  173. package/dist/gateway/static/root/assets/{locale-store-B7s2Hb35.js → locale-store-lIXD1FMw.js} +1 -1
  174. package/dist/gateway/static/root/assets/lock-keyhole-DEK5kH0u.js +1 -0
  175. package/dist/gateway/static/root/assets/logs-page-CbY1N-zi.js +2 -0
  176. package/dist/gateway/static/root/assets/loopi-C09I2mNj.css +1 -0
  177. package/dist/gateway/static/root/assets/loopi-CNtmi9FU.js +1 -0
  178. package/dist/gateway/static/root/assets/management-settings-Diy12JfQ.js +1 -0
  179. package/dist/gateway/static/root/assets/{markdown-editor-phTQ0mox.js → markdown-editor-BuuGlcfG.js} +1 -1
  180. package/dist/gateway/static/root/assets/markdown-view-C-DHb3Io.css +1 -0
  181. package/dist/gateway/static/root/assets/markdown-view-CJt-i2Dp.js +324 -0
  182. package/dist/gateway/static/root/assets/{media-plugins-DYQDjCVQ.js → media-plugins-D_bR23mA.js} +1 -1
  183. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-Ur99GwOg.js +1 -0
  184. package/dist/gateway/static/root/assets/mermaid-render-oOellPHt.js +134 -0
  185. package/dist/gateway/static/root/assets/message-circle-Badhj-4D.js +1 -0
  186. package/dist/gateway/static/root/assets/message-square-fVE7Ghj1.js +1 -0
  187. package/dist/gateway/static/root/assets/message-square-plus-XP0tGdlV.js +1 -0
  188. package/dist/gateway/static/root/assets/{messages-BYq0cPbn.js → messages-DRR9N3HC.js} +1 -1
  189. package/dist/gateway/static/root/assets/messages-square-BckAJrEW.js +1 -0
  190. package/dist/gateway/static/root/assets/mic-CuUb7zc-.js +1 -0
  191. package/dist/gateway/static/root/assets/minimize-2-DtOGrlpo.js +1 -0
  192. package/dist/gateway/static/root/assets/mobile-pair-qr-CuIbmw5x.js +1 -0
  193. package/dist/gateway/static/root/assets/model-selector-DCYA_ntf.js +1 -0
  194. package/dist/gateway/static/root/assets/models-hub-cache-za2fWJLg.js +1 -0
  195. package/dist/gateway/static/root/assets/monitor-Af5eAvF7.js +1 -0
  196. package/dist/gateway/static/root/assets/mouse-pointer-2-DZ51Onvj.js +1 -0
  197. package/dist/gateway/static/root/assets/navigation-BkjnOw30.js +1 -0
  198. package/dist/gateway/static/root/assets/network-BUQLY1BV.js +1 -0
  199. package/dist/gateway/static/root/assets/new-session-preferences-gb411vZP.js +1 -0
  200. package/dist/gateway/static/root/assets/note-detail-panel-DBs1yHLy.js +5 -0
  201. package/dist/gateway/static/root/assets/note-image-lightbox-CivkB6LB.js +1 -0
  202. package/dist/gateway/static/root/assets/notes-api-C_458rv5.js +1 -0
  203. package/dist/gateway/static/root/assets/notes-page-DL3c-41a.js +8 -0
  204. package/dist/gateway/static/root/assets/number-input-El7Szeln.js +1 -0
  205. package/dist/gateway/static/root/assets/oauth-api-C3X9FLYw.js +1 -0
  206. package/dist/gateway/static/root/assets/oauth-authorization-window-o6URRos4.js +1 -0
  207. package/dist/gateway/static/root/assets/oauth-provider-connect-H81se_3n.js +1 -0
  208. package/dist/gateway/static/root/assets/package-wATCyihJ.js +1 -0
  209. package/dist/gateway/static/root/assets/page-context-capture-button-BkAlQ7cB.js +1 -0
  210. package/dist/gateway/static/root/assets/page-context-draft-ClLgaOaD.js +1 -0
  211. package/dist/gateway/static/root/assets/page-header-store-DH8K0xii.js +1 -0
  212. package/dist/gateway/static/root/assets/page-tabs-oeTY7z3_.js +1 -0
  213. package/dist/gateway/static/root/assets/panel-left-C8MqSXRZ.js +1 -0
  214. package/dist/gateway/static/root/assets/panel-right-CFGrHTsD.js +1 -0
  215. package/dist/gateway/static/root/assets/paperclip-f1HujQY1.js +1 -0
  216. package/dist/gateway/static/root/assets/pause-DuPxgSxk.js +1 -0
  217. package/dist/gateway/static/root/assets/{pdf-D4PI9qAw.js → pdf-EQHMWEbX.js} +3 -3
  218. package/dist/gateway/static/root/assets/pdf-runtime-JnUAvfIa.js +2 -0
  219. package/dist/gateway/static/root/assets/{pdf.worker.min-B4E34YdZ.js → pdf.worker.min-bpyjgR8v.js} +7 -7
  220. package/dist/gateway/static/root/assets/pencil-DmIY3Oa-.js +1 -0
  221. package/dist/gateway/static/root/assets/personal-avatar-BLtHt8fV.js +1 -0
  222. package/dist/gateway/static/root/assets/personal-avatar-BUCb7OiW.css +1 -0
  223. package/dist/gateway/static/root/assets/personal-page-B5DP3lO-.js +1 -0
  224. package/dist/gateway/static/root/assets/personal-proactivity-DaRnbB1f.js +1 -0
  225. package/dist/gateway/static/root/assets/personal-settings-panel-DjDc5Kaz.js +1 -0
  226. package/dist/gateway/static/root/assets/phone-dependencies-card-DISHarj8.js +1 -0
  227. package/dist/gateway/static/root/assets/phone-model-picker-u8YIQCgo.js +1 -0
  228. package/dist/gateway/static/root/assets/phone-settings-page-el3pT0PD.js +1 -0
  229. package/dist/gateway/static/root/assets/phone-workspace-store-fhnZrgy_.js +1 -0
  230. package/dist/gateway/static/root/assets/pin-off-BMRv-Kxr.js +1 -0
  231. package/dist/gateway/static/root/assets/play-kxZvpBg8.js +1 -0
  232. package/dist/gateway/static/root/assets/plug-DKYPEgkR.js +1 -0
  233. package/dist/gateway/static/root/assets/plug-zap-L8NMe3Sv.js +1 -0
  234. package/dist/gateway/static/root/assets/plugin-details-dialog-CTBs1Jde.js +1 -0
  235. package/dist/gateway/static/root/assets/plus-Q2yW6OE7.js +1 -0
  236. package/dist/gateway/static/root/assets/popover-select-DniHw2dy.js +1 -0
  237. package/dist/gateway/static/root/assets/power-ZI-pBczI.js +1 -0
  238. package/dist/gateway/static/root/assets/power-off-CwwQ7Gp7.js +1 -0
  239. package/dist/gateway/static/root/assets/preference-select-fields-D7oluyHN.js +1 -0
  240. package/dist/gateway/static/root/assets/preload-helper-Czpn1I53.js +1 -0
  241. package/dist/gateway/static/root/assets/preview-open-alternatives-CY_hjK4b.js +1 -0
  242. package/dist/gateway/static/root/assets/product-automation-feedback-DsUSqCOX.js +7 -0
  243. package/dist/gateway/static/root/assets/product-delivery-BU_H84jL.js +1 -0
  244. package/dist/gateway/static/root/assets/product-navigation-Co8pLbDP.js +1 -0
  245. package/dist/gateway/static/root/assets/product-open-page-xn9G4hSI.js +1 -0
  246. package/dist/gateway/static/root/assets/product-preview-content-DcoK-iZe.js +1 -0
  247. package/dist/gateway/static/root/assets/product-preview-modal-Ruw9WSKK.js +2 -0
  248. package/dist/gateway/static/root/assets/project-detail-page-BKvWLiMw.js +7 -0
  249. package/dist/gateway/static/root/assets/project-understanding-BCQr0AZ_.js +1 -0
  250. package/dist/gateway/static/root/assets/projects-page-D4g7bB7X.js +1 -0
  251. package/dist/gateway/static/root/assets/providers-api-CzVkFKFg.js +1 -0
  252. package/dist/gateway/static/root/assets/puzzle-BptcPjKI.js +1 -0
  253. package/dist/gateway/static/root/assets/recording-upload-0jxahBMo.js +1 -0
  254. package/dist/gateway/static/root/assets/refresh-button-bU_0NarN.js +1 -0
  255. package/dist/gateway/static/root/assets/refresh-cw-BRlGaq2w.js +1 -0
  256. package/dist/gateway/static/root/assets/{registry-api-BcfoLEna.js → registry-api-n8TwtJ_j.js} +2 -2
  257. package/dist/gateway/static/root/assets/remote-access-hub-cZpBi4Rk.js +1 -0
  258. package/dist/gateway/static/root/assets/rotate-ccw-JM1TBLpp.js +1 -0
  259. package/dist/gateway/static/root/assets/rotate-cw-LIg3Am9S.js +1 -0
  260. package/dist/gateway/static/root/assets/route-preload-B5UiReO7.js +2 -0
  261. package/dist/gateway/static/root/assets/runtime-health-D2TDFLLq.js +1 -0
  262. package/dist/gateway/static/root/assets/{runtime-tools-api-DesqGCnE.js → runtime-tools-api-D-8KjYK6.js} +1 -1
  263. package/dist/gateway/static/root/assets/runtime-tools-settings-panel-MKlLFuow.js +1 -0
  264. package/dist/gateway/static/root/assets/save-DRDABU--.js +1 -0
  265. package/dist/gateway/static/root/assets/schema-form-v4N4lawq.js +1 -0
  266. package/dist/gateway/static/root/assets/schemas-CCWMleym.js +55 -0
  267. package/dist/gateway/static/root/assets/search-DA7gz22f.js +1 -0
  268. package/dist/gateway/static/root/assets/secret-input-BQvFXqzz.js +1 -0
  269. package/dist/gateway/static/root/assets/secret-input-labels-B5Jl5HqK.js +1 -0
  270. package/dist/gateway/static/root/assets/segmented-styles-Cqb91xsn.js +1 -0
  271. package/dist/gateway/static/root/assets/send-1f1Ntw6E.js +1 -0
  272. package/dist/gateway/static/root/assets/server-BlHCBjiE.js +1 -0
  273. package/dist/gateway/static/root/assets/service-recommendation-list-B1xuVT3N.js +1 -0
  274. package/dist/gateway/static/root/assets/{session-api-DdQnMwkl.js → session-api-CsCoI2im.js} +1 -1
  275. package/dist/gateway/static/root/assets/session-channel-icon-SsY70Z6t.js +1 -0
  276. package/dist/gateway/static/root/assets/session-identity-label-B7sgG1PE.js +1 -0
  277. package/dist/gateway/static/root/assets/session-manager-5l9q0cd5.js +16 -0
  278. package/dist/gateway/static/root/assets/sessions-page-DsLw2aMD.js +1 -0
  279. package/dist/gateway/static/root/assets/settings-2-D-csvaET.js +1 -0
  280. package/dist/gateway/static/root/assets/settings-advanced-gate-B5lQeVNi.js +1 -0
  281. package/dist/gateway/static/root/assets/settings-advanced-section-BqoVSko2.js +1 -0
  282. package/dist/gateway/static/root/assets/settings-form-draft-Dy10ldo8.js +1 -0
  283. package/dist/gateway/static/root/assets/settings-form-section-num14vSv.js +1 -0
  284. package/dist/gateway/static/root/assets/settings-loading-skeleton-BTqvr_Fw.js +1 -0
  285. package/dist/gateway/static/root/assets/settings-mode-store-CBsJ-Qg2.js +1 -0
  286. package/dist/gateway/static/root/assets/settings-page-DROUGyJl.js +1 -0
  287. package/dist/gateway/static/root/assets/settings-page-header-Bv-kQFTm.js +1 -0
  288. package/dist/gateway/static/root/assets/settings-page-layout-DHP6MrrL.js +1 -0
  289. package/dist/gateway/static/root/assets/settings-uiTATseT.js +1 -0
  290. package/dist/gateway/static/root/assets/setup-status-panel-MJE3B_LX.js +1 -0
  291. package/dist/gateway/static/root/assets/share-link-dialog-BJHRQVKC.js +1 -0
  292. package/dist/gateway/static/root/assets/share-preview-page-Bsrv_zOQ.js +2 -0
  293. package/dist/gateway/static/root/assets/shares-api-rtWVHA_d.js +1 -0
  294. package/dist/gateway/static/root/assets/shares-settings-CfIRv4uX.js +1 -0
  295. package/dist/gateway/static/root/assets/shield-B1sI_cxl.js +1 -0
  296. package/dist/gateway/static/root/assets/shield-check-BU58siTV.js +1 -0
  297. package/dist/gateway/static/root/assets/shield-off-2jsucUds.js +1 -0
  298. package/dist/gateway/static/root/assets/side-chat-shortcut-BIw-1TTD.js +1 -0
  299. package/dist/gateway/static/root/assets/skill-api-B_W1K3sv.js +1 -0
  300. package/dist/gateway/static/root/assets/skill-api-utils-C7V4JVXM.js +1 -0
  301. package/dist/gateway/static/root/assets/skill-list-api-BzlKXPsE.js +1 -0
  302. package/dist/gateway/static/root/assets/skill-reload-api-Cff2GgZb.js +1 -0
  303. package/dist/gateway/static/root/assets/skill-wire-pattern-BPpeIcCi.js +1 -0
  304. package/dist/gateway/static/root/assets/skills-page-DtBloYeU.js +2 -0
  305. package/dist/gateway/static/root/assets/sliders-horizontal-DqsYor6I.js +1 -0
  306. package/dist/gateway/static/root/assets/sliding-tab-list-DuQyViqe.js +1 -0
  307. package/dist/gateway/static/root/assets/smartphone-DSSsQFqA.js +1 -0
  308. package/dist/gateway/static/root/assets/{source-workspace-editor-BIvi89Zx.js → source-workspace-editor-kxosllTu.js} +1 -1
  309. package/dist/gateway/static/root/assets/sparkles-DHlfQFAF.js +1 -0
  310. package/dist/gateway/static/root/assets/specialists-xbB3xL9e.js +1 -0
  311. package/dist/gateway/static/root/assets/square-DMK_fB-3.js +1 -0
  312. package/dist/gateway/static/root/assets/square-pen-B8FsvqNu.js +1 -0
  313. package/dist/gateway/static/root/assets/square-terminal-K87bylpZ.js +1 -0
  314. package/dist/gateway/static/root/assets/star-BUWJqJ5c.js +1 -0
  315. package/dist/gateway/static/root/assets/stethoscope-DRqTAtjD.js +1 -0
  316. package/dist/gateway/static/root/assets/sticky-note-fzP7NAJq.js +1 -0
  317. package/dist/gateway/static/root/assets/store-SzD1Jvgm.js +1 -0
  318. package/dist/gateway/static/root/assets/system-settings-panel-BeQeUUMH.js +1 -0
  319. package/dist/gateway/static/root/assets/task-detail-page-Drrv-Hp0.js +2 -0
  320. package/dist/gateway/static/root/assets/task-result-evidence-D1Kyskm_.js +1 -0
  321. package/dist/gateway/static/root/assets/tasks-DRmd6sWt.js +1 -0
  322. package/dist/gateway/static/root/assets/terminal-oKqqZdiG.js +1 -0
  323. package/dist/gateway/static/root/assets/terminal-panel-store-5Fzctajw.js +1 -0
  324. package/dist/gateway/static/root/assets/theme-store-DW45fWYQ.js +1 -0
  325. package/dist/gateway/static/root/assets/timer-rCwGHjuO.js +1 -0
  326. package/dist/gateway/static/root/assets/tool-friendly-title-DGmi7rCQ.js +1 -0
  327. package/dist/gateway/static/root/assets/tracing-settings-page-B12u5D9A.js +1 -0
  328. package/dist/gateway/static/root/assets/trash-2-DusmjVPV.js +1 -0
  329. package/dist/gateway/static/root/assets/triangle-alert-2JXFNNKU.js +1 -0
  330. package/dist/gateway/static/root/assets/tunnel-api-DGO56LQU.js +1 -0
  331. package/dist/gateway/static/root/assets/understanding-activity-store-CTe6TFB0.js +1 -0
  332. package/dist/gateway/static/root/assets/understanding-refresh-store-mE9OKG6q.js +1 -0
  333. package/dist/gateway/static/root/assets/unlink-BEuthaaq.js +1 -0
  334. package/dist/gateway/static/root/assets/upload-rrb46c3c.js +1 -0
  335. package/dist/gateway/static/root/assets/usage-page-Ud2U9UG1.js +1 -0
  336. package/dist/gateway/static/root/assets/use-async-resource-BHFGZCY2.js +1 -0
  337. package/dist/gateway/static/root/assets/use-autosave-Cs2Ga_Y_.js +1 -0
  338. package/dist/gateway/static/root/assets/use-composer-attachments-BCbMj-MN.js +2 -0
  339. package/dist/gateway/static/root/assets/use-directory-picker-C4p7AgWY.js +1 -0
  340. package/dist/gateway/static/root/assets/use-file-preview-expanded-DSpCRXUW.js +2 -0
  341. package/dist/gateway/static/root/assets/use-media-query-ady-FgjK.js +1 -0
  342. package/dist/gateway/static/root/assets/use-personal-profile-BHL2AxWU.js +1 -0
  343. package/dist/gateway/static/root/assets/use-workspace-tree-CnmPZrpx.js +1 -0
  344. package/dist/gateway/static/root/assets/user-model-page-p5iPfnwl.js +2 -0
  345. package/dist/gateway/static/root/assets/user-round-C9jxPhMR.js +1 -0
  346. package/dist/gateway/static/root/assets/{vendor-codemirror-Qdcjid65.js → vendor-codemirror-aCQ0FcJT.js} +8 -8
  347. package/dist/gateway/static/root/assets/{vendor-swr-BIWyz7Rc.js → vendor-swr-CdRzEUwF.js} +1 -1
  348. package/dist/gateway/static/root/assets/video-B6V0GFss.js +1 -0
  349. package/dist/gateway/static/root/assets/voice-api-key-field-3gyc2UV3.js +1 -0
  350. package/dist/gateway/static/root/assets/voice-call-context-BM2A4bLz.js +1 -0
  351. package/dist/gateway/static/root/assets/{voice-config-api-BkUlN7GH.js → voice-config-api-Cda2uBIC.js} +1 -1
  352. package/dist/gateway/static/root/assets/voice-input-shortcut-events-DtYHsPLF.js +1 -0
  353. package/dist/gateway/static/root/assets/voice-transcribe-api-TInEfIYo.js +1 -0
  354. package/dist/gateway/static/root/assets/volume-2-BSJhAY97.js +1 -0
  355. package/dist/gateway/static/root/assets/wand-sparkles-CkSL-3Fy.js +1 -0
  356. package/dist/gateway/static/root/assets/{with-selector-aYPsXwdl.js → with-selector-xonYxPoM.js} +1 -1
  357. package/dist/gateway/static/root/assets/work-discovery-overlay-Dqu5CQCS.js +1 -0
  358. package/dist/gateway/static/root/assets/work-discovery-page-p-8ciZ0i.js +1 -0
  359. package/dist/gateway/static/root/assets/working-directory-picker-modal-DHl2cZY1.js +1 -0
  360. package/dist/gateway/static/root/assets/workspace-api-CtDbI6T7.js +2 -0
  361. package/dist/gateway/static/root/assets/workspace-editor-agent-store-B94Q2nN8.js +1 -0
  362. package/dist/gateway/static/root/assets/workspace-file-preview-dialog-CTIbUfKb.js +1 -0
  363. package/dist/gateway/static/root/assets/workspace-open-location-menu-BwxouqdZ.js +1 -0
  364. package/dist/gateway/static/root/assets/wrench-DFb4r8bH.js +1 -0
  365. package/dist/gateway/static/root/assets/x-B_N4OPjy.js +1 -0
  366. package/dist/gateway/static/root/assets/{xlsx-CKkngM-o.js → xlsx-Cl_0CZaL.js} +11 -11
  367. package/dist/gateway/static/root/assets/xml-_d7dTN2Q.js +3 -0
  368. package/dist/gateway/static/root/assets/xopc-cloud-account-card-CFb-23rS.js +1 -0
  369. package/dist/gateway/static/root/assets/zap-dximCGjy.js +1 -0
  370. package/dist/gateway/static/root/browser-setup-test.html +5 -0
  371. package/dist/gateway/static/root/browser-setup-test.js +7 -0
  372. package/dist/gateway/static/root/index.html +267 -46
  373. package/dist/package.js +1 -1
  374. package/dist/packages/gateway-contract/src/browser-setup.js +6 -0
  375. package/dist/packages/gateway-contract/src/index.js +4 -0
  376. package/dist/packages/gateway-contract/src/phone-setup.js +6 -0
  377. package/dist/packages/realtime-client/src/index.js +1 -0
  378. package/dist/packages/realtime-protocol/src/index.js +1 -0
  379. package/dist/src/activity/emitter.js +1 -2
  380. package/dist/src/activity/service.js +1 -2
  381. package/dist/src/agent/agent-manager.d.ts +5 -0
  382. package/dist/src/agent/agent-manager.js +16 -6
  383. package/dist/src/agent/background-review/run-background-review.js +2 -3
  384. package/dist/src/agent/context/execution-context.js +1 -2
  385. package/dist/src/agent/context/execution-scope.js +1 -2
  386. package/dist/src/agent/context/project-context.js +1 -2
  387. package/dist/src/agent/embedded/agent-profile-context.js +1 -2
  388. package/dist/src/agent/embedded/run-turn.js +2 -4
  389. package/dist/src/agent/embedded/sqlite-hydrating-session-manager.js +1 -2
  390. package/dist/src/agent/embedded/tool-search-extension.js +14 -1
  391. package/dist/src/agent/external-tools/cliProvider.js +3 -4
  392. package/dist/src/agent/external-tools/composio-provider.js +3 -4
  393. package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
  394. package/dist/src/agent/memory/compaction-promotion.js +1 -2
  395. package/dist/src/agent/orchestration/research-checkpoint.js +26 -31
  396. package/dist/src/agent/prompt/response-language.js +1 -2
  397. package/dist/src/agent/prompt/service-prompt-builder.js +3 -6
  398. package/dist/src/agent/prompt/system-prompt.js +1 -2
  399. package/dist/src/agent/service/direct-turn-helpers.js +1 -2
  400. package/dist/src/agent/service/process-direct-streaming.js +1 -2
  401. package/dist/src/agent/service/webchat-tts.js +1 -2
  402. package/dist/src/agent/service.d.ts +1 -0
  403. package/dist/src/agent/service.js +8 -3
  404. package/dist/src/agent/service.types.d.ts +3 -0
  405. package/dist/src/agent/skills/index.js +1 -1
  406. package/dist/src/agent/skills/managed-store.js +1 -1
  407. package/dist/src/agent/skills/skill-manage-ops.js +1 -1
  408. package/dist/src/agent/tool-manuals/computer.d.ts +1 -1
  409. package/dist/src/agent/tool-manuals/computer.js +2 -0
  410. package/dist/src/agent/tool-manuals/phone.d.ts +1 -1
  411. package/dist/src/agent/tool-manuals/phone.js +14 -4
  412. package/dist/src/agent/tool-manuals/xopc-configuration.d.ts +2 -0
  413. package/dist/src/agent/tool-manuals/xopc-configuration.js +29 -0
  414. package/dist/src/agent/tools/browser/tool/browser-use-tool.d.ts +2 -0
  415. package/dist/src/agent/tools/browser/tool/browser-use-tool.js +6 -2
  416. package/dist/src/agent/tools/delegate-tool.js +2 -4
  417. package/dist/src/agent/tools/factory.d.ts +4 -0
  418. package/dist/src/agent/tools/factory.js +23 -9
  419. package/dist/src/agent/tools/personal-read-tool.js +1 -1
  420. package/dist/src/agent/tools/personal-task-tool.js +1 -2
  421. package/dist/src/agent/tools/phone-use-tool.d.ts +2 -0
  422. package/dist/src/agent/tools/phone-use-tool.js +79 -4
  423. package/dist/src/agent/tools/research-checkpoint-tool.js +1 -2
  424. package/dist/src/agent/tools/tool-manual-tool.d.ts +1 -1
  425. package/dist/src/agent/tools/tool-manual-tool.js +3 -1
  426. package/dist/src/agent/tools/toolExposure.js +3 -0
  427. package/dist/src/agent/tools/xopc-use-tool.d.ts +5 -2
  428. package/dist/src/agent/tools/xopc-use-tool.js +47 -6
  429. package/dist/src/agent-catalog/capabilities.js +2 -2
  430. package/dist/src/agent-catalog/repository.js +3 -4
  431. package/dist/src/agent-catalog/test-support.js +1 -2
  432. package/dist/src/agent-matching/selection-repository.js +1 -2
  433. package/dist/src/automations/capabilities/drafts.js +3 -5
  434. package/dist/src/bootstrap/application-state.js +1 -2
  435. package/dist/src/browser/automations/repository.js +1 -2
  436. package/dist/src/browser/drivers/browser-driver.d.ts +2 -2
  437. package/dist/src/browser/drivers/extension-driver.d.ts +2 -2
  438. package/dist/src/browser/drivers/extension-driver.js +6 -3
  439. package/dist/src/browser/native-messaging-host.js +2 -4
  440. package/dist/src/browser/providers/browser-ext-install.js +3 -2
  441. package/dist/src/browser/providers/realtime-extension.js +1 -2
  442. package/dist/src/browser/recordings/service.js +1 -2
  443. package/dist/src/browser/runtime/browser-runtime.d.ts +4 -1
  444. package/dist/src/browser/runtime/browser-runtime.js +29 -17
  445. package/dist/src/browser/setup/repository.d.ts +5 -0
  446. package/dist/src/browser/setup/repository.js +42 -0
  447. package/dist/src/browser/setup/service.d.ts +157 -0
  448. package/dist/src/browser/setup/service.js +433 -0
  449. package/dist/src/browser/setup/types.d.ts +38 -0
  450. package/dist/src/browser/setup/types.js +1 -0
  451. package/dist/src/capabilities/runtime/dispatcher.js +1 -1
  452. package/dist/src/capabilities/runtime/product.js +1 -1
  453. package/dist/src/chat-previews/store.js +1 -2
  454. package/dist/src/cli/commands/agents.js +1 -1
  455. package/dist/src/cli/commands/doctor/checks/automation-integrity.js +1 -2
  456. package/dist/src/cli/commands/doctor/checks/database-relations.js +1 -2
  457. package/dist/src/cli/commands/doctor/checks/database-schema.js +2 -3
  458. package/dist/src/cli/commands/doctor/checks/node-version.js +6 -6
  459. package/dist/src/cli/commands/doctor/checks/session-integrity.js +1 -2
  460. package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
  461. package/dist/src/cli/commands/gateway/shared.js +1 -2
  462. package/dist/src/cli/commands/history.js +1 -2
  463. package/dist/src/cli/commands/models.js +1 -1
  464. package/dist/src/cli/commands/onboard/model.js +1 -1
  465. package/dist/src/cli/commands/project.js +1 -2
  466. package/dist/src/cli/utils/init-workspace-core.js +1 -1
  467. package/dist/src/computer/diagnostics.d.ts +7 -7
  468. package/dist/src/computer/diagnostics.js +8 -2
  469. package/dist/src/computer/errors.js +9 -1
  470. package/dist/src/computer/evaluation.d.ts +4 -4
  471. package/dist/src/computer/keyboard.d.ts +1 -1
  472. package/dist/src/computer/keyboard.js +10 -2
  473. package/dist/src/computer/model-adapter.js +27 -7
  474. package/dist/src/config/agent-profile.js +1 -1
  475. package/dist/src/config/gateway-bind.js +1 -2
  476. package/dist/src/config/schema.d.ts +7 -0
  477. package/dist/src/connectors/cli/lifecycle.js +1 -2
  478. package/dist/src/connectors/composio-managed-events.js +1 -2
  479. package/dist/src/connectors/connected-source-ingestion.js +1 -2
  480. package/dist/src/connectors/connected-source-understanding.js +3 -5
  481. package/dist/src/connectors/content-enrichment.js +1 -2
  482. package/dist/src/connectors/learning-coordinator.js +2 -3
  483. package/dist/src/connectors/runtime-adapter-registry.js +1 -2
  484. package/dist/src/daemon/constants.js +9 -14
  485. package/dist/src/daemon/index.js +1 -4
  486. package/dist/src/daemon/install-plan.js +1 -2
  487. package/dist/src/daemon/launchd.js +1 -2
  488. package/dist/src/daemon/schtasks.js +1 -2
  489. package/dist/src/daemon/service-audit.js +1 -2
  490. package/dist/src/daemon/service.js +1 -2
  491. package/dist/src/daemon/systemd.js +1 -2
  492. package/dist/src/discussions/analyzer.d.ts +3 -3
  493. package/dist/src/endpoint-tools/runtime.js +1 -2
  494. package/dist/src/execution-environments/local-worktree-manager.js +1 -1
  495. package/dist/src/execution-environments/subject.js +1 -2
  496. package/dist/src/extensions/agent-plugins/branding.js +2 -1
  497. package/dist/src/extensions/agent-plugins/cli-authorization.js +2 -1
  498. package/dist/src/extensions/agent-plugins/contained-path.d.ts +1 -0
  499. package/dist/src/extensions/agent-plugins/contained-path.js +29 -0
  500. package/dist/src/extensions/agent-plugins/mcp-adapter.js +2 -1
  501. package/dist/src/extensions/agent-plugins/resources.js +1 -1
  502. package/dist/src/extensions/agent-plugins/skill-catalog.js +3 -2
  503. package/dist/src/extensions/agent-plugins/source-catalog.js +1 -1
  504. package/dist/src/extensions/agent-plugins/store.js +2 -1
  505. package/dist/src/extensions/agent-plugins/validation.d.ts +1 -2
  506. package/dist/src/extensions/agent-plugins/validation.js +3 -26
  507. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  508. package/dist/src/gateway/agents-admin.js +2 -2
  509. package/dist/src/gateway/client-ip.js +1 -2
  510. package/dist/src/gateway/file-space-service.js +1 -2
  511. package/dist/src/gateway/global-defaults-admin.js +1 -1
  512. package/dist/src/gateway/hono/app.js +2 -4
  513. package/dist/src/gateway/hono/middleware/auth.js +3 -6
  514. package/dist/src/gateway/hono/middleware/logger.js +1 -2
  515. package/dist/src/gateway/hono/middleware/public-device-rate-limit.js +1 -2
  516. package/dist/src/gateway/hono/middleware/scopes.js +1 -2
  517. package/dist/src/gateway/hono/middleware/strict-rate-limit.js +1 -2
  518. package/dist/src/gateway/hono/oauth-async.js +1 -2
  519. package/dist/src/gateway/hono/routes/agents.js +1 -1
  520. package/dist/src/gateway/hono/routes/browser-session.js +1 -2
  521. package/dist/src/gateway/hono/routes/browser-setup.d.ts +3 -0
  522. package/dist/src/gateway/hono/routes/browser-setup.js +114 -0
  523. package/dist/src/gateway/hono/routes/browser.d.ts +2 -1
  524. package/dist/src/gateway/hono/routes/browser.js +4 -7
  525. package/dist/src/gateway/hono/routes/cli-connectors.js +1 -2
  526. package/dist/src/gateway/hono/routes/composer-history.js +1 -2
  527. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
  528. package/dist/src/gateway/hono/routes/config.js +1 -2
  529. package/dist/src/gateway/hono/routes/connectors.js +9 -11
  530. package/dist/src/gateway/hono/routes/context-sources.js +1 -2
  531. package/dist/src/gateway/hono/routes/device-pairing-approval.js +2 -4
  532. package/dist/src/gateway/hono/routes/device-push.js +1 -2
  533. package/dist/src/gateway/hono/routes/devices.js +4 -8
  534. package/dist/src/gateway/hono/routes/discussions.js +1 -2
  535. package/dist/src/gateway/hono/routes/endpoint-tools.js +1 -2
  536. package/dist/src/gateway/hono/routes/home.js +2 -3
  537. package/dist/src/gateway/hono/routes/interaction-state.js +1 -2
  538. package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
  539. package/dist/src/gateway/hono/routes/memory-learning.js +1 -2
  540. package/dist/src/gateway/hono/routes/notes.js +2 -2
  541. package/dist/src/gateway/hono/routes/personal-agent.js +1 -2
  542. package/dist/src/gateway/hono/routes/phone-dependencies.js +2 -7
  543. package/dist/src/gateway/hono/routes/phone-setup.d.ts +7 -0
  544. package/dist/src/gateway/hono/routes/phone-setup.js +231 -0
  545. package/dist/src/gateway/hono/routes/phone-wireless.d.ts +4 -0
  546. package/dist/src/gateway/hono/routes/phone-wireless.js +63 -0
  547. package/dist/src/gateway/hono/routes/phone.js +119 -28
  548. package/dist/src/gateway/hono/routes/projects.js +3 -4
  549. package/dist/src/gateway/hono/routes/public-gateway.js +4 -3
  550. package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
  551. package/dist/src/gateway/hono/routes/sessions.js +2 -4
  552. package/dist/src/gateway/hono/routes/shares.js +2 -4
  553. package/dist/src/gateway/hono/routes/tasks.js +2 -3
  554. package/dist/src/gateway/hono/routes/user-model-refresh.js +1 -2
  555. package/dist/src/gateway/hono/routes/user-model.js +1 -2
  556. package/dist/src/gateway/host.js +4 -9
  557. package/dist/src/gateway/image-generation-setup.js +1 -1
  558. package/dist/src/gateway/index.js +2 -6
  559. package/dist/src/gateway/listen.js +1 -2
  560. package/dist/src/gateway/next-turn-suggestions/service.js +1 -2
  561. package/dist/src/gateway/next-turn-suggestions/snapshot.js +1 -2
  562. package/dist/src/gateway/provider-model-setup.js +1 -1
  563. package/dist/src/gateway/rate-limit/auth-policy.js +11 -7
  564. package/dist/src/gateway/rate-limit/buckets.js +220 -211
  565. package/dist/src/gateway/rate-limit/env-flags.js +1 -4
  566. package/dist/src/gateway/rate-limit/index.js +4 -13
  567. package/dist/src/gateway/runtime-config.js +2 -4
  568. package/dist/src/gateway/security/audit.js +1 -2
  569. package/dist/src/gateway/security/browser-session.js +1 -2
  570. package/dist/src/gateway/security/device-request-proof.d.ts +1 -2
  571. package/dist/src/gateway/security/device-request-proof.js +2 -4
  572. package/dist/src/gateway/security/gateway-scopes.js +2 -6
  573. package/dist/src/gateway/security/index.js +1 -4
  574. package/dist/src/gateway/security/loopback.js +6 -7
  575. package/dist/src/gateway/service/agent-runner.js +2 -4
  576. package/dist/src/gateway/service/app-context-access.js +1 -2
  577. package/dist/src/gateway/service/config-coordinator.d.ts +4 -0
  578. package/dist/src/gateway/service/run-gateway-agent.js +2 -4
  579. package/dist/src/gateway/service/session-input-coordinator.js +3 -6
  580. package/dist/src/gateway/service.d.ts +5 -0
  581. package/dist/src/gateway/service.js +64 -22
  582. package/dist/src/gateway/session-context-summary.js +2 -4
  583. package/dist/src/gateway/tailscale-auth.js +1 -2
  584. package/dist/src/gateway/ws-security.js +1 -2
  585. package/dist/src/gateway/xopc-cloud-capability-setup.js +8 -2
  586. package/dist/src/home-intelligence/host.js +2 -2
  587. package/dist/src/imports/importService.js +1 -1
  588. package/dist/src/infra/rate-limit/failure-limiter.js +90 -78
  589. package/dist/src/infra/rate-limit/index.js +3 -11
  590. package/dist/src/infra/rate-limit/keyed-store.js +47 -52
  591. package/dist/src/infra/rate-limit/rate-limiter.js +58 -55
  592. package/dist/src/infra/update-restart.js +1 -1
  593. package/dist/src/infra/update-service-refresh.js +1 -2
  594. package/dist/src/knowledge/chunks.js +1 -4
  595. package/dist/src/knowledge/connected-knowledge-pipeline.js +3 -6
  596. package/dist/src/knowledge/ingestion-service.js +1 -2
  597. package/dist/src/knowledge-memory/repository.js +1 -2
  598. package/dist/src/local-apps/service.js +1 -1
  599. package/dist/src/local-apps/store.js +1 -2
  600. package/dist/src/media/session-references.js +1 -2
  601. package/dist/src/memory-learning/forget-capture.js +1 -2
  602. package/dist/src/memory-learning/forgotten-history.js +3 -6
  603. package/dist/src/memory-learning/service.js +1 -2
  604. package/dist/src/memory-learning/source-learning.js +3 -3
  605. package/dist/src/memory-learning/task-receipts.js +1 -2
  606. package/dist/src/memory-learning/work-candidate.d.ts +29 -0
  607. package/dist/src/memory-learning/work-candidate.js +31 -0
  608. package/dist/src/memory-learning/work-capture.d.ts +2 -29
  609. package/dist/src/memory-learning/work-capture.js +2 -30
  610. package/dist/src/memory-maintenance/service.js +1 -2
  611. package/dist/src/notes/agent-context.js +1 -2
  612. package/dist/src/notes/attachment-ref.js +4 -8
  613. package/dist/src/notes/note-attachment-sync.js +1 -2
  614. package/dist/src/notes/note-index-meta.js +7 -14
  615. package/dist/src/notes/note-markdown.js +7 -13
  616. package/dist/src/notes/service.js +3 -6
  617. package/dist/src/notes/store.js +2 -4
  618. package/dist/src/notifications/clarification.js +1 -2
  619. package/dist/src/notifications/service.js +1 -2
  620. package/dist/src/personal-agent/proactivity/repository.js +1 -2
  621. package/dist/src/personal-agent/proactivity/service.js +1 -2
  622. package/dist/src/personal-agent/prompt-context.js +1 -2
  623. package/dist/src/personal-agent/reply-composer.js +4 -5
  624. package/dist/src/personal-agent/repository.js +1 -2
  625. package/dist/src/personal-agent/request-delivery.js +1 -2
  626. package/dist/src/personal-agent/result-extraction.js +71 -71
  627. package/dist/src/personal-agent/service.js +2 -3
  628. package/dist/src/phone/adb-command.d.ts +1 -0
  629. package/dist/src/phone/adb-command.js +12 -0
  630. package/dist/src/phone/adb-driver.d.ts +6 -2
  631. package/dist/src/phone/adb-driver.js +45 -21
  632. package/dist/src/phone/cloud-adb-connection.d.ts +34 -0
  633. package/dist/src/phone/cloud-adb-connection.js +324 -0
  634. package/dist/src/phone/cloud-adb-writable.d.ts +3 -0
  635. package/dist/src/phone/cloud-adb-writable.js +21 -0
  636. package/dist/src/phone/cloud-adb.d.ts +3 -32
  637. package/dist/src/phone/cloud-adb.js +3 -259
  638. package/dist/src/phone/cloud-key-permissions.d.ts +2 -0
  639. package/dist/src/phone/cloud-key-permissions.js +66 -0
  640. package/dist/src/phone/cloud-phones.js +2 -1
  641. package/dist/src/phone/cloud-scrcpy.d.ts +1 -1
  642. package/dist/src/phone/cloud-scrcpy.js +3 -2
  643. package/dist/src/phone/contracts.d.ts +197 -1
  644. package/dist/src/phone/contracts.js +55 -6
  645. package/dist/src/phone/foreground.d.ts +1 -0
  646. package/dist/src/phone/foreground.js +18 -0
  647. package/dist/src/phone/live-state.d.ts +2 -0
  648. package/dist/src/phone/live-state.js +5 -0
  649. package/dist/src/phone/model-adapter.d.ts +65 -4
  650. package/dist/src/phone/model-adapter.js +157 -48
  651. package/dist/src/phone/numeric-entry.d.ts +31 -0
  652. package/dist/src/phone/numeric-entry.js +126 -0
  653. package/dist/src/phone/planning.d.ts +27 -0
  654. package/dist/src/phone/planning.js +79 -0
  655. package/dist/src/phone/recovery.d.ts +37 -0
  656. package/dist/src/phone/recovery.js +81 -0
  657. package/dist/src/phone/reliability.d.ts +2 -2
  658. package/dist/src/phone/reliability.js +19 -6
  659. package/dist/src/phone/repository.d.ts +4 -1
  660. package/dist/src/phone/repository.js +12 -1
  661. package/dist/src/phone/runtime.d.ts +79 -3
  662. package/dist/src/phone/runtime.js +861 -93
  663. package/dist/src/phone/scrcpy.js +3 -2
  664. package/dist/src/phone/semantic-controls.d.ts +13 -0
  665. package/dist/src/phone/semantic-controls.js +76 -0
  666. package/dist/src/phone/setup/service.d.ts +101 -0
  667. package/dist/src/phone/setup/service.js +296 -0
  668. package/dist/src/phone/task-feedback.d.ts +4 -0
  669. package/dist/src/phone/task-feedback.js +47 -0
  670. package/dist/src/phone/ui-dump-binary.d.ts +1 -0
  671. package/dist/src/phone/ui-dump-binary.js +4 -0
  672. package/dist/src/phone/wireless.d.ts +80 -0
  673. package/dist/src/phone/wireless.js +244 -0
  674. package/dist/src/projects/capabilities/write.js +1 -2
  675. package/dist/src/projects/project-service.js +1 -2
  676. package/dist/src/projects/workspace.js +1 -2
  677. package/dist/src/providers/presentation.js +2 -2
  678. package/dist/src/providers/xopc-cloud-model-source.js +6 -2
  679. package/dist/src/realtime/runtime.d.ts +3 -0
  680. package/dist/src/realtime/runtime.js +16 -3
  681. package/dist/src/remote-access/exposure-guards.js +1 -2
  682. package/dist/src/runtime-tools/archive.js +1 -1
  683. package/dist/src/runtime-tools/catalog.d.ts +1 -1
  684. package/dist/src/runtime-tools/catalog.js +2 -2
  685. package/dist/src/session/config-store.js +1 -2
  686. package/dist/src/session/init-session-turn.js +1 -2
  687. package/dist/src/session/resolve-session.js +1 -2
  688. package/dist/src/session/store.js +2 -4
  689. package/dist/src/share/share-rate-limit.js +1 -2
  690. package/dist/src/share/share-url.js +1 -2
  691. package/dist/src/share/site-share-router.js +1 -2
  692. package/dist/src/storage/sqlite/activity-repository.js +2 -6
  693. package/dist/src/storage/sqlite/browser-tab-binding-repository.js +2 -6
  694. package/dist/src/storage/sqlite/clarification-wait-repository.js +9 -14
  695. package/dist/src/storage/sqlite/collaboration-rule-repository.js +3 -8
  696. package/dist/src/storage/sqlite/composer-input-history-repository.js +3 -8
  697. package/dist/src/storage/sqlite/config-repository.js +5 -9
  698. package/dist/src/storage/sqlite/connector-learning-repository.js +2 -6
  699. package/dist/src/storage/sqlite/connector-sync-policy-repository.js +2 -6
  700. package/dist/src/storage/sqlite/context-evidence-repository.js +3 -8
  701. package/dist/src/storage/sqlite/context-extraction-repository.js +3 -8
  702. package/dist/src/storage/sqlite/device-access-repository.js +16 -23
  703. package/dist/src/storage/sqlite/device-pairing-approval.js +2 -6
  704. package/dist/src/storage/sqlite/device-pairing-repository.js +5 -10
  705. package/dist/src/storage/sqlite/endpoint-principal-repository.js +2 -6
  706. package/dist/src/storage/sqlite/endpoint-session-binding-repository.js +2 -6
  707. package/dist/src/storage/sqlite/endpoint-tool-invocation-repository.js +2 -6
  708. package/dist/src/storage/sqlite/gateway-identity-repository.js +2 -6
  709. package/dist/src/storage/sqlite/home-attention-repository.js +2 -6
  710. package/dist/src/storage/sqlite/index.js +40 -72
  711. package/dist/src/storage/sqlite/interaction-state-repository.js +4 -10
  712. package/dist/src/storage/sqlite/knowledge-repository.js +3 -8
  713. package/dist/src/storage/sqlite/note-agent-context-repository.js +2 -6
  714. package/dist/src/storage/sqlite/notes-repository.js +4 -9
  715. package/dist/src/storage/sqlite/research-checkpoint-repository.js +3 -8
  716. package/dist/src/storage/sqlite/schema.d.ts +2 -2
  717. package/dist/src/storage/sqlite/schema.js +7 -7
  718. package/dist/src/storage/sqlite/schema.sql +10 -0
  719. package/dist/src/storage/sqlite/session-creation-repository.js +2 -4
  720. package/dist/src/storage/sqlite/session-task-plan-repository.js +9 -14
  721. package/dist/src/storage/sqlite/session-turn-replace-repository.js +5 -9
  722. package/dist/src/storage/sqlite/sidebar-layout-repository.js +9 -14
  723. package/dist/src/storage/sqlite/transcript-repository.js +6 -10
  724. package/dist/src/storage/sqlite/upgrades/260_browser_setup.sql +9 -0
  725. package/dist/src/storage/sqlite/user-people-repository.js +3 -8
  726. package/dist/src/storage/sqlite/user-trust-repository.js +4 -9
  727. package/dist/src/tasks/capabilities/read.js +2 -2
  728. package/dist/src/tasks/capabilities/write.js +1 -1
  729. package/dist/src/tasks/execution-context.js +1 -2
  730. package/dist/src/tasks/home-query-service.js +1 -2
  731. package/dist/src/tasks/task-allocation-repository.js +1 -2
  732. package/dist/src/tasks/task-context-assembler.js +1 -2
  733. package/dist/src/tasks/task-handoff.js +2 -4
  734. package/dist/src/tasks/task-instruction-sequence.d.ts +1 -0
  735. package/dist/src/tasks/task-instruction-sequence.js +7 -0
  736. package/dist/src/tasks/task-language.js +1 -2
  737. package/dist/src/tasks/task-research-result.d.ts +1 -2
  738. package/dist/src/tasks/task-research-result.js +1 -3
  739. package/dist/src/tasks/task-result-delivery-repository.js +1 -1
  740. package/dist/src/tasks/task-result-delivery-service.js +3 -3
  741. package/dist/src/tasks/task-run-coordinator.js +3 -3
  742. package/dist/src/tasks/task-run-dispatcher.js +1 -2
  743. package/dist/src/tasks/task-value-metrics-service.js +1 -2
  744. package/dist/src/tui/backends/embedded-backend.js +2 -3
  745. package/dist/src/tui/tui-commands.js +1 -2
  746. package/dist/src/tunnel/registration-proof.js +1 -2
  747. package/dist/src/tunnel/tunnel-rate-limit.js +1 -2
  748. package/dist/src/user-context/access-policy.js +1 -2
  749. package/dist/src/user-context/domain.js +13 -18
  750. package/dist/src/user-context/extraction/registry.js +1 -2
  751. package/dist/src/user-context/interaction-state.js +1 -4
  752. package/dist/src/user-context/relationship-continuity.js +1 -2
  753. package/dist/src/user-context/sources/consent-repository.js +1 -2
  754. package/dist/src/user-context/sources/index.js +1 -1
  755. package/dist/src/user-context/trust-policy.js +8 -13
  756. package/dist/src/user-model/action-rule-suggestions.js +1 -2
  757. package/dist/src/user-model/bootstrap.js +1 -2
  758. package/dist/src/user-model/capture/executor.js +2 -4
  759. package/dist/src/user-model/capture/semantic.d.ts +1 -1
  760. package/dist/src/user-model/capture/semantic.js +1 -1
  761. package/dist/src/user-model/domain.js +30 -35
  762. package/dist/src/user-model/goals.js +1 -2
  763. package/dist/src/user-model/index.js +1 -4
  764. package/dist/src/user-model/observation-repository.js +1 -2
  765. package/dist/src/user-model/repository.js +1 -2
  766. package/dist/src/user-model/usage-policy.js +1 -2
  767. package/dist/src/voice/realtime/memory-context.js +1 -2
  768. package/dist/src/voice/realtime/persona-context.js +1 -1
  769. package/dist/src/work-discovery/service.js +4 -6
  770. package/package.json +8 -8
  771. package/skills/tools/configure-xopc/SKILL.md +54 -0
  772. package/skills/tools/configure-xopc/references/browser/acceptance.md +32 -0
  773. package/skills/tools/configure-xopc/references/browser/chrome-extension.md +23 -0
  774. package/skills/tools/configure-xopc/references/browser/overview.md +19 -0
  775. package/skills/tools/configure-xopc/references/browser/permissions.md +23 -0
  776. package/skills/tools/configure-xopc/references/browser/troubleshooting.md +24 -0
  777. package/skills/tools/configure-xopc/references/phone/acceptance.md +27 -0
  778. package/skills/tools/configure-xopc/references/phone/aliyun.md +29 -0
  779. package/skills/tools/configure-xopc/references/phone/dependencies.md +18 -0
  780. package/skills/tools/configure-xopc/references/phone/local.md +19 -0
  781. package/skills/tools/configure-xopc/references/phone/models.md +21 -0
  782. package/skills/tools/configure-xopc/references/phone/overview.md +25 -0
  783. package/skills/tools/configure-xopc/references/phone/troubleshooting.md +27 -0
  784. package/skills/tools/configure-xopc/references/scene-index.md +12 -0
  785. package/dist/gateway/static/root/assets/agent-avatar-dicebear-CJFwitU2.js +0 -1
  786. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-DclyJr1N.js +0 -1
  787. package/dist/gateway/static/root/assets/agents-jhErNtzi.js +0 -77
  788. package/dist/gateway/static/root/assets/app-management-settings-panel-DgwqNi5i.js +0 -1
  789. package/dist/gateway/static/root/assets/appearance-settings-C0wJfFyz.js +0 -1
  790. package/dist/gateway/static/root/assets/apps-page-C0LcnI4h.js +0 -1
  791. package/dist/gateway/static/root/assets/automation-display-BFN7zWBg.js +0 -2
  792. package/dist/gateway/static/root/assets/automations-workspace-CBxiV34x.js +0 -8
  793. package/dist/gateway/static/root/assets/browser-automations-page-vJIrTxdi.js +0 -3
  794. package/dist/gateway/static/root/assets/browser-settings-page-in5Roh_E.js +0 -3
  795. package/dist/gateway/static/root/assets/capabilities-BlxF36t-.js +0 -1
  796. package/dist/gateway/static/root/assets/capabilities-page-CiGx8wpQ.js +0 -2
  797. package/dist/gateway/static/root/assets/capabilities-settings-panel-a8kqjzQu.js +0 -8
  798. package/dist/gateway/static/root/assets/capability-header-actions-D4Yq35fD.js +0 -1
  799. package/dist/gateway/static/root/assets/channels-C_CxcjKT.js +0 -1
  800. package/dist/gateway/static/root/assets/chat-terminal-dock-zdMySdMm.js +0 -36
  801. package/dist/gateway/static/root/assets/chunk-KS7C4IRE-BvcCCgTW.js +0 -4
  802. package/dist/gateway/static/root/assets/cloud-credits-BMYMiiNn.js +0 -1
  803. package/dist/gateway/static/root/assets/computer-settings-page-C5Z6Jr0p.js +0 -1
  804. package/dist/gateway/static/root/assets/connector-service-page-Cxus0qrZ.js +0 -1
  805. package/dist/gateway/static/root/assets/connectors-page-DCBO2CxK.js +0 -1
  806. package/dist/gateway/static/root/assets/constants-DeXt1mV-.js +0 -1
  807. package/dist/gateway/static/root/assets/date-picker-DuyyD6jz.js +0 -1
  808. package/dist/gateway/static/root/assets/dependency-picker-BZN72rrk.js +0 -1
  809. package/dist/gateway/static/root/assets/desktop-pet-BtvTIDCi.js +0 -1
  810. package/dist/gateway/static/root/assets/desktop-pet-settings-BcyP7Z6v.js +0 -1
  811. package/dist/gateway/static/root/assets/device-pairing-wizard-Ctbgr50F.js +0 -1
  812. package/dist/gateway/static/root/assets/directory-picker-path-field-DOusKz-O.js +0 -1
  813. package/dist/gateway/static/root/assets/dist-C3DSFZCi.js +0 -1
  814. package/dist/gateway/static/root/assets/dist-CI_fqRk-.js +0 -1
  815. package/dist/gateway/static/root/assets/docx-preview-CajIk2FR.js +0 -20
  816. package/dist/gateway/static/root/assets/echarts-runtime-tcHc9TOS.js +0 -18
  817. package/dist/gateway/static/root/assets/electron-env-Dit0bHgy.js +0 -1
  818. package/dist/gateway/static/root/assets/extension-debug-page-Bt4FwsFu.js +0 -1
  819. package/dist/gateway/static/root/assets/extension-page-0vsxX3FB.js +0 -1
  820. package/dist/gateway/static/root/assets/extension-settings-page-5Pt5_ELc.js +0 -1
  821. package/dist/gateway/static/root/assets/files-Bw4SBGdM.js +0 -1
  822. package/dist/gateway/static/root/assets/floating-ui.dom-B7uQOZZW.js +0 -1
  823. package/dist/gateway/static/root/assets/gateway-realtime-DkWCHVzI.js +0 -1
  824. package/dist/gateway/static/root/assets/gateway-realtime-store-Bx9KCID-.js +0 -1
  825. package/dist/gateway/static/root/assets/gateway-settings-BsVOcmV5.js +0 -1
  826. package/dist/gateway/static/root/assets/highlight-code-C8eS9949.js +0 -1
  827. package/dist/gateway/static/root/assets/highlighted-body-KQOG7T2V-Cbk7eMlg.js +0 -1
  828. package/dist/gateway/static/root/assets/home-page-BZDZnmyc.js +0 -2
  829. package/dist/gateway/static/root/assets/image-generation-api-CAS8QVla.js +0 -1
  830. package/dist/gateway/static/root/assets/imports-page-BCLBYzV1.js +0 -1
  831. package/dist/gateway/static/root/assets/index-Bys6njTY.js +0 -710
  832. package/dist/gateway/static/root/assets/index-Vsf0bj5e.css +0 -1
  833. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-CM_kt5XN.js +0 -1
  834. package/dist/gateway/static/root/assets/languages-byq_L2Ae.js +0 -2
  835. package/dist/gateway/static/root/assets/local-app-workbench-page-Dk87jtcc.js +0 -1
  836. package/dist/gateway/static/root/assets/local-apps-page-BTSOChhk.js +0 -1
  837. package/dist/gateway/static/root/assets/local-apps-yys1VChX.js +0 -1
  838. package/dist/gateway/static/root/assets/local-session-drafts-iGX_6O0O.js +0 -1
  839. package/dist/gateway/static/root/assets/logs-page-D3gVdm8S.js +0 -2
  840. package/dist/gateway/static/root/assets/management-settings-BQNYFE4J.js +0 -1
  841. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-ChweJKTv.js +0 -1
  842. package/dist/gateway/static/root/assets/note-detail-panel-CYKwUCte.js +0 -5
  843. package/dist/gateway/static/root/assets/note-image-lightbox-BTSZb9ZT.js +0 -1
  844. package/dist/gateway/static/root/assets/notes-page-CJ5nhWfL.js +0 -8
  845. package/dist/gateway/static/root/assets/number-input-DDeqHK-G.js +0 -1
  846. package/dist/gateway/static/root/assets/page-context-capture-button-DVn_dU83.js +0 -1
  847. package/dist/gateway/static/root/assets/pdf-runtime-DU_sMPjG.js +0 -2
  848. package/dist/gateway/static/root/assets/personal-page-DcW14lqn.js +0 -1
  849. package/dist/gateway/static/root/assets/personal-proactivity-BJcZ3Yhi.js +0 -1
  850. package/dist/gateway/static/root/assets/personal-settings-panel-C16Iqe7X.js +0 -1
  851. package/dist/gateway/static/root/assets/phone-dependencies-card-D3l9uPFM.js +0 -1
  852. package/dist/gateway/static/root/assets/phone-model-picker-DOv38vBn.js +0 -1
  853. package/dist/gateway/static/root/assets/phone-settings-page-DUHp1q_9.js +0 -1
  854. package/dist/gateway/static/root/assets/plugin-details-dialog-BpfgDlVa.js +0 -1
  855. package/dist/gateway/static/root/assets/popover-select-DGKUpVsz.js +0 -1
  856. package/dist/gateway/static/root/assets/preload-helper-zJ_50EbN.js +0 -1
  857. package/dist/gateway/static/root/assets/preview-open-alternatives-RlHk76TI.js +0 -1
  858. package/dist/gateway/static/root/assets/product-delivery-BqNm-8S5.js +0 -1
  859. package/dist/gateway/static/root/assets/product-open-page-Dh-HqLrE.js +0 -1
  860. package/dist/gateway/static/root/assets/product-preview-content-c3K-4DWc.js +0 -1
  861. package/dist/gateway/static/root/assets/project-detail-page-GD8TxKad.js +0 -7
  862. package/dist/gateway/static/root/assets/projects-page-B8HAt9sD.js +0 -1
  863. package/dist/gateway/static/root/assets/remote-access-hub-D3el7lHK.js +0 -1
  864. package/dist/gateway/static/root/assets/runtime-tools-settings-panel-Dbskk6RG.js +0 -1
  865. package/dist/gateway/static/root/assets/schema-form-CXO1B1k4.js +0 -1
  866. package/dist/gateway/static/root/assets/schemas-CObaziC7.js +0 -64
  867. package/dist/gateway/static/root/assets/session-manager-CA1NkTR_.js +0 -16
  868. package/dist/gateway/static/root/assets/sessions-page-07liaSHH.js +0 -1
  869. package/dist/gateway/static/root/assets/settings-advanced-gate-BGjU8rfN.js +0 -1
  870. package/dist/gateway/static/root/assets/settings-form-section-BQxKmbbJ.js +0 -1
  871. package/dist/gateway/static/root/assets/settings-page-DvVMpKiA.js +0 -1
  872. package/dist/gateway/static/root/assets/settings-page-header-CYpuTXUW.js +0 -1
  873. package/dist/gateway/static/root/assets/settings-page-layout-B20AfmFG.js +0 -1
  874. package/dist/gateway/static/root/assets/setup-status-panel-DKo_VTx-.js +0 -1
  875. package/dist/gateway/static/root/assets/share-preview-page-XgZk8Oa1.js +0 -2
  876. package/dist/gateway/static/root/assets/shares-settings-BODFqK8k.js +0 -1
  877. package/dist/gateway/static/root/assets/skill-api-CV-WT2hj.js +0 -1
  878. package/dist/gateway/static/root/assets/skill-reload-api-Ce6OUk2C.js +0 -1
  879. package/dist/gateway/static/root/assets/skills-page-B7ehOIML.js +0 -2
  880. package/dist/gateway/static/root/assets/specialists-4bkS5rZ4.js +0 -1
  881. package/dist/gateway/static/root/assets/system-settings-panel-CxJkZRT4.js +0 -1
  882. package/dist/gateway/static/root/assets/task-detail-page-CxRR0QuW.js +0 -2
  883. package/dist/gateway/static/root/assets/task-result-evidence-D-gGKNX9.js +0 -1
  884. package/dist/gateway/static/root/assets/tasks-TVRjEggr.js +0 -1
  885. package/dist/gateway/static/root/assets/tracing-settings-page-CQw3G-FB.js +0 -1
  886. package/dist/gateway/static/root/assets/tunnel-api-B2HnCi0U.js +0 -1
  887. package/dist/gateway/static/root/assets/usage-page-uUEkO38r.js +0 -1
  888. package/dist/gateway/static/root/assets/use-autosave-Dc0nwUpX.js +0 -1
  889. package/dist/gateway/static/root/assets/user-model-page-ICUutbKL.js +0 -2
  890. package/dist/gateway/static/root/assets/voice-api-key-field-BSWXZkGa.js +0 -1
  891. package/dist/gateway/static/root/assets/work-discovery-overlay-H3cdwq3l.js +0 -1
  892. package/dist/gateway/static/root/assets/xopc-cloud-account-card-CvT_W6YS.js +0 -1
@@ -1,4 +1,4 @@
1
- import { G as strictObject, t as number, d as boolean, H as string, c as array, _ as _enum, r as literal, u as object, m as discriminatedUnion, e as browserPageContextsInputSchema, z as record$1, J as unknown, I as t, p as gatewayFetch, M as MAX_BROWSER_CONTEXTS_PER_TURN, o as extensionLocale, v as openDatabase, a as RealtimeClient, R as REALTIME_PROTOCOL_VERSION, b as activeTabId, k as currentTabDescriptor, T as TAB_BINDING_PREFIX, q as getAccessProfile, y as readProfile, C as runWithTabSiteAccess, P as PENDING_CONTEXT_KEY, i as captureTabWithPermission, w as pairGateway, F as setAutoConnectEnabled, x as readPendingBrowserPairing, l as discoverLocalGateway, D as saveExtensionLocalePreference, B as revokeAndForgetProfile, f as cancelPendingBrowserPairing, s as loadExtensionLocalePreference } from './assets/page-context-MuzjMBlJ.js';
1
+ import { H as strictObject, u as number, d as boolean, I as string, c as array, _ as _enum, s as literal, v as object, n as discriminatedUnion, e as browserPageContextsInputSchema, A as record$1, K as unknown, J as t, q as gatewayFetch, M as MAX_BROWSER_CONTEXTS_PER_TURN, p as extensionLocale, w as openDatabase, a as RealtimeClient, R as REALTIME_PROTOCOL_VERSION, b as activeTabId, l as currentTabDescriptor, T as TAB_BINDING_PREFIX, r as getAccessProfile, z as readProfile, D as runWithTabSiteAccess, P as PENDING_CONTEXT_KEY, i as captureTabWithPermission, x as pairGateway, G as setAutoConnectEnabled, y as readPendingBrowserPairing, m as discoverLocalGateway, F as saveExtensionLocalePreference, C as revokeAndForgetProfile, f as cancelPendingBrowserPairing, t as loadExtensionLocalePreference } from './assets/page-context-BKnEwsOO.js';
2
2
 
3
3
  const AppContextResourceSchema = strictObject({
4
4
  kind: _enum(["note", "task", "project", "local_app"]),
@@ -37892,7 +37892,6 @@ function arrayReplaceAt (src, pos, newElements) {
37892
37892
  }
37893
37893
 
37894
37894
  function isValidEntityCode (c) {
37895
- /* eslint no-bitwise:0 */
37896
37895
  // broken sequence
37897
37896
  if (c >= 0xD800 && c <= 0xDFFF) { return false }
37898
37897
  // never used
@@ -37920,8 +37919,8 @@ function fromCodePoint (c) {
37920
37919
  return String.fromCharCode(c)
37921
37920
  }
37922
37921
 
37923
- const UNESCAPE_MD_RE = /\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g;
37924
- const ENTITY_RE = /&([a-z#][a-z0-9]{1,31});/gi;
37922
+ const UNESCAPE_MD_RE = /\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g;
37923
+ const ENTITY_RE = /&([a-z#][a-z0-9]{1,31});/gi;
37925
37924
  const UNESCAPE_ALL_RE = new RegExp(UNESCAPE_MD_RE.source + '|' + ENTITY_RE.source, 'gi');
37926
37925
 
37927
37926
  const DIGITAL_ENTITY_TEST_RE = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;
@@ -37947,12 +37946,6 @@ function replaceEntityPattern (match, name) {
37947
37946
  return match
37948
37947
  }
37949
37948
 
37950
- /* function replaceEntities(str) {
37951
- if (str.indexOf('&') < 0) { return str; }
37952
-
37953
- return str.replace(ENTITY_RE, replaceEntityPattern);
37954
- } */
37955
-
37956
37949
  function unescapeMd (str) {
37957
37950
  if (str.indexOf('\\') < 0) { return str }
37958
37951
  return str.replace(UNESCAPE_MD_RE, '$1')
@@ -38022,8 +38015,6 @@ function isWhiteSpace (code) {
38022
38015
  return false
38023
38016
  }
38024
38017
 
38025
- /* eslint-disable max-len */
38026
-
38027
38018
  // Currently without astral characters support.
38028
38019
  function isPunctChar (ch) {
38029
38020
  return P.test(ch) || regex.test(ch)
@@ -38283,7 +38274,7 @@ function parseLinkDestination (str, start, max) {
38283
38274
  if (code < 0x20 || code === 0x7F) { break }
38284
38275
 
38285
38276
  if (code === 0x5C /* \ */ && pos + 1 < max) {
38286
- if (str.charCodeAt(pos + 1) === 0x20) { break }
38277
+ if (str.charCodeAt(pos + 1) === 0x20) { pos++; continue }
38287
38278
  pos += 2;
38288
38279
  continue
38289
38280
  }
@@ -38399,7 +38390,7 @@ const default_rules = {};
38399
38390
  default_rules.code_inline = function (tokens, idx, options, env, slf) {
38400
38391
  const token = tokens[idx];
38401
38392
 
38402
- return '<code' + slf.renderAttrs(token) + '>' +
38393
+ return '<code' + slf.renderAttrs(token) + '>' +
38403
38394
  escapeHtml(token.content) +
38404
38395
  '</code>'
38405
38396
  };
@@ -38407,7 +38398,7 @@ default_rules.code_inline = function (tokens, idx, options, env, slf) {
38407
38398
  default_rules.code_block = function (tokens, idx, options, env, slf) {
38408
38399
  const token = tokens[idx];
38409
38400
 
38410
- return '<pre' + slf.renderAttrs(token) + '><code>' +
38401
+ return '<pre' + slf.renderAttrs(token) + '><code>' +
38411
38402
  escapeHtml(tokens[idx].content) +
38412
38403
  '</code></pre>\n'
38413
38404
  };
@@ -39060,28 +39051,28 @@ function Token (type, tag, nesting) {
39060
39051
  *
39061
39052
  * Type of the token (string, e.g. "paragraph_open")
39062
39053
  **/
39063
- this.type = type;
39054
+ this.type = type;
39064
39055
 
39065
39056
  /**
39066
39057
  * Token#tag -> String
39067
39058
  *
39068
39059
  * html tag name, e.g. "p"
39069
39060
  **/
39070
- this.tag = tag;
39061
+ this.tag = tag;
39071
39062
 
39072
39063
  /**
39073
39064
  * Token#attrs -> Array
39074
39065
  *
39075
39066
  * Html attributes. Format: `[ [ name1, value1 ], [ name2, value2 ] ]`
39076
39067
  **/
39077
- this.attrs = null;
39068
+ this.attrs = null;
39078
39069
 
39079
39070
  /**
39080
39071
  * Token#map -> Array
39081
39072
  *
39082
39073
  * Source map info. Format: `[ line_begin, line_end ]`
39083
39074
  **/
39084
- this.map = null;
39075
+ this.map = null;
39085
39076
 
39086
39077
  /**
39087
39078
  * Token#nesting -> Number
@@ -39092,14 +39083,14 @@ function Token (type, tag, nesting) {
39092
39083
  * - `0` means the tag is self-closing
39093
39084
  * - `-1` means the tag is closing
39094
39085
  **/
39095
- this.nesting = nesting;
39086
+ this.nesting = nesting;
39096
39087
 
39097
39088
  /**
39098
39089
  * Token#level -> Number
39099
39090
  *
39100
39091
  * nesting level, the same as `state.level`
39101
39092
  **/
39102
- this.level = 0;
39093
+ this.level = 0;
39103
39094
 
39104
39095
  /**
39105
39096
  * Token#children -> Array
@@ -39114,14 +39105,14 @@ function Token (type, tag, nesting) {
39114
39105
  * In a case of self-closing tag (code, html, fence, etc.),
39115
39106
  * it has contents of this tag.
39116
39107
  **/
39117
- this.content = '';
39108
+ this.content = '';
39118
39109
 
39119
39110
  /**
39120
39111
  * Token#markup -> String
39121
39112
  *
39122
39113
  * '*' or '_' for emphasis, fence string for fence, etc.
39123
39114
  **/
39124
- this.markup = '';
39115
+ this.markup = '';
39125
39116
 
39126
39117
  /**
39127
39118
  * Token#info -> String
@@ -39132,14 +39123,14 @@ function Token (type, tag, nesting) {
39132
39123
  * - The value "auto" for autolink "link_open" and "link_close" tokens
39133
39124
  * - The string value of the item marker for ordered-list "list_item_open" tokens
39134
39125
  **/
39135
- this.info = '';
39126
+ this.info = '';
39136
39127
 
39137
39128
  /**
39138
39129
  * Token#meta -> Object
39139
39130
  *
39140
39131
  * A place for plugins to store an arbitrary data
39141
39132
  **/
39142
- this.meta = null;
39133
+ this.meta = null;
39143
39134
 
39144
39135
  /**
39145
39136
  * Token#block -> Boolean
@@ -39147,7 +39138,7 @@ function Token (type, tag, nesting) {
39147
39138
  * True for block-level tokens, false for inline tokens.
39148
39139
  * Used in renderer to calculate line breaks
39149
39140
  **/
39150
- this.block = false;
39141
+ this.block = false;
39151
39142
 
39152
39143
  /**
39153
39144
  * Token#hidden -> Boolean
@@ -39155,7 +39146,7 @@ function Token (type, tag, nesting) {
39155
39146
  * If it's true, ignore this element when rendering. Used for tight lists
39156
39147
  * to hide paragraphs.
39157
39148
  **/
39158
- this.hidden = false;
39149
+ this.hidden = false;
39159
39150
  }
39160
39151
 
39161
39152
  /**
@@ -39251,8 +39242,8 @@ StateCore.prototype.Token = Token;
39251
39242
  // Normalize input string
39252
39243
 
39253
39244
  // https://spec.commonmark.org/0.29/#line-ending
39254
- const NEWLINES_RE = /\r\n?|\n/g;
39255
- const NULL_RE = /\0/g;
39245
+ const NEWLINES_RE = /\r\n?|\n/g;
39246
+ const NULL_RE = /\0/g;
39256
39247
 
39257
39248
  function normalize (state) {
39258
39249
  let str;
@@ -39270,9 +39261,9 @@ function block (state) {
39270
39261
  let token;
39271
39262
 
39272
39263
  if (state.inlineMode) {
39273
- token = new state.Token('inline', '', 0);
39274
- token.content = state.src;
39275
- token.map = [0, 1];
39264
+ token = new state.Token('inline', '', 0);
39265
+ token.content = state.src;
39266
+ token.map = [0, 1];
39276
39267
  token.children = [];
39277
39268
  state.tokens.push(token);
39278
39269
  } else {
@@ -39297,7 +39288,6 @@ function inline (state) {
39297
39288
  // Currently restricted by `md.validateLink()` to http/https/ftp
39298
39289
  //
39299
39290
 
39300
-
39301
39291
  function isLinkOpen$1 (str) {
39302
39292
  return /^<a[>\s]/i.test(str)
39303
39293
  }
@@ -39316,7 +39306,8 @@ function linkify$1 (state) {
39316
39306
  continue
39317
39307
  }
39318
39308
 
39319
- let tokens = blockTokens[j].children;
39309
+ const tokens = blockTokens[j].children;
39310
+ const replacements = [];
39320
39311
 
39321
39312
  let htmlLinkLevel = 0;
39322
39313
 
@@ -39386,43 +39377,70 @@ function linkify$1 (state) {
39386
39377
  const pos = links[ln].index;
39387
39378
 
39388
39379
  if (pos > lastPos) {
39389
- const token = new state.Token('text', '', 0);
39380
+ const token = new state.Token('text', '', 0);
39390
39381
  token.content = text.slice(lastPos, pos);
39391
- token.level = level;
39382
+ token.level = level;
39392
39383
  nodes.push(token);
39393
39384
  }
39394
39385
 
39395
- const token_o = new state.Token('link_open', 'a', 1);
39396
- token_o.attrs = [['href', fullUrl]];
39397
- token_o.level = level++;
39398
- token_o.markup = 'linkify';
39399
- token_o.info = 'auto';
39386
+ const token_o = new state.Token('link_open', 'a', 1);
39387
+ token_o.attrs = [['href', fullUrl]];
39388
+ token_o.level = level++;
39389
+ token_o.markup = 'linkify';
39390
+ token_o.info = 'auto';
39400
39391
  nodes.push(token_o);
39401
39392
 
39402
- const token_t = new state.Token('text', '', 0);
39393
+ const token_t = new state.Token('text', '', 0);
39403
39394
  token_t.content = urlText;
39404
- token_t.level = level;
39395
+ token_t.level = level;
39405
39396
  nodes.push(token_t);
39406
39397
 
39407
- const token_c = new state.Token('link_close', 'a', -1);
39408
- token_c.level = --level;
39409
- token_c.markup = 'linkify';
39410
- token_c.info = 'auto';
39398
+ const token_c = new state.Token('link_close', 'a', -1);
39399
+ token_c.level = --level;
39400
+ token_c.markup = 'linkify';
39401
+ token_c.info = 'auto';
39411
39402
  nodes.push(token_c);
39412
39403
 
39413
39404
  lastPos = links[ln].lastIndex;
39414
39405
  }
39415
39406
  if (lastPos < text.length) {
39416
- const token = new state.Token('text', '', 0);
39407
+ const token = new state.Token('text', '', 0);
39417
39408
  token.content = text.slice(lastPos);
39418
- token.level = level;
39409
+ token.level = level;
39419
39410
  nodes.push(token);
39420
39411
  }
39421
39412
 
39422
- // replace current node
39423
- blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, nodes);
39413
+ replacements.push({ index: i, nodes });
39424
39414
  }
39425
39415
  }
39416
+
39417
+ if (replacements.length > 0) {
39418
+ let newTokensLength = tokens.length;
39419
+ for (const replacement of replacements) {
39420
+ newTokensLength += replacement.nodes.length - 1;
39421
+ }
39422
+
39423
+ const newTokens = new Array(newTokensLength);
39424
+ let replacementIndex = 0;
39425
+ let newTokenIndex = 0;
39426
+
39427
+ replacements.reverse();
39428
+
39429
+ for (let i = 0; i < tokens.length; i++) {
39430
+ const replacement = replacements[replacementIndex];
39431
+
39432
+ if (replacement?.index === i) {
39433
+ for (const node of replacement.nodes) {
39434
+ newTokens[newTokenIndex++] = node;
39435
+ }
39436
+ replacementIndex++;
39437
+ } else {
39438
+ newTokens[newTokenIndex++] = tokens[i];
39439
+ }
39440
+ }
39441
+
39442
+ blockTokens[j].children = newTokens;
39443
+ }
39426
39444
  }
39427
39445
  }
39428
39446
 
@@ -39535,6 +39553,19 @@ function replace (state) {
39535
39553
  const QUOTE_TEST_RE = /['"]/;
39536
39554
  const QUOTE_RE = /['"]/g;
39537
39555
  const APOSTROPHE = '\u2019'; /* ’ */
39556
+ // Caps memory on malicious input
39557
+ const MAX_OPENERS = 1000;
39558
+
39559
+ function truncateStack (stack, heads, length) {
39560
+ while (stack.length > length) {
39561
+ const item = stack.pop();
39562
+ if (item.isSingleQuote) {
39563
+ heads.single = item.prevSameQuoteIdx;
39564
+ } else {
39565
+ heads.double = item.prevSameQuoteIdx;
39566
+ }
39567
+ }
39568
+ }
39538
39569
 
39539
39570
  function addReplacement (replacements, tokenIdx, pos, ch) {
39540
39571
  if (!replacements[tokenIdx]) {
@@ -39564,6 +39595,8 @@ function process_inlines (tokens, state) {
39564
39595
  let j;
39565
39596
 
39566
39597
  const stack = [];
39598
+ // stack indexes of topmost openers of each type (-1 if none)
39599
+ const heads = { single: -1, double: -1 };
39567
39600
  // token index -> list of replacements in the original token content
39568
39601
  const replacements = {};
39569
39602
 
@@ -39575,7 +39608,7 @@ function process_inlines (tokens, state) {
39575
39608
  for (j = stack.length - 1; j >= 0; j--) {
39576
39609
  if (stack[j].level <= thisLevel) { break }
39577
39610
  }
39578
- stack.length = j + 1;
39611
+ truncateStack(stack, heads, j + 1);
39579
39612
 
39580
39613
  if (token.type !== 'text') { continue }
39581
39614
 
@@ -39679,39 +39712,45 @@ function process_inlines (tokens, state) {
39679
39712
  }
39680
39713
 
39681
39714
  if (canClose) {
39682
- // this could be a closing quote, rewind the stack to get a match
39683
- for (j = stack.length - 1; j >= 0; j--) {
39684
- let item = stack[j];
39685
- if (stack[j].level < thisLevel) { break }
39686
- if (item.single === isSingle && stack[j].level === thisLevel) {
39687
- item = stack[j];
39688
-
39689
- let openQuote;
39690
- let closeQuote;
39691
- if (isSingle) {
39692
- openQuote = state.md.options.quotes[2];
39693
- closeQuote = state.md.options.quotes[3];
39694
- } else {
39695
- openQuote = state.md.options.quotes[0];
39696
- closeQuote = state.md.options.quotes[1];
39697
- }
39715
+ // Stack levels never decrease, so an opener of this type below
39716
+ // the current level means there is no match
39717
+ j = isSingle ? heads.single : heads.double;
39718
+ if (j >= 0 && stack[j].level === thisLevel) {
39719
+ const item = stack[j];
39720
+
39721
+ let openQuote;
39722
+ let closeQuote;
39723
+ if (isSingle) {
39724
+ openQuote = state.md.options.quotes[2];
39725
+ closeQuote = state.md.options.quotes[3];
39726
+ } else {
39727
+ openQuote = state.md.options.quotes[0];
39728
+ closeQuote = state.md.options.quotes[1];
39729
+ }
39698
39730
 
39699
- addReplacement(replacements, i, t.index, closeQuote);
39700
- addReplacement(replacements, item.token, item.pos, openQuote);
39731
+ addReplacement(replacements, i, t.index, closeQuote);
39732
+ addReplacement(replacements, item.tokenIdx, item.contentPos, openQuote);
39701
39733
 
39702
- stack.length = j;
39703
- continue OUTER
39704
- }
39734
+ truncateStack(stack, heads, j);
39735
+ continue OUTER
39705
39736
  }
39706
39737
  }
39707
39738
 
39708
39739
  if (canOpen) {
39740
+ if (stack.length >= MAX_OPENERS) { return }
39709
39741
  stack.push({
39710
- token: i,
39711
- pos: t.index,
39712
- single: isSingle,
39713
- level: thisLevel
39742
+ tokenIdx: i,
39743
+ contentPos: t.index,
39744
+ isSingleQuote: isSingle,
39745
+ level: thisLevel,
39746
+ // stack index of the previous opener of the same quote type, -1 if none
39747
+ prevSameQuoteIdx: isSingle ? heads.single : heads.double
39714
39748
  });
39749
+ if (isSingle) {
39750
+ heads.single = stack.length - 1;
39751
+ } else {
39752
+ heads.double = stack.length - 1;
39753
+ }
39715
39754
  } else if (canClose && isSingle) {
39716
39755
  addReplacement(replacements, i, t.index, APOSTROPHE);
39717
39756
  }
@@ -39790,15 +39829,15 @@ function text_join (state) {
39790
39829
 
39791
39830
 
39792
39831
  const _rules$2 = [
39793
- ['normalize', normalize],
39794
- ['block', block],
39795
- ['inline', inline],
39796
- ['linkify', linkify$1],
39797
- ['replacements', replace],
39798
- ['smartquotes', smartquotes],
39832
+ ['normalize', normalize],
39833
+ ['block', block],
39834
+ ['inline', inline],
39835
+ ['linkify', linkify$1],
39836
+ ['replacements', replace],
39837
+ ['smartquotes', smartquotes],
39799
39838
  // `text_join` finds `text_special` tokens (for escape sequences)
39800
39839
  // and joins them with the rest of the text
39801
- ['text_join', text_join]
39840
+ ['text_join', text_join]
39802
39841
  ];
39803
39842
 
39804
39843
  /**
@@ -39839,7 +39878,7 @@ function StateBlock (src, md, env, tokens) {
39839
39878
  this.src = src;
39840
39879
 
39841
39880
  // link to parser instance
39842
- this.md = md;
39881
+ this.md = md;
39843
39882
 
39844
39883
  this.env = env;
39845
39884
 
@@ -39870,11 +39909,11 @@ function StateBlock (src, md, env, tokens) {
39870
39909
 
39871
39910
  // required block content indent (for example, if we are
39872
39911
  // inside a list, it would be positioned after list marker)
39873
- this.blkIndent = 0;
39874
- this.line = 0; // line index in src
39875
- this.lineMax = 0; // lines count
39876
- this.tight = false; // loose/tight mode for lists
39877
- this.ddIndent = -1; // indent of the current dd block (-1 if there isn't any)
39912
+ this.blkIndent = 0;
39913
+ this.line = 0; // line index in src
39914
+ this.lineMax = 0; // lines count
39915
+ this.tight = false; // loose/tight mode for lists
39916
+ this.ddIndent = -1; // indent of the current dd block (-1 if there isn't any)
39878
39917
  this.listIndent = -1; // indent of the current list block (-1 if there isn't any)
39879
39918
 
39880
39919
  // can be 'blockquote', 'list', 'root', 'paragraph' or 'reference'
@@ -40201,11 +40240,11 @@ function table (state, startLine, endLine, silent) {
40201
40240
  for (let i = 0; i < columns.length; i++) {
40202
40241
  const token_ho = state.push('th_open', 'th', 1);
40203
40242
  if (aligns[i]) {
40204
- token_ho.attrs = [['style', 'text-align:' + aligns[i]]];
40243
+ token_ho.attrs = [['style', 'text-align:' + aligns[i]]];
40205
40244
  }
40206
40245
 
40207
40246
  const token_il = state.push('inline', '', 0);
40208
- token_il.content = columns[i].trim();
40247
+ token_il.content = columns[i].trim();
40209
40248
  token_il.children = [];
40210
40249
 
40211
40250
  state.push('th_close', 'th', -1);
@@ -40252,11 +40291,11 @@ function table (state, startLine, endLine, silent) {
40252
40291
  for (let i = 0; i < columnCount; i++) {
40253
40292
  const token_tdo = state.push('td_open', 'td', 1);
40254
40293
  if (aligns[i]) {
40255
- token_tdo.attrs = [['style', 'text-align:' + aligns[i]]];
40294
+ token_tdo.attrs = [['style', 'text-align:' + aligns[i]]];
40256
40295
  }
40257
40296
 
40258
40297
  const token_il = state.push('inline', '', 0);
40259
- token_il.content = columns[i] ? columns[i].trim() : '';
40298
+ token_il.content = columns[i] ? columns[i].trim() : '';
40260
40299
  token_il.children = [];
40261
40300
 
40262
40301
  state.push('td_close', 'td', -1);
@@ -40301,9 +40340,9 @@ function code (state, startLine, endLine/*, silent */) {
40301
40340
 
40302
40341
  state.line = last;
40303
40342
 
40304
- const token = state.push('code_block', 'code', 0);
40343
+ const token = state.push('code_block', 'code', 0);
40305
40344
  token.content = state.getLines(startLine, last, 4 + state.blkIndent, false) + '\n';
40306
- token.map = [startLine, state.line];
40345
+ token.map = [startLine, state.line];
40307
40346
 
40308
40347
  return true
40309
40348
  }
@@ -40394,11 +40433,11 @@ function fence (state, startLine, endLine, silent) {
40394
40433
 
40395
40434
  state.line = nextLine + (haveEndMarker ? 1 : 0);
40396
40435
 
40397
- const token = state.push('fence', 'code', 0);
40398
- token.info = params;
40436
+ const token = state.push('fence', 'code', 0);
40437
+ token.info = params;
40399
40438
  token.content = state.getLines(startLine + 1, nextLine, len, true);
40400
- token.markup = markup;
40401
- token.map = [startLine, state.line];
40439
+ token.markup = markup;
40440
+ token.map = [startLine, state.line];
40402
40441
 
40403
40442
  return true
40404
40443
  }
@@ -40422,10 +40461,10 @@ function blockquote (state, startLine, endLine, silent) {
40422
40461
  // so no point trying to find the end of it in silent mode
40423
40462
  if (silent) { return true }
40424
40463
 
40425
- const oldBMarks = [];
40464
+ const oldBMarks = [];
40426
40465
  const oldBSCount = [];
40427
- const oldSCount = [];
40428
- const oldTShift = [];
40466
+ const oldSCount = [];
40467
+ const oldTShift = [];
40429
40468
 
40430
40469
  const terminatorRules = state.md.block.ruler.getRules('blockquote');
40431
40470
 
@@ -40585,14 +40624,14 @@ function blockquote (state, startLine, endLine, silent) {
40585
40624
  const oldIndent = state.blkIndent;
40586
40625
  state.blkIndent = 0;
40587
40626
 
40588
- const token_o = state.push('blockquote_open', 'blockquote', 1);
40627
+ const token_o = state.push('blockquote_open', 'blockquote', 1);
40589
40628
  token_o.markup = '>';
40590
40629
  const lines = [startLine, 0];
40591
- token_o.map = lines;
40630
+ token_o.map = lines;
40592
40631
 
40593
40632
  state.md.block.tokenize(state, startLine, nextLine);
40594
40633
 
40595
- const token_c = state.push('blockquote_close', 'blockquote', -1);
40634
+ const token_c = state.push('blockquote_close', 'blockquote', -1);
40596
40635
  token_c.markup = '>';
40597
40636
 
40598
40637
  state.lineMax = oldLineMax;
@@ -40645,8 +40684,8 @@ function hr (state, startLine, endLine, silent) {
40645
40684
 
40646
40685
  state.line = startLine + 1;
40647
40686
 
40648
- const token = state.push('hr', 'hr', 0);
40649
- token.map = [startLine, state.line];
40687
+ const token = state.push('hr', 'hr', 0);
40688
+ token.map = [startLine, state.line];
40650
40689
  token.markup = Array(cnt + 1).join(String.fromCharCode(marker));
40651
40690
 
40652
40691
  return true
@@ -40809,16 +40848,16 @@ function list (state, startLine, endLine, silent) {
40809
40848
  const listTokIdx = state.tokens.length;
40810
40849
 
40811
40850
  if (isOrdered) {
40812
- token = state.push('ordered_list_open', 'ol', 1);
40851
+ token = state.push('ordered_list_open', 'ol', 1);
40813
40852
  if (markerValue !== 1) {
40814
40853
  token.attrs = [['start', markerValue]];
40815
40854
  }
40816
40855
  } else {
40817
- token = state.push('bullet_list_open', 'ul', 1);
40856
+ token = state.push('bullet_list_open', 'ul', 1);
40818
40857
  }
40819
40858
 
40820
40859
  const listLines = [nextLine, 0];
40821
- token.map = listLines;
40860
+ token.map = listLines;
40822
40861
  token.markup = String.fromCharCode(markerCharCode);
40823
40862
 
40824
40863
  //
@@ -40871,10 +40910,10 @@ function list (state, startLine, endLine, silent) {
40871
40910
  const indent = initial + indentAfterMarker;
40872
40911
 
40873
40912
  // Run subparser & write tokens
40874
- token = state.push('list_item_open', 'li', 1);
40913
+ token = state.push('list_item_open', 'li', 1);
40875
40914
  token.markup = String.fromCharCode(markerCharCode);
40876
40915
  const itemLines = [nextLine, 0];
40877
- token.map = itemLines;
40916
+ token.map = itemLines;
40878
40917
  if (isOrdered) {
40879
40918
  token.info = state.src.slice(start, posAfterMarker - 1);
40880
40919
  }
@@ -40923,7 +40962,7 @@ function list (state, startLine, endLine, silent) {
40923
40962
  state.sCount[nextLine] = oldSCount;
40924
40963
  state.tight = oldTight;
40925
40964
 
40926
- token = state.push('list_item_close', 'li', -1);
40965
+ token = state.push('list_item_close', 'li', -1);
40927
40966
  token.markup = String.fromCharCode(markerCharCode);
40928
40967
 
40929
40968
  nextLine = state.line;
@@ -40983,114 +41022,141 @@ function list (state, startLine, endLine, silent) {
40983
41022
  return true
40984
41023
  }
40985
41024
 
40986
- function reference (state, startLine, _endLine, silent) {
40987
- let pos = state.bMarks[startLine] + state.tShift[startLine];
40988
- let max = state.eMarks[startLine];
40989
- let nextLine = startLine + 1;
41025
+ // CommonMark limits reference labels to 999 Unicode code points.
41026
+ const MAX_LABEL_LENGTH = 999;
40990
41027
 
40991
- // if it's indented more than 3 spaces, it should be a code block
40992
- if (state.sCount[startLine] - state.blkIndent >= 4) { return false }
41028
+ function countCodePoints (str) {
41029
+ let length = str.length;
40993
41030
 
40994
- if (state.src.charCodeAt(pos) !== 0x5B/* [ */) { return false }
41031
+ for (let i = 0; i < str.length - 1; i++) {
41032
+ const high = str.charCodeAt(i);
41033
+ if (high < 0xD800 || high > 0xDBFF) { continue }
40995
41034
 
40996
- function getNextLine (nextLine) {
40997
- const endLine = state.lineMax;
40998
-
40999
- if (nextLine >= endLine || state.isEmpty(nextLine)) {
41000
- // empty line or end of input
41001
- return null
41035
+ const low = str.charCodeAt(i + 1);
41036
+ if (low >= 0xDC00 && low <= 0xDFFF) {
41037
+ length--;
41038
+ i++;
41002
41039
  }
41040
+ }
41003
41041
 
41004
- let isContinuation = false;
41042
+ return length
41043
+ }
41005
41044
 
41006
- // this would be a code block normally, but after paragraph
41007
- // it's considered a lazy continuation regardless of what's there
41008
- if (state.sCount[nextLine] - state.blkIndent > 3) { isContinuation = true; }
41045
+ // Exclusive end offset of the line, after its newline if present
41046
+ function lineEnd (state, line) {
41047
+ return Math.min(state.eMarks[line] + 1, state.src.length)
41048
+ }
41009
41049
 
41010
- // quirk for blockquotes, this line should already be checked by that rule
41011
- if (state.sCount[nextLine] < 0) { isContinuation = true; }
41012
-
41013
- if (!isContinuation) {
41014
- const terminatorRules = state.md.block.ruler.getRules('reference');
41015
- const oldParentType = state.parentType;
41016
- state.parentType = 'reference';
41017
-
41018
- // Some tags can terminate paragraph without empty line.
41019
- let terminate = false;
41020
- for (let i = 0, l = terminatorRules.length; i < l; i++) {
41021
- if (terminatorRules[i](state, nextLine, endLine, true)) {
41022
- terminate = true;
41023
- break
41024
- }
41025
- }
41050
+ // Returns -1 if the reference can't continue on this line
41051
+ function getNextLinePos (state, nextLine) {
41052
+ const endLine = state.lineMax;
41053
+
41054
+ if (nextLine >= endLine || state.isEmpty(nextLine)) {
41055
+ // empty line or end of input
41056
+ return -1
41057
+ }
41026
41058
 
41027
- state.parentType = oldParentType;
41028
- if (terminate) {
41029
- // terminated by another block
41030
- return null
41059
+ let isContinuation = false;
41060
+
41061
+ // this would be a code block normally, but after paragraph
41062
+ // it's considered a lazy continuation regardless of what's there
41063
+ if (state.sCount[nextLine] - state.blkIndent > 3) { isContinuation = true; }
41064
+
41065
+ // quirk for blockquotes, this line should already be checked by that rule
41066
+ if (state.sCount[nextLine] < 0) { isContinuation = true; }
41067
+
41068
+ if (!isContinuation) {
41069
+ const terminatorRules = state.md.block.ruler.getRules('reference');
41070
+ const oldParentType = state.parentType;
41071
+ state.parentType = 'reference';
41072
+
41073
+ // Some tags can terminate paragraph without empty line.
41074
+ let terminate = false;
41075
+ for (let i = 0, l = terminatorRules.length; i < l; i++) {
41076
+ if (terminatorRules[i](state, nextLine, endLine, true)) {
41077
+ terminate = true;
41078
+ break
41031
41079
  }
41032
41080
  }
41033
41081
 
41034
- const pos = state.bMarks[nextLine] + state.tShift[nextLine];
41035
- const max = state.eMarks[nextLine];
41036
-
41037
- // max + 1 explicitly includes the newline
41038
- return state.src.slice(pos, max + 1)
41082
+ state.parentType = oldParentType;
41083
+ if (terminate) {
41084
+ // terminated by another block
41085
+ return -1
41086
+ }
41039
41087
  }
41040
41088
 
41041
- let str = state.src.slice(pos, max + 1);
41089
+ return state.bMarks[nextLine] + state.tShift[nextLine]
41090
+ }
41091
+
41092
+ function reference (state, startLine, _endLine, silent) {
41093
+ const src = state.src;
41094
+ let pos = state.bMarks[startLine] + state.tShift[startLine];
41095
+ let nextLine = startLine + 1;
41042
41096
 
41043
- max = str.length;
41097
+ // if it's indented more than 3 spaces, it should be a code block
41098
+ if (state.sCount[startLine] - state.blkIndent >= 4) { return false }
41099
+
41100
+ if (src.charCodeAt(pos) !== 0x5B/* [ */) { return false }
41101
+
41102
+ // Scan the source directly: indexing a string after each appended line
41103
+ // can make V8 copy the accumulated prefix on every continuation.
41104
+ let max = lineEnd(state, startLine);
41105
+
41106
+ let rawLabel = '';
41044
41107
  let labelEnd = -1;
41108
+ let segmentStart = ++pos;
41045
41109
 
41046
- for (pos = 1; pos < max; pos++) {
41047
- const ch = str.charCodeAt(pos);
41048
- if (ch === 0x5B /* [ */) {
41049
- return false
41050
- } else if (ch === 0x5D /* ] */) {
41110
+ while (pos < max) {
41111
+ if (rawLabel.length + pos - segmentStart > MAX_LABEL_LENGTH * 2) { return false }
41112
+
41113
+ let ch = src.charCodeAt(pos);
41114
+ if (ch === 0x5B /* [ */) { return false }
41115
+ if (ch === 0x5D /* ] */) {
41051
41116
  labelEnd = pos;
41052
41117
  break
41053
- } else if (ch === 0x0A /* \n */) {
41054
- const lineContent = getNextLine(nextLine);
41055
- if (lineContent !== null) {
41056
- str += lineContent;
41057
- max = str.length;
41058
- nextLine++;
41059
- }
41060
- } else if (ch === 0x5C /* \ */) {
41061
- pos++;
41062
- if (pos < max && str.charCodeAt(pos) === 0x0A) {
41063
- const lineContent = getNextLine(nextLine);
41064
- if (lineContent !== null) {
41065
- str += lineContent;
41066
- max = str.length;
41067
- nextLine++;
41068
- }
41069
- }
41070
41118
  }
41119
+ if (ch === 0x5C /* \ */) { ch = src.charCodeAt(++pos); }
41120
+
41121
+ if (ch === 0x0A /* \n */ && pos < max) {
41122
+ const nextPos = getNextLinePos(state, nextLine);
41123
+ if (nextPos < 0) { return false }
41124
+ rawLabel += src.slice(segmentStart, max);
41125
+ pos = segmentStart = nextPos;
41126
+ max = lineEnd(state, nextLine++);
41127
+ continue
41128
+ }
41129
+ pos++;
41071
41130
  }
41072
41131
 
41073
- if (labelEnd < 0 || str.charCodeAt(labelEnd + 1) !== 0x3A/* : */) { return false }
41132
+ if (labelEnd < 0 || src.charCodeAt(labelEnd + 1) !== 0x3A/* : */) { return false }
41133
+
41134
+ rawLabel += src.slice(segmentStart, labelEnd);
41135
+
41136
+ if (rawLabel.length > MAX_LABEL_LENGTH && countCodePoints(rawLabel) > MAX_LABEL_LENGTH) {
41137
+ return false
41138
+ }
41074
41139
 
41075
41140
  // [label]: destination 'title'
41076
41141
  // ^^^ skip optional whitespace here
41077
- for (pos = labelEnd + 2; pos < max; pos++) {
41078
- const ch = str.charCodeAt(pos);
41142
+ pos = labelEnd + 2;
41143
+ while (pos < max) {
41144
+ const ch = src.charCodeAt(pos);
41079
41145
  if (ch === 0x0A) {
41080
- const lineContent = getNextLine(nextLine);
41081
- if (lineContent !== null) {
41082
- str += lineContent;
41083
- max = str.length;
41084
- nextLine++;
41085
- }
41086
- } else if (isSpace(ch)) ; else {
41146
+ const nextPos = getNextLinePos(state, nextLine);
41147
+ if (nextPos < 0) { break }
41148
+ pos = nextPos;
41149
+ max = lineEnd(state, nextLine++);
41150
+ } else if (isSpace(ch)) {
41151
+ pos++;
41152
+ } else {
41087
41153
  break
41088
41154
  }
41089
41155
  }
41090
41156
 
41091
41157
  // [label]: destination 'title'
41092
41158
  // ^^^^^^^^^^^ parse this
41093
- const destRes = state.md.helpers.parseLinkDestination(str, pos, max);
41159
+ const destRes = state.md.helpers.parseLinkDestination(src, pos, max);
41094
41160
  if (!destRes.ok) { return false }
41095
41161
 
41096
41162
  const href = state.md.normalizeLink(destRes.str);
@@ -41100,76 +41166,77 @@ function reference (state, startLine, _endLine, silent) {
41100
41166
 
41101
41167
  // save cursor state, we could require to rollback later
41102
41168
  const destEndPos = pos;
41169
+ const destEndMax = max;
41103
41170
  const destEndLineNo = nextLine;
41104
41171
 
41105
41172
  // [label]: destination 'title'
41106
41173
  // ^^^ skipping those spaces
41107
- const start = pos;
41108
- for (; pos < max; pos++) {
41109
- const ch = str.charCodeAt(pos);
41174
+ while (pos < max) {
41175
+ const ch = src.charCodeAt(pos);
41110
41176
  if (ch === 0x0A) {
41111
- const lineContent = getNextLine(nextLine);
41112
- if (lineContent !== null) {
41113
- str += lineContent;
41114
- max = str.length;
41115
- nextLine++;
41116
- }
41117
- } else if (isSpace(ch)) ; else {
41177
+ const nextPos = getNextLinePos(state, nextLine);
41178
+ if (nextPos < 0) { break }
41179
+ pos = nextPos;
41180
+ max = lineEnd(state, nextLine++);
41181
+ } else if (isSpace(ch)) {
41182
+ pos++;
41183
+ } else {
41118
41184
  break
41119
41185
  }
41120
41186
  }
41121
41187
 
41122
41188
  // [label]: destination 'title'
41123
41189
  // ^^^^^^^ parse this
41124
- let titleRes = state.md.helpers.parseLinkTitle(str, pos, max);
41190
+ const titleStart = pos;
41191
+ let titleRes = state.md.helpers.parseLinkTitle(src, pos, max);
41125
41192
  while (titleRes.can_continue) {
41126
- const lineContent = getNextLine(nextLine);
41127
- if (lineContent === null) break
41128
- str += lineContent;
41129
- pos = max;
41130
- max = str.length;
41131
- nextLine++;
41132
- titleRes = state.md.helpers.parseLinkTitle(str, pos, max, titleRes);
41193
+ const nextPos = getNextLinePos(state, nextLine);
41194
+ if (nextPos < 0) break
41195
+ pos = nextPos;
41196
+ max = lineEnd(state, nextLine++);
41197
+ titleRes = state.md.helpers.parseLinkTitle(src, pos, max, titleRes);
41133
41198
  }
41134
41199
  let title;
41135
41200
 
41136
- if (pos < max && start !== pos && titleRes.ok) {
41201
+ if (titleStart !== destEndPos && titleRes.ok) {
41137
41202
  title = titleRes.str;
41138
41203
  pos = titleRes.pos;
41139
41204
  } else {
41140
41205
  title = '';
41141
41206
  pos = destEndPos;
41207
+ max = destEndMax;
41142
41208
  nextLine = destEndLineNo;
41143
41209
  }
41144
41210
 
41145
41211
  // skip trailing spaces until the rest of the line
41146
41212
  while (pos < max) {
41147
- const ch = str.charCodeAt(pos);
41213
+ const ch = src.charCodeAt(pos);
41148
41214
  if (!isSpace(ch)) { break }
41149
41215
  pos++;
41150
41216
  }
41151
41217
 
41152
- if (pos < max && str.charCodeAt(pos) !== 0x0A) {
41218
+ if (pos < max && src.charCodeAt(pos) !== 0x0A) {
41153
41219
  if (title) {
41154
41220
  // garbage at the end of the line after title,
41155
41221
  // but it could still be a valid reference if we roll back
41156
41222
  title = '';
41157
41223
  pos = destEndPos;
41224
+ max = destEndMax;
41158
41225
  nextLine = destEndLineNo;
41159
41226
  while (pos < max) {
41160
- const ch = str.charCodeAt(pos);
41227
+ const ch = src.charCodeAt(pos);
41161
41228
  if (!isSpace(ch)) { break }
41162
41229
  pos++;
41163
41230
  }
41164
41231
  }
41165
41232
  }
41166
41233
 
41167
- if (pos < max && str.charCodeAt(pos) !== 0x0A) {
41234
+ if (pos < max && src.charCodeAt(pos) !== 0x0A) {
41168
41235
  // garbage at the end of the line
41169
41236
  return false
41170
41237
  }
41171
41238
 
41172
- const label = normalizeReference(str.slice(1, labelEnd));
41239
+ const label = normalizeReference(rawLabel);
41173
41240
  if (!label) {
41174
41241
  // CommonMark 0.20 disallows empty labels
41175
41242
  return false
@@ -41260,26 +41327,19 @@ const block_names = [
41260
41327
 
41261
41328
  // Regexps to match html elements
41262
41329
 
41263
- const attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*';
41330
+ const attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*';
41264
41331
 
41265
- const unquoted = '[^"\'=<>`\\x00-\\x20]+';
41332
+ const unquoted = '[^"\'=<>`\\x00-\\x20]+';
41266
41333
  const single_quoted = "'[^']*'";
41267
41334
  const double_quoted = '"[^"]*"';
41268
41335
 
41269
- const attr_value = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')';
41270
-
41271
- const attribute = '(?:\\s+' + attr_name + '(?:\\s*=\\s*' + attr_value + ')?)';
41336
+ const attr_value = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')';
41272
41337
 
41273
- const open_tag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>';
41338
+ const attribute = '(?:\\s+' + attr_name + '(?:\\s*=\\s*' + attr_value + ')?)';
41274
41339
 
41275
- const close_tag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>';
41276
- const comment = '<!---?>|<!--(?:[^-]|-[^-]|--[^>])*-->';
41277
- const processing = '<[?][\\s\\S]*?[?]>';
41278
- const declaration = '<![A-Za-z][^>]*>';
41279
- const cdata = '<!\\[CDATA\\[[\\s\\S]*?\\]\\]>';
41340
+ const open_tag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>';
41280
41341
 
41281
- const HTML_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + '|' + comment +
41282
- '|' + processing + '|' + declaration + '|' + cdata + ')');
41342
+ const close_tag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>';
41283
41343
  const HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + ')');
41284
41344
 
41285
41345
  // HTML block
@@ -41290,12 +41350,12 @@ const HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag +
41290
41350
  //
41291
41351
  const HTML_SEQUENCES = [
41292
41352
  [/^<(script|pre|style|textarea)(?=(\s|>|$))/i, /<\/(script|pre|style|textarea)>/i, true],
41293
- [/^<!--/, /-->/, true],
41294
- [/^<\?/, /\?>/, true],
41295
- [/^<![A-Z]/, />/, true],
41353
+ [/^<!--/, /-->/, true],
41354
+ [/^<\?/, /\?>/, true],
41355
+ [/^<![A-Za-z]/, />/, true],
41296
41356
  [/^<!\[CDATA\[/, /\]\]>/, true],
41297
41357
  [new RegExp('^</?(' + block_names.join('|') + ')(?=(\\s|/?>|$))', 'i'), /^$/, true],
41298
- [new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + '\\s*$'), /^$/, false]
41358
+ [new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + '\\s*$'), /^$/, false]
41299
41359
  ];
41300
41360
 
41301
41361
  function html_block (state, startLine, endLine, silent) {
@@ -41354,8 +41414,8 @@ function html_block (state, startLine, endLine, silent) {
41354
41414
 
41355
41415
  state.line = nextLine;
41356
41416
 
41357
- const token = state.push('html_block', '', 0);
41358
- token.map = [startLine, nextLine];
41417
+ const token = state.push('html_block', '', 0);
41418
+ token.map = [startLine, nextLine];
41359
41419
  token.content = state.getLines(startLine, nextLine, state.blkIndent, true);
41360
41420
 
41361
41421
  return true
@@ -41371,7 +41431,7 @@ function heading (state, startLine, endLine, silent) {
41371
41431
  // if it's indented more than 3 spaces, it should be a code block
41372
41432
  if (state.sCount[startLine] - state.blkIndent >= 4) { return false }
41373
41433
 
41374
- let ch = state.src.charCodeAt(pos);
41434
+ let ch = state.src.charCodeAt(pos);
41375
41435
 
41376
41436
  if (ch !== 0x23/* # */ || pos >= max) { return false }
41377
41437
 
@@ -41397,16 +41457,16 @@ function heading (state, startLine, endLine, silent) {
41397
41457
 
41398
41458
  state.line = startLine + 1;
41399
41459
 
41400
- const token_o = state.push('heading_open', 'h' + String(level), 1);
41460
+ const token_o = state.push('heading_open', 'h' + String(level), 1);
41401
41461
  token_o.markup = '########'.slice(0, level);
41402
- token_o.map = [startLine, state.line];
41462
+ token_o.map = [startLine, state.line];
41403
41463
 
41404
- const token_i = state.push('inline', '', 0);
41405
- token_i.content = asciiTrim(state.src.slice(pos, max));
41406
- token_i.map = [startLine, state.line];
41464
+ const token_i = state.push('inline', '', 0);
41465
+ token_i.content = asciiTrim(state.src.slice(pos, max));
41466
+ token_i.map = [startLine, state.line];
41407
41467
  token_i.children = [];
41408
41468
 
41409
- const token_c = state.push('heading_close', 'h' + String(level), -1);
41469
+ const token_c = state.push('heading_close', 'h' + String(level), -1);
41410
41470
  token_c.markup = '########'.slice(0, level);
41411
41471
 
41412
41472
  return true
@@ -41480,17 +41540,17 @@ function lheading (state, startLine, endLine/*, silent */) {
41480
41540
 
41481
41541
  state.line = nextLine + 1;
41482
41542
 
41483
- const token_o = state.push('heading_open', 'h' + String(level), 1);
41484
- token_o.markup = String.fromCharCode(marker);
41485
- token_o.map = [startLine, state.line];
41543
+ const token_o = state.push('heading_open', 'h' + String(level), 1);
41544
+ token_o.markup = String.fromCharCode(marker);
41545
+ token_o.map = [startLine, state.line];
41486
41546
 
41487
- const token_i = state.push('inline', '', 0);
41488
- token_i.content = content;
41489
- token_i.map = [startLine, state.line - 1];
41547
+ const token_i = state.push('inline', '', 0);
41548
+ token_i.content = content;
41549
+ token_i.map = [startLine, state.line - 1];
41490
41550
  token_i.children = [];
41491
41551
 
41492
- const token_c = state.push('heading_close', 'h' + String(level), -1);
41493
- token_c.markup = String.fromCharCode(marker);
41552
+ const token_c = state.push('heading_close', 'h' + String(level), -1);
41553
+ token_c.markup = String.fromCharCode(marker);
41494
41554
 
41495
41555
  state.parentType = oldParentType;
41496
41556
 
@@ -41530,12 +41590,12 @@ function paragraph (state, startLine, endLine) {
41530
41590
 
41531
41591
  state.line = nextLine;
41532
41592
 
41533
- const token_o = state.push('paragraph_open', 'p', 1);
41534
- token_o.map = [startLine, state.line];
41593
+ const token_o = state.push('paragraph_open', 'p', 1);
41594
+ token_o.map = [startLine, state.line];
41535
41595
 
41536
- const token_i = state.push('inline', '', 0);
41537
- token_i.content = content;
41538
- token_i.map = [startLine, state.line];
41596
+ const token_i = state.push('inline', '', 0);
41597
+ token_i.content = content;
41598
+ token_i.map = [startLine, state.line];
41539
41599
  token_i.children = [];
41540
41600
 
41541
41601
  state.push('paragraph_close', 'p', -1);
@@ -41555,17 +41615,17 @@ function paragraph (state, startLine, endLine) {
41555
41615
  const _rules$1 = [
41556
41616
  // First 2 params - rule name & source. Secondary array - list of rules,
41557
41617
  // which can be terminated by this one.
41558
- ['table', table, ['paragraph', 'reference']],
41559
- ['code', code],
41560
- ['fence', fence, ['paragraph', 'reference', 'blockquote', 'list']],
41618
+ ['table', table, ['paragraph', 'reference']],
41619
+ ['code', code],
41620
+ ['fence', fence, ['paragraph', 'reference', 'blockquote', 'list']],
41561
41621
  ['blockquote', blockquote, ['paragraph', 'reference', 'blockquote', 'list']],
41562
- ['hr', hr, ['paragraph', 'reference', 'blockquote', 'list']],
41563
- ['list', list, ['paragraph', 'reference', 'blockquote']],
41564
- ['reference', reference],
41622
+ ['hr', hr, ['paragraph', 'reference', 'blockquote', 'list']],
41623
+ ['list', list, ['paragraph', 'reference', 'blockquote']],
41624
+ ['reference', reference],
41565
41625
  ['html_block', html_block, ['paragraph', 'reference', 'blockquote']],
41566
- ['heading', heading, ['paragraph', 'reference', 'blockquote']],
41567
- ['lheading', lheading],
41568
- ['paragraph', paragraph]
41626
+ ['heading', heading, ['paragraph', 'reference', 'blockquote']],
41627
+ ['lheading', lheading],
41628
+ ['paragraph', paragraph]
41569
41629
  ];
41570
41630
 
41571
41631
  /**
@@ -41694,6 +41754,10 @@ function StateInline (src, md, env, outTokens) {
41694
41754
  this.backticks = {};
41695
41755
  this.backticksScanned = false;
41696
41756
 
41757
+ // Set when html comment / PI / declaration / CDATA has no terminator,
41758
+ // to skip further scans of these constructs
41759
+ this.skipHtmlSpecial = false;
41760
+
41697
41761
  // Counter used to disable inline linkify-it execution
41698
41762
  // inside <a> and markdown links
41699
41763
  this.linkLevel = 0;
@@ -41806,8 +41870,8 @@ StateInline.prototype.scanDelims = function (start, canSplitWord) {
41806
41870
  const right_flanking =
41807
41871
  !isLastWhiteSpace && (!isLastPunctChar || isNextWhiteSpace || isNextPunctChar);
41808
41872
 
41809
- const can_open = left_flanking && (canSplitWord || !right_flanking || isLastPunctChar);
41810
- const can_close = right_flanking && (canSplitWord || !left_flanking || isNextPunctChar);
41873
+ const can_open = left_flanking && (canSplitWord || !right_flanking || isLastPunctChar);
41874
+ const can_close = right_flanking && (canSplitWord || !left_flanking || isNextPunctChar);
41811
41875
 
41812
41876
  return { can_open, can_close, length: count }
41813
41877
  };
@@ -41902,10 +41966,20 @@ module.exports = function text(state, silent) {
41902
41966
  return true;
41903
41967
  }; */
41904
41968
 
41905
- // Process links like https://example.org/
41969
+ // Early process links like https://example.org/ to have priority
41970
+ // over emphasis, etc.
41906
41971
 
41907
41972
  // RFC3986: scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
41908
- const SCHEME_RE = /(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;
41973
+ function isAsciiAlpha (code) {
41974
+ return (code >= 0x41 && code <= 0x5A) || (code >= 0x61 && code <= 0x7A)
41975
+ }
41976
+
41977
+ function isSchemeChar (code) {
41978
+ return (code >= 0x41 && code <= 0x5A) ||
41979
+ (code >= 0x61 && code <= 0x7A) ||
41980
+ (code >= 0x30 && code <= 0x39) ||
41981
+ code === 0x2B || code === 0x2D || code === 0x2E
41982
+ }
41909
41983
 
41910
41984
  function linkify (state, silent) {
41911
41985
  if (!state.md.options.linkify) return false
@@ -41919,19 +41993,27 @@ function linkify (state, silent) {
41919
41993
  if (state.src.charCodeAt(pos + 1) !== 0x2F/* / */) return false
41920
41994
  if (state.src.charCodeAt(pos + 2) !== 0x2F/* / */) return false
41921
41995
 
41922
- const match = state.pending.match(SCHEME_RE);
41923
- if (!match) return false
41996
+ // Search backwards for the scheme, but no more than 10 characters, the length
41997
+ // of the pending string, or the length of the source prefix.
41998
+ // Use state.src instead of state.pending because it is faster to access.
41999
+ const protoMin = pos - Math.min(10, state.pending.length, pos);
42000
+ let protoStart = pos;
42001
+ while (protoStart > protoMin && isSchemeChar(state.src.charCodeAt(protoStart - 1))) {
42002
+ protoStart--;
42003
+ }
41924
42004
 
41925
- const proto = match[1];
42005
+ if (protoStart === pos || !isAsciiAlpha(state.src.charCodeAt(protoStart))) return false
41926
42006
 
41927
- const link = state.md.linkify.matchAtStart(state.src.slice(pos - proto.length));
42007
+ const protoLength = pos - protoStart;
42008
+
42009
+ const link = state.md.linkify.matchAtStart(state.src.slice(protoStart));
41928
42010
  if (!link) return false
41929
42011
 
41930
42012
  let url = link.url;
41931
42013
 
41932
42014
  // invalid link, but still detected by linkify somehow;
41933
42015
  // need to check to prevent infinite loop below
41934
- if (url.length <= proto.length) return false
42016
+ if (url.length <= protoLength) return false
41935
42017
 
41936
42018
  // disallow '*' at the end of the link (conflicts with emphasis)
41937
42019
  // do manual backsearch to avoid perf issues with regex /\*+$/ on "****...****a".
@@ -41947,7 +42029,7 @@ function linkify (state, silent) {
41947
42029
  if (!state.md.validateLink(fullUrl)) return false
41948
42030
 
41949
42031
  if (!silent) {
41950
- state.pending = state.pending.slice(0, -proto.length);
42032
+ state.pending = state.pending.slice(0, -protoLength);
41951
42033
 
41952
42034
  const token_o = state.push('link_open', 'a', 1);
41953
42035
  token_o.attrs = [['href', fullUrl]];
@@ -41962,7 +42044,7 @@ function linkify (state, silent) {
41962
42044
  token_c.info = 'auto';
41963
42045
  }
41964
42046
 
41965
- state.pos += url.length - proto.length;
42047
+ state.pos += url.length - protoLength;
41966
42048
  return true
41967
42049
  }
41968
42050
 
@@ -42047,6 +42129,20 @@ function escape (state, silent) {
42047
42129
  return true
42048
42130
  }
42049
42131
 
42132
+ // '\' before a space is a literal backslash. Don't consume the space, so a
42133
+ // trailing two-space hard line break is still detected by the newline rule.
42134
+ if (ch1 === 0x20) {
42135
+ if (!silent) {
42136
+ const token = state.push('text_special', '', 0);
42137
+ token.content = '\\';
42138
+ token.markup = '\\';
42139
+ token.info = 'escape';
42140
+ }
42141
+
42142
+ state.pos = pos;
42143
+ return true
42144
+ }
42145
+
42050
42146
  let escapedStr = state.src[pos];
42051
42147
 
42052
42148
  if (ch1 >= 0xD800 && ch1 <= 0xDBFF && pos + 1 < max) {
@@ -42070,7 +42166,7 @@ function escape (state, silent) {
42070
42166
  }
42071
42167
 
42072
42168
  token.markup = origStr;
42073
- token.info = 'escape';
42169
+ token.info = 'escape';
42074
42170
  }
42075
42171
 
42076
42172
  state.pos = pos + 1;
@@ -42160,13 +42256,13 @@ function strikethrough_tokenize (state, silent) {
42160
42256
  let token;
42161
42257
 
42162
42258
  if (len % 2) {
42163
- token = state.push('text', '', 0);
42259
+ token = state.push('text', '', 0);
42164
42260
  token.content = ch;
42165
42261
  len--;
42166
42262
  }
42167
42263
 
42168
42264
  for (let i = 0; i < len; i += 2) {
42169
- token = state.push('text', '', 0);
42265
+ token = state.push('text', '', 0);
42170
42266
  token.content = ch + ch;
42171
42267
 
42172
42268
  state.delimiters.push({
@@ -42202,18 +42298,18 @@ function postProcess$1 (state, delimiters) {
42202
42298
 
42203
42299
  const endDelim = delimiters[startDelim.end];
42204
42300
 
42205
- token = state.tokens[startDelim.token];
42206
- token.type = 's_open';
42207
- token.tag = 's';
42301
+ token = state.tokens[startDelim.token];
42302
+ token.type = 's_open';
42303
+ token.tag = 's';
42208
42304
  token.nesting = 1;
42209
- token.markup = '~~';
42305
+ token.markup = '~~';
42210
42306
  token.content = '';
42211
42307
 
42212
- token = state.tokens[endDelim.token];
42213
- token.type = 's_close';
42214
- token.tag = 's';
42308
+ token = state.tokens[endDelim.token];
42309
+ token.type = 's_close';
42310
+ token.tag = 's';
42215
42311
  token.nesting = -1;
42216
- token.markup = '~~';
42312
+ token.markup = '~~';
42217
42313
  token.content = '';
42218
42314
 
42219
42315
  if (state.tokens[endDelim.token - 1].type === 'text' &&
@@ -42348,18 +42444,18 @@ function postProcess (state, delimiters) {
42348
42444
 
42349
42445
  const ch = String.fromCharCode(startDelim.marker);
42350
42446
 
42351
- const token_o = state.tokens[startDelim.token];
42352
- token_o.type = isStrong ? 'strong_open' : 'em_open';
42353
- token_o.tag = isStrong ? 'strong' : 'em';
42447
+ const token_o = state.tokens[startDelim.token];
42448
+ token_o.type = isStrong ? 'strong_open' : 'em_open';
42449
+ token_o.tag = isStrong ? 'strong' : 'em';
42354
42450
  token_o.nesting = 1;
42355
- token_o.markup = isStrong ? ch + ch : ch;
42451
+ token_o.markup = isStrong ? ch + ch : ch;
42356
42452
  token_o.content = '';
42357
42453
 
42358
- const token_c = state.tokens[endDelim.token];
42359
- token_c.type = isStrong ? 'strong_close' : 'em_close';
42360
- token_c.tag = isStrong ? 'strong' : 'em';
42454
+ const token_c = state.tokens[endDelim.token];
42455
+ token_c.type = isStrong ? 'strong_close' : 'em_close';
42456
+ token_c.tag = isStrong ? 'strong' : 'em';
42361
42457
  token_c.nesting = -1;
42362
- token_c.markup = isStrong ? ch + ch : ch;
42458
+ token_c.markup = isStrong ? ch + ch : ch;
42363
42459
  token_c.content = '';
42364
42460
 
42365
42461
  if (isStrong) {
@@ -42512,7 +42608,7 @@ function link (state, silent) {
42512
42608
 
42513
42609
  const token_o = state.push('link_open', 'a', 1);
42514
42610
  const attrs = [['href', href]];
42515
- token_o.attrs = attrs;
42611
+ token_o.attrs = attrs;
42516
42612
  if (title) {
42517
42613
  attrs.push(['title', title]);
42518
42614
  }
@@ -42670,7 +42766,7 @@ function image (state, silent) {
42670
42766
  // Process autolinks '<protocol:...>'
42671
42767
 
42672
42768
  /* eslint max-len:0 */
42673
- const EMAIL_RE = /^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/;
42769
+ const EMAIL_RE = /^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/;
42674
42770
  /* eslint-disable-next-line no-control-regex */
42675
42771
  const AUTOLINK_RE = /^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;
42676
42772
 
@@ -42698,17 +42794,17 @@ function autolink (state, silent) {
42698
42794
  if (!state.md.validateLink(fullUrl)) { return false }
42699
42795
 
42700
42796
  if (!silent) {
42701
- const token_o = state.push('link_open', 'a', 1);
42702
- token_o.attrs = [['href', fullUrl]];
42703
- token_o.markup = 'autolink';
42704
- token_o.info = 'auto';
42797
+ const token_o = state.push('link_open', 'a', 1);
42798
+ token_o.attrs = [['href', fullUrl]];
42799
+ token_o.markup = 'autolink';
42800
+ token_o.info = 'auto';
42705
42801
 
42706
- const token_t = state.push('text', '', 0);
42802
+ const token_t = state.push('text', '', 0);
42707
42803
  token_t.content = state.md.normalizeLinkText(url);
42708
42804
 
42709
- const token_c = state.push('link_close', 'a', -1);
42710
- token_c.markup = 'autolink';
42711
- token_c.info = 'auto';
42805
+ const token_c = state.push('link_close', 'a', -1);
42806
+ token_c.markup = 'autolink';
42807
+ token_c.info = 'auto';
42712
42808
  }
42713
42809
 
42714
42810
  state.pos += url.length + 2;
@@ -42720,17 +42816,17 @@ function autolink (state, silent) {
42720
42816
  if (!state.md.validateLink(fullUrl)) { return false }
42721
42817
 
42722
42818
  if (!silent) {
42723
- const token_o = state.push('link_open', 'a', 1);
42724
- token_o.attrs = [['href', fullUrl]];
42725
- token_o.markup = 'autolink';
42726
- token_o.info = 'auto';
42819
+ const token_o = state.push('link_open', 'a', 1);
42820
+ token_o.attrs = [['href', fullUrl]];
42821
+ token_o.markup = 'autolink';
42822
+ token_o.info = 'auto';
42727
42823
 
42728
- const token_t = state.push('text', '', 0);
42824
+ const token_t = state.push('text', '', 0);
42729
42825
  token_t.content = state.md.normalizeLinkText(url);
42730
42826
 
42731
- const token_c = state.push('link_close', 'a', -1);
42732
- token_c.markup = 'autolink';
42733
- token_c.info = 'auto';
42827
+ const token_c = state.push('link_close', 'a', -1);
42828
+ token_c.markup = 'autolink';
42829
+ token_c.info = 'auto';
42734
42830
  }
42735
42831
 
42736
42832
  state.pos += url.length + 2;
@@ -42756,6 +42852,43 @@ function isLetter (ch) {
42756
42852
  return (lc >= 0x61/* a */) && (lc <= 0x7a/* z */)
42757
42853
  }
42758
42854
 
42855
+ // Comment, processing instruction, declaration or CDATA: fixed opener,
42856
+ // then everything up to the first terminator. Returns end position or -1.
42857
+ function scanSpecial (state, pos) {
42858
+ const src = state.src;
42859
+ let start;
42860
+ let terminator;
42861
+
42862
+ if (src.startsWith('<!--', pos)) {
42863
+ if (src.startsWith('>', pos + 4)) { return pos + 5 }
42864
+ if (src.startsWith('->', pos + 4)) { return pos + 6 }
42865
+ start = pos + 4;
42866
+ terminator = '-->';
42867
+ } else if (src.startsWith('<![CDATA[', pos)) {
42868
+ start = pos + 9;
42869
+ terminator = ']]>';
42870
+ } else if (src.charCodeAt(pos + 1) === 0x3F/* ? */) {
42871
+ start = pos + 2;
42872
+ terminator = '?>';
42873
+ } else if (isLetter(src.charCodeAt(pos + 2))) {
42874
+ start = pos + 3;
42875
+ terminator = '>';
42876
+ } else {
42877
+ return -1
42878
+ }
42879
+
42880
+ if (state.skipHtmlSpecial) { return -1 }
42881
+
42882
+ const end = src.indexOf(terminator, start);
42883
+ if (end < 0) {
42884
+ // One flag for all constructs to keep code simple. Valid constructs after
42885
+ // an unclosed one in the same paragraph become text, that's acceptable.
42886
+ state.skipHtmlSpecial = true;
42887
+ return -1
42888
+ }
42889
+ return end + terminator.length
42890
+ }
42891
+
42759
42892
  function html_inline (state, silent) {
42760
42893
  if (!state.md.options.html) { return false }
42761
42894
 
@@ -42767,26 +42900,28 @@ function html_inline (state, silent) {
42767
42900
  return false
42768
42901
  }
42769
42902
 
42770
- // Quick fail on second char
42903
+ let end;
42771
42904
  const ch = state.src.charCodeAt(pos + 1);
42772
- if (ch !== 0x21/* ! */ &&
42773
- ch !== 0x3F/* ? */ &&
42774
- ch !== 0x2F/* / */ &&
42775
- !isLetter(ch)) {
42905
+
42906
+ if (ch === 0x21/* ! */ || ch === 0x3F/* ? */) {
42907
+ end = scanSpecial(state, pos);
42908
+ } else if (ch === 0x2F/* / */ || isLetter(ch)) {
42909
+ const match = state.src.slice(pos).match(HTML_OPEN_CLOSE_TAG_RE);
42910
+ end = match ? pos + match[0].length : -1;
42911
+ } else {
42776
42912
  return false
42777
42913
  }
42778
42914
 
42779
- const match = state.src.slice(pos).match(HTML_TAG_RE);
42780
- if (!match) { return false }
42915
+ if (end < 0) { return false }
42781
42916
 
42782
42917
  if (!silent) {
42783
42918
  const token = state.push('html_inline', '', 0);
42784
- token.content = match[0];
42919
+ token.content = state.src.slice(pos, end);
42785
42920
 
42786
- if (isLinkOpen(token.content)) state.linkLevel++;
42921
+ if (isLinkOpen(token.content)) state.linkLevel++;
42787
42922
  if (isLinkClose(token.content)) state.linkLevel--;
42788
42923
  }
42789
- state.pos += match[0].length;
42924
+ state.pos = end;
42790
42925
  return true
42791
42926
  }
42792
42927
 
@@ -42794,7 +42929,7 @@ function html_inline (state, silent) {
42794
42929
 
42795
42930
 
42796
42931
  const DIGITAL_RE = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i;
42797
- const NAMED_RE = /^&([a-z][a-z0-9]{1,31});/i;
42932
+ const NAMED_RE = /^&([a-z][a-z0-9]{1,31});/i;
42798
42933
 
42799
42934
  function entity (state, silent) {
42800
42935
  const pos = state.pos;
@@ -42812,10 +42947,10 @@ function entity (state, silent) {
42812
42947
  if (!silent) {
42813
42948
  const code = match[1][0].toLowerCase() === 'x' ? parseInt(match[1].slice(1), 16) : parseInt(match[1], 10);
42814
42949
 
42815
- const token = state.push('text_special', '', 0);
42950
+ const token = state.push('text_special', '', 0);
42816
42951
  token.content = isValidEntityCode(code) ? fromCodePoint(code) : fromCodePoint(0xFFFD);
42817
- token.markup = match[0];
42818
- token.info = 'entity';
42952
+ token.markup = match[0];
42953
+ token.info = 'entity';
42819
42954
  }
42820
42955
  state.pos += match[0].length;
42821
42956
  return true
@@ -42826,10 +42961,10 @@ function entity (state, silent) {
42826
42961
  const decoded = decodeHTMLStrict(match[0]);
42827
42962
  if (decoded !== match[0]) {
42828
42963
  if (!silent) {
42829
- const token = state.push('text_special', '', 0);
42964
+ const token = state.push('text_special', '', 0);
42830
42965
  token.content = decoded;
42831
- token.markup = match[0];
42832
- token.info = 'entity';
42966
+ token.markup = match[0];
42967
+ token.info = 'entity';
42833
42968
  }
42834
42969
  state.pos += match[0].length;
42835
42970
  return true
@@ -42927,8 +43062,8 @@ function processDelimiters (delimiters) {
42927
43062
  jumps[closerIdx] = closerIdx - openerIdx + lastJump;
42928
43063
  jumps[openerIdx] = lastJump;
42929
43064
 
42930
- closer.open = false;
42931
- opener.end = closerIdx;
43065
+ closer.open = false;
43066
+ opener.end = closerIdx;
42932
43067
  opener.close = false;
42933
43068
  newMinOpenerIdx = -1;
42934
43069
  // treat next token as start of run,
@@ -43014,18 +43149,18 @@ function fragments_join (state) {
43014
43149
  // Parser rules
43015
43150
 
43016
43151
  const _rules = [
43017
- ['text', text],
43018
- ['linkify', linkify],
43019
- ['newline', newline],
43020
- ['escape', escape],
43021
- ['backticks', backtick],
43022
- ['strikethrough', r_strikethrough.tokenize],
43023
- ['emphasis', r_emphasis.tokenize],
43024
- ['link', link],
43025
- ['image', image],
43026
- ['autolink', autolink],
43027
- ['html_inline', html_inline],
43028
- ['entity', entity]
43152
+ ['text', text],
43153
+ ['linkify', linkify],
43154
+ ['newline', newline],
43155
+ ['escape', escape],
43156
+ ['backticks', backtick],
43157
+ ['strikethrough', r_strikethrough.tokenize],
43158
+ ['emphasis', r_emphasis.tokenize],
43159
+ ['link', link],
43160
+ ['image', image],
43161
+ ['autolink', autolink],
43162
+ ['html_inline', html_inline],
43163
+ ['entity', entity]
43029
43164
  ];
43030
43165
 
43031
43166
  // `rule2` ruleset was created specifically for emphasis/strikethrough
@@ -43034,12 +43169,12 @@ const _rules = [
43034
43169
  // Don't use this for anything except pairs (plugins working with `balance_pairs`).
43035
43170
  //
43036
43171
  const _rules2 = [
43037
- ['balance_pairs', link_pairs],
43038
- ['strikethrough', r_strikethrough.postProcess],
43039
- ['emphasis', r_emphasis.postProcess],
43172
+ ['balance_pairs', link_pairs],
43173
+ ['strikethrough', r_strikethrough.postProcess],
43174
+ ['emphasis', r_emphasis.postProcess],
43040
43175
  // rules for pairs separate '**' into its own text tokens, which may be left unused,
43041
43176
  // rule below merges unused segments back with the rest of the text
43042
- ['fragments_join', fragments_join]
43177
+ ['fragments_join', fragments_join]
43043
43178
  ];
43044
43179
 
43045
43180
  /**
@@ -46271,9 +46406,20 @@ function pairingErrorMessage(cause) {
46271
46406
  if (message.startsWith("PAIRING_ROUTE_PERMISSION_REQUIRED:")) {
46272
46407
  return t("errorNextRoutePermission");
46273
46408
  }
46409
+ if (/Failed to start native messaging host|Access to the specified native messaging host is forbidden/i.test(message)) return t("errorLocalHostBlockedHelp");
46274
46410
  return message;
46275
46411
  }
46276
46412
  function SidePanelApp({ initialLocale, initialTheme }) {
46413
+ const [controlPaused, setControlPaused] = reactExports.useState(false);
46414
+ reactExports.useEffect(() => {
46415
+ const refresh = () => {
46416
+ void chrome.runtime.sendMessage({ type: "browser/get-status" }).then((status) => setControlPaused(status?.controlPaused === true)).catch(() => {
46417
+ });
46418
+ };
46419
+ refresh();
46420
+ const timer = setInterval(refresh, 1500);
46421
+ return () => clearInterval(timer);
46422
+ }, []);
46277
46423
  const [profile, setProfile] = reactExports.useState();
46278
46424
  const [invitation, setInvitation] = reactExports.useState("");
46279
46425
  const [confirmationCode, setConfirmationCode] = reactExports.useState("");
@@ -46396,7 +46542,7 @@ function SidePanelApp({ initialLocale, initialTheme }) {
46396
46542
  setLocalInvitation(local.invitation);
46397
46543
  await connect(local.invitation);
46398
46544
  } catch (cause) {
46399
- setError(cause instanceof Error ? cause.message : String(cause));
46545
+ setError(pairingErrorMessage(cause));
46400
46546
  setState("unpaired");
46401
46547
  }
46402
46548
  }
@@ -46410,7 +46556,7 @@ function SidePanelApp({ initialLocale, initialTheme }) {
46410
46556
  setConfirmationCode("");
46411
46557
  setState("unpaired");
46412
46558
  } catch (cause) {
46413
- setError(cause instanceof Error ? cause.message : String(cause));
46559
+ setError(pairingErrorMessage(cause));
46414
46560
  setState("unpaired");
46415
46561
  }
46416
46562
  }
@@ -46488,6 +46634,14 @@ function SidePanelApp({ initialLocale, initialTheme }) {
46488
46634
  ] }) : null
46489
46635
  ] })
46490
46636
  ] }),
46637
+ controlPaused && /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "card", role: "alert", children: [
46638
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { children: t("browserControlStopped") }),
46639
+ /* @__PURE__ */ jsxRuntimeExports.jsx("button", { className: "primary", onClick: () => {
46640
+ void chrome.runtime.sendMessage({ type: "browser/resume-control" }).then((result) => {
46641
+ if (result?.ok) setControlPaused(false);
46642
+ });
46643
+ }, children: t("browserControlResume") })
46644
+ ] }),
46491
46645
  state !== "online" ? /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "center", children: [
46492
46646
  state === "loading" ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "muted", children: t("loading") }) : null,
46493
46647
  state === "unpaired" || state === "pairing" ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "card", children: [