@xopcai/xopc 0.0.425 → 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.
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/src/adapters/security-adapter.js +1 -1
- package/dist/extensions/telegram/src/pairing-config-resolver.js +1 -1
- package/dist/extensions/telegram/src/plugin.js +2 -2
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/extensions/weixin/src/api/api.js +1 -1
- package/dist/extensions/weixin/src/auth/accounts.js +2 -2
- package/dist/extensions/weixin/src/auth/pairing.js +1 -1
- package/dist/extensions/weixin/src/cdn/upload.js +1 -1
- package/dist/extensions/weixin/src/cli/gateway-qr-login.js +1 -1
- package/dist/extensions/weixin/src/cli/qr-login.js +1 -1
- package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
- package/dist/extensions/weixin/src/messaging/inbound.js +2 -2
- package/dist/extensions/weixin/src/messaging/process-message.js +3 -3
- package/dist/extensions/weixin/src/messaging/send.js +12 -3
- package/dist/extensions/weixin/src/monitor/monitor.js +1 -1
- package/dist/extensions/weixin/src/outbound-send.js +12 -3
- package/dist/extensions/weixin/src/pairing-config-resolver.js +1 -1
- package/dist/extensions/weixin/src/plugin.js +1 -1
- package/dist/gateway/static/root/assets/{activity-store-CMw8qBuC.js → activity-store-D_DXNHba.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-JI0YWOIm.js → agent-avatar-dicebear-CjaQxFQt.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-display-YqmwzOSa.js → agent-avatar-display-6Z4m31Fz.js} +2 -2
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-D4ClP_DJ.js +1 -0
- package/dist/gateway/static/root/assets/agent-plugin-dialog-m1A8wF9p.js +1 -0
- package/dist/gateway/static/root/assets/agents-B9slUA_1.js +77 -0
- package/dist/gateway/static/root/assets/{agents-admin-api-DLnmdC1h.js → agents-admin-api-u5c3GREg.js} +1 -1
- package/dist/gateway/static/root/assets/{api-Boc-CVh7.js → api-C3Tp9MkF.js} +1 -1
- package/dist/gateway/static/root/assets/{api-bL7sxjAF.js → api-CRT9ZyH0.js} +1 -1
- package/dist/gateway/static/root/assets/app-link-DRy3-k7j.js +1 -0
- package/dist/gateway/static/root/assets/{app-management-settings-panel-jIG5i7KE.js → app-management-settings-panel-XqoIBF2H.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-BnaQW9Xd.js → appearance-settings-9ZtqCASo.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-DUeu_7iC.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-DjboG3kA.js → archive-plugin-BCQnOkV8.js} +1 -1
- package/dist/gateway/static/root/assets/attachment-load-DrVGNxJm.js +1 -0
- package/dist/gateway/static/root/assets/{automation-api-CZqL9l_d.js → automation-api-hRsGx-qe.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-result-state-DRd-X_Ai.js → automation-result-state-CMfVTv_i.js} +1 -1
- package/dist/gateway/static/root/assets/automation-task-card-Bur78p68.js +3 -0
- package/dist/gateway/static/root/assets/{automations-page-HyBQIfmn.js → automations-page-DMIyWsP0.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-DEkDjxeU.js +9 -0
- package/dist/gateway/static/root/assets/{binary-plugins-Bg8ARZUH.js → binary-plugins-CIB5cbvQ.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-DKohqFAW.js → block-editor-CXdlNAmZ.js} +2 -2
- package/dist/gateway/static/root/assets/{browser-automation-inputs-YeibTzw4.js → browser-automation-inputs-Fxo7HbK6.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-automations-page-BWNcbuz2.js → browser-automations-page-Dn3LN5wo.js} +2 -2
- package/dist/gateway/static/root/assets/{browser-control-api-CDeuxy2x.js → browser-control-api-CbbPvhHR.js} +1 -1
- package/dist/gateway/static/root/assets/browser-settings-page-Cpm9fEPV.js +3 -0
- package/dist/gateway/static/root/assets/{button-CnRSIP6m.js → button-Cc4hUNTt.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-BcQa8c9n.js → capabilities-BEvywfF9.js} +1 -1
- package/dist/gateway/static/root/assets/capabilities-Bo2qEJhH.js +1 -0
- package/dist/gateway/static/root/assets/capabilities-page-BCzsIzvC.js +2 -0
- package/dist/gateway/static/root/assets/capabilities-settings-panel-Cr67ziwX.js +8 -0
- package/dist/gateway/static/root/assets/{capability-header-actions-CTUCuBlW.js → capability-header-actions-BxMYfQ8y.js} +1 -1
- package/dist/gateway/static/root/assets/channels-CA5z5dGY.js +1 -0
- package/dist/gateway/static/root/assets/{chat-agents-api-B8JO6Tcj.js → chat-agents-api-D8YS5amE.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-chart-block-DRtuFfF1.js → chat-chart-block-B39npsXj.js} +1 -1
- package/dist/gateway/static/root/assets/chat-page-D92AWJbh.js +72 -0
- package/dist/gateway/static/root/assets/{chat-terminal-dock-Dkqq5FSL.js → chat-terminal-dock-DjFnElAM.js} +2 -2
- package/dist/gateway/static/root/assets/{command-palette-api-qujvNqkK.js → command-palette-api-Dijix7V6.js} +1 -1
- package/dist/gateway/static/root/assets/composer-payload-handoff-BQXlFKf4.js +1 -0
- package/dist/gateway/static/root/assets/{computer-settings-page-8q4hRmoo.js → computer-settings-page-MkqyKyf3.js} +1 -1
- package/dist/gateway/static/root/assets/confirm-dialog-D7dQJytv.js +1 -0
- package/dist/gateway/static/root/assets/connected-providers-grid-BSvKP2u-.js +1 -0
- package/dist/gateway/static/root/assets/{connector-service-page-DQaTI21R.js → connector-service-page-DlIl9bLx.js} +1 -1
- package/dist/gateway/static/root/assets/{connectors-api-BjypBp2g.js → connectors-api-DEJU8mgn.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-Vx8-MY0Y.js +1 -0
- package/dist/gateway/static/root/assets/{copy-text-row-CYIv7RfP.js → copy-text-row-CpiRzq4G.js} +1 -1
- package/dist/gateway/static/root/assets/{date-picker-D_PSHGpe.js → date-picker-BIfjfOTM.js} +1 -1
- package/dist/gateway/static/root/assets/dependency-picker-XjPB8FJS.js +1 -0
- package/dist/gateway/static/root/assets/{desktop-pet-1Et9VqkM.js → desktop-pet-DFNehTtd.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-narrative-rADKU0FX.js → desktop-pet-narrative-ChwjpnsG.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-0fCGgaG7.js → desktop-pet-settings-BDjsFown.js} +1 -1
- package/dist/gateway/static/root/assets/{dev-view-store-TTj_djD8.js → dev-view-store-CeZZLOc6.js} +1 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-DH_uJ698.js +1 -0
- package/dist/gateway/static/root/assets/{directory-picker-path-field-C07a7wYX.js → directory-picker-path-field-DiZXY7jF.js} +1 -1
- package/dist/gateway/static/root/assets/{discussion-annotation-sync-BFqKm9ky.js → discussion-annotation-sync-BXqNuZnx.js} +1 -1
- package/dist/gateway/static/root/assets/dist-BGTk37IG.js +1 -0
- package/dist/gateway/static/root/assets/dist-BuHnPloF.js +1 -0
- package/dist/gateway/static/root/assets/dist-GJ8-1PAx.js +1 -0
- package/dist/gateway/static/root/assets/dist-ZrL34Ps4.js +1 -0
- package/dist/gateway/static/root/assets/{extension-debug-page-DFaVlqas.js → extension-debug-page-myQqsol2.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-iframe-host-BfzPfXBq.js → extension-iframe-host-DaL-OcTw.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-marketplace-api-ow0K1Y4_.js → extension-marketplace-api-DRBszrCR.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-CrDADV5W.js → extension-page-DvlGhZLa.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-provider-mnRoa63o.js → extension-provider-fOi6V6Cr.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-BLl02GFY.js → extension-settings-page-DOGlQpkx.js} +1 -1
- package/dist/gateway/static/root/assets/{file-preview-surface-TGdKqhCf.js → file-preview-surface-DfkXvFnc.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-swr-DfPQIHOL.js → gateway-config-swr-BOCt_zOo.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-67vWg_M2.js → gateway-realtime-BL_Cf0OQ.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-BHBOPF_q.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-restart-CLtR2wkL.js → gateway-restart-CHf8qY7H.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-COvC3r-l.js → gateway-settings-Di41peSM.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-9YQllbw2.js → gateway-startup-retry-CvkJYurV.js} +1 -1
- package/dist/gateway/static/root/assets/{global-defaults-api-DYMRjGvd.js → global-defaults-api-BWMbKu72.js} +1 -1
- package/dist/gateway/static/root/assets/home-page-B3sgqrl3.js +2 -0
- package/dist/gateway/static/root/assets/{image-generation-api-Dzydfvy8.js → image-generation-api-Ce-IY7Ug.js} +1 -1
- package/dist/gateway/static/root/assets/{imports-page-Csd_YZXZ.js → imports-page-W7_cDbxy.js} +1 -1
- package/dist/gateway/static/root/assets/index-D4B6O8B3.js +11 -0
- package/dist/gateway/static/root/assets/index-DGWBJDAM.css +1 -0
- package/dist/gateway/static/root/assets/install-connector-dialog-DWVl9ekV.js +1 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-B201bMIa.js → keyboard-shortcuts-settings-Doyu0Q9e.js} +1 -1
- package/dist/gateway/static/root/assets/link-2-D_ZKYUW7.js +1 -0
- package/dist/gateway/static/root/assets/local-app-workbench-page-B3h3P6aI.js +1 -0
- package/dist/gateway/static/root/assets/{local-apps-page-BOwqNH0L.js → local-apps-page-D6D2bZGW.js} +1 -1
- package/dist/gateway/static/root/assets/{local-session-drafts-DjmK-SM9.js → local-session-drafts-BJ1B1dQ7.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-Bg_XR36n.js → locale-store-Br7IfbXK.js} +1 -1
- package/dist/gateway/static/root/assets/{logs-page-gw3E9CMQ.js → logs-page-qiXos_12.js} +2 -2
- package/dist/gateway/static/root/assets/management-settings-C0WcSdK7.js +1 -0
- package/dist/gateway/static/root/assets/{markdown-view-BUpXJUPv.js → markdown-view-Ck5s16p9.js} +2 -2
- package/dist/gateway/static/root/assets/mcp-conversation-setup-page-CENs3hGU.js +1 -0
- package/dist/gateway/static/root/assets/{media-plugins-_shnaEMY.js → media-plugins-Ba6vUE4J.js} +1 -1
- package/dist/gateway/static/root/assets/messages-ByFlEbsu.js +3 -0
- package/dist/gateway/static/root/assets/model-selector-DCBmsHzj.js +1 -0
- package/dist/gateway/static/root/assets/{models-hub-cache-KOJC3z6Q.js → models-hub-cache-Bd-fYUrV.js} +1 -1
- package/dist/gateway/static/root/assets/note-detail-panel-CnuxqWMd.js +5 -0
- package/dist/gateway/static/root/assets/note-image-lightbox-BFKZ7qJr.js +1 -0
- package/dist/gateway/static/root/assets/{notes-api-BSmikUKI.js → notes-api-8kp0X1x6.js} +1 -1
- package/dist/gateway/static/root/assets/{notes-page-CA0NRL8O.js → notes-page-XMdy-H3H.js} +1 -1
- package/dist/gateway/static/root/assets/{oauth-api-D2t9HXoC.js → oauth-api-DMMdeaNd.js} +1 -1
- package/dist/gateway/static/root/assets/{oauth-provider-connect-DGGGGtcB.js → oauth-provider-connect-CfOK8mPM.js} +1 -1
- package/dist/gateway/static/root/assets/{page-context-capture-button-BH54VO0V.js → page-context-capture-button-CKlKWSJ7.js} +1 -1
- package/dist/gateway/static/root/assets/{page-context-draft-BS5y8Cx9.js → page-context-draft-LF33STHC.js} +1 -1
- package/dist/gateway/static/root/assets/page-header-store-Du44NIEJ.js +1 -0
- package/dist/gateway/static/root/assets/{personal-avatar-D8DtpDTa.js → personal-avatar-D6CzIIfo.js} +1 -1
- package/dist/gateway/static/root/assets/personal-page-CIMMSI25.js +1 -0
- package/dist/gateway/static/root/assets/{personal-settings-panel-9uDaNJy5.js → personal-settings-panel-wKdlrfPq.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-dependencies-card-DLYrI0C4.js → phone-dependencies-card-CDhk5277.js} +1 -1
- package/dist/gateway/static/root/assets/phone-model-connection-DZ-ZunPz.js +1 -0
- package/dist/gateway/static/root/assets/{phone-model-picker-BbA2iI-3.js → phone-model-picker-DuZc5jYO.js} +1 -1
- package/dist/gateway/static/root/assets/phone-settings-page-0u0GQl_R.js +1 -0
- package/dist/gateway/static/root/assets/{phone-workspace-store-CVDk80Bf.js → phone-workspace-store-SN7hfddU.js} +1 -1
- package/dist/gateway/static/root/assets/plugin-details-dialog-Bfc-Wmrd.js +1 -0
- package/dist/gateway/static/root/assets/{popover-select-DD8fmrxH.js → popover-select-CEMWIrtY.js} +1 -1
- package/dist/gateway/static/root/assets/{preference-select-fields-BVoN-lAv.js → preference-select-fields-BKeHZLXZ.js} +1 -1
- package/dist/gateway/static/root/assets/{product-automation-feedback-DCo90zGh.js → product-automation-feedback-BPur0vyo.js} +2 -2
- package/dist/gateway/static/root/assets/{product-open-page-OWl8IAoY.js → product-open-page-Bfd7R483.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-content-Cjas7UNe.js → product-preview-content-Bnq68oVw.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-modal-CPWRvBI9.js → product-preview-modal-BPmTeweh.js} +2 -2
- package/dist/gateway/static/root/assets/project-detail-page-D9nnyvrI.js +7 -0
- package/dist/gateway/static/root/assets/{project-understanding-Ba02SFzB.js → project-understanding-DLvxAoTT.js} +1 -1
- package/dist/gateway/static/root/assets/projects-page-BGy1pw9a.js +1 -0
- package/dist/gateway/static/root/assets/{providers-api-rwQ4LWzr.js → providers-api-DOnNfkwQ.js} +1 -1
- package/dist/gateway/static/root/assets/{recording-upload-BSmvRrZQ.js → recording-upload-CHFJbqW1.js} +1 -1
- package/dist/gateway/static/root/assets/{refresh-button-bU_0NarN.js → refresh-button-DiWdGAaX.js} +1 -1
- package/dist/gateway/static/root/assets/{registry-api-Vy7LfH6E.js → registry-api-DFDvOTg4.js} +1 -1
- package/dist/gateway/static/root/assets/{remote-access-hub-UXrnpGev.js → remote-access-hub-BVqwnOqO.js} +1 -1
- package/dist/gateway/static/root/assets/{resource-unavailable-f9OzSi4W.js → resource-unavailable-TQcRCpAg.js} +1 -1
- package/dist/gateway/static/root/assets/route-preload-DI43HQV_.js +2 -0
- package/dist/gateway/static/root/assets/{runtime-tools-api-Bt8t37z5.js → runtime-tools-api-9o3Wfji1.js} +1 -1
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-DU4UXnBm.js → runtime-tools-settings-panel-ccVBG-bZ.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-BKeP5G7b.js → schema-form-C-jw6Hid.js} +1 -1
- package/dist/gateway/static/root/assets/{secret-input-BQvFXqzz.js → secret-input-Dryrns2s.js} +1 -1
- package/dist/gateway/static/root/assets/{service-recommendation-list-CuYsRcBB.js → service-recommendation-list-CNghOavt.js} +1 -1
- package/dist/gateway/static/root/assets/{session-api-DJI9eSgw.js → session-api-Bs3r_d2_.js} +1 -1
- package/dist/gateway/static/root/assets/session-manager-Bnq3qpqy.js +23 -0
- package/dist/gateway/static/root/assets/sessions-page-CyBj1Xw2.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-BI4DMz4_.js +1 -0
- package/dist/gateway/static/root/assets/{settings-advanced-section-BxUuF_yi.js → settings-advanced-section-DwpPPxT0.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-mode-store-CaoRh2gt.js → settings-mode-store-CiRpsdTJ.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-qQ8-6dJ_.js → settings-page-Cd8Ermnn.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-header-CyUHrn7c.js → settings-page-header-BZl4AMiN.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-layout-DGVqXrlp.js → settings-page-layout-onhEgq-K.js} +1 -1
- package/dist/gateway/static/root/assets/setup-interaction-page-Cvvj6JyV.js +1 -0
- package/dist/gateway/static/root/assets/setup-status-panel-D4qgE7QM.js +1 -0
- package/dist/gateway/static/root/assets/share-link-dialog-DA0QuFOD.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-Cem96FbB.js → share-preview-page-YDpIY4dC.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-api-Dowes16l.js → shares-api-D8Q-m46d.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-DUvjOMmA.js +1 -0
- package/dist/gateway/static/root/assets/{skill-api-D8ZwFEVe.js → skill-api-uKU4sRiv.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-list-api-B4gp00-f.js → skill-list-api-BzKzG-xG.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-reload-api-ClmaaDXo.js → skill-reload-api-DkUXekcd.js} +1 -1
- package/dist/gateway/static/root/assets/skills-page-ClyNSh-7.js +2 -0
- package/dist/gateway/static/root/assets/{system-settings-panel-D095uacX.js → system-settings-panel-BN6sUX0H.js} +1 -1
- package/dist/gateway/static/root/assets/task-detail-page-CS9m7Ipo.js +2 -0
- package/dist/gateway/static/root/assets/{task-result-evidence-LUrJlUhb.js → task-result-evidence-DKygspo2.js} +1 -1
- package/dist/gateway/static/root/assets/{terminal-panel-store-BqEDB1Vl.js → terminal-panel-store-DJVC7HqA.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-gAcojLgP.js → theme-store-Dlnmgryi.js} +1 -1
- package/dist/gateway/static/root/assets/tool-friendly-title-DcCc6g7o.js +1 -0
- package/dist/gateway/static/root/assets/tracing-settings-page-Bs76WeoF.js +1 -0
- package/dist/gateway/static/root/assets/{tunnel-api-C9u9E3UQ.js → tunnel-api-B7nx0NQJ.js} +1 -1
- package/dist/gateway/static/root/assets/{understanding-activity-store-BTrzsR6_.js → understanding-activity-store-C4bblRnQ.js} +1 -1
- package/dist/gateway/static/root/assets/{understanding-refresh-store-5Qava3jh.js → understanding-refresh-store-BvCj9-Ue.js} +1 -1
- package/dist/gateway/static/root/assets/{usage-page-DFMLYKAc.js → usage-page-anU5gslJ.js} +1 -1
- package/dist/gateway/static/root/assets/{use-autosave-3O-X7x15.js → use-autosave-YHxQ-UZg.js} +1 -1
- package/dist/gateway/static/root/assets/use-composer-attachments-DYY3Yz4a.js +2 -0
- package/dist/gateway/static/root/assets/use-file-preview-expanded-CYgWzDnv.js +2 -0
- package/dist/gateway/static/root/assets/{use-personal-profile-MusPgljM.js → use-personal-profile-D2Un8G1L.js} +1 -1
- package/dist/gateway/static/root/assets/{use-workspace-tree-Ck_U2yTw.js → use-workspace-tree-Dkg9tUr4.js} +1 -1
- package/dist/gateway/static/root/assets/user-model-page-DIgPL3tN.js +2 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-C5zJApoa.js → voice-api-key-field-BUes-Jlp.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-DC1bYDt1.js → voice-config-api-CrULrSKC.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-input-shortcut-events-0SZjJdVV.js → voice-input-shortcut-events-DFMNIyy4.js} +1 -1
- package/dist/gateway/static/root/assets/voice-transcribe-api-Dy4hfftb.js +1 -0
- package/dist/gateway/static/root/assets/{work-discovery-overlay-DAQ8McVe.js → work-discovery-overlay-CFF4cRFl.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-page-DUQysEyb.js → work-discovery-page-BnYaVH3V.js} +1 -1
- package/dist/gateway/static/root/assets/working-directory-picker-modal-GFwVefVA.js +1 -0
- package/dist/gateway/static/root/assets/{workspace-api-ZrN6yUER.js → workspace-api-BdB4NEOh.js} +2 -2
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-4cZ26iaD.js +1 -0
- package/dist/gateway/static/root/assets/{workspace-file-preview-dialog-Yj_kBWSb.js → workspace-file-preview-dialog-NRL3YRjg.js} +1 -1
- package/dist/gateway/static/root/assets/{workspace-open-location-menu-yxT7wajO.js → workspace-open-location-menu-Dcij7wvJ.js} +1 -1
- package/dist/gateway/static/root/assets/{xopc-cloud-account-card-IcH9KDzx.js → xopc-cloud-account-card-DC9aG7Pl.js} +1 -1
- package/dist/gateway/static/root/index.html +100 -98
- package/dist/package.js +1 -1
- package/dist/packages/gateway-contract/src/automations.js +7 -0
- package/dist/packages/gateway-contract/src/capabilities.js +1 -1
- package/dist/src/agent/agent-manager.d.ts +1 -0
- package/dist/src/agent/agent-manager.js +1 -0
- package/dist/src/agent/child-agent-factory.js +1 -1
- package/dist/src/agent/data-acquisition/service.js +1 -1
- package/dist/src/agent/embedded/configuration-capability-correction.d.ts +3 -0
- package/dist/src/agent/embedded/configuration-capability-correction.js +14 -0
- package/dist/src/agent/embedded/run-for-session.js +20 -5
- package/dist/src/agent/embedded/run-turn.js +13 -1
- package/dist/src/agent/embedded/session-runner.js +6 -3
- package/dist/src/agent/image/generation/openai-images-provider.js +1 -1
- package/dist/src/agent/image/load-image-media.js +1 -1
- package/dist/src/agent/inbound/inbound-loop.js +4 -1
- package/dist/src/agent/independent-execution.js +1 -1
- package/dist/src/agent/mcp/config.js +1 -1
- package/dist/src/agent/mcp/connection-drafts.d.ts +3 -1
- package/dist/src/agent/mcp/connection-drafts.js +3 -2
- package/dist/src/agent/mcp/connection-setup.js +34 -2
- package/dist/src/agent/mcp/conversation-setup.d.ts +163 -0
- package/dist/src/agent/mcp/conversation-setup.js +621 -0
- package/dist/src/agent/mcp/native-mcp.d.ts +1 -0
- package/dist/src/agent/mcp/tool-catalog.d.ts +5 -0
- package/dist/src/agent/mcp/tool-catalog.js +19 -2
- package/dist/src/agent/mcp/weixin-setup-scope.d.ts +12 -0
- package/dist/src/agent/mcp/weixin-setup-scope.js +43 -0
- package/dist/src/agent/prompt/conversational-configuration-guide.js +2 -1
- package/dist/src/agent/prompt/sections/tooling.js +3 -2
- package/dist/src/agent/prompt/service-prompt-builder.js +1 -1
- package/dist/src/agent/service/direct-turn-helpers.js +1 -1
- package/dist/src/agent/service/process-direct-streaming.js +2 -2
- package/dist/src/agent/service.d.ts +2 -0
- package/dist/src/agent/service.js +11 -1
- package/dist/src/agent/service.types.d.ts +1 -0
- package/dist/src/agent/tasks/task-judge-service.js +2 -2
- package/dist/src/agent/tool-manuals/xopc-configuration.d.ts +6 -4
- package/dist/src/agent/tool-manuals/xopc-configuration.js +92 -8
- package/dist/src/agent/tools/automation-tool.d.ts +9 -1
- package/dist/src/agent/tools/automation-tool.js +34 -5
- package/dist/src/agent/tools/create-share-tool.js +1 -1
- package/dist/src/agent/tools/factory.d.ts +3 -0
- package/dist/src/agent/tools/factory.js +34 -23
- package/dist/src/agent/tools/image-generate-tool.js +3 -3
- package/dist/src/agent/tools/index.d.ts +1 -0
- package/dist/src/agent/tools/index.js +5 -4
- package/dist/src/agent/tools/mcp-setup-tool.d.ts +9 -0
- package/dist/src/agent/tools/mcp-setup-tool.js +32 -0
- package/dist/src/agent/tools/personal-task-tool.js +2 -2
- package/dist/src/agent/tools/publish-artifacts.js +1 -1
- package/dist/src/agent/tools/read.js +1 -1
- package/dist/src/agent/tools/skill-install-tool.js +56 -1
- package/dist/src/agent/tools/skill-manage-tool.d.ts +4 -0
- package/dist/src/agent/tools/skill-manage-tool.js +74 -2
- package/dist/src/agent/tools/skills-tools.js +1 -1
- package/dist/src/agent/tools/task-collaboration-tool.js +1 -1
- package/dist/src/agent/tools/tool-manual-tool.d.ts +1 -1
- package/dist/src/agent/tools/tool-manual-tool.js +3 -1
- package/dist/src/agent/tools/toolExposure.js +2 -0
- package/dist/src/agent/tools/write.js +1 -1
- package/dist/src/agent/tools/xopc-use-tool.d.ts +4 -2
- package/dist/src/agent/tools/xopc-use-tool.js +60 -10
- package/dist/src/agent-catalog/service.d.ts +1 -1
- package/dist/src/agent-catalog/service.js +2 -1
- package/dist/src/automations/capabilities/drafts.js +5 -2
- package/dist/src/automations/capabilities/read.js +18 -7
- package/dist/src/automations/capabilities/write.d.ts +111 -52
- package/dist/src/automations/capabilities/write.js +44 -10
- package/dist/src/automations/delivery/delivery-router.d.ts +1 -0
- package/dist/src/automations/delivery/delivery-router.js +7 -1
- package/dist/src/automations/domain/types.d.ts +8 -0
- package/dist/src/automations/domain/validation.d.ts +24 -0
- package/dist/src/automations/domain/validation.js +7 -0
- package/dist/src/automations/draft/automation-draft-validator.d.ts +6 -0
- package/dist/src/automations/index.js +2 -2
- package/dist/src/automations/mcp-source.d.ts +60 -0
- package/dist/src/automations/mcp-source.js +173 -0
- package/dist/src/automations/service/action-executor.js +15 -1
- package/dist/src/automations/service/automation-service.d.ts +5 -0
- package/dist/src/automations/service/automation-service.js +52 -2
- package/dist/src/automations/service/index.js +2 -2
- package/dist/src/browser/setup/repository.d.ts +1 -0
- package/dist/src/browser/setup/repository.js +7 -1
- package/dist/src/browser/setup/service.d.ts +3 -0
- package/dist/src/browser/setup/service.js +41 -18
- package/dist/src/browser/setup/types.d.ts +1 -0
- package/dist/src/channels/attachments/voice-stt-webchat.js +1 -1
- package/dist/src/channels/index.js +1 -1
- package/dist/src/channels/manager.d.ts +1 -0
- package/dist/src/channels/outbound-sender.d.ts +1 -0
- package/dist/src/channels/outbound-sender.js +3 -0
- package/dist/src/channels/pairing/pairing-service.js +1 -1
- package/dist/src/channels/weixin/account-identity.d.ts +2 -0
- package/dist/src/channels/weixin/account-identity.js +15 -0
- package/dist/src/chat-commands/builtins/config.js +1 -1
- package/dist/src/cli/commands/backup.js +1 -1
- package/dist/src/cli/commands/channels.js +2 -2
- package/dist/src/cli/commands/doctor/checks/channel-pairing-pending.js +1 -1
- package/dist/src/cli/commands/mcp.js +1 -1
- package/dist/src/config/models-json.d.ts +12 -0
- package/dist/src/extensions/agent-plugins/credentials.js +1 -1
- package/dist/src/extensions/agent-plugins/setup.d.ts +1 -1
- package/dist/src/extensions/agent-plugins/setup.js +3 -3
- package/dist/src/extensions/api.js +1 -1
- package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
- package/dist/src/gateway/agents-admin.js +1 -1
- package/dist/src/gateway/device-routes.js +1 -1
- package/dist/src/gateway/global-defaults-admin.js +1 -1
- package/dist/src/gateway/hono/app.js +1 -1
- package/dist/src/gateway/hono/lib/config-payload.js +1 -1
- package/dist/src/gateway/hono/oauth-async.js +1 -1
- package/dist/src/gateway/hono/routes/channels.js +1 -1
- package/dist/src/gateway/hono/routes/config.js +1 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js +1 -1
- package/dist/src/gateway/hono/routes/mcp.js +39 -2
- package/dist/src/gateway/hono/routes/notes.js +2 -2
- package/dist/src/gateway/hono/routes/phone-setup.js +45 -16
- package/dist/src/gateway/hono/routes/phone.js +2 -4
- package/dist/src/gateway/hono/routes/projects.js +1 -1
- package/dist/src/gateway/hono/routes/provider-setup.js +1 -1
- package/dist/src/gateway/hono/routes/public-gateway.js +22 -0
- package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
- package/dist/src/gateway/hono/routes/shares.js +1 -1
- package/dist/src/gateway/hono/routes/site-shares.js +1 -1
- package/dist/src/gateway/hono/routes/tasks.js +1 -1
- package/dist/src/gateway/media-access.js +1 -1
- package/dist/src/gateway/service/agent-runner.d.ts +1 -0
- package/dist/src/gateway/service/agent-runner.js +3 -1
- package/dist/src/gateway/service/config-coordinator.d.ts +1 -1
- package/dist/src/gateway/service/config-coordinator.js +2 -1
- package/dist/src/gateway/service/run-gateway-agent.js +1 -1
- package/dist/src/gateway/service/sessions-api.js +2 -1
- package/dist/src/gateway/service.d.ts +5 -1
- package/dist/src/gateway/service.js +86 -12
- package/dist/src/gateway/session-context-summary.js +1 -1
- package/dist/src/gateway/session-reset-service.d.ts +1 -0
- package/dist/src/gateway/session-reset-service.js +15 -2
- package/dist/src/gateway/xopc-cloud-capability-setup.js +9 -1
- package/dist/src/notes/service.js +1 -1
- package/dist/src/personal-agent/prompts.js +1 -1
- package/dist/src/personal-agent/reply-composer.js +2 -2
- package/dist/src/personal-agent/request-service.js +3 -3
- package/dist/src/personal-agent/service.js +1 -1
- package/dist/src/personal-agent/task-cancel.js +1 -1
- package/dist/src/phone/cloud-adb-connection.js +8 -5
- package/dist/src/phone/contracts.d.ts +4 -0
- package/dist/src/phone/contracts.js +6 -1
- package/dist/src/phone/gui-protocol.d.ts +7 -0
- package/dist/src/phone/gui-protocol.js +302 -0
- package/dist/src/phone/model-adapter.d.ts +1 -1
- package/dist/src/phone/model-adapter.js +7 -4
- package/dist/src/phone/runtime.js +8 -2
- package/dist/src/phone/setup/service.d.ts +14 -4
- package/dist/src/phone/setup/service.js +106 -28
- package/dist/src/phone/ui-dump-binary.d.ts +1 -1
- package/dist/src/phone/ui-dump-binary.js +1 -1
- package/dist/src/phone/ui-session.d.ts +2 -0
- package/dist/src/phone/ui-session.js +23 -4
- package/dist/src/projects/index.js +1 -1
- package/dist/src/projects/project-service.js +1 -1
- package/dist/src/providers/env-keys.js +2 -0
- package/dist/src/providers/index.js +11 -0
- package/dist/src/providers/model-catalog-types.d.ts +1 -1
- package/dist/src/providers/model-supplements.d.ts +1 -1
- package/dist/src/providers/model-supplements.js +6 -3
- package/dist/src/providers/phone-models.d.ts +3 -0
- package/dist/src/providers/phone-models.js +33 -0
- package/dist/src/providers/presentation.js +0 -1
- package/dist/src/runtime-tools/phone-dependencies.d.ts +2 -0
- package/dist/src/runtime-tools/phone-dependencies.js +10 -0
- package/dist/src/share/note-share-service.js +1 -1
- package/dist/src/share/site-proxy.js +1 -1
- package/dist/src/tasks/capabilities/write.js +1 -1
- package/dist/src/tasks/index.js +1 -1
- package/dist/src/tasks/task-allocation-service.js +3 -3
- package/dist/src/tasks/task-application-service.js +2 -2
- package/dist/src/tasks/task-context-assembler.js +1 -1
- package/dist/src/tasks/task-contract-planner.js +1 -1
- package/dist/src/tasks/task-handoff.js +1 -1
- package/dist/src/tasks/task-research-result.js +1 -1
- package/dist/src/tasks/task-run-coordinator.js +2 -2
- package/dist/src/tui/backends/embedded-backend.js +1 -1
- package/dist/src/tui/tui.js +1 -1
- package/dist/src/voice/platform-catalog.d.ts +1 -1
- package/package.json +3 -1
- package/skills/tools/configure-xopc/SKILL.md +10 -3
- package/skills/tools/configure-xopc/references/browser/chrome-extension.md +4 -1
- package/skills/tools/configure-xopc/references/browser/overview.md +2 -2
- package/skills/tools/configure-xopc/references/phone/aliyun.md +3 -2
- package/skills/tools/configure-xopc/references/phone/overview.md +2 -2
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-DlvjxWg6.js +0 -1
- package/dist/gateway/static/root/assets/agent-plugin-dialog-OBueuQSc.js +0 -1
- package/dist/gateway/static/root/assets/agents-Cp6_5OOQ.js +0 -77
- package/dist/gateway/static/root/assets/app-link-1j40sJ-z.js +0 -1
- package/dist/gateway/static/root/assets/apps-page-C2WKUwtN.js +0 -1
- package/dist/gateway/static/root/assets/attachment-load-qjPpQzYY.js +0 -1
- package/dist/gateway/static/root/assets/automation-task-card-wbnR5i6N.js +0 -3
- package/dist/gateway/static/root/assets/automations-workspace-D6cTOKr7.js +0 -9
- package/dist/gateway/static/root/assets/browser-settings-page-L0nBjfhG.js +0 -3
- package/dist/gateway/static/root/assets/capabilities-aT-QjNTl.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-page-DlpuHdHi.js +0 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-pvqkN2-2.js +0 -8
- package/dist/gateway/static/root/assets/channels-BUPtawh6.js +0 -1
- package/dist/gateway/static/root/assets/chat-page-BP0huA-W.js +0 -72
- package/dist/gateway/static/root/assets/composer-payload-handoff-CYIhcczq.js +0 -1
- package/dist/gateway/static/root/assets/confirm-dialog-XGclfBqe.js +0 -1
- package/dist/gateway/static/root/assets/connected-providers-grid-CKZfhHSD.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-Lf1ZzaVn.js +0 -1
- package/dist/gateway/static/root/assets/dependency-picker-UqKVJ9dv.js +0 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-ByEL5lvM.js +0 -1
- package/dist/gateway/static/root/assets/dist-CaUuvp8-.js +0 -1
- package/dist/gateway/static/root/assets/dist-D3lWNSe7.js +0 -1
- package/dist/gateway/static/root/assets/dist-DfWfZ9iu.js +0 -1
- package/dist/gateway/static/root/assets/dist-DusecO_p.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-Bkt1z-xo.js +0 -1
- package/dist/gateway/static/root/assets/home-page-k9LFXcVa.js +0 -2
- package/dist/gateway/static/root/assets/index-CpwPxKQ8.css +0 -1
- package/dist/gateway/static/root/assets/index-DKW7BeT_.js +0 -11
- package/dist/gateway/static/root/assets/install-connector-dialog-CTQAKTPv.js +0 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-CD_8_gd_.js +0 -1
- package/dist/gateway/static/root/assets/management-settings-t_Z2mCyw.js +0 -1
- package/dist/gateway/static/root/assets/messages-DG4HLOER.js +0 -3
- package/dist/gateway/static/root/assets/model-selector-a7PIT1Lk.js +0 -1
- package/dist/gateway/static/root/assets/note-detail-panel-BsHYUFgk.js +0 -5
- package/dist/gateway/static/root/assets/note-image-lightbox-B-bEtjhj.js +0 -1
- package/dist/gateway/static/root/assets/page-header-store-BdZnUh-D.js +0 -1
- package/dist/gateway/static/root/assets/personal-page-KJezmTKP.js +0 -1
- package/dist/gateway/static/root/assets/phone-settings-page-Cg_BPss4.js +0 -1
- package/dist/gateway/static/root/assets/plugin-details-dialog-DgibLkc3.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-B_HlZux_.js +0 -7
- package/dist/gateway/static/root/assets/projects-page-CdfKjp95.js +0 -1
- package/dist/gateway/static/root/assets/route-preload-BtObM-co.js +0 -2
- package/dist/gateway/static/root/assets/session-manager-CtKgACGl.js +0 -23
- package/dist/gateway/static/root/assets/sessions-page-BAsKzRHt.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-CjAFqg2U.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-BpaPb625.js +0 -1
- package/dist/gateway/static/root/assets/share-link-dialog-CQJ6Ykm2.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-DZEkZDR0.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-CV0X9rvG.js +0 -2
- package/dist/gateway/static/root/assets/task-detail-page-CY2C4AM2.js +0 -2
- package/dist/gateway/static/root/assets/tool-friendly-title-o6sxGVUu.js +0 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-B1ZRh-Is.js +0 -1
- package/dist/gateway/static/root/assets/use-composer-attachments-BLc4dBfe.js +0 -2
- package/dist/gateway/static/root/assets/use-file-preview-expanded-BaOmTXsT.js +0 -2
- package/dist/gateway/static/root/assets/user-model-page-Den5Lg-k.js +0 -2
- package/dist/gateway/static/root/assets/voice-transcribe-api-CxVeANPX.js +0 -1
- package/dist/gateway/static/root/assets/working-directory-picker-modal-BO9qdJyZ.js +0 -1
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-Bo5dwoWP.js +0 -1
|
@@ -1 +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{t as i}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{i as a,l as o,n as s,o as c}from"./locale-store-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{i as a,l as o,n as s,o as c}from"./locale-store-Br7IfbXK.js";import{t as l}from"./messages-ByFlEbsu.js";import{t as u}from"./skeleton-BI5TyibZ.js";import{i as d}from"./vendor-swr-CdRzEUwF.js";import{t as f}from"./button-Cc4hUNTt.js";var p=e(t(),1),m=n(),h=e=>a(`/api/projects/${encodeURIComponent(e)}/understanding`);function g(e){return c(h(e))}function _(e){return c(h(e),{method:`POST`})}function v(e,t){return c(h(e),{method:`PATCH`,body:JSON.stringify({content:t})})}function y(e){return e===`queued`||e===`probing`||e===`analyzing`}var b=r();function x(){let e=(0,m.c)(2),t=s(S),n;return e[0]===t?n=e[1]:(n=l(t),e[0]=t,e[1]=n),n.projectsPage.understanding}function S(e){return e.language}function C(e){let t=(0,m.c)(18),{checked:n,onChange:r,disabled:i}=e,a=x(),o=(0,p.useId)(),s;t[0]===r?s=t[1]:(s=e=>r(e.target.checked),t[0]=r,t[1]=s);let c;t[2]!==n||t[3]!==i||t[4]!==o||t[5]!==s?(c=(0,b.jsx)(`input`,{type:`checkbox`,"aria-describedby":o,className:`mt-1 accent-accent`,checked:n,disabled:i,onChange:s}),t[2]=n,t[3]=i,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;t[7]===a.auto?l=t[8]:(l=(0,b.jsx)(`span`,{children:a.auto}),t[7]=a.auto,t[8]=l);let u;t[9]!==c||t[10]!==l?(u=(0,b.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2.5 text-sm text-fg`,children:[c,l]}),t[9]=c,t[10]=l,t[11]=u):u=t[11];let d;t[12]!==a.hint||t[13]!==o?(d=(0,b.jsx)(`p`,{id:o,className:`mt-1 pl-6 text-xs leading-5 text-fg-subtle`,children:a.hint}),t[12]=a.hint,t[13]=o,t[14]=d):d=t[14];let f;return t[15]!==u||t[16]!==d?(f=(0,b.jsxs)(`div`,{children:[u,d]}),t[15]=u,t[16]=d,t[17]=f):f=t[17],f}function w(e){let t=(0,m.c)(11),n=o(D),r=o(E),i;t[0]!==r||t[1]!==n||t[2]!==e?(i=r?[`project-understanding`,n,r,e]:null,t[0]=r,t[1]=n,t[2]=e,t[3]=i):i=t[3];let a;t[4]===e?a=t[5]:(a=()=>g(e),t[4]=e,t[5]=a);let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s={refreshInterval:T,revalidateOnFocus:!1},t[6]=s):s=t[6];let c=d(i,a,s),{mutate:l}=c,u,f;return t[7]!==l||t[8]!==e?(u=()=>{let t=t=>{t.detail?.id===e&&l()};return window.addEventListener(`project-updated`,t),()=>window.removeEventListener(`project-updated`,t)},f=[l,e],t[7]=l,t[8]=e,t[9]=u,t[10]=f):(u=t[9],f=t[10]),(0,p.useEffect)(u,f),c}function T(e){return y(e?.status)?3e3:0}function E(e){return e.conversationId}function D(e){return e.baseUrl}function O({projectId:e,hasProjectFolder:t,onStarted:n,className:r}){let i=x(),{data:a,mutate:o}=w(e),[s,c]=(0,p.useState)(!1),[l,u]=(0,p.useState)(!1),d=y(a?.status),f=async()=>{c(!0),u(!1);try{await _(e),await o(),n?.()}catch{u(!0)}finally{c(!1)}};return t?(0,b.jsxs)(`div`,{children:[(0,b.jsx)(`button`,{type:`button`,className:r??`text-xs text-fg-muted hover:text-fg disabled:opacity-50`,disabled:s||d,onClick:()=>void f(),children:d||s?i.running:a?.status===`failed`||a?.status===`canceled`?i.retry:a?.status===`completed`?i.refresh:i.start}),l?(0,b.jsx)(`p`,{role:`alert`,className:`px-2 text-xs text-danger`,children:i.failed}):null]}):(0,b.jsx)(A,{projectId:e})}function k({projectId:e,hasProjectFolder:t}){let n=x(),{data:r,error:i,isLoading:a,mutate:o}=w(e),[s,c]=(0,p.useState)(!1),[l,d]=(0,p.useState)(``),[m,h]=(0,p.useState)(!1),[g,_]=(0,p.useState)(!1),S=async()=>{h(!0),_(!1);try{await v(e,l),await o(),c(!1)}catch{_(!0)}finally{h(!1)}};return t?a?(0,b.jsx)(u,{className:`h-12 w-full rounded-xl`}):(0,b.jsxs)(`section`,{className:`rounded-xl border border-edge bg-surface-panel px-5 py-3`,children:[(0,b.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-xs text-fg-subtle`,children:[(0,b.jsx)(`span`,{children:y(r?.status)?n.running:r?.status===`failed`||r?.status===`canceled`||i?n.failed:n.title}),y(r?.status)?null:(0,b.jsx)(O,{projectId:e,hasProjectFolder:t})]}),r?.overview?(0,b.jsxs)(`details`,{className:`mt-2`,children:[(0,b.jsx)(`summary`,{className:`cursor-pointer text-sm text-fg-muted`,children:n.view}),s?(0,b.jsxs)(`div`,{className:`mt-3 space-y-2`,children:[(0,b.jsx)(`textarea`,{"aria-label":n.title,className:`min-h-48 w-full rounded-lg border border-edge bg-surface-base p-3 text-sm text-fg`,value:l,onChange:e=>d(e.target.value),maxLength:6e3,disabled:m}),(0,b.jsxs)(`div`,{className:`flex gap-2`,children:[(0,b.jsx)(f,{onClick:()=>void S(),disabled:m||!l.trim(),children:n.save}),(0,b.jsx)(f,{variant:`ghost`,disabled:m,onClick:()=>c(!1),children:n.cancel})]}),g?(0,b.jsx)(`p`,{role:`alert`,className:`text-xs text-danger`,children:n.saveFailed}):null]}):(0,b.jsxs)(`div`,{className:`mt-3`,children:[(0,b.jsx)(`p`,{className:`whitespace-pre-wrap text-sm leading-6 text-fg-muted`,children:r.overview}),(0,b.jsx)(`button`,{type:`button`,className:`mt-2 text-xs text-fg-subtle hover:text-fg`,onClick:()=>{d(r.overview??``),c(!0)},children:n.edit})]})]}):null]}):(0,b.jsx)(`section`,{className:`rounded-xl border border-edge p-4`,children:(0,b.jsx)(A,{projectId:e})})}function A(e){let t=(0,m.c)(8),{projectId:n}=e,r=s(j)===`zh`,a=r?`未绑定项目文件夹`:`No project folder linked`,o;t[0]===a?o=t[1]:(o=(0,b.jsx)(`span`,{className:`text-fg-muted`,children:a}),t[0]=a,t[1]=o);let c=`/projects/${encodeURIComponent(n)}/settings`,l=r?`绑定文件夹`:`Link a folder`,u;t[2]!==c||t[3]!==l?(u=(0,b.jsx)(i,{className:`text-accent-fg hover:underline`,to:c,children:l}),t[2]=c,t[3]=l,t[4]=u):u=t[4];let d;return t[5]!==o||t[6]!==u?(d=(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 text-xs leading-5`,children:[o,u]}),t[5]=o,t[6]=u,t[7]=d):d=t[7],d}function j(e){return e.language}export{C as n,k as r,O as t};
|
|
@@ -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{t as i}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{n as a}from"./locale-store-Br7IfbXK.js";import{t as ee}from"./messages-ByFlEbsu.js";import{a as o,i as s,n as c,o as l,r as u,s as d,t as f}from"./dist-BGTk37IG.js";import{t as p}from"./archive-Dz0hferG.js";import{t as m}from"./arrow-right-DSSvoX71.js";import{t as h}from"./working-directory-picker-modal-GFwVefVA.js";import{n as g,r as _}from"./popover-select-CEMWIrtY.js";import{t as te}from"./folder-kanban-CpLlFI1o.js";import{t as v}from"./folder-open-CyzJ19I9.js";import{t as y}from"./loader-circle-CifKLtgG.js";import{n as b,t as x}from"./pin-off-BMRv-Kxr.js";import{t as S}from"./plus-Q2yW6OE7.js";import{t as ne}from"./rotate-ccw-JM1TBLpp.js";import{t as C}from"./search-DA7gz22f.js";import{t as w}from"./x-B_N4OPjy.js";import{t as T}from"./cn-0WouolD0.js";import{t as E}from"./skeleton-BI5TyibZ.js";import{_ as D,d as O,f as k,m as A,n as j,t as M}from"./api-C3Tp9MkF.js";import{t as N}from"./button-Cc4hUNTt.js";import{t as P}from"./page-header-store-Du44NIEJ.js";import{n as re}from"./project-understanding-DLvxAoTT.js";import{t as ie}from"./use-directory-picker-C4p7AgWY.js";import{t as F}from"./date-formatters-DukWSVwc.js";var I=n(),L=e(t(),1),R=r();function z(e,t){if(e==null)return t;let n=new Date(e);return Number.isNaN(n.getTime())?t:F(n)}function ae(e){return[...e].sort((e,t)=>{let n=Number(!!t.pinnedAt)-Number(!!e.pinnedAt);return n===0?new Date(t.lastActiveAt??t.updatedAt).getTime()-new Date(e.lastActiveAt??e.updatedAt).getTime():n})}function oe(){let e=(0,I.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,R.jsx)(`div`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-3`,"aria-busy":!0,children:Array.from({length:6},B)}),e[0]=t):t=e[0],t}function B(e,t){return(0,R.jsx)(E,{className:`h-40 rounded-xl`},t)}function se(e){let t=(0,I.c)(59),{project:n,busy:r,onTogglePin:o,onToggleArchive:s}=e,c=a(V),l,u,d,f,h,g,_,v;if(t[0]!==c||t[1]!==n.brief||t[2]!==n.description||t[3]!==n.id||t[4]!==n.lastActiveAt||t[5]!==n.name||t[6]!==n.status||t[7]!==n.updatedAt||t[8]!==n.workspaceRoot){let e=ee(c).projectsPage;l=e.management,_=`flex h-full flex-col rounded-xl border border-edge-subtle bg-surface-base p-4`;let r;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,R.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-lg bg-surface-hover text-fg-muted`,children:(0,R.jsx)(te,{className:`size-4`,"aria-hidden":!0})}),t[17]=r):r=t[17];let a;t[18]===n.name?a=t[19]:(a=(0,R.jsx)(`h2`,{className:`truncate text-base font-semibold sm:text-sm text-fg`,children:n.name}),t[18]=n.name,t[19]=a);let o=(0,R.jsxs)(`div`,{className:`min-w-0`,children:[a,(0,R.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-subtle`,children:e.statuses[n.status]})]}),s;t[20]===o?s=t[21]:(s=(0,R.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[r,o]}),t[20]=o,t[21]=s);let p;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,R.jsx)(m,{className:`mt-2 size-4 shrink-0 text-fg-subtle transition-transform group-hover:translate-x-0.5`,"aria-hidden":!0}),t[22]=p):p=t[22];let y;t[23]===s?y=t[24]:(y=(0,R.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[s,p]}),t[23]=s,t[24]=y),v=(0,R.jsxs)(i,{to:`/projects/${encodeURIComponent(n.id)}`,className:`group flex min-w-0 flex-1 flex-col rounded-lg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[y,(0,R.jsx)(`p`,{className:`mt-3 line-clamp-2 min-h-10 text-sm leading-6 sm:text-xs sm:leading-5 text-fg-muted`,children:n.description||n.brief||e.noDescription})]}),g=`mt-3 flex shrink-0 items-end justify-between gap-3 border-t border-edge-subtle pt-3`,f=`min-w-0 text-xs text-fg-muted`,h=(0,R.jsx)(`p`,{className:`hidden truncate sm:block`,children:n.workspaceRoot||e.agentDefault}),u=`mt-1`,d=z(n.lastActiveAt??n.updatedAt,e.never),t[0]=c,t[1]=n.brief,t[2]=n.description,t[3]=n.id,t[4]=n.lastActiveAt,t[5]=n.name,t[6]=n.status,t[7]=n.updatedAt,t[8]=n.workspaceRoot,t[9]=l,t[10]=u,t[11]=d,t[12]=f,t[13]=h,t[14]=g,t[15]=_,t[16]=v}else l=t[9],u=t[10],d=t[11],f=t[12],h=t[13],g=t[14],_=t[15],v=t[16];let y;t[25]!==u||t[26]!==d?(y=(0,R.jsx)(`p`,{className:u,children:d}),t[25]=u,t[26]=d,t[27]=y):y=t[27];let S;t[28]!==f||t[29]!==h||t[30]!==y?(S=(0,R.jsxs)(`div`,{className:f,children:[h,y]}),t[28]=f,t[29]=h,t[30]=y,t[31]=S):S=t[31];let C=n.pinnedAt?l.unpin:l.pin,w=n.pinnedAt?l.unpin:l.pin,T;t[32]===n.pinnedAt?T=t[33]:(T=n.pinnedAt?(0,R.jsx)(x,{className:`size-4`,"aria-hidden":!0}):(0,R.jsx)(b,{className:`size-4`,"aria-hidden":!0}),t[32]=n.pinnedAt,t[33]=T);let E;t[34]!==r||t[35]!==o||t[36]!==C||t[37]!==w||t[38]!==T?(E=(0,R.jsx)(N,{type:`button`,variant:`ghost`,className:`size-8 p-0`,disabled:r,onClick:o,"aria-label":C,title:w,children:T}),t[34]=r,t[35]=o,t[36]=C,t[37]=w,t[38]=T,t[39]=E):E=t[39];let D=n.status===`archived`?l.restore:l.archive,O=n.status===`archived`?l.restore:l.archive,k;t[40]===n.status?k=t[41]:(k=n.status===`archived`?(0,R.jsx)(ne,{className:`size-4`,"aria-hidden":!0}):(0,R.jsx)(p,{className:`size-4`,"aria-hidden":!0}),t[40]=n.status,t[41]=k);let A;t[42]!==r||t[43]!==s||t[44]!==D||t[45]!==O||t[46]!==k?(A=(0,R.jsx)(N,{type:`button`,variant:`ghost`,className:`size-8 p-0`,disabled:r,onClick:s,"aria-label":D,title:O,children:k}),t[42]=r,t[43]=s,t[44]=D,t[45]=O,t[46]=k,t[47]=A):A=t[47];let j;t[48]!==E||t[49]!==A?(j=(0,R.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[E,A]}),t[48]=E,t[49]=A,t[50]=j):j=t[50];let M;t[51]!==j||t[52]!==g||t[53]!==S?(M=(0,R.jsxs)(`div`,{className:g,children:[S,j]}),t[51]=j,t[52]=g,t[53]=S,t[54]=M):M=t[54];let P;return t[55]!==M||t[56]!==_||t[57]!==v?(P=(0,R.jsxs)(`article`,{className:_,children:[v,M]}),t[55]=M,t[56]=_,t[57]=v,t[58]=P):P=t[58],P}function V(e){return e.language}function H(){let e=a(e=>e.language),t=ee(e),n=t.projectsPage,r=n.management,i=t.chat.workingDirectory,p=P(e=>e.setPageHeader),m=P(e=>e.clearPageHeader),[b,x]=(0,L.useState)([]),[ne,E]=(0,L.useState)(!0),[F,I]=(0,L.useState)(null),[z,B]=(0,L.useState)(``),[V,H]=(0,L.useState)(!1),[U,ce]=(0,L.useState)(`active`),[le,ue]=(0,L.useState)(null),[de,W]=(0,L.useState)(!1),[fe,G]=(0,L.useState)(null),[K,pe]=(0,L.useState)(!1),[q,me]=(0,L.useState)(!1),[J,he]=(0,L.useState)(``),[Y,ge]=(0,L.useState)(``),[X,_e]=(0,L.useState)(``),Z=ie({initialPath:X,onPicked:_e}),Q=(0,L.useRef)(0),$=(0,L.useCallback)(async(e=!1)=>{let t=++Q.current;e||(E(!0),I(null));try{let e=await O({limit:100,sortBy:`updatedAt`,sortOrder:`desc`});t===Q.current&&x(ae(e.items))}catch(n){!e&&t===Q.current&&I(n instanceof Error?n.message:String(n))}finally{t===Q.current&&E(!1)}},[]);(0,L.useEffect)(()=>($(),()=>{Q.current++}),[$]),(0,L.useEffect)(()=>{let e=()=>{$(!0)};return window.addEventListener(`project-resource-changed`,e),()=>{window.removeEventListener(`project-resource-changed`,e)}},[$]);let ve=(0,L.useMemo)(()=>{let e=z.trim().toLocaleLowerCase();return b.filter(e=>U===`all`||e.status===U).filter(t=>!e||[t.name,t.description,t.brief,t.workspaceRoot].filter(Boolean).some(t=>t.toLocaleLowerCase().includes(e)))},[U,b,z]),ye=(0,L.useMemo)(()=>(0,R.jsxs)(N,{type:`button`,variant:`primary`,className:`h-9 rounded-lg`,onClick:()=>W(!0),children:[(0,R.jsx)(S,{className:`size-4`,"aria-hidden":!0}),n.create]}),[n.create]);(0,L.useLayoutEffect)(()=>(p({startExtra:null,main:(0,R.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:r.title}),end:ye}),()=>m()),[m,ye,r.title,p]);let be=(0,L.useCallback)(async e=>{e.preventDefault();let t=J.trim(),n=X.trim();if(!(!t||K)){pe(!0),G(null);try{let e=await j({autoUnderstand:!!X.trim()&&q,name:t,...Y.trim()?{description:Y.trim()}:{},...n?{workspaceRoot:n}:{}});x(t=>[e,...t.filter(t=>t.id!==e.id)]),he(``),ge(``),_e(``),me(!1),W(!1),window.dispatchEvent(new CustomEvent(`project-updated`,{detail:{id:e.id}}))}catch(e){G(e instanceof Error?e.message:String(e))}finally{pe(!1)}}},[K,Y,J,X,q]),xe=(0,L.useCallback)(async(e,t)=>{ue(e.id),I(null);try{let n;n=t===`pin`?e.pinnedAt?await D(e.id,e.version):await k(e.id,e.version):e.status===`archived`?await A(e.id,e.version):await M(e.id,e.version),x(e=>e.map(e=>e.id===n.id?n:e)),window.dispatchEvent(new CustomEvent(`project-updated`,{detail:{id:e.id}}))}catch(e){I(e instanceof Error?e.message:String(e))}finally{ue(null)}},[]),Se=[{id:`active`,label:n.statuses.active},{id:`paused`,label:n.statuses.paused},{id:`archived`,label:n.statuses.archived},{id:`all`,label:n.all}],Ce=Se.find(e=>e.id===U)?.label??n.all,we=r.resultCount.replace(`{{status}}`,Ce).replace(`{{count}}`,String(ve.length));return(0,R.jsxs)(`main`,{className:`mx-auto flex w-full max-w-7xl flex-1 flex-col gap-5 px-4 pb-7 pt-3 sm:px-6 lg:px-8 lg:pb-9 lg:pt-4`,children:[(0,R.jsx)(f,{open:de,onOpenChange:e=>{W(e),e||G(null)},children:(0,R.jsxs)(l,{children:[(0,R.jsx)(o,{className:`xopc-dialog-overlay fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,R.jsxs)(u,{className:`xopc-dialog-content fixed left-1/2 top-1/2 z-[90] flex h-[min(34rem,calc(100vh-2rem))] w-[min(38rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-overlay shadow-float focus:outline-none`,children:[(0,R.jsxs)(`div`,{className:`shrink-0 border-b border-edge px-5 py-4`,children:[(0,R.jsx)(d,{className:`text-base font-semibold text-fg`,children:n.createTitle}),(0,R.jsx)(s,{className:`mt-1 text-sm text-fg-muted`,children:n.createDescription})]}),(0,R.jsxs)(`form`,{onSubmit:be,className:`flex min-h-0 flex-1 flex-col`,children:[(0,R.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-5 py-4`,children:[(0,R.jsxs)(`label`,{className:`grid gap-1.5 text-sm font-medium text-fg`,children:[n.projectName,(0,R.jsx)(`input`,{className:`h-10 rounded-lg border border-edge bg-surface-base px-3 font-normal outline-none focus:border-accent focus:ring-2 focus:ring-accent/20`,value:J,onChange:e=>he(e.target.value),maxLength:160})]}),(0,R.jsxs)(`label`,{className:`grid gap-1.5 text-sm font-medium text-fg`,children:[r.descriptionLabel,(0,R.jsx)(`textarea`,{className:`min-h-28 resize-none rounded-lg border border-edge bg-surface-base px-3 py-2 font-normal leading-6 outline-none focus:border-accent focus:ring-2 focus:ring-accent/20`,value:Y,onChange:e=>ge(e.target.value),maxLength:2e3,placeholder:r.descriptionPlaceholder})]}),(0,R.jsxs)(`div`,{className:`grid gap-1.5 text-sm`,children:[(0,R.jsx)(`span`,{className:`font-medium text-fg`,children:n.workspaceRoot}),(0,R.jsxs)(`button`,{type:`button`,className:`flex min-h-12 w-full items-center gap-3 rounded-lg border border-edge bg-surface-base px-3 py-2 text-left outline-none transition-colors hover:bg-surface-hover focus-visible:border-accent focus-visible:ring-2 focus-visible:ring-accent/20 disabled:cursor-not-allowed disabled:opacity-60`,onClick:Z.pick,disabled:K||Z.picking,children:[Z.picking?(0,R.jsx)(y,{className:`size-5 shrink-0 animate-spin text-accent`,"aria-hidden":!0}):(0,R.jsx)(v,{className:`size-5 shrink-0 text-accent`,"aria-hidden":!0}),(0,R.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:X?i.chooseFolder:i.selectWorkingDirectory}),(0,R.jsx)(`span`,{className:T(`mt-0.5 block truncate font-mono text-xs font-normal`,X?`text-fg-muted`:`text-fg-subtle`),title:X||void 0,children:X||n.workspaceSelectionPlaceholder})]})]}),(0,R.jsx)(`p`,{className:`text-xs font-normal text-fg-muted`,children:n.workspaceSelectionHint})]}),(0,R.jsx)(re,{checked:q,onChange:me,disabled:K||!X.trim()}),fe?(0,R.jsx)(`p`,{className:`rounded-lg bg-danger-soft px-3 py-2 text-xs text-danger`,role:`alert`,children:fe}):null]}),(0,R.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,R.jsx)(c,{asChild:!0,children:(0,R.jsx)(N,{type:`button`,variant:`ghost`,children:n.cancel})}),(0,R.jsx)(N,{type:`submit`,variant:`primary`,disabled:K||!J.trim(),children:K?n.home.creating:n.create})]})]})]})]})}),Z.hasNativePicker?null:(0,R.jsx)(h,{open:Z.modalOpen,onOpenChange:Z.setModalOpen,initialAbsolutePath:X||void 0,onConfirm:Z.confirmPick,wd:i}),(0,R.jsxs)(`section`,{className:`flex min-h-10 flex-wrap items-center justify-between gap-3`,"aria-label":r.filterLabel,children:[(0,R.jsx)(`p`,{className:`text-sm font-medium text-fg-muted`,"aria-live":`polite`,children:we}),(0,R.jsxs)(`div`,{className:T(`ml-auto flex min-w-0 items-center justify-end gap-2`,V&&`w-full sm:w-auto`),children:[V?(0,R.jsxs)(`div`,{className:`relative min-w-0 flex-1 sm:w-64 sm:flex-none`,children:[(0,R.jsx)(C,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),(0,R.jsx)(`input`,{autoFocus:!0,className:`h-11 w-full rounded-lg border border-edge bg-surface-panel pl-9 pr-12 text-base sm:h-9 sm:text-sm text-fg outline-none placeholder:text-fg-muted focus:border-accent`,value:z,onChange:e=>B(e.target.value),placeholder:n.searchPlaceholder,"aria-label":n.searchPlaceholder}),(0,R.jsx)(`button`,{type:`button`,className:`touch-target absolute right-0 top-1/2 flex size-6 -translate-y-1/2 items-center justify-center rounded-md text-fg-subtle transition-colors hover:bg-surface-hover hover:text-fg`,onClick:()=>{B(``),H(!1)},"aria-label":r.clearSearch,title:r.clearSearch,children:(0,R.jsx)(w,{className:`size-3.5`,"aria-hidden":!0})})]}):(0,R.jsx)(N,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,onClick:()=>H(!0),"aria-label":n.searchPlaceholder,title:n.searchPlaceholder,children:(0,R.jsx)(C,{className:`size-4`,"aria-hidden":!0})}),(0,R.jsx)(g,{className:`w-28 sm:w-32`,triggerClassName:`h-9 border-edge bg-surface-panel px-2.5 text-xs font-medium`,contentClassName:`min-w-36`,align:`end`,value:U,"aria-label":r.filterLabel,onChange:e=>ce(e.target.value),children:Se.map(e=>(0,R.jsx)(_,{value:e.id,children:e.label},e.id))})]})]}),F?(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-xl border border-danger/25 bg-danger-soft px-4 py-3 text-sm text-danger`,role:`alert`,children:[(0,R.jsx)(`span`,{children:F}),(0,R.jsx)(N,{type:`button`,variant:`ghost`,className:`h-8 px-2`,onClick:()=>void $(),children:n.home.retry})]}):null,ne?(0,R.jsx)(oe,{}):ve.length?(0,R.jsx)(`section`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-3`,children:ve.map(e=>(0,R.jsx)(se,{project:e,busy:le===e.id,onTogglePin:()=>void xe(e,`pin`),onToggleArchive:()=>void xe(e,`archive`)},e.id))}):F?null:(0,R.jsxs)(`section`,{className:`py-16 text-center`,children:[(0,R.jsx)(te,{className:`mx-auto size-7 text-fg-subtle`,"aria-hidden":!0}),(0,R.jsx)(`h2`,{className:`mt-3 text-sm font-semibold text-fg`,children:b.length===0?e===`zh`?`创建第一个项目`:`Create your first project`:r.emptyTitle}),(0,R.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:b.length===0?e===`zh`?`把相关对话、任务和资料放在一起。`:`Keep related conversations, tasks and materials together.`:r.emptyHint}),(0,R.jsx)(N,{className:`mt-4`,onClick:()=>{b.length===0?W(!0):(B(``),ce(`all`))},children:b.length===0?n.create:e===`zh`?`清除筛选`:`Clear filters`})]})]})}export{H as ProjectsPage};
|
package/dist/gateway/static/root/assets/{providers-api-rwQ4LWzr.js → providers-api-DOnNfkwQ.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,o as t}from"./locale-store-
|
|
1
|
+
import{i as e,o as t}from"./locale-store-Br7IfbXK.js";import"./registry-api-DFDvOTg4.js";import{n}from"./is-masked-secret-DOkL5b_X.js";import{i as r}from"./models-hub-cache-Bd-fYUrV.js";function i(e){return n(e)}async function a(){return(await t(e(`/api/providers/meta`))).payload?.providers??[]}function o(e){if(!e||typeof e!=`object`||!(`providers`in e))return{};let t=e.providers;if(!t||typeof t!=`object`||Array.isArray(t))return{};let n={};for(let[e,r]of Object.entries(t))typeof r==`string`&&(n[e]=r);return n}function s(e,t,n){let r=new Set(n.map(e=>e.provider));return e.map(e=>({...e,configured:e.configured||r.has(e.id),apiKey:t[e.id]??(e.activeKeySource===`extension`?``:e.configured||r.has(e.id)?`••••••••••••`:``)}))}async function c(n){await t(e(`/api/config`),{method:`PATCH`,body:JSON.stringify({providers:n})}),await r()}async function l(n){await t(e(`/api/providers/${encodeURIComponent(n)}/key`),{method:`DELETE`}),await r()}async function u(n){let r=await t(e(`/api/providers/${encodeURIComponent(n)}/reveal-api-key`),{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`});if(!r.ok||!r.payload)throw Error(r.error?.message??`Reveal failed`);return r.payload}export{c as a,s as i,a as n,o,i as r,u as s,l as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-DPHK1VkS.js";import{g as t,l as n,m as r,p as i,y as a}from"./discussion-annotation-sync-BFqKm9ky.js";var o=e(`inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),s=e(`notebook-text`,[[`path`,{d:`M2 6h4`,key:`aawbzj`}],[`path`,{d:`M2 10h4`,key:`l0bgd4`}],[`path`,{d:`M2 14h4`,key:`1gsvsf`}],[`path`,{d:`M2 18h4`,key:`1bu2t1`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,key:`1nb95v`}],[`path`,{d:`M9.5 8h5`,key:`11mslq`}],[`path`,{d:`M9.5 12H16`,key:`ktog6x`}],[`path`,{d:`M9.5 16H14`,key:`p1seyn`}]]),c=e(`scan-search`,[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`path`,{d:`m16 16-1.9-1.9`,key:`1dq9hf`}]]),l=7200*1e3,u=1024*1024*1024,d=8*1024*1024;function f(e){if((e?.epochs?.length??0)>1){let t=e?.epochs?.[0]?.savedThroughMs;return Number.isFinite(t)&&t>=0?t:null}let t=e?.mediaCoverage;return t?.version===1&&t.committedChunkCount===e?.chunkCount&&Number.isFinite(t.verifiedThroughMs)&&t.verifiedThroughMs>=0&&Number.isFinite(t.observedThroughMs)&&t.observedThroughMs>=t.verifiedThroughMs?t.verifiedThroughMs:null}function p(e){let{phase:t,detail:n}=e,r=e.draft??e.locallyFinalized,i=r?.saveOutcome===`interrupted`,a=t===`recording`?`recording`:t===`paused`?`paused`:t===`requesting_permission`||t===`waiting_for_audio`?`waitingAudio`:t===`stopping`?`stopping`:t===`error`||i?`interrupted`:`stopped`,o=f(r),s=!!r?.chunkCount&&r.state!==`recording`&&r.saveOutcome===`complete`&&(t===`stopped`||t===`idle`),c=t===`error`||r?.saveOutcome===`incomplete`?`saveFailed`:s?`localComplete`:o!==null&&o>0?`savedThrough`:r?.chunkCount?`savedUnknown`:`saving`,l=!!n?.discussion.audioAttachmentId&&!n.discussion.audioDeletedAt,u=n?.discussion.audioDeletedAt?`failed`:l?`available`:e.online?e.syncStage:`offline`,d=n?.discussion.status,p=d===`completed`?`aiComplete`:d===`needs_attention`?`aiFailed`:n?.processing?.nextAttemptAt?`aiRetrying`:d===`organizing`?`analyzing`:d===`sealing`?`transcribing`:a===`recording`&&(!e.liveAvailable||e.pendingText>0||(e.transcript?.stats?.failed??0)>0)?`textDelayed`:a===`recording`?`liveText`:`waitingSource`,m=!!r?.chunkCount&&(o===null||r?.mediaCoverage?.status!==`verified`);return{capture:a,save:c,sync:u,ai:p,hasInterruptions:(r?.epochs?.length??0)>1,savedThroughMs:o,localComplete:s,interrupted:i,timingUncertain:m}}var m=new Set([408125543,357149030,374648427,174,524531317,160]),h=16*1024*1024;function g(e,t,n=!1){if(t>=e.length)return;let r=1;for(;r<=8&&!(e[t]&128>>r-1);)r++;if(r>(n?4:8))throw Error(`Invalid EBML integer`);if(t+r>e.length)return;let i=n?e[t]:e[t]&255>>r,a=!n&&i===255>>r;for(let n=1;n<r;n++)i=i*256+e[t+n],a&&=e[t+n]===255;if(!a&&!Number.isSafeInteger(i))throw Error(`Oversized EBML integer`);return{value:i,width:r,unknown:a}}function _(e){if(!e.length||e.length>6)throw Error(`Invalid media timestamp`);return e.reduce((e,t)=>e*256+t,0)}var v=class{mimeType;pending=new Uint8Array;offset=0;stack=[];timeScaleMs=1;clusterTime=0;track=0;trackType=0;opus=!1;audioTrack=0;observed=0;decoded=0;lastStart=-1/0;prefix=0;failed=!1;gap=!1;constructor(e){this.mimeType=e}snapshot(){return{version:1,verifiedThroughMs:Math.floor(this.prefix),observedThroughMs:Math.floor(this.observed),status:this.gap?`gap`:this.failed||!this.audioTrack||!this.observed?`unknown`:`verified`}}packetClock(){return{durationMs:Math.floor(this.decoded),verified:!this.failed&&!!this.audioTrack&&this.decoded>0}}append(e){if(this.failed||!this.mimeType.includes(`webm`))return this.failed=!0,this.snapshot();let t=new Uint8Array(this.pending.length+e.length);t.set(this.pending),t.set(e,this.pending.length),this.pending=t;let n=0;try{for(;n<t.length;){let e=this.offset+n;for(;this.stack.length&&e>=this.stack.at(-1).end;)this.stack.pop();let r=g(t,n,!0);if(!r)break;let i=g(t,n+r.width);if(!i)break;let a=n+r.width+i.width;if(this.stack.length&&this.offset+a+(i.unknown?0:i.value)>this.stack.at(-1).end)throw Error(`Element exceeds its container`);if(m.has(r.value)){if(r.value===160)throw Error(`BlockGroup padding needs separate verification`);if(r.value===524531317){let e=this.stack.findIndex(e=>e.id===524531317);e>=0&&(this.stack.length=e),this.clusterTime=0}if(r.value===174&&(this.track=0,this.trackType=0,this.opus=!1),this.stack.length>12)throw Error(`Excessive media nesting`);this.stack.push({id:r.value,end:i.unknown?1/0:this.offset+a+i.value}),n=a;continue}if(i.unknown||i.value>h)throw Error(`Unsupported media element`);if(a+i.value>t.length)break;let o=t.subarray(a,a+i.value);if(r.value===2807729&&(this.timeScaleMs=_(o)/1e6,!this.timeScaleMs))throw Error(`Invalid media time scale`);if(r.value===22186&&_(o)!==0)throw Error(`Codec delay needs separate verification`);if(r.value===215&&(this.track=_(o)),r.value===131&&(this.trackType=_(o)),r.value===134&&(this.opus=new TextDecoder().decode(o)===`A_OPUS`),this.track&&this.trackType===2&&this.opus){if(this.audioTrack&&this.audioTrack!==this.track)throw Error(`Multiple audio tracks`);this.audioTrack=this.track}r.value===231&&(this.clusterTime=_(o)),(r.value===163||r.value===161)&&this.block(o),n=a+i.value}if(t.length-n>h)throw Error(`Incomplete oversized media element`)}catch{this.failed=!0}return this.offset+=n,this.pending=this.failed?new Uint8Array:t.slice(n),this.snapshot()}block(e){let t=g(e,0);if(!t||e.length<t.width+4||t.value!==this.audioTrack)throw Error(`Unsupported media block`);let n=t.width;if(e[n+2]&6)throw Error(`Laced audio needs separate verification`);let r=new DataView(e.buffer,e.byteOffset+n,2).getInt16(0),i=e.subarray(n+3),a=i[0]>>3,o=a>=16?2.5*2**(a&3):a>=12?10*2**(a&1):[10,20,40,60][a&3],s=i[0]&3,c=s===0?1:s===3?(i[1]??0)&63:2,l=o*c;if(!c||l>120||s===3&&i.length<2)throw Error(`Invalid Opus packet`);let u=(this.clusterTime+r)*this.timeScaleMs,d=u+l;if(!Number.isFinite(d)||u<0||u<=this.lastStart)throw Error(`Non-monotonic media time`);let f=Math.min(1,this.timeScaleMs),p=u-this.decoded;(p>0||p<-f)&&(this.gap=!0),this.lastStart=u,this.decoded+=l,this.observed=Math.max(this.observed,d),this.gap||(this.prefix=Math.min(this.decoded,this.observed))}},y=`xopc-discussion-drafts`,b=2,x=`drafts`,S=`chunks`,C=`segments`;function w(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error??Error(`IndexedDB request failed`))})}function T(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onabort=()=>n(e.error??Error(`IndexedDB transaction aborted`)),e.onerror=()=>n(e.error??Error(`IndexedDB transaction failed`))})}function E(){return typeof indexedDB>`u`?Promise.reject(Error(`Local recording storage is unavailable`)):new Promise((e,t)=>{let n=indexedDB.open(y,b);n.onupgradeneeded=e=>{if(e.oldVersion!==0){n.transaction?.abort(),t(Error(`Unsupported recording database version`));return}let r=n.result;r.objectStoreNames.contains(x)||r.createObjectStore(x,{keyPath:`id`}),r.objectStoreNames.contains(S)||r.createObjectStore(S,{keyPath:[`draftId`,`index`]}).createIndex(`draftId`,`draftId`),r.objectStoreNames.contains(C)||r.createObjectStore(C,{keyPath:[`draftId`,`sequence`]}).createIndex(`draftId`,`draftId`)},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error??Error(`Could not open local recording storage`))})}async function D(e){let t=await E();try{let n=t.transaction(x,`readwrite`,{durability:`strict`});n.objectStore(x).put(e),await T(n)}finally{t.close()}}async function O(e,t){let n=await E();try{let r=n.transaction(t?[S,x]:[S],`readwrite`,{durability:`strict`}),i=T(r);try{r.objectStore(S).add(e),t&&r.objectStore(x).put(t),await i}catch(e){try{r.abort()}catch{}throw await i.catch(()=>void 0),e}}finally{n.close()}}async function k(){let e=await E();try{let t=e.transaction(x,`readonly`),n=T(t),r=await w(t.objectStore(x).getAll());return await n,r.sort((e,t)=>t.updatedAt-e.updatedAt)}finally{e.close()}}async function A(e,t){let n=await E();try{let r=n.transaction(S,`readonly`),i=T(r),a=await w(r.objectStore(S).get([e,t]));return await i,a}finally{n.close()}}async function j(e){let t=await E();try{let n=t.transaction(C,`readwrite`);n.objectStore(C).put(e),await T(n)}finally{t.close()}}async function M(e){let t=await E();try{let n=t.transaction(C,`readonly`),r=T(n),i=await w(n.objectStore(C).index(`draftId`).getAll(e));return await r,i.sort((e,t)=>e.sequence-t.sequence)}finally{t.close()}}async function N(e,t){let n=await E();try{let r=n.transaction(C,`readwrite`);r.objectStore(C).delete([e,t]),await T(r)}finally{n.close()}}async function P(e){let t=await E();try{let n=t.transaction([x,S,C],`readwrite`);n.objectStore(x).delete(e);let r=n.objectStore(S),i=r.index(`draftId`).openKeyCursor(IDBKeyRange.only(e));i.onsuccess=()=>{let e=i.result;e&&(r.delete(e.primaryKey),e.continue())};let a=n.objectStore(C),o=a.index(`draftId`).openKeyCursor(IDBKeyRange.only(e));o.onsuccess=()=>{let e=o.result;e&&(a.delete(e.primaryKey),e.continue())},await T(n)}finally{t.close()}}async function F(e){let t=await E();try{let n=t.transaction([x,S],`readonly`),r=T(n),i=n.objectStore(x).get(e),a=n.objectStore(S).index(`draftId`).openKeyCursor(IDBKeyRange.only(e)),o=0,s=!1,c=new Promise((e,t)=>{a.onerror=()=>t(a.error),a.onsuccess=()=>{let t=a.result;if(!t){e();return}let[,n]=t.primaryKey;n!==o&&(s=!0),o+=1,t.continue()}}),[l]=await Promise.all([w(i),c,r]);if(!l)throw Error(`The recording draft is missing`);if(s||o!==l.chunkCount)throw Error(`Local recording has missing chunks. Retained audio has not been deleted.`);if(!o)throw Error(`No audio was saved before the recording stopped`);let u=f(l)===null?void 0:l.mediaCoverage,d=l.epochs;if(l.mediaCoverage?.status===`gap`||(d?.length??0)>1){let n=(d?.length?d:[{firstChunk:0,mimeType:l.mimeType,startedAt:l.startedAt}]).map(e=>({...e}));for(let r=0;r<n.length;r++){let i=n[r],a=n[r+1]?.firstChunk??o;if(!Number.isInteger(i.firstChunk)||r===0&&i.firstChunk!==0||i.firstChunk<0||i.firstChunk>a||a>o)throw Error(`Local recording has invalid audio boundaries. Retained audio has not been deleted.`);let s=new v(i.mimeType);for(let n=i.firstChunk;n<a;n++){let r=t.transaction(S,`readonly`),i=T(r),a=await w(r.objectStore(S).get([e,n]));if(await i,!a)throw Error(`Local recording has missing chunks. Retained audio has not been deleted.`);s.append(new Uint8Array(await a.blob.arrayBuffer()))}r<n.length-1?i.savedThroughMs=s.snapshot().verifiedThroughMs:u={...s.snapshot(),committedChunkCount:o}}d?.length&&(d=n)}return{...l,epochs:d,mediaCoverage:u,saveOutcome:l.state===`recording`?`interrupted`:l.saveOutcome}}finally{t.close()}}async function I(e){let t=await crypto.subtle.digest(`SHA-256`,await e.arrayBuffer());return Array.from(new Uint8Array(t),e=>e.toString(16).padStart(2,`0`)).join(``)}async function L(e,t){let i=t,a=performance.now()+5*6e4;for(;i.state===`queued`||i.state===`running`;){if(performance.now()>=a)throw Error(`Recording is still processing. Your draft is saved; retry to check its result.`);await new Promise(e=>setTimeout(e,1e3)),i=await r(e)}if(i.state!==`completed`)throw Error(i.error??`Recording processing was cancelled`);return n(e)}async function R(e,r,o,s=!0,c){if(c?.(`uploading`),s){let e=await n(r);if(e.discussion.audioDeletedAt)throw Error(`Original recording was deleted`);if(e.discussion.audioAttachmentId)return c?.(`available`),e;if(e.recordingJob?.state===`queued`||e.recordingJob?.state===`running`){c?.(`verifying`);let t=await L(r,e.recordingJob);if(!t.discussion.audioAttachmentId||t.discussion.audioDeletedAt)throw Error(`Original audio attachment is not confirmed`);return c?.(`available`),t}}let l=new Map((await i(r)).map(e=>[e.sequence,e]));for(let t=0;t<e.chunkCount;t+=1){let n=await A(e.id,t);if(!n)throw Error(`Missing local recording chunk ${t}`);if(n.blob.size>8388608)throw Error(`Recording chunk exceeds the supported size`);let i=await I(n.blob);if(l.has(t)&&l.get(t).sha256!==i)throw Error(`Stored recording differs from this draft`);l.has(t)||await a(r,t,n.blob,i),o(Math.round((t+1)/e.chunkCount*100))}if(s){c?.(`verifying`),await D({...e,serverDiscussionId:r,sealRequested:!0});let n=await L(r,await t(r,{lastSequence:e.lastSequence,chunkCount:e.chunkCount,...e.epochs&&e.epochs.length>1?{epochs:e.epochs}:{},mimeType:e.mimeType,fileName:e.fileName??`meeting-${e.startedAt}.${e.mimeType.includes(`mp4`)?`m4a`:e.mimeType.includes(`ogg`)?`ogg`:`webm`}`}));if(!n.discussion.audioAttachmentId||n.discussion.audioDeletedAt)throw Error(`Original audio attachment is not confirmed`);return c?.(`available`),n}c?.(`pending`)}async function z(e,t){let n=await navigator.storage?.estimate?.();if(n?.quota&&n.usage!==void 0&&n.quota-n.usage<e.size*1.1)throw Error(`Not enough local storage to safely import this recording`);let r={id:t,mimeType:e.type||(/\.mp3$/i.test(e.name)?`audio/mpeg`:/\.wav$/i.test(e.name)?`audio/wav`:/\.(m4a|mp4)$/i.test(e.name)?`audio/mp4`:/\.ogg$/i.test(e.name)?`audio/ogg`:`audio/webm`),fileName:e.name,startedAt:Date.now(),updatedAt:Date.now(),durationMs:1e3,chunkCount:0,lastSequence:-1,state:`stopped`};try{for(let n=0;n<e.size;n+=d)await O({draftId:t,index:r.chunkCount,blob:e.slice(n,n+d),createdAt:Date.now()}),r.chunkCount+=1;return await D(r),r}catch(e){throw await P(t),e}}export{l as _,A as a,o as b,F as c,j as d,v as f,d as g,u as h,N as i,D as l,f as m,R as n,k as o,p,P as r,M as s,z as t,O as u,c as v,s as y};
|
|
1
|
+
import{t as e}from"./createLucideIcon-DPHK1VkS.js";import{g as t,l as n,m as r,p as i,y as a}from"./discussion-annotation-sync-BXqNuZnx.js";var o=e(`inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),s=e(`notebook-text`,[[`path`,{d:`M2 6h4`,key:`aawbzj`}],[`path`,{d:`M2 10h4`,key:`l0bgd4`}],[`path`,{d:`M2 14h4`,key:`1gsvsf`}],[`path`,{d:`M2 18h4`,key:`1bu2t1`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,key:`1nb95v`}],[`path`,{d:`M9.5 8h5`,key:`11mslq`}],[`path`,{d:`M9.5 12H16`,key:`ktog6x`}],[`path`,{d:`M9.5 16H14`,key:`p1seyn`}]]),c=e(`scan-search`,[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`path`,{d:`m16 16-1.9-1.9`,key:`1dq9hf`}]]),l=7200*1e3,u=1024*1024*1024,d=8*1024*1024;function f(e){if((e?.epochs?.length??0)>1){let t=e?.epochs?.[0]?.savedThroughMs;return Number.isFinite(t)&&t>=0?t:null}let t=e?.mediaCoverage;return t?.version===1&&t.committedChunkCount===e?.chunkCount&&Number.isFinite(t.verifiedThroughMs)&&t.verifiedThroughMs>=0&&Number.isFinite(t.observedThroughMs)&&t.observedThroughMs>=t.verifiedThroughMs?t.verifiedThroughMs:null}function p(e){let{phase:t,detail:n}=e,r=e.draft??e.locallyFinalized,i=r?.saveOutcome===`interrupted`,a=t===`recording`?`recording`:t===`paused`?`paused`:t===`requesting_permission`||t===`waiting_for_audio`?`waitingAudio`:t===`stopping`?`stopping`:t===`error`||i?`interrupted`:`stopped`,o=f(r),s=!!r?.chunkCount&&r.state!==`recording`&&r.saveOutcome===`complete`&&(t===`stopped`||t===`idle`),c=t===`error`||r?.saveOutcome===`incomplete`?`saveFailed`:s?`localComplete`:o!==null&&o>0?`savedThrough`:r?.chunkCount?`savedUnknown`:`saving`,l=!!n?.discussion.audioAttachmentId&&!n.discussion.audioDeletedAt,u=n?.discussion.audioDeletedAt?`failed`:l?`available`:e.online?e.syncStage:`offline`,d=n?.discussion.status,p=d===`completed`?`aiComplete`:d===`needs_attention`?`aiFailed`:n?.processing?.nextAttemptAt?`aiRetrying`:d===`organizing`?`analyzing`:d===`sealing`?`transcribing`:a===`recording`&&(!e.liveAvailable||e.pendingText>0||(e.transcript?.stats?.failed??0)>0)?`textDelayed`:a===`recording`?`liveText`:`waitingSource`,m=!!r?.chunkCount&&(o===null||r?.mediaCoverage?.status!==`verified`);return{capture:a,save:c,sync:u,ai:p,hasInterruptions:(r?.epochs?.length??0)>1,savedThroughMs:o,localComplete:s,interrupted:i,timingUncertain:m}}var m=new Set([408125543,357149030,374648427,174,524531317,160]),h=16*1024*1024;function g(e,t,n=!1){if(t>=e.length)return;let r=1;for(;r<=8&&!(e[t]&128>>r-1);)r++;if(r>(n?4:8))throw Error(`Invalid EBML integer`);if(t+r>e.length)return;let i=n?e[t]:e[t]&255>>r,a=!n&&i===255>>r;for(let n=1;n<r;n++)i=i*256+e[t+n],a&&=e[t+n]===255;if(!a&&!Number.isSafeInteger(i))throw Error(`Oversized EBML integer`);return{value:i,width:r,unknown:a}}function _(e){if(!e.length||e.length>6)throw Error(`Invalid media timestamp`);return e.reduce((e,t)=>e*256+t,0)}var v=class{mimeType;pending=new Uint8Array;offset=0;stack=[];timeScaleMs=1;clusterTime=0;track=0;trackType=0;opus=!1;audioTrack=0;observed=0;decoded=0;lastStart=-1/0;prefix=0;failed=!1;gap=!1;constructor(e){this.mimeType=e}snapshot(){return{version:1,verifiedThroughMs:Math.floor(this.prefix),observedThroughMs:Math.floor(this.observed),status:this.gap?`gap`:this.failed||!this.audioTrack||!this.observed?`unknown`:`verified`}}packetClock(){return{durationMs:Math.floor(this.decoded),verified:!this.failed&&!!this.audioTrack&&this.decoded>0}}append(e){if(this.failed||!this.mimeType.includes(`webm`))return this.failed=!0,this.snapshot();let t=new Uint8Array(this.pending.length+e.length);t.set(this.pending),t.set(e,this.pending.length),this.pending=t;let n=0;try{for(;n<t.length;){let e=this.offset+n;for(;this.stack.length&&e>=this.stack.at(-1).end;)this.stack.pop();let r=g(t,n,!0);if(!r)break;let i=g(t,n+r.width);if(!i)break;let a=n+r.width+i.width;if(this.stack.length&&this.offset+a+(i.unknown?0:i.value)>this.stack.at(-1).end)throw Error(`Element exceeds its container`);if(m.has(r.value)){if(r.value===160)throw Error(`BlockGroup padding needs separate verification`);if(r.value===524531317){let e=this.stack.findIndex(e=>e.id===524531317);e>=0&&(this.stack.length=e),this.clusterTime=0}if(r.value===174&&(this.track=0,this.trackType=0,this.opus=!1),this.stack.length>12)throw Error(`Excessive media nesting`);this.stack.push({id:r.value,end:i.unknown?1/0:this.offset+a+i.value}),n=a;continue}if(i.unknown||i.value>h)throw Error(`Unsupported media element`);if(a+i.value>t.length)break;let o=t.subarray(a,a+i.value);if(r.value===2807729&&(this.timeScaleMs=_(o)/1e6,!this.timeScaleMs))throw Error(`Invalid media time scale`);if(r.value===22186&&_(o)!==0)throw Error(`Codec delay needs separate verification`);if(r.value===215&&(this.track=_(o)),r.value===131&&(this.trackType=_(o)),r.value===134&&(this.opus=new TextDecoder().decode(o)===`A_OPUS`),this.track&&this.trackType===2&&this.opus){if(this.audioTrack&&this.audioTrack!==this.track)throw Error(`Multiple audio tracks`);this.audioTrack=this.track}r.value===231&&(this.clusterTime=_(o)),(r.value===163||r.value===161)&&this.block(o),n=a+i.value}if(t.length-n>h)throw Error(`Incomplete oversized media element`)}catch{this.failed=!0}return this.offset+=n,this.pending=this.failed?new Uint8Array:t.slice(n),this.snapshot()}block(e){let t=g(e,0);if(!t||e.length<t.width+4||t.value!==this.audioTrack)throw Error(`Unsupported media block`);let n=t.width;if(e[n+2]&6)throw Error(`Laced audio needs separate verification`);let r=new DataView(e.buffer,e.byteOffset+n,2).getInt16(0),i=e.subarray(n+3),a=i[0]>>3,o=a>=16?2.5*2**(a&3):a>=12?10*2**(a&1):[10,20,40,60][a&3],s=i[0]&3,c=s===0?1:s===3?(i[1]??0)&63:2,l=o*c;if(!c||l>120||s===3&&i.length<2)throw Error(`Invalid Opus packet`);let u=(this.clusterTime+r)*this.timeScaleMs,d=u+l;if(!Number.isFinite(d)||u<0||u<=this.lastStart)throw Error(`Non-monotonic media time`);let f=Math.min(1,this.timeScaleMs),p=u-this.decoded;(p>0||p<-f)&&(this.gap=!0),this.lastStart=u,this.decoded+=l,this.observed=Math.max(this.observed,d),this.gap||(this.prefix=Math.min(this.decoded,this.observed))}},y=`xopc-discussion-drafts`,b=2,x=`drafts`,S=`chunks`,C=`segments`;function w(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error??Error(`IndexedDB request failed`))})}function T(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onabort=()=>n(e.error??Error(`IndexedDB transaction aborted`)),e.onerror=()=>n(e.error??Error(`IndexedDB transaction failed`))})}function E(){return typeof indexedDB>`u`?Promise.reject(Error(`Local recording storage is unavailable`)):new Promise((e,t)=>{let n=indexedDB.open(y,b);n.onupgradeneeded=e=>{if(e.oldVersion!==0){n.transaction?.abort(),t(Error(`Unsupported recording database version`));return}let r=n.result;r.objectStoreNames.contains(x)||r.createObjectStore(x,{keyPath:`id`}),r.objectStoreNames.contains(S)||r.createObjectStore(S,{keyPath:[`draftId`,`index`]}).createIndex(`draftId`,`draftId`),r.objectStoreNames.contains(C)||r.createObjectStore(C,{keyPath:[`draftId`,`sequence`]}).createIndex(`draftId`,`draftId`)},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error??Error(`Could not open local recording storage`))})}async function D(e){let t=await E();try{let n=t.transaction(x,`readwrite`,{durability:`strict`});n.objectStore(x).put(e),await T(n)}finally{t.close()}}async function O(e,t){let n=await E();try{let r=n.transaction(t?[S,x]:[S],`readwrite`,{durability:`strict`}),i=T(r);try{r.objectStore(S).add(e),t&&r.objectStore(x).put(t),await i}catch(e){try{r.abort()}catch{}throw await i.catch(()=>void 0),e}}finally{n.close()}}async function k(){let e=await E();try{let t=e.transaction(x,`readonly`),n=T(t),r=await w(t.objectStore(x).getAll());return await n,r.sort((e,t)=>t.updatedAt-e.updatedAt)}finally{e.close()}}async function A(e,t){let n=await E();try{let r=n.transaction(S,`readonly`),i=T(r),a=await w(r.objectStore(S).get([e,t]));return await i,a}finally{n.close()}}async function j(e){let t=await E();try{let n=t.transaction(C,`readwrite`);n.objectStore(C).put(e),await T(n)}finally{t.close()}}async function M(e){let t=await E();try{let n=t.transaction(C,`readonly`),r=T(n),i=await w(n.objectStore(C).index(`draftId`).getAll(e));return await r,i.sort((e,t)=>e.sequence-t.sequence)}finally{t.close()}}async function N(e,t){let n=await E();try{let r=n.transaction(C,`readwrite`);r.objectStore(C).delete([e,t]),await T(r)}finally{n.close()}}async function P(e){let t=await E();try{let n=t.transaction([x,S,C],`readwrite`);n.objectStore(x).delete(e);let r=n.objectStore(S),i=r.index(`draftId`).openKeyCursor(IDBKeyRange.only(e));i.onsuccess=()=>{let e=i.result;e&&(r.delete(e.primaryKey),e.continue())};let a=n.objectStore(C),o=a.index(`draftId`).openKeyCursor(IDBKeyRange.only(e));o.onsuccess=()=>{let e=o.result;e&&(a.delete(e.primaryKey),e.continue())},await T(n)}finally{t.close()}}async function F(e){let t=await E();try{let n=t.transaction([x,S],`readonly`),r=T(n),i=n.objectStore(x).get(e),a=n.objectStore(S).index(`draftId`).openKeyCursor(IDBKeyRange.only(e)),o=0,s=!1,c=new Promise((e,t)=>{a.onerror=()=>t(a.error),a.onsuccess=()=>{let t=a.result;if(!t){e();return}let[,n]=t.primaryKey;n!==o&&(s=!0),o+=1,t.continue()}}),[l]=await Promise.all([w(i),c,r]);if(!l)throw Error(`The recording draft is missing`);if(s||o!==l.chunkCount)throw Error(`Local recording has missing chunks. Retained audio has not been deleted.`);if(!o)throw Error(`No audio was saved before the recording stopped`);let u=f(l)===null?void 0:l.mediaCoverage,d=l.epochs;if(l.mediaCoverage?.status===`gap`||(d?.length??0)>1){let n=(d?.length?d:[{firstChunk:0,mimeType:l.mimeType,startedAt:l.startedAt}]).map(e=>({...e}));for(let r=0;r<n.length;r++){let i=n[r],a=n[r+1]?.firstChunk??o;if(!Number.isInteger(i.firstChunk)||r===0&&i.firstChunk!==0||i.firstChunk<0||i.firstChunk>a||a>o)throw Error(`Local recording has invalid audio boundaries. Retained audio has not been deleted.`);let s=new v(i.mimeType);for(let n=i.firstChunk;n<a;n++){let r=t.transaction(S,`readonly`),i=T(r),a=await w(r.objectStore(S).get([e,n]));if(await i,!a)throw Error(`Local recording has missing chunks. Retained audio has not been deleted.`);s.append(new Uint8Array(await a.blob.arrayBuffer()))}r<n.length-1?i.savedThroughMs=s.snapshot().verifiedThroughMs:u={...s.snapshot(),committedChunkCount:o}}d?.length&&(d=n)}return{...l,epochs:d,mediaCoverage:u,saveOutcome:l.state===`recording`?`interrupted`:l.saveOutcome}}finally{t.close()}}async function I(e){let t=await crypto.subtle.digest(`SHA-256`,await e.arrayBuffer());return Array.from(new Uint8Array(t),e=>e.toString(16).padStart(2,`0`)).join(``)}async function L(e,t){let i=t,a=performance.now()+5*6e4;for(;i.state===`queued`||i.state===`running`;){if(performance.now()>=a)throw Error(`Recording is still processing. Your draft is saved; retry to check its result.`);await new Promise(e=>setTimeout(e,1e3)),i=await r(e)}if(i.state!==`completed`)throw Error(i.error??`Recording processing was cancelled`);return n(e)}async function R(e,r,o,s=!0,c){if(c?.(`uploading`),s){let e=await n(r);if(e.discussion.audioDeletedAt)throw Error(`Original recording was deleted`);if(e.discussion.audioAttachmentId)return c?.(`available`),e;if(e.recordingJob?.state===`queued`||e.recordingJob?.state===`running`){c?.(`verifying`);let t=await L(r,e.recordingJob);if(!t.discussion.audioAttachmentId||t.discussion.audioDeletedAt)throw Error(`Original audio attachment is not confirmed`);return c?.(`available`),t}}let l=new Map((await i(r)).map(e=>[e.sequence,e]));for(let t=0;t<e.chunkCount;t+=1){let n=await A(e.id,t);if(!n)throw Error(`Missing local recording chunk ${t}`);if(n.blob.size>8388608)throw Error(`Recording chunk exceeds the supported size`);let i=await I(n.blob);if(l.has(t)&&l.get(t).sha256!==i)throw Error(`Stored recording differs from this draft`);l.has(t)||await a(r,t,n.blob,i),o(Math.round((t+1)/e.chunkCount*100))}if(s){c?.(`verifying`),await D({...e,serverDiscussionId:r,sealRequested:!0});let n=await L(r,await t(r,{lastSequence:e.lastSequence,chunkCount:e.chunkCount,...e.epochs&&e.epochs.length>1?{epochs:e.epochs}:{},mimeType:e.mimeType,fileName:e.fileName??`meeting-${e.startedAt}.${e.mimeType.includes(`mp4`)?`m4a`:e.mimeType.includes(`ogg`)?`ogg`:`webm`}`}));if(!n.discussion.audioAttachmentId||n.discussion.audioDeletedAt)throw Error(`Original audio attachment is not confirmed`);return c?.(`available`),n}c?.(`pending`)}async function z(e,t){let n=await navigator.storage?.estimate?.();if(n?.quota&&n.usage!==void 0&&n.quota-n.usage<e.size*1.1)throw Error(`Not enough local storage to safely import this recording`);let r={id:t,mimeType:e.type||(/\.mp3$/i.test(e.name)?`audio/mpeg`:/\.wav$/i.test(e.name)?`audio/wav`:/\.(m4a|mp4)$/i.test(e.name)?`audio/mp4`:/\.ogg$/i.test(e.name)?`audio/ogg`:`audio/webm`),fileName:e.name,startedAt:Date.now(),updatedAt:Date.now(),durationMs:1e3,chunkCount:0,lastSequence:-1,state:`stopped`};try{for(let n=0;n<e.size;n+=d)await O({draftId:t,index:r.chunkCount,blob:e.slice(n,n+d),createdAt:Date.now()}),r.chunkCount+=1;return await D(r),r}catch(e){throw await P(t),e}}export{l as _,A as a,o as b,F as c,j as d,v as f,d as g,u as h,N as i,D as l,f as m,R as n,k as o,p,P as r,M as s,z as t,O as u,c as v,s as y};
|
package/dist/gateway/static/root/assets/{refresh-button-bU_0NarN.js → refresh-button-DiWdGAaX.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{t as r}from"./check-DUBLcKHA.js";import{t as i}from"./refresh-cw-BRlGaq2w.js";import{t as a}from"./cn-0WouolD0.js";import{t as o}from"./button-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{t as r}from"./check-DUBLcKHA.js";import{t as i}from"./refresh-cw-BRlGaq2w.js";import{t as a}from"./cn-0WouolD0.js";import{t as o}from"./button-Cc4hUNTt.js";var s=e(t(),1),c=n(),l=450,u=900;function d(e){return new Promise(t=>window.setTimeout(t,e))}function f({label:e,loading:t=!1,disabled:n=!1,className:f,iconClassName:p,strokeWidth:m=1.75,onClick:h,variant:g=`ghost`,type:_=`button`,title:v,"aria-label":y,...b}){let[x,S]=(0,s.useState)(!1),[C,w]=(0,s.useState)(!1),T=(0,s.useRef)(null),E=(0,s.useRef)(!1),D=(0,s.useCallback)(()=>{T.current!==null&&(window.clearTimeout(T.current),T.current=null)},[]),O=(0,s.useCallback)(()=>{D(),w(!0),T.current=window.setTimeout(()=>{w(!1),T.current=null},u)},[D]);(0,s.useEffect)(()=>D,[D]),(0,s.useEffect)(()=>{if(t){x&&(E.current=!0),w(!1);return}E.current&&(E.current=!1,O())},[x,t,O]);let k=t||x,A=async e=>{if(n||k){e.preventDefault();return}let t=Date.now();S(!0),w(!1);try{await h?.(e);let n=l-(Date.now()-t);n>0&&await d(n),O()}finally{S(!1)}};return(0,c.jsx)(o,{type:_,variant:g,className:a(`relative overflow-hidden`,k&&`bg-accent/10 text-accent hover:bg-accent/15 disabled:opacity-100`,C&&`bg-emerald-500/10 text-emerald-600 hover:bg-emerald-500/15 dark:text-emerald-300`,f),disabled:n,"aria-disabled":n||k,"aria-busy":k||void 0,title:v??e,"aria-label":y??e,onClick:e=>void A(e),...b,children:C&&!k?(0,c.jsx)(r,{className:a(`size-4 transition-transform duration-150 ease-out`,p),strokeWidth:m,"aria-hidden":!0}):(0,c.jsx)(i,{className:a(`size-4 transition-transform duration-150 ease-out motion-reduce:transition-none`,k&&`animate-spin motion-reduce:animate-none`,p),strokeWidth:m,"aria-hidden":!0})})}export{f as t};
|
package/dist/gateway/static/root/assets/{registry-api-Vy7LfH6E.js → registry-api-DFDvOTg4.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-swr-CdRzEUwF.js","assets/rolldown-runtime-aKtaBQYM.js","assets/vendor-react-BOUWij0V.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{i as t}from"./locale-store-
|
|
2
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{i as t}from"./locale-store-Br7IfbXK.js";import{t as n}from"./gateway-startup-retry-CvkJYurV.js";async function r(){let e=await n(t(`/api/models`));if(!e.ok)throw Error(`Models: HTTP ${e.status}`);return(await e.json()).payload?.models??[]}var i=null,a=0,o=null,s=6e4,c=`gateway-configured-models`;async function l(){i=null,a=0;let{mutate:t}=await e(async()=>{let{mutate:e}=await import(`./vendor-swr-CdRzEUwF.js`).then(e=>e.r);return{mutate:e}},__vite__mapDeps([0,1,2]));await t(c)}async function u(e=!1){if(!e&&i&&Date.now()<a)return i;if(e){let e=await r();return i=e,a=Date.now()+s,e}return o||(o=r().then(e=>(i=e,a=Date.now()+s,e)).finally(()=>{o=null}),o)}export{u as n,l as r,c as t};
|
|
@@ -1 +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,t as a,u as o}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{l as s,n as c}from"./locale-store-Bg_XR36n.js";import{t as l}from"./messages-DG4HLOER.js";import{t as u}from"./arrow-right-DSSvoX71.js";import{t as d}from"./check-DUBLcKHA.js";import{t as f}from"./chevron-down-ccbiQQz_.js";import{t as p}from"./chevron-right-BweFrslA.js";import{t as m}from"./circle-BoO4YvTx.js";import{t as h}from"./copy-Dv6d4Dvw.js";import{t as g}from"./external-link-DjqjBmc3.js";import{t as _}from"./secret-input-BQvFXqzz.js";import{t as v}from"./globe-DSSGFWFn.js";import{t as y}from"./key-round-DWbpyU2U.js";import{t as b}from"./loader-circle-CifKLtgG.js";import{t as x}from"./network-BUQLY1BV.js";import{t as S}from"./power-ZI-pBczI.js";import{t as C}from"./server-BlHCBjiE.js";import{t as w}from"./shield-B1sI_cxl.js";import{t as T}from"./smartphone-DSSsQFqA.js";import{t as E}from"./terminal-oKqqZdiG.js";import{t as D}from"./triangle-alert-2JXFNNKU.js";import{t as O}from"./cn-0WouolD0.js";import{t as k}from"./button-CnRSIP6m.js";import{a as A,i as j,o as M,r as N,s as P,t as F}from"./dist-DfWfZ9iu.js";import{i as I,o as L}from"./settings-shell-dialog-layer-BU3UuiJr.js";import{i as R}from"./vendor-swr-CdRzEUwF.js";import{t as z}from"./copy-to-clipboard-HOJ79TWv.js";import{n as B,r as V}from"./gateway-config-swr-DfPQIHOL.js";import{t as H}from"./page-tabs-oeTY7z3_.js";import{r as U}from"./settings-form-draft-Dy10ldo8.js";import{t as W}from"./confirm-dialog-XGclfBqe.js";import{t as ee}from"./copy-text-row-CYIv7RfP.js";import{n as G}from"./settings-mode-store-CaoRh2gt.js";import{r as K}from"./providers-api-rwQ4LWzr.js";import{a as q,n as te,r as ne}from"./oauth-api-D2t9HXoC.js";import{t as J}from"./settings-advanced-section-BxUuF_yi.js";import{n as re,r as ie,t as ae}from"./oauth-authorization-window-o6URRos4.js";import{n as oe,t as se}from"./settings-page-header-CyUHrn7c.js";import{t as ce}from"./settings-page-layout-DGVqXrlp.js";import{n as Y,r as le,t as ue}from"./settings-form-section-num14vSv.js";import{S as de,_ as X,a as fe,b as pe,c as me,d as he,i as ge,n as _e,o as ve,r as ye,s as be,t as xe,x as Se,y as Ce}from"./tunnel-api-C9u9E3UQ.js";import{t as we}from"./settings-advanced-gate-CjAFqg2U.js";var Z=e(t(),1),Q=n(),$=r();function Te(e){switch(e){case`active`:return`text-emerald-700 dark:text-emerald-400`;case`connecting`:return`text-amber-700 dark:text-amber-400`;default:return`text-fg-muted`}}function Ee(e){let t=(0,Q.c)(11),{label:n,kind:r}=e,i;t[0]===r?i=t[1]:(i=O(`inline-flex items-center gap-1.5 text-xs font-medium`,Te(r)),t[0]=r,t[1]=i);let a=r===`active`&&`bg-emerald-500`,o=r===`connecting`&&`bg-amber-500`,s;t[2]!==a||t[3]!==o?(s=O(`size-1.5 rounded-full bg-fg-subtle/50`,a,o),t[2]=a,t[3]=o,t[4]=s):s=t[4];let c;t[5]===s?c=t[6]:(c=(0,$.jsx)(`span`,{className:s,"aria-hidden":!0}),t[5]=s,t[6]=c);let l;return t[7]!==n||t[8]!==i||t[9]!==c?(l=(0,$.jsxs)(`span`,{className:i,children:[c,n]}),t[7]=n,t[8]=i,t[9]=c,t[10]=l):l=t[10],l}function De(e){let t=(0,Q.c)(31),{onOpenTab:n}=e,r=c(ke),i;t[0]===r?i=t[1]:(i=l(r),t[0]=r,t[1]=i);let a=i.remoteAccess.guide,o=!!s(Oe),u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u={refreshInterval:3e4},t[2]=u):u=t[2];let{data:d}=R(o?`exposure-status`:null,Se,u),f;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(f={refreshInterval:15e3},t[3]=f):f=t[3];let{data:p}=R(o?`tunnel-status`:null,_e,f),m=V(o);if(!o)return null;let h=d?.tailscale.active===!0,g=p?.state,_=p?.enabled&&g===`connected`,y=p?.enabled&&(g===`connecting`||g===`reconnecting`||!!p?.startProgress||!!p?.frpcDownload),b=m.data?.payload?.config,S=!!(b&&typeof b==`object`&&!Array.isArray(b)&&b.gateway?.publicUrl),T=h?`active`:`off`,D=h?a.statusActive:a.statusOff,k;t[4]!==a.tailscaleCardTitle||t[5]!==T||t[6]!==D?(k={tab:`tailscale`,icon:v,title:a.tailscaleCardTitle,kind:T,statusLabel:D},t[4]=a.tailscaleCardTitle,t[5]=T,t[6]=D,t[7]=k):k=t[7];let A=_?`active`:y?`connecting`:`off`,j=_?a.statusActive:y?a.statusConnecting:a.statusOff,M;t[8]!==a.publicCardTitle||t[9]!==A||t[10]!==j?(M={tab:`public`,icon:x,title:a.publicCardTitle,kind:A,statusLabel:j},t[8]=a.publicCardTitle,t[9]=A,t[10]=j,t[11]=M):M=t[11];let N=S?`active`:`off`,P=S?a.statusActive:a.statusOff,F;t[12]!==a.reverseProxyCardTitle||t[13]!==N||t[14]!==P?(F={tab:`reverse-proxy`,icon:w,title:a.reverseProxyCardTitle,kind:N,statusLabel:P},t[12]=a.reverseProxyCardTitle,t[13]=N,t[14]=P,t[15]=F):F=t[15];let I;t[16]!==a.sshCardStatus||t[17]!==a.sshCardTitle?(I={tab:`ssh`,icon:E,title:a.sshCardTitle,kind:`off`,statusLabel:a.sshCardStatus},t[16]=a.sshCardStatus,t[17]=a.sshCardTitle,t[18]=I):I=t[18];let L;t[19]!==a.lanCardStatus||t[20]!==a.lanCardTitle?(L={tab:`lan`,icon:C,title:a.lanCardTitle,kind:`off`,statusLabel:a.lanCardStatus},t[19]=a.lanCardStatus,t[20]=a.lanCardTitle,t[21]=L):L=t[21];let z;t[22]!==F||t[23]!==I||t[24]!==L||t[25]!==k||t[26]!==M?(z=[k,M,F,I,L],t[22]=F,t[23]=I,t[24]=L,t[25]=k,t[26]=M,t[27]=z):z=t[27];let B=z,H;return t[28]!==B||t[29]!==n?(H=(0,$.jsx)(`div`,{className:`grid gap-1 rounded-xl bg-surface-hover/20 p-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5`,children:B.map(e=>{let t=e.icon;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>n(e.tab),className:O(`flex items-start gap-3 rounded-lg bg-surface-base/45 px-2 py-3 text-left transition-colors`,`hover:bg-surface-hover/30`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),children:[(0,$.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center text-fg-muted`,children:(0,$.jsx)(t,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0})}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`block truncate text-sm font-medium text-fg`,children:e.title}),(0,$.jsx)(Ee,{label:e.statusLabel,kind:e.kind})]})]},`${e.tab}-${e.title}`)})}),t[28]=B,t[29]=n,t[30]=H):H=t[30],H}function Oe(e){return e.conversationId}function ke(e){return e.language}function Ae(e){let t=(0,Q.c)(21),{title:n,description:r,recommended:i,icon:a,onOpen:o,recommendedLabel:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=O(`group flex w-full items-start gap-3 px-3 py-4 text-left transition-colors`,`hover:bg-surface-hover/30`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),t[0]=c):c=t[0];let l;t[1]===a?l=t[2]:(l=(0,$.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-lg bg-surface-hover/70 text-fg-muted`,children:(0,$.jsx)(a,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0})}),t[1]=a,t[2]=l);let u;t[3]===n?u=t[4]:(u=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n}),t[3]=n,t[4]=u);let d;t[5]!==i||t[6]!==s?(d=i&&s?(0,$.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:s}):null,t[5]=i,t[6]=s,t[7]=d):d=t[7];let f;t[8]!==u||t[9]!==d?(f=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[u,d]}),t[8]=u,t[9]=d,t[10]=f):f=t[10];let m;t[11]===r?m=t[12]:(m=(0,$.jsx)(`p`,{className:`mt-1 text-sm leading-relaxed text-fg-muted`,children:r}),t[11]=r,t[12]=m);let h;t[13]!==f||t[14]!==m?(h=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[f,m]}),t[13]=f,t[14]=m,t[15]=h):h=t[15];let g;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(p,{className:`mt-2 size-4 shrink-0 text-fg-subtle transition-transform group-hover:translate-x-0.5 group-hover:text-fg-muted`,"aria-hidden":!0}),t[16]=g):g=t[16];let _;return t[17]!==o||t[18]!==l||t[19]!==h?(_=(0,$.jsxs)(`button`,{type:`button`,onClick:o,className:c,children:[l,h,g]}),t[17]=o,t[18]=l,t[19]=h,t[20]=_):_=t[20],_}function je(e){let t=(0,Q.c)(78),{onOpenTab:n}=e,r=c(Pe),i;t[0]===r?i=t[1]:(i=l(r),t[0]=r,t[1]=i);let a=i.remoteAccess,o=a.guide,u=!!s(Ne),d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d={refreshInterval:3e4},t[2]=d):d=t[2];let{data:f}=R(u?`exposure-status`:null,Se,d),p;t[3]===f?.conflicts?p=t[4]:(p=f?.conflicts??[],t[3]=f?.conflicts,t[4]=p);let m=p;if(!u){let e;return t[5]===o.needToken?e=t[6]:(e=(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:o.needToken}),t[5]=o.needToken,t[6]=e),e}let h;t[7]===n?h=t[8]:(h=(0,$.jsx)(De,{onOpenTab:n}),t[7]=n,t[8]=h);let g;t[9]!==m||t[10]!==o.conflictsHint||t[11]!==o.conflictsTitle?(g=m.length>0?(0,$.jsxs)(`div`,{className:`rounded-xl bg-amber-500/10 px-4 py-3 text-sm text-fg-muted`,children:[(0,$.jsx)(`p`,{className:`font-medium text-fg`,children:o.conflictsTitle}),(0,$.jsx)(`p`,{className:`mt-1`,children:o.conflictsHint}),(0,$.jsx)(`ul`,{className:`mt-2 list-inside list-disc text-xs`,children:m.map(Me)})]}):null,t[9]=m,t[10]=o.conflictsHint,t[11]=o.conflictsTitle,t[12]=g):g=t[12];let _;t[13]===o.pickMethod?_=t[14]:(_=(0,$.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:o.pickMethod}),t[13]=o.pickMethod,t[14]=_);let y;t[15]===n?y=t[16]:(y=()=>n(`tailscale`),t[15]=n,t[16]=y);let b;t[17]!==o.recommended||t[18]!==o.tailscaleCardDesc||t[19]!==o.tailscaleCardTitle||t[20]!==y?(b=(0,$.jsx)(Ae,{icon:v,title:o.tailscaleCardTitle,description:o.tailscaleCardDesc,recommended:!0,recommendedLabel:o.recommended,onOpen:y}),t[17]=o.recommended,t[18]=o.tailscaleCardDesc,t[19]=o.tailscaleCardTitle,t[20]=y,t[21]=b):b=t[21];let S;t[22]===n?S=t[23]:(S=()=>n(`public`),t[22]=n,t[23]=S);let T;t[24]!==o.publicCardDesc||t[25]!==o.publicCardTitle||t[26]!==S?(T=(0,$.jsx)(Ae,{icon:x,title:o.publicCardTitle,description:o.publicCardDesc,onOpen:S}),t[24]=o.publicCardDesc,t[25]=o.publicCardTitle,t[26]=S,t[27]=T):T=t[27];let D;t[28]===n?D=t[29]:(D=()=>n(`reverse-proxy`),t[28]=n,t[29]=D);let O;t[30]!==o.reverseProxyCardDesc||t[31]!==o.reverseProxyCardTitle||t[32]!==D?(O=(0,$.jsx)(Ae,{icon:w,title:o.reverseProxyCardTitle,description:o.reverseProxyCardDesc,onOpen:D}),t[30]=o.reverseProxyCardDesc,t[31]=o.reverseProxyCardTitle,t[32]=D,t[33]=O):O=t[33];let k;t[34]===n?k=t[35]:(k=()=>n(`ssh`),t[34]=n,t[35]=k);let A;t[36]!==o.sshCardDesc||t[37]!==o.sshCardTitle||t[38]!==k?(A=(0,$.jsx)(Ae,{icon:E,title:o.sshCardTitle,description:o.sshCardDesc,onOpen:k}),t[36]=o.sshCardDesc,t[37]=o.sshCardTitle,t[38]=k,t[39]=A):A=t[39];let j;t[40]!==a.advanced.proxyBody||t[41]!==a.advanced.proxyTitle||t[42]!==O||t[43]!==A?(j=(0,$.jsxs)(J,{title:a.advanced.proxyTitle,summary:a.advanced.proxyBody,children:[O,A]}),t[40]=a.advanced.proxyBody,t[41]=a.advanced.proxyTitle,t[42]=O,t[43]=A,t[44]=j):j=t[44];let M;t[45]===n?M=t[46]:(M=()=>n(`lan`),t[45]=n,t[46]=M);let N;t[47]!==o.lanCardDesc||t[48]!==o.lanCardTitle||t[49]!==M?(N=(0,$.jsx)(Ae,{icon:C,title:o.lanCardTitle,description:o.lanCardDesc,onOpen:M}),t[47]=o.lanCardDesc,t[48]=o.lanCardTitle,t[49]=M,t[50]=N):N=t[50];let P;t[51]!==T||t[52]!==j||t[53]!==N||t[54]!==b?(P=(0,$.jsxs)(`div`,{className:`mt-2 flex max-w-3xl flex-col gap-1 rounded-xl bg-surface-hover/20 p-1 [&>*]:rounded-lg [&>*]:bg-surface-base/45`,children:[b,T,j,N]}),t[51]=T,t[52]=j,t[53]=N,t[54]=b,t[55]=P):P=t[55];let F;t[56]!==P||t[57]!==_?(F=(0,$.jsxs)(`div`,{children:[_,P]}),t[56]=P,t[57]=_,t[58]=F):F=t[58];let I;t[59]===o.oneAtATimeHint?I=t[60]:(I=(0,$.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-subtle`,children:o.oneAtATimeHint}),t[59]=o.oneAtATimeHint,t[60]=I);let L;t[61]===a.advanced.proxyTitle?L=t[62]:(L=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:a.advanced.proxyTitle}),t[61]=a.advanced.proxyTitle,t[62]=L);let z;t[63]===a.advanced.proxyBody?z=t[64]:(z=(0,$.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:a.advanced.proxyBody}),t[63]=a.advanced.proxyBody,t[64]=z);let B;t[65]!==r||t[66]!==a.advanced.proxyDocs?(B=(0,$.jsx)(de,{language:r,label:a.advanced.proxyDocs,section:`advanced`,className:`mt-2`}),t[65]=r,t[66]=a.advanced.proxyDocs,t[67]=B):B=t[67];let V;t[68]!==L||t[69]!==z||t[70]!==B?(V=(0,$.jsxs)(`div`,{className:`max-w-3xl rounded-xl bg-surface-hover/20 px-4 py-4`,children:[L,z,B]}),t[68]=L,t[69]=z,t[70]=B,t[71]=V):V=t[71];let H;return t[72]!==F||t[73]!==I||t[74]!==V||t[75]!==h||t[76]!==g?(H=(0,$.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[h,g,F,I,V]}),t[72]=F,t[73]=I,t[74]=V,t[75]=h,t[76]=g,t[77]=H):H=t[77],H}function Me(e){return(0,$.jsx)(`li`,{children:e.message},e.code)}function Ne(e){return e.conversationId}function Pe(e){return e.language}function Fe(){let e=(0,Q.c)(16),t=c(Ie),n;e[0]===t?n=e[1]:(n=l(t),e[0]=t,e[1]=n);let r=n.remoteAccess.lan,i;e[2]!==r.subtitle||e[3]!==r.title?(i=(0,$.jsx)(Y,{icon:C,title:r.title,subtitle:r.subtitle}),e[2]=r.subtitle,e[3]=r.title,e[4]=i):i=e[4];let o;e[5]===r.body?o=e[6]:(o=(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:r.body}),e[5]=r.body,e[6]=o);let s;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(g,{className:`size-3.5`,"aria-hidden":!0}),e[7]=s):s=e[7];let u;e[8]===r.link?u=e[9]:(u=(0,$.jsxs)(a,{to:`/settings/gateway`,className:`inline-flex items-center gap-1.5 text-sm font-medium text-accent hover:underline`,children:[r.link,s]}),e[8]=r.link,e[9]=u);let d;e[10]!==o||e[11]!==u?(d=(0,$.jsxs)(`div`,{className:`mt-4 space-y-3`,children:[o,u]}),e[10]=o,e[11]=u,e[12]=d):d=e[12];let f;return e[13]!==i||e[14]!==d?(f=(0,$.jsx)(`div`,{className:`flex flex-col gap-4`,children:(0,$.jsxs)(ue,{children:[i,d]})}),e[13]=i,e[14]=d,e[15]=f):f=e[15],f}function Ie(e){return e.language}function Le(e){let t=(0,Q.c)(30),{embedded:n}=e,r=n!==void 0&&n,i=c(Re),a;t[0]===i?a=t[1]:(a=l(i),t[0]=i,t[1]=a);let o=a.remoteAccess.ssh,[s,u]=(0,Z.useState)(!1),d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=async()=>{await z(`xopc gateway ssh-tunnel --target user@your-host --local-port 18790 --remote-port 18790`)&&(u(!0),setTimeout(()=>u(!1),2e3))},t[2]=d):d=t[2];let f=d,p;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`pre`,{className:`overflow-x-auto rounded-lg bg-surface-base/55 px-3 py-2 text-xs text-fg-muted`,children:`xopc gateway ssh-tunnel --target user@your-host --local-port 18790 --remote-port 18790`}),t[3]=p):p=t[3];let m,g;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>void f(),g=(0,$.jsx)(h,{className:`mr-1 size-4`}),t[4]=m,t[5]=g):(m=t[4],g=t[5]);let _=s?o.copied:o.copy,v;t[6]===_?v=t[7]:(v=(0,$.jsx)(`div`,{className:`mt-2`,children:(0,$.jsxs)(k,{type:`button`,variant:`ghost`,onClick:m,children:[g,_]})}),t[6]=_,t[7]=v);let y;t[8]!==r||t[9]!==o.hint?(y=r?(0,$.jsx)(`p`,{className:`mt-2 text-xs text-fg-subtle`,children:o.hint}):null,t[8]=r,t[9]=o.hint,t[10]=y):y=t[10];let b;t[11]!==v||t[12]!==y?(b=(0,$.jsxs)($.Fragment,{children:[p,v,y]}),t[11]=v,t[12]=y,t[13]=b):b=t[13];let x=b;if(r){let e;t[14]!==o.subtitle||t[15]!==o.title?(e=(0,$.jsx)(Y,{icon:E,title:o.title,subtitle:o.subtitle}),t[14]=o.subtitle,t[15]=o.title,t[16]=e):e=t[16];let n;t[17]===x?n=t[18]:(n=(0,$.jsx)(`div`,{className:`mt-4 space-y-2`,children:x}),t[17]=x,t[18]=n);let r;return t[19]!==e||t[20]!==n?(r=(0,$.jsxs)(ue,{children:[e,n]}),t[19]=e,t[20]=n,t[21]=r):r=t[21],r}let S;t[22]!==o.subtitle||t[23]!==o.title?(S=(0,$.jsx)(Y,{icon:E,title:o.title,subtitle:o.subtitle}),t[22]=o.subtitle,t[23]=o.title,t[24]=S):S=t[24];let C;t[25]===x?C=t[26]:(C=(0,$.jsx)(`div`,{className:`mt-4`,children:x}),t[25]=x,t[26]=C);let w;return t[27]!==S||t[28]!==C?(w=(0,$.jsxs)(ue,{children:[S,C]}),t[27]=S,t[28]=C,t[29]=w):w=t[29],w}function Re(e){return e.language}function ze(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(Le,{embedded:!0}),e[0]=t):t=e[0],t}var Be=[`guide`,`tailscale`,`public`,`reverse-proxy`,`ssh`,`lan`];function Ve(e){return e&&Be.includes(e)?e:`guide`}function He(e){let t=(0,Q.c)(32),{showLabel:n,hideLabel:r,icon:i,hint:a,children:o,className:s,defaultOpen:c,advancedOnly:l}=e,u=l!==void 0&&l,[d,p]=(0,Z.useState)(c??!1),m;t[0]===s?m=t[1]:(m=O(`rounded-xl bg-surface-hover/20`,s),t[0]=s,t[1]=m);let h;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>p(Ue),t[2]=h):h=t[2];let g=d&&`rotate-180`,_;t[3]===g?_=t[4]:(_=O(`size-4 shrink-0 text-fg-muted transition-transform duration-200 motion-reduce:transition-none`,g),t[3]=g,t[4]=_);let v;t[5]===_?v=t[6]:(v=(0,$.jsx)(f,{className:_,"aria-hidden":!0}),t[5]=_,t[6]=v);let y;t[7]===i?y=t[8]:(y=i?(0,$.jsx)(i,{className:`size-4 shrink-0 text-accent`,strokeWidth:1.75,"aria-hidden":!0}):null,t[7]=i,t[8]=y);let b=d?r:n,x;t[9]===b?x=t[10]:(x=(0,$.jsx)(`span`,{children:b}),t[9]=b,t[10]=x);let S;t[11]!==d||t[12]!==v||t[13]!==y||t[14]!==x?(S=(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":d,onClick:h,className:`flex w-full items-center gap-2 rounded-2xl px-4 py-3.5 text-left text-sm font-medium text-fg transition-colors hover:text-fg`,children:[v,y,x]}),t[11]=d,t[12]=v,t[13]=y,t[14]=x,t[15]=S):S=t[15];let C=d?`grid-rows-[1fr] opacity-100`:`grid-rows-[0fr] opacity-0`,w;t[16]===C?w=t[17]:(w=O(`grid transition-[grid-template-rows,opacity] duration-200 ease-out motion-reduce:transition-none`,C),t[16]=C,t[17]=w);let T;t[18]===a?T=t[19]:(T=a?(0,$.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:a}):null,t[18]=a,t[19]=T);let E;t[20]!==o||t[21]!==T?(E=(0,$.jsx)(`div`,{className:`overflow-hidden`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-4 px-4 pb-4 pt-1`,children:[T,o]})}),t[20]=o,t[21]=T,t[22]=E):E=t[22];let D;t[23]!==w||t[24]!==E?(D=(0,$.jsx)(`div`,{className:w,children:E}),t[23]=w,t[24]=E,t[25]=D):D=t[25];let k;t[26]!==S||t[27]!==D||t[28]!==m?(k=(0,$.jsxs)(`section`,{className:m,children:[S,D]}),t[26]=S,t[27]=D,t[28]=m,t[29]=k):k=t[29];let A=k;if(u){let e;return t[30]===A?e=t[31]:(e=(0,$.jsx)(we,{children:A}),t[30]=A,t[31]=e),e}return A}function Ue(e){return!e}function We(e){let t=(0,Q.c)(40),{open:n,title:r,intro:i,bullets:a,checkboxLabel:o,confirmLabel:s,cancelLabel:c,onConfirm:l,onCancel:u}=e,[d,f]=(0,Z.useState)(!1),p;t[0]===u?p=t[1]:(p=e=>{e||(f(!1),u())},t[0]=u,t[1]=p);let m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(A,{className:O(`xopc-dialog-overlay fixed inset-0 bg-scrim backdrop-blur-[1px]`,L)}),t[2]=m):m=t[2];let h;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(h=O(`xopc-dialog-content fixed left-1/2 top-1/2 max-h-[min(90vh,40rem)] w-[min(100%-2rem,32rem)] -translate-x-1/2 -translate-y-1/2`,`overflow-y-auto rounded-2xl border border-edge bg-surface-overlay p-6 shadow-popover outline-none dark:border-edge`,I),t[3]=h):h=t[3];let g;t[4]===r?g=t[5]:(g=(0,$.jsx)(P,{className:`text-base font-semibold text-fg`,children:r}),t[4]=r,t[5]=g);let _;t[6]===i?_=t[7]:(_=(0,$.jsx)(j,{className:`mt-2 text-sm text-fg-muted`,children:i}),t[6]=i,t[7]=_);let v;t[8]===a?v=t[9]:(v=a.map(Ge),t[8]=a,t[9]=v);let y;t[10]===v?y=t[11]:(y=(0,$.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5 text-sm text-fg-muted`,children:v}),t[10]=v,t[11]=y);let b;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>f(e.target.checked),t[12]=b):b=t[12];let x;t[13]===d?x=t[14]:(x=(0,$.jsx)(`input`,{type:`checkbox`,className:`mt-0.5 size-4 shrink-0 rounded border-edge accent-accent`,checked:d,onChange:b}),t[13]=d,t[14]=x);let S;t[15]===o?S=t[16]:(S=(0,$.jsx)(`span`,{children:o}),t[15]=o,t[16]=S);let C;t[17]!==S||t[18]!==x?(C=(0,$.jsxs)(`label`,{className:`mt-5 flex cursor-pointer items-start gap-3 text-sm text-fg`,children:[x,S]}),t[17]=S,t[18]=x,t[19]=C):C=t[19];let w;t[20]!==c||t[21]!==u?(w=(0,$.jsx)(k,{type:`button`,variant:`secondary`,onClick:u,children:c}),t[20]=c,t[21]=u,t[22]=w):w=t[22];let T=!d,E;t[23]!==s||t[24]!==l||t[25]!==T?(E=(0,$.jsx)(k,{type:`button`,disabled:T,onClick:l,children:s}),t[23]=s,t[24]=l,t[25]=T,t[26]=E):E=t[26];let D;t[27]!==w||t[28]!==E?(D=(0,$.jsxs)(`div`,{className:`mt-6 flex justify-end gap-2`,children:[w,E]}),t[27]=w,t[28]=E,t[29]=D):D=t[29];let R;t[30]!==C||t[31]!==D||t[32]!==g||t[33]!==_||t[34]!==y?(R=(0,$.jsxs)(M,{children:[m,(0,$.jsxs)(N,{className:h,onOpenAutoFocus:Ke,children:[g,_,y,C,D]})]}),t[30]=C,t[31]=D,t[32]=g,t[33]=_,t[34]=y,t[35]=R):R=t[35];let z;return t[36]!==n||t[37]!==p||t[38]!==R?(z=(0,$.jsx)(F,{open:n,onOpenChange:p,children:R}),t[36]=n,t[37]=p,t[38]=R,t[39]=z):z=t[39],z}function Ge(e){return(0,$.jsx)(`li`,{children:e},e)}function Ke(e){return e.preventDefault()}function qe(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}var Je=[`preparing_frpc`,`registering`,`starting_frpc`];function Ye(e){return e?e===`reconnecting_frpc`?Je.indexOf(`starting_frpc`):Je.indexOf(e):-1}function Xe(e,t){if(t.state===`connected`)return`done`;let n=t.startProgress?.phase,r=Je.indexOf(e),i=Ye(n);return i<0?t.state===`connecting`||t.state===`reconnecting`?`active`:`pending`:r<i?`done`:r===i?`active`:`pending`}function Ze(e,t,n){let r=n.startProgress;return Xe(t,n)===`active`?t===`preparing_frpc`&&n.frpcDownload?n.frpcDownload.phase===`extracting`?e.frpcExtracting:n.frpcDownload.percent==null?e.frpcDownloading:e.frpcDownloadingPercent.replace(`{{percent}}`,String(n.frpcDownload.percent)):t===`registering`&&r?.publicUrl?e.stepRegisterDetail:t===`starting_frpc`?r?.phase===`reconnecting_frpc`?e.stepReconnectDetail:e.stepFrpcDetail:null:null}function Qe(e,t){switch(t){case`preparing_frpc`:return e.stepPrepareFrpc;case`registering`:return e.stepRegister;case`starting_frpc`:return e.stepFrpcLogin}}function $e(e){if(!e)return null;let t=Math.max(0,Math.floor((Date.now()-new Date(e).getTime())/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function et(e){let t=(0,Q.c)(31),{status:n,t:r}=e,[,i]=(0,Z.useState)(0),a;t[0]!==i||t[1]!==n.state?(a=()=>{if(n.state!==`connecting`&&n.state!==`reconnecting`)return;let e=window.setInterval(()=>i(tt),1e3);return()=>window.clearInterval(e)},t[0]=i,t[1]=n.state,t[2]=a):a=t[2];let o=n.startProgress?.startedAt,s;if(t[3]!==n.state||t[4]!==o?(s=[n.state,o],t[3]=n.state,t[4]=o,t[5]=s):s=t[5],(0,Z.useEffect)(a,s),!(n.state===`connecting`||n.state===`reconnecting`||n.state===`connected`&&n.startProgress))return null;let c,l,u,f,p;if(t[6]!==n||t[7]!==r){let e=$e(n.startProgress?.startedAt);c=!!n.publicUrl&&n.state!==`connected`&&n.startProgress?.phase!==`registering`,l=`mt-3 space-y-3 rounded-lg bg-surface-panel/80 p-3 shadow-surface`;let i;t[13]===r.startProgressTitle?i=t[14]:(i=(0,$.jsx)(`p`,{className:`text-xs font-medium text-fg`,children:r.startProgressTitle}),t[13]=r.startProgressTitle,t[14]=i);let a;t[15]===r.startProgressHint?a=t[16]:(a=(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:r.startProgressHint}),t[15]=r.startProgressHint,t[16]=a),t[17]!==i||t[18]!==a?(u=(0,$.jsxs)(`div`,{children:[i,a]}),t[17]=i,t[18]=a,t[19]=u):u=t[19];let o=Je.map(e=>{let t=Xe(e,n),i=Ze(r,e,n);return(0,$.jsxs)(`li`,{className:`flex gap-2 text-xs`,children:[(0,$.jsx)(`span`,{className:`mt-0.5 shrink-0 text-fg-subtle`,"aria-hidden":!0,children:t===`done`?(0,$.jsx)(d,{className:`size-3.5 text-emerald-600 dark:text-emerald-400`}):t===`active`?(0,$.jsx)(b,{className:`size-3.5 animate-spin text-accent`}):(0,$.jsx)(m,{className:`size-3.5`})}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:O(`font-medium`,t===`active`?`text-fg`:t===`done`?`text-fg-muted`:`text-fg-subtle`),children:Qe(r,e)}),i?(0,$.jsx)(`div`,{className:`mt-0.5 text-fg-muted`,children:i}):null,e===`preparing_frpc`&&t===`active`&&n.frpcDownload&&n.frpcDownload.phase===`downloading`?(0,$.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,$.jsx)(`div`,{className:`h-1.5 w-full overflow-hidden rounded-full bg-surface-panel`,children:(0,$.jsx)(`div`,{className:O(`h-full rounded-full bg-accent transition-[width] duration-300`,n.frpcDownload.percent==null&&`w-1/3 animate-pulse`),style:n.frpcDownload.percent==null?void 0:{width:`${n.frpcDownload.percent}%`}})}),n.frpcDownload.bytesReceived!=null&&n.frpcDownload.totalBytes?(0,$.jsxs)(`p`,{className:`text-fg-subtle`,children:[qe(n.frpcDownload.bytesReceived),` /`,` `,qe(n.frpcDownload.totalBytes)]}):null]}):null,e===`preparing_frpc`&&t===`active`&&n.frpcDownload?.url?(0,$.jsxs)(`p`,{className:`mt-2 text-fg-subtle`,children:[(0,$.jsxs)(`span`,{className:`font-sans`,children:[r.frpcDownloadingUrlLabel,`: `]}),(0,$.jsx)(`a`,{href:n.frpcDownload.url,target:`_blank`,rel:`noopener noreferrer`,className:`break-all font-mono text-[11px] text-accent hover:underline`,children:n.frpcDownload.url})]}):null]})]},e)});t[20]===o?f=t[21]:(f=(0,$.jsx)(`ol`,{className:`space-y-2`,children:o}),t[20]=o,t[21]=f),p=e&&n.startProgress?(0,$.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:r.startProgressElapsed.replace(`{{elapsed}}`,e)}):null,t[6]=n,t[7]=r,t[8]=c,t[9]=l,t[10]=u,t[11]=f,t[12]=p}else c=t[8],l=t[9],u=t[10],f=t[11],p=t[12];let h;t[22]!==c||t[23]!==r.publicUrlPendingNotice?(h=c?(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:r.publicUrlPendingNotice}):null,t[22]=c,t[23]=r.publicUrlPendingNotice,t[24]=h):h=t[24];let g;return t[25]!==l||t[26]!==u||t[27]!==f||t[28]!==p||t[29]!==h?(g=(0,$.jsxs)(`div`,{className:l,children:[u,f,p,h]}),t[25]=l,t[26]=u,t[27]=f,t[28]=p,t[29]=h,t[30]=g):g=t[30],g}function tt(e){return e+1}function nt(e,t){return t.state===`connected`?e.statusConnected:t.state===`error`?e.statusError:t.startProgress?.phase===`reconnecting_frpc`?e.statusReconnecting:t.startProgress?.phase===`starting_frpc`?e.statusStartingFrpc:t.startProgress?.phase===`registering`?e.statusRegistering:t.startProgress?.phase===`preparing_frpc`||t.frpcDownload?e.statusPreparingFrpc:t.state===`connecting`||t.state===`reconnecting`?e.statusConnecting:e.statusOff}function rt(e){return e.state===`connected`?`connected`:e.state===`error`?`error`:e.state===`connecting`||e.state===`reconnecting`||e.startProgress||e.frpcDownload?`progress`:`off`}function it(e){switch(e){case`connected`:return`bg-emerald-500/15 text-emerald-700 dark:text-emerald-400`;case`progress`:return`bg-amber-500/15 text-amber-700 dark:text-amber-400`;case`error`:return`bg-red-500/15 text-red-700 dark:text-red-400`;default:return`bg-surface-hover text-fg-muted`}}function at(e){if(!e)return`—`;let t=Date.now()-new Date(e).getTime();if(t<0)return`—`;let n=Math.floor(t/6e4);return n<60?`${n}m`:`${Math.floor(n/60)}h ${n%60}m`}function ot(e){let t=(0,Q.c)(69),{t:n,status:r,isLoading:i,statusErr:a,starting:o,stopping:s,showConsentExpired:c,copyLabels:l,startDisabled:u,startDisabledReason:d,stepLabel:f,onStart:p,onStop:m}=e,h=u!==void 0&&u,g;t[0]!==r.lastError||t[1]!==r.state?(g=r.state===`error`&&he(Error(r.lastError??``)),t[0]=r.lastError,t[1]=r.state,t[2]=g):g=t[2];let _=g,y,x,C,w,T,E,A;t[3]!==r||t[4]!==o?(A=rt(r),y=r.enabled||o,x=o||r.state===`connecting`||r.state===`reconnecting`||!!r.startProgress||!!r.frpcDownload,t[12]===Symbol.for(`react.memo_cache_sentinel`)?(E=O(le(),`space-y-4`),t[12]=E):E=t[12],T=`flex flex-wrap items-start justify-between gap-3`,w=`flex items-center gap-2`,C=O(`inline-flex items-center gap-1.5 rounded-full px-2.5 py-1 text-xs font-medium`,it(A)),t[3]=r,t[4]=o,t[5]=y,t[6]=x,t[7]=C,t[8]=w,t[9]=T,t[10]=E,t[11]=A):(y=t[5],x=t[6],C=t[7],w=t[8],T=t[9],E=t[10],A=t[11]);let j=A===`connected`&&`bg-emerald-500`,M=A===`progress`&&`bg-amber-500 animate-pulse`,N=A===`error`&&`bg-red-500`,P=A===`off`&&`bg-fg-subtle`,F;t[13]!==P||t[14]!==j||t[15]!==M||t[16]!==N?(F=O(`size-1.5 rounded-full`,j,M,N,P),t[13]=P,t[14]=j,t[15]=M,t[16]=N,t[17]=F):F=t[17];let I;t[18]===F?I=t[19]:(I=(0,$.jsx)(`span`,{className:F,"aria-hidden":!0}),t[18]=F,t[19]=I);let L;t[20]!==i||t[21]!==r||t[22]!==n?(L=i&&!r.enabled?(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`inline-block h-3 w-16 animate-pulse rounded-full bg-surface-hover/70 motion-reduce:animate-none`}):nt(n,r),t[20]=i,t[21]=r,t[22]=n,t[23]=L):L=t[23];let R;t[24]!==I||t[25]!==L||t[26]!==C?(R=(0,$.jsxs)(`span`,{className:C,children:[I,L]}),t[24]=I,t[25]=L,t[26]=C,t[27]=R):R=t[27];let z;t[28]!==r.connectedSince||t[29]!==r.state||t[30]!==n.uptime?(z=r.connectedSince&&r.state===`connected`?(0,$.jsxs)(`span`,{className:`text-xs text-fg-subtle`,children:[n.uptime,` `,at(r.connectedSince)]}):null,t[28]=r.connectedSince,t[29]=r.state,t[30]=n.uptime,t[31]=z):z=t[31];let B;t[32]!==R||t[33]!==z||t[34]!==w?(B=(0,$.jsxs)(`div`,{className:w,children:[R,z]}),t[32]=R,t[33]=z,t[34]=w,t[35]=B):B=t[35];let V;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(v,{className:`size-4 text-fg-subtle`,strokeWidth:1.75,"aria-hidden":!0}),t[36]=V):V=t[36];let H;t[37]!==B||t[38]!==T?(H=(0,$.jsxs)(`div`,{className:T,children:[B,V]}),t[37]=B,t[38]=T,t[39]=H):H=t[39];let U;t[40]===a?U=t[41]:(U=a?(0,$.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:a instanceof Error?a.message:String(a)}):null,t[40]=a,t[41]=U);let W;t[42]!==c||t[43]!==n.consentExpiredBanner?(W=c?(0,$.jsx)(`p`,{className:`rounded-lg bg-amber-500/10 px-3 py-2 text-xs text-fg-muted`,children:n.consentExpiredBanner}):null,t[42]=c,t[43]=n.consentExpiredBanner,t[44]=W):W=t[44];let G;t[45]!==_||t[46]!==n.recoverConnectionHint?(G=_?(0,$.jsx)(`p`,{role:`alert`,className:`text-sm text-fg-muted`,children:n.recoverConnectionHint}):null,t[45]=_,t[46]=n.recoverConnectionHint,t[47]=G):G=t[47];let K;t[48]!==y||t[49]!==l||t[50]!==p||t[51]!==m||t[52]!==_||t[53]!==x||t[54]!==r||t[55]!==h||t[56]!==d||t[57]!==o||t[58]!==f||t[59]!==s||t[60]!==n?(K=y?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[r.publicUrl?(0,$.jsx)(`div`,{className:`rounded-xl bg-surface-panel/80 p-3 shadow-surface`,children:(0,$.jsx)(ee,{label:n.publicUrlLabel,text:r.publicUrl,labels:l})}):null,x?(0,$.jsx)(et,{status:r,t:n}):null,r.lastError&&r.state===`error`?(0,$.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:r.lastError}):null,(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:r.enabled?(0,$.jsxs)(k,{type:`button`,variant:`secondary`,disabled:s,onClick:m,children:[s?(0,$.jsx)(b,{className:`size-4 animate-spin`}):null,n.stop]}):(0,$.jsxs)(k,{type:`button`,disabled:o,onClick:p,children:[o?(0,$.jsx)(b,{className:`size-4 animate-spin`}):(0,$.jsx)(S,{className:`size-4`}),_?n.recoverConnection:n.start]})})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[f?(0,$.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wide text-fg-subtle`,children:f}):null,(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-fg`,children:n.emptyStateTitle}),(0,$.jsx)(`p`,{className:`mt-1 text-sm leading-relaxed text-fg-muted`,children:n.emptyStateBody})]}),(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg bg-amber-500/10 px-3 py-2.5 text-xs text-fg-muted`,children:[(0,$.jsx)(D,{className:`mt-0.5 size-4 shrink-0 text-amber-600 dark:text-amber-400`}),(0,$.jsx)(`p`,{children:n.riskBannerBody})]}),h&&d?(0,$.jsx)(`p`,{className:`text-sm text-amber-800 dark:text-amber-200`,children:d}):null,(0,$.jsxs)(k,{type:`button`,disabled:o||h,onClick:p,className:`w-full sm:w-auto`,children:[o?(0,$.jsx)(b,{className:`size-4 animate-spin`}):(0,$.jsx)(S,{className:`size-4`}),_?n.recoverConnection:n.start]})]}),t[48]=y,t[49]=l,t[50]=p,t[51]=m,t[52]=_,t[53]=x,t[54]=r,t[55]=h,t[56]=d,t[57]=o,t[58]=f,t[59]=s,t[60]=n,t[61]=K):K=t[61];let q;return t[62]!==H||t[63]!==U||t[64]!==W||t[65]!==G||t[66]!==K||t[67]!==E?(q=(0,$.jsxs)(`section`,{className:E,children:[H,U,W,G,K]}),t[62]=H,t[63]=U,t[64]=W,t[65]=G,t[66]=K,t[67]=E,t[68]=q):q=t[68],q}var st={reconfiguring:!1};function ct(e){let t=(0,Q.c)(89),{t:n,brokerSecretReady:r,brokerSecretConfiguredInConfig:i,brokerSecretMaskedValue:a,brokerSecretDraft:o,savingBrokerSecret:s,authorizingBrokerSecret:c,brokerSecretAuthorizationUrl:l,brokerSecretNotice:u,copyFailedLabel:f,onDraftChange:p,onSave:m,onAuthorize:h,onClear:v,sectionRef:x}=e,S=(0,Z.useId)(),C=r,w=!C,[T,E]=(0,Z.useReducer)(U,st),{reconfiguring:D}=T,A;t[0]!==i||t[1]!==o||t[2]!==D?(A=i&&!D&&!o.trim(),t[0]=i,t[1]=o,t[2]=D,t[3]=A):A=t[3];let j=A,M;t[4]!==n.copied||t[5]!==n.copyKey||t[6]!==n.hideKey||t[7]!==n.showKey?(M={show:n.showKey,hide:n.hideKey,copy:n.copyKey,copied:n.copied},t[4]=n.copied,t[5]=n.copyKey,t[6]=n.hideKey,t[7]=n.showKey,t[8]=M):M=t[8];let N=M,P;t[9]===o?P=t[10]:(P=o.trim().length>0&&!K(o.trim()),t[9]=o,t[10]=P);let F=P,I;t[11]===p?I=t[12]:(I=()=>{E({type:`patch`,patch:{reconfiguring:!1}}),p(``)},t[11]=p,t[12]=I);let L=I,R=w&&`ring-1 ring-amber-500/30`,z;t[13]===R?z=t[14]:(z=O(R),t[13]=R,t[14]=z);let B=C?`bg-emerald-500/10 text-emerald-600 dark:text-emerald-400`:w?`bg-amber-500/10 text-amber-700 dark:text-amber-400`:`bg-surface-hover text-fg-muted`,V;t[15]===B?V=t[16]:(V=O(`flex size-9 shrink-0 items-center justify-center rounded-lg`,B),t[15]=B,t[16]=V);let H;t[17]===C?H=t[18]:(H=C?(0,$.jsx)(d,{className:`size-4`,strokeWidth:2,"aria-hidden":!0}):(0,$.jsx)(y,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),t[17]=C,t[18]=H);let W;t[19]!==V||t[20]!==H?(W=(0,$.jsx)(`span`,{className:V,children:H}),t[19]=V,t[20]=H,t[21]=W):W=t[21];let ee=C?n.brokerSecretReadyTitle:n.brokerSecretStepTitle,G;t[22]===ee?G=t[23]:(G=(0,$.jsx)(`p`,{className:`text-sm font-semibold text-fg`,children:ee}),t[22]=ee,t[23]=G);let q=C?n.brokerSecretReadyHint:n.brokerSecretHint,te;t[24]===q?te=t[25]:(te=(0,$.jsx)(`p`,{className:`mt-1 text-sm leading-relaxed text-fg-muted`,children:q}),t[24]=q,t[25]=te);let ne;t[26]!==w||t[27]!==n.brokerSecretMissingHint?(ne=w?(0,$.jsx)(`p`,{className:`mt-2 text-xs text-amber-800 dark:text-amber-200`,children:n.brokerSecretMissingHint}):null,t[26]=w,t[27]=n.brokerSecretMissingHint,t[28]=ne):ne=t[28];let J;t[29]!==G||t[30]!==te||t[31]!==ne?(J=(0,$.jsxs)(`div`,{children:[G,te,ne]}),t[29]=G,t[30]=te,t[31]=ne,t[32]=J):J=t[32];let re;t[33]!==c||t[34]!==w||t[35]!==h||t[36]!==D||t[37]!==s||t[38]!==n.brokerSecretAuthorize||t[39]!==n.brokerSecretAuthorizing||t[40]!==n.brokerSecretConsoleLink?(re=w||D?(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsxs)(k,{type:`button`,disabled:s||c,onClick:h,children:[c?(0,$.jsx)(b,{className:`size-4 animate-spin`}):null,c?n.brokerSecretAuthorizing:n.brokerSecretAuthorize]}),(0,$.jsxs)(`a`,{href:xe,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex w-fit items-center gap-1 text-xs font-medium text-accent-fg hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[n.brokerSecretConsoleLink,(0,$.jsx)(g,{className:`size-3`,"aria-hidden":!0})]})]}):null,t[33]=c,t[34]=w,t[35]=h,t[36]=D,t[37]=s,t[38]=n.brokerSecretAuthorize,t[39]=n.brokerSecretAuthorizing,t[40]=n.brokerSecretConsoleLink,t[41]=re):re=t[41];let ie;t[42]!==c||t[43]!==l||t[44]!==n.brokerSecretOpenAuthorization?(ie=c&&l?(0,$.jsxs)(`a`,{href:l,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex w-fit items-center gap-1 text-xs font-medium text-accent-fg hover:underline`,children:[n.brokerSecretOpenAuthorization,(0,$.jsx)(g,{className:`size-3`,"aria-hidden":!0})]}):null,t[42]=c,t[43]=l,t[44]=n.brokerSecretOpenAuthorization,t[45]=ie):ie=t[45];let ae;t[46]!==i||t[47]!==o||t[48]!==a||t[49]!==F||t[50]!==L||t[51]!==f||t[52]!==S||t[53]!==w||t[54]!==v||t[55]!==p||t[56]!==m||t[57]!==D||t[58]!==s||t[59]!==N||t[60]!==j||t[61]!==n.brokerSecretCancelReconfigure||t[62]!==n.brokerSecretClear||t[63]!==n.brokerSecretMaskedHelp||t[64]!==n.brokerSecretNotInConfigFile||t[65]!==n.brokerSecretPlaceholder||t[66]!==n.brokerSecretReconfigure||t[67]!==n.brokerSecretRevealFailed||t[68]!==n.brokerSecretSave||t[69]!==n.brokerSecretSaveAndContinue||t[70]!==n.brokerSecretTitle?(ae=j?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`label`,{className:`sr-only`,htmlFor:S,children:n.brokerSecretTitle}),(0,$.jsx)(_,{id:S,value:a,labels:N,reveal:lt,loadFailedLabel:f||n.brokerSecretRevealFailed,maskedHelp:n.brokerSecretMaskedHelp,notInConfigFile:n.brokerSecretNotInConfigFile,readOnly:!0}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsx)(k,{type:`button`,variant:`secondary`,disabled:s,onClick:()=>{E({type:`patch`,patch:{reconfiguring:!0}})},children:n.brokerSecretReconfigure}),(0,$.jsx)(k,{type:`button`,variant:`ghost`,disabled:s,onClick:v,children:n.brokerSecretClear})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`label`,{className:`sr-only`,htmlFor:S,children:n.brokerSecretTitle}),(0,$.jsx)(_,{id:S,value:o,onChange:p,placeholder:n.brokerSecretPlaceholder,labels:N,disabled:s}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsxs)(k,{type:`button`,disabled:s||!F,onClick:m,children:[s?(0,$.jsx)(b,{className:`size-4 animate-spin`}):null,w?n.brokerSecretSaveAndContinue:n.brokerSecretSave]}),i?(0,$.jsx)(k,{type:`button`,variant:`ghost`,disabled:s,onClick:v,children:n.brokerSecretClear}):null,D?(0,$.jsx)(k,{type:`button`,variant:`ghost`,disabled:s,onClick:L,children:n.brokerSecretCancelReconfigure}):null]})]}),t[46]=i,t[47]=o,t[48]=a,t[49]=F,t[50]=L,t[51]=f,t[52]=S,t[53]=w,t[54]=v,t[55]=p,t[56]=m,t[57]=D,t[58]=s,t[59]=N,t[60]=j,t[61]=n.brokerSecretCancelReconfigure,t[62]=n.brokerSecretClear,t[63]=n.brokerSecretMaskedHelp,t[64]=n.brokerSecretNotInConfigFile,t[65]=n.brokerSecretPlaceholder,t[66]=n.brokerSecretReconfigure,t[67]=n.brokerSecretRevealFailed,t[68]=n.brokerSecretSave,t[69]=n.brokerSecretSaveAndContinue,t[70]=n.brokerSecretTitle,t[71]=ae):ae=t[71];let oe;t[72]===u?oe=t[73]:(oe=u?(0,$.jsx)(`p`,{className:`text-xs text-emerald-700 dark:text-emerald-400`,children:u}):null,t[72]=u,t[73]=oe);let se;t[74]!==J||t[75]!==re||t[76]!==ie||t[77]!==ae||t[78]!==oe?(se=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-3`,children:[J,re,ie,ae,oe]}),t[74]=J,t[75]=re,t[76]=ie,t[77]=ae,t[78]=oe,t[79]=se):se=t[79];let ce;t[80]!==W||t[81]!==se?(ce=(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[W,se]}),t[80]=W,t[81]=se,t[82]=ce):ce=t[82];let Y;t[83]!==ce||t[84]!==z?(Y=(0,$.jsx)(ue,{className:z,children:ce}),t[83]=ce,t[84]=z,t[85]=Y):Y=t[85];let le;return t[86]!==x||t[87]!==Y?(le=(0,$.jsx)(`div`,{ref:x,id:`tunnel-broker-secret-setup`,children:Y}),t[86]=x,t[87]=Y,t[88]=le):le=t[88],le}function lt(){return ve().then(ut)}function ut(e){return e.registrationSecret??null}var dt={actionError:null,starting:!1,stopping:!1,savingAutoStart:!1,consentOpen:!1,autoStartConfirmOpen:!1,releaseConfirmOpen:!1,releasing:!1,brokerSecretDraft:``,savingBrokerSecret:!1,authorizingBrokerSecret:!1,brokerSecretAuthorizationUrl:null,brokerSecretNotice:null};function ft({embedded:e=!1}){let t=c(e=>e.language),n=l(t).tunnelSettings,r=!!s(e=>e.conversationId),[i,a]=(0,Z.useReducer)(U,dt),{actionError:o,starting:u,stopping:d,savingAutoStart:f,consentOpen:p,autoStartConfirmOpen:m,releaseConfirmOpen:h,releasing:g,brokerSecretDraft:_,savingBrokerSecret:y,authorizingBrokerSecret:x,brokerSecretAuthorizationUrl:S,brokerSecretNotice:C}=i,w=(0,Z.useRef)(null),{data:T}=V(r),{data:E,error:D,isLoading:A,mutate:j}=R(r?`tunnel-status`:null,_e,{refreshInterval:e=>u?1e3:e?.frpcDownload||e?.state===`connecting`||e?.state===`reconnecting`?2e3:6e4}),M=(0,Z.useMemo)(()=>{let e=T?.payload?.config;if(e&&typeof e==`object`&&!Array.isArray(e)){let t=e.tunnel;if(t&&typeof t==`object`&&!Array.isArray(t)&&t.autoStart===!0)return!0}return E?.config?.autoStart===!0},[T,E?.config?.autoStart]),N=(0,Z.useMemo)(()=>{let e=T?.payload?.config;if(e&&typeof e==`object`&&!Array.isArray(e)){let t=e.tunnel;if(t&&typeof t==`object`&&!Array.isArray(t)){let e=t.registrationSecret;if(typeof e==`string`)return e}}return``},[T]),P=K(N),F=E?.registrationSecret?.configured??P;(0,Z.useEffect)(()=>{let e=()=>{j()};return window.addEventListener(`tunnel-status`,e),()=>window.removeEventListener(`tunnel-status`,e)},[j]);let I=(0,Z.useMemo)(()=>[n.consentBullet1,n.consentBullet2,n.consentBullet3],[n.consentBullet1,n.consentBullet2,n.consentBullet3]),L=(0,Z.useCallback)(async()=>{a({type:`patch`,patch:{actionError:null}}),a({type:`patch`,patch:{starting:!0}});try{await be(E?.state===`error`&&he(Error(E.lastError??``))?{recoverActiveLease:!0}:void 0),await j(),B()}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}}),await j().catch(()=>{})}finally{a({type:`patch`,patch:{starting:!1}})}},[j,E]),z=(0,Z.useCallback)(()=>{if(!F){a({type:`patch`,patch:{actionError:n.brokerSecretRequiredBeforeStart}}),w.current?.scrollIntoView({behavior:`smooth`,block:`start`});return}if(E?.consentRequired){a({type:`patch`,patch:{consentOpen:!0}});return}L()},[F,E?.consentRequired,L,n.brokerSecretRequiredBeforeStart]),H=(0,Z.useCallback)(async()=>{a({type:`patch`,patch:{consentOpen:!1}}),a({type:`patch`,patch:{actionError:null}});try{await fe(),await Promise.all([j(),L()])}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}},[j,L]),ee=(0,Z.useCallback)(async()=>{a({type:`patch`,patch:{actionError:null}}),a({type:`patch`,patch:{stopping:!0}});try{await me(),await j(),B()}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}finally{a({type:`patch`,patch:{stopping:!1}})}},[j]),G=(0,Z.useCallback)(async e=>{a({type:`patch`,patch:{savingAutoStart:!0}}),a({type:`patch`,patch:{actionError:null}});try{await ye({autoStart:e}),B()}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}finally{a({type:`patch`,patch:{savingAutoStart:!1}})}},[]),J=(0,Z.useCallback)(()=>{if(M){G(!1);return}if(E?.consentRequired){a({type:`patch`,patch:{actionError:n.consentExpiredBanner}});return}if(!E?.canAutoStart){a({type:`patch`,patch:{actionError:n.autoStartHint}});return}a({type:`patch`,patch:{autoStartConfirmOpen:!0}})},[G,E?.canAutoStart,E?.consentRequired,n,M]),oe=(0,Z.useCallback)(async()=>{let e=_.trim();if(e){a({type:`patch`,patch:{savingBrokerSecret:!0,actionError:null,brokerSecretNotice:null}});try{await ye({registrationSecret:e}),a({type:`patch`,patch:{brokerSecretDraft:``,brokerSecretNotice:n.brokerSecretSaved}}),B(),await j(),a({type:`patch`,patch:{actionError:null}})}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}finally{a({type:`patch`,patch:{savingBrokerSecret:!1}})}}},[_,j,n.brokerSecretSaved]),se=(0,Z.useCallback)(async()=>{a({type:`patch`,patch:{savingBrokerSecret:!0,actionError:null,brokerSecretNotice:null}});try{await ye({registrationSecret:null}),a({type:`patch`,patch:{brokerSecretDraft:``,brokerSecretNotice:n.brokerSecretCleared}}),B(),await j()}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}finally{a({type:`patch`,patch:{savingBrokerSecret:!1}})}},[j,n.brokerSecretCleared]),ce=(0,Z.useCallback)(async()=>{let e=ie(),t=null,r=null;a({type:`patch`,patch:{authorizingBrokerSecret:!0,brokerSecretAuthorizationUrl:null,brokerSecretNotice:null,actionError:null}});try{for(t=(await q(`xopc-tunnel`)).sessionId;;){await new Promise(e=>window.setTimeout(e,1e3));let i=await ne(t);if(i.authUrl&&i.authUrl!==r&&(r=i.authUrl,a({type:`patch`,patch:{brokerSecretAuthorizationUrl:i.authUrl}}),await re(i.authUrl,e)),i.status===`failed`||i.status===`cancelled`)throw Error(i.error??i.message??`OAuth authorization failed`);if(i.status===`completed`){await ge(),await Promise.all([j(),B()]),a({type:`patch`,patch:{brokerSecretNotice:n.brokerSecretSaved,brokerSecretDraft:``}});return}}}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}finally{ae(e),t&&te(t).catch(()=>void 0),a({type:`patch`,patch:{authorizingBrokerSecret:!1,brokerSecretAuthorizationUrl:null}})}},[j,n.brokerSecretSaved]),Y=(0,Z.useCallback)(async()=>{a({type:`patch`,patch:{releaseConfirmOpen:!1,actionError:null,releasing:!0}});try{await me({release:!0}),await j(),B()}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}finally{a({type:`patch`,patch:{releasing:!1}})}},[j]),le=(0,Z.useMemo)(()=>({copy:n.copyUrl,copied:n.copied,copyFailed:l(t).clipboard.copyFailed}),[t,n.copyUrl,n.copied]);if(!r)return(0,$.jsx)(`div`,{className:e?void 0:`w-full px-3 py-8 sm:px-5 xl:px-6`,children:(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.needToken})});let X=E??{enabled:!1,state:`disconnected`,subdomain:null,publicUrl:null,connectedSince:null,frpcPid:null,lastHeartbeatAt:null,lastError:null,consentRequired:!0,config:{autoStart:M,brokerUrl:`https://frp.xopc.ai/api`}},pe=E?.consentRequired&&(X.enabled||M||E?.consent?.acceptedAt),ve=(0,$.jsx)(ct,{t:n,brokerSecretReady:F,brokerSecretConfiguredInConfig:P,brokerSecretMaskedValue:P?N:``,brokerSecretDraft:_,savingBrokerSecret:y,authorizingBrokerSecret:x,brokerSecretAuthorizationUrl:S,brokerSecretNotice:C,copyFailedLabel:l(t).clipboard.copyFailed,onDraftChange:e=>a({type:`patch`,patch:{brokerSecretDraft:e}}),onSave:()=>void oe(),onAuthorize:()=>void ce(),onClear:()=>void se(),sectionRef:w}),xe=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(We,{open:p,title:n.consentTitle,intro:n.consentIntro,bullets:I,checkboxLabel:n.consentCheckbox,confirmLabel:pe?n.consentReconfirm:n.consentConfirm,cancelLabel:n.consentCancel,onConfirm:()=>void H(),onCancel:()=>a({type:`patch`,patch:{consentOpen:!1}})},p?`consent-open`:`consent-closed`),(0,$.jsx)(W,{open:m,title:n.autoStartConfirmTitle,description:n.autoStartConfirmBody,confirmLabel:n.autoStartConfirmLabel,cancelLabel:n.consentCancel,onConfirm:()=>{a({type:`patch`,patch:{autoStartConfirmOpen:!1}}),G(!0)},onCancel:()=>a({type:`patch`,patch:{autoStartConfirmOpen:!1}})}),(0,$.jsx)(W,{open:h,title:n.releaseConfirmTitle,description:n.releaseConfirmBody,confirmLabel:n.releaseConfirmLabel,cancelLabel:n.consentCancel,destructive:!0,onConfirm:()=>void Y(),onCancel:()=>a({type:`patch`,patch:{releaseConfirmOpen:!1}})})]});return e?(0,$.jsxs)(`div`,{className:`flex w-full flex-col gap-4`,children:[o?(0,$.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:o}):null,ve,(0,$.jsx)(ot,{t:n,status:X,isLoading:A,statusErr:D,starting:u,stopping:d,showConsentExpired:!!pe,copyLabels:le,startDisabled:!F,startDisabledReason:F?void 0:n.brokerSecretRequiredBeforeStart,stepLabel:n.flowStepStart,onStart:z,onStop:()=>void ee()}),(0,$.jsxs)(He,{showLabel:n.showOptions,hideLabel:n.hideOptions,children:[(0,$.jsxs)(`label`,{className:O(`flex items-center gap-3 text-sm text-fg`,!M&&!E?.canAutoStart?`cursor-not-allowed opacity-60`:`cursor-pointer`),children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`size-4 rounded border-edge accent-accent`,checked:M,disabled:f||!M&&!E?.canAutoStart,onChange:J}),n.autoStart]}),!E?.canAutoStart&&!M?(0,$.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.autoStartHint}):null,X.subdomain||X.publicUrl?(0,$.jsxs)(`div`,{className:`space-y-2 rounded-xl bg-surface-base/45 p-4`,children:[(0,$.jsxs)(k,{type:`button`,variant:`secondary`,disabled:g||d,className:`border-danger/40 text-danger hover:bg-danger/10`,onClick:()=>a({type:`patch`,patch:{releaseConfirmOpen:!0}}),children:[g?(0,$.jsx)(b,{className:`size-4 animate-spin`}):null,n.release]}),(0,$.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.releaseHint})]}):null]}),(0,$.jsx)(He,{showLabel:n.showAdvanced,hideLabel:n.hideAdvanced,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-xl bg-surface-base/45 p-4 text-xs text-fg-subtle`,children:[(0,$.jsxs)(`p`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(v,{className:`mt-0.5 size-4 shrink-0 text-accent`}),(0,$.jsx)(`span`,{children:n.brokerNote})]}),(0,$.jsx)(de,{language:t,label:n.brokerDocsLink,section:`public-tunnel`,className:`text-xs`})]})}),xe]}):(0,$.jsxs)(`div`,{className:e?`flex w-full flex-col gap-6`:`flex w-full flex-col gap-6 px-3 py-8 sm:px-5 xl:px-6`,children:[e?null:(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:n.subtitle})]}),o?(0,$.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:o}):null,ve,(0,$.jsx)(ot,{t:n,status:X,isLoading:A,statusErr:D,starting:u,stopping:d,showConsentExpired:!!pe,copyLabels:le,startDisabled:!F,startDisabledReason:F?void 0:n.brokerSecretRequiredBeforeStart,onStart:z,onStop:()=>void ee()}),X.subdomain||X.publicUrl?(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(0,$.jsxs)(k,{type:`button`,variant:`secondary`,disabled:g||d,className:`border-danger/40 text-danger hover:bg-danger/10`,onClick:()=>a({type:`patch`,patch:{releaseConfirmOpen:!0}}),children:[g?(0,$.jsx)(b,{className:`size-4 animate-spin`}):null,n.release]})}):null,X.subdomain||X.publicUrl?(0,$.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.releaseHint}):null,(0,$.jsxs)(ue,{children:[(0,$.jsx)(`h2`,{className:`mb-3 text-sm font-semibold text-fg`,children:n.optionsTitle}),(0,$.jsxs)(`label`,{className:O(`flex items-center gap-3 text-sm text-fg`,!M&&!E?.canAutoStart?`cursor-not-allowed opacity-60`:`cursor-pointer`),children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`size-4 rounded border-edge accent-accent`,checked:M,disabled:f||!M&&!E?.canAutoStart,onChange:J}),n.autoStart]}),!E?.canAutoStart&&!M?(0,$.jsx)(`p`,{className:`mt-2 text-xs text-fg-subtle`,children:n.autoStartHint}):null]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg bg-surface-panel/80 px-3 py-2 text-xs text-fg-subtle shadow-surface`,children:[(0,$.jsxs)(`p`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(v,{className:`mt-0.5 size-4 shrink-0 text-accent`}),(0,$.jsx)(`span`,{children:n.brokerNote})]}),(0,$.jsx)(de,{language:t,label:n.brokerDocsLink,section:`public-tunnel`,className:`text-xs`})]}),xe]})}function pt(e,t){return e.tabs[t]}function mt(e,t){return e.tabIntro[t]}function ht(e){switch(e){case`tailscale`:return`tailscale-serve`;case`public`:return`public-tunnel`;case`reverse-proxy`:return`reverse-proxy`;case`ssh`:return`ssh-tunnel`;case`lan`:return`lan`;default:return}}function gt(e){let t=(0,Q.c)(7),{tab:n,onOpenTab:r}=e;switch(n){case`guide`:{let e;return t[0]===r?e=t[1]:(e=(0,$.jsx)(je,{onOpenTab:r}),t[0]=r,t[1]=e),e}case`tailscale`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(pe,{embedded:!0}),t[2]=e):e=t[2],e}case`public`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(ft,{embedded:!0}),t[3]=e):e=t[3],e}case`reverse-proxy`:{let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Ce,{}),t[4]=e):e=t[4],e}case`ssh`:{let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(ze,{}),t[5]=e):e=t[5],e}case`lan`:{let e;return t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Fe,{}),t[6]=e):e=t[6],e}}}function _t(){let e=(0,Q.c)(3),t=o(),n=c(yt),r=l(n).remoteAccess,a=!!s(vt),[d,f]=i(),p=G(),m=Ve(d.get(`tab`)),h=d.get(`intent`)===`mobile-pairing`,g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g={refreshInterval:2e3},e[0]=g):g=e[0];let _=R(h?`device-pairing-readiness`:null,X,g),v;e[1]===f?v=e[2]:(v=e=>{f(t=>{let n=new URLSearchParams(t);return e===`guide`?n.delete(`tab`):n.set(`tab`,e),n},{replace:!0})},e[1]=f,e[2]=v);let y=v,b=mt(r,m),x=Be.filter(e=>p||e!==`ssh`&&e!==`reverse-proxy`||e===m).map(e=>({id:e,label:pt(r,e)}));return(0,$.jsxs)(oe,{children:[(0,$.jsx)(se,{title:r.pageTitle,meta:(0,$.jsx)(de,{language:n,label:r.docsLink,section:ht(m),className:`mt-1`})}),a?(0,$.jsxs)($.Fragment,{children:[h?(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-xl bg-accent-soft px-4 py-3`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,$.jsx)(T,{className:`mt-0.5 size-5 shrink-0 text-accent`,"aria-hidden":!0}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:r.mobilePairingFlow.title}),(0,$.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:_.data?.ready?r.mobilePairingFlow.ready:r.mobilePairingFlow.hint})]})]}),(0,$.jsxs)(k,{variant:`primary`,disabled:!_.data?.ready,onClick:()=>t(`/settings/devices?startDevicePairing=mobile`),children:[_.data?.ready?r.mobilePairingFlow.continue:r.mobilePairingFlow.waiting,(0,$.jsx)(u,{className:`size-4`,"aria-hidden":!0})]})]}):null,(0,$.jsx)(H,{items:x,activeTab:m,onChange:y,ariaLabel:r.tabsAria,tabIdPrefix:`remote-access-tab`,panelIdPrefix:`remote-access-panel`}),(0,$.jsx)(ce,{id:m,activeTab:m,tabIdPrefix:`remote-access-tab`,panelIdPrefix:`remote-access-panel`,title:pt(r,m),hint:m===`public`?void 0:b,showHeading:!1,framed:!1,children:(0,$.jsx)(gt,{tab:m,onOpenTab:y})})]}):(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:r.guide.needToken})]})}function vt(e){return e.conversationId}function yt(e){return e.language}export{_t as RemoteAccessHub};
|
|
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,t as a,u as o}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{l as s,n 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"./arrow-right-DSSvoX71.js";import{t as _}from"./check-DUBLcKHA.js";import{t as v}from"./chevron-down-ccbiQQz_.js";import{t as y}from"./chevron-right-BweFrslA.js";import{t as b}from"./circle-BoO4YvTx.js";import{t as x}from"./copy-Dv6d4Dvw.js";import{t as S}from"./external-link-DjqjBmc3.js";import{t as C}from"./secret-input-Dryrns2s.js";import{t as w}from"./globe-DSSGFWFn.js";import{t as T}from"./key-round-DWbpyU2U.js";import{t as E}from"./loader-circle-CifKLtgG.js";import{t as D}from"./network-BUQLY1BV.js";import{t as O}from"./power-ZI-pBczI.js";import{t as k}from"./server-BlHCBjiE.js";import{t as A}from"./shield-B1sI_cxl.js";import{t as j}from"./smartphone-DSSsQFqA.js";import{t as M}from"./terminal-oKqqZdiG.js";import{t as N}from"./triangle-alert-2JXFNNKU.js";import{t as P}from"./cn-0WouolD0.js";import{i as F}from"./vendor-swr-CdRzEUwF.js";import{n as I,r as L}from"./gateway-config-swr-BOCt_zOo.js";import{t as R}from"./button-Cc4hUNTt.js";import{i as z,o as B}from"./settings-shell-dialog-layer-BU3UuiJr.js";import{t as V}from"./copy-to-clipboard-HOJ79TWv.js";import{t as H}from"./page-tabs-oeTY7z3_.js";import{r as U}from"./settings-form-draft-Dy10ldo8.js";import{t as W}from"./confirm-dialog-D7dQJytv.js";import{t as ee}from"./copy-text-row-CpiRzq4G.js";import{n as G}from"./settings-mode-store-CiRpsdTJ.js";import{r as K}from"./providers-api-DOnNfkwQ.js";import{a as q,n as te,r as ne}from"./oauth-api-DMMdeaNd.js";import{t as J}from"./settings-advanced-section-DwpPPxT0.js";import{n as re,r as ie,t as ae}from"./oauth-authorization-window-o6URRos4.js";import{n as oe,t as se}from"./settings-page-header-BZl4AMiN.js";import{t as ce}from"./settings-page-layout-onhEgq-K.js";import{n as Y,r as le,t as ue}from"./settings-form-section-num14vSv.js";import{S as de,_ as X,a as fe,b as pe,c as me,d as he,i as ge,n as _e,o as ve,r as ye,s as be,t as xe,x as Se,y as Ce}from"./tunnel-api-B7nx0NQJ.js";import{t as we}from"./settings-advanced-gate-BI4DMz4_.js";var Z=e(t(),1),Q=n(),$=r();function Te(e){switch(e){case`active`:return`text-emerald-700 dark:text-emerald-400`;case`connecting`:return`text-amber-700 dark:text-amber-400`;default:return`text-fg-muted`}}function Ee(e){let t=(0,Q.c)(11),{label:n,kind:r}=e,i;t[0]===r?i=t[1]:(i=P(`inline-flex items-center gap-1.5 text-xs font-medium`,Te(r)),t[0]=r,t[1]=i);let a=r===`active`&&`bg-emerald-500`,o=r===`connecting`&&`bg-amber-500`,s;t[2]!==a||t[3]!==o?(s=P(`size-1.5 rounded-full bg-fg-subtle/50`,a,o),t[2]=a,t[3]=o,t[4]=s):s=t[4];let c;t[5]===s?c=t[6]:(c=(0,$.jsx)(`span`,{className:s,"aria-hidden":!0}),t[5]=s,t[6]=c);let l;return t[7]!==n||t[8]!==i||t[9]!==c?(l=(0,$.jsxs)(`span`,{className:i,children:[c,n]}),t[7]=n,t[8]=i,t[9]=c,t[10]=l):l=t[10],l}function De(e){let t=(0,Q.c)(31),{onOpenTab:n}=e,r=c(ke),i;t[0]===r?i=t[1]:(i=l(r),t[0]=r,t[1]=i);let a=i.remoteAccess.guide,o=!!s(Oe),u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u={refreshInterval:3e4},t[2]=u):u=t[2];let{data:d}=F(o?`exposure-status`:null,Se,u),f;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(f={refreshInterval:15e3},t[3]=f):f=t[3];let{data:p}=F(o?`tunnel-status`:null,_e,f),m=L(o);if(!o)return null;let h=d?.tailscale.active===!0,g=p?.state,_=p?.enabled&&g===`connected`,v=p?.enabled&&(g===`connecting`||g===`reconnecting`||!!p?.startProgress||!!p?.frpcDownload),y=m.data?.payload?.config,b=!!(y&&typeof y==`object`&&!Array.isArray(y)&&y.gateway?.publicUrl),x=h?`active`:`off`,S=h?a.statusActive:a.statusOff,C;t[4]!==a.tailscaleCardTitle||t[5]!==x||t[6]!==S?(C={tab:`tailscale`,icon:w,title:a.tailscaleCardTitle,kind:x,statusLabel:S},t[4]=a.tailscaleCardTitle,t[5]=x,t[6]=S,t[7]=C):C=t[7];let T=_?`active`:v?`connecting`:`off`,E=_?a.statusActive:v?a.statusConnecting:a.statusOff,O;t[8]!==a.publicCardTitle||t[9]!==T||t[10]!==E?(O={tab:`public`,icon:D,title:a.publicCardTitle,kind:T,statusLabel:E},t[8]=a.publicCardTitle,t[9]=T,t[10]=E,t[11]=O):O=t[11];let j=b?`active`:`off`,N=b?a.statusActive:a.statusOff,I;t[12]!==a.reverseProxyCardTitle||t[13]!==j||t[14]!==N?(I={tab:`reverse-proxy`,icon:A,title:a.reverseProxyCardTitle,kind:j,statusLabel:N},t[12]=a.reverseProxyCardTitle,t[13]=j,t[14]=N,t[15]=I):I=t[15];let R;t[16]!==a.sshCardStatus||t[17]!==a.sshCardTitle?(R={tab:`ssh`,icon:M,title:a.sshCardTitle,kind:`off`,statusLabel:a.sshCardStatus},t[16]=a.sshCardStatus,t[17]=a.sshCardTitle,t[18]=R):R=t[18];let z;t[19]!==a.lanCardStatus||t[20]!==a.lanCardTitle?(z={tab:`lan`,icon:k,title:a.lanCardTitle,kind:`off`,statusLabel:a.lanCardStatus},t[19]=a.lanCardStatus,t[20]=a.lanCardTitle,t[21]=z):z=t[21];let B;t[22]!==I||t[23]!==R||t[24]!==z||t[25]!==C||t[26]!==O?(B=[C,O,I,R,z],t[22]=I,t[23]=R,t[24]=z,t[25]=C,t[26]=O,t[27]=B):B=t[27];let V=B,H;return t[28]!==V||t[29]!==n?(H=(0,$.jsx)(`div`,{className:`grid gap-1 rounded-xl bg-surface-hover/20 p-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5`,children:V.map(e=>{let t=e.icon;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>n(e.tab),className:P(`flex items-start gap-3 rounded-lg bg-surface-base/45 px-2 py-3 text-left transition-colors`,`hover:bg-surface-hover/30`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),children:[(0,$.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center text-fg-muted`,children:(0,$.jsx)(t,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0})}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`block truncate text-sm font-medium text-fg`,children:e.title}),(0,$.jsx)(Ee,{label:e.statusLabel,kind:e.kind})]})]},`${e.tab}-${e.title}`)})}),t[28]=V,t[29]=n,t[30]=H):H=t[30],H}function Oe(e){return e.conversationId}function ke(e){return e.language}function Ae(e){let t=(0,Q.c)(21),{title:n,description:r,recommended:i,icon:a,onOpen:o,recommendedLabel:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=P(`group flex w-full items-start gap-3 px-3 py-4 text-left transition-colors`,`hover:bg-surface-hover/30`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),t[0]=c):c=t[0];let l;t[1]===a?l=t[2]:(l=(0,$.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-lg bg-surface-hover/70 text-fg-muted`,children:(0,$.jsx)(a,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0})}),t[1]=a,t[2]=l);let u;t[3]===n?u=t[4]:(u=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n}),t[3]=n,t[4]=u);let d;t[5]!==i||t[6]!==s?(d=i&&s?(0,$.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:s}):null,t[5]=i,t[6]=s,t[7]=d):d=t[7];let f;t[8]!==u||t[9]!==d?(f=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[u,d]}),t[8]=u,t[9]=d,t[10]=f):f=t[10];let p;t[11]===r?p=t[12]:(p=(0,$.jsx)(`p`,{className:`mt-1 text-sm leading-relaxed text-fg-muted`,children:r}),t[11]=r,t[12]=p);let m;t[13]!==f||t[14]!==p?(m=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[f,p]}),t[13]=f,t[14]=p,t[15]=m):m=t[15];let h;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(y,{className:`mt-2 size-4 shrink-0 text-fg-subtle transition-transform group-hover:translate-x-0.5 group-hover:text-fg-muted`,"aria-hidden":!0}),t[16]=h):h=t[16];let g;return t[17]!==o||t[18]!==l||t[19]!==m?(g=(0,$.jsxs)(`button`,{type:`button`,onClick:o,className:c,children:[l,m,h]}),t[17]=o,t[18]=l,t[19]=m,t[20]=g):g=t[20],g}function je(e){let t=(0,Q.c)(78),{onOpenTab:n}=e,r=c(Pe),i;t[0]===r?i=t[1]:(i=l(r),t[0]=r,t[1]=i);let a=i.remoteAccess,o=a.guide,u=!!s(Ne),d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d={refreshInterval:3e4},t[2]=d):d=t[2];let{data:f}=F(u?`exposure-status`:null,Se,d),p;t[3]===f?.conflicts?p=t[4]:(p=f?.conflicts??[],t[3]=f?.conflicts,t[4]=p);let m=p;if(!u){let e;return t[5]===o.needToken?e=t[6]:(e=(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:o.needToken}),t[5]=o.needToken,t[6]=e),e}let h;t[7]===n?h=t[8]:(h=(0,$.jsx)(De,{onOpenTab:n}),t[7]=n,t[8]=h);let g;t[9]!==m||t[10]!==o.conflictsHint||t[11]!==o.conflictsTitle?(g=m.length>0?(0,$.jsxs)(`div`,{className:`rounded-xl bg-amber-500/10 px-4 py-3 text-sm text-fg-muted`,children:[(0,$.jsx)(`p`,{className:`font-medium text-fg`,children:o.conflictsTitle}),(0,$.jsx)(`p`,{className:`mt-1`,children:o.conflictsHint}),(0,$.jsx)(`ul`,{className:`mt-2 list-inside list-disc text-xs`,children:m.map(Me)})]}):null,t[9]=m,t[10]=o.conflictsHint,t[11]=o.conflictsTitle,t[12]=g):g=t[12];let _;t[13]===o.pickMethod?_=t[14]:(_=(0,$.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:o.pickMethod}),t[13]=o.pickMethod,t[14]=_);let v;t[15]===n?v=t[16]:(v=()=>n(`tailscale`),t[15]=n,t[16]=v);let y;t[17]!==o.recommended||t[18]!==o.tailscaleCardDesc||t[19]!==o.tailscaleCardTitle||t[20]!==v?(y=(0,$.jsx)(Ae,{icon:w,title:o.tailscaleCardTitle,description:o.tailscaleCardDesc,recommended:!0,recommendedLabel:o.recommended,onOpen:v}),t[17]=o.recommended,t[18]=o.tailscaleCardDesc,t[19]=o.tailscaleCardTitle,t[20]=v,t[21]=y):y=t[21];let b;t[22]===n?b=t[23]:(b=()=>n(`public`),t[22]=n,t[23]=b);let x;t[24]!==o.publicCardDesc||t[25]!==o.publicCardTitle||t[26]!==b?(x=(0,$.jsx)(Ae,{icon:D,title:o.publicCardTitle,description:o.publicCardDesc,onOpen:b}),t[24]=o.publicCardDesc,t[25]=o.publicCardTitle,t[26]=b,t[27]=x):x=t[27];let S;t[28]===n?S=t[29]:(S=()=>n(`reverse-proxy`),t[28]=n,t[29]=S);let C;t[30]!==o.reverseProxyCardDesc||t[31]!==o.reverseProxyCardTitle||t[32]!==S?(C=(0,$.jsx)(Ae,{icon:A,title:o.reverseProxyCardTitle,description:o.reverseProxyCardDesc,onOpen:S}),t[30]=o.reverseProxyCardDesc,t[31]=o.reverseProxyCardTitle,t[32]=S,t[33]=C):C=t[33];let T;t[34]===n?T=t[35]:(T=()=>n(`ssh`),t[34]=n,t[35]=T);let E;t[36]!==o.sshCardDesc||t[37]!==o.sshCardTitle||t[38]!==T?(E=(0,$.jsx)(Ae,{icon:M,title:o.sshCardTitle,description:o.sshCardDesc,onOpen:T}),t[36]=o.sshCardDesc,t[37]=o.sshCardTitle,t[38]=T,t[39]=E):E=t[39];let O;t[40]!==a.advanced.proxyBody||t[41]!==a.advanced.proxyTitle||t[42]!==C||t[43]!==E?(O=(0,$.jsxs)(J,{title:a.advanced.proxyTitle,summary:a.advanced.proxyBody,children:[C,E]}),t[40]=a.advanced.proxyBody,t[41]=a.advanced.proxyTitle,t[42]=C,t[43]=E,t[44]=O):O=t[44];let j;t[45]===n?j=t[46]:(j=()=>n(`lan`),t[45]=n,t[46]=j);let N;t[47]!==o.lanCardDesc||t[48]!==o.lanCardTitle||t[49]!==j?(N=(0,$.jsx)(Ae,{icon:k,title:o.lanCardTitle,description:o.lanCardDesc,onOpen:j}),t[47]=o.lanCardDesc,t[48]=o.lanCardTitle,t[49]=j,t[50]=N):N=t[50];let P;t[51]!==x||t[52]!==O||t[53]!==N||t[54]!==y?(P=(0,$.jsxs)(`div`,{className:`mt-2 flex max-w-3xl flex-col gap-1 rounded-xl bg-surface-hover/20 p-1 [&>*]:rounded-lg [&>*]:bg-surface-base/45`,children:[y,x,O,N]}),t[51]=x,t[52]=O,t[53]=N,t[54]=y,t[55]=P):P=t[55];let I;t[56]!==P||t[57]!==_?(I=(0,$.jsxs)(`div`,{children:[_,P]}),t[56]=P,t[57]=_,t[58]=I):I=t[58];let L;t[59]===o.oneAtATimeHint?L=t[60]:(L=(0,$.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-subtle`,children:o.oneAtATimeHint}),t[59]=o.oneAtATimeHint,t[60]=L);let R;t[61]===a.advanced.proxyTitle?R=t[62]:(R=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:a.advanced.proxyTitle}),t[61]=a.advanced.proxyTitle,t[62]=R);let z;t[63]===a.advanced.proxyBody?z=t[64]:(z=(0,$.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:a.advanced.proxyBody}),t[63]=a.advanced.proxyBody,t[64]=z);let B;t[65]!==r||t[66]!==a.advanced.proxyDocs?(B=(0,$.jsx)(de,{language:r,label:a.advanced.proxyDocs,section:`advanced`,className:`mt-2`}),t[65]=r,t[66]=a.advanced.proxyDocs,t[67]=B):B=t[67];let V;t[68]!==R||t[69]!==z||t[70]!==B?(V=(0,$.jsxs)(`div`,{className:`max-w-3xl rounded-xl bg-surface-hover/20 px-4 py-4`,children:[R,z,B]}),t[68]=R,t[69]=z,t[70]=B,t[71]=V):V=t[71];let H;return t[72]!==I||t[73]!==L||t[74]!==V||t[75]!==h||t[76]!==g?(H=(0,$.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[h,g,I,L,V]}),t[72]=I,t[73]=L,t[74]=V,t[75]=h,t[76]=g,t[77]=H):H=t[77],H}function Me(e){return(0,$.jsx)(`li`,{children:e.message},e.code)}function Ne(e){return e.conversationId}function Pe(e){return e.language}function Fe(){let e=(0,Q.c)(16),t=c(Ie),n;e[0]===t?n=e[1]:(n=l(t),e[0]=t,e[1]=n);let r=n.remoteAccess.lan,i;e[2]!==r.subtitle||e[3]!==r.title?(i=(0,$.jsx)(Y,{icon:k,title:r.title,subtitle:r.subtitle}),e[2]=r.subtitle,e[3]=r.title,e[4]=i):i=e[4];let o;e[5]===r.body?o=e[6]:(o=(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:r.body}),e[5]=r.body,e[6]=o);let s;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(S,{className:`size-3.5`,"aria-hidden":!0}),e[7]=s):s=e[7];let u;e[8]===r.link?u=e[9]:(u=(0,$.jsxs)(a,{to:`/settings/gateway`,className:`inline-flex items-center gap-1.5 text-sm font-medium text-accent hover:underline`,children:[r.link,s]}),e[8]=r.link,e[9]=u);let d;e[10]!==o||e[11]!==u?(d=(0,$.jsxs)(`div`,{className:`mt-4 space-y-3`,children:[o,u]}),e[10]=o,e[11]=u,e[12]=d):d=e[12];let f;return e[13]!==i||e[14]!==d?(f=(0,$.jsx)(`div`,{className:`flex flex-col gap-4`,children:(0,$.jsxs)(ue,{children:[i,d]})}),e[13]=i,e[14]=d,e[15]=f):f=e[15],f}function Ie(e){return e.language}function Le(e){let t=(0,Q.c)(30),{embedded:n}=e,r=n!==void 0&&n,i=c(Re),a;t[0]===i?a=t[1]:(a=l(i),t[0]=i,t[1]=a);let o=a.remoteAccess.ssh,[s,u]=(0,Z.useState)(!1),d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=async()=>{await V(`xopc gateway ssh-tunnel --target user@your-host --local-port 18790 --remote-port 18790`)&&(u(!0),setTimeout(()=>u(!1),2e3))},t[2]=d):d=t[2];let f=d,p;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`pre`,{className:`overflow-x-auto rounded-lg bg-surface-base/55 px-3 py-2 text-xs text-fg-muted`,children:`xopc gateway ssh-tunnel --target user@your-host --local-port 18790 --remote-port 18790`}),t[3]=p):p=t[3];let m,h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>void f(),h=(0,$.jsx)(x,{className:`mr-1 size-4`}),t[4]=m,t[5]=h):(m=t[4],h=t[5]);let g=s?o.copied:o.copy,_;t[6]===g?_=t[7]:(_=(0,$.jsx)(`div`,{className:`mt-2`,children:(0,$.jsxs)(R,{type:`button`,variant:`ghost`,onClick:m,children:[h,g]})}),t[6]=g,t[7]=_);let v;t[8]!==r||t[9]!==o.hint?(v=r?(0,$.jsx)(`p`,{className:`mt-2 text-xs text-fg-subtle`,children:o.hint}):null,t[8]=r,t[9]=o.hint,t[10]=v):v=t[10];let y;t[11]!==_||t[12]!==v?(y=(0,$.jsxs)($.Fragment,{children:[p,_,v]}),t[11]=_,t[12]=v,t[13]=y):y=t[13];let b=y;if(r){let e;t[14]!==o.subtitle||t[15]!==o.title?(e=(0,$.jsx)(Y,{icon:M,title:o.title,subtitle:o.subtitle}),t[14]=o.subtitle,t[15]=o.title,t[16]=e):e=t[16];let n;t[17]===b?n=t[18]:(n=(0,$.jsx)(`div`,{className:`mt-4 space-y-2`,children:b}),t[17]=b,t[18]=n);let r;return t[19]!==e||t[20]!==n?(r=(0,$.jsxs)(ue,{children:[e,n]}),t[19]=e,t[20]=n,t[21]=r):r=t[21],r}let S;t[22]!==o.subtitle||t[23]!==o.title?(S=(0,$.jsx)(Y,{icon:M,title:o.title,subtitle:o.subtitle}),t[22]=o.subtitle,t[23]=o.title,t[24]=S):S=t[24];let C;t[25]===b?C=t[26]:(C=(0,$.jsx)(`div`,{className:`mt-4`,children:b}),t[25]=b,t[26]=C);let w;return t[27]!==S||t[28]!==C?(w=(0,$.jsxs)(ue,{children:[S,C]}),t[27]=S,t[28]=C,t[29]=w):w=t[29],w}function Re(e){return e.language}function ze(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(Le,{embedded:!0}),e[0]=t):t=e[0],t}var Be=[`guide`,`tailscale`,`public`,`reverse-proxy`,`ssh`,`lan`];function Ve(e){return e&&Be.includes(e)?e:`guide`}function He(e){let t=(0,Q.c)(32),{showLabel:n,hideLabel:r,icon:i,hint:a,children:o,className:s,defaultOpen:c,advancedOnly:l}=e,u=l!==void 0&&l,[d,f]=(0,Z.useState)(c??!1),p;t[0]===s?p=t[1]:(p=P(`rounded-xl bg-surface-hover/20`,s),t[0]=s,t[1]=p);let m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>f(Ue),t[2]=m):m=t[2];let h=d&&`rotate-180`,g;t[3]===h?g=t[4]:(g=P(`size-4 shrink-0 text-fg-muted transition-transform duration-200 motion-reduce:transition-none`,h),t[3]=h,t[4]=g);let _;t[5]===g?_=t[6]:(_=(0,$.jsx)(v,{className:g,"aria-hidden":!0}),t[5]=g,t[6]=_);let y;t[7]===i?y=t[8]:(y=i?(0,$.jsx)(i,{className:`size-4 shrink-0 text-accent`,strokeWidth:1.75,"aria-hidden":!0}):null,t[7]=i,t[8]=y);let b=d?r:n,x;t[9]===b?x=t[10]:(x=(0,$.jsx)(`span`,{children:b}),t[9]=b,t[10]=x);let S;t[11]!==d||t[12]!==_||t[13]!==y||t[14]!==x?(S=(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":d,onClick:m,className:`flex w-full items-center gap-2 rounded-2xl px-4 py-3.5 text-left text-sm font-medium text-fg transition-colors hover:text-fg`,children:[_,y,x]}),t[11]=d,t[12]=_,t[13]=y,t[14]=x,t[15]=S):S=t[15];let C=d?`grid-rows-[1fr] opacity-100`:`grid-rows-[0fr] opacity-0`,w;t[16]===C?w=t[17]:(w=P(`grid transition-[grid-template-rows,opacity] duration-200 ease-out motion-reduce:transition-none`,C),t[16]=C,t[17]=w);let T;t[18]===a?T=t[19]:(T=a?(0,$.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:a}):null,t[18]=a,t[19]=T);let E;t[20]!==o||t[21]!==T?(E=(0,$.jsx)(`div`,{className:`overflow-hidden`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-4 px-4 pb-4 pt-1`,children:[T,o]})}),t[20]=o,t[21]=T,t[22]=E):E=t[22];let D;t[23]!==w||t[24]!==E?(D=(0,$.jsx)(`div`,{className:w,children:E}),t[23]=w,t[24]=E,t[25]=D):D=t[25];let O;t[26]!==S||t[27]!==D||t[28]!==p?(O=(0,$.jsxs)(`section`,{className:p,children:[S,D]}),t[26]=S,t[27]=D,t[28]=p,t[29]=O):O=t[29];let k=O;if(u){let e;return t[30]===k?e=t[31]:(e=(0,$.jsx)(we,{children:k}),t[30]=k,t[31]=e),e}return k}function Ue(e){return!e}function We(e){let t=(0,Q.c)(40),{open:n,title:r,intro:i,bullets:a,checkboxLabel:o,confirmLabel:s,cancelLabel:c,onConfirm:l,onCancel:g}=e,[_,v]=(0,Z.useState)(!1),y;t[0]===g?y=t[1]:(y=e=>{e||(v(!1),g())},t[0]=g,t[1]=y);let b;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(u,{className:P(`xopc-dialog-overlay fixed inset-0 bg-scrim backdrop-blur-[1px]`,B)}),t[2]=b):b=t[2];let x;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(x=P(`xopc-dialog-content fixed left-1/2 top-1/2 max-h-[min(90vh,40rem)] w-[min(100%-2rem,32rem)] -translate-x-1/2 -translate-y-1/2`,`overflow-y-auto rounded-2xl border border-edge bg-surface-overlay p-6 shadow-popover outline-none dark:border-edge`,z),t[3]=x):x=t[3];let S;t[4]===r?S=t[5]:(S=(0,$.jsx)(m,{className:`text-base font-semibold text-fg`,children:r}),t[4]=r,t[5]=S);let C;t[6]===i?C=t[7]:(C=(0,$.jsx)(d,{className:`mt-2 text-sm text-fg-muted`,children:i}),t[6]=i,t[7]=C);let w;t[8]===a?w=t[9]:(w=a.map(Ge),t[8]=a,t[9]=w);let T;t[10]===w?T=t[11]:(T=(0,$.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5 text-sm text-fg-muted`,children:w}),t[10]=w,t[11]=T);let E;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>v(e.target.checked),t[12]=E):E=t[12];let D;t[13]===_?D=t[14]:(D=(0,$.jsx)(`input`,{type:`checkbox`,className:`mt-0.5 size-4 shrink-0 rounded border-edge accent-accent`,checked:_,onChange:E}),t[13]=_,t[14]=D);let O;t[15]===o?O=t[16]:(O=(0,$.jsx)(`span`,{children:o}),t[15]=o,t[16]=O);let k;t[17]!==O||t[18]!==D?(k=(0,$.jsxs)(`label`,{className:`mt-5 flex cursor-pointer items-start gap-3 text-sm text-fg`,children:[D,O]}),t[17]=O,t[18]=D,t[19]=k):k=t[19];let A;t[20]!==c||t[21]!==g?(A=(0,$.jsx)(R,{type:`button`,variant:`secondary`,onClick:g,children:c}),t[20]=c,t[21]=g,t[22]=A):A=t[22];let j=!_,M;t[23]!==s||t[24]!==l||t[25]!==j?(M=(0,$.jsx)(R,{type:`button`,disabled:j,onClick:l,children:s}),t[23]=s,t[24]=l,t[25]=j,t[26]=M):M=t[26];let N;t[27]!==A||t[28]!==M?(N=(0,$.jsxs)(`div`,{className:`mt-6 flex justify-end gap-2`,children:[A,M]}),t[27]=A,t[28]=M,t[29]=N):N=t[29];let F;t[30]!==k||t[31]!==N||t[32]!==S||t[33]!==C||t[34]!==T?(F=(0,$.jsxs)(f,{children:[b,(0,$.jsxs)(p,{className:x,onOpenAutoFocus:Ke,children:[S,C,T,k,N]})]}),t[30]=k,t[31]=N,t[32]=S,t[33]=C,t[34]=T,t[35]=F):F=t[35];let I;return t[36]!==n||t[37]!==y||t[38]!==F?(I=(0,$.jsx)(h,{open:n,onOpenChange:y,children:F}),t[36]=n,t[37]=y,t[38]=F,t[39]=I):I=t[39],I}function Ge(e){return(0,$.jsx)(`li`,{children:e},e)}function Ke(e){return e.preventDefault()}function qe(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}var Je=[`preparing_frpc`,`registering`,`starting_frpc`];function Ye(e){return e?e===`reconnecting_frpc`?Je.indexOf(`starting_frpc`):Je.indexOf(e):-1}function Xe(e,t){if(t.state===`connected`)return`done`;let n=t.startProgress?.phase,r=Je.indexOf(e),i=Ye(n);return i<0?t.state===`connecting`||t.state===`reconnecting`?`active`:`pending`:r<i?`done`:r===i?`active`:`pending`}function Ze(e,t,n){let r=n.startProgress;return Xe(t,n)===`active`?t===`preparing_frpc`&&n.frpcDownload?n.frpcDownload.phase===`extracting`?e.frpcExtracting:n.frpcDownload.percent==null?e.frpcDownloading:e.frpcDownloadingPercent.replace(`{{percent}}`,String(n.frpcDownload.percent)):t===`registering`&&r?.publicUrl?e.stepRegisterDetail:t===`starting_frpc`?r?.phase===`reconnecting_frpc`?e.stepReconnectDetail:e.stepFrpcDetail:null:null}function Qe(e,t){switch(t){case`preparing_frpc`:return e.stepPrepareFrpc;case`registering`:return e.stepRegister;case`starting_frpc`:return e.stepFrpcLogin}}function $e(e){if(!e)return null;let t=Math.max(0,Math.floor((Date.now()-new Date(e).getTime())/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function et(e){let t=(0,Q.c)(31),{status:n,t:r}=e,[,i]=(0,Z.useState)(0),a;t[0]!==i||t[1]!==n.state?(a=()=>{if(n.state!==`connecting`&&n.state!==`reconnecting`)return;let e=window.setInterval(()=>i(tt),1e3);return()=>window.clearInterval(e)},t[0]=i,t[1]=n.state,t[2]=a):a=t[2];let o=n.startProgress?.startedAt,s;if(t[3]!==n.state||t[4]!==o?(s=[n.state,o],t[3]=n.state,t[4]=o,t[5]=s):s=t[5],(0,Z.useEffect)(a,s),!(n.state===`connecting`||n.state===`reconnecting`||n.state===`connected`&&n.startProgress))return null;let c,l,u,d,f;if(t[6]!==n||t[7]!==r){let e=$e(n.startProgress?.startedAt);c=!!n.publicUrl&&n.state!==`connected`&&n.startProgress?.phase!==`registering`,l=`mt-3 space-y-3 rounded-lg bg-surface-panel/80 p-3 shadow-surface`;let i;t[13]===r.startProgressTitle?i=t[14]:(i=(0,$.jsx)(`p`,{className:`text-xs font-medium text-fg`,children:r.startProgressTitle}),t[13]=r.startProgressTitle,t[14]=i);let a;t[15]===r.startProgressHint?a=t[16]:(a=(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:r.startProgressHint}),t[15]=r.startProgressHint,t[16]=a),t[17]!==i||t[18]!==a?(u=(0,$.jsxs)(`div`,{children:[i,a]}),t[17]=i,t[18]=a,t[19]=u):u=t[19];let o=Je.map(e=>{let t=Xe(e,n),i=Ze(r,e,n);return(0,$.jsxs)(`li`,{className:`flex gap-2 text-xs`,children:[(0,$.jsx)(`span`,{className:`mt-0.5 shrink-0 text-fg-subtle`,"aria-hidden":!0,children:t===`done`?(0,$.jsx)(_,{className:`size-3.5 text-emerald-600 dark:text-emerald-400`}):t===`active`?(0,$.jsx)(E,{className:`size-3.5 animate-spin text-accent`}):(0,$.jsx)(b,{className:`size-3.5`})}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:P(`font-medium`,t===`active`?`text-fg`:t===`done`?`text-fg-muted`:`text-fg-subtle`),children:Qe(r,e)}),i?(0,$.jsx)(`div`,{className:`mt-0.5 text-fg-muted`,children:i}):null,e===`preparing_frpc`&&t===`active`&&n.frpcDownload&&n.frpcDownload.phase===`downloading`?(0,$.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,$.jsx)(`div`,{className:`h-1.5 w-full overflow-hidden rounded-full bg-surface-panel`,children:(0,$.jsx)(`div`,{className:P(`h-full rounded-full bg-accent transition-[width] duration-300`,n.frpcDownload.percent==null&&`w-1/3 animate-pulse`),style:n.frpcDownload.percent==null?void 0:{width:`${n.frpcDownload.percent}%`}})}),n.frpcDownload.bytesReceived!=null&&n.frpcDownload.totalBytes?(0,$.jsxs)(`p`,{className:`text-fg-subtle`,children:[qe(n.frpcDownload.bytesReceived),` /`,` `,qe(n.frpcDownload.totalBytes)]}):null]}):null,e===`preparing_frpc`&&t===`active`&&n.frpcDownload?.url?(0,$.jsxs)(`p`,{className:`mt-2 text-fg-subtle`,children:[(0,$.jsxs)(`span`,{className:`font-sans`,children:[r.frpcDownloadingUrlLabel,`: `]}),(0,$.jsx)(`a`,{href:n.frpcDownload.url,target:`_blank`,rel:`noopener noreferrer`,className:`break-all font-mono text-[11px] text-accent hover:underline`,children:n.frpcDownload.url})]}):null]})]},e)});t[20]===o?d=t[21]:(d=(0,$.jsx)(`ol`,{className:`space-y-2`,children:o}),t[20]=o,t[21]=d),f=e&&n.startProgress?(0,$.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:r.startProgressElapsed.replace(`{{elapsed}}`,e)}):null,t[6]=n,t[7]=r,t[8]=c,t[9]=l,t[10]=u,t[11]=d,t[12]=f}else c=t[8],l=t[9],u=t[10],d=t[11],f=t[12];let p;t[22]!==c||t[23]!==r.publicUrlPendingNotice?(p=c?(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:r.publicUrlPendingNotice}):null,t[22]=c,t[23]=r.publicUrlPendingNotice,t[24]=p):p=t[24];let m;return t[25]!==l||t[26]!==u||t[27]!==d||t[28]!==f||t[29]!==p?(m=(0,$.jsxs)(`div`,{className:l,children:[u,d,f,p]}),t[25]=l,t[26]=u,t[27]=d,t[28]=f,t[29]=p,t[30]=m):m=t[30],m}function tt(e){return e+1}function nt(e,t){return t.state===`connected`?e.statusConnected:t.state===`error`?e.statusError:t.startProgress?.phase===`reconnecting_frpc`?e.statusReconnecting:t.startProgress?.phase===`starting_frpc`?e.statusStartingFrpc:t.startProgress?.phase===`registering`?e.statusRegistering:t.startProgress?.phase===`preparing_frpc`||t.frpcDownload?e.statusPreparingFrpc:t.state===`connecting`||t.state===`reconnecting`?e.statusConnecting:e.statusOff}function rt(e){return e.state===`connected`?`connected`:e.state===`error`?`error`:e.state===`connecting`||e.state===`reconnecting`||e.startProgress||e.frpcDownload?`progress`:`off`}function it(e){switch(e){case`connected`:return`bg-emerald-500/15 text-emerald-700 dark:text-emerald-400`;case`progress`:return`bg-amber-500/15 text-amber-700 dark:text-amber-400`;case`error`:return`bg-red-500/15 text-red-700 dark:text-red-400`;default:return`bg-surface-hover text-fg-muted`}}function at(e){if(!e)return`—`;let t=Date.now()-new Date(e).getTime();if(t<0)return`—`;let n=Math.floor(t/6e4);return n<60?`${n}m`:`${Math.floor(n/60)}h ${n%60}m`}function ot(e){let t=(0,Q.c)(69),{t:n,status:r,isLoading:i,statusErr:a,starting:o,stopping:s,showConsentExpired:c,copyLabels:l,startDisabled:u,startDisabledReason:d,stepLabel:f,onStart:p,onStop:m}=e,h=u!==void 0&&u,g;t[0]!==r.lastError||t[1]!==r.state?(g=r.state===`error`&&he(Error(r.lastError??``)),t[0]=r.lastError,t[1]=r.state,t[2]=g):g=t[2];let _=g,v,y,b,x,S,C,T;t[3]!==r||t[4]!==o?(T=rt(r),v=r.enabled||o,y=o||r.state===`connecting`||r.state===`reconnecting`||!!r.startProgress||!!r.frpcDownload,t[12]===Symbol.for(`react.memo_cache_sentinel`)?(C=P(le(),`space-y-4`),t[12]=C):C=t[12],S=`flex flex-wrap items-start justify-between gap-3`,x=`flex items-center gap-2`,b=P(`inline-flex items-center gap-1.5 rounded-full px-2.5 py-1 text-xs font-medium`,it(T)),t[3]=r,t[4]=o,t[5]=v,t[6]=y,t[7]=b,t[8]=x,t[9]=S,t[10]=C,t[11]=T):(v=t[5],y=t[6],b=t[7],x=t[8],S=t[9],C=t[10],T=t[11]);let D=T===`connected`&&`bg-emerald-500`,k=T===`progress`&&`bg-amber-500 animate-pulse`,A=T===`error`&&`bg-red-500`,j=T===`off`&&`bg-fg-subtle`,M;t[13]!==j||t[14]!==D||t[15]!==k||t[16]!==A?(M=P(`size-1.5 rounded-full`,D,k,A,j),t[13]=j,t[14]=D,t[15]=k,t[16]=A,t[17]=M):M=t[17];let F;t[18]===M?F=t[19]:(F=(0,$.jsx)(`span`,{className:M,"aria-hidden":!0}),t[18]=M,t[19]=F);let I;t[20]!==i||t[21]!==r||t[22]!==n?(I=i&&!r.enabled?(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`inline-block h-3 w-16 animate-pulse rounded-full bg-surface-hover/70 motion-reduce:animate-none`}):nt(n,r),t[20]=i,t[21]=r,t[22]=n,t[23]=I):I=t[23];let L;t[24]!==F||t[25]!==I||t[26]!==b?(L=(0,$.jsxs)(`span`,{className:b,children:[F,I]}),t[24]=F,t[25]=I,t[26]=b,t[27]=L):L=t[27];let z;t[28]!==r.connectedSince||t[29]!==r.state||t[30]!==n.uptime?(z=r.connectedSince&&r.state===`connected`?(0,$.jsxs)(`span`,{className:`text-xs text-fg-subtle`,children:[n.uptime,` `,at(r.connectedSince)]}):null,t[28]=r.connectedSince,t[29]=r.state,t[30]=n.uptime,t[31]=z):z=t[31];let B;t[32]!==L||t[33]!==z||t[34]!==x?(B=(0,$.jsxs)(`div`,{className:x,children:[L,z]}),t[32]=L,t[33]=z,t[34]=x,t[35]=B):B=t[35];let V;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(w,{className:`size-4 text-fg-subtle`,strokeWidth:1.75,"aria-hidden":!0}),t[36]=V):V=t[36];let H;t[37]!==B||t[38]!==S?(H=(0,$.jsxs)(`div`,{className:S,children:[B,V]}),t[37]=B,t[38]=S,t[39]=H):H=t[39];let U;t[40]===a?U=t[41]:(U=a?(0,$.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:a instanceof Error?a.message:String(a)}):null,t[40]=a,t[41]=U);let W;t[42]!==c||t[43]!==n.consentExpiredBanner?(W=c?(0,$.jsx)(`p`,{className:`rounded-lg bg-amber-500/10 px-3 py-2 text-xs text-fg-muted`,children:n.consentExpiredBanner}):null,t[42]=c,t[43]=n.consentExpiredBanner,t[44]=W):W=t[44];let G;t[45]!==_||t[46]!==n.recoverConnectionHint?(G=_?(0,$.jsx)(`p`,{role:`alert`,className:`text-sm text-fg-muted`,children:n.recoverConnectionHint}):null,t[45]=_,t[46]=n.recoverConnectionHint,t[47]=G):G=t[47];let K;t[48]!==v||t[49]!==l||t[50]!==p||t[51]!==m||t[52]!==_||t[53]!==y||t[54]!==r||t[55]!==h||t[56]!==d||t[57]!==o||t[58]!==f||t[59]!==s||t[60]!==n?(K=v?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[r.publicUrl?(0,$.jsx)(`div`,{className:`rounded-xl bg-surface-panel/80 p-3 shadow-surface`,children:(0,$.jsx)(ee,{label:n.publicUrlLabel,text:r.publicUrl,labels:l})}):null,y?(0,$.jsx)(et,{status:r,t:n}):null,r.lastError&&r.state===`error`?(0,$.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:r.lastError}):null,(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:r.enabled?(0,$.jsxs)(R,{type:`button`,variant:`secondary`,disabled:s,onClick:m,children:[s?(0,$.jsx)(E,{className:`size-4 animate-spin`}):null,n.stop]}):(0,$.jsxs)(R,{type:`button`,disabled:o,onClick:p,children:[o?(0,$.jsx)(E,{className:`size-4 animate-spin`}):(0,$.jsx)(O,{className:`size-4`}),_?n.recoverConnection:n.start]})})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[f?(0,$.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wide text-fg-subtle`,children:f}):null,(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-fg`,children:n.emptyStateTitle}),(0,$.jsx)(`p`,{className:`mt-1 text-sm leading-relaxed text-fg-muted`,children:n.emptyStateBody})]}),(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg bg-amber-500/10 px-3 py-2.5 text-xs text-fg-muted`,children:[(0,$.jsx)(N,{className:`mt-0.5 size-4 shrink-0 text-amber-600 dark:text-amber-400`}),(0,$.jsx)(`p`,{children:n.riskBannerBody})]}),h&&d?(0,$.jsx)(`p`,{className:`text-sm text-amber-800 dark:text-amber-200`,children:d}):null,(0,$.jsxs)(R,{type:`button`,disabled:o||h,onClick:p,className:`w-full sm:w-auto`,children:[o?(0,$.jsx)(E,{className:`size-4 animate-spin`}):(0,$.jsx)(O,{className:`size-4`}),_?n.recoverConnection:n.start]})]}),t[48]=v,t[49]=l,t[50]=p,t[51]=m,t[52]=_,t[53]=y,t[54]=r,t[55]=h,t[56]=d,t[57]=o,t[58]=f,t[59]=s,t[60]=n,t[61]=K):K=t[61];let q;return t[62]!==H||t[63]!==U||t[64]!==W||t[65]!==G||t[66]!==K||t[67]!==C?(q=(0,$.jsxs)(`section`,{className:C,children:[H,U,W,G,K]}),t[62]=H,t[63]=U,t[64]=W,t[65]=G,t[66]=K,t[67]=C,t[68]=q):q=t[68],q}var st={reconfiguring:!1};function ct(e){let t=(0,Q.c)(89),{t:n,brokerSecretReady:r,brokerSecretConfiguredInConfig:i,brokerSecretMaskedValue:a,brokerSecretDraft:o,savingBrokerSecret:s,authorizingBrokerSecret:c,brokerSecretAuthorizationUrl:l,brokerSecretNotice:u,copyFailedLabel:d,onDraftChange:f,onSave:p,onAuthorize:m,onClear:h,sectionRef:g}=e,v=(0,Z.useId)(),y=r,b=!y,[x,w]=(0,Z.useReducer)(U,st),{reconfiguring:D}=x,O;t[0]!==i||t[1]!==o||t[2]!==D?(O=i&&!D&&!o.trim(),t[0]=i,t[1]=o,t[2]=D,t[3]=O):O=t[3];let k=O,A;t[4]!==n.copied||t[5]!==n.copyKey||t[6]!==n.hideKey||t[7]!==n.showKey?(A={show:n.showKey,hide:n.hideKey,copy:n.copyKey,copied:n.copied},t[4]=n.copied,t[5]=n.copyKey,t[6]=n.hideKey,t[7]=n.showKey,t[8]=A):A=t[8];let j=A,M;t[9]===o?M=t[10]:(M=o.trim().length>0&&!K(o.trim()),t[9]=o,t[10]=M);let N=M,F;t[11]===f?F=t[12]:(F=()=>{w({type:`patch`,patch:{reconfiguring:!1}}),f(``)},t[11]=f,t[12]=F);let I=F,L=b&&`ring-1 ring-amber-500/30`,z;t[13]===L?z=t[14]:(z=P(L),t[13]=L,t[14]=z);let B=y?`bg-emerald-500/10 text-emerald-600 dark:text-emerald-400`:b?`bg-amber-500/10 text-amber-700 dark:text-amber-400`:`bg-surface-hover text-fg-muted`,V;t[15]===B?V=t[16]:(V=P(`flex size-9 shrink-0 items-center justify-center rounded-lg`,B),t[15]=B,t[16]=V);let H;t[17]===y?H=t[18]:(H=y?(0,$.jsx)(_,{className:`size-4`,strokeWidth:2,"aria-hidden":!0}):(0,$.jsx)(T,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),t[17]=y,t[18]=H);let W;t[19]!==V||t[20]!==H?(W=(0,$.jsx)(`span`,{className:V,children:H}),t[19]=V,t[20]=H,t[21]=W):W=t[21];let ee=y?n.brokerSecretReadyTitle:n.brokerSecretStepTitle,G;t[22]===ee?G=t[23]:(G=(0,$.jsx)(`p`,{className:`text-sm font-semibold text-fg`,children:ee}),t[22]=ee,t[23]=G);let q=y?n.brokerSecretReadyHint:n.brokerSecretHint,te;t[24]===q?te=t[25]:(te=(0,$.jsx)(`p`,{className:`mt-1 text-sm leading-relaxed text-fg-muted`,children:q}),t[24]=q,t[25]=te);let ne;t[26]!==b||t[27]!==n.brokerSecretMissingHint?(ne=b?(0,$.jsx)(`p`,{className:`mt-2 text-xs text-amber-800 dark:text-amber-200`,children:n.brokerSecretMissingHint}):null,t[26]=b,t[27]=n.brokerSecretMissingHint,t[28]=ne):ne=t[28];let J;t[29]!==G||t[30]!==te||t[31]!==ne?(J=(0,$.jsxs)(`div`,{children:[G,te,ne]}),t[29]=G,t[30]=te,t[31]=ne,t[32]=J):J=t[32];let re;t[33]!==c||t[34]!==b||t[35]!==m||t[36]!==D||t[37]!==s||t[38]!==n.brokerSecretAuthorize||t[39]!==n.brokerSecretAuthorizing||t[40]!==n.brokerSecretConsoleLink?(re=b||D?(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsxs)(R,{type:`button`,disabled:s||c,onClick:m,children:[c?(0,$.jsx)(E,{className:`size-4 animate-spin`}):null,c?n.brokerSecretAuthorizing:n.brokerSecretAuthorize]}),(0,$.jsxs)(`a`,{href:xe,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex w-fit items-center gap-1 text-xs font-medium text-accent-fg hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[n.brokerSecretConsoleLink,(0,$.jsx)(S,{className:`size-3`,"aria-hidden":!0})]})]}):null,t[33]=c,t[34]=b,t[35]=m,t[36]=D,t[37]=s,t[38]=n.brokerSecretAuthorize,t[39]=n.brokerSecretAuthorizing,t[40]=n.brokerSecretConsoleLink,t[41]=re):re=t[41];let ie;t[42]!==c||t[43]!==l||t[44]!==n.brokerSecretOpenAuthorization?(ie=c&&l?(0,$.jsxs)(`a`,{href:l,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex w-fit items-center gap-1 text-xs font-medium text-accent-fg hover:underline`,children:[n.brokerSecretOpenAuthorization,(0,$.jsx)(S,{className:`size-3`,"aria-hidden":!0})]}):null,t[42]=c,t[43]=l,t[44]=n.brokerSecretOpenAuthorization,t[45]=ie):ie=t[45];let ae;t[46]!==i||t[47]!==o||t[48]!==a||t[49]!==N||t[50]!==I||t[51]!==d||t[52]!==v||t[53]!==b||t[54]!==h||t[55]!==f||t[56]!==p||t[57]!==D||t[58]!==s||t[59]!==j||t[60]!==k||t[61]!==n.brokerSecretCancelReconfigure||t[62]!==n.brokerSecretClear||t[63]!==n.brokerSecretMaskedHelp||t[64]!==n.brokerSecretNotInConfigFile||t[65]!==n.brokerSecretPlaceholder||t[66]!==n.brokerSecretReconfigure||t[67]!==n.brokerSecretRevealFailed||t[68]!==n.brokerSecretSave||t[69]!==n.brokerSecretSaveAndContinue||t[70]!==n.brokerSecretTitle?(ae=k?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`label`,{className:`sr-only`,htmlFor:v,children:n.brokerSecretTitle}),(0,$.jsx)(C,{id:v,value:a,labels:j,reveal:lt,loadFailedLabel:d||n.brokerSecretRevealFailed,maskedHelp:n.brokerSecretMaskedHelp,notInConfigFile:n.brokerSecretNotInConfigFile,readOnly:!0}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsx)(R,{type:`button`,variant:`secondary`,disabled:s,onClick:()=>{w({type:`patch`,patch:{reconfiguring:!0}})},children:n.brokerSecretReconfigure}),(0,$.jsx)(R,{type:`button`,variant:`ghost`,disabled:s,onClick:h,children:n.brokerSecretClear})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`label`,{className:`sr-only`,htmlFor:v,children:n.brokerSecretTitle}),(0,$.jsx)(C,{id:v,value:o,onChange:f,placeholder:n.brokerSecretPlaceholder,labels:j,disabled:s}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsxs)(R,{type:`button`,disabled:s||!N,onClick:p,children:[s?(0,$.jsx)(E,{className:`size-4 animate-spin`}):null,b?n.brokerSecretSaveAndContinue:n.brokerSecretSave]}),i?(0,$.jsx)(R,{type:`button`,variant:`ghost`,disabled:s,onClick:h,children:n.brokerSecretClear}):null,D?(0,$.jsx)(R,{type:`button`,variant:`ghost`,disabled:s,onClick:I,children:n.brokerSecretCancelReconfigure}):null]})]}),t[46]=i,t[47]=o,t[48]=a,t[49]=N,t[50]=I,t[51]=d,t[52]=v,t[53]=b,t[54]=h,t[55]=f,t[56]=p,t[57]=D,t[58]=s,t[59]=j,t[60]=k,t[61]=n.brokerSecretCancelReconfigure,t[62]=n.brokerSecretClear,t[63]=n.brokerSecretMaskedHelp,t[64]=n.brokerSecretNotInConfigFile,t[65]=n.brokerSecretPlaceholder,t[66]=n.brokerSecretReconfigure,t[67]=n.brokerSecretRevealFailed,t[68]=n.brokerSecretSave,t[69]=n.brokerSecretSaveAndContinue,t[70]=n.brokerSecretTitle,t[71]=ae):ae=t[71];let oe;t[72]===u?oe=t[73]:(oe=u?(0,$.jsx)(`p`,{className:`text-xs text-emerald-700 dark:text-emerald-400`,children:u}):null,t[72]=u,t[73]=oe);let se;t[74]!==J||t[75]!==re||t[76]!==ie||t[77]!==ae||t[78]!==oe?(se=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-3`,children:[J,re,ie,ae,oe]}),t[74]=J,t[75]=re,t[76]=ie,t[77]=ae,t[78]=oe,t[79]=se):se=t[79];let ce;t[80]!==W||t[81]!==se?(ce=(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[W,se]}),t[80]=W,t[81]=se,t[82]=ce):ce=t[82];let Y;t[83]!==ce||t[84]!==z?(Y=(0,$.jsx)(ue,{className:z,children:ce}),t[83]=ce,t[84]=z,t[85]=Y):Y=t[85];let le;return t[86]!==g||t[87]!==Y?(le=(0,$.jsx)(`div`,{ref:g,id:`tunnel-broker-secret-setup`,children:Y}),t[86]=g,t[87]=Y,t[88]=le):le=t[88],le}function lt(){return ve().then(ut)}function ut(e){return e.registrationSecret??null}var dt={actionError:null,starting:!1,stopping:!1,savingAutoStart:!1,consentOpen:!1,autoStartConfirmOpen:!1,releaseConfirmOpen:!1,releasing:!1,brokerSecretDraft:``,savingBrokerSecret:!1,authorizingBrokerSecret:!1,brokerSecretAuthorizationUrl:null,brokerSecretNotice:null};function ft({embedded:e=!1}){let t=c(e=>e.language),n=l(t).tunnelSettings,r=!!s(e=>e.conversationId),[i,a]=(0,Z.useReducer)(U,dt),{actionError:o,starting:u,stopping:d,savingAutoStart:f,consentOpen:p,autoStartConfirmOpen:m,releaseConfirmOpen:h,releasing:g,brokerSecretDraft:_,savingBrokerSecret:v,authorizingBrokerSecret:y,brokerSecretAuthorizationUrl:b,brokerSecretNotice:x}=i,S=(0,Z.useRef)(null),{data:C}=L(r),{data:T,error:D,isLoading:O,mutate:k}=F(r?`tunnel-status`:null,_e,{refreshInterval:e=>u?1e3:e?.frpcDownload||e?.state===`connecting`||e?.state===`reconnecting`?2e3:6e4}),A=(0,Z.useMemo)(()=>{let e=C?.payload?.config;if(e&&typeof e==`object`&&!Array.isArray(e)){let t=e.tunnel;if(t&&typeof t==`object`&&!Array.isArray(t)&&t.autoStart===!0)return!0}return T?.config?.autoStart===!0},[C,T?.config?.autoStart]),j=(0,Z.useMemo)(()=>{let e=C?.payload?.config;if(e&&typeof e==`object`&&!Array.isArray(e)){let t=e.tunnel;if(t&&typeof t==`object`&&!Array.isArray(t)){let e=t.registrationSecret;if(typeof e==`string`)return e}}return``},[C]),M=K(j),N=T?.registrationSecret?.configured??M;(0,Z.useEffect)(()=>{let e=()=>{k()};return window.addEventListener(`tunnel-status`,e),()=>window.removeEventListener(`tunnel-status`,e)},[k]);let z=(0,Z.useMemo)(()=>[n.consentBullet1,n.consentBullet2,n.consentBullet3],[n.consentBullet1,n.consentBullet2,n.consentBullet3]),B=(0,Z.useCallback)(async()=>{a({type:`patch`,patch:{actionError:null}}),a({type:`patch`,patch:{starting:!0}});try{await be(T?.state===`error`&&he(Error(T.lastError??``))?{recoverActiveLease:!0}:void 0),await k(),I()}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}}),await k().catch(()=>{})}finally{a({type:`patch`,patch:{starting:!1}})}},[k,T]),V=(0,Z.useCallback)(()=>{if(!N){a({type:`patch`,patch:{actionError:n.brokerSecretRequiredBeforeStart}}),S.current?.scrollIntoView({behavior:`smooth`,block:`start`});return}if(T?.consentRequired){a({type:`patch`,patch:{consentOpen:!0}});return}B()},[N,T?.consentRequired,B,n.brokerSecretRequiredBeforeStart]),H=(0,Z.useCallback)(async()=>{a({type:`patch`,patch:{consentOpen:!1}}),a({type:`patch`,patch:{actionError:null}});try{await fe(),await Promise.all([k(),B()])}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}},[k,B]),ee=(0,Z.useCallback)(async()=>{a({type:`patch`,patch:{actionError:null}}),a({type:`patch`,patch:{stopping:!0}});try{await me(),await k(),I()}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}finally{a({type:`patch`,patch:{stopping:!1}})}},[k]),G=(0,Z.useCallback)(async e=>{a({type:`patch`,patch:{savingAutoStart:!0}}),a({type:`patch`,patch:{actionError:null}});try{await ye({autoStart:e}),I()}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}finally{a({type:`patch`,patch:{savingAutoStart:!1}})}},[]),J=(0,Z.useCallback)(()=>{if(A){G(!1);return}if(T?.consentRequired){a({type:`patch`,patch:{actionError:n.consentExpiredBanner}});return}if(!T?.canAutoStart){a({type:`patch`,patch:{actionError:n.autoStartHint}});return}a({type:`patch`,patch:{autoStartConfirmOpen:!0}})},[G,T?.canAutoStart,T?.consentRequired,n,A]),oe=(0,Z.useCallback)(async()=>{let e=_.trim();if(e){a({type:`patch`,patch:{savingBrokerSecret:!0,actionError:null,brokerSecretNotice:null}});try{await ye({registrationSecret:e}),a({type:`patch`,patch:{brokerSecretDraft:``,brokerSecretNotice:n.brokerSecretSaved}}),I(),await k(),a({type:`patch`,patch:{actionError:null}})}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}finally{a({type:`patch`,patch:{savingBrokerSecret:!1}})}}},[_,k,n.brokerSecretSaved]),se=(0,Z.useCallback)(async()=>{a({type:`patch`,patch:{savingBrokerSecret:!0,actionError:null,brokerSecretNotice:null}});try{await ye({registrationSecret:null}),a({type:`patch`,patch:{brokerSecretDraft:``,brokerSecretNotice:n.brokerSecretCleared}}),I(),await k()}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}finally{a({type:`patch`,patch:{savingBrokerSecret:!1}})}},[k,n.brokerSecretCleared]),ce=(0,Z.useCallback)(async()=>{let e=ie(),t=null,r=null;a({type:`patch`,patch:{authorizingBrokerSecret:!0,brokerSecretAuthorizationUrl:null,brokerSecretNotice:null,actionError:null}});try{for(t=(await q(`xopc-tunnel`)).sessionId;;){await new Promise(e=>window.setTimeout(e,1e3));let i=await ne(t);if(i.authUrl&&i.authUrl!==r&&(r=i.authUrl,a({type:`patch`,patch:{brokerSecretAuthorizationUrl:i.authUrl}}),await re(i.authUrl,e)),i.status===`failed`||i.status===`cancelled`)throw Error(i.error??i.message??`OAuth authorization failed`);if(i.status===`completed`){await ge(),await Promise.all([k(),I()]),a({type:`patch`,patch:{brokerSecretNotice:n.brokerSecretSaved,brokerSecretDraft:``}});return}}}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}finally{ae(e),t&&te(t).catch(()=>void 0),a({type:`patch`,patch:{authorizingBrokerSecret:!1,brokerSecretAuthorizationUrl:null}})}},[k,n.brokerSecretSaved]),Y=(0,Z.useCallback)(async()=>{a({type:`patch`,patch:{releaseConfirmOpen:!1,actionError:null,releasing:!0}});try{await me({release:!0}),await k(),I()}catch(e){a({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}finally{a({type:`patch`,patch:{releasing:!1}})}},[k]),le=(0,Z.useMemo)(()=>({copy:n.copyUrl,copied:n.copied,copyFailed:l(t).clipboard.copyFailed}),[t,n.copyUrl,n.copied]);if(!r)return(0,$.jsx)(`div`,{className:e?void 0:`w-full px-3 py-8 sm:px-5 xl:px-6`,children:(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.needToken})});let X=T??{enabled:!1,state:`disconnected`,subdomain:null,publicUrl:null,connectedSince:null,frpcPid:null,lastHeartbeatAt:null,lastError:null,consentRequired:!0,config:{autoStart:A,brokerUrl:`https://frp.xopc.ai/api`}},pe=T?.consentRequired&&(X.enabled||A||T?.consent?.acceptedAt),ve=(0,$.jsx)(ct,{t:n,brokerSecretReady:N,brokerSecretConfiguredInConfig:M,brokerSecretMaskedValue:M?j:``,brokerSecretDraft:_,savingBrokerSecret:v,authorizingBrokerSecret:y,brokerSecretAuthorizationUrl:b,brokerSecretNotice:x,copyFailedLabel:l(t).clipboard.copyFailed,onDraftChange:e=>a({type:`patch`,patch:{brokerSecretDraft:e}}),onSave:()=>void oe(),onAuthorize:()=>void ce(),onClear:()=>void se(),sectionRef:S}),xe=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(We,{open:p,title:n.consentTitle,intro:n.consentIntro,bullets:z,checkboxLabel:n.consentCheckbox,confirmLabel:pe?n.consentReconfirm:n.consentConfirm,cancelLabel:n.consentCancel,onConfirm:()=>void H(),onCancel:()=>a({type:`patch`,patch:{consentOpen:!1}})},p?`consent-open`:`consent-closed`),(0,$.jsx)(W,{open:m,title:n.autoStartConfirmTitle,description:n.autoStartConfirmBody,confirmLabel:n.autoStartConfirmLabel,cancelLabel:n.consentCancel,onConfirm:()=>{a({type:`patch`,patch:{autoStartConfirmOpen:!1}}),G(!0)},onCancel:()=>a({type:`patch`,patch:{autoStartConfirmOpen:!1}})}),(0,$.jsx)(W,{open:h,title:n.releaseConfirmTitle,description:n.releaseConfirmBody,confirmLabel:n.releaseConfirmLabel,cancelLabel:n.consentCancel,destructive:!0,onConfirm:()=>void Y(),onCancel:()=>a({type:`patch`,patch:{releaseConfirmOpen:!1}})})]});return e?(0,$.jsxs)(`div`,{className:`flex w-full flex-col gap-4`,children:[o?(0,$.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:o}):null,ve,(0,$.jsx)(ot,{t:n,status:X,isLoading:O,statusErr:D,starting:u,stopping:d,showConsentExpired:!!pe,copyLabels:le,startDisabled:!N,startDisabledReason:N?void 0:n.brokerSecretRequiredBeforeStart,stepLabel:n.flowStepStart,onStart:V,onStop:()=>void ee()}),(0,$.jsxs)(He,{showLabel:n.showOptions,hideLabel:n.hideOptions,children:[(0,$.jsxs)(`label`,{className:P(`flex items-center gap-3 text-sm text-fg`,!A&&!T?.canAutoStart?`cursor-not-allowed opacity-60`:`cursor-pointer`),children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`size-4 rounded border-edge accent-accent`,checked:A,disabled:f||!A&&!T?.canAutoStart,onChange:J}),n.autoStart]}),!T?.canAutoStart&&!A?(0,$.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.autoStartHint}):null,X.subdomain||X.publicUrl?(0,$.jsxs)(`div`,{className:`space-y-2 rounded-xl bg-surface-base/45 p-4`,children:[(0,$.jsxs)(R,{type:`button`,variant:`secondary`,disabled:g||d,className:`border-danger/40 text-danger hover:bg-danger/10`,onClick:()=>a({type:`patch`,patch:{releaseConfirmOpen:!0}}),children:[g?(0,$.jsx)(E,{className:`size-4 animate-spin`}):null,n.release]}),(0,$.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.releaseHint})]}):null]}),(0,$.jsx)(He,{showLabel:n.showAdvanced,hideLabel:n.hideAdvanced,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-xl bg-surface-base/45 p-4 text-xs text-fg-subtle`,children:[(0,$.jsxs)(`p`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(w,{className:`mt-0.5 size-4 shrink-0 text-accent`}),(0,$.jsx)(`span`,{children:n.brokerNote})]}),(0,$.jsx)(de,{language:t,label:n.brokerDocsLink,section:`public-tunnel`,className:`text-xs`})]})}),xe]}):(0,$.jsxs)(`div`,{className:e?`flex w-full flex-col gap-6`:`flex w-full flex-col gap-6 px-3 py-8 sm:px-5 xl:px-6`,children:[e?null:(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:n.subtitle})]}),o?(0,$.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:o}):null,ve,(0,$.jsx)(ot,{t:n,status:X,isLoading:O,statusErr:D,starting:u,stopping:d,showConsentExpired:!!pe,copyLabels:le,startDisabled:!N,startDisabledReason:N?void 0:n.brokerSecretRequiredBeforeStart,onStart:V,onStop:()=>void ee()}),X.subdomain||X.publicUrl?(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(0,$.jsxs)(R,{type:`button`,variant:`secondary`,disabled:g||d,className:`border-danger/40 text-danger hover:bg-danger/10`,onClick:()=>a({type:`patch`,patch:{releaseConfirmOpen:!0}}),children:[g?(0,$.jsx)(E,{className:`size-4 animate-spin`}):null,n.release]})}):null,X.subdomain||X.publicUrl?(0,$.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.releaseHint}):null,(0,$.jsxs)(ue,{children:[(0,$.jsx)(`h2`,{className:`mb-3 text-sm font-semibold text-fg`,children:n.optionsTitle}),(0,$.jsxs)(`label`,{className:P(`flex items-center gap-3 text-sm text-fg`,!A&&!T?.canAutoStart?`cursor-not-allowed opacity-60`:`cursor-pointer`),children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`size-4 rounded border-edge accent-accent`,checked:A,disabled:f||!A&&!T?.canAutoStart,onChange:J}),n.autoStart]}),!T?.canAutoStart&&!A?(0,$.jsx)(`p`,{className:`mt-2 text-xs text-fg-subtle`,children:n.autoStartHint}):null]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg bg-surface-panel/80 px-3 py-2 text-xs text-fg-subtle shadow-surface`,children:[(0,$.jsxs)(`p`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(w,{className:`mt-0.5 size-4 shrink-0 text-accent`}),(0,$.jsx)(`span`,{children:n.brokerNote})]}),(0,$.jsx)(de,{language:t,label:n.brokerDocsLink,section:`public-tunnel`,className:`text-xs`})]}),xe]})}function pt(e,t){return e.tabs[t]}function mt(e,t){return e.tabIntro[t]}function ht(e){switch(e){case`tailscale`:return`tailscale-serve`;case`public`:return`public-tunnel`;case`reverse-proxy`:return`reverse-proxy`;case`ssh`:return`ssh-tunnel`;case`lan`:return`lan`;default:return}}function gt(e){let t=(0,Q.c)(7),{tab:n,onOpenTab:r}=e;switch(n){case`guide`:{let e;return t[0]===r?e=t[1]:(e=(0,$.jsx)(je,{onOpenTab:r}),t[0]=r,t[1]=e),e}case`tailscale`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(pe,{embedded:!0}),t[2]=e):e=t[2],e}case`public`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(ft,{embedded:!0}),t[3]=e):e=t[3],e}case`reverse-proxy`:{let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Ce,{}),t[4]=e):e=t[4],e}case`ssh`:{let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(ze,{}),t[5]=e):e=t[5],e}case`lan`:{let e;return t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Fe,{}),t[6]=e):e=t[6],e}}}function _t(){let e=(0,Q.c)(3),t=o(),n=c(yt),r=l(n).remoteAccess,a=!!s(vt),[u,d]=i(),f=G(),p=Ve(u.get(`tab`)),m=u.get(`intent`)===`mobile-pairing`,h;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(h={refreshInterval:2e3},e[0]=h):h=e[0];let _=F(m?`device-pairing-readiness`:null,X,h),v;e[1]===d?v=e[2]:(v=e=>{d(t=>{let n=new URLSearchParams(t);return e===`guide`?n.delete(`tab`):n.set(`tab`,e),n},{replace:!0})},e[1]=d,e[2]=v);let y=v,b=mt(r,p),x=Be.filter(e=>f||e!==`ssh`&&e!==`reverse-proxy`||e===p).map(e=>({id:e,label:pt(r,e)}));return(0,$.jsxs)(oe,{children:[(0,$.jsx)(se,{title:r.pageTitle,meta:(0,$.jsx)(de,{language:n,label:r.docsLink,section:ht(p),className:`mt-1`})}),a?(0,$.jsxs)($.Fragment,{children:[m?(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-xl bg-accent-soft px-4 py-3`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,$.jsx)(j,{className:`mt-0.5 size-5 shrink-0 text-accent`,"aria-hidden":!0}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:r.mobilePairingFlow.title}),(0,$.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:_.data?.ready?r.mobilePairingFlow.ready:r.mobilePairingFlow.hint})]})]}),(0,$.jsxs)(R,{variant:`primary`,disabled:!_.data?.ready,onClick:()=>t(`/settings/devices?startDevicePairing=mobile`),children:[_.data?.ready?r.mobilePairingFlow.continue:r.mobilePairingFlow.waiting,(0,$.jsx)(g,{className:`size-4`,"aria-hidden":!0})]})]}):null,(0,$.jsx)(H,{items:x,activeTab:p,onChange:y,ariaLabel:r.tabsAria,tabIdPrefix:`remote-access-tab`,panelIdPrefix:`remote-access-panel`}),(0,$.jsx)(ce,{id:p,activeTab:p,tabIdPrefix:`remote-access-tab`,panelIdPrefix:`remote-access-panel`,title:pt(r,p),hint:p===`public`?void 0:b,showHeading:!1,framed:!1,children:(0,$.jsx)(gt,{tab:p,onOpenTab:y})})]}):(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:r.guide.needToken})]})}function vt(e){return e.conversationId}function yt(e){return e.language}export{_t as RemoteAccessHub};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./vendor-react-BOUWij0V.js";import{t as n}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{n as r}from"./locale-store-
|
|
1
|
+
import{n as e,t}from"./vendor-react-BOUWij0V.js";import{t as n}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{n as r}from"./locale-store-Br7IfbXK.js";var i=e(),a=t();function o(e){let t=(0,i.c)(18),{kind:o,missing:c,backTo:l,retry:u}=e,d=c===void 0||c,f=r(s)===`zh`,p;if(t[0]!==o||t[1]!==d||t[2]!==f){let e=f?{project:`项目`,app:`应用`,plugin:`插件`,"plugin-page":`插件页面`,"plugin-settings":`插件设置`,desktop:`桌面功能`}:{project:`Project`,app:`App`,plugin:`Plugin`,"plugin-page":`Plugin page`,"plugin-settings":`Plugin settings`,desktop:`Desktop feature`};p=o===`desktop`?f?`此功能需要 xopc 桌面版`:`This feature requires xopc desktop`:o===`plugin-page`||o===`plugin-settings`?f?`此插件未提供${o===`plugin-page`?`独立页面`:`设置页面`}`:`This plugin does not provide a ${o===`plugin-page`?`standalone page`:`settings page`}`:d?f?`找不到${e[o]}`:`${e[o]} not found`:f?`暂时无法加载${e[o]}`:`Unable to load ${e[o].toLowerCase()}`,t[0]=o,t[1]=d,t[2]=f,t[3]=p}else p=t[3];let m=p,h;t[4]===m?h=t[5]:(h=(0,a.jsx)(`h2`,{className:`text-base font-semibold text-fg`,children:m}),t[4]=m,t[5]=h);let g=l===`/`?f?`返回工作台`:`Back to work`:l.startsWith(`/settings/`)?f?`返回设置`:`Back to settings`:f?`返回列表`:`Back to list`,_;t[6]!==l||t[7]!==g?(_=(0,a.jsx)(n,{className:`text-accent hover:underline`,to:l,children:g}),t[6]=l,t[7]=g,t[8]=_):_=t[8];let v;t[9]!==u||t[10]!==f?(v=u?(0,a.jsx)(`button`,{className:`text-accent hover:underline`,onClick:u,children:f?`重试`:`Retry`}):null,t[9]=u,t[10]=f,t[11]=v):v=t[11];let y;t[12]!==_||t[13]!==v?(y=(0,a.jsxs)(`div`,{className:`flex gap-4 text-sm`,children:[_,v]}),t[12]=_,t[13]=v,t[14]=y):y=t[14];let b;return t[15]!==h||t[16]!==y?(b=(0,a.jsxs)(`section`,{className:`mx-auto my-8 w-full max-w-xl space-y-3 rounded-xl border border-edge bg-surface-panel p-6`,role:`status`,children:[h,y]}),t[15]=h,t[16]=y,t[17]=b):b=t[17],b}function s(e){return e.language}export{o as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sessions-page-CyBj1Xw2.js","assets/rolldown-runtime-aKtaBQYM.js","assets/vendor-react-BOUWij0V.js","assets/chunk-KS7C4IRE-CiwuuyV8.js","assets/preload-helper-Czpn1I53.js","assets/locale-store-Br7IfbXK.js","assets/messages-ByFlEbsu.js","assets/dist-BGTk37IG.js","assets/es2015-DBLcMg5B.js","assets/dist-CxGUk8J-.js","assets/session-identity-label-B7sgG1PE.js","assets/createLucideIcon-DPHK1VkS.js","assets/session-channel-icon-SsY70Z6t.js","assets/clock-3-DnrAnuyZ.js","assets/git-branch-Dh9uxTot.js","assets/message-circle-Badhj-4D.js","assets/message-square-fVE7Ghj1.js","assets/plug-DKYPEgkR.js","assets/settings-2-D-csvaET.js","assets/terminal-oKqqZdiG.js","assets/cn-0WouolD0.js","assets/bundle-mjs-rHxsej31.js","assets/schemas-CCWMleym.js","assets/archive-Dz0hferG.js","assets/popover-select-CEMWIrtY.js","assets/check-DUBLcKHA.js","assets/skeleton-BI5TyibZ.js","assets/dist-GJ8-1PAx.js","assets/dist-BuHnPloF.js","assets/floating-ui.dom-seOukHzT.js","assets/settings-shell-dialog-layer-BU3UuiJr.js","assets/circle-BoO4YvTx.js","assets/coins-DjP27vUx.js","assets/database-CjjeZfRG.js","assets/download-Dk-ZjtO6.js","assets/folder-open-CyzJ19I9.js","assets/layers-mJW7JJKm.js","assets/layout-grid-CEVZdVFU.js","assets/minimize-2-DtOGrlpo.js","assets/pin-off-BMRv-Kxr.js","assets/plus-Q2yW6OE7.js","assets/search-DA7gz22f.js","assets/settings-uiTATseT.js","assets/trash-2-DusmjVPV.js","assets/x-B_N4OPjy.js","assets/session-api-Bs3r_d2_.js","assets/gateway-startup-retry-CvkJYurV.js","assets/vendor-swr-CdRzEUwF.js","assets/gateway-config-swr-BOCt_zOo.js","assets/chat-agents-api-D8YS5amE.js","assets/registry-api-DFDvOTg4.js","assets/button-Cc4hUNTt.js","assets/interaction-BdhHBbYa.js","assets/form-field-width-DJw_jULe.js","assets/page-tabs-oeTY7z3_.js","assets/sliding-indicator-hwz0sx3h.js","assets/agent-avatar-display-6Z4m31Fz.js","assets/loopi-CNtmi9FU.js","assets/loopi-C09I2mNj.css","assets/sliding-tab-list-DuQyViqe.js","assets/settings-form-draft-Dy10ldo8.js","assets/model-selector-DCBmsHzj.js","assets/open-capability-settings-Cvb65hQB.js","assets/segmented-styles-Cqb91xsn.js","assets/settings-advanced-section-DwpPPxT0.js","assets/settings-mode-store-CiRpsdTJ.js","assets/middleware-Pd0e8Igk.js","assets/number-input-El7Szeln.js","assets/settings-page-header-BZl4AMiN.js","assets/external-link-DjqjBmc3.js","assets/sparkles-DHlfQFAF.js","assets/settings-page-layout-onhEgq-K.js","assets/settings-form-section-num14vSv.js","assets/pencil-DmIY3Oa-.js","assets/use-autosave-YHxQ-UZg.js","assets/circle-alert-BEjgurr2.js","assets/loader-circle-CifKLtgG.js","assets/settings-advanced-gate-BI4DMz4_.js","assets/usage-page-anU5gslJ.js","assets/bot-DjLkhyZL.js","assets/gauge-C78eD2BA.js","assets/refresh-cw-BRlGaq2w.js","assets/timer-rCwGHjuO.js","assets/xopc-cloud-account-card-DC9aG7Pl.js","assets/cloud-C4-yfnnk.js","assets/triangle-alert-2JXFNNKU.js","assets/cloud-credits-B-nbtkqv.js","assets/automations-page-DMIyWsP0.js","assets/automations-workspace-DEkDjxeU.js","assets/activity-YogQEteU.js","assets/calendar-clock-D-quYVPe.js","assets/chevron-down-ccbiQQz_.js","assets/chevron-right-BweFrslA.js","assets/circle-check-C23XjkUj.js","assets/copy-Dv6d4Dvw.js","assets/ellipsis-0k4rZLoy.js","assets/eye-CABVeTq0.js","assets/list-filter-CIPvpfLA.js","assets/list-tree-B0OMswgM.js","assets/markdown-view-Ck5s16p9.js","assets/file-image-CDUPkZvG.js","assets/app-link-DRy3-k7j.js","assets/product-delivery-DRyD9_Xq.js","assets/local-apps-Ck6kACsY.js","assets/copy-to-clipboard-HOJ79TWv.js","assets/xml-_d7dTN2Q.js","assets/mermaid-render-oOellPHt.js","assets/markdown-view-C-DHb3Io.css","assets/pause-DuPxgSxk.js","assets/play-kxZvpBg8.js","assets/shield-check-BU58siTV.js","assets/square-pen-B8FsvqNu.js","assets/zap-dximCGjy.js","assets/api-C3Tp9MkF.js","assets/tasks-DRmd6sWt.js","assets/specialists-xbB3xL9e.js","assets/files-BNL4kkSB.js","assets/session-manager-Bnq3qpqy.js","assets/constants-DBtMsXdW.js","assets/local-session-drafts-BJ1B1dQ7.js","assets/tool-activity-BtJkgjFf.js","assets/personal-proactivity-DaRnbB1f.js","assets/attachment-utils-core-BIOUBrpT.js","assets/gateway-realtime-BL_Cf0OQ.js","assets/gateway-realtime-store-BHBOPF_q.js","assets/agents-admin-api-u5c3GREg.js","assets/page-header-store-Du44NIEJ.js","assets/refresh-button-DiWdGAaX.js","assets/dist-ZrL34Ps4.js","assets/automation-task-card-Bur78p68.js","assets/date-picker-BIfjfOTM.js","assets/calendar-days-hw_Y-g-s.js","assets/chevron-left-DqFhpbvK.js","assets/automation-api-hRsGx-qe.js","assets/agent-display-names-Bje7vfSn.js","assets/automation-result-state-CMfVTv_i.js","assets/browser-automation-inputs-Fxo7HbK6.js","assets/browser-automations-page-Dn3LN5wo.js","assets/circle-pause-CN9jYH2s.js","assets/video-B6V0GFss.js","assets/earth-BMhZtzcj.js","assets/puzzle-BptcPjKI.js","assets/square-DMK_fB-3.js","assets/browser-control-api-CbbPvhHR.js","assets/home-page-B3sgqrl3.js","assets/history-DXH_9jsE.js","assets/paperclip-f1HujQY1.js","assets/use-composer-attachments-DYY3Yz4a.js","assets/file-BqMS_3DT.js","assets/use-file-preview-expanded-CYgWzDnv.js","assets/app-window-DXFNqt_0.js","assets/link-2-D_ZKYUW7.js","assets/message-square-plus-XP0tGdlV.js","assets/rotate-cw-LIg3Am9S.js","assets/save-DRDABU--.js","assets/activity-store-D_DXNHba.js","assets/app-chrome-BeB4KgOf.js","assets/electron-env-DHOGevH3.js","assets/use-async-resource-BHFGZCY2.js","assets/index.module-Cd9ENXfk.js","assets/workspace-api-BdB4NEOh.js","assets/mic-CuUb7zc-.js","assets/share-link-dialog-DA0QuFOD.js","assets/globe-DSSGFWFn.js","assets/copy-text-row-CpiRzq4G.js","assets/capabilities-Bo2qEJhH.js","assets/capabilities-BEvywfF9.js","assets/file-preview-surface-DfkXvFnc.js","assets/phone-workspace-store-SN7hfddU.js","assets/shares-api-D8Q-m46d.js","assets/skill-wire-pattern-BPpeIcCi.js","assets/composer-payload-handoff-BQXlFKf4.js","assets/rotate-ccw-JM1TBLpp.js","assets/voice-transcribe-api-Dy4hfftb.js","assets/workspace-editor-agent-store-4cZ26iaD.js","assets/voice-input-shortcut-events-DFMNIyy4.js","assets/date-formatters-DukWSVwc.js","assets/tab-completion-input-CxtEp0aP.js","assets/task-result-evidence-DKygspo2.js","assets/file-text-D12HbeVy.js","assets/task-detail-page-CS9m7Ipo.js","assets/chat-page-D92AWJbh.js","assets/arrow-left-D880xG-P.js","assets/arrow-up-D5ZtR1QT.js","assets/product-automation-feedback-BPur0vyo.js","assets/notes-api-8kp0X1x6.js","assets/chat-chart-block-B39npsXj.js","assets/volume-2-BSJhAY97.js","assets/book-open-CCGtrT3R.js","assets/working-directory-picker-modal-GFwVefVA.js","assets/file-archive-DanfQJNe.js","assets/send-1f1Ntw6E.js","assets/circle-x-DFsCKeya.js","assets/file-tree-utils-DJs1faGv.js","assets/folder-kanban-CpLlFI1o.js","assets/folder-CN-pC3XL.js","assets/key-round-DWbpyU2U.js","assets/laptop-CI3hBVrl.js","assets/list-checks-BbsExAoq.js","assets/list-todo-CTVRto8O.js","assets/messages-square-BckAJrEW.js","assets/monitor-Af5eAvF7.js","assets/install-connector-dialog-DWVl9ekV.js","assets/secret-input-Dryrns2s.js","assets/is-masked-secret-DOkL5b_X.js","assets/connectors-api-DEJU8mgn.js","assets/oauth-provider-connect-CfOK8mPM.js","assets/models-hub-cache-Bd-fYUrV.js","assets/oauth-api-DMMdeaNd.js","assets/smartphone-DSSsQFqA.js","assets/wrench-DFb4r8bH.js","assets/new-session-preferences-gb411vZP.js","assets/extension-provider-fOi6V6Cr.js","assets/theme-store-Dlnmgryi.js","assets/chunk-D32TOXHM-DQIy-Baq.js","assets/tool-friendly-title-DcCc6g7o.js","assets/voice-call-context-BM2A4bLz.js","assets/use-directory-picker-C4p7AgWY.js","assets/confirm-dialog-D7dQJytv.js","assets/command-palette-api-Dijix7V6.js","assets/skill-list-api-BzKzG-xG.js","assets/skill-api-utils-C7V4JVXM.js","assets/dev-view-store-CeZZLOc6.js","assets/extension-iframe-host-DaL-OcTw.js","assets/api-CRT9ZyH0.js","assets/runtime-health-D2TDFLLq.js","assets/terminal-panel-store-DJVC7HqA.js","assets/agents-app-path-ciChvpCS.js","assets/use-media-query-ady-FgjK.js","assets/oauth-authorization-window-o6URRos4.js","assets/page-context-draft-LF33STHC.js","assets/side-chat-shortcut-BIw-1TTD.js","assets/chat-page-zQeUaawJ.css","assets/page-context-capture-button-CKlKWSJ7.js","assets/dependency-picker-XjPB8FJS.js","assets/projects-page-BGy1pw9a.js","assets/arrow-right-DSSvoX71.js","assets/project-understanding-DLvxAoTT.js","assets/project-detail-page-D9nnyvrI.js","assets/resource-unavailable-TQcRCpAg.js","assets/discussion-annotation-sync-BXqNuZnx.js","assets/workspace-open-location-menu-Dcij7wvJ.js","assets/file-tree-CFlZnV3Y.js","assets/image-Cwyalflz.js","assets/lock-keyhole-DEK5kH0u.js","assets/panel-left-C8MqSXRZ.js","assets/sticky-note-fzP7NAJq.js","assets/store-SzD1Jvgm.js","assets/upload-rrb46c3c.js","assets/user-round-C9jxPhMR.js","assets/workspace-file-preview-dialog-NRL3YRjg.js","assets/with-selector-xonYxPoM.js","assets/directory-picker-path-field-DiZXY7jF.js","assets/skill-api-uKU4sRiv.js","assets/skill-reload-api-DkUXekcd.js","assets/note-detail-panel-CnuxqWMd.js","assets/code-xml-DJtYhZUF.js","assets/note-image-lightbox-BFKZ7qJr.js","assets/project-detail-page-DLioOiRN.css","assets/notes-page-XMdy-H3H.js","assets/recording-upload-CHFJbqW1.js","assets/star-BUWJqJ5c.js","assets/capabilities-page-BCzsIzvC.js","assets/product-navigation-Co8pLbDP.js","assets/capability-links-DzQWK1Fh.js","assets/capability-header-actions-BxMYfQ8y.js","assets/user-model-page-DIgPL3tN.js","assets/understanding-refresh-store-BvCj9-Ue.js","assets/briefcase-business-BsoCaI_t.js","assets/understanding-activity-store-C4bblRnQ.js","assets/sliders-horizontal-DqsYor6I.js","assets/logs-page-qiXos_12.js","assets/clipboard-copy-DuJk5WD6.js","assets/settings-page-Cd8Ermnn.js","assets/browser-settings-page-Cpm9fEPV.js","assets/cpu-B247669f.js","assets/info-CDrmIZhb.js","assets/plug-zap-L8NMe3Sv.js","assets/settings-loading-skeleton-BTqvr_Fw.js","assets/phone-settings-page-0u0GQl_R.js","assets/beta-badge-BnzdzIEl.js","assets/global-defaults-api-BWMbKu72.js","assets/phone-model-picker-DuZc5jYO.js","assets/phone-dependencies-card-CDhk5277.js","assets/runtime-tools-api-9o3Wfji1.js","assets/phone-model-connection-DZ-ZunPz.js","assets/providers-api-DOnNfkwQ.js","assets/mobile-pair-qr-CuIbmw5x.js","assets/browser-BLJWD7WI.js","assets/computer-settings-page-MkqyKyf3.js","assets/mouse-pointer-2-DZ51Onvj.js","assets/extension-page-DvlGhZLa.js","assets/extension-settings-page-DOGlQpkx.js","assets/voice-config-api-CrULrSKC.js","assets/voice-api-key-field-BUes-Jlp.js","assets/schema-form-C-jw6Hid.js","assets/secret-input-labels-B5Jl5HqK.js","assets/extension-debug-page-myQqsol2.js","assets/share-preview-page-YDpIY4dC.js","assets/local-apps-page-D6D2bZGW.js","assets/box-DvYoGszj.js","assets/local-app-workbench-page-B3h3P6aI.js","assets/power-off-CwwQ7Gp7.js","assets/power-ZI-pBczI.js","assets/product-open-page-Bfd7R483.js","assets/open-route-MyZ2sB9C.js","assets/work-discovery-page-BnYaVH3V.js","assets/service-recommendation-list-CNghOavt.js","assets/package-wATCyihJ.js","assets/agent-plugin-dialog-m1A8wF9p.js","assets/capability-icon-DVoZxEgW.js","assets/extension-marketplace-api-DRBszrCR.js","assets/work-discovery-overlay-CFF4cRFl.js","assets/brand-logo-CgT9zQfr.js","assets/setup-status-panel-D4qgE7QM.js","assets/stethoscope-DRqTAtjD.js","assets/appearance-settings-9ZtqCASo.js","assets/preference-select-fields-BKeHZLXZ.js","assets/keyboard-shortcuts-settings-Doyu0Q9e.js","assets/personal-settings-panel-wKdlrfPq.js","assets/use-personal-profile-D2Un8G1L.js","assets/system-settings-panel-BN6sUX0H.js","assets/browser-notification-delivery-DmE2FgGc.js","assets/shield-B1sI_cxl.js","assets/desktop-pet-settings-BDjsFown.js","assets/wand-sparkles-CkSL-3Fy.js","assets/desktop-pet-sprite-D5YYq2zC.js","assets/desktop-pet-sprite-BuB0g8zv.css","assets/app-management-settings-panel-XqoIBF2H.js","assets/capabilities-settings-panel-Cr67ziwX.js","assets/arrow-up-right-T72JbQ1Q.js","assets/connected-providers-grid-BSvKP2u-.js","assets/navigation-D62kPsA9.js","assets/image-generation-api-Ce-IY7Ug.js","assets/gateway-settings-Di41peSM.js","assets/network-BUQLY1BV.js","assets/gateway-restart-CHf8qY7H.js","assets/runtime-tools-settings-panel-ccVBG-bZ.js","assets/remote-access-hub-BVqwnOqO.js","assets/server-BlHCBjiE.js","assets/tunnel-api-B7nx0NQJ.js","assets/shares-settings-DUvjOMmA.js","assets/use-workspace-tree-Dkg9tUr4.js","assets/agent-defaults-settings-panel-D4ClP_DJ.js","assets/management-settings-C0WcSdK7.js","assets/shield-off-2jsucUds.js","assets/device-pairing-wizard-DH_uJ698.js","assets/panel-right-CFGrHTsD.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";var t=()=>e(()=>import(`./sessions-page-CyBj1Xw2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77])),n=()=>e(()=>import(`./usage-page-anU5gslJ.js`),__vite__mapDeps([78,1,2,3,4,5,6,79,11,24,25,20,21,26,27,8,9,28,29,30,75,32,33,80,81,82,47,51,59,55,68,69,70,71,83,84,85,86,22])),r=()=>e(()=>import(`./automations-page-DMIyWsP0.js`),__vite__mapDeps([87,2,1,88,4,3,5,6,7,8,9,89,11,90,25,91,92,24,20,21,26,27,28,29,30,75,93,94,95,96,14,97,98,99,34,100,40,44,101,102,22,103,104,105,106,107,15,108,73,109,81,41,110,70,111,43,112,113,114,115,116,117,118,45,46,119,120,121,122,123,124,50,125,48,47,49,51,126,59,55,127,128,61,18,62,52,53,129,13,130,131,132,133,134,135,136])),i=()=>e(()=>import(`./browser-automations-page-Dn3LN5wo.js`),__vite__mapDeps([137,1,2,3,4,5,6,79,11,24,25,20,21,26,27,8,9,28,29,30,138,139,13,140,76,73,109,141,142,43,44,51,126,143,136])),a=()=>e(()=>import(`./home-page-B3sgqrl3.js`),__vite__mapDeps([144,1,2,4,3,5,6,7,8,9,90,11,91,92,75,93,13,69,145,99,34,100,40,44,20,21,101,102,22,103,104,105,106,107,15,146,81,18,70,26,114,115,147,132,148,149,150,25,94,95,96,35,151,76,152,38,73,153,154,41,118,45,46,122,52,155,156,157,158,59,55,159,160,116,128,28,29,161,162,24,27,30,163,51,164,165,119,166,167,168,169,170,171,172,173,117,120,121,123,124,50,125,48,47,66,62,174,175,126,176,177,178,179])),o=()=>e(()=>import(`./task-detail-page-CS9m7Ipo.js`),__vite__mapDeps([180,1,2,3,4,5,6,7,8,9,181,11,150,23,182,183,184,89,79,93,138,13,69,185,99,34,100,40,44,20,21,101,102,22,103,104,105,106,107,186,25,94,26,76,16,108,109,172,153,70,85,187,112,47,51,133,188,91,92,189,190,52,53,60,24,27,28,29,30,75,191,192,31,193,33,140,95,148,179,194,35,195,149,96,151,152,38,146,73,81,154,41,118,45,46,122,155,156,157,158,59,55,159,160,116,128,14,163,145,196,197,198,199,200,161,201,202,203,204,205,48,206,84,207,50,208,18,42,110,209,142,43,162,164,210,114,115,113,117,119,120,121,123,124,125,211,212,165,213,66,147,132,166,167,168,169,170,49,171,173,62,174,175,214,215,216,126,57,58,56,217,218,219,220,221,61,222,223,129,90,15,130,131,224,225,226,227,134,228,229,230,231,232,176,178,233,234])),s=()=>e(()=>import(`./projects-page-BGy1pw9a.js`),__vite__mapDeps([235,1,2,3,4,5,6,7,8,9,23,11,236,189,190,76,20,21,51,52,53,60,24,25,26,27,28,29,30,194,35,39,40,172,41,44,113,22,114,115,116,126,237,47,217,176])),c=()=>e(()=>import(`./project-detail-page-D9nnyvrI.js`),__vite__mapDeps([238,1,2,3,4,5,6,239,7,8,9,23,11,240,91,51,20,21,182,236,184,89,79,93,138,13,69,185,99,34,100,40,44,101,102,22,103,104,105,106,107,186,25,94,26,76,16,108,109,172,153,70,85,187,112,47,133,90,132,92,189,190,52,53,60,24,27,28,29,30,75,191,31,193,241,35,149,150,95,96,151,152,38,146,73,81,154,41,118,45,46,122,155,156,157,158,59,55,159,160,116,128,242,148,179,195,14,145,243,37,198,244,161,245,39,42,110,142,246,247,43,248,249,114,115,113,147,162,163,164,165,119,166,167,168,169,170,125,48,54,126,237,218,127,250,213,66,219,220,221,130,131,134,251,74,176,252,217,253,254,88,97,98,15,111,117,120,121,123,124,50,49,61,18,62,129,135,136,233,230,255,256,206,84,207,208,257,234,258])),l=()=>e(()=>import(`./notes-page-XMdy-H3H.js`),__vite__mapDeps([259,1,2,3,4,5,6,23,11,240,91,51,9,20,21,182,236,183,184,89,79,93,138,13,69,185,7,8,99,34,100,40,44,101,102,22,103,104,105,106,107,186,25,94,26,76,16,108,109,172,153,70,85,187,112,47,133,131,24,27,28,29,30,95,179,195,260,161,146,41,261,43,248,156,126,59,55,159,218,128,255,256,96,145,15,73,81,111,142,117,118,45,46,119,120,121,122,123,124,50,125,48,213,66,169,206,84,157,207,208,230,257,233,166,165,114,115])),u=()=>e(()=>import(`./capabilities-page-BCzsIzvC.js`),__vite__mapDeps([262,1,2,4,3,5,6,26,20,21,263,126,264,265,41,11,51,9,27,8,28,29,228])),d=()=>e(()=>import(`./user-model-page-DIgPL3tN.js`),__vite__mapDeps([266,1,2,3,4,5,6,7,8,9,188,11,79,267,47,268,131,25,91,92,24,20,21,26,27,28,29,30,75,93,13,33,34,140,95,269,35,14,199,76,244,15,73,40,81,41,110,270,70,246,43,248,249,44,51,156,54,52,55,126,57,58,59,128,130,132])),f=()=>e(()=>import(`./logs-page-qiXos_12.js`),__vite__mapDeps([271,1,2,3,4,5,6,7,8,9,91,11,24,25,20,21,26,27,28,29,30,272,34,179,195,80,97,81,41,19,44,45,22,46,123,124,51,104,53,55,127,63,68,69,70,71])),p=()=>e(()=>import(`./settings-page-Cd8Ermnn.js`),__vite__mapDeps([273,1,2,3,4,5,6])),m=()=>e(()=>import(`./browser-settings-page-Cpm9fEPV.js`),__vite__mapDeps([274,1,2,3,4,5,6,91,11,24,25,20,21,26,27,8,9,28,29,30,93,275,34,69,96,35,80,163,276,76,244,277,81,18,85,47,48,51,60,278,67,68,70,71,74,75,143])),h=()=>e(()=>import(`./phone-settings-page-0u0GQl_R.js`),__vite__mapDeps([279,1,2,3,4,5,6,7,8,9,150,11,91,24,25,20,21,26,27,28,29,30,280,109,40,81,41,110,209,44,47,51,168,128,281,48,68,69,70,282,283,93,34,210,284,285,182,62,286,50,46,204,207,287,288])),g=()=>e(()=>import(`./computer-settings-page-MkqyKyf3.js`),__vite__mapDeps([289,1,2,3,4,5,6,25,11,163,201,290,40,110,142,26,20,21,47,48,50,46,51,9,157,61,24,27,8,28,29,30,18,62,52,53,281,68,69,70,71])),_=()=>e(()=>import(`./extension-page-DvlGhZLa.js`),__vite__mapDeps([291,1,2,3,4,239,5,6,212,22,117,118,45,46,119,120,121,122,123,124,50,125,48,47,165,114,115,103,155,213,66,126,223,7,8,9,60])),v=()=>e(()=>import(`./extension-settings-page-DOGlQpkx.js`),__vite__mapDeps([292,1,2,3,4,5,6,239,24,11,25,20,21,26,27,8,9,28,29,30,212,22,117,118,45,46,119,120,121,122,123,124,50,125,48,47,165,114,115,103,155,213,66,51,53,223,7,60,278,68,69,70,71,74,75,76,293,294,203,93,94,96,104,52,204,295,296,67])),y=()=>e(()=>import(`./extension-debug-page-myQqsol2.js`),__vite__mapDeps([297,1,2,5,6,212,22,117,118,45,46,119,120,121,122,123,124,50,4,125,48,47,165,114,115,103,155,213,66,68,3,69,11,70,20,21,51,9,71])),b=()=>e(()=>import(`./share-preview-page-YDpIY4dC.js`),__vite__mapDeps([298,1,2,4,3,5,6,149,11,150,25,91,94,34,95,69,96,35,151,76,99,7,8,9,100,40,44,20,21,101,102,22,103,104,105,106,107,152,38,146,73,81,153,154,41,26,118,45,46,122,52,155,156,157,158,59,55,159,160,116,128,28,29,51,186])),x=()=>e(()=>import(`./local-apps-page-D6D2bZGW.js`),__vite__mapDeps([299,1,2,3,4,5,6,236,11,300,40,26,20,21,47,51,9,126,224])),S=()=>e(()=>import(`./local-app-workbench-page-B3h3P6aI.js`),__vite__mapDeps([301,1,2,3,4,5,6,239,7,8,9,182,11,25,93,192,13,69,302,194,145,76,245,303,81,172,110,70,43,85,44,26,20,21,103,22,113,114,115,116,47,51,126,224,225,176,177,233,179,117,118,45,46,119,120,121,122,123,124,50,125,48,166,165,230])),C=()=>e(()=>import(`./product-open-page-Bfd7R483.js`),__vite__mapDeps([304,2,1,3,4,5,6,26,20,21,102,22,103,47,224,305])),w=()=>e(()=>import(`./work-discovery-page-BnYaVH3V.js`).then(e=>e.n),__vite__mapDeps([306,1,2,3,4,5,6,11,307,91,189,7,8,9,190,76,20,21,51,52,53,60,202,24,25,26,27,28,29,30,93,69,203,94,96,104,204,44,205,48,47,157,206,84,207,50,46,208,308,40,309,182,75,31,35,110,248,264,288,310,311,131,92,13,33,269,179,14,199,200,277,70,57,58,217])),T=()=>e(()=>import(`./work-discovery-overlay-CFF4cRFl.js`),__vite__mapDeps([312,1,2,5,6,7,8,9,306,3,4,11,307,91,189,190,76,20,21,51,52,53,60,202,24,25,26,27,28,29,30,93,69,203,94,96,104,204,44,205,48,47,157,206,84,207,50,46,208,308,40,309,182,75,31,35,110,248,264,288,310,311,131,92,13,33,269,179,14,199,200,277,70,57,58,217,313])),E=()=>e(()=>import(`./setup-status-panel-D4qgE7QM.js`),__vite__mapDeps([314,1,2,3,4,5,6,89,11,92,93,192,31,276,76,81,315,85,20,21,26,47,48,124,50,46,51,9,52,204,157,220,221,278,286,207,68,69,70,71,72,73,77,65,66,284])),D=()=>e(()=>import(`./appearance-settings-9ZtqCASo.js`),__vite__mapDeps([316,1,2,5,6,24,11,25,20,21,26,27,8,9,28,29,30,48,47,52,317,66,53,213,222,68,3,4,69,70,51,71,77,65])),O=()=>e(()=>import(`./keyboard-shortcuts-settings-Doyu0Q9e.js`),__vite__mapDeps([318,1,2,5,6,20,21,157,175,66,231,68,3,4,69,11,70,51,9,71])),k=()=>e(()=>import(`./personal-settings-panel-wKdlrfPq.js`),__vite__mapDeps([319,1,2,5,6,24,11,25,20,21,26,27,8,9,28,29,30,121,22,320,47,68,3,4,69,70,51,71])),A=()=>e(()=>import(`./system-settings-panel-BN6sUX0H.js`),__vite__mapDeps([321,1,2,5,6,322,11,157,69,81,323,20,21,52,60,68,3,4,70,51,9,71,72,73])),j=()=>e(()=>import(`./desktop-pet-settings-BDjsFown.js`),__vite__mapDeps([324,1,2,3,4,5,6,239,91,11,24,25,20,21,26,27,8,9,28,29,30,75,69,152,325,172,52,157,127,81,51,326,327,68,70,71])),M=()=>e(()=>import(`./app-management-settings-panel-XqoIBF2H.js`),__vite__mapDeps([328,1,2,5,6,7,8,9,94,11,76,308,20,21,26,47,51,30,104,52,157,60,278,68,3,4,69,70,71,72,73])),N=()=>e(()=>import(`./capabilities-settings-panel-Cr67ziwX.js`),__vite__mapDeps([329,1,2,4,3,5,6,7,8,9,236,11,330,92,24,25,20,21,26,27,28,29,30,93,331,132,203,94,96,76,104,52,53,204,163,40,41,18,44,47,48,50,46,51,296,59,55,207,286,206,84,157,208,69,243,196,161,73,109,17,81,110,270,142,43,85,187,210,22,173,117,118,45,119,120,121,122,123,124,125,66,62,216,332,60,218,61,227,281,278,64,65,229,67,68,70,71,72,74,75,293,294,333,83,86])),P=()=>e(()=>import(`./gateway-settings-Di41peSM.js`),__vite__mapDeps([334,1,2,3,4,5,6,24,11,25,20,21,26,27,8,9,28,29,30,75,203,93,94,96,76,104,52,53,204,276,196,335,81,153,336,157,110,323,270,85,47,48,51,296,332,54,55,60,218,7,65,66,278,64,67,68,69,70,71,72,73,77])),F=()=>e(()=>import(`./runtime-tools-settings-panel-ccVBG-bZ.js`),__vite__mapDeps([337,1,2,5,6,24,11,25,20,21,26,27,8,9,28,29,30,75,93,34,172,47,51,127,81,278,68,3,4,69,70,71,77,65,66,284,283,91,210])),I=()=>e(()=>import(`./remote-access-hub-BVqwnOqO.js`),__vite__mapDeps([338,1,2,3,4,5,6,7,8,9,236,11,25,91,92,31,94,69,203,93,96,76,20,21,104,52,53,204,163,196,335,303,339,323,209,19,85,47,48,51,30,54,55,60,218,164,28,29,65,66,286,50,46,207,208,157,64,229,68,70,71,72,73,340,26,332,77])),L=()=>e(()=>import(`./shares-settings-DUvjOMmA.js`),__vite__mapDeps([341,1,2,3,4,5,6,7,8,9,25,11,91,24,20,21,26,27,28,29,30,193,84,94,242,92,95,190,148,100,179,35,195,52,157,145,76,16,40,81,246,43,162,69,163,44,51,164,104,47,48,125,53,54,55,60,218,169,342,160,116,22,174,134,278,206,93,207,50,46,208,67,68,70,71,72,73])),R=()=>e(()=>import(`./agent-defaults-settings-panel-D4ClP_DJ.js`),__vite__mapDeps([343,1,2,3,4,5,6,93,11,80,198,141,41,110,270,20,21,26,86,22,47,51,9,157,59,55,220,221,65,66,281,48,64,67,68,69,70,71,74,25,75,76])),z=()=>e(()=>import(`./management-settings-C0WcSdK7.js`),__vite__mapDeps([344,1,2,3,4,5,6,7,8,9,89,11,132,92,24,25,20,21,26,27,28,29,30,197,345,40,41,209,44,45,22,46,47,51,54,52,55,159,218,127,81,278,68,69,70,71,346,93,13,34,347,101,102,103,158,164,94,104,208,157,229,340,163,76,303,48,53,332,72,73,287,288])),B=new Set;function V(e){B.has(e)||(B.add(e),e().catch(()=>{B.delete(e)}))}function H(e){let[t]=e.split(/[?#]/,1);return t||`/`}function U(e){V(p);let t=e.slice(10);if(t===`overview`)return V(E);if(t===`appearance`)return V(D);if(t===`keyboard-shortcuts`)return V(O);if(t===`personal`)return V(k);if(t===`system`)return V(A);if(t===`desktop-pet`)return V(j);if(t===`desktop-app`)return V(M);if(t.startsWith(`capabilities/`))return V(N);if(t===`gateway`)return V(P);if(t===`runtimes`)return V(F);if(t===`devices`)return V(z);if(t===`tunnel`||t===`remote-access`)return V(I);if(t===`shares`)return V(L);if(t===`agent-defaults`)return V(R);if(t===`agent-browser`)return V(m);if(t===`phone-use`)return V(h);if(t===`computer-use`)return V(g)}function W(e){if(!e.startsWith(`/`))return;let p=H(e);if(p===`/capabilities`||p.startsWith(`/capabilities/`))return V(u);if(p===`/user-model`)return V(d);if(p===`/automations`)return V(r);if(p===`/browser-automations`)return V(i);if(p===`/`)return V(a);if(p.startsWith(`/tasks/`))return V(o);if(p===`/projects`)return V(s);if(p.startsWith(`/projects/`))return V(c);if(p===`/notes`||p.startsWith(`/notes/`))return V(l);if(p.startsWith(`/extensions/`))return V(_);if(p===`/local-apps`)return V(x);if(p.startsWith(`/local-apps/`))return V(S);if(p===`/open`)return V(C);if(p===`/onboarding/workspace`)return V(w);if(p.startsWith(`/share/`))return V(b);if(p===`/settings/sessions`)return V(t);if(p===`/settings/usage`)return V(n);if(p===`/settings/logs`)return V(f);if(p===`/settings/extensions/debug`)return V(y);if(p.startsWith(`/settings/ext/`))return V(v);if(p.startsWith(`/settings/`))return U(p)}export{E as A,C,F as D,I as E,n as F,d as I,T as L,L as M,A as N,t as O,o as P,w as R,h as S,s as T,S as _,r as a,l as b,g as c,y as d,_ as f,O as g,a as h,D as i,b as j,p as k,j as l,P as m,R as n,i as o,v as p,M as r,N as s,m as t,z as u,x as v,c as w,k as x,f as y,W as z};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,i as t,o as n}from"./locale-store-
|
|
1
|
+
import{a as e,i as t,o as n}from"./locale-store-Br7IfbXK.js";async function r(){return n(t(`/api/runtime-tools`))}async function i(e){await n(t(`/api/runtime-tools/config`),{method:`PATCH`,body:JSON.stringify(e)})}async function a(){return(await n(t(`/api/runtime-tools/prune`),{method:`POST`})).payload}async function o(e){return s({path:`/api/runtime-tools/${e.runtime}/${e.action}/stream`,body:{version:e.version},onProgress:e.onProgress})}async function s(n){let r=await e(t(n.path),{method:`POST`,headers:{Accept:`text/event-stream`},body:JSON.stringify(n.body)});if(!r.ok||!r.body){let e=await r.json().catch(()=>({}));throw Error(e.message??`HTTP ${r.status}`)}let i=r.body.getReader(),a=new TextDecoder,o=``,s=!1;try{for(;!s;){let{done:e,value:t}=await i.read();if(e)break;o+=a.decode(t,{stream:!0}).replace(/\r\n/g,`
|
|
2
2
|
`);let r=o.split(`
|
|
3
3
|
|
|
4
4
|
`);o=r.pop()??``;for(let e of r){let t=``,r=``;for(let n of e.split(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{i as r,n as i}from"./locale-store-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{i as r,n as i}from"./locale-store-Br7IfbXK.js";import{t as a}from"./messages-ByFlEbsu.js";import{n as o,r as s}from"./popover-select-CEMWIrtY.js";import{t as c}from"./circle-alert-BEjgurr2.js";import{t as l}from"./circle-check-C23XjkUj.js";import{t as u}from"./download-Dk-ZjtO6.js";import{t as d}from"./rotate-ccw-JM1TBLpp.js";import{i as f}from"./vendor-swr-CdRzEUwF.js";import{t as p}from"./button-Cc4hUNTt.js";import{t as m}from"./refresh-button-DiWdGAaX.js";import{n as h}from"./settings-loading-skeleton-BTqvr_Fw.js";import{n as g,t as _}from"./settings-page-header-BZl4AMiN.js";import"./settings-page-layout-onhEgq-K.js";import{t as v}from"./settings-advanced-gate-BI4DMz4_.js";import{i as y,n as b,r as x}from"./runtime-tools-api-9o3Wfji1.js";import{t as S}from"./phone-dependencies-card-CDhk5277.js";var C=e(t(),1);function w(e){return e?.trim()||void 0}function T(e,t,n){return e?.state!==`ready`||w(t)!==w(n)}var E=n(),D=[`node`,`python`,`uv`];function O(){let e=a(i(e=>e.language)).runtimeToolsSettings,{data:t,error:n,isLoading:w,mutate:O}=f(r(`/api/runtime-tools`)),[k,A]=(0,C.useState)(null),[j,M]=(0,C.useState)(!1),[N,P]=(0,C.useState)(!1),[F,I]=(0,C.useState)({}),[L,R]=(0,C.useState)({}),[z,B]=(0,C.useState)(null),V=Object.values(F).some(Boolean);if((0,C.useEffect)(()=>{t?.payload.config&&A(structuredClone(t.payload.config))},[t?.payload.config]),n)return(0,E.jsxs)(g,{children:[(0,E.jsx)(_,{title:e.title,subtitle:e.loadError}),(0,E.jsx)(p,{onClick:()=>void O(),children:e.refresh})]});if(w||!k)return(0,E.jsx)(g,{children:(0,E.jsx)(h,{sections:3})});let H=new Map(t?.payload.statuses.map(e=>[e.runtime,e])),U=(e,t)=>A(n=>n&&{...n,[e]:{...n[e],...t}}),W=async()=>{M(!0),B(null);try{await y(k),await O()}catch(e){B(e instanceof Error?e.message:String(e))}finally{M(!1)}},G=async(e,t)=>{I(t=>({...t,[e]:!0})),B(null);try{await y(k),await x({runtime:e,action:t,version:e===`uv`?k.uv.version:k[e].version,onProgress:t=>R(n=>({...n,[e]:t}))}),await O()}catch(e){B(e instanceof Error?e.message:String(e))}finally{I(t=>({...t,[e]:!1}))}},K=async()=>{P(!0),B(null);try{await b(),await O()}catch(e){B(e instanceof Error?e.message:String(e))}finally{P(!1)}};return(0,E.jsxs)(g,{gap:`gap-6`,children:[(0,E.jsx)(_,{title:e.title,actions:(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(m,{className:`size-9 shrink-0 p-0`,disabled:V,label:e.refresh,onClick:async()=>{await O()}}),(0,E.jsx)(p,{onClick:()=>void K(),disabled:N||V,children:N?e.pruning:e.prune}),(0,E.jsx)(p,{variant:`primary`,onClick:()=>void W(),disabled:j||V,children:j?e.saving:e.save})]})}),z?(0,E.jsx)(`div`,{className:`rounded-xl bg-danger/10 px-4 py-3 text-sm text-danger`,children:z}):null,(0,E.jsx)(`section`,{className:`rounded-xl bg-surface-hover/20 p-4`,children:(0,E.jsxs)(`label`,{className:`flex items-center justify-between gap-4`,children:[(0,E.jsxs)(`span`,{children:[(0,E.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:e.enabled}),(0,E.jsx)(`span`,{className:`mt-1 block text-xs text-fg-muted`,children:e.enabledHint})]}),(0,E.jsx)(`input`,{type:`checkbox`,checked:k.enabled,onChange:e=>A({...k,enabled:e.target.checked}),className:`size-4 accent-accent`})]})}),(0,E.jsx)(v,{children:(0,E.jsxs)(`section`,{className:`grid gap-4 rounded-xl bg-surface-hover/20 p-4 md:grid-cols-2`,children:[(0,E.jsxs)(`label`,{className:`space-y-1.5 text-xs font-medium text-fg-muted`,children:[e.downloadSource,(0,E.jsxs)(o,{value:k.download.source,onChange:e=>A({...k,download:{...k.download,source:e.target.value}}),children:[(0,E.jsx)(s,{value:`auto`,children:e.downloadSources.auto}),(0,E.jsx)(s,{value:`website-only`,children:e.downloadSources.websiteOnly}),(0,E.jsx)(s,{value:`direct-only`,children:e.downloadSources.directOnly})]})]}),(0,E.jsxs)(`label`,{className:`space-y-1.5 text-xs font-medium text-fg-muted`,children:[e.gatewayBaseUrl,(0,E.jsx)(`input`,{value:k.download.gatewayBaseUrl,disabled:k.download.source===`direct-only`,onChange:e=>A({...k,download:{...k.download,gatewayBaseUrl:e.target.value}}),className:`h-10 w-full rounded-lg border border-edge bg-surface-panel px-3 text-sm text-fg outline-none focus:border-edge-strong disabled:opacity-50`})]}),(0,E.jsxs)(`label`,{className:`space-y-1.5 text-xs font-medium text-fg-muted`,children:[e.offlineBundle,(0,E.jsx)(`input`,{value:k.download.bundleDir??``,placeholder:e.offlineBundlePlaceholder,onChange:e=>A({...k,download:{...k.download,bundleDir:e.target.value||void 0}}),className:`h-10 w-full rounded-lg border border-edge bg-surface-panel px-3 text-sm text-fg outline-none focus:border-edge-strong`})]}),(0,E.jsxs)(`label`,{className:`space-y-1.5 text-xs font-medium text-fg-muted`,children:[e.proxy,(0,E.jsx)(`input`,{value:k.download.proxy??``,placeholder:`http://127.0.0.1:7890`,onChange:e=>A({...k,download:{...k.download,proxy:e.target.value||void 0}}),className:`h-10 w-full rounded-lg border border-edge bg-surface-panel px-3 text-sm text-fg outline-none focus:border-edge-strong`})]})]})}),(0,E.jsx)(S,{}),(0,E.jsx)(`div`,{className:`flex flex-col gap-4`,children:D.map(n=>{let r=H.get(n),i=r?.state===`ready`,a=L[n],f=n===`uv`?k.uv:k[n],m=n===`uv`?t?.payload.config.uv:t?.payload.config[n],h=F[n]===!0,g=T(r,f.version,m?.version);return(0,E.jsxs)(`section`,{className:`flex min-w-0 flex-col gap-5 rounded-xl bg-surface-base/55 p-5 sm:p-6`,children:[(0,E.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`h2`,{className:`text-base font-semibold text-fg`,children:e.runtimeNames[n]}),(0,E.jsx)(`p`,{className:`mt-1 break-words text-xs text-fg-muted`,children:r?.message??e.unknown})]}),(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i?(0,E.jsx)(l,{className:`size-5 shrink-0 text-success`}):(0,E.jsx)(c,{className:`size-5 shrink-0 text-warning`}),(0,E.jsx)(`input`,{type:`checkbox`,"aria-label":`${e.runtimeNames[n]} ${e.enabled}`,checked:f.enabled,onChange:e=>{n===`uv`?A({...k,uv:{...k.uv,enabled:e.target.checked}}):U(n,{enabled:e.target.checked})},className:`size-4 accent-accent`})]})]}),(0,E.jsxs)(`div`,{className:n===`uv`?`grid gap-4 md:grid-cols-[minmax(16rem,28rem)]`:`grid gap-4 md:grid-cols-2 xl:grid-cols-3`,children:[(0,E.jsxs)(`label`,{className:`space-y-1.5 text-xs font-medium text-fg-muted`,children:[e.version,(0,E.jsx)(`input`,{value:f.version??``,placeholder:r?.requestedVersion,onChange:e=>{let t=e.target.value||void 0;n===`uv`?A({...k,uv:{...k.uv,version:t}}):U(n,{version:t})},className:`h-10 w-full rounded-lg border border-edge bg-surface-inset px-3 text-sm text-fg outline-none focus:border-edge-strong`})]}),n===`uv`?null:(0,E.jsxs)(E.Fragment,{children:[(0,E.jsxs)(`label`,{className:`space-y-1.5 text-xs font-medium text-fg-muted`,children:[e.sourcePolicy,(0,E.jsxs)(o,{value:k[n].preference,onChange:e=>U(n,{preference:e.target.value}),children:[(0,E.jsx)(s,{value:`managed-first`,children:e.preferences.managedFirst}),(0,E.jsx)(s,{value:`system-first`,children:e.preferences.systemFirst}),(0,E.jsx)(s,{value:`managed-only`,children:e.preferences.managedOnly}),(0,E.jsx)(s,{value:`system-only`,children:e.preferences.systemOnly})]})]}),(0,E.jsxs)(`label`,{className:`space-y-1.5 text-xs font-medium text-fg-muted`,children:[e.provisionPolicy,(0,E.jsxs)(o,{value:k[n].provision,onChange:e=>U(n,{provision:e.target.value}),children:[(0,E.jsx)(s,{value:`eager`,children:e.provisions.eager}),(0,E.jsx)(s,{value:`on-demand`,children:e.provisions.onDemand}),(0,E.jsx)(s,{value:`disabled`,children:e.provisions.disabled})]})]})]})]}),a&&h?(0,E.jsxs)(`div`,{className:`rounded-lg bg-accent-soft px-3 py-2 text-xs text-accent-fg`,children:[a.message,a.totalBytes&&a.downloadedBytes?` · ${Math.round(a.downloadedBytes/a.totalBytes*100)}%`:``]}):null,(0,E.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center justify-between gap-3`,children:[(0,E.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[g?(0,E.jsxs)(p,{variant:`primary`,disabled:!k.enabled||!f.enabled||h,onClick:()=>void G(n,`install`),children:[(0,E.jsx)(u,{className:`size-4`}),h?e.working:e.install]}):(0,E.jsxs)(`span`,{className:`inline-flex h-9 items-center gap-2 px-1 text-sm text-success`,children:[(0,E.jsx)(l,{className:`size-4`}),e.installed]}),r?.repairable?(0,E.jsxs)(p,{disabled:!k.enabled||!f.enabled||h,onClick:()=>void G(n,`repair`),children:[(0,E.jsx)(d,{className:`size-4`}),e.repair]}):null]}),(0,E.jsx)(v,{children:r?.resolved?.executable?(0,E.jsx)(`code`,{className:`break-all text-[11px] text-fg-subtle`,children:r.resolved.executable}):null})]})]},n)})})]})}export{O as RuntimeToolsSettingsPanel};
|