@xopcai/xopc 0.0.426 → 0.0.427

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/telegram/src/adapters/security-adapter.js +1 -1
  3. package/dist/extensions/telegram/src/pairing-config-resolver.js +1 -1
  4. package/dist/extensions/telegram/src/plugin.js +2 -2
  5. package/dist/extensions/telegram/xopc.extension.json +1 -1
  6. package/dist/extensions/weixin/src/api/api.js +1 -1
  7. package/dist/extensions/weixin/src/auth/accounts.js +2 -2
  8. package/dist/extensions/weixin/src/auth/pairing.js +1 -1
  9. package/dist/extensions/weixin/src/cdn/upload.js +1 -1
  10. package/dist/extensions/weixin/src/cli/gateway-qr-login.js +1 -1
  11. package/dist/extensions/weixin/src/cli/qr-login.js +1 -1
  12. package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
  13. package/dist/extensions/weixin/src/messaging/inbound.js +2 -2
  14. package/dist/extensions/weixin/src/messaging/process-message.js +3 -3
  15. package/dist/extensions/weixin/src/messaging/send.js +12 -3
  16. package/dist/extensions/weixin/src/monitor/monitor.js +1 -1
  17. package/dist/extensions/weixin/src/outbound-send.js +12 -3
  18. package/dist/extensions/weixin/src/pairing-config-resolver.js +1 -1
  19. package/dist/extensions/weixin/src/plugin.js +1 -1
  20. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-D4ClP_DJ.js +1 -0
  21. package/dist/gateway/static/root/assets/agent-plugin-dialog-m1A8wF9p.js +1 -0
  22. package/dist/gateway/static/root/assets/agents-B9slUA_1.js +77 -0
  23. package/dist/gateway/static/root/assets/app-link-DRy3-k7j.js +1 -0
  24. package/dist/gateway/static/root/assets/{app-management-settings-panel-C8yc3yHG.js → app-management-settings-panel-XqoIBF2H.js} +1 -1
  25. package/dist/gateway/static/root/assets/{appearance-settings-BELgtR3O.js → appearance-settings-9ZtqCASo.js} +1 -1
  26. package/dist/gateway/static/root/assets/apps-page-DUeu_7iC.js +1 -0
  27. package/dist/gateway/static/root/assets/attachment-load-DrVGNxJm.js +1 -0
  28. package/dist/gateway/static/root/assets/automation-task-card-Bur78p68.js +3 -0
  29. package/dist/gateway/static/root/assets/{automations-page-CdIPdwF0.js → automations-page-DMIyWsP0.js} +1 -1
  30. package/dist/gateway/static/root/assets/automations-workspace-DEkDjxeU.js +9 -0
  31. package/dist/gateway/static/root/assets/{block-editor-BQtTLe6Q.js → block-editor-CXdlNAmZ.js} +2 -2
  32. package/dist/gateway/static/root/assets/{browser-automation-inputs-DeraGZ1y.js → browser-automation-inputs-Fxo7HbK6.js} +1 -1
  33. package/dist/gateway/static/root/assets/{browser-automations-page-SpPzRNqU.js → browser-automations-page-Dn3LN5wo.js} +2 -2
  34. package/dist/gateway/static/root/assets/browser-settings-page-Cpm9fEPV.js +3 -0
  35. package/dist/gateway/static/root/assets/{button-CnRSIP6m.js → button-Cc4hUNTt.js} +1 -1
  36. package/dist/gateway/static/root/assets/{capabilities-DLMuj21P.js → capabilities-BEvywfF9.js} +1 -1
  37. package/dist/gateway/static/root/assets/capabilities-Bo2qEJhH.js +1 -0
  38. package/dist/gateway/static/root/assets/capabilities-page-BCzsIzvC.js +2 -0
  39. package/dist/gateway/static/root/assets/capabilities-settings-panel-Cr67ziwX.js +8 -0
  40. package/dist/gateway/static/root/assets/{capability-header-actions-CTUCuBlW.js → capability-header-actions-BxMYfQ8y.js} +1 -1
  41. package/dist/gateway/static/root/assets/channels-CA5z5dGY.js +1 -0
  42. package/dist/gateway/static/root/assets/{chat-chart-block-DCzUECct.js → chat-chart-block-B39npsXj.js} +1 -1
  43. package/dist/gateway/static/root/assets/chat-page-D92AWJbh.js +72 -0
  44. package/dist/gateway/static/root/assets/{chat-terminal-dock-Dl-OTkJI.js → chat-terminal-dock-DjFnElAM.js} +2 -2
  45. package/dist/gateway/static/root/assets/composer-payload-handoff-BQXlFKf4.js +1 -0
  46. package/dist/gateway/static/root/assets/{computer-settings-page-B-lGMimW.js → computer-settings-page-MkqyKyf3.js} +1 -1
  47. package/dist/gateway/static/root/assets/confirm-dialog-D7dQJytv.js +1 -0
  48. package/dist/gateway/static/root/assets/connected-providers-grid-BSvKP2u-.js +1 -0
  49. package/dist/gateway/static/root/assets/{connector-service-page-C8InhrMt.js → connector-service-page-DlIl9bLx.js} +1 -1
  50. package/dist/gateway/static/root/assets/connectors-page-Vx8-MY0Y.js +1 -0
  51. package/dist/gateway/static/root/assets/{copy-text-row-CYIv7RfP.js → copy-text-row-CpiRzq4G.js} +1 -1
  52. package/dist/gateway/static/root/assets/{date-picker-kqic8j73.js → date-picker-BIfjfOTM.js} +1 -1
  53. package/dist/gateway/static/root/assets/dependency-picker-XjPB8FJS.js +1 -0
  54. package/dist/gateway/static/root/assets/{desktop-pet-settings-BDS7_tQ_.js → desktop-pet-settings-BDjsFown.js} +1 -1
  55. package/dist/gateway/static/root/assets/device-pairing-wizard-DH_uJ698.js +1 -0
  56. package/dist/gateway/static/root/assets/{directory-picker-path-field-Di0h3ws4.js → directory-picker-path-field-DiZXY7jF.js} +1 -1
  57. package/dist/gateway/static/root/assets/{discussion-annotation-sync-ClKEyXmN.js → discussion-annotation-sync-BXqNuZnx.js} +1 -1
  58. package/dist/gateway/static/root/assets/dist-BGTk37IG.js +1 -0
  59. package/dist/gateway/static/root/assets/dist-BuHnPloF.js +1 -0
  60. package/dist/gateway/static/root/assets/dist-GJ8-1PAx.js +1 -0
  61. package/dist/gateway/static/root/assets/dist-ZrL34Ps4.js +1 -0
  62. package/dist/gateway/static/root/assets/{extension-debug-page-DwB5KMGk.js → extension-debug-page-myQqsol2.js} +1 -1
  63. package/dist/gateway/static/root/assets/{extension-iframe-host-Cqg1K70e.js → extension-iframe-host-DaL-OcTw.js} +1 -1
  64. package/dist/gateway/static/root/assets/{extension-page-DyrQtG82.js → extension-page-DvlGhZLa.js} +1 -1
  65. package/dist/gateway/static/root/assets/{extension-provider-C_uKqJxP.js → extension-provider-fOi6V6Cr.js} +1 -1
  66. package/dist/gateway/static/root/assets/{extension-settings-page-BAMQHzkX.js → extension-settings-page-DOGlQpkx.js} +1 -1
  67. package/dist/gateway/static/root/assets/{gateway-settings-uAboiElC.js → gateway-settings-Di41peSM.js} +1 -1
  68. package/dist/gateway/static/root/assets/home-page-B3sgqrl3.js +2 -0
  69. package/dist/gateway/static/root/assets/{image-generation-api-CQxZSTWA.js → image-generation-api-Ce-IY7Ug.js} +1 -1
  70. package/dist/gateway/static/root/assets/{imports-page-C90644id.js → imports-page-W7_cDbxy.js} +1 -1
  71. package/dist/gateway/static/root/assets/index-D4B6O8B3.js +11 -0
  72. package/dist/gateway/static/root/assets/index-DGWBJDAM.css +1 -0
  73. package/dist/gateway/static/root/assets/install-connector-dialog-DWVl9ekV.js +1 -0
  74. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-CbeubKe1.js → keyboard-shortcuts-settings-Doyu0Q9e.js} +1 -1
  75. package/dist/gateway/static/root/assets/link-2-D_ZKYUW7.js +1 -0
  76. package/dist/gateway/static/root/assets/local-app-workbench-page-B3h3P6aI.js +1 -0
  77. package/dist/gateway/static/root/assets/{local-apps-page-C6zFgwkr.js → local-apps-page-D6D2bZGW.js} +1 -1
  78. package/dist/gateway/static/root/assets/{logs-page-CpVCvAWE.js → logs-page-qiXos_12.js} +2 -2
  79. package/dist/gateway/static/root/assets/management-settings-C0WcSdK7.js +1 -0
  80. package/dist/gateway/static/root/assets/{markdown-view-DrVAMlwc.js → markdown-view-Ck5s16p9.js} +2 -2
  81. package/dist/gateway/static/root/assets/mcp-conversation-setup-page-CENs3hGU.js +1 -0
  82. package/dist/gateway/static/root/assets/model-selector-DCBmsHzj.js +1 -0
  83. package/dist/gateway/static/root/assets/note-detail-panel-CnuxqWMd.js +5 -0
  84. package/dist/gateway/static/root/assets/note-image-lightbox-BFKZ7qJr.js +1 -0
  85. package/dist/gateway/static/root/assets/{notes-api-CUlhTRv0.js → notes-api-8kp0X1x6.js} +1 -1
  86. package/dist/gateway/static/root/assets/{notes-page-eoKX85K5.js → notes-page-XMdy-H3H.js} +1 -1
  87. package/dist/gateway/static/root/assets/{oauth-provider-connect-C8BXow79.js → oauth-provider-connect-CfOK8mPM.js} +1 -1
  88. package/dist/gateway/static/root/assets/{page-context-capture-button-CBFK41OS.js → page-context-capture-button-CKlKWSJ7.js} +1 -1
  89. package/dist/gateway/static/root/assets/personal-page-CIMMSI25.js +1 -0
  90. package/dist/gateway/static/root/assets/{personal-settings-panel-DnYapLo7.js → personal-settings-panel-wKdlrfPq.js} +1 -1
  91. package/dist/gateway/static/root/assets/{phone-dependencies-card-DBiKtzwz.js → phone-dependencies-card-CDhk5277.js} +1 -1
  92. package/dist/gateway/static/root/assets/phone-model-connection-DZ-ZunPz.js +1 -0
  93. package/dist/gateway/static/root/assets/{phone-model-picker-BmSxEr7M.js → phone-model-picker-DuZc5jYO.js} +1 -1
  94. package/dist/gateway/static/root/assets/phone-settings-page-0u0GQl_R.js +1 -0
  95. package/dist/gateway/static/root/assets/plugin-details-dialog-Bfc-Wmrd.js +1 -0
  96. package/dist/gateway/static/root/assets/{popover-select-DD8fmrxH.js → popover-select-CEMWIrtY.js} +1 -1
  97. package/dist/gateway/static/root/assets/{preference-select-fields-Cu_ZC9Up.js → preference-select-fields-BKeHZLXZ.js} +1 -1
  98. package/dist/gateway/static/root/assets/{product-automation-feedback-Tn2dUJWM.js → product-automation-feedback-BPur0vyo.js} +2 -2
  99. package/dist/gateway/static/root/assets/{product-open-page-Nf-Oqf1h.js → product-open-page-Bfd7R483.js} +1 -1
  100. package/dist/gateway/static/root/assets/{product-preview-content-D6NwUm3A.js → product-preview-content-Bnq68oVw.js} +1 -1
  101. package/dist/gateway/static/root/assets/{product-preview-modal-BfNcGgXA.js → product-preview-modal-BPmTeweh.js} +2 -2
  102. package/dist/gateway/static/root/assets/project-detail-page-D9nnyvrI.js +7 -0
  103. package/dist/gateway/static/root/assets/{project-understanding-B1BK7Ixi.js → project-understanding-DLvxAoTT.js} +1 -1
  104. package/dist/gateway/static/root/assets/projects-page-BGy1pw9a.js +1 -0
  105. package/dist/gateway/static/root/assets/{recording-upload-RAhaLUcQ.js → recording-upload-CHFJbqW1.js} +1 -1
  106. package/dist/gateway/static/root/assets/{refresh-button-bU_0NarN.js → refresh-button-DiWdGAaX.js} +1 -1
  107. package/dist/gateway/static/root/assets/{remote-access-hub-DWsOWetc.js → remote-access-hub-BVqwnOqO.js} +1 -1
  108. package/dist/gateway/static/root/assets/route-preload-DI43HQV_.js +2 -0
  109. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-BGiXeHF5.js → runtime-tools-settings-panel-ccVBG-bZ.js} +1 -1
  110. package/dist/gateway/static/root/assets/{schema-form-BKeP5G7b.js → schema-form-C-jw6Hid.js} +1 -1
  111. package/dist/gateway/static/root/assets/{secret-input-BQvFXqzz.js → secret-input-Dryrns2s.js} +1 -1
  112. package/dist/gateway/static/root/assets/{service-recommendation-list-BEnNx0u7.js → service-recommendation-list-CNghOavt.js} +1 -1
  113. package/dist/gateway/static/root/assets/session-manager-Bnq3qpqy.js +23 -0
  114. package/dist/gateway/static/root/assets/sessions-page-CyBj1Xw2.js +1 -0
  115. package/dist/gateway/static/root/assets/{settings-advanced-section-CURRjsLK.js → settings-advanced-section-DwpPPxT0.js} +1 -1
  116. package/dist/gateway/static/root/assets/{settings-page-GtsbT6as.js → settings-page-Cd8Ermnn.js} +1 -1
  117. package/dist/gateway/static/root/assets/{settings-page-header-DBL0_u0Z.js → settings-page-header-BZl4AMiN.js} +1 -1
  118. package/dist/gateway/static/root/assets/{settings-page-layout-IAvpbz4A.js → settings-page-layout-onhEgq-K.js} +1 -1
  119. package/dist/gateway/static/root/assets/setup-interaction-page-Cvvj6JyV.js +1 -0
  120. package/dist/gateway/static/root/assets/setup-status-panel-D4qgE7QM.js +1 -0
  121. package/dist/gateway/static/root/assets/share-link-dialog-DA0QuFOD.js +1 -0
  122. package/dist/gateway/static/root/assets/{share-preview-page-L9KYu8M7.js → share-preview-page-YDpIY4dC.js} +1 -1
  123. package/dist/gateway/static/root/assets/shares-settings-DUvjOMmA.js +1 -0
  124. package/dist/gateway/static/root/assets/skills-page-ClyNSh-7.js +2 -0
  125. package/dist/gateway/static/root/assets/{system-settings-panel-CsvcFoaJ.js → system-settings-panel-BN6sUX0H.js} +1 -1
  126. package/dist/gateway/static/root/assets/task-detail-page-CS9m7Ipo.js +2 -0
  127. package/dist/gateway/static/root/assets/{task-result-evidence-B8xUiwW3.js → task-result-evidence-DKygspo2.js} +1 -1
  128. package/dist/gateway/static/root/assets/tracing-settings-page-Bs76WeoF.js +1 -0
  129. package/dist/gateway/static/root/assets/{tunnel-api-BB7u79ID.js → tunnel-api-B7nx0NQJ.js} +1 -1
  130. package/dist/gateway/static/root/assets/{usage-page-Cv4Je5XJ.js → usage-page-anU5gslJ.js} +1 -1
  131. package/dist/gateway/static/root/assets/use-composer-attachments-DYY3Yz4a.js +2 -0
  132. package/dist/gateway/static/root/assets/use-file-preview-expanded-CYgWzDnv.js +2 -0
  133. package/dist/gateway/static/root/assets/{use-workspace-tree-BQEiJzK7.js → use-workspace-tree-Dkg9tUr4.js} +1 -1
  134. package/dist/gateway/static/root/assets/user-model-page-DIgPL3tN.js +2 -0
  135. package/dist/gateway/static/root/assets/{voice-api-key-field-DCM69u8Y.js → voice-api-key-field-BUes-Jlp.js} +1 -1
  136. package/dist/gateway/static/root/assets/voice-transcribe-api-Dy4hfftb.js +1 -0
  137. package/dist/gateway/static/root/assets/{work-discovery-overlay-CVe9UmFl.js → work-discovery-overlay-CFF4cRFl.js} +1 -1
  138. package/dist/gateway/static/root/assets/{work-discovery-page-CtqkRMN5.js → work-discovery-page-BnYaVH3V.js} +1 -1
  139. package/dist/gateway/static/root/assets/working-directory-picker-modal-GFwVefVA.js +1 -0
  140. package/dist/gateway/static/root/assets/{workspace-api-tbifz2zY.js → workspace-api-BdB4NEOh.js} +2 -2
  141. package/dist/gateway/static/root/assets/{workspace-file-preview-dialog-BubQwQwU.js → workspace-file-preview-dialog-NRL3YRjg.js} +1 -1
  142. package/dist/gateway/static/root/assets/{workspace-open-location-menu-DZk3MBSa.js → workspace-open-location-menu-Dcij7wvJ.js} +1 -1
  143. package/dist/gateway/static/root/assets/{xopc-cloud-account-card-CIavPUr3.js → xopc-cloud-account-card-DC9aG7Pl.js} +1 -1
  144. package/dist/gateway/static/root/index.html +66 -64
  145. package/dist/package.js +1 -1
  146. package/dist/packages/gateway-contract/src/automations.js +7 -0
  147. package/dist/packages/gateway-contract/src/capabilities.js +1 -1
  148. package/dist/src/agent/agent-manager.d.ts +1 -0
  149. package/dist/src/agent/agent-manager.js +1 -0
  150. package/dist/src/agent/child-agent-factory.js +1 -1
  151. package/dist/src/agent/data-acquisition/service.js +1 -1
  152. package/dist/src/agent/embedded/configuration-capability-correction.d.ts +3 -0
  153. package/dist/src/agent/embedded/configuration-capability-correction.js +14 -0
  154. package/dist/src/agent/embedded/run-for-session.js +20 -5
  155. package/dist/src/agent/embedded/run-turn.js +13 -1
  156. package/dist/src/agent/embedded/session-runner.js +6 -3
  157. package/dist/src/agent/image/generation/openai-images-provider.js +1 -1
  158. package/dist/src/agent/image/load-image-media.js +1 -1
  159. package/dist/src/agent/inbound/inbound-loop.js +4 -1
  160. package/dist/src/agent/independent-execution.js +1 -1
  161. package/dist/src/agent/mcp/config.js +1 -1
  162. package/dist/src/agent/mcp/connection-drafts.d.ts +3 -1
  163. package/dist/src/agent/mcp/connection-drafts.js +3 -2
  164. package/dist/src/agent/mcp/connection-setup.js +34 -2
  165. package/dist/src/agent/mcp/conversation-setup.d.ts +163 -0
  166. package/dist/src/agent/mcp/conversation-setup.js +621 -0
  167. package/dist/src/agent/mcp/native-mcp.d.ts +1 -0
  168. package/dist/src/agent/mcp/tool-catalog.d.ts +5 -0
  169. package/dist/src/agent/mcp/tool-catalog.js +19 -2
  170. package/dist/src/agent/mcp/weixin-setup-scope.d.ts +12 -0
  171. package/dist/src/agent/mcp/weixin-setup-scope.js +43 -0
  172. package/dist/src/agent/prompt/conversational-configuration-guide.js +2 -1
  173. package/dist/src/agent/prompt/sections/tooling.js +3 -2
  174. package/dist/src/agent/prompt/service-prompt-builder.js +1 -1
  175. package/dist/src/agent/service/direct-turn-helpers.js +1 -1
  176. package/dist/src/agent/service/process-direct-streaming.js +2 -2
  177. package/dist/src/agent/service.d.ts +2 -0
  178. package/dist/src/agent/service.js +11 -1
  179. package/dist/src/agent/service.types.d.ts +1 -0
  180. package/dist/src/agent/tasks/task-judge-service.js +2 -2
  181. package/dist/src/agent/tool-manuals/xopc-configuration.d.ts +6 -4
  182. package/dist/src/agent/tool-manuals/xopc-configuration.js +92 -8
  183. package/dist/src/agent/tools/automation-tool.d.ts +9 -1
  184. package/dist/src/agent/tools/automation-tool.js +34 -5
  185. package/dist/src/agent/tools/create-share-tool.js +1 -1
  186. package/dist/src/agent/tools/factory.d.ts +3 -0
  187. package/dist/src/agent/tools/factory.js +34 -23
  188. package/dist/src/agent/tools/image-generate-tool.js +3 -3
  189. package/dist/src/agent/tools/index.d.ts +1 -0
  190. package/dist/src/agent/tools/index.js +5 -4
  191. package/dist/src/agent/tools/mcp-setup-tool.d.ts +9 -0
  192. package/dist/src/agent/tools/mcp-setup-tool.js +32 -0
  193. package/dist/src/agent/tools/personal-task-tool.js +2 -2
  194. package/dist/src/agent/tools/publish-artifacts.js +1 -1
  195. package/dist/src/agent/tools/read.js +1 -1
  196. package/dist/src/agent/tools/skill-install-tool.js +56 -1
  197. package/dist/src/agent/tools/skill-manage-tool.d.ts +4 -0
  198. package/dist/src/agent/tools/skill-manage-tool.js +74 -2
  199. package/dist/src/agent/tools/skills-tools.js +1 -1
  200. package/dist/src/agent/tools/task-collaboration-tool.js +1 -1
  201. package/dist/src/agent/tools/tool-manual-tool.d.ts +1 -1
  202. package/dist/src/agent/tools/tool-manual-tool.js +3 -1
  203. package/dist/src/agent/tools/toolExposure.js +2 -0
  204. package/dist/src/agent/tools/write.js +1 -1
  205. package/dist/src/agent/tools/xopc-use-tool.d.ts +4 -2
  206. package/dist/src/agent/tools/xopc-use-tool.js +60 -10
  207. package/dist/src/agent-catalog/service.d.ts +1 -1
  208. package/dist/src/agent-catalog/service.js +2 -1
  209. package/dist/src/automations/capabilities/drafts.js +5 -2
  210. package/dist/src/automations/capabilities/read.js +18 -7
  211. package/dist/src/automations/capabilities/write.d.ts +111 -52
  212. package/dist/src/automations/capabilities/write.js +44 -10
  213. package/dist/src/automations/delivery/delivery-router.d.ts +1 -0
  214. package/dist/src/automations/delivery/delivery-router.js +7 -1
  215. package/dist/src/automations/domain/types.d.ts +8 -0
  216. package/dist/src/automations/domain/validation.d.ts +24 -0
  217. package/dist/src/automations/domain/validation.js +7 -0
  218. package/dist/src/automations/draft/automation-draft-validator.d.ts +6 -0
  219. package/dist/src/automations/index.js +2 -2
  220. package/dist/src/automations/mcp-source.d.ts +60 -0
  221. package/dist/src/automations/mcp-source.js +173 -0
  222. package/dist/src/automations/service/action-executor.js +15 -1
  223. package/dist/src/automations/service/automation-service.d.ts +5 -0
  224. package/dist/src/automations/service/automation-service.js +52 -2
  225. package/dist/src/automations/service/index.js +2 -2
  226. package/dist/src/browser/setup/repository.d.ts +1 -0
  227. package/dist/src/browser/setup/repository.js +7 -1
  228. package/dist/src/browser/setup/service.d.ts +3 -0
  229. package/dist/src/browser/setup/service.js +41 -18
  230. package/dist/src/browser/setup/types.d.ts +1 -0
  231. package/dist/src/channels/attachments/voice-stt-webchat.js +1 -1
  232. package/dist/src/channels/index.js +1 -1
  233. package/dist/src/channels/manager.d.ts +1 -0
  234. package/dist/src/channels/outbound-sender.d.ts +1 -0
  235. package/dist/src/channels/outbound-sender.js +3 -0
  236. package/dist/src/channels/pairing/pairing-service.js +1 -1
  237. package/dist/src/channels/weixin/account-identity.d.ts +2 -0
  238. package/dist/src/channels/weixin/account-identity.js +15 -0
  239. package/dist/src/chat-commands/builtins/config.js +1 -1
  240. package/dist/src/cli/commands/channels.js +2 -2
  241. package/dist/src/cli/commands/doctor/checks/channel-pairing-pending.js +1 -1
  242. package/dist/src/cli/commands/mcp.js +1 -1
  243. package/dist/src/extensions/agent-plugins/credentials.js +1 -1
  244. package/dist/src/extensions/agent-plugins/setup.d.ts +1 -1
  245. package/dist/src/extensions/agent-plugins/setup.js +3 -3
  246. package/dist/src/extensions/api.js +1 -1
  247. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  248. package/dist/src/gateway/agents-admin.js +1 -1
  249. package/dist/src/gateway/device-routes.js +1 -1
  250. package/dist/src/gateway/hono/app.js +1 -1
  251. package/dist/src/gateway/hono/lib/config-payload.js +1 -1
  252. package/dist/src/gateway/hono/oauth-async.js +1 -1
  253. package/dist/src/gateway/hono/routes/channels.js +1 -1
  254. package/dist/src/gateway/hono/routes/config.js +1 -1
  255. package/dist/src/gateway/hono/routes/lazy-bundles.js +1 -1
  256. package/dist/src/gateway/hono/routes/mcp.js +39 -2
  257. package/dist/src/gateway/hono/routes/notes.js +2 -2
  258. package/dist/src/gateway/hono/routes/phone-setup.js +33 -9
  259. package/dist/src/gateway/hono/routes/projects.js +1 -1
  260. package/dist/src/gateway/hono/routes/provider-setup.js +1 -1
  261. package/dist/src/gateway/hono/routes/public-gateway.js +22 -0
  262. package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
  263. package/dist/src/gateway/hono/routes/shares.js +1 -1
  264. package/dist/src/gateway/hono/routes/site-shares.js +1 -1
  265. package/dist/src/gateway/hono/routes/tasks.js +1 -1
  266. package/dist/src/gateway/media-access.js +1 -1
  267. package/dist/src/gateway/service/agent-runner.d.ts +1 -0
  268. package/dist/src/gateway/service/agent-runner.js +3 -1
  269. package/dist/src/gateway/service/config-coordinator.d.ts +1 -1
  270. package/dist/src/gateway/service/config-coordinator.js +2 -1
  271. package/dist/src/gateway/service/run-gateway-agent.js +1 -1
  272. package/dist/src/gateway/service/sessions-api.js +2 -1
  273. package/dist/src/gateway/service.d.ts +5 -1
  274. package/dist/src/gateway/service.js +90 -16
  275. package/dist/src/gateway/session-context-summary.js +1 -1
  276. package/dist/src/gateway/session-reset-service.d.ts +1 -0
  277. package/dist/src/gateway/session-reset-service.js +15 -2
  278. package/dist/src/home-intelligence/host.js +2 -2
  279. package/dist/src/notes/service.js +1 -1
  280. package/dist/src/personal-agent/prompts.js +1 -1
  281. package/dist/src/personal-agent/reply-composer.js +2 -2
  282. package/dist/src/personal-agent/request-service.js +3 -3
  283. package/dist/src/personal-agent/service.js +1 -1
  284. package/dist/src/personal-agent/task-cancel.js +1 -1
  285. package/dist/src/phone/setup/service.d.ts +14 -4
  286. package/dist/src/phone/setup/service.js +106 -28
  287. package/dist/src/projects/index.js +1 -1
  288. package/dist/src/projects/project-service.js +1 -1
  289. package/dist/src/runtime-tools/phone-dependencies.d.ts +2 -0
  290. package/dist/src/runtime-tools/phone-dependencies.js +10 -0
  291. package/dist/src/share/note-share-service.js +1 -1
  292. package/dist/src/share/site-proxy.js +1 -1
  293. package/dist/src/tasks/capabilities/write.js +1 -1
  294. package/dist/src/tasks/index.js +1 -1
  295. package/dist/src/tasks/task-allocation-service.js +3 -3
  296. package/dist/src/tasks/task-application-service.js +2 -2
  297. package/dist/src/tasks/task-context-assembler.js +1 -1
  298. package/dist/src/tasks/task-contract-planner.js +1 -1
  299. package/dist/src/tasks/task-handoff.js +1 -1
  300. package/dist/src/tasks/task-research-result.js +1 -1
  301. package/dist/src/tasks/task-run-coordinator.js +2 -2
  302. package/dist/src/tui/backends/embedded-backend.js +1 -1
  303. package/package.json +3 -1
  304. package/skills/tools/configure-xopc/SKILL.md +10 -3
  305. package/skills/tools/configure-xopc/references/browser/chrome-extension.md +4 -1
  306. package/skills/tools/configure-xopc/references/browser/overview.md +2 -2
  307. package/skills/tools/configure-xopc/references/phone/aliyun.md +3 -2
  308. package/skills/tools/configure-xopc/references/phone/overview.md +2 -2
  309. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-Dne9A10p.js +0 -1
  310. package/dist/gateway/static/root/assets/agent-plugin-dialog-BoHL-b1o.js +0 -1
  311. package/dist/gateway/static/root/assets/agents-CIiIlVBp.js +0 -77
  312. package/dist/gateway/static/root/assets/app-link-1j40sJ-z.js +0 -1
  313. package/dist/gateway/static/root/assets/apps-page-vgS1CHDj.js +0 -1
  314. package/dist/gateway/static/root/assets/attachment-load-qjPpQzYY.js +0 -1
  315. package/dist/gateway/static/root/assets/automation-task-card-MnzgyTVA.js +0 -3
  316. package/dist/gateway/static/root/assets/automations-workspace-C3xZLafX.js +0 -9
  317. package/dist/gateway/static/root/assets/browser-settings-page-BD1uF_Nb.js +0 -3
  318. package/dist/gateway/static/root/assets/capabilities-BGE6hiUE.js +0 -1
  319. package/dist/gateway/static/root/assets/capabilities-page-Bda4mSdf.js +0 -2
  320. package/dist/gateway/static/root/assets/capabilities-settings-panel-B2B7no22.js +0 -8
  321. package/dist/gateway/static/root/assets/channels-NtsjZThx.js +0 -1
  322. package/dist/gateway/static/root/assets/chat-page-BnOCCAXG.js +0 -72
  323. package/dist/gateway/static/root/assets/composer-payload-handoff-CQc-VTaL.js +0 -1
  324. package/dist/gateway/static/root/assets/confirm-dialog-XGclfBqe.js +0 -1
  325. package/dist/gateway/static/root/assets/connected-providers-grid-CcXe9kz5.js +0 -1
  326. package/dist/gateway/static/root/assets/connectors-page-Ci0L2How.js +0 -1
  327. package/dist/gateway/static/root/assets/dependency-picker-cbC6-2Ya.js +0 -1
  328. package/dist/gateway/static/root/assets/device-pairing-wizard-_3BJFWVQ.js +0 -1
  329. package/dist/gateway/static/root/assets/dist-CaUuvp8-.js +0 -1
  330. package/dist/gateway/static/root/assets/dist-D3lWNSe7.js +0 -1
  331. package/dist/gateway/static/root/assets/dist-DfWfZ9iu.js +0 -1
  332. package/dist/gateway/static/root/assets/dist-DusecO_p.js +0 -1
  333. package/dist/gateway/static/root/assets/home-page-D6pCBY1V.js +0 -2
  334. package/dist/gateway/static/root/assets/index-Cc41XQid.css +0 -1
  335. package/dist/gateway/static/root/assets/index-CnOYR6jq.js +0 -11
  336. package/dist/gateway/static/root/assets/install-connector-dialog-BuNXON0P.js +0 -1
  337. package/dist/gateway/static/root/assets/local-app-workbench-page-CP-BkbB6.js +0 -1
  338. package/dist/gateway/static/root/assets/management-settings-I-pXv4ML.js +0 -1
  339. package/dist/gateway/static/root/assets/model-selector-CXcxc30J.js +0 -1
  340. package/dist/gateway/static/root/assets/note-detail-panel-CbpLXAVh.js +0 -5
  341. package/dist/gateway/static/root/assets/note-image-lightbox-cLGiF8oU.js +0 -1
  342. package/dist/gateway/static/root/assets/personal-page-CXR1Gy0x.js +0 -1
  343. package/dist/gateway/static/root/assets/phone-settings-page-vg65qilc.js +0 -1
  344. package/dist/gateway/static/root/assets/plugin-details-dialog-B3Hn2cbx.js +0 -1
  345. package/dist/gateway/static/root/assets/project-detail-page-Ch-ZMyTu.js +0 -7
  346. package/dist/gateway/static/root/assets/projects-page-B7cetxao.js +0 -1
  347. package/dist/gateway/static/root/assets/route-preload-Zc5Z3fNv.js +0 -2
  348. package/dist/gateway/static/root/assets/session-manager-ChUtTAoG.js +0 -23
  349. package/dist/gateway/static/root/assets/sessions-page-Bt52kBvJ.js +0 -1
  350. package/dist/gateway/static/root/assets/setup-status-panel-A6uMpGRy.js +0 -1
  351. package/dist/gateway/static/root/assets/share-link-dialog-D1otGSXD.js +0 -1
  352. package/dist/gateway/static/root/assets/shares-settings-Bmfadz8A.js +0 -1
  353. package/dist/gateway/static/root/assets/skills-page-BZklXTX9.js +0 -2
  354. package/dist/gateway/static/root/assets/task-detail-page-SjZGW1Dx.js +0 -2
  355. package/dist/gateway/static/root/assets/tracing-settings-page-MvG4SH64.js +0 -1
  356. package/dist/gateway/static/root/assets/use-composer-attachments-vDdxHtUb.js +0 -2
  357. package/dist/gateway/static/root/assets/use-file-preview-expanded-Ce2mgYme.js +0 -2
  358. package/dist/gateway/static/root/assets/user-model-page-DRSsn4EV.js +0 -2
  359. package/dist/gateway/static/root/assets/voice-transcribe-api-Bbyj0yGR.js +0 -1
  360. package/dist/gateway/static/root/assets/working-directory-picker-modal-CDZ1xh3o.js +0 -1
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{m as i}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{a,i as o,n as s,o as c}from"./locale-store-Br7IfbXK.js";import{t as l}from"./messages-ByFlEbsu.js";import{a as u,n as d,o as f,r as p,s as m,t as h}from"./dist-BGTk37IG.js";import{t as g}from"./activity-YogQEteU.js";import{t as _}from"./chevron-left-DqFhpbvK.js";import{t as v}from"./chevron-right-BweFrslA.js";import{n as y,r as b,t as x}from"./popover-select-CEMWIrtY.js";import{t as S}from"./laptop-CI3hBVrl.js";import{n as C,t as ee}from"./shield-off-2jsucUds.js";import{t as w}from"./plus-Q2yW6OE7.js";import{t as T}from"./search-DA7gz22f.js";import{t as E}from"./smartphone-DSSsQFqA.js";import{t as te}from"./x-B_N4OPjy.js";import{t as D}from"./cn-0WouolD0.js";import{t as O}from"./skeleton-BI5TyibZ.js";import{s as k}from"./session-api-Bs3r_d2_.js";import{i as A,o as j}from"./vendor-swr-CdRzEUwF.js";import{t as M}from"./button-Cc4hUNTt.js";import{i as ne,o as N}from"./settings-shell-dialog-layer-BU3UuiJr.js";import{t as P}from"./page-tabs-oeTY7z3_.js";import{n as F}from"./index.module-Cd9ENXfk.js";import{t as I}from"./confirm-dialog-D7dQJytv.js";import{t as L}from"./refresh-button-DiWdGAaX.js";import{n as R}from"./settings-loading-skeleton-BTqvr_Fw.js";import{n as z,t as B}from"./settings-page-header-BZl4AMiN.js";import{t as re}from"./settings-page-layout-onhEgq-K.js";import{t as V}from"./device-pairing-wizard-DH_uJ698.js";var H=n(),U=e(t(),1),W=r();async function ie(e=`GET`,t,n){let r=await a(o(`/api/endpoint-tools/target-authorizations`+(n?`/`+encodeURIComponent(n):``)),{method:e,...t?{body:JSON.stringify(t)}:{}});if(!r.ok)throw Error(r.status===403?`owner`:`unavailable`);return(await r.json()).payload}function ae({devices:e,zh:t}){let n=A(`device-single-call-grants`,()=>ie(),{refreshInterval:5e3,shouldRetryOnError:!1}),r=A(n.error?null:`device-grant-conversations`,()=>k({limit:100}),{shouldRetryOnError:!1}),[i,a]=(0,U.useState)(``),[o,s]=(0,U.useState)(``),[c,l]=(0,U.useState)(``),[u,d]=(0,U.useState)(`weather`),[f,p]=(0,U.useState)(`approximate`),[m,h]=(0,U.useState)(`restaurant`),[g,_]=(0,U.useState)(!1),[v,y]=(0,U.useState)(!1);if(n.error)return null;let b=e.flatMap(e=>e.endpoints.map(t=>({...t,label:e.displayName+` · `+e.platform+` · `+e.id.slice(-8)}))),S=b.find(e=>e.endpointId===c)?.tools.find(e=>e.descriptor.name.endsWith(`.device.get_location`))?.descriptor.name,C=async()=>{if(!(!S||!i||!o)){_(!0),y(!1);try{await ie(`POST`,{conversationId:i,requestorPrincipalId:o,targetEndpointId:c,toolName:S,arguments:{purpose:u,precision:f,...u===`nearby`?{category:m}:{}}}),await n.mutate()}catch{y(!0)}finally{_(!1)}}};return(0,W.jsxs)(`section`,{className:`mb-5 rounded-xl border border-edge bg-surface-base p-4`,children:[(0,W.jsx)(`h3`,{className:`font-semibold text-fg`,children:t?`跨设备单次授权`:`Single-call device authorization`}),(0,W.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:t?`为指定会话和来源设备授权一次定位查询,60 秒后失效。目标设备仍需确认;授权后请在来源设备继续请求。`:`Authorize one location query for a conversation and source device. Expires in 60 seconds; target-device consent is still required. Continue the request from the source device.`}),n.isLoading||r.isLoading?(0,W.jsx)(O,{className:`mt-3 h-28`}):(0,W.jsxs)(`div`,{className:`mt-3 grid gap-3 sm:grid-cols-2`,children:[(0,W.jsx)(x,{value:i,onChange:a,placeholder:t?`选择会话`:`Conversation`,ariaLabel:t?`会话`:`Conversation`,options:(r.data?.items??[]).map(e=>({value:e.key,label:e.name||e.key}))}),(0,W.jsx)(x,{value:o,onChange:s,placeholder:t?`消息来源设备`:`Source device`,ariaLabel:t?`消息来源设备`:`Source device`,options:e.filter(e=>e.endpoints.length>0).map(e=>({value:e.id,label:e.displayName+` · `+e.platform+` · `+e.id.slice(-8)}))}),(0,W.jsx)(x,{value:c,onChange:l,placeholder:t?`使用哪台设备的位置`:`Location device`,ariaLabel:t?`目标设备`:`Target device`,options:b.filter(e=>e.tools.some(e=>e.descriptor.name.endsWith(`.device.get_location`))).map(e=>({value:e.endpointId,label:e.label}))}),(0,W.jsx)(x,{placeholder:t?`用途`:`Purpose`,value:u,onChange:e=>d(e),ariaLabel:t?`用途`:`Purpose`,options:[{value:`weather`,label:t?`查询天气`:`Weather`},{value:`nearby`,label:t?`附近地点`:`Nearby places`}],allowEmpty:!1}),(0,W.jsx)(x,{placeholder:t?`精度`:`Precision`,value:f,onChange:e=>p(e),ariaLabel:t?`精度`:`Precision`,options:[{value:`approximate`,label:t?`大致位置`:`Approximate`},{value:`precise`,label:t?`精确位置`:`Precise`}],allowEmpty:!1}),u===`nearby`?(0,W.jsx)(x,{placeholder:t?`地点类型`:`Category`,value:m,onChange:h,ariaLabel:t?`附近地点类型`:`Place category`,options:[`restaurant`,`cafe`,`pharmacy`,`park`].map((e,n)=>({value:e,label:t?[`餐厅`,`咖啡馆`,`药店`,`公园`][n]:e})),allowEmpty:!1}):null,(0,W.jsx)(M,{variant:`primary`,disabled:g||!i||!o||!S,onClick:()=>void C(),children:t?`允许一次`:`Allow once`})]}),v?(0,W.jsx)(`p`,{role:`alert`,className:`mt-2 text-sm text-fg-muted`,children:t?`授权失败,请检查设备连接后重试。`:`Authorization failed. Check the device connection.`}):null,(0,W.jsx)(`div`,{className:`mt-3 space-y-2`,children:n.data?.map(r=>(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-sm text-fg-muted`,children:[(0,W.jsxs)(`span`,{children:[e.find(e=>e.endpoints.some(e=>e.endpointId===r.targetEndpointId))?.displayName??(t?`设备`:`Device`),` · `,r.state===`running`?t?`执行中`:`Running`:t?`等待本次调用`:`Awaiting one call`]}),(0,W.jsx)(M,{disabled:g,onClick:()=>{_(!0),ie(`DELETE`,void 0,r.id).then(()=>n.mutate()).catch(()=>y(!0)).finally(()=>_(!1))},children:t?`撤销`:`Revoke`})]},r.id))})]})}var oe=720*60*60*1e3;function se(e){let t=[e.access,e.principal].filter(e=>e!==null);return t.length>0&&t.every(e=>e.revokedAt!==void 0)}function G(e){return se(e)?`revoked`:e.endpoints.length>0?`online`:`offline`}function ce(e){return new Set(e.endpoints.flatMap(e=>e.tools.map(({descriptor:e})=>e.name))).size}function le(e,t=Date.now()){return G(e)===`offline`&&(e.lastSeenAt??e.createdAt)<t-oe}function ue(e,t,n=Date.now()){let r=t.query.trim().toLocaleLowerCase();return e.filter(e=>{let i=G(e),a=t.status===`all`||(t.status===`active`?i!==`revoked`:t.status===`stale`?le(e,n):i===t.status),o=!t.platform||e.platform===t.platform,s=!r||[e.displayName,e.id,e.kind,e.platform].some(e=>e.toLocaleLowerCase().includes(r));return a&&o&&s})}function de(e){return e.length>8?e.slice(-8):e}function fe(e){let t=(0,H.c)(61),{device:n,busy:r,onClose:i,onRevoke:a,onRename:o}=e,c=s(pe),g;t[0]===c?g=t[1]:(g=l(c),t[0]=c,t[1]=g);let _=g.endpointToolsSettings,v=c===`zh`?`zh-CN`:`en`,y;t[2]===v?y=t[3]:(y=new Intl.DateTimeFormat(v,{dateStyle:`medium`,timeStyle:`short`}),t[2]=v,t[3]=y);let b=y,x;t[4]===n?x=t[5]:(x=n?G(n):`offline`,t[4]=n,t[5]=x);let S=x,C=n!==null,w;t[6]===i?w=t[7]:(w=e=>!e&&i(),t[6]=i,t[7]=w);let T;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,W.jsx)(u,{className:D(`xopc-dialog-overlay fixed inset-0 bg-scrim`,N)}),t[8]=T):T=t[8];let E;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(E=D(`xopc-drawer-right fixed right-0 top-0 flex size-full max-w-lg flex-col border-l border-edge bg-surface-overlay shadow-popover outline-none`,ne),t[9]=E):E=t[9];let O=n?.displayName??_.deviceDetails,k;t[10]===O?k=t[11]:(k=(0,W.jsx)(m,{className:`truncate text-base font-semibold text-fg`,children:O}),t[10]=O,t[11]=k);let A;t[12]===n?A=t[13]:(A=n?(0,W.jsxs)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:[n.kind,` · `,n.platform,` · `,de(n.id)]}):null,t[12]=n,t[13]=A);let j;t[14]!==k||t[15]!==A?(j=(0,W.jsxs)(`div`,{className:`min-w-0`,children:[k,A]}),t[14]=k,t[15]=A,t[16]=j):j=t[16];let P;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,W.jsx)(te,{className:`size-5`,"aria-hidden":!0}),t[17]=P):P=t[17];let F;t[18]===_.close?F=t[19]:(F=(0,W.jsx)(d,{asChild:!0,children:(0,W.jsx)(M,{variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":_.close,children:P})}),t[18]=_.close,t[19]=F);let I;t[20]!==j||t[21]!==F?(I=(0,W.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-3 border-b border-edge px-4 py-3`,children:[j,F]}),t[20]=j,t[21]=F,t[22]=I):I=t[22];let L;t[23]!==_.accessActive||t[24]!==_.accessRevoked||t[25]!==_.accessTitle||t[26]!==_.createdAt||t[27]!==_.endpointCount||t[28]!==_.endpointsTitle||t[29]!==_.identityId||t[30]!==_.identityTitle||t[31]!==_.lastSeen||t[32]!==_.never||t[33]!==_.noAccessIdentity||t[34]!==_.noOnlineEndpoints||t[35]!==_.noPermissions||t[36]!==_.permissions||t[37]!==_.status||t[38]!==_.statusLabel||t[39]!==_.toolCount||t[40]!==n||t[41]!==b||t[42]!==c||t[43]!==o||t[44]!==S?(L=n?(0,W.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-5 overflow-y-auto p-4`,children:[n.principal&&S!==`revoked`&&o?(0,W.jsx)(me,{device:n,zh:c===`zh`,onRename:o},`${n.id}:${n.settingsRevision??0}`):null,(0,W.jsxs)(`dl`,{className:`grid grid-cols-2 gap-3 rounded-xl bg-surface-hover/40 p-4`,children:[(0,W.jsx)(K,{label:_.statusLabel,value:_.status[S]}),(0,W.jsx)(K,{label:_.lastSeen,value:n.lastSeenAt?b.format(n.lastSeenAt):_.never}),(0,W.jsx)(K,{label:_.endpointCount,value:String(n.endpoints.length)}),(0,W.jsx)(K,{label:_.toolCount,value:String(ce(n))})]}),(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:_.accessTitle}),(0,W.jsx)(`div`,{className:`mt-2 rounded-xl border border-edge-subtle bg-surface-base p-3 text-xs text-fg-muted`,children:n.access?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`p`,{children:n.access.revokedAt?_.accessRevoked:_.accessActive}),(0,W.jsx)(`p`,{className:`mt-1`,children:n.access.requestProofVersion===1?c===`zh`?`设备请求签名已启用`:`Device request signing enabled`:c===`zh`?`请求签名未启用,设备不可用`:`Request signing is missing; device unavailable`}),(0,W.jsxs)(`p`,{className:`mt-1 break-words`,children:[_.permissions,`: `,n.access.scopes.join(`, `)||_.noPermissions]})]}):(0,W.jsx)(`p`,{children:_.noAccessIdentity})})]}),n.access&&!n.access.revokedAt&&n.platform!==`chrome`?(0,W.jsx)(he,{device:n,zh:c===`zh`},n.id):null,(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:_.endpointsTitle}),(0,W.jsxs)(`div`,{className:`mt-2 space-y-2`,children:[n.endpoints.length===0?(0,W.jsx)(`p`,{className:`text-sm text-fg-muted`,children:_.noOnlineEndpoints}):null,n.endpoints.map(e=>(0,W.jsxs)(`article`,{className:`rounded-xl border border-edge-subtle bg-surface-base p-3`,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-2`,children:[(0,W.jsx)(`p`,{className:`min-w-0 break-all text-xs font-medium text-fg`,children:e.endpointId}),(0,W.jsxs)(`span`,{className:`text-xs text-fg-muted`,children:[_.status[e.availability],` · v`,e.appVersion]})]}),(0,W.jsx)(`div`,{className:`mt-3 space-y-2`,children:e.tools.map(e=>{let{descriptor:t}=e;return(0,W.jsxs)(`div`,{className:`rounded-lg bg-surface-hover/50 px-3 py-2`,children:[(0,W.jsx)(`p`,{className:`break-all text-xs font-medium text-fg`,children:t.title}),(0,W.jsxs)(`p`,{className:`mt-0.5 break-words text-xs text-fg-subtle`,children:[t.requiresForeground?c===`zh`?`需要设备在前台 · `:`Requires foreground · `:``,t.confirmation===`always`?c===`zh`?`每次确认`:`Confirm each time`:c===`zh`?`按已授权范围调用`:`Uses the authorized scope`]})]},t.name)})})]},e.connectionId))]})]}),(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:_.identityTitle}),n.principal&&S!==`revoked`&&o?(0,W.jsx)(me,{device:n,zh:c===`zh`,onRename:o},`${n.id}:${n.settingsRevision??0}`):null,(0,W.jsxs)(`dl`,{className:`mt-2 rounded-xl border border-edge-subtle bg-surface-base p-3 text-xs`,children:[(0,W.jsx)(K,{label:_.identityId,value:n.id,breakAll:!0}),(0,W.jsx)(`div`,{className:`mt-3`,children:(0,W.jsx)(K,{label:_.createdAt,value:b.format(n.createdAt)})})]})]})]}):null,t[23]=_.accessActive,t[24]=_.accessRevoked,t[25]=_.accessTitle,t[26]=_.createdAt,t[27]=_.endpointCount,t[28]=_.endpointsTitle,t[29]=_.identityId,t[30]=_.identityTitle,t[31]=_.lastSeen,t[32]=_.never,t[33]=_.noAccessIdentity,t[34]=_.noOnlineEndpoints,t[35]=_.noPermissions,t[36]=_.permissions,t[37]=_.status,t[38]=_.statusLabel,t[39]=_.toolCount,t[40]=n,t[41]=b,t[42]=c,t[43]=o,t[44]=S,t[45]=L):L=t[45];let R;t[46]!==r||t[47]!==_.removeDevice||t[48]!==_.revoking||t[49]!==n||t[50]!==a||t[51]!==S?(R=n&&S!==`revoked`?(0,W.jsx)(`div`,{className:`shrink-0 border-t border-edge px-4 py-3`,children:(0,W.jsxs)(M,{variant:`secondary`,className:`w-full text-danger`,disabled:r,onClick:()=>a(n),children:[(0,W.jsx)(ee,{className:`size-4`,"aria-hidden":!0}),r?_.revoking:_.removeDevice]})}):null,t[46]=r,t[47]=_.removeDevice,t[48]=_.revoking,t[49]=n,t[50]=a,t[51]=S,t[52]=R):R=t[52];let z;t[53]!==I||t[54]!==L||t[55]!==R?(z=(0,W.jsxs)(f,{children:[T,(0,W.jsxs)(p,{className:E,"aria-describedby":void 0,children:[I,L,R]})]}),t[53]=I,t[54]=L,t[55]=R,t[56]=z):z=t[56];let B;return t[57]!==z||t[58]!==C||t[59]!==w?(B=(0,W.jsx)(h,{open:C,onOpenChange:w,children:z}),t[57]=z,t[58]=C,t[59]=w,t[60]=B):B=t[60],B}function pe(e){return e.language}function K(e){let t=(0,H.c)(10),{label:n,value:r,breakAll:i}=e,a=i!==void 0&&i,o;t[0]===n?o=t[1]:(o=(0,W.jsx)(`dt`,{className:`text-xs text-fg-subtle`,children:n}),t[0]=n,t[1]=o);let s=a&&`break-all font-mono text-xs`,c;t[2]===s?c=t[3]:(c=D(`mt-1 text-sm text-fg`,s),t[2]=s,t[3]=c);let l;t[4]!==c||t[5]!==r?(l=(0,W.jsx)(`dd`,{className:c,children:r}),t[4]=c,t[5]=r,t[6]=l):l=t[6];let u;return t[7]!==o||t[8]!==l?(u=(0,W.jsxs)(`div`,{className:`min-w-0`,children:[o,l]}),t[7]=o,t[8]=l,t[9]=u):u=t[9],u}function me({device:e,zh:t,onRename:n}){let[r,i]=(0,U.useState)(e.displayName),[a,o]=(0,U.useState)(!1),[s,c]=(0,U.useState)(!1);return(0,W.jsxs)(`form`,{className:`space-y-2`,onSubmit:async t=>{if(t.preventDefault(),!(a||!r.trim())){o(!0),c(!1);try{await n(e,r.trim())}catch{c(!0)}finally{o(!1)}}},children:[(0,W.jsxs)(`label`,{className:`block text-sm text-fg`,children:[t?`设备名称`:`Device name`,(0,W.jsx)(`input`,{value:r,maxLength:80,onChange:e=>i(e.target.value),className:`mt-2 h-10 w-full rounded-lg border border-edge bg-surface-inset px-3 text-fg`})]}),(0,W.jsx)(M,{type:`submit`,variant:`secondary`,disabled:a||!r.trim()||r.trim()===e.displayName,children:a?t?`保存中…`:`Saving…`:t?`保存名称`:`Save name`}),s?(0,W.jsx)(`p`,{role:`alert`,className:`text-sm text-danger`,children:t?`保存失败,请刷新设备信息后重试。`:`Unable to save. Refresh device information and retry.`}):null]})}function he({device:e,zh:t}){let n=e.access?.scopes.includes(`phone.control`)?`control`:e.access?.scopes.includes(`phone.view`)?`view`:`none`,[r,i]=(0,U.useState)(n),[a,s]=(0,U.useState)(!1),[l,u]=(0,U.useState)(!1);return(0,U.useEffect)(()=>i(n),[n]),(0,W.jsxs)(`section`,{className:`space-y-2`,children:[(0,W.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:t?`云手机访问`:`Cloud phone access`}),(0,W.jsx)(`p`,{className:`text-sm text-fg-muted`,children:t?`移动端配对后默认可查看并接管。可在此关闭,或撤销整个设备的授权。`:`Mobile pairing includes viewing and control by default. Disable it here or revoke the device entirely.`}),(0,W.jsxs)(y,{value:r,disabled:a,onChange:async t=>{let n=t.target.value;s(!0),u(!1);try{await c(o(`/api/phone/device-access/${encodeURIComponent(e.id)}`),{method:`PATCH`,body:JSON.stringify({access:n})}),i(n),await j(o(`/api/endpoint-tools/devices`))}catch{u(!0)}finally{s(!1)}},children:[(0,W.jsx)(b,{value:`none`,children:t?`不允许`:`Not allowed`}),(0,W.jsx)(b,{value:`view`,children:t?`仅查看`:`View only`}),(0,W.jsx)(b,{value:`control`,children:t?`查看并接管`:`View and control`})]}),l?(0,W.jsx)(`p`,{role:`alert`,className:`text-sm text-danger`,children:t?`授权保存失败,请重试。`:`Unable to save phone access.`}):null]})}function ge(e){let t=(0,H.c)(19),{onPaired:n}=e,[r,a]=i(),o=s(ve),c;t[0]===o?c=t[1]:(c=l(o),t[0]=o,t[1]=c);let u=c.endpointToolsSettings.deviceAccess,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d={open:!1},t[2]=d):d=t[2];let[f,p]=(0,U.useState)(d),m,h;t[3]!==r||t[4]!==a?(m=()=>{let e=r.get(`startDevicePairing`);e!==`mobile`&&e!==`browser`||(p({open:!0,target:e}),a(_e,{replace:!0}))},h=[r,a],t[3]=r,t[4]=a,t[5]=m,t[6]=h):(m=t[5],h=t[6]),(0,U.useEffect)(m,h);let g,_;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>p({open:!0}),_=(0,W.jsx)(w,{className:`size-4`,"aria-hidden":!0}),t[7]=g,t[8]=_):(g=t[7],_=t[8]);let v;t[9]===u.addDevice?v=t[10]:(v=(0,W.jsxs)(M,{variant:`primary`,onClick:g,children:[_,u.addDevice]}),t[9]=u.addDevice,t[10]=v);let y;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>p(t=>({...t,open:e})),t[11]=y):y=t[11];let b;t[12]!==f.open||t[13]!==f.target||t[14]!==n?(b=(0,W.jsx)(V,{open:f.open,onOpenChange:y,onPaired:n,targetKind:f.target}),t[12]=f.open,t[13]=f.target,t[14]=n,t[15]=b):b=t[15];let x;return t[16]!==v||t[17]!==b?(x=(0,W.jsxs)(W.Fragment,{children:[v,b]}),t[16]=v,t[17]=b,t[18]=x):x=t[18],x}function _e(e){let t=new URLSearchParams(e);return t.delete(`startDevicePairing`),t}function ve(e){return e.language}async function q(e){let t=await e.json().catch(()=>null);if(!e.ok||t?.payload===void 0)throw Error(t?.error?.message??`Endpoint management request failed: ${e.status}`);return t.payload}function ye(){return o(`/api/endpoint-tools/devices`)}function be(e){let t=new URLSearchParams({page:String(e.page),pageSize:String(e.pageSize)});return e.query.trim()&&t.set(`query`,e.query.trim()),e.principalId&&t.set(`principalId`,e.principalId),e.status&&t.set(`status`,e.status),e.effect&&t.set(`effect`,e.effect),o(`/api/endpoint-tools/invocations?${t}`)}async function xe(){return q(await a(ye()))}async function Se(e){let t=Array.from({length:Math.ceil(e.length/100)},(t,n)=>e.slice(n*100,(n+1)*100));await Promise.all(t.map(async e=>{await q(await a(o(`/api/endpoint-tools/devices/revoke`),{method:`POST`,body:JSON.stringify({ids:e})}))}))}async function Ce(e){return q(await a(be(e)))}async function we(e,t,n){await q(await a(o(`/api/endpoint-tools/devices/${encodeURIComponent(e)}`),{method:`PATCH`,body:JSON.stringify({nickname:t,expectedRevision:n})}))}var Te=5e3,J=20,Ee=20;function De(e){return e===`online`||e===`succeeded`?`bg-success-soft text-success`:e===`running`?`bg-accent-soft text-accent-fg`:e===`failed`||e===`revoked`?`bg-danger-soft text-danger`:`bg-surface-hover text-fg-muted`}function Oe(e){let t=(0,H.c)(5),{status:n,label:r}=e,i;t[0]===n?i=t[1]:(i=D(`rounded-full px-2 py-0.5 text-xs font-medium`,De(n)),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,W.jsx)(`span`,{className:i,children:r}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function Y(){let e=s(e=>e.language),t=l(e).endpointToolsSettings,[n,r]=i(),a=n.get(`view`)===`activity`?`activity`:`devices`,[o,c]=(0,U.useState)(null),[u,d]=(0,U.useState)([]),[f,p]=(0,U.useState)(!1),[m,h]=(0,U.useState)(!1),[y,b]=(0,U.useState)(``),[w,te]=(0,U.useState)(`active`),[O,k]=(0,U.useState)(``),[j,ne]=(0,U.useState)(1),[N,V]=(0,U.useState)(()=>new Set),[H,ie]=(0,U.useState)(``),[oe]=F(H,250),[se,pe]=(0,U.useState)(``),[K,me]=(0,U.useState)(``),[he,_e]=(0,U.useState)(``),[ve,q]=(0,U.useState)(1),De={page:ve,pageSize:Ee,query:oe,principalId:se,status:K,effect:he},Y=A(ye(),xe,{refreshInterval:Te}),X=A(a===`activity`?be(De):null,()=>Ce(De),{refreshInterval:Te,keepPreviousData:!0}),ke=(0,U.useMemo)(()=>new Intl.DateTimeFormat(e===`zh`?`zh-CN`:`en`,{dateStyle:`medium`,timeStyle:`short`}),[e]);if(Y.isLoading&&!Y.data)return(0,W.jsx)(z,{children:(0,W.jsx)(R,{sections:2})});let Z=Y.data??[],Ae=X.data?.items??[],je=Z.filter(e=>G(e)===`online`).length,Me=Z.filter(e=>G(e)!==`revoked`).length,Ne=Z.filter(e=>le(e)).length,Pe=[...new Set(Z.map(e=>e.platform))].toSorted(),Q=ue(Z,{query:y,status:w,platform:O}),Fe=Math.max(1,Math.ceil(Q.length/J)),$=Math.min(j,Fe),Ie=Q.slice(($-1)*J,$*J),Le=Ie.reduce((e,t)=>(G(t)!==`revoked`&&e.push(t.id),e),[]),Re=Le.length>0&&Le.every(e=>N.has(e)),ze=e=>{r(t=>{let n=new URLSearchParams(t);return e===`devices`?n.delete(`view`):n.set(`view`,e),n},{replace:!0})},Be=async()=>{await Promise.all([Y.mutate(),a===`activity`?X.mutate():Promise.resolve()])},Ve=async()=>{if(!(u.length===0||f)){p(!0),h(!1);try{await Se(u.map(e=>e.id)),d([]),V(new Set),await Y.mutate()}catch{h(!0)}finally{p(!1)}}},He=e=>{e(),ne(1),V(new Set)};return(0,W.jsxs)(z,{children:[(0,W.jsx)(B,{title:t.title,subtitle:t.subtitle,actions:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(L,{className:`size-9 shrink-0 p-0`,label:t.refresh,onClick:Be}),(0,W.jsx)(ge,{onPaired:()=>void Y.mutate()})]})}),Y.error||X.error?(0,W.jsx)(`div`,{className:`rounded-xl bg-danger-soft px-4 py-3 text-sm text-danger`,children:t.loadError}):null,(0,W.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:[{label:t.activeDevices,value:Me,filter:`active`},{label:t.onlineDevices,value:je,filter:`online`},{label:t.staleDevices,value:Ne,filter:`stale`}].map(({label:e,value:t,filter:n})=>(0,W.jsxs)(`button`,{type:`button`,className:D(`touch-target rounded-xl px-4 py-3 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,w===n?`bg-surface-active`:`bg-surface-hover/20 hover:bg-surface-hover/50`),"aria-pressed":w===n,onClick:()=>{He(()=>te(n)),ze(`devices`)},children:[(0,W.jsx)(`span`,{className:`text-xs text-fg-muted`,children:e}),(0,W.jsx)(`span`,{className:`mt-1 block text-2xl font-semibold text-fg`,children:t})]},n))}),(0,W.jsx)(P,{items:[{id:`devices`,label:t.devicesTab,icon:C,count:Me},{id:`activity`,label:t.activityTab,icon:g,count:X.data?.total}],activeTab:a,onChange:ze,ariaLabel:t.viewsAria,tabIdPrefix:`endpoint-management-tab`,panelIdPrefix:`endpoint-management-panel`}),(0,W.jsxs)(re,{id:`devices`,activeTab:a,tabIdPrefix:`endpoint-management-tab`,panelIdPrefix:`endpoint-management-panel`,title:t.devicesTitle,hint:t.devicesHint,children:[(0,W.jsx)(ae,{devices:Z,zh:e===`zh`}),(0,W.jsxs)(`div`,{className:`mb-4 grid gap-2 sm:grid-cols-[minmax(0,1fr)_11rem_11rem]`,children:[(0,W.jsxs)(`label`,{className:`relative block`,children:[(0,W.jsx)(`span`,{className:`sr-only`,children:t.searchDevices}),(0,W.jsx)(T,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),(0,W.jsx)(`input`,{type:`search`,"aria-label":t.searchDevices,value:y,placeholder:t.searchDevices,className:`h-10 w-full rounded-lg border border-edge bg-surface-inset pl-9 pr-3 text-base text-fg placeholder:text-fg-subtle focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent sm:text-sm`,onChange:e=>He(()=>b(e.target.value))})]}),(0,W.jsx)(x,{value:w,options:[{value:`active`,label:t.filterActive},{value:`online`,label:t.status.online},{value:`offline`,label:t.status.offline},{value:`stale`,label:t.filterStale},{value:`revoked`,label:t.status.revoked},{value:`all`,label:t.filterAll}],placeholder:t.statusLabel,allowEmpty:!1,ariaLabel:t.statusLabel,onChange:e=>He(()=>te(e))}),(0,W.jsx)(x,{value:O,options:Pe.map(e=>({value:e,label:e})),placeholder:t.allPlatforms,emptyLabel:t.allPlatforms,ariaLabel:t.platformLabel,onChange:e=>He(()=>k(e))})]}),N.size>0?(0,W.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center justify-between gap-3 rounded-xl bg-accent-soft px-3 py-2`,children:[(0,W.jsx)(`p`,{className:`text-sm font-medium text-accent-fg`,children:t.selectedCount.replace(`{{count}}`,String(N.size))}),(0,W.jsxs)(M,{variant:`secondary`,className:`text-danger`,onClick:()=>{h(!1),d(Z.filter(e=>N.has(e.id)))},children:[(0,W.jsx)(ee,{className:`size-4`,"aria-hidden":!0}),t.removeSelected]})]}):null,Z.length===0?(0,W.jsx)(`p`,{className:`text-sm text-fg-muted`,children:t.noDevices}):Q.length===0?(0,W.jsx)(`p`,{className:`text-sm text-fg-muted`,children:t.noMatchingDevices}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{className:`flex min-h-10 items-center gap-3 border-b border-edge-subtle px-1`,children:(0,W.jsxs)(`label`,{className:D(`touch-target flex items-center gap-2 text-xs text-fg-muted`,Le.length>0?`cursor-pointer`:`cursor-not-allowed opacity-50`),children:[(0,W.jsx)(`input`,{type:`checkbox`,"aria-label":t.selectPage,checked:Re,disabled:Le.length===0,className:`size-4 accent-accent`,onChange:e=>{V(t=>{let n=new Set(t);for(let t of Le)e.target.checked?n.add(t):n.delete(t);return n})}}),t.selectPage]})}),(0,W.jsx)(`ul`,{className:`divide-y divide-edge-subtle`,children:Ie.map(e=>{let n=G(e),r=e.kind===`mobile`?E:S;return(0,W.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(`label`,{className:D(`touch-target flex size-10 shrink-0 items-center justify-center`,n===`revoked`?`cursor-not-allowed opacity-40`:`cursor-pointer`),children:(0,W.jsx)(`input`,{type:`checkbox`,checked:N.has(e.id),disabled:n===`revoked`,"aria-label":t.selectDevice.replace(`{{name}}`,e.displayName),className:`size-4 accent-accent`,onChange:t=>{V(n=>{let r=new Set(n);return t.target.checked?r.add(e.id):r.delete(e.id),r})}})}),(0,W.jsxs)(`button`,{type:`button`,className:`touch-target flex min-w-0 flex-1 items-center gap-3 py-3 text-left hover:bg-surface-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,onClick:()=>c(e),children:[(0,W.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-lg bg-surface-inset text-fg-muted`,children:(0,W.jsx)(r,{className:`size-4`,"aria-hidden":!0})}),(0,W.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,W.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`truncate text-sm font-medium text-fg`,children:e.displayName}),(0,W.jsx)(Oe,{status:n,label:t.status[n]})]}),(0,W.jsxs)(`span`,{className:`mt-1 block text-xs text-fg-muted`,children:[e.platform,` · `,de(e.id),` · `,t.lastSeen,`: `,e.lastSeenAt?ke.format(e.lastSeenAt):t.never]})]}),(0,W.jsx)(`span`,{className:`hidden shrink-0 text-right text-xs text-fg-muted sm:block`,children:t.endpointSummary.replace(`{{endpoints}}`,String(e.endpoints.length)).replace(`{{tools}}`,String(ce(e)))}),(0,W.jsx)(v,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":!0})]})]},e.id)})}),(0,W.jsxs)(`div`,{className:`mt-4 flex flex-wrap items-center justify-between gap-3 border-t border-edge-subtle pt-3`,children:[(0,W.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.paginationSummary.replace(`{{from}}`,String(($-1)*J+1)).replace(`{{to}}`,String(Math.min($*J,Q.length))).replace(`{{total}}`,String(Q.length))}),(0,W.jsxs)(`div`,{className:`flex gap-2`,children:[(0,W.jsx)(M,{variant:`ghost`,className:`size-9 p-0`,"aria-label":t.previousPage,disabled:$<=1,onClick:()=>ne(e=>Math.max(1,e-1)),children:(0,W.jsx)(_,{className:`size-4`,"aria-hidden":!0})}),(0,W.jsx)(M,{variant:`ghost`,className:`size-9 p-0`,"aria-label":t.nextPage,disabled:$>=Fe,onClick:()=>ne(e=>Math.min(Fe,e+1)),children:(0,W.jsx)(v,{className:`size-4`,"aria-hidden":!0})})]})]})]})]}),(0,W.jsxs)(re,{id:`activity`,activeTab:a,tabIdPrefix:`endpoint-management-tab`,panelIdPrefix:`endpoint-management-panel`,title:t.callsTitle,hint:t.callsHint,children:[(0,W.jsxs)(`div`,{className:`mb-4 grid gap-2 sm:grid-cols-2 lg:grid-cols-4`,children:[(0,W.jsxs)(`label`,{className:`relative block sm:col-span-2 lg:col-span-1`,children:[(0,W.jsx)(`span`,{className:`sr-only`,children:t.searchActivity}),(0,W.jsx)(T,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),(0,W.jsx)(`input`,{type:`search`,"aria-label":t.searchActivity,value:H,placeholder:t.searchActivity,className:`h-10 w-full rounded-lg border border-edge bg-surface-inset pl-9 pr-3 text-base text-fg placeholder:text-fg-subtle focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent sm:text-sm`,onChange:e=>{ie(e.target.value),q(1)}})]}),(0,W.jsx)(x,{value:se,options:Z.map(e=>({value:e.id,label:`${e.displayName} · ${de(e.id)}`})),placeholder:t.allDevices,emptyLabel:t.allDevices,ariaLabel:t.deviceLabel,onChange:e=>{pe(e),q(1)}}),(0,W.jsx)(x,{value:K,options:[{value:`running`,label:t.status.running},{value:`succeeded`,label:t.status.succeeded},{value:`failed`,label:t.status.failed}],placeholder:t.allStatuses,emptyLabel:t.allStatuses,ariaLabel:t.statusLabel,onChange:e=>{me(e),q(1)}}),(0,W.jsx)(x,{value:he,options:[{value:`read`,label:t.effects.read},{value:`write`,label:t.effects.write},{value:`destructive`,label:t.effects.destructive}],placeholder:t.allEffects,emptyLabel:t.allEffects,ariaLabel:t.effectLabel,onChange:e=>{_e(e),q(1)}})]}),X.isLoading&&!X.data?(0,W.jsx)(R,{sections:1}):null,Ae.length===0&&!X.isLoading?(0,W.jsx)(`p`,{className:`text-sm text-fg-muted`,children:t.noMatchingCalls}):null,(0,W.jsx)(`div`,{className:`space-y-2`,children:Ae.map(e=>(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-lg bg-surface-base/55 px-3 py-2.5`,children:[(0,W.jsxs)(`div`,{className:`min-w-0`,children:[(0,W.jsx)(`p`,{className:`break-all text-sm font-medium text-fg`,children:e.toolName}),(0,W.jsxs)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:[ke.format(e.startedAt),` · `,t.effects[e.effect],` · `,e.endpointId]}),e.errorMessage?(0,W.jsx)(`p`,{className:`mt-1 text-xs text-danger`,children:e.errorMessage}):null]}),(0,W.jsx)(Oe,{status:e.status,label:t.status[e.status]})]},e.id))}),X.data&&X.data.total>0?(0,W.jsxs)(`div`,{className:`mt-4 flex flex-wrap items-center justify-between gap-3 border-t border-edge-subtle pt-3`,children:[(0,W.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.paginationSummary.replace(`{{from}}`,String((X.data.page-1)*X.data.pageSize+1)).replace(`{{to}}`,String(Math.min(X.data.page*X.data.pageSize,X.data.total))).replace(`{{total}}`,String(X.data.total))}),(0,W.jsxs)(`div`,{className:`flex gap-2`,children:[(0,W.jsx)(M,{variant:`ghost`,className:`size-9 p-0`,"aria-label":t.previousPage,disabled:X.data.page<=1,onClick:()=>q(e=>Math.max(1,e-1)),children:(0,W.jsx)(_,{className:`size-4`,"aria-hidden":!0})}),(0,W.jsx)(M,{variant:`ghost`,className:`size-9 p-0`,"aria-label":t.nextPage,disabled:X.data.page>=X.data.totalPages,onClick:()=>q(e=>Math.min(X.data.totalPages,e+1)),children:(0,W.jsx)(v,{className:`size-4`,"aria-hidden":!0})})]})]}):null]}),(0,W.jsx)(fe,{device:o,busy:f,onRename:async(e,t)=>{await we(e.id,t,e.settingsRevision??0);let n=await Y.mutate();c(n?.find(t=>t.id===e.id)??null)},onClose:()=>c(null),onRevoke:e=>{c(null),h(!1),d([e])}}),(0,W.jsx)(I,{open:u.length>0,title:u.length>1?t.removeManyTitle:t.removeTitle,description:`${u.length>1?t.removeManyDescription.replace(`{{count}}`,String(u.length)):t.removeDescription.replace(`{{name}}`,u[0]?.displayName??``)}${m?`\n\n${t.revokeError}`:``}`,confirmLabel:f?t.revoking:t.removeDevice,cancelLabel:t.cancel,destructive:!0,onConfirm:()=>void Ve(),onCancel:()=>{f||d([])}})]})}export{Y as EndpointToolsManagementSettings};
@@ -1,4 +1,4 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,i as n,n as r,t as i}from"./vendor-react-BOUWij0V.js";import{l as a,u as o}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{n as s}from"./locale-store-Br7IfbXK.js";import{t as c}from"./messages-ByFlEbsu.js";import{t as l}from"./createLucideIcon-DPHK1VkS.js";import{t as u}from"./download-Dk-ZjtO6.js";import{t as d}from"./file-image-CDUPkZvG.js";import{t as f}from"./plus-Q2yW6OE7.js";import{t as p}from"./x-B_N4OPjy.js";import{t as m}from"./cn-0WouolD0.js";import{a as h,n as g,o as _,r as v,s as y,t as b}from"./dist-DfWfZ9iu.js";import{n as x,r as S,t as C}from"./app-link-1j40sJ-z.js";import{t as ee}from"./copy-to-clipboard-HOJ79TWv.js";import{a as te,c as ne,i as re,l as w,n as ie,o as ae,r as oe,s as se,t as ce}from"./xml-_d7dTN2Q.js";import{n as le}from"./mermaid-render-oOellPHt.js";var ue=l(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),de=l(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]);function fe(e,t){this.v=e,this.k=t}function pe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function me(e){if(Array.isArray(e))return e}function he(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function ge(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,i as n,n as r,t as i}from"./vendor-react-BOUWij0V.js";import{l as a,u as o}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{n as s}from"./locale-store-Br7IfbXK.js";import{t as c}from"./messages-ByFlEbsu.js";import{a as l,n as u,o as d,r as f,s as p,t as m}from"./dist-BGTk37IG.js";import{t as h}from"./createLucideIcon-DPHK1VkS.js";import{t as g}from"./download-Dk-ZjtO6.js";import{t as _}from"./file-image-CDUPkZvG.js";import{t as v}from"./plus-Q2yW6OE7.js";import{t as y}from"./x-B_N4OPjy.js";import{t as b}from"./cn-0WouolD0.js";import{n as x,r as S,t as C}from"./app-link-DRy3-k7j.js";import{t as ee}from"./copy-to-clipboard-HOJ79TWv.js";import{a as te,c as ne,i as re,l as w,n as ie,o as ae,r as oe,s as se,t as ce}from"./xml-_d7dTN2Q.js";import{n as le}from"./mermaid-render-oOellPHt.js";var ue=h(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),de=h(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]);function fe(e,t){this.v=e,this.k=t}function pe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function me(e){if(Array.isArray(e))return e}function he(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function ge(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function T(e,t){return me(e)||he(e,t)||_e(e,t)||ge()}function _e(e,t){if(e){if(typeof e==`string`)return pe(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pe(e,t):void 0}}function ve(e){var t,n;function r(t,n){try{var a=e[t](n),o=a.value,s=o instanceof fe;Promise.resolve(s?o.v:o).then(function(n){if(s){var c=t===`return`&&o.k?t:`next`;if(!o.k||n.done)return r(c,n);n=e[c](n).value}i(!!a.done,n)},function(e){r(`throw`,e)})}catch(e){i(2,e)}}function i(e,i){e===2?t.reject(i):t.resolve({value:i,done:e}),(t=t.next)?r(t.key,t.arg):n=null}this._invoke=function(e,i){return new Promise(function(a,o){var s={key:e,arg:i,resolve:a,reject:o,next:null};n?n=n.next=s:(t=n=s,r(e,i))})},typeof e.return!=`function`&&(this.return=void 0)}ve.prototype[typeof Symbol==`function`&&Symbol.asyncIterator||`@@asyncIterator`]=function(){return this},ve.prototype.next=function(e){return this._invoke(`next`,e)},ve.prototype.throw=function(e){return this._invoke(`throw`,e)},ve.prototype.return=function(e){return this._invoke(`return`,e)};var ye=Object.entries,be=Object.setPrototypeOf,xe=Object.isFrozen,Se=Object.getPrototypeOf,Ce=Object.getOwnPropertyDescriptor,we=Object.freeze,Te=Object.seal,Ee=Object.create,De=typeof Reflect<`u`&&Reflect,Oe=De.apply,ke=De.construct;we||=function(e){return e},Te||=function(e){return e},Oe||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},ke||=function(e){return new e(...[...arguments].slice(1))};var Ae=D(Array.prototype.forEach);Array.prototype.indexOf;var je=D(Array.prototype.lastIndexOf),Me=D(Array.prototype.pop),Ne=D(Array.prototype.push),Pe=D(Array.prototype.slice),Fe=D(Array.prototype.splice),Ie=Array.isArray,Le=$e(Set),Re=D(Set.prototype.add),ze=D(Set.prototype.has),Be=D(String.prototype.toLowerCase),Ve=D(String.prototype.toString),He=D(String.prototype.match),Ue=D(String.prototype.replace),We=D(String.prototype.indexOf),Ge=D(String.prototype.trim),Ke=D(Number.prototype.toString),qe=D(Boolean.prototype.toString),E=typeof BigInt>`u`?null:D(BigInt.prototype.toString),Je=typeof Symbol>`u`?null:D(Symbol.prototype.toString),Ye=D(Object.prototype.hasOwnProperty),Xe=D(Object.prototype.toString),Ze=D(RegExp.prototype.test),Qe=$e(TypeError);function D(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return Oe(e,t,n)}}function $e(e){return function(){return ke(e,[...arguments])}}function O(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Be;if(be&&be(e,null),!Ie(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(xe(t)||(t[r]=e),i=e)}e[i]=!0}return e}function et(e){for(let t=0;t<e.length;t++)Ye(e,t)||(e[t]=null);return e}function tt(e){let t=Ee(null);for(let r of ye(e)){var n=T(r,2);let i=n[0],a=n[1];Ye(e,i)&&(Ie(a)?t[i]=et(a):a&&typeof a==`object`&&a.constructor===Object?t[i]=tt(a):t[i]=a)}return t}function nt(e){switch(typeof e){case`string`:return e;case`number`:return Ke(e);case`boolean`:return qe(e);case`bigint`:return E?E(e):`0`;case`symbol`:return Je?Je(e):`Symbol()`;case`undefined`:return Xe(e);case`function`:case`object`:{if(e===null)return Xe(e);let t=e,n=rt(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:Xe(e)}return Xe(e)}default:return Xe(e)}}function rt(e,t){for(;e!==null;){let n=Ce(e,t);if(n){if(n.get)return D(n.get);if(typeof n.value==`function`)return D(n.value)}e=Se(e)}function n(){return null}return n}function it(e,t){for(;e!==null;){let n=Ce(e,t);if(n)return n.get?D(n.get):null;e=Se(e)}return null}function at(e){try{return Ze(e,``),!0}catch{return!1}}var ot=we(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),st=we(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),ct=we([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),lt=we([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),ut=we(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),dt=we([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),ft=we([`#text`]),pt=we(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.command.commandfor.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns`.split(`.`)),mt=we(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dominant-baseline.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.pointer-events.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-orientation.text-rendering.textlength.type.u1.u2.unicode.values.vector-effect.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),ht=we(`accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),gt=we([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),_t=Te(/{{[\w\W]*|^[\w\W]*}}/g),vt=Te(/<%[\w\W]*|^[\w\W]*%>/g),yt=Te(/\${[\w\W]*/g),bt=Te(/^data-[\-\w.\u00B7-\uFFFF]+$/),xt=Te(/^aria-[\-\w]+$/),St=Te(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ct=Te(/^(?:\w+script|data):/i),wt=Te(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Tt=Te(/^html$/i),Et=Te(/^[a-z][.\w]*(-[.\w]+)+$/i),Dt=Te(/<[/\w!]/g),Ot=Te(/<[/\w]/g),kt=Te(/<\/no(script|embed|frames)/i),At=Te(/\/>/i),jt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Mt=we(O({},[`style`,`script`,`xmp`,`iframe`,`noembed`,`noframes`,`plaintext`,`noscript`])),Nt=function(){return typeof window>`u`?null:window},Pt=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},Ft=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},It=function(e,t,n,r){return Ye(e,t)&&Ie(e[t])?O(r.base?tt(r.base):{},e[t],r.transform):n},Lt=function(e,t,n){let r=Ye(e,t)?e[t]:void 0;return r&&typeof r==`object`?tt(r):n()};function Rt(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Nt(),t=e=>Rt(e);if(t.version=`3.4.17`,t.removed=[],!e||!e.document||e.document.nodeType!==jt.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,o=e.Node,s=e.Element,c=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let l=e.DOMParser,u=e.trustedTypes,d=s.prototype,f=rt(d,`cloneNode`),p=rt(d,`remove`),m=rt(d,`removeAttributeNode`),h=rt(d,`nextSibling`),g=rt(d,`childNodes`),_=rt(d,`parentNode`),v=rt(d,`shadowRoot`),y=rt(d,`attributes`),b=o&&o.prototype?rt(o.prototype,`nodeType`):null,x=o&&o.prototype?rt(o.prototype,`nodeName`):null,S=o&&o.prototype?rt(o.prototype,`ownerDocument`):null,C=function(e){return b?b(e):e.nodeType},ee=function(e){return x?x(e):e.nodeName},te=it(d,`namespaceURI`),ne=function(e){return te?te(e):e.namespaceURI};if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let re,w=``,ie,ae=!1,oe=0,se=function(){if(oe>0)throw Qe(`A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`)},ce=function(e){se(),oe++;try{return re.createHTML(e)}finally{oe--}},le=function(e){se(),oe++;try{return re.createScriptURL(e)}finally{oe--}},ue=function(){return ae||=(ie=Pt(u,i),!0),ie},de=n,fe=de.implementation,pe=de.createNodeIterator,me=de.createDocumentFragment,he=de.getElementsByTagName,ge=r.importNode,T=Ft();t.isSupported=typeof ye==`function`&&typeof _==`function`&&fe&&fe.createHTMLDocument!==void 0;let _e=_t,ve=vt,be=yt,xe=bt,Se=xt,Ce=Ct,De=wt,Oe=Et,ke=St,Ke=null,qe=O({},[...ot,...st,...ct,...ut,...ft]),E=null,Je=O({},[...pt,...mt,...ht,...gt]),Xe=Object.seal(Ee(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),D=null,$e=null,et=Object.seal(Ee(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),zt=!0,Bt=!0,Vt=!1,Ht=!0,Ut=!1,k=!0,Wt=!1,Gt=!1,Kt=null,qt=null,Jt=!1,Yt=!1,Xt=!1,Zt=!1,Qt=!0,$t=!1,en=`user-content-`,tn=!0,nn=!1,rn=null,an={},on=null,sn=O({},`annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp`.split(`.`)),cn=null,ln=O({},[`audio`,`video`,`img`,`source`,`image`,`track`]),un=null,dn=O({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),fn=`http://www.w3.org/1998/Math/MathML`,pn=`http://www.w3.org/2000/svg`,mn=`http://www.w3.org/1999/xhtml`,hn=mn,gn=!1,_n=null,vn=O({},[fn,pn,mn],Ve),yn=we([`mi`,`mo`,`mn`,`ms`,`mtext`]),bn=O({},yn),xn=we([`annotation-xml`]),Sn=O({},xn),Cn=O({},[`title`,`style`,`font`,`a`,`script`]),wn=null,Tn=[`application/xhtml+xml`,`text/html`],En=null,Dn=null,On=n.createElement(`form`),A=function(e){return e instanceof RegExp||e instanceof Function},kn=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Dn&&Dn===e)return;(!e||typeof e!=`object`)&&(e={}),e=tt(e),wn=Tn.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,En=wn===`application/xhtml+xml`?Ve:Be,Ke=It(e,`ALLOWED_TAGS`,qe,{transform:En}),E=It(e,`ALLOWED_ATTR`,Je,{transform:En}),_n=It(e,`ALLOWED_NAMESPACES`,vn,{transform:Ve}),un=It(e,`ADD_URI_SAFE_ATTR`,dn,{transform:En,base:dn}),cn=It(e,`ADD_DATA_URI_TAGS`,ln,{transform:En,base:ln}),on=It(e,`FORBID_CONTENTS`,sn,{transform:En}),D=It(e,`FORBID_TAGS`,tt({}),{transform:En}),$e=It(e,`FORBID_ATTR`,tt({}),{transform:En}),an=Ye(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?tt(e.USE_PROFILES):e.USE_PROFILES:!1,zt=e.ALLOW_ARIA_ATTR!==!1,Bt=e.ALLOW_DATA_ATTR!==!1,Vt=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Ht=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ut=e.SAFE_FOR_TEMPLATES||!1,k=e.SAFE_FOR_XML!==!1,Wt=e.WHOLE_DOCUMENT||!1,Yt=e.RETURN_DOM||!1,Xt=e.RETURN_DOM_FRAGMENT||!1,Zt=e.RETURN_TRUSTED_TYPE||!1,Jt=e.FORCE_BODY||!1,Qt=e.SANITIZE_DOM!==!1,$t=e.SANITIZE_NAMED_PROPS||!1,tn=e.KEEP_CONTENT!==!1,nn=e.IN_PLACE||!1,ke=at(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:St,hn=typeof e.NAMESPACE==`string`?e.NAMESPACE:mn,bn=Lt(e,`MATHML_TEXT_INTEGRATION_POINTS`,()=>O({},yn)),Sn=Lt(e,`HTML_INTEGRATION_POINTS`,()=>O({},xn));let t=Lt(e,`CUSTOM_ELEMENT_HANDLING`,()=>Ee(null));if(Xe=Ee(null),Ye(t,`tagNameCheck`)&&A(t.tagNameCheck)&&(Xe.tagNameCheck=t.tagNameCheck),Ye(t,`attributeNameCheck`)&&A(t.attributeNameCheck)&&(Xe.attributeNameCheck=t.attributeNameCheck),Ye(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(Xe.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),Te(Xe),Ut&&(Bt=!1),Xt&&(Yt=!0),an&&(Ke=O({},ft),E=Ee(null),an.html===!0&&(O(Ke,ot),O(E,pt)),an.svg===!0&&(O(Ke,st),O(E,mt),O(E,gt)),an.svgFilters===!0&&(O(Ke,ct),O(E,mt),O(E,gt)),an.mathMl===!0&&(O(Ke,ut),O(E,ht),O(E,gt))),et.tagCheck=null,et.attributeCheck=null,Ye(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?et.tagCheck=e.ADD_TAGS:Ie(e.ADD_TAGS)&&(Ke===qe&&(Ke=tt(Ke)),O(Ke,e.ADD_TAGS,En))),Ye(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?et.attributeCheck=e.ADD_ATTR:Ie(e.ADD_ATTR)&&(E===Je&&(E=tt(E)),O(E,e.ADD_ATTR,En))),Ye(e,`ADD_FORBID_CONTENTS`)&&Ie(e.ADD_FORBID_CONTENTS)&&(on===sn&&(on=tt(on)),O(on,e.ADD_FORBID_CONTENTS,En)),tn&&(Ke[`#text`]=!0),Wt&&O(Ke,[`html`,`head`,`body`]),Ke.table&&(O(Ke,[`tbody`]),delete D.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw Qe(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw Qe(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=re;re=e.TRUSTED_TYPES_POLICY;try{w=ce(``)}catch(e){throw re=t,e}}else e.TRUSTED_TYPES_POLICY===null?(re=void 0,w=``):(re===void 0&&(re=ue()),re&&typeof w==`string`&&(w=ce(``)));we&&we(e),Dn=e},An=O({},[...st,...ct,...lt]),jn=O({},[...ut,...dt]),Mn=function(e,t,n){return t.namespaceURI===mn?e===`svg`:t.namespaceURI===fn?e===`svg`&&(n===`annotation-xml`||bn[n]):!!An[e]},Nn=function(e,t,n){return t.namespaceURI===mn?e===`math`:t.namespaceURI===pn?e===`math`&&Sn[n]:!!jn[e]},Pn=function(e,t,n){return t.namespaceURI===pn&&!Sn[n]||t.namespaceURI===fn&&!bn[n]?!1:!jn[e]&&(Cn[e]||!An[e])},Fn=function(e){let t=ne(e),n=Be(ee(e)),r=_(e),i,a;return r&&C(r)===jt.element?(i={namespaceURI:ne(r)},a=Be(ee(r))):(i={namespaceURI:hn},a=`template`),_n[t]?t===pn?Mn(n,i,a):t===fn?Nn(n,i,a):t===mn?Pn(n,i,a):!!(wn===`application/xhtml+xml`&&_n[t]):!1},In=function(e){Ne(t.removed,{element:e});try{_(e).removeChild(e)}catch{if(p(e),!_(e))throw Qe(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},Ln=function(e,t,n){try{m(e,t)}catch{try{e.removeAttribute(n)}catch{}}},Rn=function(e){Hn(e);let t=g(e);t&&Ae(Pe(t),e=>{try{p(e)}catch{}});let n=C(e)===jt.element?y(e):null;if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;typeof i==`string`&&Ln(e,r,i)}},zn=function(e,n,r){if(!r)try{r=n.getAttributeNode(e)}catch{r=null}Ne(t.removed,{attribute:r||null,from:n});try{r?m(n,r):n.removeAttribute(e)}catch{try{n.removeAttribute(e)}catch{}}if(e===`is`)if(Yt||Xt)try{In(n)}catch{}else try{n.setAttribute(e,``)}catch{}},Bn=function(e){let t=y(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;typeof i!=`string`||E[En(i)]||Ln(e,r,i)}},Vn=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=[e];for(;r.length>0;){let e=r.pop();if(t(e)===!1)continue;if(n&&C(e)===jt.element){let t=v(e);rr(t)&&r.push(t)}let i=g(e);if(i)for(let e=i.length-1;e>=0;--e)r.push(i[e])}},Hn=function(e){Vn(e,e=>{C(e)===jt.element&&Bn(e)})},Un=function(e){let t=[];return Vn(e,e=>{t.push(e)},!0),t},Wn=function(e,t){let n=Le();Ae(Un(e),e=>{C(e)===jt.element&&Re(n,e)}),Ae(t,e=>{C(e)===jt.element&&!ze(n,e)&&Bn(e)})},Gn=function(e,n){let r=!1;return Ae(t.removed,t=>{t.element&&(r||=t.element===e,Hn(t.element))}),Wn(e,n),r},Kn=function(e,t){let n=rn,r=null,i=()=>(r||(r=Le(),Ae(t,e=>{Re(r,e)})),r);for(let t=0;;t++){let r=Un(e),a=[e],o=!1;if(Ae(r,e=>{C(e)===jt.documentFragment?Ne(a,e):!o&&!ze(n,e)&&(o=ze(i(),e))}),!o)return;if(t>=8)throw Qe(`the tree kept changing during in-place sanitization; refusing to return it`);Ae(a,(t,n)=>{qn(t,n>0,e,i())})}},qn=function(e,t,n,r){let i=Qn(e),a;for(;a=i.nextNode();)!ze(r,a)||ze(rn,a)||(t&&ar(T.uponSanitizeShadowNode,a,null),dr(a,n),vr(a,n),rr(a.content)&&yr(a.content))},Jn=function(e){rn&&Re(rn,e)},Yn=function(e,t){return k?e===`patchsrc`||e===`for`&&t!==`label`&&t!==`output`:!1},Xn=function(e){k&&Vn(e,e=>{let t=C(e);if(t===jt.processingInstruction||t===jt.comment&&Ze(Ot,e.data)){try{p(e)}catch{}return!1}if(t===jt.element){let t=e,n=En(ee(e));try{t.hasAttribute&&t.hasAttribute(`patchsrc`)&&t.removeAttribute(`patchsrc`),t.hasAttribute&&t.hasAttribute(`for`)&&Yn(`for`,n)&&t.removeAttribute(`for`)}catch{}}return!0})},Zn=function(e){let t=null,r=null;if(Jt)e=`<remove></remove>`+e;else{let t=He(e,/^[\r\n\t ]+/);r=t&&t[0]}wn===`application/xhtml+xml`&&hn===mn&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=re?ce(e):e;if(hn===mn)try{t=new l().parseFromString(i,wn)}catch{}if(!t||!t.documentElement){t=fe.createDocument(hn,`template`,null);try{t.documentElement.innerHTML=gn?w:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),hn===mn?he.call(t,Wt?`html`:`body`)[0]:Wt?t.documentElement:a},Qn=function(e){let t=S?S(e):e.ownerDocument;return pe.call(t||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},$n=function(e){return e=Ue(e,_e,` `),e=Ue(e,ve,` `),e=Ue(e,be,` `),e},er=function(e){tr(e);let t=e.querySelectorAll?.call(e,`template`);t&&Ae(t,e=>{rr(e.content)&&er(e.content)})},tr=function(e){e.normalize();let t=S?S(e):e.ownerDocument,n=pe.call(t||e,e,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),r=n.nextNode();for(;r;)r.data=$n(r.data),r=n.nextNode()},nr=function(e){let t=x?x(e):null;return typeof t!=`string`||En(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==y(e)||typeof e.removeAttribute!=`function`||typeof e.removeAttributeNode!=`function`||typeof e.getAttributeNode!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==b(e)||e.childNodes!==g(e)},rr=function(e){if(!b||typeof e!=`object`||!e)return!1;try{return b(e)===jt.documentFragment}catch{return!1}},ir=function(e){if(!b||typeof e!=`object`||!e)return!1;try{return typeof b(e)==`number`}catch{return!1}};function ar(e,n,r){e.length!==0&&Ae(e,e=>{e.call(t,n,r,Dn)})}let or=function(e,t){return!!(k&&e.hasChildNodes()&&!ir(e.firstElementChild)&&Ze(Dt,e.textContent)&&Ze(Dt,e.innerHTML)||k&&Mt[t]&&C(e)===jt.element&&ne(e)===mn&&(ir(e.firstElementChild)||typeof e.textContent==`string`&&Ze(Dt,e.textContent))||e.nodeType===jt.processingInstruction||k&&e.nodeType===jt.comment&&Ze(Ot,e.data))},sr=function(e,t){return e instanceof RegExp?Ze(e,t):e instanceof Function&&!!e(t,...[...arguments].slice(2))},cr=function(e,t,n){if(!D[t]&&mr(t)&&sr(Xe.tagNameCheck,t))return!1;if(tn&&!on[t]&&!on[Be(t)]){let t=_(e),r=g(e);if(r&&t){let i=r.length;for(let a=i-1;a>=0;--a){let i=e===n?f(r[a],!0):r[a];t.insertBefore(i,h(e))}}}return In(e),!0},lr=function(e,t,n,r){return e.length===0?t:t===n||t===r?tt(t):t},ur=function(e,t){return e===t||_(e)!==null?!1:(nn&&Hn(e),!0)},dr=function(e,n){if(Jn(e),ar(T.beforeSanitizeElements,e,null),ur(e,n))return!0;if(nr(e))return In(e),!0;let r=En(ee(e));if(Ke=lr(T.uponSanitizeElement,Ke,qe,Kt),ar(T.uponSanitizeElement,e,{tagName:r,allowedTags:Ke}),ur(e,n))return!0;if(or(e,r))return In(e),!0;if(D[r]||!(et.tagCheck instanceof Function&&et.tagCheck(r))&&!Ke[r]){let t=cr(e,r,n);return t===!1&&(ar(T.afterSanitizeElements,e,null),ur(e,n))?!0:t}if(C(e)===jt.element&&!Fn(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&Ze(kt,e.innerHTML))return In(e),!0;if(Ut&&e.nodeType===jt.text){let n=$n(e.textContent);e.textContent!==n&&(Ne(t.removed,{element:e.cloneNode()}),e.textContent=n)}return ar(T.afterSanitizeElements,e,null),ur(e,n)},fr=function(e,t,r){if($e[t]||Yn(t,e)||Qt&&(t===`id`||t===`name`)&&(r in n||r in On))return!1;let i=E[t]||et.attributeCheck instanceof Function&&et.attributeCheck(t,e);return Bt&&Ze(xe,t)||zt&&Ze(Se,t)?!0:i?un[t]||Ze(ke,Ue(r,De,``))||(t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&We(r,`data:`)===0&&cn[e]||Vt&&!Ze(Ce,Ue(r,De,``))?!0:!r:mr(e)&&sr(Xe.tagNameCheck,e)&&sr(Xe.attributeNameCheck,t,e)||t===`is`&&Xe.allowCustomizedBuiltInElements&&sr(Xe.tagNameCheck,r)},pr=O({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),mr=function(e){return!pr[Be(e)]&&Ze(Oe,e)},hr=function(e,t,n,r){if(re&&typeof u==`object`&&typeof u.getAttributeType==`function`&&!n)switch(u.getAttributeType(e,t)){case`TrustedHTML`:return ce(r);case`TrustedScriptURL`:return le(r)}return r},gr=function(e,t,n,r){try{return n?e.setAttributeNS(n,t,r):e.setAttribute(t,r),nr(e)?(In(e),!1):!0}catch{return zn(t,e),!1}},_r=function(e,t){return k&&Ze(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,t)?!0:Be(e)===`attributename`&&He(t,`href`)!==null},vr=function(e,n){if(ar(T.beforeSanitizeAttributes,e,null),ur(e,n))return;let r=e.attributes;if(!r||nr(e))return;E=lr(T.uponSanitizeAttribute,E,Je,qt);let i={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:E,forceKeepAttr:void 0},a=r.length,o=En(e.nodeName);for(;a--;){let n=r[a],s=n.name,c=n.namespaceURI,l=n.value,u=En(s),d=l,f=s===`value`?d:Ge(d),p=!1;if(i.attrName=u,i.attrValue=f,i.keepAttr=!0,i.forceKeepAttr=void 0,ar(T.uponSanitizeAttribute,e,i),f=i.attrValue,$t&&(u===`id`||u===`name`)&&We(f,en)!==0&&(zn(s,e,n),f=en+f,p=!0),_r(s,f)){zn(s,e,n);continue}if(!i.forceKeepAttr){if(!i.keepAttr){zn(s,e,n);continue}if(!Ht&&Ze(At,f)){zn(s,e,n);continue}if(Ut&&(f=$n(f)),!fr(o,u,f)){zn(s,e,n);continue}f=hr(o,u,c,f),f!==d&&gr(e,s,c,f)&&p&&Me(t.removed)}}ar(T.afterSanitizeAttributes,e,null),ur(e,n)},yr=function(e){let t=null,n=Qn(e);for(ar(T.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(ar(T.uponSanitizeShadowNode,t,null),dr(t,e),vr(t,e),rr(t.content)&&yr(t.content),C(t)===jt.element){let e=v(t);rr(e)&&(br(e),yr(e))}Ut&&tr(e),ar(T.afterSanitizeShadowDOM,e,null)},br=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){yr(e.shadow);continue}let n=e.node,r=C(n)===jt.element,i=g(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=x?x(n):null;if(typeof e==`string`&&En(e)===`template`){let e=n.content;rr(e)&&t.push({node:e,shadow:null})}}if(r){let e=v(n);rr(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(gn=!e,gn&&(e=`<!-->`),typeof e!=`string`&&!ir(e)&&(e=nt(e),typeof e!=`string`))throw Qe(`dirty is not a string, aborting`);if(!t.isSupported)return e;Gt?(Ke=Kt,E=qt):kn(n),(T.uponSanitizeElement.length>0||T.uponSanitizeAttribute.length>0)&&(Ke=tt(Ke)),T.uponSanitizeAttribute.length>0&&(E=tt(E)),t.removed=[];let c=nn&&typeof e!=`string`&&ir(e),l=[],u=rn;if(c){Xn(e);let t=ee(e);if(typeof t==`string`){let n=En(t);if(!Ke[n]||D[n])throw Rn(e),Qe(`root node is forbidden and cannot be sanitized in-place`)}if(nr(e))throw Rn(e),Qe(`root node is clobbered and cannot be sanitized in-place`);l=Un(e),rn=Le()}else if(ir(e))i=Zn(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===jt.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),br(i);else{if(!Yt&&!Ut&&!Wt&&e.indexOf(`<`)===-1)return re&&Zt?ce(e):e;if(i=Zn(e),!i)return Yt?null:Zt?w:``}i&&Jt&&In(i.firstChild);let d=c?e:i;try{c&&br(e);let t=Qn(d);for(;o=t.nextNode();)dr(o,d),vr(o,d),rr(o.content)&&yr(o.content);c&&Kn(e,l)}catch(t){throw c&&(Rn(e),Gn(e,l)),t}finally{rn=u}if(c){if(Gn(e,l))throw Qe(`a node selected for removal could not be safely returned; refusing to sanitize in place`);return Ut&&er(e),e}if(Yt){if(Ut&&er(i),Xt)for(s=me.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(E.shadowroot||E.shadowrootmode)&&(s=ge.call(r,s,!0)),s}let f=Wt?i.outerHTML:i.innerHTML;return Wt&&Ke[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&Ze(Tt,i.ownerDocument.doctype.name)&&(f=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
3
3
  `+f),Ut&&(f=$n(f)),re&&Zt?ce(f):f},t.setConfig=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};kn(e),Gt=!0,Kt=Ke,qt=E},t.clearConfig=function(){Dn=null,Gt=!1,Kt=null,qt=null,re=ie,w=``},t.isValidAttribute=function(e,t,n){Dn||kn({});let r=En(e),i=En(t);return typeof n==`string`&&(_r(t,n)||!Ht&&Ze(At,n))?!1:fr(r,i,n)},t.addHook=function(e,t){typeof t==`function`&&Ye(T,e)&&Ne(T[e],t)},t.removeHook=function(e,t){if(Ye(T,e)){if(t!==void 0){let n=je(T[e],t);return n===-1?void 0:Fe(T[e],n,1)[0]}return Me(T[e])}},t.removeHooks=function(e){Ye(T,e)&&(T[e]=[])},t.removeAllHooks=function(){T=Ft()},t}var zt=Rt(),Bt=[`base`,`button`,`embed`,`form`,`iframe`,`input`,`link`,`meta`,`object`,`option`,`select`,`style`,`template`,`textarea`],Vt=[`action`,`formaction`,`id`,`name`,`srcdoc`,`style`];function Ht(e){return zt.sanitize(e,{USE_PROFILES:{html:!0},FORBID_TAGS:Bt,FORBID_ATTR:Vt})}function Ut(e){let t=e.replace(/@import\s+url\([^)]*\)\s*;?/gi,``);return zt.sanitize(t,{USE_PROFILES:{html:!0,svg:!0,svgFilters:!0},FORBID_TAGS:[`foreignObject`,`script`],FORBID_ATTR:[`href`,`xlink:href`]})}var k=e(t(),1),Wt=e(n(),1),Gt=r();function Kt(e){return e===`/personal`||e===`/automations`||e===`/chat`||e.startsWith(`/chat/`)}function qt(e,t,n){let r=e?.trim();if(!r||!r.startsWith(`/`)||r.startsWith(`//`)||r.includes(`://`)||r.includes(`\\`))return t;let i=r.split(/[?#]/,1)[0]||`/`;return n.some(e=>i===e||i.startsWith(`${e}/`))?r:t}function Jt(e,t){let n=t?.trim();if(!n)return e;let r=e.indexOf(`#`),i=r>=0?e.slice(0,r):e,a=r>=0?e.slice(r):``;return`${i}${i.includes(`?`)?`&`:`?`}returnTo=${encodeURIComponent(n)}${a}`}var Yt=[`/notes/`,`/tasks/`,`/projects/`];function Xt(e,t){let n=e.split(/[?#]/,1)[0]??``;if(!Yt.some(e=>n.startsWith(e)))return e;let r=e.slice(n.length).split(`#`,1)[0];return new URLSearchParams(r.startsWith(`?`)?r.slice(1):r).has(`returnTo`)?e:Jt(e,t)}var Zt=`note`;function Qt(e,t){let n=new URLSearchParams(t);n.delete(Zt);let r=n.toString();return r?`${e}?${r}`:e}function $t(e,t){let[n,r=``]=e.split(`?`);if(!Kt(n))return Xt(`/notes/${encodeURIComponent(t)}`,e);let i=new URLSearchParams(r);return i.delete(`task`),i.delete(`preview`),i.set(Zt,t),`${n}?${i.toString()}`}function en(e,t){let n=/^\/notes\/([^/?#]+)(?:\?.*)?$/.exec(t);if(!n)return t;let r=new URLSearchParams(t.split(`?`)[1]??``);if(r.has(`edit`)||r.has(`action`))return t;try{return $t(e,decodeURIComponent(n[1]))}catch{return $t(e,n[1])}}var tn=`task`;function nn(e){return`/chat/task/${encodeURIComponent(e)}`}function rn(e,t){let[n,r=``]=e.split(`?`),i=new URLSearchParams(r);return i.delete(`note`),i.delete(`preview`),i.set(tn,t),`${n}?${i.toString()}`}function an(e,t){return e.split(`?`)[0]?.startsWith(`/tasks/`)?`/tasks/${encodeURIComponent(t)}`:rn(e,t)}function on(e,t){let n=/^\/tasks\/([^/?#]+)/.exec(t);if(!n)return t;try{return an(e,decodeURIComponent(n[1]))}catch{return an(e,n[1])}}function sn(e,t){let n=new URLSearchParams(t);n.delete(tn);let r=n.toString();return r?`${e}?${r}`:e}var cn=`preview`;function ln(e){if(!e.startsWith(`/`)||e.startsWith(`//`)||e.includes(`\\`)||e.includes(`#`))return null;let t=new URL(e,`https://xopc.local`);if([`edit`,`copy`,`action`,`draft`,`add`,`autogenerate`].some(e=>t.searchParams.has(e)))return null;let n,r,i;if(i=/^\/projects\/([^/]+)$/.exec(t.pathname))n=`project`,r=i[1];else if(t.pathname===`/automations`&&t.searchParams.get(`automation`))n=`automation`,r=encodeURIComponent(t.searchParams.get(`automation`));else if(i=/^\/local-apps\/([^/]+)$/.exec(t.pathname))n=`local_app`,r=i[1];else if(t.pathname===`/open`&&t.searchParams.get(`kind`)===`local_app`&&t.searchParams.get(`id`))n=`local_app`,r=encodeURIComponent(t.searchParams.get(`id`));else return null;let a;try{a=decodeURIComponent(r)}catch{return null}if(!a.trim())return null;let o=t.searchParams.get(`agentId`)||t.searchParams.get(`agent`)||void 0,s=t.searchParams.get(`sourceHash`)||void 0,c=new URLSearchParams(t.searchParams);for(let e of[`def`,`agent`,`returnTo`])c.delete(e);n!==`automation`&&c.delete(`run`),o&&c.set(`agentId`,o);let l=n===`project`?`/projects/${encodeURIComponent(a)}`:n===`automation`?`/automations`:`/local-apps/${encodeURIComponent(a)}`;return n===`automation`&&c.set(`automation`,a),n===`local_app`&&(c.delete(`kind`),c.delete(`id`)),l+=c.size?`?${c.toString()}`:``,{kind:n,id:a,href:l,ownerAgentId:o,sourceHash:s,...n===`automation`&&(c.get(`view`)===`run`||c.get(`run`))?{view:`run`,runId:c.get(`run`)||void 0}:{}}}function un(e,t){let n=new URLSearchParams(t);return n.delete(cn),`${e}${n.size?`?${n.toString()}`:``}`}function dn(e,t){let[n,r=``]=e.split(`?`),i=Kt(n)?ln(t):null;if(!i)return en(e,on(e,t));let a=new URLSearchParams(r);return a.delete(`note`),a.delete(`task`),a.set(cn,i.href),`${n}?${a.toString()}`}function fn(){let e=(0,Gt.c)(4),t=a(),n=o(),r;return e[0]!==t.pathname||e[1]!==t.search||e[2]!==n?(r=async e=>{let r=S(e);if(r.kind===`internal-route`){let e=`${t.pathname}${t.search}`;return n(Xt(dn(e,r.route),e)),{ok:!0,kind:r.kind}}if(r.kind===`external-http`){let e=await x(r.url);return e.ok?{ok:!0,kind:r.kind}:e}return{ok:!1,error:`Unsupported link`}},e[0]=t.pathname,e[1]=t.search,e[2]=n,e[3]=r):r=e[3],r}function pn(e,t){let n=0;for(;t>0&&e[--t]===`\\`;)n++;return n%2==1}function mn(e,t,n,r){let i=!1;for(let a=t;a<e.length;a++){if(e[a]===`
4
4
  `||e[a]===`\r`){if(r)return-1;i=!1}if(!i){if(e[a]===`%`&&!pn(e,a)){i=!0;continue}if(e.startsWith(n,a)&&!pn(e,a))return a}}return-1}function hn(e,t=0){if(pn(e,t))return;let n=e.startsWith(`\\(`,t);if(!n&&(e[t]!==`$`||e[t+1]===`$`||e[t-1]===`$`))return;let r=n?2:1,i=t+r;if(n&&/^xopc:\/\//i.test(e.slice(i))||!n&&(!e[i]||/\s/.test(e[i])))return;let a=mn(e,i,n?`\\)`:`$`,!0);if(a===-1){if(!n)return;let r=e.slice(i).search(/[\r\n]/),a=r<0?e.length:i+r;return{raw:e.slice(t,a),latex:e.slice(i,a),display:!1,delimiter:`paren`,state:`pending`,range:{start:t,end:a}}}let o=e.slice(i,a);if(!n&&(!o||/\s$/.test(o)||/\d/.test(e[a+1]??``)||e[a+1]===`$`||/^[\d\s.,+\-€£¥¥]+$/.test(o)))return;let s=a+r;return{raw:e.slice(t,s),latex:o,display:!1,delimiter:n?`paren`:`dollar`,state:`complete`,range:{start:t,end:s}}}function gn(e,t=0){let n=/^( {0,3})(\\\[|\$\$)/.exec(e.slice(t));if(!n)return;let r=t+n[0].length,i=n[2]===`\\[`,a=mn(e,r,i?`\\]`:`$$`,!1);if(a>=0){let n=a+2,o=e.slice(n).match(/^[^\r\n]*/)?.[0]??``;return o.trim()?void 0:{raw:e.slice(t,n+o.length),latex:e.slice(r,a),display:!0,delimiter:i?`bracket`:`double-dollar`,state:`complete`,range:{start:t,end:n+o.length}}}if(!(!i&&/^\S.*\$\$/.test(e.slice(r).split(/\r?\n/,1)[0])))return{raw:e.slice(t),latex:e.slice(r),display:!0,delimiter:i?`bracket`:`double-dollar`,state:`pending`,range:{start:t,end:e.length}}}function _n(e,t,n=!0){return{raw:e,latex:t,display:!0,delimiter:`math-fence`,state:n?`complete`:`pending`,range:{start:0,end:e.length}}}function vn(e){let t=/^ {0,3}(`{3,}|~{3,})math[^\S\r\n]*(?:\r?\n|$)/.exec(e);if(!t)return;let n=t[1],r=t[0].length;for(;r<e.length;){let i=e.indexOf(`
@@ -65,7 +65,7 @@ ${this.parser.parse(e)}</blockquote>
65
65
  ${e}</tr>
66
66
  `}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
67
67
  `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${Rr(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=zr(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+Rr(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=zr(e);if(i===null)return Rr(n);e=i;let a=`<img src="${e}" alt="${Rr(n)}"`;return t&&(a+=` title="${Rr(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:Rr(e.text)}},Xr=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},Zr=class e{options;renderer;textRenderer;constructor(e){this.options=e||Tn,this.options.renderer=this.options.renderer||new Yr,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Xr}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},Qr=class{options;block;constructor(e){this.options=e||Tn}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?Jr.lex:Jr.lexInline}provideParser(e=this.block){return e?Zr.parse:Zr.parseInline}},$r=class{defaults=wn();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Zr;Renderer=Yr;TextRenderer=Xr;Lexer=Jr;Tokenizer=qr;Hooks=Qr;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new Yr(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new qr(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new Qr;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];Qr.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&Qr.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:t[r]=(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Jr.lex(e,t??this.defaults)}parser(e,t){return Zr.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?Jr.lex:Jr.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?Zr.parse:Zr.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?Jr.lex:Jr.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?Zr.parse:Zr.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
68
- Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+Rr(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},ei=new $r;function j(e,t){return ei.parse(e,t)}j.options=j.setOptions=function(e){return ei.setOptions(e),j.defaults=ei.defaults,En(j.defaults),j},j.getDefaults=wn,j.defaults=Tn,j.use=function(...e){return ei.use(...e),j.defaults=ei.defaults,En(j.defaults),j},j.walkTokens=function(e,t){return ei.walkTokens(e,t)},j.parseInline=ei.parseInline,j.Parser=Zr,j.parser=Zr.parse,j.Renderer=Yr,j.TextRenderer=Xr,j.Lexer=Jr,j.lexer=Jr.lex,j.Tokenizer=qr,j.Hooks=Qr,j.parse=j,j.options,j.setOptions,j.use,j.walkTokens,j.parseInline,Zr.parse,Jr.lex;function ti(e){if(typeof e==`function`&&(e={highlight:e}),!e||typeof e.highlight!=`function`)throw Error(`Must provide highlight function`);return typeof e.langPrefix!=`string`&&(e.langPrefix=`language-`),typeof e.emptyLangClass!=`string`&&(e.emptyLangClass=``),{async:!!e.async,walkTokens(t){if(t.type!==`code`)return;let n=ni(t.lang);if(e.async)return Promise.resolve(e.highlight(t.text,n,t.lang||``)).then(ri(t));let r=e.highlight(t.text,n,t.lang||``);if(r instanceof Promise)throw Error(`markedHighlight is not set to async but the highlight function is async. Set the async option to true on markedHighlight to await the async highlight function.`);ri(t)(r)},useNewRenderer:!0,renderer:{code(t,n,r){typeof t==`object`&&(r=t.escaped,n=t.lang,t=t.text);let i=ni(n),a=i?e.langPrefix+ui(i):e.emptyLangClass,o=a?` class="${a}"`:``;return t=t.replace(/\n$/,``),`<pre><code${o}>${r?t:ui(t,!0)}\n</code></pre>`}}}}function ni(e){return(e||``).match(/\S*/)[0]}function ri(e){return t=>{typeof t==`string`&&t!==e.text&&(e.escaped=!0,e.text=t)}}var ii=/[&<>"']/,ai=new RegExp(ii.source,`g`),oi=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,si=new RegExp(oi.source,`g`),ci={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`},li=e=>ci[e];function ui(e,t){if(t){if(ii.test(e))return e.replace(ai,li)}else if(oi.test(e))return e.replace(si,li);return e}function di(e){return e.replace(/\\([\\_()[\]*])/g,`$1`).replace(/&(?:amp|#0*38|#x0*26);/gi,`&`)}var fi={walkTokens(e){if(e.type!==`link`)return;let t=di(e.href);if(!/^xopc:\/\//i.test(t))return;let n=S(t,`https://xopc.local/`);n.kind===`internal-route`&&(e.href=`#${n.route}`)},extensions:[{name:`xopcLink`,level:`inline`,start(e){let t=e.search(/xopc:\/\/|\[[^\]\n]+\]\\\(xopc:\/\//i);return t<0?void 0:t},tokenizer(e){if(this.lexer.state.inLink)return;let t=/^\[([^\]\n]+)\]\\\((xopc:\/\/[^\s<>]+?)\\\)/i.exec(e),n=/^(?:xopc:\/\/)[^\s<>\[\]()"',。;!?、]+/i.exec(e),r=t?.[0]??n?.[0]?.replace(/[.,;!?]+$/,``);if(!r)return;let i=di(t?.[2]??r),a=di(t?.[1]??r);return{type:`link`,raw:r,href:i,text:a,title:null,tokens:[{type:`text`,raw:a,text:a.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}]}}}]};w.registerLanguage(`bash`,ne),w.registerLanguage(`css`,se),w.registerLanguage(`html`,ce),w.registerLanguage(`javascript`,ae),w.registerLanguage(`json`,te),w.registerLanguage(`markdown`,re),w.registerLanguage(`md`,re),w.registerLanguage(`plaintext`,oe),w.registerLanguage(`typescript`,ie),w.registerLanguage(`xml`,ce),w.registerAliases([`js`,`jsx`],{languageName:`javascript`}),w.registerAliases([`ts`,`tsx`],{languageName:`typescript`}),w.registerAliases([`sh`,`shell`,`zsh`],{languageName:`bash`});function pi(e){return new $r(fi,Cn,ti({emptyLangClass:`hljs`,langPrefix:`hljs language-`,highlight(e,t){if(t?.trim()===`math`||t?.trim()===`chart`)return e;let n=(t??``).trim()||`plaintext`,r=w.getLanguage(n)?n:`plaintext`;return w.highlight(e,{language:r}).value}}),{renderer:{code(t){if(e&&t.lang?.trim().split(/\s+/)[0]===`chart`)return e(t);if(t.lang?.trim()!==`math`)return!1;let n=vn(t.raw);return n?Sn(n):!1},html({text:e}){return gi(e)}},extensions:[{name:`punctuationBoundStrong`,level:`inline`,start(e){let t=e.indexOf(`**`);return t>=0?t:void 0},tokenizer(e){return yi(e,e=>this.lexer.inlineTokens(e))}}]})}var mi=pi();function hi(e,t){let n=[];return{html:pi(e=>{let t=e.raw.trimEnd().split(/\r?\n/),r=t[0]?.match(/^ {0,3}(`{3,}|~{3,})[ \t]*chart(?:\s|$)/)?.[1],i=t.at(-1)?.match(/^ {0,3}(`{3,}|~{3,})[ \t]*$/)?.[1],a=!!(t.length>1&&r&&i&&r[0]===i[0]&&i.length>=r.length);return`<div data-md-chart="${n.push({source:e.text,closed:a})-1}"></div>`}).parse(e,{...bi,...t,async:!1}),charts:n}}function gi(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}var _i=/^\p{P}$/u;function vi(e,t){let n=0;for(let r=t-1;r>=0&&e[r]===`\\`;--r)n+=1;return n%2==1}function yi(e,t){if(!e.startsWith(`**`)||e.startsWith(`***`))return;let n=0;for(let r=2;r<e.length-1;){if(e[r]===`\\`){r+=2;continue}if(e[r]==="`"){let t=r+1;for(;e[t]==="`";)t+=1;let i=t-r;n===0?n=i:n===i&&(n=0),r=t;continue}if(n===0&&e.startsWith(`**`,r)&&e[r+2]!==`*`&&!vi(e,r)){let n=e.slice(2,r),i=Array.from(n)[0]??``,a=Array.from(n).at(-1)??``;return n.length>0&&!/^\s|\s$/u.test(n)&&(_i.test(i)||_i.test(a))?{type:`strong`,raw:e.slice(0,r+2),text:n,tokens:t(n)}:void 0}r+=1}}var bi={gfm:!0,breaks:!1,async:!1};function xi(e,t){return mi.parse(e,{...bi,...t,async:!1})}var Si=new Map,Ci=new Set;function wi(){return typeof performance>`u`?Date.now():performance.now()}function Ti(e){return null}function Ei(e){let t=Ti(e);t&&(t.active=!0,Ci.add(e))}function Di(e){let t=Si.get(e);t&&(t.active=!1,Ci.delete(e))}function Oi(e,t){let n=Ti(e);n&&(n.deltaCount+=1,n.latestContentLength=t)}function ki(e,t){let n=Ti(e);if(!n)return;let r=wi();n.commitCount+=1,n.firstCommitAt??=r,n.lastCommitAt=r,n.latestContentLength=t}function Ai(e,t){let n=Ti(e);n&&(n.parseCount+=1,n.totalParseMs+=t,n.latestParseMs=t,n.longestParseMs=Math.max(n.longestParseMs,t),n.parseSamples.push(t),n.parseSamples.length>200&&n.parseSamples.shift())}function ji(e){return Si.get(e)?.latestParseMs??0}var Mi=`png|jpe?g|gif|webp|bmp|svg|pdf|docx?|xlsx?|pptx?|csv|tsv|txt|md|json|html?|css|mjs?|cjs|jsx|js|tsx|ts|yaml|yml|toml|xml|zip|mp3|wav|ogg|m4a|mp4|mov|webm`,Ni=String.raw`[\p{L}\p{N}_.()()【】-]`,Pi=new RegExp(String.raw`((?:\.\/)?(?:${Ni}+\/)+${Ni}+\.(?:${Mi})(?::\d+|#L\d+)?)`,`giu`),Fi=new RegExp(String.raw`(\/(?:Users|usr|var|opt|tmp|home|root|System|private|dev|media|mnt|Volumes|data)\/[^\s"'<>()|*?\n]+?\.(?:${Mi})(?::\d+|#L\d+)?)`,`gi`),Ii=new RegExp(String.raw`([A-Za-z]:[\\/][^"'<>()\n|*?=]+?\.(?:${Mi})(?::\d+|#L\d+)?)`,`gi`),Li=new RegExp(String.raw`(${Ni}+\.(?:${Mi})(?::\d+|#L\d+)?)`,`giu`);function Ri(e){try{let t=new URL(e);return t.protocol!==`xopc:`||t.hostname!==`workspace`||t.pathname!==`/file`||!t.searchParams.get(`path`)?.trim()?null:`/xopc/workspace/file${t.search}${t.hash}`}catch{return null}}function zi(e,t=!0,n=!1){let r=String.raw`xopc:\/\/workspace\/file[^\s[\]()<>"']*`,i=new RegExp(r,`gi`),a=n?/\[([^\]\n]*)\]\(([^)\n]+)\)/g:/(?<!!)\[([^\]\n]*)\]\(([^)\n]+)\)/g;return(t?e.replace(a,(e,t,n)=>{let r=Bi(n.trim().replace(/^<|>$/g,``));if(!r)return e;let i=/^xopc:\/\//i.test(t.trim())?`Open in xopc`:t,a=new URLSearchParams({path:r.path});return r.line&&a.set(`line`,String(r.line)),`[${i}](/xopc/workspace/file?${a.toString()})`}):e).replace(i,e=>Ri(e)??e)}function Bi(e){let t=e.trim();if(!t)return null;if(t.startsWith(`xopc://workspace/file`)||t.startsWith(`/xopc/workspace/file`))try{let e=t.startsWith(`/xopc/`)?new URL(t,`https://xopc.local`):new URL(t),n=e.searchParams.get(`path`)?.trim()??``;if(!n)return null;t=n;let r=Number(e.searchParams.get(`line`)??``),i=Number.isFinite(r)&&r>0?Math.floor(r):void 0,a=Ui(t);return a?{...a,...i?{line:i}:{}}:Hi(t,i)}catch{return null}let n=Vi(t);return n?(t=n,Ui(t)||(/^[a-z][a-z0-9+.-]*:/i.test(t)||t.startsWith(`/`)||t.startsWith(`\\`)?null:Hi(t))):null}function Vi(e){let t=e.trim();if(!t)return null;if(/^file:/i.test(t))try{let e=new URL(t);if(e.protocol!==`file:`||e.hostname&&e.hostname!==`localhost`)return null;t=decodeURIComponent(e.pathname),/^\/[A-Za-z]:\//.test(t)&&(t=t.slice(1)),e.hash&&(t+=e.hash)}catch{return null}else try{t=decodeURIComponent(t)}catch{}return t}function Hi(e,t){let n=e.trim().replace(/\\/g,`/`);if(!n)return null;let r=t,i=n.match(/#L(\d+)$/i);if(i?.[1])r=Number(i[1]),n=n.slice(0,-i[0].length);else{let e=n.match(/:(\d+)$/);e?.[1]&&(r=Number(e[1]),n=n.slice(0,-e[0].length))}return n=n.replace(/^\.\//,``),!n||n.startsWith(`/`)||/^[A-Za-z]:/.test(n)||!new RegExp(String.raw`\.(?:${Mi})$`,`i`).test(n)?null:{path:n,line:Number.isFinite(r)&&r&&r>0?Math.floor(r):void 0,kind:`workspace-relative`}}function Ui(e){let t=e.trim().replace(/\\/g,`/`);if(!t||/^[A-Za-z]:\/{2,}/.test(t)||!(t.startsWith(`~/`)||t.startsWith(`/`)||/^[A-Za-z]:\//.test(t)))return null;let n,r=t.match(/#L(\d+)$/i);if(r?.[1])n=Number(r[1]),t=t.slice(0,-r[0].length);else{let e=t.match(/:(\d+)$/);e?.[1]&&(n=Number(e[1]),t=t.slice(0,-e[0].length))}return new RegExp(String.raw`\.(?:${Mi})$`,`i`).test(t)?{path:t,line:Number.isFinite(n)&&n&&n>0?Math.floor(n):void 0,kind:`absolute`}:null}function Wi(e){let t=[],n=[Fi,Ii,Pi,Li];for(let r of n){r.lastIndex=0;let n;for(;(n=r.exec(e))!==null;){let r=n[1];if(!r)continue;let i=n.index,a=i+r.length,o=e[i-1]??``;if(o===`:`||o===`@`)continue;let s=e[a]??``;if(s&&/[\p{L}\p{N}_]/u.test(s))continue;let c=Bi(r);c&&(c.kind===`workspace-relative`&&o===`/`||t.push({raw:r,start:i,end:a,target:c}))}}t.sort((e,t)=>e.start-t.start||t.end-e.end);let r=[],i=-1;for(let e of t)e.start<i||(r.push(e),i=e.end);return r}function Gi(e){let t=e.parentElement;return!t||!!t.closest(`a, code, pre, kbd, samp, textarea, script, style, [data-xopc-math], [data-xopc-inline-file]`)}function Ki(e){let t=e.ownerDocument,n=t.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(e){return!(e instanceof Text)||Gi(e)?NodeFilter.FILTER_REJECT:Wi(e.data).length>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),r=[],i;for(;i=n.nextNode();)r.push(i);for(let e of r){let n=e.data,r=Wi(n);if(r.length===0)continue;let i=t.createDocumentFragment(),a=0;for(let e of r){e.start>a&&i.appendChild(t.createTextNode(n.slice(a,e.start)));let r=t.createElement(`a`);r.href=`#`,r.className=`markdown-file-link`,r.dataset.xopcFilePath=e.target.path,r.dataset.xopcFileKind=e.target.kind,e.target.line&&(r.dataset.xopcLine=String(e.target.line)),r.textContent=e.raw,i.appendChild(r),a=e.end}a!==0&&(a<n.length&&i.appendChild(t.createTextNode(n.slice(a))),e.parentNode?.replaceChild(i,e))}}var qi=`#ffffff`,Ji=`#27272a`,Yi=`#2563eb`,Xi=`#d4d4d8`,Zi=8192,Qi=32e6,$i=2;function ea(e,t){return Number.isFinite(e)&&e>0?e:t}function ta(e){let t=(e.getAttribute(`viewBox`)??``).trim().split(/[\s,]+/).map(Number);return t.length===4&&t.every(Number.isFinite)?{width:ea(t[2],800),height:ea(t[3],600)}:{width:ea(Number.parseFloat(e.getAttribute(`width`)??``),800),height:ea(Number.parseFloat(e.getAttribute(`height`)??``),600)}}function na(e,t,n){let r=document.createElement(`span`);r.setAttribute(`aria-hidden`,`true`),r.style.position=`absolute`,r.style.visibility=`hidden`,r.style.pointerEvents=`none`,r.style.color=`var(${t}, ${n})`,e.appendChild(r);let i=getComputedStyle(r).color.trim();return r.remove(),i&&!i.includes(`var(`)?i:n}function ra(e){e.querySelectorAll(`script, foreignObject`).forEach(e=>e.remove()),e.querySelectorAll(`*`).forEach(e=>{e.removeAttribute(`href`),e.removeAttributeNS(`http://www.w3.org/1999/xlink`,`href`)}),e.querySelectorAll(`style`).forEach(e=>{e.textContent=(e.textContent??``).replace(/@import\s+url\([^)]*\)\s*;?/gi,``)})}function ia(e,t){let{width:n,height:r}=ta(e),i=na(t,`--color-surface-hover`,qi),a=na(t,`--color-fg`,Ji),o=na(t,`--color-accent-fg`,Yi),s=na(t,`--color-edge`,Xi),c=e.cloneNode(!0);ra(c),c.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),c.setAttribute(`width`,String(n)),c.setAttribute(`height`,String(r)),c.style.setProperty(`--bg`,i),c.style.setProperty(`--fg`,a),c.style.setProperty(`--accent`,o),c.style.setProperty(`--border`,s);let l=document.createElementNS(`http://www.w3.org/2000/svg`,`rect`);return l.setAttribute(`width`,`100%`),l.setAttribute(`height`,`100%`),l.setAttribute(`fill`,i),l.setAttribute(`data-mermaid-export-background`,``),c.insertBefore(l,c.firstChild),{svg:new XMLSerializer().serializeToString(c),width:n,height:r,background:i}}function aa(e,t,n=$i){let r=ea(e,800),i=ea(t,600),a=ea(n,$i),o=Math.min(a,Zi/r,Zi/i,Math.sqrt(Qi/(r*i)));return{width:Math.max(1,Math.floor(r*o)),height:Math.max(1,Math.floor(i*o)),scale:o}}function oa(e){return new Blob([e.svg],{type:`image/svg+xml;charset=utf-8`})}function sa(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(n),0)}function ca(e){let t=URL.createObjectURL(e);return new Promise((e,n)=>{let r=new Image;r.onload=()=>e({image:r,url:t}),r.onerror=()=>{URL.revokeObjectURL(t),n(Error(`mermaid_svg_load_failed`))},r.src=t})}function la(e){return new Promise((t,n)=>{e.toBlob(e=>{e?t(e):n(Error(`mermaid_png_encode_failed`))},`image/png`)})}async function ua(e){await document.fonts?.ready;let t=aa(e.width,e.height),{image:n,url:r}=await ca(oa(e));try{let r=document.createElement(`canvas`);r.width=t.width,r.height=t.height;let i=r.getContext(`2d`);if(!i)throw Error(`mermaid_canvas_unavailable`);return i.fillStyle=e.background,i.fillRect(0,0,r.width,r.height),i.drawImage(n,0,0,r.width,r.height),await la(r)}finally{URL.revokeObjectURL(r)}}async function da(e,t){sa(await ua(e),t)}function fa(e,t){sa(oa(e),t)}var pa=/^(?:(?:flowchart|graph)\s+(?:TD|TB|LR|BT|RL)\b|stateDiagram(?:-v2)?\b|sequenceDiagram\b|classDiagram\b|erDiagram\b|xychart(?:-beta)?\b)/i;function ma(e){let t=e.trimStart().split(/[\r\n;]/,1)[0]?.trim()??``;return pa.test(t)}var M=i(),ha=.25,ga=4,_a=.25;function va({preview:e,labels:t,onClose:n}){let r=(0,k.useRef)(null),[i,a]=(0,k.useState)(1),[o,s]=(0,k.useState)(1),[c,l]=(0,k.useState)(!0),[x,S]=(0,k.useState)(!1),[C,ee]=(0,k.useState)(!1),te=(0,k.useCallback)(()=>{let t=r.current,n=e?.snapshot;if(!t||!n)return;let i=Math.max(1,t.clientWidth-48),a=Math.max(1,t.clientHeight-48);s(Math.min(1,i/n.width,a/n.height))},[e]);(0,k.useEffect)(()=>{if(!e)return;a(1),l(!0),ee(!1);let t=requestAnimationFrame(te),n=r.current,i=typeof ResizeObserver>`u`?null:new ResizeObserver(te);return n&&i?.observe(n),window.addEventListener(`resize`,te),()=>{cancelAnimationFrame(t),i?.disconnect(),window.removeEventListener(`resize`,te)}},[e,te]);let ne=e=>{a(Math.min(ga,Math.max(ha,(c?o:i)+e))),l(!1)},re=async()=>{if(!(!e||x)){S(!0),ee(!1);try{await da(e.snapshot,`${e.baseName}.png`)}catch{ee(!0)}finally{S(!1)}}},w=c?o:i,ie=e?.snapshot;return(0,M.jsx)(b,{open:e!==null,onOpenChange:e=>{e||n()},children:(0,M.jsxs)(_,{children:[(0,M.jsx)(h,{className:`fixed inset-0 z-[90] bg-scrim/90 backdrop-blur-sm`}),(0,M.jsxs)(v,{className:`xopc-dialog-content fixed left-1/2 top-1/2 z-[91] flex h-[min(92dvh,64rem)] w-[min(96vw,96rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-overlay outline-none`,children:[(0,M.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-edge px-3 py-2`,children:[(0,M.jsx)(y,{className:`min-w-0 flex-1 truncate text-sm font-semibold text-fg`,children:t.title}),(0,M.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,M.jsx)(`button`,{type:`button`,className:`mermaid-preview-toolbar-button`,onClick:()=>ne(-.25),title:t.zoomOut,"aria-label":t.zoomOut,children:(0,M.jsx)(de,{className:`size-4`,"aria-hidden":!0})}),(0,M.jsxs)(`span`,{className:`mermaid-preview-secondary-action w-12 text-center text-xs tabular-nums text-fg-muted`,children:[Math.round(w*100),`%`]}),(0,M.jsx)(`button`,{type:`button`,className:`mermaid-preview-toolbar-button`,onClick:()=>ne(_a),title:t.zoomIn,"aria-label":t.zoomIn,children:(0,M.jsx)(f,{className:`size-4`,"aria-hidden":!0})}),(0,M.jsx)(`button`,{type:`button`,className:m(`mermaid-preview-toolbar-button`,c&&`bg-surface-hover text-fg`),onClick:()=>l(!0),title:t.fit,"aria-label":t.fit,children:(0,M.jsx)(ue,{className:`size-4`,"aria-hidden":!0})}),(0,M.jsx)(`span`,{className:`mermaid-preview-secondary-action mx-1 h-5 w-px bg-edge`,"aria-hidden":!0}),(0,M.jsx)(`button`,{type:`button`,className:`mermaid-preview-toolbar-button`,onClick:()=>void re(),disabled:x,title:C?t.downloadFailed:t.downloadPng,"aria-label":C?t.downloadFailed:t.downloadPng,"aria-busy":x,children:(0,M.jsx)(u,{className:m(`size-4`,x&&`animate-bounce`),"aria-hidden":!0})}),(0,M.jsx)(`button`,{type:`button`,className:`mermaid-preview-toolbar-button mermaid-preview-secondary-action`,onClick:()=>{e&&fa(e.snapshot,`${e.baseName}.svg`)},title:t.downloadSvg,"aria-label":t.downloadSvg,children:(0,M.jsx)(d,{className:`size-4`,"aria-hidden":!0})}),(0,M.jsx)(g,{asChild:!0,children:(0,M.jsx)(`button`,{type:`button`,className:`mermaid-preview-toolbar-button ml-1`,title:t.close,"aria-label":t.close,children:(0,M.jsx)(p,{className:`size-4`,"aria-hidden":!0})})})]})]}),(0,M.jsx)(`div`,{ref:r,className:`min-h-0 flex-1 overflow-auto bg-surface-base`,children:ie?(0,M.jsx)(`div`,{className:`min-h-full min-w-full p-6`,children:(0,M.jsx)(`div`,{className:`m-auto select-none overflow-hidden rounded-lg border border-edge bg-surface-hover shadow-sm [&>svg]:block [&>svg]:size-full [&>svg]:max-w-none`,style:{width:`${ie.width*w}px`,height:`${ie.height*w}px`},dangerouslySetInnerHTML:{__html:ie.svg}})}):null})]})]})})}var ya=`xopc-math-v1`,N=class e extends Error{constructor(t,n){var r=`KaTeX parse error: `+t,i,a,o=n&&n.loc;if(o&&o.start<=o.end){var s=o.lexer.input;i=o.start,a=o.end,i===s.length?r+=` at end of input: `:r+=` at position `+(i+1)+`: `;var c=s.slice(i,a).replace(/[^]/g,`$&̲`),l=i>15?`…`+s.slice(i-15,i):s.slice(0,i),u=a+15<s.length?s.slice(a,a+15)+`…`:s.slice(a);r+=l+c+u}super(r),this.name=`ParseError`,this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,e.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}},ba=/([A-Z])/g,xa=e=>e.replace(ba,`-$1`).toLowerCase(),Sa={"&":`&amp;`,">":`&gt;`,"<":`&lt;`,'"':`&quot;`,"'":`&#x27;`},Ca=/[&><"']/g,wa=e=>String(e).replace(Ca,e=>Sa[e]),Ta=e=>e.type===`ordgroup`||e.type===`color`?e.body.length===1?Ta(e.body[0]):e:e.type===`font`?Ta(e.body):e,Ea=new Set([`mathord`,`textord`,`atom`]),Da=e=>Ea.has(Ta(e).type),Oa=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==`:`||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():`_relative`},ka={displayMode:{type:`boolean`,description:`Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.`,cli:`-d, --display-mode`},output:{type:{enum:[`htmlAndMathml`,`html`,`mathml`]},description:`Determines the markup language of the output.`,cli:`-F, --format <type>`},leqno:{type:`boolean`,description:`Render display math in leqno style (left-justified tags).`},fleqn:{type:`boolean`,description:`Render display math flush left.`},throwOnError:{type:`boolean`,default:!0,cli:`-t, --no-throw-on-error`,cliDescription:`Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.`},errorColor:{type:`string`,default:`#cc0000`,cli:`-c, --error-color <color>`,cliDescription:`A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.`,cliProcessor:e=>`#`+e},macros:{type:`object`,cli:`-m, --macro <def>`,cliDescription:`Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).`,cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:`number`,description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:`--min-rule-thickness <size>`,cliProcessor:parseFloat},colorIsTextColor:{type:`boolean`,description:`Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.`,cli:`-b, --color-is-text-color`},strict:{type:[{enum:[`warn`,`ignore`,`error`]},`boolean`,`function`],description:`Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.`,cli:`-S, --strict`,cliDefault:!1},trust:{type:[`boolean`,`function`],description:`Trust the input, enabling all HTML features such as \\url.`,cli:`-T, --trust`},maxSize:{type:`number`,default:1/0,description:`If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large`,processor:e=>Math.max(0,e),cli:`-s, --max-size <n>`,cliProcessor:parseInt},maxExpand:{type:`number`,default:1e3,description:`Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.`,processor:e=>Math.max(0,e),cli:`-e, --max-expand <n>`,cliProcessor:e=>e===`Infinity`?1/0:parseInt(e)},globalGroup:{type:`boolean`,cli:!1}};function Aa(e){if(typeof e!=`string`)return e.enum[0];switch(e){case`boolean`:return!1;case`string`:return``;case`number`:return 0;case`object`:return{};default:throw Error(`Unexpected schema type; settings must declare an explicit default.`)}}function ja(e){return Object.prototype.hasOwnProperty.call(e,`default`)&&e.default!==void 0?e.default:Aa(Array.isArray(e.type)?e.type[0]:e.type)}function Ma(e,t,n,r){var i=Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0,a=Object.prototype.hasOwnProperty.call(r,`processor`)?r.processor:void 0;e[t]=i===void 0?ja(r):a?a(i):i}var Na=class{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e||={};for(var t of Object.keys(ka)){var n=ka[t];n&&Ma(this,t,e,n)}}isTrusted(e){if(`url`in e&&e.url&&!e.protocol){var t=Oa(e.url);if(t==null)return!1;e.protocol=t}return!!(typeof this.trust==`function`?this.trust(e):this.trust)}},Pa=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return Ua[Wa[this.id]]}sub(){return Ua[Ga[this.id]]}fracNum(){return Ua[Ka[this.id]]}fracDen(){return Ua[qa[this.id]]}cramp(){return Ua[Ja[this.id]]}text(){return Ua[Ya[this.id]]}isTight(){return this.size>=2}},Fa=0,Ia=1,La=2,Ra=3,za=4,Ba=5,Va=6,Ha=7,Ua=[new Pa(Fa,0,!1),new Pa(Ia,0,!0),new Pa(La,1,!1),new Pa(Ra,1,!0),new Pa(za,2,!1),new Pa(Ba,2,!0),new Pa(Va,3,!1),new Pa(Ha,3,!0)],Wa=[za,Ba,za,Ba,Va,Ha,Va,Ha],Ga=[Ba,Ba,Ba,Ba,Ha,Ha,Ha,Ha],Ka=[La,Ra,za,Ba,Va,Ha,Va,Ha],qa=[Ra,Ra,Ba,Ba,Ha,Ha,Ha,Ha],Ja=[Ia,Ia,Ra,Ra,Ba,Ba,Ha,Ha],Ya=[Fa,Ia,La,Ra,La,Ra,La,Ra],P={DISPLAY:Ua[Fa],TEXT:Ua[La],SCRIPT:Ua[za],SCRIPTSCRIPT:Ua[Va]},Xa=[{name:`latin`,blocks:[[256,591],[768,879]]},{name:`cyrillic`,blocks:[[1024,1279]]},{name:`armenian`,blocks:[[1328,1423]]},{name:`brahmic`,blocks:[[2304,4255]]},{name:`georgian`,blocks:[[4256,4351]]},{name:`cjk`,blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:`hangul`,blocks:[[44032,55215]]}];function Za(e){for(var t=0;t<Xa.length;t++)for(var n=Xa[t],r=0;r<n.blocks.length;r++){var i=n.blocks[r];if(e>=i[0]&&e<=i[1])return n.name}return null}var Qa=[];Xa.forEach(e=>e.blocks.forEach(e=>Qa.push(...e)));function $a(e){for(var t=0;t<Qa.length;t+=2)if(e>=Qa[t]&&e<=Qa[t+1])return!0;return!1}var eo=e=>e+` `+e,to=80,no=function(e,t){return`M95,`+(622+e+t)+`
68
+ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+Rr(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},ei=new $r;function j(e,t){return ei.parse(e,t)}j.options=j.setOptions=function(e){return ei.setOptions(e),j.defaults=ei.defaults,En(j.defaults),j},j.getDefaults=wn,j.defaults=Tn,j.use=function(...e){return ei.use(...e),j.defaults=ei.defaults,En(j.defaults),j},j.walkTokens=function(e,t){return ei.walkTokens(e,t)},j.parseInline=ei.parseInline,j.Parser=Zr,j.parser=Zr.parse,j.Renderer=Yr,j.TextRenderer=Xr,j.Lexer=Jr,j.lexer=Jr.lex,j.Tokenizer=qr,j.Hooks=Qr,j.parse=j,j.options,j.setOptions,j.use,j.walkTokens,j.parseInline,Zr.parse,Jr.lex;function ti(e){if(typeof e==`function`&&(e={highlight:e}),!e||typeof e.highlight!=`function`)throw Error(`Must provide highlight function`);return typeof e.langPrefix!=`string`&&(e.langPrefix=`language-`),typeof e.emptyLangClass!=`string`&&(e.emptyLangClass=``),{async:!!e.async,walkTokens(t){if(t.type!==`code`)return;let n=ni(t.lang);if(e.async)return Promise.resolve(e.highlight(t.text,n,t.lang||``)).then(ri(t));let r=e.highlight(t.text,n,t.lang||``);if(r instanceof Promise)throw Error(`markedHighlight is not set to async but the highlight function is async. Set the async option to true on markedHighlight to await the async highlight function.`);ri(t)(r)},useNewRenderer:!0,renderer:{code(t,n,r){typeof t==`object`&&(r=t.escaped,n=t.lang,t=t.text);let i=ni(n),a=i?e.langPrefix+ui(i):e.emptyLangClass,o=a?` class="${a}"`:``;return t=t.replace(/\n$/,``),`<pre><code${o}>${r?t:ui(t,!0)}\n</code></pre>`}}}}function ni(e){return(e||``).match(/\S*/)[0]}function ri(e){return t=>{typeof t==`string`&&t!==e.text&&(e.escaped=!0,e.text=t)}}var ii=/[&<>"']/,ai=new RegExp(ii.source,`g`),oi=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,si=new RegExp(oi.source,`g`),ci={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`},li=e=>ci[e];function ui(e,t){if(t){if(ii.test(e))return e.replace(ai,li)}else if(oi.test(e))return e.replace(si,li);return e}function di(e){return e.replace(/\\([\\_()[\]*])/g,`$1`).replace(/&(?:amp|#0*38|#x0*26);/gi,`&`)}var fi={walkTokens(e){if(e.type!==`link`)return;let t=di(e.href);if(!/^xopc:\/\//i.test(t))return;let n=S(t,`https://xopc.local/`);n.kind===`internal-route`&&(e.href=`#${n.route}`)},extensions:[{name:`xopcLink`,level:`inline`,start(e){let t=e.search(/xopc:\/\/|\[[^\]\n]+\]\\\(xopc:\/\//i);return t<0?void 0:t},tokenizer(e){if(this.lexer.state.inLink)return;let t=/^\[([^\]\n]+)\]\\\((xopc:\/\/[^\s<>]+?)\\\)/i.exec(e),n=/^(?:xopc:\/\/)[^\s<>\[\]()"',。;!?、]+/i.exec(e),r=t?.[0]??n?.[0]?.replace(/[.,;!?]+$/,``);if(!r)return;let i=di(t?.[2]??r),a=di(t?.[1]??r);return{type:`link`,raw:r,href:i,text:a,title:null,tokens:[{type:`text`,raw:a,text:a.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}]}}}]};w.registerLanguage(`bash`,ne),w.registerLanguage(`css`,se),w.registerLanguage(`html`,ce),w.registerLanguage(`javascript`,ae),w.registerLanguage(`json`,te),w.registerLanguage(`markdown`,re),w.registerLanguage(`md`,re),w.registerLanguage(`plaintext`,oe),w.registerLanguage(`typescript`,ie),w.registerLanguage(`xml`,ce),w.registerAliases([`js`,`jsx`],{languageName:`javascript`}),w.registerAliases([`ts`,`tsx`],{languageName:`typescript`}),w.registerAliases([`sh`,`shell`,`zsh`],{languageName:`bash`});function pi(e){return new $r(fi,Cn,ti({emptyLangClass:`hljs`,langPrefix:`hljs language-`,highlight(e,t){if(t?.trim()===`math`||t?.trim()===`chart`)return e;let n=(t??``).trim()||`plaintext`,r=w.getLanguage(n)?n:`plaintext`;return w.highlight(e,{language:r}).value}}),{renderer:{code(t){if(e&&t.lang?.trim().split(/\s+/)[0]===`chart`)return e(t);if(t.lang?.trim()!==`math`)return!1;let n=vn(t.raw);return n?Sn(n):!1},html({text:e}){return gi(e)}},extensions:[{name:`punctuationBoundStrong`,level:`inline`,start(e){let t=e.indexOf(`**`);return t>=0?t:void 0},tokenizer(e){return yi(e,e=>this.lexer.inlineTokens(e))}}]})}var mi=pi();function hi(e,t){let n=[];return{html:pi(e=>{let t=e.raw.trimEnd().split(/\r?\n/),r=t[0]?.match(/^ {0,3}(`{3,}|~{3,})[ \t]*chart(?:\s|$)/)?.[1],i=t.at(-1)?.match(/^ {0,3}(`{3,}|~{3,})[ \t]*$/)?.[1],a=!!(t.length>1&&r&&i&&r[0]===i[0]&&i.length>=r.length);return`<div data-md-chart="${n.push({source:e.text,closed:a})-1}"></div>`}).parse(e,{...bi,...t,async:!1}),charts:n}}function gi(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}var _i=/^\p{P}$/u;function vi(e,t){let n=0;for(let r=t-1;r>=0&&e[r]===`\\`;--r)n+=1;return n%2==1}function yi(e,t){if(!e.startsWith(`**`)||e.startsWith(`***`))return;let n=0;for(let r=2;r<e.length-1;){if(e[r]===`\\`){r+=2;continue}if(e[r]==="`"){let t=r+1;for(;e[t]==="`";)t+=1;let i=t-r;n===0?n=i:n===i&&(n=0),r=t;continue}if(n===0&&e.startsWith(`**`,r)&&e[r+2]!==`*`&&!vi(e,r)){let n=e.slice(2,r),i=Array.from(n)[0]??``,a=Array.from(n).at(-1)??``;return n.length>0&&!/^\s|\s$/u.test(n)&&(_i.test(i)||_i.test(a))?{type:`strong`,raw:e.slice(0,r+2),text:n,tokens:t(n)}:void 0}r+=1}}var bi={gfm:!0,breaks:!1,async:!1};function xi(e,t){return mi.parse(e,{...bi,...t,async:!1})}var Si=new Map,Ci=new Set;function wi(){return typeof performance>`u`?Date.now():performance.now()}function Ti(e){return null}function Ei(e){let t=Ti(e);t&&(t.active=!0,Ci.add(e))}function Di(e){let t=Si.get(e);t&&(t.active=!1,Ci.delete(e))}function Oi(e,t){let n=Ti(e);n&&(n.deltaCount+=1,n.latestContentLength=t)}function ki(e,t){let n=Ti(e);if(!n)return;let r=wi();n.commitCount+=1,n.firstCommitAt??=r,n.lastCommitAt=r,n.latestContentLength=t}function Ai(e,t){let n=Ti(e);n&&(n.parseCount+=1,n.totalParseMs+=t,n.latestParseMs=t,n.longestParseMs=Math.max(n.longestParseMs,t),n.parseSamples.push(t),n.parseSamples.length>200&&n.parseSamples.shift())}function ji(e){return Si.get(e)?.latestParseMs??0}var Mi=`png|jpe?g|gif|webp|bmp|svg|pdf|docx?|xlsx?|pptx?|csv|tsv|txt|md|json|html?|css|mjs?|cjs|jsx|js|tsx|ts|yaml|yml|toml|xml|zip|mp3|wav|ogg|m4a|mp4|mov|webm`,Ni=String.raw`[\p{L}\p{N}_.()()【】-]`,Pi=new RegExp(String.raw`((?:\.\/)?(?:${Ni}+\/)+${Ni}+\.(?:${Mi})(?::\d+|#L\d+)?)`,`giu`),Fi=new RegExp(String.raw`(\/(?:Users|usr|var|opt|tmp|home|root|System|private|dev|media|mnt|Volumes|data)\/[^\s"'<>()|*?\n]+?\.(?:${Mi})(?::\d+|#L\d+)?)`,`gi`),Ii=new RegExp(String.raw`([A-Za-z]:[\\/][^"'<>()\n|*?=]+?\.(?:${Mi})(?::\d+|#L\d+)?)`,`gi`),Li=new RegExp(String.raw`(${Ni}+\.(?:${Mi})(?::\d+|#L\d+)?)`,`giu`);function Ri(e){try{let t=new URL(e);return t.protocol!==`xopc:`||t.hostname!==`workspace`||t.pathname!==`/file`||!t.searchParams.get(`path`)?.trim()?null:`/xopc/workspace/file${t.search}${t.hash}`}catch{return null}}function zi(e,t=!0,n=!1){let r=String.raw`xopc:\/\/workspace\/file[^\s[\]()<>"']*`,i=new RegExp(r,`gi`),a=n?/\[([^\]\n]*)\]\(([^)\n]+)\)/g:/(?<!!)\[([^\]\n]*)\]\(([^)\n]+)\)/g;return(t?e.replace(a,(e,t,n)=>{let r=Bi(n.trim().replace(/^<|>$/g,``));if(!r)return e;let i=/^xopc:\/\//i.test(t.trim())?`Open in xopc`:t,a=new URLSearchParams({path:r.path});return r.line&&a.set(`line`,String(r.line)),`[${i}](/xopc/workspace/file?${a.toString()})`}):e).replace(i,e=>Ri(e)??e)}function Bi(e){let t=e.trim();if(!t)return null;if(t.startsWith(`xopc://workspace/file`)||t.startsWith(`/xopc/workspace/file`))try{let e=t.startsWith(`/xopc/`)?new URL(t,`https://xopc.local`):new URL(t),n=e.searchParams.get(`path`)?.trim()??``;if(!n)return null;t=n;let r=Number(e.searchParams.get(`line`)??``),i=Number.isFinite(r)&&r>0?Math.floor(r):void 0,a=Ui(t);return a?{...a,...i?{line:i}:{}}:Hi(t,i)}catch{return null}let n=Vi(t);return n?(t=n,Ui(t)||(/^[a-z][a-z0-9+.-]*:/i.test(t)||t.startsWith(`/`)||t.startsWith(`\\`)?null:Hi(t))):null}function Vi(e){let t=e.trim();if(!t)return null;if(/^file:/i.test(t))try{let e=new URL(t);if(e.protocol!==`file:`||e.hostname&&e.hostname!==`localhost`)return null;t=decodeURIComponent(e.pathname),/^\/[A-Za-z]:\//.test(t)&&(t=t.slice(1)),e.hash&&(t+=e.hash)}catch{return null}else try{t=decodeURIComponent(t)}catch{}return t}function Hi(e,t){let n=e.trim().replace(/\\/g,`/`);if(!n)return null;let r=t,i=n.match(/#L(\d+)$/i);if(i?.[1])r=Number(i[1]),n=n.slice(0,-i[0].length);else{let e=n.match(/:(\d+)$/);e?.[1]&&(r=Number(e[1]),n=n.slice(0,-e[0].length))}return n=n.replace(/^\.\//,``),!n||n.startsWith(`/`)||/^[A-Za-z]:/.test(n)||!new RegExp(String.raw`\.(?:${Mi})$`,`i`).test(n)?null:{path:n,line:Number.isFinite(r)&&r&&r>0?Math.floor(r):void 0,kind:`workspace-relative`}}function Ui(e){let t=e.trim().replace(/\\/g,`/`);if(!t||/^[A-Za-z]:\/{2,}/.test(t)||!(t.startsWith(`~/`)||t.startsWith(`/`)||/^[A-Za-z]:\//.test(t)))return null;let n,r=t.match(/#L(\d+)$/i);if(r?.[1])n=Number(r[1]),t=t.slice(0,-r[0].length);else{let e=t.match(/:(\d+)$/);e?.[1]&&(n=Number(e[1]),t=t.slice(0,-e[0].length))}return new RegExp(String.raw`\.(?:${Mi})$`,`i`).test(t)?{path:t,line:Number.isFinite(n)&&n&&n>0?Math.floor(n):void 0,kind:`absolute`}:null}function Wi(e){let t=[],n=[Fi,Ii,Pi,Li];for(let r of n){r.lastIndex=0;let n;for(;(n=r.exec(e))!==null;){let r=n[1];if(!r)continue;let i=n.index,a=i+r.length,o=e[i-1]??``;if(o===`:`||o===`@`)continue;let s=e[a]??``;if(s&&/[\p{L}\p{N}_]/u.test(s))continue;let c=Bi(r);c&&(c.kind===`workspace-relative`&&o===`/`||t.push({raw:r,start:i,end:a,target:c}))}}t.sort((e,t)=>e.start-t.start||t.end-e.end);let r=[],i=-1;for(let e of t)e.start<i||(r.push(e),i=e.end);return r}function Gi(e){let t=e.parentElement;return!t||!!t.closest(`a, code, pre, kbd, samp, textarea, script, style, [data-xopc-math], [data-xopc-inline-file]`)}function Ki(e){let t=e.ownerDocument,n=t.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(e){return!(e instanceof Text)||Gi(e)?NodeFilter.FILTER_REJECT:Wi(e.data).length>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),r=[],i;for(;i=n.nextNode();)r.push(i);for(let e of r){let n=e.data,r=Wi(n);if(r.length===0)continue;let i=t.createDocumentFragment(),a=0;for(let e of r){e.start>a&&i.appendChild(t.createTextNode(n.slice(a,e.start)));let r=t.createElement(`a`);r.href=`#`,r.className=`markdown-file-link`,r.dataset.xopcFilePath=e.target.path,r.dataset.xopcFileKind=e.target.kind,e.target.line&&(r.dataset.xopcLine=String(e.target.line)),r.textContent=e.raw,i.appendChild(r),a=e.end}a!==0&&(a<n.length&&i.appendChild(t.createTextNode(n.slice(a))),e.parentNode?.replaceChild(i,e))}}var qi=`#ffffff`,Ji=`#27272a`,Yi=`#2563eb`,Xi=`#d4d4d8`,Zi=8192,Qi=32e6,$i=2;function ea(e,t){return Number.isFinite(e)&&e>0?e:t}function ta(e){let t=(e.getAttribute(`viewBox`)??``).trim().split(/[\s,]+/).map(Number);return t.length===4&&t.every(Number.isFinite)?{width:ea(t[2],800),height:ea(t[3],600)}:{width:ea(Number.parseFloat(e.getAttribute(`width`)??``),800),height:ea(Number.parseFloat(e.getAttribute(`height`)??``),600)}}function na(e,t,n){let r=document.createElement(`span`);r.setAttribute(`aria-hidden`,`true`),r.style.position=`absolute`,r.style.visibility=`hidden`,r.style.pointerEvents=`none`,r.style.color=`var(${t}, ${n})`,e.appendChild(r);let i=getComputedStyle(r).color.trim();return r.remove(),i&&!i.includes(`var(`)?i:n}function ra(e){e.querySelectorAll(`script, foreignObject`).forEach(e=>e.remove()),e.querySelectorAll(`*`).forEach(e=>{e.removeAttribute(`href`),e.removeAttributeNS(`http://www.w3.org/1999/xlink`,`href`)}),e.querySelectorAll(`style`).forEach(e=>{e.textContent=(e.textContent??``).replace(/@import\s+url\([^)]*\)\s*;?/gi,``)})}function ia(e,t){let{width:n,height:r}=ta(e),i=na(t,`--color-surface-hover`,qi),a=na(t,`--color-fg`,Ji),o=na(t,`--color-accent-fg`,Yi),s=na(t,`--color-edge`,Xi),c=e.cloneNode(!0);ra(c),c.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`),c.setAttribute(`width`,String(n)),c.setAttribute(`height`,String(r)),c.style.setProperty(`--bg`,i),c.style.setProperty(`--fg`,a),c.style.setProperty(`--accent`,o),c.style.setProperty(`--border`,s);let l=document.createElementNS(`http://www.w3.org/2000/svg`,`rect`);return l.setAttribute(`width`,`100%`),l.setAttribute(`height`,`100%`),l.setAttribute(`fill`,i),l.setAttribute(`data-mermaid-export-background`,``),c.insertBefore(l,c.firstChild),{svg:new XMLSerializer().serializeToString(c),width:n,height:r,background:i}}function aa(e,t,n=$i){let r=ea(e,800),i=ea(t,600),a=ea(n,$i),o=Math.min(a,Zi/r,Zi/i,Math.sqrt(Qi/(r*i)));return{width:Math.max(1,Math.floor(r*o)),height:Math.max(1,Math.floor(i*o)),scale:o}}function oa(e){return new Blob([e.svg],{type:`image/svg+xml;charset=utf-8`})}function sa(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(n),0)}function ca(e){let t=URL.createObjectURL(e);return new Promise((e,n)=>{let r=new Image;r.onload=()=>e({image:r,url:t}),r.onerror=()=>{URL.revokeObjectURL(t),n(Error(`mermaid_svg_load_failed`))},r.src=t})}function la(e){return new Promise((t,n)=>{e.toBlob(e=>{e?t(e):n(Error(`mermaid_png_encode_failed`))},`image/png`)})}async function ua(e){await document.fonts?.ready;let t=aa(e.width,e.height),{image:n,url:r}=await ca(oa(e));try{let r=document.createElement(`canvas`);r.width=t.width,r.height=t.height;let i=r.getContext(`2d`);if(!i)throw Error(`mermaid_canvas_unavailable`);return i.fillStyle=e.background,i.fillRect(0,0,r.width,r.height),i.drawImage(n,0,0,r.width,r.height),await la(r)}finally{URL.revokeObjectURL(r)}}async function da(e,t){sa(await ua(e),t)}function fa(e,t){sa(oa(e),t)}var pa=/^(?:(?:flowchart|graph)\s+(?:TD|TB|LR|BT|RL)\b|stateDiagram(?:-v2)?\b|sequenceDiagram\b|classDiagram\b|erDiagram\b|xychart(?:-beta)?\b)/i;function ma(e){let t=e.trimStart().split(/[\r\n;]/,1)[0]?.trim()??``;return pa.test(t)}var M=i(),ha=.25,ga=4,_a=.25;function va({preview:e,labels:t,onClose:n}){let r=(0,k.useRef)(null),[i,a]=(0,k.useState)(1),[o,s]=(0,k.useState)(1),[c,h]=(0,k.useState)(!0),[x,S]=(0,k.useState)(!1),[C,ee]=(0,k.useState)(!1),te=(0,k.useCallback)(()=>{let t=r.current,n=e?.snapshot;if(!t||!n)return;let i=Math.max(1,t.clientWidth-48),a=Math.max(1,t.clientHeight-48);s(Math.min(1,i/n.width,a/n.height))},[e]);(0,k.useEffect)(()=>{if(!e)return;a(1),h(!0),ee(!1);let t=requestAnimationFrame(te),n=r.current,i=typeof ResizeObserver>`u`?null:new ResizeObserver(te);return n&&i?.observe(n),window.addEventListener(`resize`,te),()=>{cancelAnimationFrame(t),i?.disconnect(),window.removeEventListener(`resize`,te)}},[e,te]);let ne=e=>{a(Math.min(ga,Math.max(ha,(c?o:i)+e))),h(!1)},re=async()=>{if(!(!e||x)){S(!0),ee(!1);try{await da(e.snapshot,`${e.baseName}.png`)}catch{ee(!0)}finally{S(!1)}}},w=c?o:i,ie=e?.snapshot;return(0,M.jsx)(m,{open:e!==null,onOpenChange:e=>{e||n()},children:(0,M.jsxs)(d,{children:[(0,M.jsx)(l,{className:`fixed inset-0 z-[90] bg-scrim/90 backdrop-blur-sm`}),(0,M.jsxs)(f,{className:`xopc-dialog-content fixed left-1/2 top-1/2 z-[91] flex h-[min(92dvh,64rem)] w-[min(96vw,96rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-overlay outline-none`,children:[(0,M.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-edge px-3 py-2`,children:[(0,M.jsx)(p,{className:`min-w-0 flex-1 truncate text-sm font-semibold text-fg`,children:t.title}),(0,M.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,M.jsx)(`button`,{type:`button`,className:`mermaid-preview-toolbar-button`,onClick:()=>ne(-.25),title:t.zoomOut,"aria-label":t.zoomOut,children:(0,M.jsx)(de,{className:`size-4`,"aria-hidden":!0})}),(0,M.jsxs)(`span`,{className:`mermaid-preview-secondary-action w-12 text-center text-xs tabular-nums text-fg-muted`,children:[Math.round(w*100),`%`]}),(0,M.jsx)(`button`,{type:`button`,className:`mermaid-preview-toolbar-button`,onClick:()=>ne(_a),title:t.zoomIn,"aria-label":t.zoomIn,children:(0,M.jsx)(v,{className:`size-4`,"aria-hidden":!0})}),(0,M.jsx)(`button`,{type:`button`,className:b(`mermaid-preview-toolbar-button`,c&&`bg-surface-hover text-fg`),onClick:()=>h(!0),title:t.fit,"aria-label":t.fit,children:(0,M.jsx)(ue,{className:`size-4`,"aria-hidden":!0})}),(0,M.jsx)(`span`,{className:`mermaid-preview-secondary-action mx-1 h-5 w-px bg-edge`,"aria-hidden":!0}),(0,M.jsx)(`button`,{type:`button`,className:`mermaid-preview-toolbar-button`,onClick:()=>void re(),disabled:x,title:C?t.downloadFailed:t.downloadPng,"aria-label":C?t.downloadFailed:t.downloadPng,"aria-busy":x,children:(0,M.jsx)(g,{className:b(`size-4`,x&&`animate-bounce`),"aria-hidden":!0})}),(0,M.jsx)(`button`,{type:`button`,className:`mermaid-preview-toolbar-button mermaid-preview-secondary-action`,onClick:()=>{e&&fa(e.snapshot,`${e.baseName}.svg`)},title:t.downloadSvg,"aria-label":t.downloadSvg,children:(0,M.jsx)(_,{className:`size-4`,"aria-hidden":!0})}),(0,M.jsx)(u,{asChild:!0,children:(0,M.jsx)(`button`,{type:`button`,className:`mermaid-preview-toolbar-button ml-1`,title:t.close,"aria-label":t.close,children:(0,M.jsx)(y,{className:`size-4`,"aria-hidden":!0})})})]})]}),(0,M.jsx)(`div`,{ref:r,className:`min-h-0 flex-1 overflow-auto bg-surface-base`,children:ie?(0,M.jsx)(`div`,{className:`min-h-full min-w-full p-6`,children:(0,M.jsx)(`div`,{className:`m-auto select-none overflow-hidden rounded-lg border border-edge bg-surface-hover shadow-sm [&>svg]:block [&>svg]:size-full [&>svg]:max-w-none`,style:{width:`${ie.width*w}px`,height:`${ie.height*w}px`},dangerouslySetInnerHTML:{__html:ie.svg}})}):null})]})]})})}var ya=`xopc-math-v1`,N=class e extends Error{constructor(t,n){var r=`KaTeX parse error: `+t,i,a,o=n&&n.loc;if(o&&o.start<=o.end){var s=o.lexer.input;i=o.start,a=o.end,i===s.length?r+=` at end of input: `:r+=` at position `+(i+1)+`: `;var c=s.slice(i,a).replace(/[^]/g,`$&̲`),l=i>15?`…`+s.slice(i-15,i):s.slice(0,i),u=a+15<s.length?s.slice(a,a+15)+`…`:s.slice(a);r+=l+c+u}super(r),this.name=`ParseError`,this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,e.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}},ba=/([A-Z])/g,xa=e=>e.replace(ba,`-$1`).toLowerCase(),Sa={"&":`&amp;`,">":`&gt;`,"<":`&lt;`,'"':`&quot;`,"'":`&#x27;`},Ca=/[&><"']/g,wa=e=>String(e).replace(Ca,e=>Sa[e]),Ta=e=>e.type===`ordgroup`||e.type===`color`?e.body.length===1?Ta(e.body[0]):e:e.type===`font`?Ta(e.body):e,Ea=new Set([`mathord`,`textord`,`atom`]),Da=e=>Ea.has(Ta(e).type),Oa=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==`:`||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():`_relative`},ka={displayMode:{type:`boolean`,description:`Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.`,cli:`-d, --display-mode`},output:{type:{enum:[`htmlAndMathml`,`html`,`mathml`]},description:`Determines the markup language of the output.`,cli:`-F, --format <type>`},leqno:{type:`boolean`,description:`Render display math in leqno style (left-justified tags).`},fleqn:{type:`boolean`,description:`Render display math flush left.`},throwOnError:{type:`boolean`,default:!0,cli:`-t, --no-throw-on-error`,cliDescription:`Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.`},errorColor:{type:`string`,default:`#cc0000`,cli:`-c, --error-color <color>`,cliDescription:`A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.`,cliProcessor:e=>`#`+e},macros:{type:`object`,cli:`-m, --macro <def>`,cliDescription:`Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).`,cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:`number`,description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:`--min-rule-thickness <size>`,cliProcessor:parseFloat},colorIsTextColor:{type:`boolean`,description:`Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.`,cli:`-b, --color-is-text-color`},strict:{type:[{enum:[`warn`,`ignore`,`error`]},`boolean`,`function`],description:`Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.`,cli:`-S, --strict`,cliDefault:!1},trust:{type:[`boolean`,`function`],description:`Trust the input, enabling all HTML features such as \\url.`,cli:`-T, --trust`},maxSize:{type:`number`,default:1/0,description:`If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large`,processor:e=>Math.max(0,e),cli:`-s, --max-size <n>`,cliProcessor:parseInt},maxExpand:{type:`number`,default:1e3,description:`Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.`,processor:e=>Math.max(0,e),cli:`-e, --max-expand <n>`,cliProcessor:e=>e===`Infinity`?1/0:parseInt(e)},globalGroup:{type:`boolean`,cli:!1}};function Aa(e){if(typeof e!=`string`)return e.enum[0];switch(e){case`boolean`:return!1;case`string`:return``;case`number`:return 0;case`object`:return{};default:throw Error(`Unexpected schema type; settings must declare an explicit default.`)}}function ja(e){return Object.prototype.hasOwnProperty.call(e,`default`)&&e.default!==void 0?e.default:Aa(Array.isArray(e.type)?e.type[0]:e.type)}function Ma(e,t,n,r){var i=Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0,a=Object.prototype.hasOwnProperty.call(r,`processor`)?r.processor:void 0;e[t]=i===void 0?ja(r):a?a(i):i}var Na=class{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e||={};for(var t of Object.keys(ka)){var n=ka[t];n&&Ma(this,t,e,n)}}isTrusted(e){if(`url`in e&&e.url&&!e.protocol){var t=Oa(e.url);if(t==null)return!1;e.protocol=t}return!!(typeof this.trust==`function`?this.trust(e):this.trust)}},Pa=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return Ua[Wa[this.id]]}sub(){return Ua[Ga[this.id]]}fracNum(){return Ua[Ka[this.id]]}fracDen(){return Ua[qa[this.id]]}cramp(){return Ua[Ja[this.id]]}text(){return Ua[Ya[this.id]]}isTight(){return this.size>=2}},Fa=0,Ia=1,La=2,Ra=3,za=4,Ba=5,Va=6,Ha=7,Ua=[new Pa(Fa,0,!1),new Pa(Ia,0,!0),new Pa(La,1,!1),new Pa(Ra,1,!0),new Pa(za,2,!1),new Pa(Ba,2,!0),new Pa(Va,3,!1),new Pa(Ha,3,!0)],Wa=[za,Ba,za,Ba,Va,Ha,Va,Ha],Ga=[Ba,Ba,Ba,Ba,Ha,Ha,Ha,Ha],Ka=[La,Ra,za,Ba,Va,Ha,Va,Ha],qa=[Ra,Ra,Ba,Ba,Ha,Ha,Ha,Ha],Ja=[Ia,Ia,Ra,Ra,Ba,Ba,Ha,Ha],Ya=[Fa,Ia,La,Ra,La,Ra,La,Ra],P={DISPLAY:Ua[Fa],TEXT:Ua[La],SCRIPT:Ua[za],SCRIPTSCRIPT:Ua[Va]},Xa=[{name:`latin`,blocks:[[256,591],[768,879]]},{name:`cyrillic`,blocks:[[1024,1279]]},{name:`armenian`,blocks:[[1328,1423]]},{name:`brahmic`,blocks:[[2304,4255]]},{name:`georgian`,blocks:[[4256,4351]]},{name:`cjk`,blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:`hangul`,blocks:[[44032,55215]]}];function Za(e){for(var t=0;t<Xa.length;t++)for(var n=Xa[t],r=0;r<n.blocks.length;r++){var i=n.blocks[r];if(e>=i[0]&&e<=i[1])return n.name}return null}var Qa=[];Xa.forEach(e=>e.blocks.forEach(e=>Qa.push(...e)));function $a(e){for(var t=0;t<Qa.length;t+=2)if(e>=Qa[t]&&e<=Qa[t+1])return!0;return!1}var eo=e=>e+` `+e,to=80,no=function(e,t){return`M95,`+(622+e+t)+`
69
69
  c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
70
70
  c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
71
71
  c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{f as i,u as a}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{i as o,n as s,o as c}from"./locale-store-Br7IfbXK.js";import{t as l}from"./messages-ByFlEbsu.js";import{a as u,i as d,o as f,r as p,s as m,t as h}from"./dist-BGTk37IG.js";import{t as g}from"./check-DUBLcKHA.js";import{t as _}from"./secret-input-Dryrns2s.js";import{t as v}from"./key-round-DWbpyU2U.js";import{t as y}from"./link-2-D_ZKYUW7.js";import{t as b}from"./loader-circle-CifKLtgG.js";import{t as x}from"./lock-keyhole-DEK5kH0u.js";import{t as S}from"./x-B_N4OPjy.js";import{t as C}from"./skeleton-BI5TyibZ.js";import{i as w}from"./vendor-swr-CdRzEUwF.js";import{t as T}from"./button-Cc4hUNTt.js";var E=n(),D=e(t(),1),O=r(),k={zh:{title:`连接服务`,secret:`访问密钥`,hint:`仅保存到凭据服务,不进入聊天或模型。`,invalidToken:`密钥未被接受,请核对后重新输入。`,submit:`保存并连接`,login:`继续登录`,waiting:`在服务页面完成授权,这里会自动继续。`,check:`重新检查`,checking:`正在验证连接`,cancel:`取消连接`,back:`返回对话`,close:`暂时关闭`,later:`稍后继续`,done:`完成`,failed:`暂时无法连接,请检查服务地址或权限后重试。`,expired:`请求已过期,请回到对话重新发起。`,cancelled:`此连接请求已取消。`,reload:`配置已保存。重启 Gateway 后,连接才能生效。`,details:`连接详情`,approve:`允许这次连接`,approval:`确认连接到这个服务`,shared:`连接将供此网关的助手使用,不会授予微信用户管理权限。`,identity:`来自微信私聊`,endpoint:`服务地址`,purpose:`要完成的事`,tokenDescription:`输入服务提供的访问密钥,即可继续原来的任务。`,connected:`已连接`,continuing:`正在原微信对话中继续处理,无需发送“继续”。`,delivered:`结果已发送到原微信对话。`,returnWeixin:`现在可以关闭此页,返回微信。`,closed:`返回微信即可继续对话`,reopen:`继续配置`,deliveryFailed:`连接已完成,结果暂未发送到微信。重发不会重新执行任务。`,retryDelivery:`重试发送结果`,secure:`安全连接`,loading:`正在准备连接`,checkingDescription:`正在检查服务和所需权限。`},en:{title:`Connect service`,secret:`Access key`,hint:`Saved to credential storage, never chat or the model.`,invalidToken:`This key was rejected. Check it and try again.`,submit:`Save and connect`,login:`Continue sign-in`,waiting:`Finish authorizing on the service page. This will continue automatically.`,check:`Check again`,checking:`Verifying connection`,cancel:`Cancel connection`,back:`Return to chat`,close:`Close for now`,later:`Continue later`,done:`Done`,failed:`Unable to connect. Check the service address or permissions and try again.`,expired:`This request expired. Return to chat to start again.`,cancelled:`This connection request was cancelled.`,reload:`Configuration is saved. Restart the Gateway to activate the connection.`,details:`Connection details`,approve:`Approve this connection`,approval:`Confirm this service connection`,shared:`The connection is shared with this Gateway’s assistants. It grants no administration rights to Weixin users.`,identity:`From a Weixin chat`,endpoint:`Service address`,purpose:`Your request`,tokenDescription:`Enter the access key from your service to continue your task.`,connected:`Connected`,continuing:`Continuing in the original Weixin chat. No follow-up message needed.`,delivered:`The result was sent to your original Weixin chat.`,returnWeixin:`You can close this page and return to Weixin.`,closed:`Return to Weixin to continue chatting`,reopen:`Continue setup`,deliveryFailed:`Connected, but the result could not be sent to Weixin. Resending will not run the task again.`,retryDelivery:`Retry result delivery`,secure:`Secure connection`,loading:`Preparing connection`,checkingDescription:`Checking the service and required permissions.`}};function A({setupId:e,onClose:t}){let n=s(e=>e.language),r=k[n],i=`/api/mcp/setup/${encodeURIComponent(e)}`,{data:a,error:y,mutate:E}=w(i,async e=>(await c(o(e))).payload,{refreshInterval:e=>e&&(e.returnChannel===`weixin`&&e.phase===`ready`&&![`delivered`,`failed`].includes(e.replyDelivery??``)||![`ready`,`cancelled`].includes(e.phase))?1e3:0}),[A,j]=(0,D.useState)(``),[M,N]=(0,D.useState)(!1),[P,F]=(0,D.useState)(!1),I=(0,D.useRef)(``),L=(0,D.useRef)(null),R=async(e,t)=>{if(!(!a||M)){N(!0),F(!1);try{await c(o(i),{method:`POST`,body:JSON.stringify({action:e,expectedVersion:a.version,...t?{value:t}:{}})}),await E()}catch{F(!0),await E()}finally{N(!1)}}};(0,D.useEffect)(()=>{if(!a||M||a.expired||a.phase===`cancelled`)return;if(a.phase===`ready`&&!a.reloadRequired&&a.returnChannel!==`weixin`){t(a);return}if(P)return;let n=a.requiresRecheck||a.phase===`planned`||[`connected`,`error`,`cancelled`].includes(a.authState??``)?`advance`:a.phase===`oauth_required`?`authorize`:void 0,r=`${e}:${a.version}:${n}`;n&&I.current!==r&&(I.current=r,R(n))},[a,M,P,t,e]);let z=!!(a?.expired||a?.phase===`cancelled`),B=a?.phase===`ready`&&!a.reloadRequired&&!z,V=a?.phase===`approval_required`&&!z?a.approval:void 0,H=a&&(a.phase===`token_required`||a.phase===`blocked`&&a.canReplaceToken)&&!a.requiresRecheck&&!z&&!a.reloadRequired,U=a?.phase===`authorizing`&&!z&&!a.reloadRequired,W=B&&a?.returnChannel===`weixin`&&a.replyDelivery===`failed`,G=a?.phase===`blocked`&&!H&&!z,K=a?.expired?r.expired:a?.phase===`cancelled`?r.cancelled:a?.reloadRequired?r.reload:B?W?r.deliveryFailed:a?.replyDelivery===`delivered`?r.delivered:r.continuing:V?r.approval:H?r.tokenDescription:U?r.waiting:y||G||P?r.failed:r.checkingDescription,q=()=>{M||(j(``),t(a))},J=`min-h-12 w-full rounded-xl text-[15px]`,Y=B?g:H?v:x;return(0,O.jsx)(h,{open:!0,onOpenChange:e=>{e||q()},children:(0,O.jsxs)(f,{children:[(0,O.jsx)(u,{className:`fixed inset-0 z-[70] bg-scrim backdrop-blur-sm`}),(0,O.jsxs)(p,{onOpenAutoFocus:e=>{e.preventDefault(),L.current?.focus()},onPointerDownOutside:e=>{(M||A)&&e.preventDefault()},onEscapeKeyDown:e=>{M&&e.preventDefault()},className:`fixed inset-x-0 bottom-0 z-[70] flex h-[min(36rem,calc(100dvh-1rem))] flex-col overflow-hidden rounded-t-3xl border border-edge bg-surface-overlay text-fg shadow-elevated sm:inset-x-auto sm:bottom-auto sm:left-1/2 sm:top-1/2 sm:h-[min(36rem,calc(100dvh-3rem))] sm:w-[28rem] sm:-translate-x-1/2 sm:-translate-y-1/2 sm:rounded-3xl`,children:[(0,O.jsxs)(`header`,{className:`relative shrink-0 px-6 pb-5 pt-8 text-center sm:px-8`,children:[(0,O.jsx)(T,{variant:`ghost`,className:`absolute right-2 top-2 size-11 rounded-full p-0`,"aria-label":r.close,disabled:M,onClick:q,children:(0,O.jsx)(S,{className:`size-4`,"aria-hidden":!0})}),(0,O.jsx)(`div`,{className:`mx-auto mb-4 flex size-12 items-center justify-center rounded-2xl bg-surface-hover`,children:(0,O.jsx)(Y,{className:`size-6 text-accent-fg`,strokeWidth:1.6,"aria-hidden":!0})}),(0,O.jsx)(m,{ref:L,tabIndex:-1,className:`break-words text-xl font-semibold tracking-tight focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:B?r.connected:a?.displayName||r.title}),a?(0,O.jsx)(`p`,{className:`mt-1 truncate text-[13px] text-fg-muted`,title:a.endpointOrigin,children:a.endpointOrigin}):null,(0,O.jsx)(d,{role:!H&&(y||P||G||a?.expired||a?.reloadRequired)?`alert`:void 0,className:`mt-3 text-sm leading-relaxed text-fg-muted`,children:K})]}),(0,O.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-6 pb-4 sm:px-8`,"aria-busy":M,children:[!a&&!y?(0,O.jsxs)(`div`,{role:`status`,"aria-label":r.loading,className:`space-y-3`,children:[(0,O.jsx)(C,{className:`h-12 w-full rounded-xl`}),(0,O.jsx)(C,{className:`h-4 w-3/4`})]}):null,V?(0,O.jsxs)(`section`,{className:`space-y-3`,children:[(0,O.jsxs)(`dl`,{className:`space-y-3 rounded-2xl bg-surface-base p-4 text-sm`,children:[(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`dt`,{className:`mb-1 text-xs text-fg-muted`,children:r.identity}),(0,O.jsxs)(`dd`,{className:`break-all`,children:[V.accountId,` / `,V.peerId]})]}),(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`dt`,{className:`mb-1 text-xs text-fg-muted`,children:r.endpoint}),(0,O.jsx)(`dd`,{className:`break-all`,children:V.endpoint})]}),(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`dt`,{className:`mb-1 text-xs text-fg-muted`,children:r.purpose}),(0,O.jsx)(`dd`,{className:`break-words leading-relaxed`,children:V.purpose})]})]}),(0,O.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:r.shared})]}):H?(0,O.jsxs)(`form`,{id:`mcp-setup-secret-form`,className:`space-y-3`,onSubmit:e=>{e.preventDefault();let t=A;j(``),R(`token`,t)},children:[(0,O.jsx)(`label`,{htmlFor:`mcp-setup-token`,className:`block text-sm font-medium`,children:r.secret}),(0,O.jsx)(_,{id:`mcp-setup-token`,value:A,onChange:e=>{j(e),F(!1)},disabled:M,autoComplete:`off`,hideCopy:!0,className:`[&_button]:size-11 [&_button]:p-3`,ariaDescribedBy:`mcp-secret-hint`,ariaInvalid:a.errorCode===`credential_rejected`||P,inputClassName:`min-h-12 rounded-xl pr-14 text-base`,labels:l(n).connectorsSettings.secretInputLabels}),(0,O.jsxs)(`p`,{id:`mcp-secret-hint`,className:`flex items-start gap-1.5 text-xs leading-relaxed text-fg-muted`,children:[(0,O.jsx)(x,{className:`mt-0.5 size-3.5 shrink-0`,"aria-hidden":!0}),r.hint]}),a.errorCode===`credential_rejected`||P||a.phase===`blocked`?(0,O.jsx)(`p`,{role:`alert`,className:`text-sm text-danger`,children:a.errorCode===`credential_rejected`?r.invalidToken:r.failed}):null]}):B&&a?.returnChannel===`weixin`?(0,O.jsx)(`p`,{role:`status`,className:`py-5 text-center text-sm text-fg-muted`,children:r.returnWeixin}):y||P||G||a?.expired||a?.reloadRequired?null:!z&&!U?(0,O.jsxs)(`div`,{role:`status`,"aria-label":r.checking,className:`space-y-3`,children:[(0,O.jsx)(C,{className:`h-12 w-full rounded-xl`}),(0,O.jsx)(C,{className:`h-4 w-2/3`})]}):null,a&&!z&&!B?(0,O.jsxs)(`details`,{className:`mt-5 text-sm text-fg-muted`,children:[(0,O.jsx)(`summary`,{className:`min-h-11 cursor-pointer py-3 text-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:r.details}),(0,O.jsxs)(`div`,{className:`space-y-2 pb-2`,children:[V?null:(0,O.jsx)(`p`,{className:`break-all text-xs`,children:a.endpointOrigin}),a.phase===`approval_required`?null:(0,O.jsx)(T,{variant:`ghost`,className:`min-h-11 w-full justify-start text-xs`,disabled:M,onClick:()=>{I.current=``,R(`advance`)},children:r.check}),(0,O.jsx)(T,{variant:`ghost`,className:`min-h-11 w-full justify-start text-xs`,disabled:M,onClick:()=>void R(`cancel`),children:r.cancel})]})]}):null]}),(0,O.jsxs)(`footer`,{className:`shrink-0 space-y-2 border-t border-edge/60 px-6 pt-4 pb-[max(1.25rem,env(safe-area-inset-bottom))] sm:px-8`,children:[V?(0,O.jsxs)(T,{variant:`primary`,className:J,disabled:M,onClick:()=>void R(`approve`),children:[M?(0,O.jsx)(b,{className:`size-4 animate-spin motion-reduce:animate-none`,"aria-hidden":!0}):null,r.approve]}):H?(0,O.jsxs)(T,{variant:`primary`,className:J,form:`mcp-setup-secret-form`,type:`submit`,disabled:M||!A.trim(),children:[M?(0,O.jsx)(b,{className:`size-4 animate-spin motion-reduce:animate-none`,"aria-hidden":!0}):null,M?r.checking:r.submit]}):U&&a?.authorizationUrl?(0,O.jsx)(T,{asChild:!0,variant:`primary`,className:J,children:(0,O.jsx)(`a`,{href:a.authorizationUrl,target:`_blank`,rel:`noopener noreferrer`,children:r.login})}):W?(0,O.jsx)(T,{variant:`primary`,className:J,disabled:M,onClick:()=>void R(`retry_delivery`),children:r.retryDelivery}):G||a?.reloadRequired||y?(0,O.jsx)(T,{variant:`primary`,className:J,disabled:M,onClick:()=>{I.current=``,a?R(`advance`):E()},children:r.check}):B||z?(0,O.jsx)(T,{variant:`primary`,className:J,onClick:q,children:a?.returnChannel===`weixin`?r.done:r.back}):null,!B&&!z?(0,O.jsx)(T,{variant:`ghost`,className:`min-h-11 w-full rounded-xl text-sm`,disabled:M,onClick:q,children:r.later}):null]})]})]})})}function j(){let e=(0,E.c)(8),{setupId:t}=i(),n=t===void 0?``:t,r=a(),o=s(M),[c,l]=(0,D.useState)(!1),u;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>l(!1),e[0]=u):u=e[0];let d;e[1]===n?d=e[2]:(d=[n],e[1]=n,e[2]=d),(0,D.useEffect)(u,d);let f;return e[3]!==c||e[4]!==o||e[5]!==r||e[6]!==n?(f=(0,O.jsx)(`main`,{className:`flex h-full min-h-0 items-center justify-center bg-surface-base p-6`,children:c?(0,O.jsxs)(`section`,{className:`max-w-xs space-y-4 text-center`,children:[(0,O.jsx)(y,{className:`mx-auto size-6 text-fg-muted`,"aria-hidden":!0}),(0,O.jsx)(`h1`,{className:`text-lg font-medium text-fg`,children:k[o].closed}),(0,O.jsx)(T,{onClick:()=>l(!1),children:k[o].reopen})]}):(0,O.jsx)(A,{setupId:n,onClose:e=>{e?.returnChannel===`weixin`?l(!0):r(e?`/chat/${e.conversationId}`:`/chat`,{replace:!0})}})}),e[3]=c,e[4]=o,e[5]=r,e[6]=n,e[7]=f):f=e[7],f}function M(e){return e.language}export{A as McpConversationSetupDialog,j as McpConversationSetupPage};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{l as i,u as ee}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{n as a}from"./locale-store-Br7IfbXK.js";import{t as te}from"./messages-ByFlEbsu.js";import{t as ne}from"./check-DUBLcKHA.js";import{a as re,c as o,d as s,l as c,o as l,u as ie}from"./popover-select-CEMWIrtY.js";import{t as ae}from"./settings-2-D-csvaET.js";import{t as u}from"./cn-0WouolD0.js";import{i as oe}from"./vendor-swr-CdRzEUwF.js";import{n as d,t as se}from"./registry-api-DFDvOTg4.js";import{c as ce,s as le}from"./dist-GJ8-1PAx.js";import{t as ue}from"./open-capability-settings-Cvb65hQB.js";import{n as de}from"./interaction-BdhHBbYa.js";import{i as fe,n as pe,r as me}from"./form-field-width-DJw_jULe.js";var he=n();function f(e,t){return e.displayNames?.[t.toLowerCase().startsWith(`zh`)?`zh-CN`:`en`]||(t.toLowerCase().startsWith(`zh`)&&e.id===`xopc-cloud/auto`&&e.name===`Standard`?`标准`:t.toLowerCase().startsWith(`zh`)&&e.id===`xopc-cloud/advanced`&&e.name===`Advanced`?`高级`:e.name)}var p=e(t(),1);function ge(e,t,n){if(t===`computer-use`)return e.filter(e=>!!e.computerUse);let r=e=>e.computerUse?.profile!==void 0&&e.computerUse.dedicated!==!1&&e.computerUse.profile!==`openai-responses-computer-v1`;if(t!==`vision`)return e.filter(e=>!r(e)&&!e.phoneUse||e.id===n);let i=e.filter(e=>e.vision===!0&&!r(e)&&!e.phoneUse);if(!n||i.some(e=>e.id===n))return i;let ee=e.find(e=>e.id===n);if(ee)return[ee,...i];let a=n.indexOf(`/`),te=a>=0?n.slice(0,a):``;return[{id:n,name:(a>=0?n.slice(a+1):n)||n,provider:te||`—`,vision:!1},...i]}var m=r();function h(e){return`${e.id} ${e.name} ${Object.values(e.displayNames??{}).join(` `)} ${e.provider}`.toLowerCase()}var _e=[];function ve(e,t){let n=t.trim().toLowerCase();if(!n)return e;let r=n.split(/\s+/).filter(Boolean);return e.filter(e=>{let t=h(e);return r.every(e=>t.includes(e))})}function g(e){let t=(0,he.c)(100),{value:n,disabled:r,placeholder:l,searchPlaceholder:h,noMatches:g,models:Se,modelsLoading:Ce,modelsError:we,capabilitiesFilter:_,outOfFilterNote:Te,registryEmptyHint:Ee,allowEmpty:De,emptyLabel:Oe,compact:ke,showProviderInTrigger:Ae,contentSide:je,contentAlign:Me,className:Ne,popoverContentClassName:Pe,showProviderSettingsFooter:Fe,settingsFooterLink:Ie,ariaLabel:Le,onChange:v}=e,Re=De!==void 0&&De,ze=Ae===void 0||Ae,Be=je===void 0?`bottom`:je,Ve=Me===void 0?`end`:Me,He=ee(),y=i(),b=a(be),x;t[0]===b?x=t[1]:(x=te(b),t[0]=b,t[1]=x);let Ue=x.chat,[We,S]=(0,p.useState)(!1),[C,w]=(0,p.useState)(``),[Ge,Ke]=(0,p.useState)(null),qe=c(),Je=o(Ge),Ye=ie(qe,Je!==null),T;t[2]!==Ue||t[3]!==Ie||t[4]!==Fe?(T=Ie??(Fe?{label:Ue.modelProviderSettingsLink,path:`/settings/capabilities/models`}:void 0),t[2]=Ue,t[3]=Ie,t[4]=Fe,t[5]=T):T=t[5];let E=T,D;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(D={revalidateOnFocus:!1},t[6]=D):D=t[6];let Xe=oe(Se?null:se,d,D),O=Se??Xe.data??_e,Ze=Se?!!Ce:Xe.isLoading,k=Se?we:Xe.error,A;t[7]===n?A=t[8]:(A=n.trim(),t[7]=n,t[8]=A);let j=A,M;t[9]!==_||t[10]!==O||t[11]!==j?(M=ge(O,_,j),t[9]=_,t[10]=O,t[11]=j,t[12]=M):M=t[12];let N=M,P=_===`computer-use`||N.length>10,Qe=P?C:``,$e;t[13]!==N||t[14]!==Qe?($e=ve(N,Qe),t[13]=N,t[14]=Qe,t[15]=$e):$e=t[15];let F=$e,et;t[16]!==O||t[17]!==N||t[18]!==n?(et=O.find(e=>e.id===n)??N.find(e=>e.id===n),t[16]=O,t[17]=N,t[18]=n,t[19]=et):et=t[19];let I=et,tt;t[20]!==b||t[21]!==l||t[22]!==I||t[23]!==ze||t[24]!==n?(tt=I?ze?`${f(I,b)} (${I.provider})`:f(I,b):n||l,t[20]=b,t[21]=l,t[22]=I,t[23]=ze,t[24]=n,t[25]=tt):tt=t[25];let nt=tt,L=!k&&!!_&&N.length===0,rt=ce,it=r||Ze,R;t[26]!==b||t[27]!==l||t[28]!==I?(R=I?`${f(I,b)} (${I.provider})`:l,t[26]=b,t[27]=l,t[28]=I,t[29]=R):R=t[29];let at=ke&&`py-1.5 text-[13px]`,z;t[30]!==Ne||t[31]!==at?(z=u(pe,`items-center gap-2 rounded-lg border border-edge-subtle bg-surface-panel px-3 py-2 text-left text-sm font-normal text-fg`,de.transition,`hover:border-edge hover:bg-surface-hover/45`,fe,`disabled:cursor-not-allowed disabled:opacity-50`,`dark:border-edge-subtle dark:hover:bg-surface-hover/55`,at,Ne),t[30]=Ne,t[31]=at,t[32]=z):z=t[32];let ot=Ze?`…`:nt,B;t[33]===ot?B=t[34]:(B=(0,m.jsx)(`span`,{className:`min-w-0 truncate`,children:ot}),t[33]=ot,t[34]=B);let st;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(st=(0,m.jsx)(s,{className:`size-4 shrink-0 text-fg-subtle opacity-70`,"aria-hidden":!0}),t[35]=st):st=t[35];let V;t[36]!==Le||t[37]!==it||t[38]!==R||t[39]!==z||t[40]!==B?(V=(0,m.jsx)(le,{asChild:!0,children:(0,m.jsxs)(`button`,{ref:Ke,type:`button`,"aria-label":Le,disabled:it,title:R,className:z,children:[B,st]})}),t[36]=Le,t[37]=it,t[38]=R,t[39]=z,t[40]=B,t[41]=V):V=t[41];let ct=ce,lt=Je??void 0,ut=ce,dt=u(Ye,re,`w-[min(22rem,calc(100vw-2rem))] rounded-xl border border-edge-subtle bg-surface-overlay p-1 shadow-elevated dark:border-edge-subtle`,Pe),H;t[42]!==C||t[43]!==h||t[44]!==P?(H=P?(0,m.jsx)(`input`,{type:`search`,"aria-label":h,className:u(`mb-1 w-full shrink-0 rounded-lg border border-edge-subtle bg-surface-base px-2.5 py-1.5 text-sm text-fg placeholder:text-fg-disabled dark:bg-surface-hover/40`,me),placeholder:h,value:C,onChange:e=>w(e.target.value)}):null,t[42]=C,t[43]=h,t[44]=P,t[45]=H):H=t[45];let U;t[46]!==Re||t[47]!==Oe||t[48]!==v||t[49]!==l||t[50]!==j?(U=Re?(0,m.jsxs)(`button`,{type:`button`,className:u(`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm text-fg hover:bg-surface-hover`,j===``&&`bg-surface-hover/90 font-medium dark:bg-surface-hover/70`),onClick:()=>{v(``),S(!1),w(``)},children:[(0,m.jsx)(ne,{className:u(`size-4 shrink-0`,j!==``&&`invisible`),"aria-hidden":!0}),(0,m.jsx)(`span`,{className:`min-w-0 truncate text-fg-muted`,children:Oe??l})]}):null,t[46]=Re,t[47]=Oe,t[48]=v,t[49]=l,t[50]=j,t[51]=U):U=t[51];let W;t[52]===k?W=t[53]:(W=k?(0,m.jsx)(`div`,{className:`p-2 text-xs text-red-600 dark:text-red-400`,children:k instanceof Error?k.message:`Failed to load models`}):null,t[52]=k,t[53]=W);let G;t[54]!==k||t[55]!==g||t[56]!==Ee||t[57]!==L?(G=!k&&L?(0,m.jsx)(`div`,{className:`px-2 py-3 text-center text-xs text-fg-muted`,children:Ee??g}):null,t[54]=k,t[55]=g,t[56]=Ee,t[57]=L,t[58]=G):G=t[58];let K;t[59]!==k||t[60]!==F||t[61]!==g||t[62]!==L?(K=!k&&!L&&F.length===0?(0,m.jsx)(`div`,{className:`px-2 py-3 text-center text-xs text-fg-muted`,children:g}):null,t[59]=k,t[60]=F,t[61]=g,t[62]=L,t[63]=K):K=t[63];let ft=_===`vision`?Te:void 0,q;t[64]===v?q=t[65]:(q=e=>{v(e),S(!1),w(``)},t[64]=v,t[65]=q);let J;t[66]!==F||t[67]!==g||t[68]!==h||t[69]!==ft||t[70]!==q||t[71]!==n?(J=(0,m.jsx)(xe,{models:F,value:n,searchPlaceholder:h,noMatches:g,showSearch:!1,outOfFilterNote:ft,onChange:q}),t[66]=F,t[67]=g,t[68]=h,t[69]=ft,t[70]=q,t[71]=n,t[72]=J):J=t[72];let Y;t[73]!==U||t[74]!==W||t[75]!==G||t[76]!==K||t[77]!==J?(Y=(0,m.jsxs)(`div`,{className:`flex min-h-0 max-h-60 flex-1 flex-col overflow-hidden`,children:[U,W,G,K,J]}),t[73]=U,t[74]=W,t[75]=G,t[76]=K,t[77]=J,t[78]=Y):Y=t[78];let X;t[79]!==E||t[80]!==y||t[81]!==He?(X=E?(0,m.jsx)(`div`,{className:`mt-1 shrink-0 border-t border-edge-subtle pt-1`,children:(0,m.jsxs)(`button`,{type:`button`,className:u(`flex w-full items-center gap-2 rounded-md p-2 text-left text-sm font-medium text-accent`,de.transition,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`),onClick:()=>{E.path===`/settings/capabilities/models`?ue(y.pathname.startsWith(`/automations`)?`background`:`chat`,`services`,y.pathname.startsWith(`/automations`)?`automation`:void 0):He(E.path,{state:{settingsBackPath:`${y.pathname}${y.search}`}}),S(!1),w(``)},children:[(0,m.jsx)(ae,{className:`size-4 shrink-0 opacity-90`,"aria-hidden":!0}),(0,m.jsx)(`span`,{className:`min-w-0`,children:E.label})]})}):null,t[79]=E,t[80]=y,t[81]=He,t[82]=X):X=t[82];let Z;t[83]!==Ve||t[84]!==Be||t[85]!==ut.Content||t[86]!==dt||t[87]!==H||t[88]!==Y||t[89]!==X?(Z=(0,m.jsxs)(ut.Content,{className:dt,side:Be,sideOffset:4,align:Ve,collisionPadding:8,onOpenAutoFocus:ye,children:[H,Y,X]}),t[83]=Ve,t[84]=Be,t[85]=ut.Content,t[86]=dt,t[87]=H,t[88]=Y,t[89]=X,t[90]=Z):Z=t[90];let Q;t[91]!==ct.Portal||t[92]!==lt||t[93]!==Z?(Q=(0,m.jsx)(ct.Portal,{container:lt,children:Z}),t[91]=ct.Portal,t[92]=lt,t[93]=Z,t[94]=Q):Q=t[94];let $;return t[95]!==We||t[96]!==rt.Root||t[97]!==V||t[98]!==Q?($=(0,m.jsxs)(rt.Root,{open:We,onOpenChange:S,children:[V,Q]}),t[95]=We,t[96]=rt.Root,t[97]=V,t[98]=Q,t[99]=$):$=t[99],$}function ye(e){return e.preventDefault()}function be(e){return e.language}function xe({models:e,value:t,onChange:n,searchPlaceholder:r,noMatches:i,disabled:ee,showSearch:te=e.length>10,outOfFilterNote:re,groupByProvider:o=!1}){let s=a(e=>e.language),[c,ie]=(0,p.useState)(``),ae=ve(e,te?c:``),oe=(0,p.useRef)(null);(0,p.useLayoutEffect)(()=>{c||oe.current?.scrollIntoView?.({block:`nearest`})},[t,c,ae.some(e=>e.id===t)]);let d=new Map;for(let t of e){let e=o?t.provider:``;d.has(e)||d.set(e,[])}for(let e of ae)d.get(o?e.provider:``).push(e);return(0,m.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[te&&(0,m.jsx)(`input`,{type:`search`,"aria-label":r,placeholder:r,value:c,onChange:e=>ie(e.target.value),className:u(`mx-1 mb-2 rounded-lg border border-edge bg-surface-base px-3 py-2 text-sm text-fg`,`focus:outline-none focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 focus-visible:shadow-none focus-visible:border-edge`)}),(0,m.jsxs)(`div`,{"data-select-scroll-region":!0,className:u(l,o&&`scroll-pt-8`),children:[ae.length===0&&(0,m.jsx)(`p`,{className:`px-3 py-4 text-sm text-fg-muted`,children:i}),[...d].filter(([,e])=>e.length>0).map(([r,i])=>(0,m.jsxs)(`div`,{role:o?`group`:void 0,"aria-label":o?r:void 0,className:o?`border-t border-edge-subtle pb-1 first:border-t-0`:void 0,children:[o&&(0,m.jsx)(`p`,{className:`sticky top-0 z-10 bg-surface-overlay px-3 pb-1 pt-3 text-xs font-medium text-fg-muted`,children:r}),i.map(r=>(0,m.jsxs)(`button`,{type:`button`,disabled:ee,title:r.id,ref:r.id===t?oe:void 0,"aria-pressed":r.id===t,style:e.length>50?{contentVisibility:`auto`,containIntrinsicSize:`auto 60px`}:void 0,className:u(`flex min-h-11 w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm text-fg hover:bg-surface-hover disabled:opacity-50`,de.focusRingPanel,r.id===t&&`bg-surface-hover`),onClick:()=>n(r.id),children:[(0,m.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,m.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,m.jsx)(`span`,{className:`truncate font-medium`,children:f(r,s)}),(r.phoneUse||r.computerUse?.dedicated||r.reasoning)&&(0,m.jsx)(`span`,{className:`shrink-0 text-xs text-fg-muted`,children:r.phoneUse?s===`zh`?`手机控制`:`Phone control`:r.computerUse?.dedicated?s===`zh`?`电脑控制`:`Computer control`:s===`zh`?`推理`:`Reasoning`})]}),!o&&(0,m.jsx)(`span`,{className:`block truncate text-xs text-fg-muted`,children:r.provider}),re&&!r.vision&&r.id===t&&(0,m.jsx)(`span`,{className:`block text-xs text-fg-muted`,children:re})]}),(0,m.jsx)(ne,{className:u(`size-4 shrink-0 text-accent-fg`,r.id!==t&&`invisible`),"aria-hidden":!0})]},r.id))]},r))]})]})}export{g as n,f as r,xe as t};