@xopcai/xopc 0.0.435 → 0.0.437
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/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{activity-store-Cwn_CNwl.js → activity-store-CXhhy7_9.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-Cd23LnJJ.js → agent-avatar-dicebear-_h4GxzUK.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-display-ByzM7u9S.js → agent-avatar-display-B_QEDfMT.js} +2 -2
- package/dist/gateway/static/root/assets/{agent-defaults-settings-panel-B0i37diS.js → agent-defaults-settings-panel-DWIluCZB.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-plugin-dialog-XN-tZ-Ox.js → agent-plugin-dialog-lCWIS06R.js} +1 -1
- package/dist/gateway/static/root/assets/{agents-ZDA1OaLv.js → agents-C-tIn72l.js} +3 -3
- package/dist/gateway/static/root/assets/{agents-admin-api-B5lKH_ps.js → agents-admin-api-DIStX2e1.js} +1 -1
- package/dist/gateway/static/root/assets/{api-B9fZL-V8.js → api-C4xrqOKi.js} +1 -1
- package/dist/gateway/static/root/assets/{api-Djju8qIR.js → api-bT-kA268.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-IlyzDPJu.js → app-management-settings-panel-Dk75Bmi2.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-BxdFGob3.js → appearance-settings-DTj1XI4v.js} +1 -1
- package/dist/gateway/static/root/assets/{apps-page-CxEKiOTA.js → apps-page-7iAULaEl.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-4gEvotPr.js → archive-plugin-BADrW4yR.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-api-4fVKv9PJ.js → automation-api-CRz5EE_c.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-result-state-m7PeK2kl.js → automation-result-state-D0EHDk4V.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-run-list-CJOdy_R2.js → automation-run-list-CnaV2j9R.js} +1 -1
- package/dist/gateway/static/root/assets/automation-task-card-DD4yjrI6.js +3 -0
- package/dist/gateway/static/root/assets/{automations-page-BjbM15eY.js → automations-page-DDNx4Gn3.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-workspace-CqurzLYX.js → automations-workspace-CtidgXTX.js} +2 -2
- package/dist/gateway/static/root/assets/{binary-plugins-69WyJLNW.js → binary-plugins-hpeH8g5V.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-DUONDIZR.js → block-editor-P_RGb2rE.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-automation-inputs-DL4YPCuN.js → browser-automation-inputs-C3gQlgox.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-automations-page-1Aq6XmRs.js → browser-automations-page-CsdyL6q5.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-control-api-yjru8E7R.js → browser-control-api-Btwz8koK.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-settings-page-CvwpT8Um.js → browser-settings-page-B-ks3b8r.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-C7lnwKKm.js → capabilities-C4F2D1gH.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-DaeQXJT4.js → capabilities-f0YyWX04.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-page-B5avAOUM.js → capabilities-page-CJm5gNu8.js} +2 -2
- package/dist/gateway/static/root/assets/{capabilities-settings-panel-_9yCS78i.js → capabilities-settings-panel-BMg8DBa0.js} +1 -1
- package/dist/gateway/static/root/assets/{channels-CoQb4HOF.js → channels-DYgvP8sO.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-agents-api-BUi_7GRo.js → chat-agents-api-BrsUEl3u.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-chart-block-CcVcKsDZ.js → chat-chart-block-Cq3aoRzV.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-page--wcFhTjW.js → chat-page-dh7ImvX8.js} +9 -9
- package/dist/gateway/static/root/assets/{chat-terminal-dock-BMXJpPuH.js → chat-terminal-dock-2eGZ5qZ7.js} +1 -1
- package/dist/gateway/static/root/assets/{command-palette-api-luUjQPsh.js → command-palette-api-BEqdX7Q-.js} +1 -1
- package/dist/gateway/static/root/assets/{composer-payload-handoff-B5XNxNCb.js → composer-payload-handoff-BBm3ypBb.js} +1 -1
- package/dist/gateway/static/root/assets/{computer-settings-page-CWtdyEJH.js → computer-settings-page-DUhsxs4l.js} +1 -1
- package/dist/gateway/static/root/assets/{connected-providers-grid-2idMtk65.js → connected-providers-grid-BsCLGLnw.js} +1 -1
- package/dist/gateway/static/root/assets/{connection-usage-guide-Ddh0bfkj.js → connection-usage-guide-BgvvHMc4.js} +1 -1
- package/dist/gateway/static/root/assets/{connector-service-page-C3msXaBk.js → connector-service-page-C3SmPK1c.js} +1 -1
- package/dist/gateway/static/root/assets/{connectors-api-NcWECWKg.js → connectors-api-Now9xXuA.js} +1 -1
- package/dist/gateway/static/root/assets/{connectors-page-Crb6DILX.js → connectors-page-CTMeC7Pt.js} +1 -1
- package/dist/gateway/static/root/assets/{date-picker-Cfjq1hD_.js → date-picker-CBoc2ETg.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-ChFn9v-3.js → desktop-pet-DS2dJydK.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-DvnVIv25.js → desktop-pet-settings-CzGc9byI.js} +1 -1
- package/dist/gateway/static/root/assets/{dev-view-store-DQJ61P5L.js → dev-view-store-BXMp1Npf.js} +1 -1
- package/dist/gateway/static/root/assets/{device-pairing-wizard-KxaIL-OX.js → device-pairing-wizard--SCayxiS.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-Drv864uE.js → directory-picker-path-field-P_-tLtwi.js} +1 -1
- package/dist/gateway/static/root/assets/{discussion-annotation-sync-DfBRkWtw.js → discussion-annotation-sync-D_NJLur2.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-DAlBIt_R.js → extension-debug-page-CE9KJpjL.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-iframe-host-Bds-5kY_.js → extension-iframe-host-ClbrQvGF.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-marketplace-api-CZg8nBwW.js → extension-marketplace-api-BNNQYLeu.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-ZTw-oucT.js → extension-page-C6qZ9pGs.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-provider-NKWfjpdP.js → extension-provider-KmpUveDY.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-CT7PPt_q.js → extension-settings-page-DWKB4ETv.js} +1 -1
- package/dist/gateway/static/root/assets/{file-preview-surface-BcLeaSNe.js → file-preview-surface-CEDfehx5.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-swr-Cq-ByXL4.js → gateway-config-swr-CtEdaxOS.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-DwMd2PCt.js → gateway-realtime-SunJUMP3.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-BywiC4CK.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-restart-DdiVzbkL.js → gateway-restart-srJ9TMC5.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-1QUdNwrZ.js → gateway-settings-DWVxjM9y.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-PMJi5mX4.js → gateway-startup-retry-xpHdw5uq.js} +1 -1
- package/dist/gateway/static/root/assets/{global-defaults-api-DgzZh3wX.js → global-defaults-api-C-ogBDn1.js} +1 -1
- package/dist/gateway/static/root/assets/{home-page-Chn7YTiD.js → home-page-2Uj--v_o.js} +2 -2
- package/dist/gateway/static/root/assets/{image-generation-api-CjVpsckq.js → image-generation-api-DFGE3Ait.js} +1 -1
- package/dist/gateway/static/root/assets/{imports-page-CJCvZFaQ.js → imports-page-BkslHrr5.js} +1 -1
- package/dist/gateway/static/root/assets/{index-8xLWo0Tt.js → index-BxHzmTJV.js} +5 -5
- package/dist/gateway/static/root/assets/index-CIYNPxDl.css +1 -0
- package/dist/gateway/static/root/assets/{install-connector-dialog-Bo06Ry3H.js → install-connector-dialog-Fctw32Lx.js} +1 -1
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-BylFJeGu.js → keyboard-shortcuts-settings-DFBpeaA_.js} +1 -1
- package/dist/gateway/static/root/assets/{local-app-workbench-page-B3MSSFsr.js → local-app-workbench-page-hJzkUVoK.js} +1 -1
- package/dist/gateway/static/root/assets/{local-apps-page-BeV86rMJ.js → local-apps-page-Bj-nywIv.js} +1 -1
- package/dist/gateway/static/root/assets/{local-session-drafts-jgw8UGsO.js → local-session-drafts-hodTdtvj.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-CAZaC05J.js → locale-store-LhhHA2sK.js} +1 -1
- package/dist/gateway/static/root/assets/{logs-page-BMmSsUP5.js → logs-page-CcM2foZi.js} +1 -1
- package/dist/gateway/static/root/assets/{management-settings-Bu7T8ewk.js → management-settings-gwDIT7mY.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-view-BatP4qeK.js → markdown-view-usF9EoMp.js} +1 -1
- package/dist/gateway/static/root/assets/{mcp-conversation-setup-page-rROtr0UN.js → mcp-conversation-setup-page-CfHcS8aO.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-88OV72YE.js → media-plugins-Kpj3pQ3i.js} +1 -1
- package/dist/gateway/static/root/assets/messages-C3xqMM9W.js +3 -0
- package/dist/gateway/static/root/assets/{model-selector-raBRBkN_.js → model-selector-VVkCmNdS.js} +1 -1
- package/dist/gateway/static/root/assets/{models-hub-cache-CzC9y3D0.js → models-hub-cache-BfrcizHv.js} +1 -1
- package/dist/gateway/static/root/assets/{note-detail-panel-BvA8Vkbm.js → note-detail-panel-vvlPKLHz.js} +3 -3
- package/dist/gateway/static/root/assets/note-image-lightbox-BDZGHYaZ.js +1 -0
- package/dist/gateway/static/root/assets/{notes-api-zXpV6UXu.js → notes-api-DflS6I2c.js} +1 -1
- package/dist/gateway/static/root/assets/{notes-page-CjYH9Kle.js → notes-page-DKPHaszO.js} +1 -1
- package/dist/gateway/static/root/assets/{oauth-api-DmxSaxM1.js → oauth-api-CZiot_FY.js} +1 -1
- package/dist/gateway/static/root/assets/{oauth-provider-connect-D4Gfs-Ba.js → oauth-provider-connect-BjLEJ4az.js} +1 -1
- package/dist/gateway/static/root/assets/{page-context-capture-button-Mig3d0UX.js → page-context-capture-button-C3okR3ap.js} +1 -1
- package/dist/gateway/static/root/assets/{page-context-draft-C4IIZaKd.js → page-context-draft-DRE6i2wO.js} +1 -1
- package/dist/gateway/static/root/assets/page-header-store-BVj8nDdi.js +1 -0
- package/dist/gateway/static/root/assets/{personal-avatar-DLa-CpaK.js → personal-avatar-TZzkeDZK.js} +1 -1
- package/dist/gateway/static/root/assets/{personal-page-BhuT79Wd.js → personal-page-Cz-KnXHT.js} +1 -1
- package/dist/gateway/static/root/assets/{personal-settings-panel-XSUkgcr2.js → personal-settings-panel-BilBWHZ1.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-dependencies-card-DYwnuVh3.js → phone-dependencies-card-B_l_JCRy.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-model-connection-2F32QTHA.js → phone-model-connection-DmYRqxCF.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-model-picker-DCVzIr0s.js → phone-model-picker-wK2tRuj0.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-settings-page-DJttE4id.js → phone-settings-page-DWUZuu3k.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-workspace-store-Dxp-KhFP.js → phone-workspace-store-CpH233TG.js} +1 -1
- package/dist/gateway/static/root/assets/{plugin-details-dialog-tyjAjFjA.js → plugin-details-dialog-DIQH12Ki.js} +1 -1
- package/dist/gateway/static/root/assets/{preference-select-fields-BVP3MhGK.js → preference-select-fields-DPXt3YyQ.js} +1 -1
- package/dist/gateway/static/root/assets/{product-automation-feedback-DbJvv92z.js → product-automation-feedback-BVkkAJkY.js} +1 -1
- package/dist/gateway/static/root/assets/{product-open-page-RImqlhCD.js → product-open-page-D-fwzOTB.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-content-DxSqrKsg.js → product-preview-content-DLnOxTnn.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-modal-Cw8Q8Uom.js → product-preview-modal-AeEtUDZQ.js} +2 -2
- package/dist/gateway/static/root/assets/{project-detail-page-CuugOYfe.js → project-detail-page-B7L3Kvhc.js} +1 -1
- package/dist/gateway/static/root/assets/{project-understanding-BMKcoUW5.js → project-understanding-tqZ0etEw.js} +1 -1
- package/dist/gateway/static/root/assets/{projects-page-CFsABLvs.js → projects-page-D65pw44g.js} +1 -1
- package/dist/gateway/static/root/assets/{providers-api-CAeXbJNF.js → providers-api-DzeStdCu.js} +1 -1
- package/dist/gateway/static/root/assets/{recording-upload-CfpllTe5.js → recording-upload-Id3p5Vyv.js} +1 -1
- package/dist/gateway/static/root/assets/{registry-api-fLOqFyrz.js → registry-api-B3YqZBhQ.js} +1 -1
- package/dist/gateway/static/root/assets/{remote-access-hub-BvKOxy0L.js → remote-access-hub-DxAInmWy.js} +1 -1
- package/dist/gateway/static/root/assets/{resource-unavailable-D15jzjV_.js → resource-unavailable-DH-GGLSM.js} +1 -1
- package/dist/gateway/static/root/assets/{route-preload-BQapekpy.js → route-preload-C22MIvup.js} +2 -2
- package/dist/gateway/static/root/assets/{runtime-tools-api-D0Nrvuqv.js → runtime-tools-api-8mXDTzc2.js} +1 -1
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-CA27XgL2.js → runtime-tools-settings-panel-S2HxRVlT.js} +1 -1
- package/dist/gateway/static/root/assets/{service-recommendation-list-B0RoYLVT.js → service-recommendation-list-DFqBz8S6.js} +1 -1
- package/dist/gateway/static/root/assets/{session-api-CHRP5Lwf.js → session-api-DZ2Ov33K.js} +1 -1
- package/dist/gateway/static/root/assets/{session-manager-DRRWwKE4.js → session-manager-DSaoWM1F.js} +1 -1
- package/dist/gateway/static/root/assets/{sessions-page-uJHS3-6F.js → sessions-page-BpUbNplq.js} +1 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-CGgt1myW.js +1 -0
- package/dist/gateway/static/root/assets/{settings-advanced-section-D-llwfSj.js → settings-advanced-section-TJ8MAroB.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-mode-store-BspMKc9N.js → settings-mode-store-xhm6JIs-.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-CedwaHM0.js → settings-page-B_XKKvWr.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-header-LuOJvqNa.js → settings-page-header-BEDxq_lT.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-layout-CduQ8w4a.js → settings-page-layout-BftgkTYo.js} +1 -1
- package/dist/gateway/static/root/assets/{setup-interaction-page-ujpPGl84.js → setup-interaction-page-BtihoIoz.js} +1 -1
- package/dist/gateway/static/root/assets/{setup-status-panel-BN2aCJUN.js → setup-status-panel-DehYof2V.js} +1 -1
- package/dist/gateway/static/root/assets/{share-link-dialog-CTATUaa4.js → share-link-dialog-C-mhzvLF.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-Dq0J3VgS.js → share-preview-page-Cnxfv66F.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-api-zegE8pSE.js → shares-api-D2HTaQZH.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-settings-DXpvsRXq.js → shares-settings-BLcnCGon.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-api-DCL1EN7f.js → skill-api-DOISy5q8.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-list-api-Bv0mmHbu.js → skill-list-api-LoIlcCDf.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-reload-api-DPZbadiO.js → skill-reload-api-qSwB_mAH.js} +1 -1
- package/dist/gateway/static/root/assets/{skills-page-DMC7Gaku.js → skills-page-CJXLVK0U.js} +1 -1
- package/dist/gateway/static/root/assets/{system-settings-panel-BYFUhlqG.js → system-settings-panel-BT6_yFco.js} +1 -1
- package/dist/gateway/static/root/assets/{task-detail-page-_Og3plZL.js → task-detail-page-1AFyRTia.js} +1 -1
- package/dist/gateway/static/root/assets/{task-result-evidence-Bxm8-H0B.js → task-result-evidence-CkwEM0In.js} +1 -1
- package/dist/gateway/static/root/assets/{terminal-panel-store-Djf9l2qZ.js → terminal-panel-store-BP3dN3md.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-8GFVtotZ.js → theme-store-BZ8YC33M.js} +1 -1
- package/dist/gateway/static/root/assets/{tracing-settings-page-oWW3SBZ4.js → tracing-settings-page-9YvEnES_.js} +1 -1
- package/dist/gateway/static/root/assets/{tunnel-api-D-mEsSGF.js → tunnel-api-CnPOg1pg.js} +1 -1
- package/dist/gateway/static/root/assets/{understanding-activity-store-CvDjsd0I.js → understanding-activity-store-3sOhoxX4.js} +1 -1
- package/dist/gateway/static/root/assets/{understanding-refresh-store-DzOZJm7A.js → understanding-refresh-store-BBXlbRLa.js} +1 -1
- package/dist/gateway/static/root/assets/{usage-page-z-o6Uuev.js → usage-page-6LW4yLy1.js} +1 -1
- package/dist/gateway/static/root/assets/{use-autosave-BVYS8UoK.js → use-autosave-CDy9yziL.js} +1 -1
- package/dist/gateway/static/root/assets/{use-composer-attachments-lecOV2q5.js → use-composer-attachments-C4eSyX-C.js} +1 -1
- package/dist/gateway/static/root/assets/{use-file-preview-expanded-nd_CuFsd.js → use-file-preview-expanded-SFqd8k7K.js} +2 -2
- package/dist/gateway/static/root/assets/{use-personal-profile-CQi2ZCxV.js → use-personal-profile-sQzaa6Dy.js} +1 -1
- package/dist/gateway/static/root/assets/{use-workspace-tree-BiaddkzX.js → use-workspace-tree-DKPvcyw1.js} +1 -1
- package/dist/gateway/static/root/assets/{user-model-page-Bks1n0Nj.js → user-model-page-DYVp7nA6.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-api-key-field-BbW8NFeZ.js → voice-api-key-field-BKXWXCit.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-jSMzZWWy.js → voice-config-api-DNxzs-eF.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-input-shortcut-events-_SgYmx7X.js → voice-input-shortcut-events-3kcfHPrY.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-transcribe-api-BJCfiRFU.js → voice-transcribe-api-CVVa_x99.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-DSTSNyU7.js → work-discovery-overlay-B4F3MACu.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-page-Dd_QJJvb.js → work-discovery-page-BuKTCGSR.js} +1 -1
- package/dist/gateway/static/root/assets/{working-directory-picker-modal-q39BUcJ6.js → working-directory-picker-modal-BiDK93J_.js} +1 -1
- package/dist/gateway/static/root/assets/{workspace-api-Di2OmCvz.js → workspace-api-S2aJOX7w.js} +2 -2
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-oZKoWMdV.js +1 -0
- package/dist/gateway/static/root/assets/{workspace-file-preview-dialog-BUGNT765.js → workspace-file-preview-dialog-B9f3GN7l.js} +1 -1
- package/dist/gateway/static/root/assets/{workspace-open-location-menu-bMSvmQW7.js → workspace-open-location-menu-BNjipenH.js} +1 -1
- package/dist/gateway/static/root/assets/{xopc-cloud-account-card-Bbe19Del.js → xopc-cloud-account-card-Csye7zKU.js} +1 -1
- package/dist/gateway/static/root/index.html +81 -81
- package/dist/package.js +1 -1
- package/dist/src/agent/client-error-format.d.ts +1 -1
- package/dist/src/agent/client-error-format.js +3 -2
- package/dist/src/agent/orchestration/llm-turn-retry.js +8 -1
- package/dist/src/agent/tool-manuals/computer.d.ts +1 -1
- package/dist/src/agent/tool-manuals/computer.js +2 -2
- package/dist/src/cli/commands/platform.js +2 -2
- package/dist/src/computer/broker.d.ts +5 -1
- package/dist/src/computer/broker.js +34 -9
- package/dist/src/computer/diagnostics.d.ts +340 -0
- package/dist/src/computer/diagnostics.js +4 -0
- package/dist/src/computer/errors.d.ts +340 -0
- package/dist/src/computer/errors.js +122 -5
- package/dist/src/computer/evaluation.d.ts +186 -0
- package/dist/src/computer/model-adapter.js +47 -20
- package/dist/src/computer/runtime.d.ts +170 -0
- package/dist/src/computer/runtime.js +36 -8
- package/dist/src/computer/stability-diagnostics.d.ts +23 -0
- package/dist/src/computer/stability-diagnostics.js +71 -0
- package/dist/src/computer/validation-diagnostics.d.ts +9 -0
- package/dist/src/computer/validation-diagnostics.js +54 -0
- package/dist/src/providers/model-response.js +1 -0
- package/dist/src/realtime/runtime.js +13 -5
- package/dist/src/realtime/writer.d.ts +7 -0
- package/dist/src/realtime/writer.js +96 -30
- package/package.json +1 -1
- package/dist/gateway/static/root/assets/automation-task-card-DZWhCWJa.js +0 -3
- package/dist/gateway/static/root/assets/gateway-realtime-store-CHrf6-nR.js +0 -1
- package/dist/gateway/static/root/assets/index-iukJWzxG.css +0 -1
- package/dist/gateway/static/root/assets/messages-C7fckbyG.js +0 -3
- package/dist/gateway/static/root/assets/note-image-lightbox-D6kUDDd5.js +0 -1
- package/dist/gateway/static/root/assets/page-header-store-D7G5utVi.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-CZ4J3Kuy.js +0 -1
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-B2r9wlix.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./settings-mode-store-xhm6JIs-.js";function t(t){let{children:n,fallback:r}=t,i=r===void 0?null:r;return e()?n:i}export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./vendor-react-BOUWij0V.js";import{n}from"./locale-store-
|
|
1
|
+
import{n as e,t}from"./vendor-react-BOUWij0V.js";import{n}from"./locale-store-LhhHA2sK.js";import{t as r}from"./button-Cc4hUNTt.js";import{t as i}from"./settings-mode-store-xhm6JIs-.js";var a=e(),o=t();function s(e){let t=(0,a.c)(15),{title:s,summary:d,children:f}=e,p=i(u),m=i(l),h=n(c)===`zh`;if(p)return f;let g;t[0]===s?g=t[1]:(g=(0,o.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:s}),t[0]=s,t[1]=g);let _;t[2]===d?_=t[3]:(_=(0,o.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:d}),t[2]=d,t[3]=_);let v;t[4]!==g||t[5]!==_?(v=(0,o.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[g,_]}),t[4]=g,t[5]=_,t[6]=v):v=t[6];let y;t[7]===m?y=t[8]:(y=()=>m(`advanced`),t[7]=m,t[8]=y);let b=h?`查看高级设置`:`Show advanced settings`,x;t[9]!==y||t[10]!==b?(x=(0,o.jsx)(r,{type:`button`,variant:`ghost`,onClick:y,children:b}),t[9]=y,t[10]=b,t[11]=x):x=t[11];let S;return t[12]!==v||t[13]!==x?(S=(0,o.jsxs)(`section`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-xl bg-surface-hover/20 p-4`,children:[v,x]}),t[12]=v,t[13]=x,t[14]=S):S=t[14],S}function c(e){return e.language}function l(e){return e.setMode}function u(e){return e.mode===`advanced`}export{s as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e}from"./locale-store-
|
|
1
|
+
import{p as e}from"./locale-store-LhhHA2sK.js";import{t}from"./middleware-Pd0e8Igk.js";var n=e(t(e=>({mode:`simple`,setMode:t=>e({mode:t}),setShowAdvanced:t=>e({mode:t?`advanced`:`simple`})}),{name:`xopc-web-settings-mode`}));function r(){return n(i)}function i(e){return e.mode===`advanced`}export{r as n,n as t};
|
package/dist/gateway/static/root/assets/{settings-page-CedwaHM0.js → settings-page-B_XKKvWr.js}
RENAMED
|
@@ -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{f as i,r as a}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{n as o}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{f as i,r as a}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{n as o}from"./locale-store-LhhHA2sK.js";import{t as s}from"./messages-C3xqMM9W.js";import{A as c,D as l,E as u,M as d,N as f,g as p,i as m,l as h,m as g,n as _,r as v,u as y,x as b}from"./route-preload-C22MIvup.js";var x=n(),S=e(t(),1),C=r(),w=[`overview`,`appearance`,`keyboard-shortcuts`,`personal`,`system`,`desktop-pet`,`desktop-app`,`agent-defaults`,`gateway`,`runtimes`,`devices`,`remote-access`,`shares`],T=(0,S.lazy)(()=>c().then(e=>({default:e.SetupStatusPanel}))),E=(0,S.lazy)(()=>m().then(e=>({default:e.AppearanceSettingsPanel}))),D=(0,S.lazy)(()=>p().then(e=>({default:e.KeyboardShortcutsSettingsPanel}))),O=(0,S.lazy)(()=>b().then(e=>({default:e.PersonalSettingsPanel}))),k=(0,S.lazy)(()=>f().then(e=>({default:e.SystemSettingsPanel}))),A=(0,S.lazy)(()=>h().then(e=>({default:e.DesktopPetSettings}))),j=(0,S.lazy)(()=>v().then(e=>({default:e.AppManagementSettingsPanel}))),M=(0,S.lazy)(()=>g().then(e=>({default:e.GatewaySettingsPanel}))),N=(0,S.lazy)(()=>l().then(e=>({default:e.RuntimeToolsSettingsPanel}))),P=(0,S.lazy)(()=>u().then(e=>({default:e.RemoteAccessHub}))),F=(0,S.lazy)(()=>d().then(e=>({default:e.SharesSettingsPanel}))),I=(0,S.lazy)(()=>_().then(e=>({default:e.AgentDefaultsSettingsPanel}))),L=(0,S.lazy)(()=>y().then(e=>({default:e.EndpointToolsManagementSettings})));function R(){let e=(0,x.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsxs)(`div`,{className:`w-full flex-1 px-3 py-8 sm:px-5 xl:px-6`,"aria-busy":!0,children:[(0,C.jsx)(`div`,{className:`h-8 w-48 max-w-full animate-pulse rounded-md bg-surface-hover`}),(0,C.jsx)(`div`,{className:`mt-6 h-36 animate-pulse rounded-xl bg-surface-hover`}),(0,C.jsx)(`div`,{className:`mt-4 h-24 animate-pulse rounded-xl bg-surface-hover`})]}),e[0]=t):t=e[0],t}function z(e){return(0,C.jsx)(S.Suspense,{fallback:(0,C.jsx)(R,{}),children:(0,C.jsx)(e,{})})}function B(){let e=(0,x.c)(28),{section:t}=i(),n=o(V),r,c,l,u,d;if(e[0]!==n||e[1]!==t){d=Symbol.for(`react.early_return_sentinel`);bb0:{let i=s(n);if(!t||!w.includes(t)){let t;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsx)(a,{to:`/settings/overview`,replace:!0}),e[7]=t):t=e[7],d=t;break bb0}let o=t;if(o===`overview`){let t;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(t=z(T),e[8]=t):t=e[8],d=t;break bb0}let f=i.settingsSections[o];if(o===`appearance`){let t;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(t=z(E),e[9]=t):t=e[9],d=t;break bb0}if(o===`keyboard-shortcuts`){let t;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(t=z(D),e[10]=t):t=e[10],d=t;break bb0}if(o===`personal`){let t;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(t=z(O),e[11]=t):t=e[11],d=t;break bb0}if(o===`system`){let t;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(t=z(k),e[12]=t):t=e[12],d=t;break bb0}if(o===`desktop-pet`){let t;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(t=z(A),e[13]=t):t=e[13],d=t;break bb0}if(o===`desktop-app`){let t;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(t=z(j),e[14]=t):t=e[14],d=t;break bb0}if(o===`agent-defaults`){let t;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(t=z(I),e[15]=t):t=e[15],d=t;break bb0}if(o===`gateway`){let t;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(t=z(M),e[16]=t):t=e[16],d=t;break bb0}if(o===`runtimes`){let t;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(t=z(N),e[17]=t):t=e[17],d=t;break bb0}if(o===`devices`){let t;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(t=z(L),e[18]=t):t=e[18],d=t;break bb0}if(o===`remote-access`){let t;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(t=z(P),e[19]=t):t=e[19],d=t;break bb0}if(o===`shares`){let t;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(t=z(F),e[20]=t):t=e[20],d=t;break bb0}l=`flex w-full flex-col gap-3 px-3 py-8 sm:px-5 xl:px-6`,u=(0,C.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:f}),r=`text-sm text-fg-muted`,c=i.settingsPage.comingSoon.replace(`{{title}}`,f)}e[0]=n,e[1]=t,e[2]=r,e[3]=c,e[4]=l,e[5]=u,e[6]=d}else r=e[2],c=e[3],l=e[4],u=e[5],d=e[6];if(d!==Symbol.for(`react.early_return_sentinel`))return d;let f;e[21]!==r||e[22]!==c?(f=(0,C.jsx)(`p`,{className:r,children:c}),e[21]=r,e[22]=c,e[23]=f):f=e[23];let p;return e[24]!==l||e[25]!==u||e[26]!==f?(p=(0,C.jsxs)(`div`,{className:l,children:[u,f]}),e[24]=l,e[25]=u,e[26]=f,e[27]=p):p=e[27],p}function V(e){return e.language}export{B as SettingsPage};
|
|
@@ -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-LhhHA2sK.js";import{t as i}from"./external-link-DjqjBmc3.js";import{t as a}from"./sparkles-DHlfQFAF.js";import{t as o}from"./cn-0WouolD0.js";import{t as s}from"./button-Cc4hUNTt.js";var c=e(),l=t();function u(e){let t=(0,c.c)(14),n,r,i,a,s;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],s=t[5]):({children:n,className:r,gap:a,padding:s,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=s);let u=a===void 0?`gap-5`:a,d=s===void 0?`px-4 py-6 sm:px-5 xl:px-6`:s,f;t[6]!==r||t[7]!==u||t[8]!==d?(f=o(`settings-page-frame mx-auto flex min-h-full w-full max-w-[56rem] flex-col`,u,d,r),t[6]=r,t[7]=u,t[8]=d,t[9]=f):f=t[9];let p;return t[10]!==n||t[11]!==i||t[12]!==f?(p=(0,l.jsx)(`div`,{className:f,...i,children:n}),t[10]=n,t[11]=i,t[12]=f,t[13]=p):p=t[13],p}var d={phone:{scene:`configure-phone`,zh:`帮我配置 Phone Use,从模型、依赖、手机连接到验收。`,en:`Help configure Phone Use: model, dependencies, phone connection and verification.`},browser:{scene:`configure-xopc`,zh:`帮我配置 Browser Use,连接本机 Chrome 并完成验收。`,en:`Help me configure Browser Use with local Chrome and verify it.`}};function f(e){let t=(0,c.c)(8),{target:i}=e,o=r(p)===`zh`,u=d[i],f=o?u.zh:u.en,m;t[0]!==u.scene||t[1]!==f?(m=new URLSearchParams({skill:`configure-xopc`,scene:u.scene,draft:f,autoSend:`1`}),t[0]=u.scene,t[1]=f,t[2]=m):m=t[2];let h=`/chat/new?${m}`,g=o?`让 AI 帮我配置`:`Set up with AI`,_;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,l.jsx)(a,{className:`size-4 shrink-0`,"aria-hidden":!0}),t[3]=_):_=t[3];let v=o?`AI 配置`:`AI setup`,y;return t[4]!==h||t[5]!==g||t[6]!==v?(y=(0,l.jsx)(s,{asChild:!0,className:`order-first whitespace-nowrap sm:order-last text-accent-fg shadow-none sm:shadow-none`,children:(0,l.jsxs)(n,{to:h,title:g,children:[_,v]})}),t[4]=h,t[5]=g,t[6]=v,t[7]=y):y=t[7],y}function p(e){return e.language}function m(e){let t=(0,c.c)(22),{title:n,subtitle:r,docsLink:a,docsLabel:s,meta:u,actions:d,aiSetup:p,className:m}=e,h=p?`grid grid-cols-[minmax(0,1fr)_auto] items-start gap-3`:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,g;t[0]!==m||t[1]!==h?(g=o(h,m),t[0]=m,t[1]=h,t[2]=g):g=t[2];let _;t[3]===n?_=t[4]:(_=(0,l.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight sm:text-lg text-fg`,children:n}),t[3]=n,t[4]=_);let v;t[5]===r?v=t[6]:(v=r?(0,l.jsx)(`p`,{className:`mt-2 text-sm leading-relaxed text-fg-muted sm:mt-1`,children:r}):null,t[5]=r,t[6]=v);let y;t[7]!==s||t[8]!==a?(y=a&&s?(0,l.jsxs)(`a`,{href:a,target:`_blank`,rel:`noreferrer`,className:`touch-target mt-1 inline-flex items-center gap-1 text-sm text-accent hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,children:[s,(0,l.jsx)(i,{className:`size-3.5`,"aria-hidden":!0})]}):null,t[7]=s,t[8]=a,t[9]=y):y=t[9];let b;t[10]!==u||t[11]!==_||t[12]!==v||t[13]!==y?(b=(0,l.jsxs)(`div`,{className:`min-w-0`,children:[_,v,y,u]}),t[10]=u,t[11]=_,t[12]=v,t[13]=y,t[14]=b):b=t[14];let x;t[15]!==d||t[16]!==p?(x=d||p?(0,l.jsxs)(`div`,{className:o(`flex shrink-0 items-center gap-2`,p?`min-w-0 max-w-[50vw] flex-col items-end sm:flex-row sm:justify-end`:`flex-wrap justify-start sm:justify-end`),children:[d,p&&(0,l.jsx)(f,{target:p})]}):null,t[15]=d,t[16]=p,t[17]=x):x=t[17];let S;return t[18]!==g||t[19]!==b||t[20]!==x?(S=(0,l.jsxs)(`header`,{className:g,children:[b,x]}),t[18]=g,t[19]=b,t[20]=x,t[21]=S):S=t[21],S}export{u as n,m as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./vendor-react-BOUWij0V.js";import{t as n}from"./cn-0WouolD0.js";import"./settings-page-header-
|
|
1
|
+
import{n as e,t}from"./vendor-react-BOUWij0V.js";import{t as n}from"./cn-0WouolD0.js";import"./settings-page-header-BEDxq_lT.js";var r=e(),i=t();function a(e){let t=(0,r.c)(13),{id:a,activeTab:o,tabIdPrefix:s,panelIdPrefix:c,title:l,hint:u,showHeading:d,framed:f,children:p,className:m}=e,h=d===void 0||d,g=f===void 0||f;if(o!==a)return null;let _=`${c}-${a}`,v=`${s}-${a}`,y=g&&`rounded-xl bg-surface-hover/20 px-4 py-5 sm:px-5`,b;t[0]!==m||t[1]!==y?(b=n(`min-w-0`,y,m),t[0]=m,t[1]=y,t[2]=b):b=t[2];let x;t[3]!==u||t[4]!==h||t[5]!==l?(x=h&&(l||u)?(0,i.jsxs)(`div`,{className:`mb-5`,children:[l?(0,i.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:l}):null,u?(0,i.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:u}):null]}):null,t[3]=u,t[4]=h,t[5]=l,t[6]=x):x=t[6];let S;return t[7]!==p||t[8]!==_||t[9]!==v||t[10]!==b||t[11]!==x?(S=(0,i.jsxs)(`section`,{id:_,role:`tabpanel`,"aria-labelledby":v,className:b,children:[x,p]}),t[7]=p,t[8]=_,t[9]=v,t[10]=b,t[11]=x,t[12]=S):S=t[12],S}export{a as t};
|
|
@@ -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{f as r,m as i,u as a}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{i 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,t as n}from"./vendor-react-BOUWij0V.js";import{f as r,m as i,u as a}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{i as o,n as s,o as c}from"./locale-store-LhhHA2sK.js";import{a as l,i as u,o as d,r as f,s as p,t as m}from"./dist-BGTk37IG.js";import{n as h,r as g}from"./popover-select-CEMWIrtY.js";import{t as _}from"./lock-keyhole-DEK5kH0u.js";import{t as v}from"./x-B_N4OPjy.js";import{t as y}from"./skeleton-BI5TyibZ.js";import{i as b}from"./vendor-swr-CdRzEUwF.js";import{t as x}from"./button-Cc4hUNTt.js";import{n as S,t as C}from"./phone-model-connection-DmYRqxCF.js";var w=e(t(),1),T=n();function E(){let{scene:e,setupId:t}=r(),[n]=i(),E=n.get(`conversationId`)??``,D=n.get(`step`),O=s(e=>e.language)===`zh`,k=a(),[A,j]=(0,w.useState)(!1),M=(0,w.useRef)(null),[N,P]=(0,w.useState)(!1),[F,I]=(0,w.useState)(``),[L,R]=(0,w.useState)(``),z=(0,w.useRef)(!1);(0,w.useEffect)(()=>{z.current=!1,j(!1),R(``),I(``)},[e,t,E]);let B=[`browser`,`phone`].includes(e??``)&&!!(t&&E),V=async(n,r={})=>(await c(o(`/api/${e}/setup`),{method:`POST`,body:JSON.stringify({conversationId:E,setupId:t,action:n,...r})})).payload,{data:H,error:U,mutate:W}=b(B?[`setup-interaction`,e,t,E]:null,()=>V(`get`),{refreshInterval:2e3}),G=e=>e.id===t&&e.conversationId===E&&!e.stale&&![`cancelled`,`completed`].includes(e.state),K=()=>{!N&&!z.current&&k(`/chat/${encodeURIComponent(E)}`,{replace:!0})},q=async(t=``)=>{if(!z.current){z.current=!0,P(!0),I(``);try{let n=await V(`recheck`);if(!G(n))throw Error(`changed`);if(e===`browser`&&!n.endpoints?.some(e=>e.endpointId===t))throw Error(`not-connected`);let r=e===`browser`?O?`允许仅在独立测试页进行读取、点击和示例输入的有界验收,完成后关闭并确认释放,不操作业务网页。`:`I authorize bounded read, click and sample input on the isolated test page only; close and confirm release afterwards. Do not operate business pages.`:``,i=O?`人工配置步骤已完成。${r}请先重新检查本对话 ${e===`browser`?`Browser Use`:`Phone Use`} 的配置进度,继续此前已授权的流程。${t?`本次选择:${t}。`:``}不要扩大设备、权限或任务范围;取消或过期的授权不能恢复。`:`The manual setup step is complete. ${r} Recheck this conversation’s ${e===`browser`?`Browser Use`:`Phone Use`} setup before continuing the previously authorized flow.${t?` Selected target: ${t}.`:``} Do not widen device, permission or task scope, or revive cancelled or expired grants.`,a=new URLSearchParams({draft:i,autoSend:`1`});k(`/chat/${encodeURIComponent(E)}?${a}`,{replace:!0})}catch{z.current=!1,I(O?`尚未检测到有效配置,或原请求已变更。请检查后重试。`:`The setup is not ready or the original request changed. Check and try again.`)}finally{P(!1)}}},J=H&&G(H);if(J&&e===`phone`&&D===`connection`&&H.source===`aliyun`&&!A)return(0,T.jsx)(S,{zh:O,initialMethod:`aliyun`,onClose:K,onSelect:()=>{I(O?`请在原对话确认本机设备。`:`Confirm the local device in the original chat.`)},onAdded:()=>{j(!0),q()}});let Y=e===`browser`?O?`完成浏览器连接`:`Finish browser connection`:D===`model`?O?`配置手机模型`:`Set up Phone model`:O?`完成手机连接`:`Finish phone connection`;return(0,T.jsx)(`main`,{className:`h-full bg-surface-base`,children:(0,T.jsx)(m,{open:!0,onOpenChange:e=>{e||K()},children:(0,T.jsxs)(d,{children:[(0,T.jsx)(l,{className:`fixed inset-0 z-[70] bg-scrim backdrop-blur-sm`}),(0,T.jsxs)(f,{onOpenAutoFocus:e=>{e.preventDefault(),M.current?.focus()},className:`fixed inset-x-0 bottom-0 z-[70] flex h-[min(36rem,calc(100dvh-1rem))] flex-col overflow-hidden rounded-t-3xl border border-edge bg-surface-overlay text-fg sm:inset-x-auto sm:bottom-auto sm:left-1/2 sm:top-1/2 sm:w-[30rem] sm:-translate-x-1/2 sm:-translate-y-1/2 sm:rounded-3xl`,children:[(0,T.jsxs)(`header`,{className:`relative shrink-0 px-6 pb-5 pt-8 text-center`,children:[(0,T.jsx)(x,{variant:`ghost`,className:`absolute right-2 top-2 size-11 p-0`,disabled:N,"aria-label":O?`暂时关闭`:`Close for now`,onClick:K,children:(0,T.jsx)(v,{className:`size-4`,"aria-hidden":!0})}),(0,T.jsx)(_,{className:`mx-auto mb-4 size-6 text-accent-fg`,"aria-hidden":!0}),(0,T.jsx)(p,{ref:M,tabIndex:-1,className:`text-xl font-semibold focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:Y}),(0,T.jsx)(u,{className:`mt-3 text-sm text-fg-muted`,children:O?`只完成需要你操作的一步,密钥不会进入对话。`:`Complete only the step that needs you. Secrets never enter the conversation.`})]}),(0,T.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-6 pb-5`,children:[!H&&!U&&B?(0,T.jsx)(y,{className:`h-32 w-full rounded-xl`}):J?e===`phone`&&D===`model`?(0,T.jsx)(C,{zh:O,value:H.readiness?.model.ref??``,disabled:N,onSave:async e=>{P(!0);try{await V(`set_model`,{modelRef:e,expectedRevision:H.revision,replaceExisting:!0}),await W()}finally{P(!1)}await q()}}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`p`,{className:`text-sm leading-relaxed text-fg-muted`,children:e===`browser`?O?`在 Gateway 所在电脑的 Chrome 加载已准备的扩展,并接受你同意的原生权限。随后选择这个 Chrome,系统会在独立测试页验证读取、点击和输入,再释放控制。`:`Load the prepared extension in Chrome on the Gateway computer and accept the native permissions you agree to. Select that Chrome to verify read, click and fill on an isolated test page, then release control.`:O?`连接并解锁 Gateway 所在电脑上的测试手机,按手机提示确认 USB 调试。返回后会重新检查设备,只继续此前授权的设置页测试。`:`Connect and unlock the test phone on the Gateway computer and confirm USB debugging on the phone. The device will be rechecked before the previously authorized Settings test continues.`}),e===`browser`?(0,T.jsxs)(`label`,{className:`block space-y-2 text-sm`,children:[(0,T.jsx)(`span`,{children:O?`用于验收的 Chrome`:`Chrome to verify`}),(0,T.jsxs)(h,{"aria-label":O?`用于验收的 Chrome`:`Chrome to verify`,value:L,onChange:e=>R(e.target.value),children:[(0,T.jsx)(g,{value:``,children:O?`选择 Chrome`:`Choose Chrome`}),H.endpoints?.map(e=>(0,T.jsx)(g,{value:e.endpointId,children:e.displayName},e.endpointId))]})]}):null]}):(0,T.jsx)(`p`,{role:`alert`,className:`text-sm text-fg-muted`,children:O?`此配置请求已失效或无法读取,请返回原对话重新检查。`:`This setup is no longer valid or could not be loaded. Return to the original chat to recheck.`}),F?(0,T.jsx)(`p`,{role:`alert`,className:`text-sm text-danger`,children:F}):null]}),(0,T.jsxs)(`footer`,{className:`shrink-0 space-y-2 border-t border-edge p-5 pb-[max(1.25rem,env(safe-area-inset-bottom))]`,children:[J&&!(e===`phone`&&D===`model`)?(0,T.jsx)(x,{variant:`primary`,className:`min-h-12 w-full`,disabled:N||e===`browser`&&!L,onClick:()=>{q(L)},children:e===`browser`?O?`核对并开始安全验收`:`Recheck and start safe test`:O?`检查并继续原对话`:`Recheck and continue in chat`}):null,(0,T.jsx)(x,{variant:`ghost`,className:`min-h-11 w-full`,disabled:N,onClick:K,children:O?`返回原对话`:`Return to original chat`})]})]})]})})})}export{E as SetupInteractionPage};
|
|
@@ -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-CAZaC05J.js";import{t as l}from"./messages-C7fckbyG.js";import{t as u}from"./activity-YogQEteU.js";import{t as d}from"./chevron-right-BweFrslA.js";import{t as f}from"./circle-check-C23XjkUj.js";import{t as p}from"./circle-x-DFsCKeya.js";import{t as m}from"./circle-BoO4YvTx.js";import{t as h}from"./info-CDrmIZhb.js";import{t as g}from"./loader-circle-CifKLtgG.js";import{t as _}from"./refresh-cw-BRlGaq2w.js";import{t as v}from"./stethoscope-DRqTAtjD.js";import{t as y}from"./triangle-alert-2JXFNNKU.js";import{t as b}from"./cn-0WouolD0.js";import{t as x}from"./skeleton-BI5TyibZ.js";import{i as S}from"./vendor-swr-CdRzEUwF.js";import{r as C}from"./gateway-config-swr-Cq-ByXL4.js";import{n as w}from"./gateway-realtime-store-CHrf6-nR.js";import{n as T,t as E}from"./registry-api-fLOqFyrz.js";import{t as D}from"./button-Cc4hUNTt.js";import{n as ee}from"./interaction-BdhHBbYa.js";import{n as O}from"./is-masked-secret-DOkL5b_X.js";import{n as k}from"./electron-env-DHOGevH3.js";import{t as A}from"./skill-list-api-Bv0mmHbu.js";import{n as j}from"./settings-loading-skeleton-BTqvr_Fw.js";import{n as M}from"./providers-api-CAeXbJNF.js";import{n as N,t as P}from"./settings-page-header-LuOJvqNa.js";import"./settings-page-layout-CduQ8w4a.js";import{n as F,t as I}from"./settings-form-section-num14vSv.js";import{t as L}from"./settings-advanced-gate-CZ4J3Kuy.js";import{r as R,t as te}from"./runtime-tools-api-D0Nrvuqv.js";var z=n(),B=e(t(),1),V=r();function H(){let e=s(e=>e.language)===`zh`,t=l(e?`zh`:`en`).runtimeToolsSettings,{data:n,error:r,mutate:i}=S(a(`/api/runtime-tools`),te),[o,c]=(0,B.useState)(),[u,d]=(0,B.useState)(),f=n?.payload.statuses??[],p=f.some(e=>![`ready`,`disabled`,`unsupported`].includes(e.state));async function m(t,r){c(t),d(void 0);try{await R({runtime:t,action:r?`repair`:`install`,version:n?.payload.config[t].version,onProgress:e=>d(e.message)}),await i(),d(e?`操作完成,已刷新执行环境状态。`:`Completed and refreshed environment status.`)}catch(e){d(e instanceof Error?e.message:String(e))}finally{c(void 0)}}return(0,V.jsxs)(`details`,{open:p||void 0,className:`rounded-xl bg-surface-hover/20 p-4`,children:[(0,V.jsxs)(`summary`,{className:`cursor-pointer text-sm font-medium text-fg`,children:[e?`执行环境状态`:`Execution environment status`,n?` · ${f.filter(e=>e.state===`ready`).length}/${f.length}`:``]}),r?(0,V.jsxs)(`div`,{role:`alert`,className:`mt-3 text-sm text-danger`,children:[t.loadError,(0,V.jsx)(D,{variant:`ghost`,onClick:()=>void i(),children:t.refresh})]}):n?(0,V.jsx)(`div`,{className:`mt-3 space-y-3`,children:f.map(e=>(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(`p`,{className:`text-sm text-fg`,children:t.runtimeNames[e.runtime]}),(0,V.jsx)(`p`,{className:`text-xs text-fg-muted`,children:e.message})]}),n.payload.config.enabled&&n.payload.config[e.runtime].enabled&&![`ready`,`disabled`,`unsupported`,`installing`].includes(e.state)?(0,V.jsx)(D,{disabled:!!o,onClick:()=>void m(e.runtime,e.repairable),children:o===e.runtime?t.working:e.repairable?t.repair:t.install}):null]},e.runtime))}):(0,V.jsx)(x,{className:`mt-3 h-20`}),u?(0,V.jsx)(`p`,{role:`status`,className:`mt-3 text-xs text-fg-muted`,children:u}):null]})}function U(e){if(!e||typeof e!=`object`)return 0;let t=e.providers;return!t||typeof t!=`object`||Array.isArray(t)?0:Object.values(t).filter(e=>typeof e==`string`&&O(e)).length}function W(e){if(!e||typeof e!=`object`)return``;let t=e.agents;if(!t||typeof t!=`object`||Array.isArray(t))return``;let n=t.defaults,r=n&&typeof n==`object`&&!Array.isArray(n)?n.models:void 0;if(!r||typeof r!=`object`||Array.isArray(r))return``;let i=r.chat;if(!i||typeof i!=`object`||Array.isArray(i))return``;let a=i.primary;return typeof a==`string`?a.trim():``}function G(e){if(!e||typeof e!=`object`)return!1;let t=e.channels;return!t||typeof t!=`object`||Array.isArray(t)?!1:Object.values(t).some(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;if(`configured`in t||`config`in t||`schema`in t||`uiHints`in t){if(t.configured===!0)return!0;let e=t.config;if(!e||typeof e!=`object`||Array.isArray(e))return!1;let n=e;return n.enabled===!0||Object.keys(n).length>0}return t.enabled===!0||Object.keys(t).length>0})}function K(e){if(!e||typeof e!=`object`)return{enabled:!1,driverKind:`extension`};let t=e.browser;if(!t||typeof t!=`object`||Array.isArray(t))return{enabled:!1,driverKind:`extension`};let n=t,r=n.driver&&typeof n.driver==`object`&&!Array.isArray(n.driver)?n.driver:void 0;return{enabled:n.enabled===!0,driverKind:typeof r?.kind==`string`&&r.kind.trim()?r.kind.trim():`extension`}}function q(e){return e?`pass`:`fail`}function ne(e){if(e===`tool-runtimes`)return`/settings/runtimes`;if(e===`provider-auth`)return`/settings/capabilities/models`;if(e===`config-health`)return`/settings/gateway`;if(e===`state-integrity`||e===`workspace-status`)return`/capabilities/agents`;if(e===`database-schema`||e===`session-integrity`)return`/settings/sessions`;if(e===`channel-config`||e===`channel-pairing-pending`||e.startsWith(`channel:`))return`/capabilities/channels`;if(e===`security-audit`||e===`gateway-service`||e===`gateway-health`)return`/settings/gateway`;if(e===`version-check`)return`/settings/desktop-app`}function J(e){return{fail:4,warn:3,skip:2,pass:1}[e]}function Y(e,t){let n=e.match(/^Run(?::|\s)(.*)$/i);if(n?.[1])return t.runCommand(n[1].trim());let r=e.match(/^Install(?::|\s)(.*)$/i);if(r?.[1])return t.installCommand(r[1].trim());let i=e.match(/^Start(?::|\s)(.*)$/i);return i?.[1]?t.startCommand(i[1].trim()):e}function X(e,t){if(!t)return e;let n=e.message;if(e.id===`tool-runtimes`){let r=e.message.match(/^(.*) runtime is not installed\.$/),i=e.message.match(/^(.*) runtime installation is invalid\.$/);r?.[1]?n=t.runtimeMissing(r[1]):i?.[1]&&(n=t.runtimeInvalid(i[1]))}else if(e.id===`gateway-service`)if(e.message===`Gateway is not installed as a system service.`)n=t.gatewayNotInstalled;else{let r=e.message.match(/^Service backend unavailable: (.*)$/),i=e.message.match(/^Gateway service is installed but not running \(status: (.*)\)\.$/);r?.[1]?n=t.gatewayUnavailable(r[1]):i?.[1]&&(n=t.gatewayNotRunning(i[1]))}else e.id===`provider-auth`&&e.message===`No API keys detected for configured providers.`&&(n=t.providerAuthMissing);return{...e,label:t.labels[e.id]??e.label,message:n,hints:e.hints.map(e=>Y(e,t))}}function Z(e,t){return e.filter(e=>e.status===`fail`||e.status===`warn`).map(e=>{let n=X(e,t);return{id:n.id,label:n.label,status:n.status,message:n.message,hints:n.hints,path:ne(n.id),source:`doctor`}}).toSorted((e,t)=>J(t.status)-J(e.status)||e.label.localeCompare(t.label))}function re(e){let t=new Map(e.doctorChecks.map(e=>[e.id,e])),n=[];for(let r of[`security-audit`,`channel-config`,`channel-pairing-pending`,`gateway-health`]){let i=t.get(r);if(i){let t=X(i,e.copy);n.push({id:t.id,label:t.label,status:t.status,message:t.message,path:ne(t.id)})}}if(e.logsHealth){let t=e.logsHealth.stats?.errorsLast24h??0;n.push({id:`logs-health`,label:e.copy?.labels[`logs-health`]??`Logs`,status:e.logsHealth.shuttingDown||t>0?`warn`:`pass`,message:e.copy?e.logsHealth.shuttingDown?e.copy.logsShuttingDown:t>0?e.copy.logsErrors(t):e.copy.logsHealthy:e.logsHealth.shuttingDown?`Logger is shutting down.`:t>0?`${t} error(s) in the last 24 hours.`:`Log system is healthy.`,path:`/settings/logs`})}for(let t of e.browserDiagnostics??[]){let r=t.message;if(e.copy){r={"Local Chromium is installed.":e.copy.chromiumInstalled,"Local Chromium is not installed.":e.copy.chromiumNotInstalled,"Chrome extension bridge is connected.":e.copy.extensionConnected,"Chrome extension needs refresh.":e.copy.extensionNeedsRefresh,"Chrome extension is installed but not connected.":e.copy.extensionNotConnected,"Chrome extension is not installed.":e.copy.extensionNotInstalled}[t.message]??t.message;let n=t.message.match(/^Browser driver "(.*)" is configured\.$/);n?.[1]&&(r=e.copy.browserDriverConfigured(n[1]))}n.push({...t,label:e.copy?.labels[t.id]??t.label,message:r})}return n}function ie(e){let t=U(e.config),n=e.providerMeta?.configured??t,r=e.providerMeta?.total??0,i=n>0||t>0,a=W(e.config),o=a.length>0,s=e.hasToken&&e.realtimeConnected,c=G(e.config),l=e.skillCount>0,u=(e.doctorChecks??[]).filter(t=>!e.isElectron||t.id!==`gateway-service`),d=Z(u,e.labels.diagnostics),f=[{id:`gateway`,done:s,detail:s?e.labels.gatewayOnline:e.labels.gatewayOffline},{id:`provider`,done:i,detail:i?e.providerMeta&&e.providerMeta.total>0?e.labels.providersMetaReady(n,r):e.labels.providersConfigured(t):e.labels.providersMissing},{id:`defaultModel`,done:o,detail:o?e.labels.modelConfigured(a):e.labels.modelMissing},{id:`channel`,done:c,optional:!0,detail:c?e.labels.channelConfigured:e.labels.channelMissing},{id:`skill`,done:l,optional:!0,detail:l?e.labels.skillsConfigured(e.skillCount):e.labels.skillsMissing}],p=f.filter(e=>!e.optional).every(e=>e.done),m=f.every(e=>e.done),h=[{id:`gateway`,status:q(s),title:`Gateway`,detail:s?e.labels.gatewayOnline:e.labels.gatewayOffline,path:`/settings/gateway`},{id:`provider`,status:q(i),title:`Model provider`,detail:i?e.providerMeta&&e.providerMeta.total>0?e.labels.providersMetaReady(n,r):e.labels.providersConfigured(t):e.labels.providersMissing,path:`/settings/capabilities/models`},{id:`defaultModel`,status:q(o),title:`Default model`,detail:o?e.labels.modelConfigured(a):e.labels.modelMissing,path:`/settings/capabilities/models`},{id:`ready`,status:p?`pass`:`fail`,title:`Chat readiness`,detail:p?e.labels.readyToChat:e.labels.modelMissing,path:`/chat`}],g=d.some(e=>e.status===`fail`),_=d.some(e=>e.status===`warn`),v=g?`blocked`:_?`attention`:p?`ready`:`setup`,y=re({doctorChecks:u,logsHealth:e.logsHealth,browserDiagnostics:e.browserDiagnostics,copy:e.labels.diagnostics});return{gatewayConnected:s,providerConfigured:i,providerCount:t,providerMetaConfigured:n,providerMetaTotal:r,defaultModel:a,defaultModelConfigured:o,channelConfigured:c,skillInstalled:l,skillCount:e.skillCount,checklist:f,readiness:h,issues:d,healthTier:v,diagnosticSignals:y,requiredComplete:p,allComplete:m}}function ae(e){return K(e)}function oe(e){return!e.id||!e.label||!e.status||!e.message||![`pass`,`warn`,`fail`,`skip`].includes(e.status)?null:{id:e.id,label:e.label,status:e.status,message:e.message,hints:Array.isArray(e.hints)?e.hints.filter(e=>typeof e==`string`):[],fixed:e.fixed===!0,findings:Array.isArray(e.findings)?e.findings:void 0}}function se(){return a(`/api/doctor`)}async function ce(){return((await c(se())).checks??[]).map(oe).filter(e=>e!==null)}function le(){return a(`/api/logs/health`)}async function ue(){return c(le())}function Q(e){return e?`pass`:`warn`}function de(e){return e?.enabled?[`setup-browser-diagnostics`,e]:null}async function fe(e){if(!e.enabled)return[];if(e.driverKind===`playwright`){let e=await c(a(`/api/browser/playwright/doctor`)),t=e.payload?.installed===!0;return[{id:`browser-playwright`,label:`Browser: Playwright`,status:Q(t),message:t?`Local Chromium is installed.`:e.payload?.reason??`Local Chromium is not installed.`,path:`/settings/agent-browser`}]}if(e.driverKind===`extension`){let e=await c(a(`/api/browser/extension-status?probe=true`)),t=e.artifacts?.installed===!0,n=e.connected===!0,r=e.artifacts?.needsRefresh===!0||e.artifacts?.needsChromeReload===!0;return[{id:`browser-extension`,label:`Browser: Chrome extension`,status:n?`pass`:`warn`,message:n?`Chrome extension bridge is connected.`:t?r?`Chrome extension needs refresh.`:`Chrome extension is installed but not connected.`:`Chrome extension is not installed.`,path:`/settings/agent-browser`}]}return[{id:`browser-playwright`,label:`Browser`,status:`skip`,message:`Browser driver "${e.driverKind}" is configured.`,path:`/settings/agent-browser`}]}function $(){let e=(0,z.c)(95),t=o(ve),n=s(_e),r;e[0]===n?r=e[1]:(r=l(n),e[0]=n,e[1]=r);let i=r,a=i.setupStatus.labels,c=i.setupStatus.diagnostics,u=w(ge),{data:d,error:f,isLoading:p,mutate:m}=C(!!t),h;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(h={revalidateOnFocus:!1},e[2]=h):h=e[2];let{data:g,error:_,isLoading:v,mutate:y}=S(t?`setup-checklist-skills`:null,he,h),b;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(b={revalidateOnFocus:!1},e[3]=b):b=e[3];let{data:x,error:D,isLoading:ee,mutate:O}=S(t?`setup-checklist-provider-meta`:null,M,b),A;e[4]===t?A=e[5]:(A=t?se():null,e[4]=t,e[5]=A);let j;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(j={revalidateOnFocus:!1},e[6]=j):j=e[6];let{data:N,error:P,isLoading:F,mutate:I}=S(A,ce,j),L;e[7]===t?L=e[8]:(L=t?le():null,e[7]=t,e[8]=L);let R;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(R={revalidateOnFocus:!1},e[9]=R):R=e[9];let{data:te,isLoading:B,mutate:V}=S(L,ue,R);d?.payload?.config;let H=d?.payload?.config,U;e[10]===H?U=e[11]:(U=ae(H),e[10]=H,e[11]=U);let W=t?U:null,G;e[12]===W?G=e[13]:(G=de(W),e[12]=W,e[13]=G);let K;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(K={revalidateOnFocus:!1},e[14]=K):K=e[14];let{data:q,isLoading:ne,mutate:J}=S(G,me,K),Y;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(Y={revalidateOnFocus:!1},e[15]=Y):Y=e[15],S(t?E:null,T,Y);let X=!t||!p&&!v&&!ee&&!F&&!B&&!ne,Z=!!(f||_||D||P),re;bb0:{if(!t||!X){re=null;break bb0}let n=g?.catalog?.length??0,r;if(e[16]!==q||e[17]!==d?.payload?.config||e[18]!==c.browserDriverConfigured||e[19]!==c.chromiumInstalled||e[20]!==c.chromiumNotInstalled||e[21]!==c.extensionConnected||e[22]!==c.extensionNeedsRefresh||e[23]!==c.extensionNotConnected||e[24]!==c.extensionNotInstalled||e[25]!==c.gatewayNotInstalled||e[26]!==c.gatewayNotRunning||e[27]!==c.gatewayUnavailable||e[28]!==c.installCommand||e[29]!==c.labels||e[30]!==c.logsErrors||e[31]!==c.logsHealthy||e[32]!==c.logsShuttingDown||e[33]!==c.providerAuthMissing||e[34]!==c.runCommand||e[35]!==c.runtimeInvalid||e[36]!==c.runtimeMissing||e[37]!==c.startCommand||e[38]!==N||e[39]!==a.channelConfigured||e[40]!==a.channelMissing||e[41]!==a.gatewayOffline||e[42]!==a.gatewayOnline||e[43]!==a.modelConfigured||e[44]!==a.modelMissing||e[45]!==a.providersConfigured||e[46]!==a.providersMetaReady||e[47]!==a.providersMissing||e[48]!==a.skillsConfigured||e[49]!==a.skillsMissing||e[50]!==te||e[51]!==i.setupStatus.requiredCompleteMessage||e[52]!==x||e[53]!==u||e[54]!==n||e[55]!==t){let o=x?.filter(pe).length??0,s=x?.length??0,l;e[57]===a.providersConfigured?l=e[58]:(l=e=>a.providersConfigured.replace(`{{count}}`,String(e)),e[57]=a.providersConfigured,e[58]=l);let f;e[59]===a.providersMetaReady?f=e[60]:(f=(e,t)=>a.providersMetaReady.replace(`{{configured}}`,String(e)).replace(`{{total}}`,String(t)),e[59]=a.providersMetaReady,e[60]=f);let p;e[61]===a.modelConfigured?p=e[62]:(p=e=>a.modelConfigured.replace(`{{model}}`,e),e[61]=a.modelConfigured,e[62]=p);let m;e[63]===a.skillsConfigured?m=e[64]:(m=e=>a.skillsConfigured.replace(`{{count}}`,String(e)),e[63]=a.skillsConfigured,e[64]=m);let h;e[65]===c.runtimeMissing?h=e[66]:(h=e=>c.runtimeMissing.replace(`{{runtimes}}`,e),e[65]=c.runtimeMissing,e[66]=h);let g;e[67]===c.runtimeInvalid?g=e[68]:(g=e=>c.runtimeInvalid.replace(`{{runtimes}}`,e),e[67]=c.runtimeInvalid,e[68]=g);let _;e[69]===c.gatewayUnavailable?_=e[70]:(_=e=>c.gatewayUnavailable.replace(`{{detail}}`,e),e[69]=c.gatewayUnavailable,e[70]=_);let v;e[71]===c.gatewayNotRunning?v=e[72]:(v=e=>c.gatewayNotRunning.replace(`{{status}}`,e),e[71]=c.gatewayNotRunning,e[72]=v);let y;e[73]===c.runCommand?y=e[74]:(y=e=>c.runCommand.replace(`{{command}}`,e),e[73]=c.runCommand,e[74]=y);let b;e[75]===c.installCommand?b=e[76]:(b=e=>c.installCommand.replace(`{{command}}`,e),e[75]=c.installCommand,e[76]=b);let S;e[77]===c.startCommand?S=e[78]:(S=e=>c.startCommand.replace(`{{command}}`,e),e[77]=c.startCommand,e[78]=S);let C;e[79]===c.logsErrors?C=e[80]:(C=e=>c.logsErrors.replace(`{{count}}`,String(e)),e[79]=c.logsErrors,e[80]=C);let w;e[81]===c.browserDriverConfigured?w=e[82]:(w=e=>c.browserDriverConfigured.replace(`{{driver}}`,e),e[81]=c.browserDriverConfigured,e[82]=w),r=ie({isElectron:k(),hasToken:!!t,realtimeConnected:u,config:d?.payload?.config,skillCount:n,providerMeta:s>0?{configured:o,total:s}:null,doctorChecks:N,logsHealth:te,browserDiagnostics:q,labels:{gatewayOnline:a.gatewayOnline,gatewayOffline:a.gatewayOffline,providersConfigured:l,providersMetaReady:f,providersMissing:a.providersMissing,modelConfigured:p,modelMissing:a.modelMissing,channelConfigured:a.channelConfigured,channelMissing:a.channelMissing,skillsConfigured:m,skillsMissing:a.skillsMissing,readyToChat:i.setupStatus.requiredCompleteMessage,diagnostics:{labels:c.labels,runtimeMissing:h,runtimeInvalid:g,gatewayNotInstalled:c.gatewayNotInstalled,gatewayUnavailable:_,gatewayNotRunning:v,providerAuthMissing:c.providerAuthMissing,runCommand:y,installCommand:b,startCommand:S,logsHealthy:c.logsHealthy,logsShuttingDown:c.logsShuttingDown,logsErrors:C,chromiumInstalled:c.chromiumInstalled,chromiumNotInstalled:c.chromiumNotInstalled,extensionConnected:c.extensionConnected,extensionNeedsRefresh:c.extensionNeedsRefresh,extensionNotConnected:c.extensionNotConnected,extensionNotInstalled:c.extensionNotInstalled,browserDriverConfigured:w}}}),e[16]=q,e[17]=d?.payload?.config,e[18]=c.browserDriverConfigured,e[19]=c.chromiumInstalled,e[20]=c.chromiumNotInstalled,e[21]=c.extensionConnected,e[22]=c.extensionNeedsRefresh,e[23]=c.extensionNotConnected,e[24]=c.extensionNotInstalled,e[25]=c.gatewayNotInstalled,e[26]=c.gatewayNotRunning,e[27]=c.gatewayUnavailable,e[28]=c.installCommand,e[29]=c.labels,e[30]=c.logsErrors,e[31]=c.logsHealthy,e[32]=c.logsShuttingDown,e[33]=c.providerAuthMissing,e[34]=c.runCommand,e[35]=c.runtimeInvalid,e[36]=c.runtimeMissing,e[37]=c.startCommand,e[38]=N,e[39]=a.channelConfigured,e[40]=a.channelMissing,e[41]=a.gatewayOffline,e[42]=a.gatewayOnline,e[43]=a.modelConfigured,e[44]=a.modelMissing,e[45]=a.providersConfigured,e[46]=a.providersMetaReady,e[47]=a.providersMissing,e[48]=a.skillsConfigured,e[49]=a.skillsMissing,e[50]=te,e[51]=i.setupStatus.requiredCompleteMessage,e[52]=x,e[53]=u,e[54]=n,e[55]=t,e[56]=r}else r=e[56];re=r}let oe=re,Q;e[83]!==J||e[84]!==m||e[85]!==I||e[86]!==V||e[87]!==O||e[88]!==y?(Q=async()=>{await Promise.all([m(),y(),O(),I(),V(),J()])},e[83]=J,e[84]=m,e[85]=I,e[86]=V,e[87]=O,e[88]=y,e[89]=Q):Q=e[89];let fe=Q,$;return e[90]!==Z||e[91]!==X||e[92]!==fe||e[93]!==oe?($={ready:X,error:Z,snapshot:oe,refresh:fe},e[90]=Z,e[91]=X,e[92]=fe,e[93]=oe,e[94]=$):$=e[94],$}function pe(e){return e.configured}function me(e){let[,t]=e;return fe(t)}function he(){return A()}function ge(e){return e.connectionState===`connected`}function _e(e){return e.language}function ve(e){return e.conversationId}function ye(e){return e===`pass`?`bg-success-soft text-success`:e===`warn`?`bg-amber-500/10 text-amber-700 dark:text-amber-300`:e===`fail`?`bg-red-500/10 text-red-700 dark:text-red-300`:`bg-surface-hover text-fg-muted`}function be(e){return e===`pass`?f:e===`warn`?y:e===`fail`?p:h}function xe(e,t){return e===`blocked`?{icon:p,className:`bg-red-500/10 text-red-950 dark:text-red-100`,title:t.health.blockedTitle,body:t.health.blockedBody,action:t.health.viewIssues,targetId:`next-steps`}:e===`attention`?{icon:y,className:`bg-amber-500/10 text-amber-950 dark:text-amber-100`,title:t.health.attentionTitle,body:t.health.attentionBody,action:t.health.viewIssues,targetId:`next-steps`}:e===`setup`?{icon:m,className:`bg-surface-hover/50 text-fg`,title:t.health.setupTitle,body:t.health.setupBody,action:t.health.continueSetup,targetId:`next-steps`}:{icon:f,className:`bg-success-soft text-success`,title:t.health.readyTitle,body:t.health.readyBody,action:t.health.startChat,actionPath:`/chat`}}function Se(e){let t=(0,z.c)(46),{tier:n,issueCount:r,onRunDoctor:a,ready:o,doctorRunning:c,doctorRunState:u}=e,f=s(Ce),p,m,h,v,y,x,S,C,w;if(t[0]!==r||t[1]!==f||t[2]!==n){m=l(f).setupStatus;let e=xe(n,m),a=e.icon,o=`targetId`in e&&typeof e.targetId==`string`?e.targetId:null,s=`actionPath`in e&&typeof e.actionPath==`string`?e.actionPath:`/chat`;p=o?(0,V.jsxs)(`button`,{type:`button`,onClick:()=>document.getElementById(o)?.scrollIntoView({block:`start`,behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`}),className:`inline-flex items-center gap-1 rounded-lg bg-surface-base px-3 py-2 text-sm font-medium text-fg shadow-sm hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[e.action,(0,V.jsx)(d,{className:`size-4`,"aria-hidden":!0})]}):(0,V.jsxs)(i,{to:s,className:`inline-flex items-center gap-1 rounded-lg bg-surface-base px-3 py-2 text-sm font-medium text-fg shadow-sm hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[e.action,(0,V.jsx)(d,{className:`size-4`,"aria-hidden":!0})]}),w=b(`rounded-xl p-4`,e.className),C=`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,x=`flex min-w-0 gap-3`,S=(0,V.jsx)(a,{className:`mt-0.5 size-5 shrink-0`,"aria-hidden":!0}),h=`min-w-0`,v=(0,V.jsx)(`h2`,{className:`text-base font-semibold`,children:e.title}),y=r>0?(0,V.jsx)(`p`,{className:`mt-1 text-sm opacity-80`,children:m.health.issueCount.replace(`{{count}}`,String(r))}):null,t[0]=r,t[1]=f,t[2]=n,t[3]=p,t[4]=m,t[5]=h,t[6]=v,t[7]=y,t[8]=x,t[9]=S,t[10]=C,t[11]=w}else p=t[3],m=t[4],h=t[5],v=t[6],y=t[7],x=t[8],S=t[9],C=t[10],w=t[11];let T;t[12]!==h||t[13]!==v||t[14]!==y?(T=(0,V.jsxs)(`div`,{className:h,children:[v,y]}),t[12]=h,t[13]=v,t[14]=y,t[15]=T):T=t[15];let E;t[16]!==x||t[17]!==S||t[18]!==T?(E=(0,V.jsxs)(`div`,{className:x,children:[S,T]}),t[16]=x,t[17]=S,t[18]=T,t[19]=E):E=t[19];let D;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=b(`inline-flex items-center gap-2 rounded-lg bg-surface-base/70 px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,ee.press),t[20]=D):D=t[20];let O=!o||c,k;t[21]===c?k=t[22]:(k=c?(0,V.jsx)(g,{className:`size-4 animate-spin`,"aria-hidden":!0}):(0,V.jsx)(_,{className:`size-4`,"aria-hidden":!0}),t[21]=c,t[22]=k);let A=c?m.health.runDoctorRunning:m.health.runDoctor,j;t[23]!==c||t[24]!==a||t[25]!==O||t[26]!==k||t[27]!==A?(j=(0,V.jsxs)(`button`,{type:`button`,className:D,onClick:a,disabled:O,"aria-busy":c,children:[k,A]}),t[23]=c,t[24]=a,t[25]=O,t[26]=k,t[27]=A,t[28]=j):j=t[28];let M;t[29]!==p||t[30]!==j?(M=(0,V.jsxs)(`div`,{className:`flex shrink-0 flex-wrap gap-2`,children:[p,j]}),t[29]=p,t[30]=j,t[31]=M):M=t[31];let N;t[32]!==M||t[33]!==C||t[34]!==E?(N=(0,V.jsxs)(`div`,{className:C,children:[E,M]}),t[32]=M,t[33]=C,t[34]=E,t[35]=N):N=t[35];let P;t[36]!==u||t[37]!==c||t[38]!==m.health.doctorCompleteMessage||t[39]!==m.health.doctorFailedMessage||t[40]!==m.health.doctorRunningMessage?(P=c||u!==`idle`?(0,V.jsx)(`p`,{className:`mt-3 text-xs opacity-75`,role:`status`,"aria-live":`polite`,children:c?m.health.doctorRunningMessage:u===`success`?m.health.doctorCompleteMessage:m.health.doctorFailedMessage}):null,t[36]=u,t[37]=c,t[38]=m.health.doctorCompleteMessage,t[39]=m.health.doctorFailedMessage,t[40]=m.health.doctorRunningMessage,t[41]=P):P=t[41];let F;return t[42]!==N||t[43]!==P||t[44]!==w?(F=(0,V.jsxs)(`section`,{className:w,children:[N,P]}),t[42]=N,t[43]=P,t[44]=w,t[45]=F):F=t[45],F}function Ce(e){return e.language}function we(e){let t=(0,z.c)(26),{issue:n,fixLabel:r}=e,a;t[0]===n.status?a=t[1]:(a=be(n.status),t[0]=n.status,t[1]=a);let o=a,s;t[2]===o?s=t[3]:(s=(0,V.jsx)(o,{className:`mt-0.5 size-4 shrink-0`,"aria-hidden":!0}),t[2]=o,t[3]=s);let c;t[4]===n.label?c=t[5]:(c=(0,V.jsx)(`span`,{className:`text-sm font-semibold text-fg`,children:n.label}),t[4]=n.label,t[5]=c);let l;t[6]===n.message?l=t[7]:(l=(0,V.jsx)(`span`,{className:`mt-1 block text-sm text-fg-muted`,children:n.message}),t[6]=n.message,t[7]=l);let u;t[8]===n.hints[0]?u=t[9]:(u=n.hints[0]?(0,V.jsx)(`span`,{className:`mt-1 block truncate text-xs text-fg-subtle`,children:n.hints[0]}):null,t[8]=n.hints[0],t[9]=u);let f;t[10]!==c||t[11]!==l||t[12]!==u?(f=(0,V.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[c,l,u]}),t[10]=c,t[11]=l,t[12]=u,t[13]=f):f=t[13];let p;t[14]!==r||t[15]!==n.path?(p=n.path?(0,V.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 text-xs font-medium text-accent-fg`,children:[r,(0,V.jsx)(d,{className:`size-4`,"aria-hidden":!0})]}):null,t[14]=r,t[15]=n.path,t[16]=p):p=t[16];let m;t[17]!==s||t[18]!==f||t[19]!==p?(m=(0,V.jsxs)(V.Fragment,{children:[s,f,p]}),t[17]=s,t[18]=f,t[19]=p,t[20]=m):m=t[20];let h=m;if(n.path){let e;return t[21]!==h||t[22]!==n.path?(e=(0,V.jsx)(i,{to:n.path,className:`flex items-start gap-3 px-1 py-3 hover:bg-surface-hover/30 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:h}),t[21]=h,t[22]=n.path,t[23]=e):e=t[23],e}let g;return t[24]===h?g=t[25]:(g=(0,V.jsx)(`div`,{className:`flex items-start gap-3 px-1 py-3`,children:h}),t[24]=h,t[25]=g),g}function Te(e){let t=(0,z.c)(27),{item:n,labels:r}=e,a;t[0]===n.status?a=t[1]:(a=be(n.status),t[0]=n.status,t[1]=a);let o=a,s=r[n.id]??n.title,c;t[2]===n.status?c=t[3]:(c=b(`flex size-7 shrink-0 items-center justify-center rounded-full`,ye(n.status)),t[2]=n.status,t[3]=c);let l;t[4]===o?l=t[5]:(l=(0,V.jsx)(o,{className:`size-4`,"aria-hidden":!0}),t[4]=o,t[5]=l);let u;t[6]!==c||t[7]!==l?(u=(0,V.jsx)(`span`,{className:c,children:l}),t[6]=c,t[7]=l,t[8]=u):u=t[8];let f;t[9]===s?f=t[10]:(f=(0,V.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:s}),t[9]=s,t[10]=f);let p;t[11]===n.detail?p=t[12]:(p=(0,V.jsx)(`span`,{className:`mt-0.5 block truncate text-xs text-fg-muted`,children:n.detail}),t[11]=n.detail,t[12]=p);let m;t[13]!==f||t[14]!==p?(m=(0,V.jsxs)(`span`,{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]===n.path?h=t[17]:(h=n.path?(0,V.jsx)(d,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":!0}):null,t[16]=n.path,t[17]=h);let g;t[18]!==u||t[19]!==m||t[20]!==h?(g=(0,V.jsxs)(V.Fragment,{children:[u,m,h]}),t[18]=u,t[19]=m,t[20]=h,t[21]=g):g=t[21];let _=g;if(n.path){let e;return t[22]!==_||t[23]!==n.path?(e=(0,V.jsx)(i,{to:n.path,className:`flex items-center gap-3 rounded-lg p-3 hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:_}),t[22]=_,t[23]=n.path,t[24]=e):e=t[24],e}let v;return t[25]===_?v=t[26]:(v=(0,V.jsx)(`div`,{className:`flex items-center gap-3 rounded-lg p-3`,children:_}),t[25]=_,t[26]=v),v}function Ee(e){let t=(0,z.c)(23),{signal:n,fixLabel:r}=e,a;t[0]===n.status?a=t[1]:(a=be(n.status),t[0]=n.status,t[1]=a);let o=a,s;t[2]===o?s=t[3]:(s=(0,V.jsx)(o,{className:`mt-0.5 size-4 shrink-0`,"aria-hidden":!0}),t[2]=o,t[3]=s);let c;t[4]===n.label?c=t[5]:(c=(0,V.jsx)(`span`,{className:`block truncate text-sm font-medium text-fg`,children:n.label}),t[4]=n.label,t[5]=c);let l;t[6]===n.message?l=t[7]:(l=(0,V.jsx)(`span`,{className:`mt-0.5 block truncate text-xs text-fg-muted`,children:n.message}),t[6]=n.message,t[7]=l);let u;t[8]!==c||t[9]!==l?(u=(0,V.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[c,l]}),t[8]=c,t[9]=l,t[10]=u):u=t[10];let d;t[11]!==r||t[12]!==n.path?(d=n.path?(0,V.jsx)(`span`,{className:`sr-only`,children:r}):null,t[11]=r,t[12]=n.path,t[13]=d):d=t[13];let f;t[14]!==s||t[15]!==u||t[16]!==d?(f=(0,V.jsxs)(V.Fragment,{children:[s,u,d]}),t[14]=s,t[15]=u,t[16]=d,t[17]=f):f=t[17];let p=f;if(n.path){let e;return t[18]!==p||t[19]!==n.path?(e=(0,V.jsx)(i,{to:n.path,className:`flex min-w-0 items-start gap-2 px-1 py-3 hover:bg-surface-hover/30 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:p}),t[18]=p,t[19]=n.path,t[20]=e):e=t[20],e}let m;return t[21]===p?m=t[22]:(m=(0,V.jsx)(`div`,{className:`flex min-w-0 items-start gap-2 px-1 py-3`,children:p}),t[21]=p,t[22]=m),m}function De(){let e=l(s(e=>e.language)).setupStatus,{ready:t,error:n,snapshot:r,refresh:i}=$(),[a,o]=(0,B.useState)(!1),[c,d]=(0,B.useState)(`idle`),f=r?.diagnosticSignals.filter(e=>e.status===`fail`||e.status===`warn`)??[],p=async()=>{if(!(a||!t)){o(!0),d(`idle`);try{await i(),d(`success`)}catch{d(`error`)}finally{o(!1)}}};return(0,V.jsxs)(N,{gap:`gap-6`,children:[(0,V.jsx)(P,{title:e.title}),n?(0,V.jsx)(`p`,{className:`rounded-xl bg-red-50 px-4 py-3 text-sm text-red-700 dark:bg-red-950/30 dark:text-red-300`,children:e.loadError}):null,!t||!r?(0,V.jsx)(j,{sections:2}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Se,{tier:r.healthTier,issueCount:r.issues.length,ready:t,onRunDoctor:()=>void p(),doctorRunning:a,doctorRunState:c}),(0,V.jsxs)(I,{id:`next-steps`,children:[(0,V.jsx)(F,{icon:r.issues.length?y:u,title:e.nextStepsTitle}),r.issues.length?(0,V.jsx)(`div`,{className:`mt-3 flex flex-col gap-1 [&>*]:rounded-lg [&>*]:bg-surface-base/45 [&>*]:px-3`,children:r.issues.slice(0,8).map(t=>(0,V.jsx)(we,{issue:t,fixLabel:e.fixIssue},`${t.source}:${t.id}`))}):(0,V.jsx)(`div`,{className:`mt-3 flex flex-col gap-1 [&>*]:bg-surface-base/45`,children:r.readiness.map(t=>(0,V.jsx)(Te,{item:t,labels:e.readinessLabels},t.id))})]}),(0,V.jsx)(H,{}),(0,V.jsx)(L,{children:(0,V.jsxs)(I,{children:[(0,V.jsx)(F,{icon:v,title:e.diagnosticsTitle}),f.length?(0,V.jsx)(`div`,{className:`mt-3 flex flex-col gap-1 [&>*]:rounded-lg [&>*]:bg-surface-base/45 [&>*]:px-3`,children:f.map(t=>(0,V.jsx)(Ee,{signal:t,fixLabel:e.fixIssue},t.id))}):(0,V.jsx)(`p`,{className:`mt-3 py-2 text-sm text-fg-muted`,children:r.diagnosticSignals.length?e.diagnosticsAllClear:e.diagnosticsEmpty})]})})]})]})}export{De as SetupStatusPanel};
|
|
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-LhhHA2sK.js";import{t as l}from"./messages-C3xqMM9W.js";import{t as u}from"./activity-YogQEteU.js";import{t as d}from"./chevron-right-BweFrslA.js";import{t as f}from"./circle-check-C23XjkUj.js";import{t as p}from"./circle-x-DFsCKeya.js";import{t as m}from"./circle-BoO4YvTx.js";import{t as h}from"./info-CDrmIZhb.js";import{t as g}from"./loader-circle-CifKLtgG.js";import{t as _}from"./refresh-cw-BRlGaq2w.js";import{t as v}from"./stethoscope-DRqTAtjD.js";import{t as y}from"./triangle-alert-2JXFNNKU.js";import{t as b}from"./cn-0WouolD0.js";import{t as x}from"./skeleton-BI5TyibZ.js";import{i as S}from"./vendor-swr-CdRzEUwF.js";import{r as C}from"./gateway-config-swr-CtEdaxOS.js";import{n as w}from"./gateway-realtime-store-BywiC4CK.js";import{n as T,t as E}from"./registry-api-B3YqZBhQ.js";import{t as D}from"./button-Cc4hUNTt.js";import{n as ee}from"./interaction-BdhHBbYa.js";import{n as O}from"./is-masked-secret-DOkL5b_X.js";import{n as k}from"./electron-env-DHOGevH3.js";import{t as A}from"./skill-list-api-LoIlcCDf.js";import{n as j}from"./settings-loading-skeleton-BTqvr_Fw.js";import{n as M}from"./providers-api-DzeStdCu.js";import{n as N,t as P}from"./settings-page-header-BEDxq_lT.js";import"./settings-page-layout-BftgkTYo.js";import{n as F,t as I}from"./settings-form-section-num14vSv.js";import{t as L}from"./settings-advanced-gate-CGgt1myW.js";import{r as R,t as te}from"./runtime-tools-api-8mXDTzc2.js";var z=n(),B=e(t(),1),V=r();function H(){let e=s(e=>e.language)===`zh`,t=l(e?`zh`:`en`).runtimeToolsSettings,{data:n,error:r,mutate:i}=S(a(`/api/runtime-tools`),te),[o,c]=(0,B.useState)(),[u,d]=(0,B.useState)(),f=n?.payload.statuses??[],p=f.some(e=>![`ready`,`disabled`,`unsupported`].includes(e.state));async function m(t,r){c(t),d(void 0);try{await R({runtime:t,action:r?`repair`:`install`,version:n?.payload.config[t].version,onProgress:e=>d(e.message)}),await i(),d(e?`操作完成,已刷新执行环境状态。`:`Completed and refreshed environment status.`)}catch(e){d(e instanceof Error?e.message:String(e))}finally{c(void 0)}}return(0,V.jsxs)(`details`,{open:p||void 0,className:`rounded-xl bg-surface-hover/20 p-4`,children:[(0,V.jsxs)(`summary`,{className:`cursor-pointer text-sm font-medium text-fg`,children:[e?`执行环境状态`:`Execution environment status`,n?` · ${f.filter(e=>e.state===`ready`).length}/${f.length}`:``]}),r?(0,V.jsxs)(`div`,{role:`alert`,className:`mt-3 text-sm text-danger`,children:[t.loadError,(0,V.jsx)(D,{variant:`ghost`,onClick:()=>void i(),children:t.refresh})]}):n?(0,V.jsx)(`div`,{className:`mt-3 space-y-3`,children:f.map(e=>(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(`p`,{className:`text-sm text-fg`,children:t.runtimeNames[e.runtime]}),(0,V.jsx)(`p`,{className:`text-xs text-fg-muted`,children:e.message})]}),n.payload.config.enabled&&n.payload.config[e.runtime].enabled&&![`ready`,`disabled`,`unsupported`,`installing`].includes(e.state)?(0,V.jsx)(D,{disabled:!!o,onClick:()=>void m(e.runtime,e.repairable),children:o===e.runtime?t.working:e.repairable?t.repair:t.install}):null]},e.runtime))}):(0,V.jsx)(x,{className:`mt-3 h-20`}),u?(0,V.jsx)(`p`,{role:`status`,className:`mt-3 text-xs text-fg-muted`,children:u}):null]})}function U(e){if(!e||typeof e!=`object`)return 0;let t=e.providers;return!t||typeof t!=`object`||Array.isArray(t)?0:Object.values(t).filter(e=>typeof e==`string`&&O(e)).length}function W(e){if(!e||typeof e!=`object`)return``;let t=e.agents;if(!t||typeof t!=`object`||Array.isArray(t))return``;let n=t.defaults,r=n&&typeof n==`object`&&!Array.isArray(n)?n.models:void 0;if(!r||typeof r!=`object`||Array.isArray(r))return``;let i=r.chat;if(!i||typeof i!=`object`||Array.isArray(i))return``;let a=i.primary;return typeof a==`string`?a.trim():``}function G(e){if(!e||typeof e!=`object`)return!1;let t=e.channels;return!t||typeof t!=`object`||Array.isArray(t)?!1:Object.values(t).some(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;if(`configured`in t||`config`in t||`schema`in t||`uiHints`in t){if(t.configured===!0)return!0;let e=t.config;if(!e||typeof e!=`object`||Array.isArray(e))return!1;let n=e;return n.enabled===!0||Object.keys(n).length>0}return t.enabled===!0||Object.keys(t).length>0})}function K(e){if(!e||typeof e!=`object`)return{enabled:!1,driverKind:`extension`};let t=e.browser;if(!t||typeof t!=`object`||Array.isArray(t))return{enabled:!1,driverKind:`extension`};let n=t,r=n.driver&&typeof n.driver==`object`&&!Array.isArray(n.driver)?n.driver:void 0;return{enabled:n.enabled===!0,driverKind:typeof r?.kind==`string`&&r.kind.trim()?r.kind.trim():`extension`}}function q(e){return e?`pass`:`fail`}function ne(e){if(e===`tool-runtimes`)return`/settings/runtimes`;if(e===`provider-auth`)return`/settings/capabilities/models`;if(e===`config-health`)return`/settings/gateway`;if(e===`state-integrity`||e===`workspace-status`)return`/capabilities/agents`;if(e===`database-schema`||e===`session-integrity`)return`/settings/sessions`;if(e===`channel-config`||e===`channel-pairing-pending`||e.startsWith(`channel:`))return`/capabilities/channels`;if(e===`security-audit`||e===`gateway-service`||e===`gateway-health`)return`/settings/gateway`;if(e===`version-check`)return`/settings/desktop-app`}function J(e){return{fail:4,warn:3,skip:2,pass:1}[e]}function Y(e,t){let n=e.match(/^Run(?::|\s)(.*)$/i);if(n?.[1])return t.runCommand(n[1].trim());let r=e.match(/^Install(?::|\s)(.*)$/i);if(r?.[1])return t.installCommand(r[1].trim());let i=e.match(/^Start(?::|\s)(.*)$/i);return i?.[1]?t.startCommand(i[1].trim()):e}function X(e,t){if(!t)return e;let n=e.message;if(e.id===`tool-runtimes`){let r=e.message.match(/^(.*) runtime is not installed\.$/),i=e.message.match(/^(.*) runtime installation is invalid\.$/);r?.[1]?n=t.runtimeMissing(r[1]):i?.[1]&&(n=t.runtimeInvalid(i[1]))}else if(e.id===`gateway-service`)if(e.message===`Gateway is not installed as a system service.`)n=t.gatewayNotInstalled;else{let r=e.message.match(/^Service backend unavailable: (.*)$/),i=e.message.match(/^Gateway service is installed but not running \(status: (.*)\)\.$/);r?.[1]?n=t.gatewayUnavailable(r[1]):i?.[1]&&(n=t.gatewayNotRunning(i[1]))}else e.id===`provider-auth`&&e.message===`No API keys detected for configured providers.`&&(n=t.providerAuthMissing);return{...e,label:t.labels[e.id]??e.label,message:n,hints:e.hints.map(e=>Y(e,t))}}function Z(e,t){return e.filter(e=>e.status===`fail`||e.status===`warn`).map(e=>{let n=X(e,t);return{id:n.id,label:n.label,status:n.status,message:n.message,hints:n.hints,path:ne(n.id),source:`doctor`}}).toSorted((e,t)=>J(t.status)-J(e.status)||e.label.localeCompare(t.label))}function re(e){let t=new Map(e.doctorChecks.map(e=>[e.id,e])),n=[];for(let r of[`security-audit`,`channel-config`,`channel-pairing-pending`,`gateway-health`]){let i=t.get(r);if(i){let t=X(i,e.copy);n.push({id:t.id,label:t.label,status:t.status,message:t.message,path:ne(t.id)})}}if(e.logsHealth){let t=e.logsHealth.stats?.errorsLast24h??0;n.push({id:`logs-health`,label:e.copy?.labels[`logs-health`]??`Logs`,status:e.logsHealth.shuttingDown||t>0?`warn`:`pass`,message:e.copy?e.logsHealth.shuttingDown?e.copy.logsShuttingDown:t>0?e.copy.logsErrors(t):e.copy.logsHealthy:e.logsHealth.shuttingDown?`Logger is shutting down.`:t>0?`${t} error(s) in the last 24 hours.`:`Log system is healthy.`,path:`/settings/logs`})}for(let t of e.browserDiagnostics??[]){let r=t.message;if(e.copy){r={"Local Chromium is installed.":e.copy.chromiumInstalled,"Local Chromium is not installed.":e.copy.chromiumNotInstalled,"Chrome extension bridge is connected.":e.copy.extensionConnected,"Chrome extension needs refresh.":e.copy.extensionNeedsRefresh,"Chrome extension is installed but not connected.":e.copy.extensionNotConnected,"Chrome extension is not installed.":e.copy.extensionNotInstalled}[t.message]??t.message;let n=t.message.match(/^Browser driver "(.*)" is configured\.$/);n?.[1]&&(r=e.copy.browserDriverConfigured(n[1]))}n.push({...t,label:e.copy?.labels[t.id]??t.label,message:r})}return n}function ie(e){let t=U(e.config),n=e.providerMeta?.configured??t,r=e.providerMeta?.total??0,i=n>0||t>0,a=W(e.config),o=a.length>0,s=e.hasToken&&e.realtimeConnected,c=G(e.config),l=e.skillCount>0,u=(e.doctorChecks??[]).filter(t=>!e.isElectron||t.id!==`gateway-service`),d=Z(u,e.labels.diagnostics),f=[{id:`gateway`,done:s,detail:s?e.labels.gatewayOnline:e.labels.gatewayOffline},{id:`provider`,done:i,detail:i?e.providerMeta&&e.providerMeta.total>0?e.labels.providersMetaReady(n,r):e.labels.providersConfigured(t):e.labels.providersMissing},{id:`defaultModel`,done:o,detail:o?e.labels.modelConfigured(a):e.labels.modelMissing},{id:`channel`,done:c,optional:!0,detail:c?e.labels.channelConfigured:e.labels.channelMissing},{id:`skill`,done:l,optional:!0,detail:l?e.labels.skillsConfigured(e.skillCount):e.labels.skillsMissing}],p=f.filter(e=>!e.optional).every(e=>e.done),m=f.every(e=>e.done),h=[{id:`gateway`,status:q(s),title:`Gateway`,detail:s?e.labels.gatewayOnline:e.labels.gatewayOffline,path:`/settings/gateway`},{id:`provider`,status:q(i),title:`Model provider`,detail:i?e.providerMeta&&e.providerMeta.total>0?e.labels.providersMetaReady(n,r):e.labels.providersConfigured(t):e.labels.providersMissing,path:`/settings/capabilities/models`},{id:`defaultModel`,status:q(o),title:`Default model`,detail:o?e.labels.modelConfigured(a):e.labels.modelMissing,path:`/settings/capabilities/models`},{id:`ready`,status:p?`pass`:`fail`,title:`Chat readiness`,detail:p?e.labels.readyToChat:e.labels.modelMissing,path:`/chat`}],g=d.some(e=>e.status===`fail`),_=d.some(e=>e.status===`warn`),v=g?`blocked`:_?`attention`:p?`ready`:`setup`,y=re({doctorChecks:u,logsHealth:e.logsHealth,browserDiagnostics:e.browserDiagnostics,copy:e.labels.diagnostics});return{gatewayConnected:s,providerConfigured:i,providerCount:t,providerMetaConfigured:n,providerMetaTotal:r,defaultModel:a,defaultModelConfigured:o,channelConfigured:c,skillInstalled:l,skillCount:e.skillCount,checklist:f,readiness:h,issues:d,healthTier:v,diagnosticSignals:y,requiredComplete:p,allComplete:m}}function ae(e){return K(e)}function oe(e){return!e.id||!e.label||!e.status||!e.message||![`pass`,`warn`,`fail`,`skip`].includes(e.status)?null:{id:e.id,label:e.label,status:e.status,message:e.message,hints:Array.isArray(e.hints)?e.hints.filter(e=>typeof e==`string`):[],fixed:e.fixed===!0,findings:Array.isArray(e.findings)?e.findings:void 0}}function se(){return a(`/api/doctor`)}async function ce(){return((await c(se())).checks??[]).map(oe).filter(e=>e!==null)}function le(){return a(`/api/logs/health`)}async function ue(){return c(le())}function Q(e){return e?`pass`:`warn`}function de(e){return e?.enabled?[`setup-browser-diagnostics`,e]:null}async function fe(e){if(!e.enabled)return[];if(e.driverKind===`playwright`){let e=await c(a(`/api/browser/playwright/doctor`)),t=e.payload?.installed===!0;return[{id:`browser-playwright`,label:`Browser: Playwright`,status:Q(t),message:t?`Local Chromium is installed.`:e.payload?.reason??`Local Chromium is not installed.`,path:`/settings/agent-browser`}]}if(e.driverKind===`extension`){let e=await c(a(`/api/browser/extension-status?probe=true`)),t=e.artifacts?.installed===!0,n=e.connected===!0,r=e.artifacts?.needsRefresh===!0||e.artifacts?.needsChromeReload===!0;return[{id:`browser-extension`,label:`Browser: Chrome extension`,status:n?`pass`:`warn`,message:n?`Chrome extension bridge is connected.`:t?r?`Chrome extension needs refresh.`:`Chrome extension is installed but not connected.`:`Chrome extension is not installed.`,path:`/settings/agent-browser`}]}return[{id:`browser-playwright`,label:`Browser`,status:`skip`,message:`Browser driver "${e.driverKind}" is configured.`,path:`/settings/agent-browser`}]}function $(){let e=(0,z.c)(95),t=o(ve),n=s(_e),r;e[0]===n?r=e[1]:(r=l(n),e[0]=n,e[1]=r);let i=r,a=i.setupStatus.labels,c=i.setupStatus.diagnostics,u=w(ge),{data:d,error:f,isLoading:p,mutate:m}=C(!!t),h;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(h={revalidateOnFocus:!1},e[2]=h):h=e[2];let{data:g,error:_,isLoading:v,mutate:y}=S(t?`setup-checklist-skills`:null,he,h),b;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(b={revalidateOnFocus:!1},e[3]=b):b=e[3];let{data:x,error:D,isLoading:ee,mutate:O}=S(t?`setup-checklist-provider-meta`:null,M,b),A;e[4]===t?A=e[5]:(A=t?se():null,e[4]=t,e[5]=A);let j;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(j={revalidateOnFocus:!1},e[6]=j):j=e[6];let{data:N,error:P,isLoading:F,mutate:I}=S(A,ce,j),L;e[7]===t?L=e[8]:(L=t?le():null,e[7]=t,e[8]=L);let R;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(R={revalidateOnFocus:!1},e[9]=R):R=e[9];let{data:te,isLoading:B,mutate:V}=S(L,ue,R);d?.payload?.config;let H=d?.payload?.config,U;e[10]===H?U=e[11]:(U=ae(H),e[10]=H,e[11]=U);let W=t?U:null,G;e[12]===W?G=e[13]:(G=de(W),e[12]=W,e[13]=G);let K;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(K={revalidateOnFocus:!1},e[14]=K):K=e[14];let{data:q,isLoading:ne,mutate:J}=S(G,me,K),Y;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(Y={revalidateOnFocus:!1},e[15]=Y):Y=e[15],S(t?E:null,T,Y);let X=!t||!p&&!v&&!ee&&!F&&!B&&!ne,Z=!!(f||_||D||P),re;bb0:{if(!t||!X){re=null;break bb0}let n=g?.catalog?.length??0,r;if(e[16]!==q||e[17]!==d?.payload?.config||e[18]!==c.browserDriverConfigured||e[19]!==c.chromiumInstalled||e[20]!==c.chromiumNotInstalled||e[21]!==c.extensionConnected||e[22]!==c.extensionNeedsRefresh||e[23]!==c.extensionNotConnected||e[24]!==c.extensionNotInstalled||e[25]!==c.gatewayNotInstalled||e[26]!==c.gatewayNotRunning||e[27]!==c.gatewayUnavailable||e[28]!==c.installCommand||e[29]!==c.labels||e[30]!==c.logsErrors||e[31]!==c.logsHealthy||e[32]!==c.logsShuttingDown||e[33]!==c.providerAuthMissing||e[34]!==c.runCommand||e[35]!==c.runtimeInvalid||e[36]!==c.runtimeMissing||e[37]!==c.startCommand||e[38]!==N||e[39]!==a.channelConfigured||e[40]!==a.channelMissing||e[41]!==a.gatewayOffline||e[42]!==a.gatewayOnline||e[43]!==a.modelConfigured||e[44]!==a.modelMissing||e[45]!==a.providersConfigured||e[46]!==a.providersMetaReady||e[47]!==a.providersMissing||e[48]!==a.skillsConfigured||e[49]!==a.skillsMissing||e[50]!==te||e[51]!==i.setupStatus.requiredCompleteMessage||e[52]!==x||e[53]!==u||e[54]!==n||e[55]!==t){let o=x?.filter(pe).length??0,s=x?.length??0,l;e[57]===a.providersConfigured?l=e[58]:(l=e=>a.providersConfigured.replace(`{{count}}`,String(e)),e[57]=a.providersConfigured,e[58]=l);let f;e[59]===a.providersMetaReady?f=e[60]:(f=(e,t)=>a.providersMetaReady.replace(`{{configured}}`,String(e)).replace(`{{total}}`,String(t)),e[59]=a.providersMetaReady,e[60]=f);let p;e[61]===a.modelConfigured?p=e[62]:(p=e=>a.modelConfigured.replace(`{{model}}`,e),e[61]=a.modelConfigured,e[62]=p);let m;e[63]===a.skillsConfigured?m=e[64]:(m=e=>a.skillsConfigured.replace(`{{count}}`,String(e)),e[63]=a.skillsConfigured,e[64]=m);let h;e[65]===c.runtimeMissing?h=e[66]:(h=e=>c.runtimeMissing.replace(`{{runtimes}}`,e),e[65]=c.runtimeMissing,e[66]=h);let g;e[67]===c.runtimeInvalid?g=e[68]:(g=e=>c.runtimeInvalid.replace(`{{runtimes}}`,e),e[67]=c.runtimeInvalid,e[68]=g);let _;e[69]===c.gatewayUnavailable?_=e[70]:(_=e=>c.gatewayUnavailable.replace(`{{detail}}`,e),e[69]=c.gatewayUnavailable,e[70]=_);let v;e[71]===c.gatewayNotRunning?v=e[72]:(v=e=>c.gatewayNotRunning.replace(`{{status}}`,e),e[71]=c.gatewayNotRunning,e[72]=v);let y;e[73]===c.runCommand?y=e[74]:(y=e=>c.runCommand.replace(`{{command}}`,e),e[73]=c.runCommand,e[74]=y);let b;e[75]===c.installCommand?b=e[76]:(b=e=>c.installCommand.replace(`{{command}}`,e),e[75]=c.installCommand,e[76]=b);let S;e[77]===c.startCommand?S=e[78]:(S=e=>c.startCommand.replace(`{{command}}`,e),e[77]=c.startCommand,e[78]=S);let C;e[79]===c.logsErrors?C=e[80]:(C=e=>c.logsErrors.replace(`{{count}}`,String(e)),e[79]=c.logsErrors,e[80]=C);let w;e[81]===c.browserDriverConfigured?w=e[82]:(w=e=>c.browserDriverConfigured.replace(`{{driver}}`,e),e[81]=c.browserDriverConfigured,e[82]=w),r=ie({isElectron:k(),hasToken:!!t,realtimeConnected:u,config:d?.payload?.config,skillCount:n,providerMeta:s>0?{configured:o,total:s}:null,doctorChecks:N,logsHealth:te,browserDiagnostics:q,labels:{gatewayOnline:a.gatewayOnline,gatewayOffline:a.gatewayOffline,providersConfigured:l,providersMetaReady:f,providersMissing:a.providersMissing,modelConfigured:p,modelMissing:a.modelMissing,channelConfigured:a.channelConfigured,channelMissing:a.channelMissing,skillsConfigured:m,skillsMissing:a.skillsMissing,readyToChat:i.setupStatus.requiredCompleteMessage,diagnostics:{labels:c.labels,runtimeMissing:h,runtimeInvalid:g,gatewayNotInstalled:c.gatewayNotInstalled,gatewayUnavailable:_,gatewayNotRunning:v,providerAuthMissing:c.providerAuthMissing,runCommand:y,installCommand:b,startCommand:S,logsHealthy:c.logsHealthy,logsShuttingDown:c.logsShuttingDown,logsErrors:C,chromiumInstalled:c.chromiumInstalled,chromiumNotInstalled:c.chromiumNotInstalled,extensionConnected:c.extensionConnected,extensionNeedsRefresh:c.extensionNeedsRefresh,extensionNotConnected:c.extensionNotConnected,extensionNotInstalled:c.extensionNotInstalled,browserDriverConfigured:w}}}),e[16]=q,e[17]=d?.payload?.config,e[18]=c.browserDriverConfigured,e[19]=c.chromiumInstalled,e[20]=c.chromiumNotInstalled,e[21]=c.extensionConnected,e[22]=c.extensionNeedsRefresh,e[23]=c.extensionNotConnected,e[24]=c.extensionNotInstalled,e[25]=c.gatewayNotInstalled,e[26]=c.gatewayNotRunning,e[27]=c.gatewayUnavailable,e[28]=c.installCommand,e[29]=c.labels,e[30]=c.logsErrors,e[31]=c.logsHealthy,e[32]=c.logsShuttingDown,e[33]=c.providerAuthMissing,e[34]=c.runCommand,e[35]=c.runtimeInvalid,e[36]=c.runtimeMissing,e[37]=c.startCommand,e[38]=N,e[39]=a.channelConfigured,e[40]=a.channelMissing,e[41]=a.gatewayOffline,e[42]=a.gatewayOnline,e[43]=a.modelConfigured,e[44]=a.modelMissing,e[45]=a.providersConfigured,e[46]=a.providersMetaReady,e[47]=a.providersMissing,e[48]=a.skillsConfigured,e[49]=a.skillsMissing,e[50]=te,e[51]=i.setupStatus.requiredCompleteMessage,e[52]=x,e[53]=u,e[54]=n,e[55]=t,e[56]=r}else r=e[56];re=r}let oe=re,Q;e[83]!==J||e[84]!==m||e[85]!==I||e[86]!==V||e[87]!==O||e[88]!==y?(Q=async()=>{await Promise.all([m(),y(),O(),I(),V(),J()])},e[83]=J,e[84]=m,e[85]=I,e[86]=V,e[87]=O,e[88]=y,e[89]=Q):Q=e[89];let fe=Q,$;return e[90]!==Z||e[91]!==X||e[92]!==fe||e[93]!==oe?($={ready:X,error:Z,snapshot:oe,refresh:fe},e[90]=Z,e[91]=X,e[92]=fe,e[93]=oe,e[94]=$):$=e[94],$}function pe(e){return e.configured}function me(e){let[,t]=e;return fe(t)}function he(){return A()}function ge(e){return e.connectionState===`connected`}function _e(e){return e.language}function ve(e){return e.conversationId}function ye(e){return e===`pass`?`bg-success-soft text-success`:e===`warn`?`bg-amber-500/10 text-amber-700 dark:text-amber-300`:e===`fail`?`bg-red-500/10 text-red-700 dark:text-red-300`:`bg-surface-hover text-fg-muted`}function be(e){return e===`pass`?f:e===`warn`?y:e===`fail`?p:h}function xe(e,t){return e===`blocked`?{icon:p,className:`bg-red-500/10 text-red-950 dark:text-red-100`,title:t.health.blockedTitle,body:t.health.blockedBody,action:t.health.viewIssues,targetId:`next-steps`}:e===`attention`?{icon:y,className:`bg-amber-500/10 text-amber-950 dark:text-amber-100`,title:t.health.attentionTitle,body:t.health.attentionBody,action:t.health.viewIssues,targetId:`next-steps`}:e===`setup`?{icon:m,className:`bg-surface-hover/50 text-fg`,title:t.health.setupTitle,body:t.health.setupBody,action:t.health.continueSetup,targetId:`next-steps`}:{icon:f,className:`bg-success-soft text-success`,title:t.health.readyTitle,body:t.health.readyBody,action:t.health.startChat,actionPath:`/chat`}}function Se(e){let t=(0,z.c)(46),{tier:n,issueCount:r,onRunDoctor:a,ready:o,doctorRunning:c,doctorRunState:u}=e,f=s(Ce),p,m,h,v,y,x,S,C,w;if(t[0]!==r||t[1]!==f||t[2]!==n){m=l(f).setupStatus;let e=xe(n,m),a=e.icon,o=`targetId`in e&&typeof e.targetId==`string`?e.targetId:null,s=`actionPath`in e&&typeof e.actionPath==`string`?e.actionPath:`/chat`;p=o?(0,V.jsxs)(`button`,{type:`button`,onClick:()=>document.getElementById(o)?.scrollIntoView({block:`start`,behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`}),className:`inline-flex items-center gap-1 rounded-lg bg-surface-base px-3 py-2 text-sm font-medium text-fg shadow-sm hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[e.action,(0,V.jsx)(d,{className:`size-4`,"aria-hidden":!0})]}):(0,V.jsxs)(i,{to:s,className:`inline-flex items-center gap-1 rounded-lg bg-surface-base px-3 py-2 text-sm font-medium text-fg shadow-sm hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[e.action,(0,V.jsx)(d,{className:`size-4`,"aria-hidden":!0})]}),w=b(`rounded-xl p-4`,e.className),C=`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,x=`flex min-w-0 gap-3`,S=(0,V.jsx)(a,{className:`mt-0.5 size-5 shrink-0`,"aria-hidden":!0}),h=`min-w-0`,v=(0,V.jsx)(`h2`,{className:`text-base font-semibold`,children:e.title}),y=r>0?(0,V.jsx)(`p`,{className:`mt-1 text-sm opacity-80`,children:m.health.issueCount.replace(`{{count}}`,String(r))}):null,t[0]=r,t[1]=f,t[2]=n,t[3]=p,t[4]=m,t[5]=h,t[6]=v,t[7]=y,t[8]=x,t[9]=S,t[10]=C,t[11]=w}else p=t[3],m=t[4],h=t[5],v=t[6],y=t[7],x=t[8],S=t[9],C=t[10],w=t[11];let T;t[12]!==h||t[13]!==v||t[14]!==y?(T=(0,V.jsxs)(`div`,{className:h,children:[v,y]}),t[12]=h,t[13]=v,t[14]=y,t[15]=T):T=t[15];let E;t[16]!==x||t[17]!==S||t[18]!==T?(E=(0,V.jsxs)(`div`,{className:x,children:[S,T]}),t[16]=x,t[17]=S,t[18]=T,t[19]=E):E=t[19];let D;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=b(`inline-flex items-center gap-2 rounded-lg bg-surface-base/70 px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,ee.press),t[20]=D):D=t[20];let O=!o||c,k;t[21]===c?k=t[22]:(k=c?(0,V.jsx)(g,{className:`size-4 animate-spin`,"aria-hidden":!0}):(0,V.jsx)(_,{className:`size-4`,"aria-hidden":!0}),t[21]=c,t[22]=k);let A=c?m.health.runDoctorRunning:m.health.runDoctor,j;t[23]!==c||t[24]!==a||t[25]!==O||t[26]!==k||t[27]!==A?(j=(0,V.jsxs)(`button`,{type:`button`,className:D,onClick:a,disabled:O,"aria-busy":c,children:[k,A]}),t[23]=c,t[24]=a,t[25]=O,t[26]=k,t[27]=A,t[28]=j):j=t[28];let M;t[29]!==p||t[30]!==j?(M=(0,V.jsxs)(`div`,{className:`flex shrink-0 flex-wrap gap-2`,children:[p,j]}),t[29]=p,t[30]=j,t[31]=M):M=t[31];let N;t[32]!==M||t[33]!==C||t[34]!==E?(N=(0,V.jsxs)(`div`,{className:C,children:[E,M]}),t[32]=M,t[33]=C,t[34]=E,t[35]=N):N=t[35];let P;t[36]!==u||t[37]!==c||t[38]!==m.health.doctorCompleteMessage||t[39]!==m.health.doctorFailedMessage||t[40]!==m.health.doctorRunningMessage?(P=c||u!==`idle`?(0,V.jsx)(`p`,{className:`mt-3 text-xs opacity-75`,role:`status`,"aria-live":`polite`,children:c?m.health.doctorRunningMessage:u===`success`?m.health.doctorCompleteMessage:m.health.doctorFailedMessage}):null,t[36]=u,t[37]=c,t[38]=m.health.doctorCompleteMessage,t[39]=m.health.doctorFailedMessage,t[40]=m.health.doctorRunningMessage,t[41]=P):P=t[41];let F;return t[42]!==N||t[43]!==P||t[44]!==w?(F=(0,V.jsxs)(`section`,{className:w,children:[N,P]}),t[42]=N,t[43]=P,t[44]=w,t[45]=F):F=t[45],F}function Ce(e){return e.language}function we(e){let t=(0,z.c)(26),{issue:n,fixLabel:r}=e,a;t[0]===n.status?a=t[1]:(a=be(n.status),t[0]=n.status,t[1]=a);let o=a,s;t[2]===o?s=t[3]:(s=(0,V.jsx)(o,{className:`mt-0.5 size-4 shrink-0`,"aria-hidden":!0}),t[2]=o,t[3]=s);let c;t[4]===n.label?c=t[5]:(c=(0,V.jsx)(`span`,{className:`text-sm font-semibold text-fg`,children:n.label}),t[4]=n.label,t[5]=c);let l;t[6]===n.message?l=t[7]:(l=(0,V.jsx)(`span`,{className:`mt-1 block text-sm text-fg-muted`,children:n.message}),t[6]=n.message,t[7]=l);let u;t[8]===n.hints[0]?u=t[9]:(u=n.hints[0]?(0,V.jsx)(`span`,{className:`mt-1 block truncate text-xs text-fg-subtle`,children:n.hints[0]}):null,t[8]=n.hints[0],t[9]=u);let f;t[10]!==c||t[11]!==l||t[12]!==u?(f=(0,V.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[c,l,u]}),t[10]=c,t[11]=l,t[12]=u,t[13]=f):f=t[13];let p;t[14]!==r||t[15]!==n.path?(p=n.path?(0,V.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 text-xs font-medium text-accent-fg`,children:[r,(0,V.jsx)(d,{className:`size-4`,"aria-hidden":!0})]}):null,t[14]=r,t[15]=n.path,t[16]=p):p=t[16];let m;t[17]!==s||t[18]!==f||t[19]!==p?(m=(0,V.jsxs)(V.Fragment,{children:[s,f,p]}),t[17]=s,t[18]=f,t[19]=p,t[20]=m):m=t[20];let h=m;if(n.path){let e;return t[21]!==h||t[22]!==n.path?(e=(0,V.jsx)(i,{to:n.path,className:`flex items-start gap-3 px-1 py-3 hover:bg-surface-hover/30 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:h}),t[21]=h,t[22]=n.path,t[23]=e):e=t[23],e}let g;return t[24]===h?g=t[25]:(g=(0,V.jsx)(`div`,{className:`flex items-start gap-3 px-1 py-3`,children:h}),t[24]=h,t[25]=g),g}function Te(e){let t=(0,z.c)(27),{item:n,labels:r}=e,a;t[0]===n.status?a=t[1]:(a=be(n.status),t[0]=n.status,t[1]=a);let o=a,s=r[n.id]??n.title,c;t[2]===n.status?c=t[3]:(c=b(`flex size-7 shrink-0 items-center justify-center rounded-full`,ye(n.status)),t[2]=n.status,t[3]=c);let l;t[4]===o?l=t[5]:(l=(0,V.jsx)(o,{className:`size-4`,"aria-hidden":!0}),t[4]=o,t[5]=l);let u;t[6]!==c||t[7]!==l?(u=(0,V.jsx)(`span`,{className:c,children:l}),t[6]=c,t[7]=l,t[8]=u):u=t[8];let f;t[9]===s?f=t[10]:(f=(0,V.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:s}),t[9]=s,t[10]=f);let p;t[11]===n.detail?p=t[12]:(p=(0,V.jsx)(`span`,{className:`mt-0.5 block truncate text-xs text-fg-muted`,children:n.detail}),t[11]=n.detail,t[12]=p);let m;t[13]!==f||t[14]!==p?(m=(0,V.jsxs)(`span`,{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]===n.path?h=t[17]:(h=n.path?(0,V.jsx)(d,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":!0}):null,t[16]=n.path,t[17]=h);let g;t[18]!==u||t[19]!==m||t[20]!==h?(g=(0,V.jsxs)(V.Fragment,{children:[u,m,h]}),t[18]=u,t[19]=m,t[20]=h,t[21]=g):g=t[21];let _=g;if(n.path){let e;return t[22]!==_||t[23]!==n.path?(e=(0,V.jsx)(i,{to:n.path,className:`flex items-center gap-3 rounded-lg p-3 hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:_}),t[22]=_,t[23]=n.path,t[24]=e):e=t[24],e}let v;return t[25]===_?v=t[26]:(v=(0,V.jsx)(`div`,{className:`flex items-center gap-3 rounded-lg p-3`,children:_}),t[25]=_,t[26]=v),v}function Ee(e){let t=(0,z.c)(23),{signal:n,fixLabel:r}=e,a;t[0]===n.status?a=t[1]:(a=be(n.status),t[0]=n.status,t[1]=a);let o=a,s;t[2]===o?s=t[3]:(s=(0,V.jsx)(o,{className:`mt-0.5 size-4 shrink-0`,"aria-hidden":!0}),t[2]=o,t[3]=s);let c;t[4]===n.label?c=t[5]:(c=(0,V.jsx)(`span`,{className:`block truncate text-sm font-medium text-fg`,children:n.label}),t[4]=n.label,t[5]=c);let l;t[6]===n.message?l=t[7]:(l=(0,V.jsx)(`span`,{className:`mt-0.5 block truncate text-xs text-fg-muted`,children:n.message}),t[6]=n.message,t[7]=l);let u;t[8]!==c||t[9]!==l?(u=(0,V.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[c,l]}),t[8]=c,t[9]=l,t[10]=u):u=t[10];let d;t[11]!==r||t[12]!==n.path?(d=n.path?(0,V.jsx)(`span`,{className:`sr-only`,children:r}):null,t[11]=r,t[12]=n.path,t[13]=d):d=t[13];let f;t[14]!==s||t[15]!==u||t[16]!==d?(f=(0,V.jsxs)(V.Fragment,{children:[s,u,d]}),t[14]=s,t[15]=u,t[16]=d,t[17]=f):f=t[17];let p=f;if(n.path){let e;return t[18]!==p||t[19]!==n.path?(e=(0,V.jsx)(i,{to:n.path,className:`flex min-w-0 items-start gap-2 px-1 py-3 hover:bg-surface-hover/30 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:p}),t[18]=p,t[19]=n.path,t[20]=e):e=t[20],e}let m;return t[21]===p?m=t[22]:(m=(0,V.jsx)(`div`,{className:`flex min-w-0 items-start gap-2 px-1 py-3`,children:p}),t[21]=p,t[22]=m),m}function De(){let e=l(s(e=>e.language)).setupStatus,{ready:t,error:n,snapshot:r,refresh:i}=$(),[a,o]=(0,B.useState)(!1),[c,d]=(0,B.useState)(`idle`),f=r?.diagnosticSignals.filter(e=>e.status===`fail`||e.status===`warn`)??[],p=async()=>{if(!(a||!t)){o(!0),d(`idle`);try{await i(),d(`success`)}catch{d(`error`)}finally{o(!1)}}};return(0,V.jsxs)(N,{gap:`gap-6`,children:[(0,V.jsx)(P,{title:e.title}),n?(0,V.jsx)(`p`,{className:`rounded-xl bg-red-50 px-4 py-3 text-sm text-red-700 dark:bg-red-950/30 dark:text-red-300`,children:e.loadError}):null,!t||!r?(0,V.jsx)(j,{sections:2}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Se,{tier:r.healthTier,issueCount:r.issues.length,ready:t,onRunDoctor:()=>void p(),doctorRunning:a,doctorRunState:c}),(0,V.jsxs)(I,{id:`next-steps`,children:[(0,V.jsx)(F,{icon:r.issues.length?y:u,title:e.nextStepsTitle}),r.issues.length?(0,V.jsx)(`div`,{className:`mt-3 flex flex-col gap-1 [&>*]:rounded-lg [&>*]:bg-surface-base/45 [&>*]:px-3`,children:r.issues.slice(0,8).map(t=>(0,V.jsx)(we,{issue:t,fixLabel:e.fixIssue},`${t.source}:${t.id}`))}):(0,V.jsx)(`div`,{className:`mt-3 flex flex-col gap-1 [&>*]:bg-surface-base/45`,children:r.readiness.map(t=>(0,V.jsx)(Te,{item:t,labels:e.readinessLabels},t.id))})]}),(0,V.jsx)(H,{}),(0,V.jsx)(L,{children:(0,V.jsxs)(I,{children:[(0,V.jsx)(F,{icon:v,title:e.diagnosticsTitle}),f.length?(0,V.jsx)(`div`,{className:`mt-3 flex flex-col gap-1 [&>*]:rounded-lg [&>*]:bg-surface-base/45 [&>*]:px-3`,children:f.map(t=>(0,V.jsx)(Ee,{signal:t,fixLabel:e.fixIssue},t.id))}):(0,V.jsx)(`p`,{className:`mt-3 py-2 text-sm text-fg-muted`,children:r.diagnosticSignals.length?e.diagnosticsAllClear:e.diagnosticsEmpty})]})})]})]})}export{De as SetupStatusPanel};
|
|
@@ -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{n as ee}from"./locale-store-CAZaC05J.js";import{t as a}from"./messages-C7fckbyG.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"./createLucideIcon-DPHK1VkS.js";import{n as m,r as h}from"./popover-select-CEMWIrtY.js";import{t as g}from"./external-link-DjqjBmc3.js";import{t as _}from"./globe-DSSGFWFn.js";import{t as te}from"./loader-circle-CifKLtgG.js";import{t as ne}from"./x-B_N4OPjy.js";import{t as v}from"./cn-0WouolD0.js";import{t as y}from"./button-Cc4hUNTt.js";import{n as b}from"./copy-text-row-CpiRzq4G.js";var x=p(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),S=p(`wifi`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`,key:`dnpr2z`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`,key:`1x1e6c`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}]]),re=n(),C=e(t(),1),w=r(),T=new Intl.DateTimeFormat(`zh-CN`,{dateStyle:`medium`,timeStyle:`short`}),E=new Intl.DateTimeFormat(`en`,{dateStyle:`medium`,timeStyle:`short`});function D(e,t,n,r){if(n===`public`){let n=[{key:`public`,label:r.publicUrlLabel,url:e}];return t&&n.push({key:`lan`,label:r.lanUrlLabel,url:t}),n}return n===`lan`?[{key:`lan`,label:r.lanUrlLabel,url:e}]:[{key:`local`,label:r.localUrlLabel,url:e}]}function O(e){let t=(0,re.c)(17),{shareUrl:n,lanUrl:r,reachability:i,compact:o}=e,s=ee(A),c;t[0]===s?c=t[1]:(c=a(s),t[0]=s,t[1]=c);let l=c.sharesSettings,u=r??null,d;t[2]!==i||t[3]!==n||t[4]!==l||t[5]!==u?(d=D(n,u,i,l),t[2]=i,t[3]=n,t[4]=l,t[5]=u,t[6]=d):d=t[6];let f=d,p;t[7]!==l.copied||t[8]!==l.copy||t[9]!==l.copyFailed?(p={copy:l.copy,copied:l.copied,copyFailed:l.copyFailed},t[7]=l.copied,t[8]=l.copy,t[9]=l.copyFailed,t[10]=p):p=t[10];let m=p,h;t[11]===f?h=t[12]:(h=f.map(k),t[11]=f,t[12]=h);let g;return t[13]!==o||t[14]!==m||t[15]!==h?(g=(0,w.jsx)(b,{rows:h,compact:o,labels:m}),t[13]=o,t[14]=m,t[15]=h,t[16]=g):g=t[16],g}function k(e){return{key:e.key,label:e.label,text:e.url}}function A(e){return e.language}function j(e,t){return(t===`zh`?T:E).format(new Date(e))}function M(e){let t=(0,re.c)(23),{reachability:n,reachabilityHint:r}=e,o=ee(N),s;t[0]===o?s=t[1]:(s=a(o),t[0]=o,t[1]=s);let c=s.sharesSettings;if(n===`public`){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,w.jsx)(_,{className:`size-3`}),t[2]=e):e=t[2];let n;return t[3]===c.reachPublic?n=t[4]:(n=(0,w.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-emerald-600 dark:text-emerald-400`,children:[e,c.reachPublic]}),t[3]=c.reachPublic,t[4]=n),n}if(n===`lan`){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,w.jsx)(S,{className:`size-3`}),t[5]=e):e=t[5];let n;t[6]===r?n=t[7]:(n=r?(0,w.jsxs)(`span`,{className:`text-fg-muted`,children:[` — `,r]}):null,t[6]=r,t[7]=n);let i;return t[8]!==c.reachLan||t[9]!==n?(i=(0,w.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-amber-600 dark:text-amber-400`,children:[e,c.reachLan,n]}),t[8]=c.reachLan,t[9]=n,t[10]=i):i=t[10],i}let l;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,w.jsx)(x,{className:`size-3`}),t[11]=l):l=t[11];let u;t[12]===c.reachLocal?u=t[13]:(u=(0,w.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-fg-subtle`,children:[l,c.reachLocal]}),t[12]=c.reachLocal,t[13]=u);let d=r??c.reachLocalHint,f;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,w.jsx)(g,{className:`size-3`}),t[14]=f):f=t[14];let p;t[15]===c.openTunnel?p=t[16]:(p=(0,w.jsxs)(i,{to:`/settings/remote-access?tab=public`,className:`inline-flex items-center gap-0.5 text-accent hover:underline`,children:[c.openTunnel,f]}),t[15]=c.openTunnel,t[16]=p);let m;t[17]!==d||t[18]!==p?(m=(0,w.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-fg-muted`,children:[d,` `,p]}),t[17]=d,t[18]=p,t[19]=m):m=t[19];let h;return t[20]!==u||t[21]!==m?(h=(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[u,m]}),t[20]=u,t[21]=m,t[22]=h):h=t[22],h}function N(e){return e.language}function P(e){let t=(0,re.c)(24),{result:n}=e,r=ee(F),i;t[0]===r?i=t[1]:(i=a(r),t[0]=r,t[1]=i);let o=i.sharesSettings,s;t[2]===n.fileName?s=t[3]:(s=(0,w.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:n.fileName}),t[2]=n.fileName,t[3]=s);let c=o.expiresLabel,l;t[4]!==r||t[5]!==n.expiresAt?(l=j(n.expiresAt,r),t[4]=r,t[5]=n.expiresAt,t[6]=l):l=t[6];let u;t[7]!==o.expiresLabel||t[8]!==l?(u=(0,w.jsxs)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:[c,`: `,l]}),t[7]=o.expiresLabel,t[8]=l,t[9]=u):u=t[9];let d;t[10]!==s||t[11]!==u?(d=(0,w.jsxs)(`div`,{children:[s,u]}),t[10]=s,t[11]=u,t[12]=d):d=t[12];let f;t[13]!==n.lanUrl||t[14]!==n.reachability||t[15]!==n.shareUrl?(f=(0,w.jsx)(O,{shareUrl:n.shareUrl,lanUrl:n.lanUrl,reachability:n.reachability}),t[13]=n.lanUrl,t[14]=n.reachability,t[15]=n.shareUrl,t[16]=f):f=t[16];let p;t[17]!==n.reachability||t[18]!==n.reachabilityHint?(p=(0,w.jsx)(M,{reachability:n.reachability,reachabilityHint:n.reachabilityHint}),t[17]=n.reachability,t[18]=n.reachabilityHint,t[19]=p):p=t[19];let m;return t[20]!==d||t[21]!==f||t[22]!==p?(m=(0,w.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[d,f,p]}),t[20]=d,t[21]=f,t[22]=p,t[23]=m):m=t[23],m}function F(e){return e.language}function I(e){let t=(0,re.c)(95),{params:n,loading:r,error:i,onConfirm:o,onCancel:s}=e,c=ee(ie),l;t[0]===c?l=t[1]:(l=a(c),t[0]=c,t[1]=l);let u=l.sharesSettings,[d,f]=(0,C.useState)(n.ttlMs??864e5),[p,g]=(0,C.useState)(n.maxViews??null),[_,ne]=(0,C.useState)(n.description??``),v;t[2]!==_||t[3]!==p||t[4]!==o||t[5]!==d?(v=e=>{e.preventDefault(),o({ttlMs:d,maxViews:p,description:_.trim()||void 0})},t[2]=_,t[3]=p,t[4]=o,t[5]=d,t[6]=v):v=t[6];let b=n.fileName??n.path??n.fileId??n.uri,x=n.fileName??n.path??n.fileId??n.uri,S;t[7]!==b||t[8]!==x?(S=(0,w.jsx)(`p`,{className:`truncate text-sm font-medium text-fg`,title:b,children:x}),t[7]=b,t[8]=x,t[9]=S):S=t[9];let T;t[10]===u.shareConfirmHint?T=t[11]:(T=(0,w.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:u.shareConfirmHint}),t[10]=u.shareConfirmHint,t[11]=T);let E;t[12]!==S||t[13]!==T?(E=(0,w.jsxs)(`div`,{className:`rounded-lg border border-edge bg-surface-inset px-3 py-2.5`,children:[S,T]}),t[12]=S,t[13]=T,t[14]=E):E=t[14];let D;t[15]===u.ttlLabel?D=t[16]:(D=(0,w.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:u.ttlLabel}),t[15]=u.ttlLabel,t[16]=D);let O;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(O=e=>f(Number(e.target.value)),t[17]=O):O=t[17];let k=u.ttlOptions[`1h`],A;t[18]===k?A=t[19]:(A=(0,w.jsx)(h,{value:36e5,children:k}),t[18]=k,t[19]=A);let j=u.ttlOptions[`6h`],M;t[20]===j?M=t[21]:(M=(0,w.jsx)(h,{value:216e5,children:j}),t[20]=j,t[21]=M);let N=u.ttlOptions[`24h`],P;t[22]===N?P=t[23]:(P=(0,w.jsx)(h,{value:864e5,children:N}),t[22]=N,t[23]=P);let F=u.ttlOptions[`3d`],I;t[24]===F?I=t[25]:(I=(0,w.jsx)(h,{value:2592e5,children:F}),t[24]=F,t[25]=I);let ae=u.ttlOptions[`7d`],L;t[26]===ae?L=t[27]:(L=(0,w.jsx)(h,{value:6048e5,children:ae}),t[26]=ae,t[27]=L);let oe=u.ttlOptions[`30d`],R;t[28]===oe?R=t[29]:(R=(0,w.jsx)(h,{value:2592e6,children:oe}),t[28]=oe,t[29]=R);let z;t[30]!==r||t[31]!==A||t[32]!==M||t[33]!==P||t[34]!==I||t[35]!==L||t[36]!==R||t[37]!==d?(z=(0,w.jsxs)(m,{value:d,disabled:r,onChange:O,children:[A,M,P,I,L,R]}),t[30]=r,t[31]=A,t[32]=M,t[33]=P,t[34]=I,t[35]=L,t[36]=R,t[37]=d,t[38]=z):z=t[38];let B;t[39]!==z||t[40]!==D?(B=(0,w.jsxs)(`label`,{className:`flex min-w-0 flex-col gap-1.5`,children:[D,z]}),t[39]=z,t[40]=D,t[41]=B):B=t[41];let V;t[42]===u.maxViewsLabel?V=t[43]:(V=(0,w.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:u.maxViewsLabel}),t[42]=u.maxViewsLabel,t[43]=V);let se=p??`unlimited`,ce;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(ce=e=>g(e.target.value===`unlimited`?null:Number(e.target.value)),t[44]=ce):ce=t[44];let H;t[45]===u.maxViewsUnlimited?H=t[46]:(H=(0,w.jsx)(h,{value:`unlimited`,children:u.maxViewsUnlimited}),t[45]=u.maxViewsUnlimited,t[46]=H);let le,ue,de,fe;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,w.jsx)(h,{value:1,children:`1`}),ue=(0,w.jsx)(h,{value:5,children:`5`}),de=(0,w.jsx)(h,{value:10,children:`10`}),fe=(0,w.jsx)(h,{value:50,children:`50`}),t[47]=le,t[48]=ue,t[49]=de,t[50]=fe):(le=t[47],ue=t[48],de=t[49],fe=t[50]);let U;t[51]!==r||t[52]!==se||t[53]!==H?(U=(0,w.jsxs)(m,{value:se,disabled:r,onChange:ce,children:[H,le,ue,de,fe]}),t[51]=r,t[52]=se,t[53]=H,t[54]=U):U=t[54];let W;t[55]!==V||t[56]!==U?(W=(0,w.jsxs)(`label`,{className:`flex min-w-0 flex-col gap-1.5`,children:[V,U]}),t[55]=V,t[56]=U,t[57]=W):W=t[57];let G;t[58]!==B||t[59]!==W?(G=(0,w.jsxs)(`div`,{className:`mt-4 grid gap-3 sm:grid-cols-2`,children:[B,W]}),t[58]=B,t[59]=W,t[60]=G):G=t[60];let K;t[61]===u.descriptionLabel?K=t[62]:(K=(0,w.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:u.descriptionLabel}),t[61]=u.descriptionLabel,t[62]=K);let pe;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(pe=e=>ne(e.target.value),t[63]=pe):pe=t[63];let q;t[64]!==_||t[65]!==r||t[66]!==u.descriptionPlaceholder?(q=(0,w.jsx)(`input`,{type:`text`,value:_,disabled:r,onChange:pe,placeholder:u.descriptionPlaceholder,className:`h-10 rounded-lg border border-edge bg-surface-inset px-3 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-edge-strong disabled:opacity-60`}),t[64]=_,t[65]=r,t[66]=u.descriptionPlaceholder,t[67]=q):q=t[67];let J;t[68]!==K||t[69]!==q?(J=(0,w.jsxs)(`label`,{className:`mt-3 flex flex-col gap-1.5`,children:[K,q]}),t[68]=K,t[69]=q,t[70]=J):J=t[70];let Y;t[71]===i?Y=t[72]:(Y=i?(0,w.jsx)(`p`,{className:`mt-3 text-sm text-red-600 dark:text-red-400`,children:i}):null,t[71]=i,t[72]=Y);let X;t[73]!==G||t[74]!==J||t[75]!==Y||t[76]!==E?(X=(0,w.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-3`,children:[E,G,J,Y]}),t[73]=G,t[74]=J,t[75]=Y,t[76]=E,t[77]=X):X=t[77];let Z;t[78]!==r||t[79]!==s||t[80]!==u.cancel?(Z=(0,w.jsx)(y,{type:`button`,variant:`ghost`,disabled:r,onClick:s,children:u.cancel}),t[78]=r,t[79]=s,t[80]=u.cancel,t[81]=Z):Z=t[81];let Q;t[82]===r?Q=t[83]:(Q=r?(0,w.jsx)(te,{className:`size-4 animate-spin`}):null,t[82]=r,t[83]=Q);let me=r?u.creating:u.createButton,$;t[84]!==r||t[85]!==Q||t[86]!==me?($=(0,w.jsxs)(y,{type:`submit`,disabled:r,children:[Q,me]}),t[84]=r,t[85]=Q,t[86]=me,t[87]=$):$=t[87];let he;t[88]!==Z||t[89]!==$?(he=(0,w.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-edge px-4 py-3`,children:[Z,$]}),t[88]=Z,t[89]=$,t[90]=he):he=t[90];let ge;return t[91]!==v||t[92]!==X||t[93]!==he?(ge=(0,w.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col`,onSubmit:v,children:[X,he]}),t[91]=v,t[92]=X,t[93]=he,t[94]=ge):ge=t[94],ge}function ie(e){return e.language}function ae(e){let t=(0,re.c)(36),{open:n,onOpenChange:r,loading:i,error:p,result:m,pendingParams:h,onConfirm:g}=e,_=ee(L),y;t[0]===_?y=t[1]:(y=a(_),t[0]=_,t[1]=y);let b=y.sharesSettings,x;t[2]===_?x=t[3]:(x=a(_),t[2]=_,t[3]=x);let S=x,C;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,w.jsx)(o,{className:`xopc-dialog-overlay fixed inset-0 z-[180] bg-scrim backdrop-blur-[2px]`}),t[4]=C):C=t[4];let T;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(T=v(`xopc-dialog-content fixed left-1/2 top-1/2 z-[181] flex h-[min(31rem,calc(100dvh-2rem))] w-[min(30rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col`,`overflow-hidden rounded-lg border border-edge bg-surface-overlay shadow-popover outline-none`),t[5]=T):T=t[5];let E=m?b.shareCreated:b.shareConfirmTitle,D;t[6]===E?D=t[7]:(D=(0,w.jsx)(d,{className:`text-base font-semibold text-fg`,children:E}),t[6]=E,t[7]=D);let O;t[8]!==h||t[9]!==m||t[10]!==b.createHint?(O=!m&&h?(0,w.jsx)(s,{className:`mt-0.5 text-xs text-fg-muted`,children:b.createHint}):null,t[8]=h,t[9]=m,t[10]=b.createHint,t[11]=O):O=t[11];let k;t[12]!==D||t[13]!==O?(k=(0,w.jsxs)(`div`,{children:[D,O]}),t[12]=D,t[13]=O,t[14]=k):k=t[14];let A;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,w.jsx)(ne,{className:`size-4`}),t[15]=A):A=t[15];let j;t[16]===b.cancel?j=t[17]:(j=(0,w.jsx)(c,{asChild:!0,children:(0,w.jsx)(`button`,{type:`button`,className:`inline-flex size-8 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg`,"aria-label":b.cancel,children:A})}),t[16]=b.cancel,t[17]=j);let M;t[18]!==j||t[19]!==k?(M=(0,w.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-2 border-b border-edge px-4 py-3`,children:[k,j]}),t[18]=j,t[19]=k,t[20]=M):M=t[20];let N;t[21]!==p||t[22]!==i||t[23]!==S||t[24]!==g||t[25]!==r||t[26]!==h||t[27]!==m?(N=m?(0,w.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-4`,children:(0,w.jsx)(P,{result:m})}):h&&g?(0,w.jsx)(I,{params:h,loading:!!i,error:p,onConfirm:g,onCancel:()=>r(!1)},`${h.fileId??h.uri??h.path}:${h.conversationId??h.agentId??``}`):i?(0,w.jsxs)(`p`,{className:`flex items-center gap-2 p-4 text-sm text-fg-muted`,children:[(0,w.jsx)(te,{className:`size-4 animate-spin`}),S.workspace.sharing]}):p?(0,w.jsx)(`p`,{className:`p-4 text-sm text-red-600 dark:text-red-400`,children:p}):null,t[21]=p,t[22]=i,t[23]=S,t[24]=g,t[25]=r,t[26]=h,t[27]=m,t[28]=N):N=t[28];let F;t[29]!==M||t[30]!==N?(F=(0,w.jsxs)(l,{children:[C,(0,w.jsxs)(u,{className:T,children:[M,N]})]}),t[29]=M,t[30]=N,t[31]=F):F=t[31];let ie;return t[32]!==r||t[33]!==n||t[34]!==F?(ie=(0,w.jsx)(f,{open:n,onOpenChange:r,children:F}),t[32]=r,t[33]=n,t[34]=F,t[35]=ie):ie=t[35],ie}function L(e){return e.language}export{x as a,S as i,ae as n,O as r,M as t};
|
|
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 ee}from"./locale-store-LhhHA2sK.js";import{t as a}from"./messages-C3xqMM9W.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"./createLucideIcon-DPHK1VkS.js";import{n as m,r as h}from"./popover-select-CEMWIrtY.js";import{t as g}from"./external-link-DjqjBmc3.js";import{t as _}from"./globe-DSSGFWFn.js";import{t as te}from"./loader-circle-CifKLtgG.js";import{t as ne}from"./x-B_N4OPjy.js";import{t as v}from"./cn-0WouolD0.js";import{t as y}from"./button-Cc4hUNTt.js";import{n as b}from"./copy-text-row-CpiRzq4G.js";var x=p(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),S=p(`wifi`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`,key:`dnpr2z`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`,key:`1x1e6c`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}]]),re=n(),C=e(t(),1),w=r(),T=new Intl.DateTimeFormat(`zh-CN`,{dateStyle:`medium`,timeStyle:`short`}),E=new Intl.DateTimeFormat(`en`,{dateStyle:`medium`,timeStyle:`short`});function D(e,t,n,r){if(n===`public`){let n=[{key:`public`,label:r.publicUrlLabel,url:e}];return t&&n.push({key:`lan`,label:r.lanUrlLabel,url:t}),n}return n===`lan`?[{key:`lan`,label:r.lanUrlLabel,url:e}]:[{key:`local`,label:r.localUrlLabel,url:e}]}function O(e){let t=(0,re.c)(17),{shareUrl:n,lanUrl:r,reachability:i,compact:o}=e,s=ee(A),c;t[0]===s?c=t[1]:(c=a(s),t[0]=s,t[1]=c);let l=c.sharesSettings,u=r??null,d;t[2]!==i||t[3]!==n||t[4]!==l||t[5]!==u?(d=D(n,u,i,l),t[2]=i,t[3]=n,t[4]=l,t[5]=u,t[6]=d):d=t[6];let f=d,p;t[7]!==l.copied||t[8]!==l.copy||t[9]!==l.copyFailed?(p={copy:l.copy,copied:l.copied,copyFailed:l.copyFailed},t[7]=l.copied,t[8]=l.copy,t[9]=l.copyFailed,t[10]=p):p=t[10];let m=p,h;t[11]===f?h=t[12]:(h=f.map(k),t[11]=f,t[12]=h);let g;return t[13]!==o||t[14]!==m||t[15]!==h?(g=(0,w.jsx)(b,{rows:h,compact:o,labels:m}),t[13]=o,t[14]=m,t[15]=h,t[16]=g):g=t[16],g}function k(e){return{key:e.key,label:e.label,text:e.url}}function A(e){return e.language}function j(e,t){return(t===`zh`?T:E).format(new Date(e))}function M(e){let t=(0,re.c)(23),{reachability:n,reachabilityHint:r}=e,o=ee(N),s;t[0]===o?s=t[1]:(s=a(o),t[0]=o,t[1]=s);let c=s.sharesSettings;if(n===`public`){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,w.jsx)(_,{className:`size-3`}),t[2]=e):e=t[2];let n;return t[3]===c.reachPublic?n=t[4]:(n=(0,w.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-emerald-600 dark:text-emerald-400`,children:[e,c.reachPublic]}),t[3]=c.reachPublic,t[4]=n),n}if(n===`lan`){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,w.jsx)(S,{className:`size-3`}),t[5]=e):e=t[5];let n;t[6]===r?n=t[7]:(n=r?(0,w.jsxs)(`span`,{className:`text-fg-muted`,children:[` — `,r]}):null,t[6]=r,t[7]=n);let i;return t[8]!==c.reachLan||t[9]!==n?(i=(0,w.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-amber-600 dark:text-amber-400`,children:[e,c.reachLan,n]}),t[8]=c.reachLan,t[9]=n,t[10]=i):i=t[10],i}let l;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,w.jsx)(x,{className:`size-3`}),t[11]=l):l=t[11];let u;t[12]===c.reachLocal?u=t[13]:(u=(0,w.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-fg-subtle`,children:[l,c.reachLocal]}),t[12]=c.reachLocal,t[13]=u);let d=r??c.reachLocalHint,f;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,w.jsx)(g,{className:`size-3`}),t[14]=f):f=t[14];let p;t[15]===c.openTunnel?p=t[16]:(p=(0,w.jsxs)(i,{to:`/settings/remote-access?tab=public`,className:`inline-flex items-center gap-0.5 text-accent hover:underline`,children:[c.openTunnel,f]}),t[15]=c.openTunnel,t[16]=p);let m;t[17]!==d||t[18]!==p?(m=(0,w.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-fg-muted`,children:[d,` `,p]}),t[17]=d,t[18]=p,t[19]=m):m=t[19];let h;return t[20]!==u||t[21]!==m?(h=(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[u,m]}),t[20]=u,t[21]=m,t[22]=h):h=t[22],h}function N(e){return e.language}function P(e){let t=(0,re.c)(24),{result:n}=e,r=ee(F),i;t[0]===r?i=t[1]:(i=a(r),t[0]=r,t[1]=i);let o=i.sharesSettings,s;t[2]===n.fileName?s=t[3]:(s=(0,w.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:n.fileName}),t[2]=n.fileName,t[3]=s);let c=o.expiresLabel,l;t[4]!==r||t[5]!==n.expiresAt?(l=j(n.expiresAt,r),t[4]=r,t[5]=n.expiresAt,t[6]=l):l=t[6];let u;t[7]!==o.expiresLabel||t[8]!==l?(u=(0,w.jsxs)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:[c,`: `,l]}),t[7]=o.expiresLabel,t[8]=l,t[9]=u):u=t[9];let d;t[10]!==s||t[11]!==u?(d=(0,w.jsxs)(`div`,{children:[s,u]}),t[10]=s,t[11]=u,t[12]=d):d=t[12];let f;t[13]!==n.lanUrl||t[14]!==n.reachability||t[15]!==n.shareUrl?(f=(0,w.jsx)(O,{shareUrl:n.shareUrl,lanUrl:n.lanUrl,reachability:n.reachability}),t[13]=n.lanUrl,t[14]=n.reachability,t[15]=n.shareUrl,t[16]=f):f=t[16];let p;t[17]!==n.reachability||t[18]!==n.reachabilityHint?(p=(0,w.jsx)(M,{reachability:n.reachability,reachabilityHint:n.reachabilityHint}),t[17]=n.reachability,t[18]=n.reachabilityHint,t[19]=p):p=t[19];let m;return t[20]!==d||t[21]!==f||t[22]!==p?(m=(0,w.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[d,f,p]}),t[20]=d,t[21]=f,t[22]=p,t[23]=m):m=t[23],m}function F(e){return e.language}function I(e){let t=(0,re.c)(95),{params:n,loading:r,error:i,onConfirm:o,onCancel:s}=e,c=ee(ie),l;t[0]===c?l=t[1]:(l=a(c),t[0]=c,t[1]=l);let u=l.sharesSettings,[d,f]=(0,C.useState)(n.ttlMs??864e5),[p,g]=(0,C.useState)(n.maxViews??null),[_,ne]=(0,C.useState)(n.description??``),v;t[2]!==_||t[3]!==p||t[4]!==o||t[5]!==d?(v=e=>{e.preventDefault(),o({ttlMs:d,maxViews:p,description:_.trim()||void 0})},t[2]=_,t[3]=p,t[4]=o,t[5]=d,t[6]=v):v=t[6];let b=n.fileName??n.path??n.fileId??n.uri,x=n.fileName??n.path??n.fileId??n.uri,S;t[7]!==b||t[8]!==x?(S=(0,w.jsx)(`p`,{className:`truncate text-sm font-medium text-fg`,title:b,children:x}),t[7]=b,t[8]=x,t[9]=S):S=t[9];let T;t[10]===u.shareConfirmHint?T=t[11]:(T=(0,w.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:u.shareConfirmHint}),t[10]=u.shareConfirmHint,t[11]=T);let E;t[12]!==S||t[13]!==T?(E=(0,w.jsxs)(`div`,{className:`rounded-lg border border-edge bg-surface-inset px-3 py-2.5`,children:[S,T]}),t[12]=S,t[13]=T,t[14]=E):E=t[14];let D;t[15]===u.ttlLabel?D=t[16]:(D=(0,w.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:u.ttlLabel}),t[15]=u.ttlLabel,t[16]=D);let O;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(O=e=>f(Number(e.target.value)),t[17]=O):O=t[17];let k=u.ttlOptions[`1h`],A;t[18]===k?A=t[19]:(A=(0,w.jsx)(h,{value:36e5,children:k}),t[18]=k,t[19]=A);let j=u.ttlOptions[`6h`],M;t[20]===j?M=t[21]:(M=(0,w.jsx)(h,{value:216e5,children:j}),t[20]=j,t[21]=M);let N=u.ttlOptions[`24h`],P;t[22]===N?P=t[23]:(P=(0,w.jsx)(h,{value:864e5,children:N}),t[22]=N,t[23]=P);let F=u.ttlOptions[`3d`],I;t[24]===F?I=t[25]:(I=(0,w.jsx)(h,{value:2592e5,children:F}),t[24]=F,t[25]=I);let ae=u.ttlOptions[`7d`],L;t[26]===ae?L=t[27]:(L=(0,w.jsx)(h,{value:6048e5,children:ae}),t[26]=ae,t[27]=L);let oe=u.ttlOptions[`30d`],R;t[28]===oe?R=t[29]:(R=(0,w.jsx)(h,{value:2592e6,children:oe}),t[28]=oe,t[29]=R);let z;t[30]!==r||t[31]!==A||t[32]!==M||t[33]!==P||t[34]!==I||t[35]!==L||t[36]!==R||t[37]!==d?(z=(0,w.jsxs)(m,{value:d,disabled:r,onChange:O,children:[A,M,P,I,L,R]}),t[30]=r,t[31]=A,t[32]=M,t[33]=P,t[34]=I,t[35]=L,t[36]=R,t[37]=d,t[38]=z):z=t[38];let B;t[39]!==z||t[40]!==D?(B=(0,w.jsxs)(`label`,{className:`flex min-w-0 flex-col gap-1.5`,children:[D,z]}),t[39]=z,t[40]=D,t[41]=B):B=t[41];let V;t[42]===u.maxViewsLabel?V=t[43]:(V=(0,w.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:u.maxViewsLabel}),t[42]=u.maxViewsLabel,t[43]=V);let se=p??`unlimited`,ce;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(ce=e=>g(e.target.value===`unlimited`?null:Number(e.target.value)),t[44]=ce):ce=t[44];let H;t[45]===u.maxViewsUnlimited?H=t[46]:(H=(0,w.jsx)(h,{value:`unlimited`,children:u.maxViewsUnlimited}),t[45]=u.maxViewsUnlimited,t[46]=H);let le,ue,de,fe;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,w.jsx)(h,{value:1,children:`1`}),ue=(0,w.jsx)(h,{value:5,children:`5`}),de=(0,w.jsx)(h,{value:10,children:`10`}),fe=(0,w.jsx)(h,{value:50,children:`50`}),t[47]=le,t[48]=ue,t[49]=de,t[50]=fe):(le=t[47],ue=t[48],de=t[49],fe=t[50]);let U;t[51]!==r||t[52]!==se||t[53]!==H?(U=(0,w.jsxs)(m,{value:se,disabled:r,onChange:ce,children:[H,le,ue,de,fe]}),t[51]=r,t[52]=se,t[53]=H,t[54]=U):U=t[54];let W;t[55]!==V||t[56]!==U?(W=(0,w.jsxs)(`label`,{className:`flex min-w-0 flex-col gap-1.5`,children:[V,U]}),t[55]=V,t[56]=U,t[57]=W):W=t[57];let G;t[58]!==B||t[59]!==W?(G=(0,w.jsxs)(`div`,{className:`mt-4 grid gap-3 sm:grid-cols-2`,children:[B,W]}),t[58]=B,t[59]=W,t[60]=G):G=t[60];let K;t[61]===u.descriptionLabel?K=t[62]:(K=(0,w.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:u.descriptionLabel}),t[61]=u.descriptionLabel,t[62]=K);let pe;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(pe=e=>ne(e.target.value),t[63]=pe):pe=t[63];let q;t[64]!==_||t[65]!==r||t[66]!==u.descriptionPlaceholder?(q=(0,w.jsx)(`input`,{type:`text`,value:_,disabled:r,onChange:pe,placeholder:u.descriptionPlaceholder,className:`h-10 rounded-lg border border-edge bg-surface-inset px-3 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-edge-strong disabled:opacity-60`}),t[64]=_,t[65]=r,t[66]=u.descriptionPlaceholder,t[67]=q):q=t[67];let J;t[68]!==K||t[69]!==q?(J=(0,w.jsxs)(`label`,{className:`mt-3 flex flex-col gap-1.5`,children:[K,q]}),t[68]=K,t[69]=q,t[70]=J):J=t[70];let Y;t[71]===i?Y=t[72]:(Y=i?(0,w.jsx)(`p`,{className:`mt-3 text-sm text-red-600 dark:text-red-400`,children:i}):null,t[71]=i,t[72]=Y);let X;t[73]!==G||t[74]!==J||t[75]!==Y||t[76]!==E?(X=(0,w.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-3`,children:[E,G,J,Y]}),t[73]=G,t[74]=J,t[75]=Y,t[76]=E,t[77]=X):X=t[77];let Z;t[78]!==r||t[79]!==s||t[80]!==u.cancel?(Z=(0,w.jsx)(y,{type:`button`,variant:`ghost`,disabled:r,onClick:s,children:u.cancel}),t[78]=r,t[79]=s,t[80]=u.cancel,t[81]=Z):Z=t[81];let Q;t[82]===r?Q=t[83]:(Q=r?(0,w.jsx)(te,{className:`size-4 animate-spin`}):null,t[82]=r,t[83]=Q);let me=r?u.creating:u.createButton,$;t[84]!==r||t[85]!==Q||t[86]!==me?($=(0,w.jsxs)(y,{type:`submit`,disabled:r,children:[Q,me]}),t[84]=r,t[85]=Q,t[86]=me,t[87]=$):$=t[87];let he;t[88]!==Z||t[89]!==$?(he=(0,w.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-edge px-4 py-3`,children:[Z,$]}),t[88]=Z,t[89]=$,t[90]=he):he=t[90];let ge;return t[91]!==v||t[92]!==X||t[93]!==he?(ge=(0,w.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col`,onSubmit:v,children:[X,he]}),t[91]=v,t[92]=X,t[93]=he,t[94]=ge):ge=t[94],ge}function ie(e){return e.language}function ae(e){let t=(0,re.c)(36),{open:n,onOpenChange:r,loading:i,error:p,result:m,pendingParams:h,onConfirm:g}=e,_=ee(L),y;t[0]===_?y=t[1]:(y=a(_),t[0]=_,t[1]=y);let b=y.sharesSettings,x;t[2]===_?x=t[3]:(x=a(_),t[2]=_,t[3]=x);let S=x,C;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,w.jsx)(o,{className:`xopc-dialog-overlay fixed inset-0 z-[180] bg-scrim backdrop-blur-[2px]`}),t[4]=C):C=t[4];let T;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(T=v(`xopc-dialog-content fixed left-1/2 top-1/2 z-[181] flex h-[min(31rem,calc(100dvh-2rem))] w-[min(30rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col`,`overflow-hidden rounded-lg border border-edge bg-surface-overlay shadow-popover outline-none`),t[5]=T):T=t[5];let E=m?b.shareCreated:b.shareConfirmTitle,D;t[6]===E?D=t[7]:(D=(0,w.jsx)(d,{className:`text-base font-semibold text-fg`,children:E}),t[6]=E,t[7]=D);let O;t[8]!==h||t[9]!==m||t[10]!==b.createHint?(O=!m&&h?(0,w.jsx)(s,{className:`mt-0.5 text-xs text-fg-muted`,children:b.createHint}):null,t[8]=h,t[9]=m,t[10]=b.createHint,t[11]=O):O=t[11];let k;t[12]!==D||t[13]!==O?(k=(0,w.jsxs)(`div`,{children:[D,O]}),t[12]=D,t[13]=O,t[14]=k):k=t[14];let A;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,w.jsx)(ne,{className:`size-4`}),t[15]=A):A=t[15];let j;t[16]===b.cancel?j=t[17]:(j=(0,w.jsx)(c,{asChild:!0,children:(0,w.jsx)(`button`,{type:`button`,className:`inline-flex size-8 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg`,"aria-label":b.cancel,children:A})}),t[16]=b.cancel,t[17]=j);let M;t[18]!==j||t[19]!==k?(M=(0,w.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-2 border-b border-edge px-4 py-3`,children:[k,j]}),t[18]=j,t[19]=k,t[20]=M):M=t[20];let N;t[21]!==p||t[22]!==i||t[23]!==S||t[24]!==g||t[25]!==r||t[26]!==h||t[27]!==m?(N=m?(0,w.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-4`,children:(0,w.jsx)(P,{result:m})}):h&&g?(0,w.jsx)(I,{params:h,loading:!!i,error:p,onConfirm:g,onCancel:()=>r(!1)},`${h.fileId??h.uri??h.path}:${h.conversationId??h.agentId??``}`):i?(0,w.jsxs)(`p`,{className:`flex items-center gap-2 p-4 text-sm text-fg-muted`,children:[(0,w.jsx)(te,{className:`size-4 animate-spin`}),S.workspace.sharing]}):p?(0,w.jsx)(`p`,{className:`p-4 text-sm text-red-600 dark:text-red-400`,children:p}):null,t[21]=p,t[22]=i,t[23]=S,t[24]=g,t[25]=r,t[26]=h,t[27]=m,t[28]=N):N=t[28];let F;t[29]!==M||t[30]!==N?(F=(0,w.jsxs)(l,{children:[C,(0,w.jsxs)(u,{className:T,children:[M,N]})]}),t[29]=M,t[30]=N,t[31]=F):F=t[31];let ie;return t[32]!==r||t[33]!==n||t[34]!==F?(ie=(0,w.jsx)(f,{open:n,onOpenChange:r,children:F}),t[32]=r,t[33]=n,t[34]=F,t[35]=ie):ie=t[35],ie}function L(e){return e.language}export{x as a,S as i,ae as n,O as r,M as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/attachment-process-heavy-DGZZ-M85.js","assets/rolldown-runtime-aKtaBQYM.js","assets/preload-helper-Czpn1I53.js","assets/pdf-runtime-JnUAvfIa.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
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"./preload-helper-Czpn1I53.js";import{f as a}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{i as o,n as s}from"./locale-store-CAZaC05J.js";import{t as c}from"./messages-C7fckbyG.js";import{g as l,h as u,n as d,p as f,t as p,x as m}from"./use-file-preview-expanded-nd_CuFsd.js";import{t as h}from"./markdown-view-BatP4qeK.js";import{t as g}from"./cn-0WouolD0.js";import{t as _}from"./skeleton-BI5TyibZ.js";import{t as v}from"./attachment-utils-core-BIOUBrpT.js";import{t as y}from"./button-Cc4hUNTt.js";import{t as b}from"./copy-to-clipboard-HOJ79TWv.js";import{r as x,t as S}from"./chat-chart-block-CcVcKsDZ.js";var C=e(t(),1),w=n(),T=/^ {0,3}\[([^\]]+)\]:\s*<?(https?:\/\/[^\s>]+)>?(?:\s+.*)?$/gim,E=/!\[([^\]]*)\]\(\s*<?(https?:\/\/[^\s)>]+)>?(?:\s+(?:"[^"]*"|'[^']*'|\([^)]*\)))?\s*\)/gi,D=/!\[([^\]]*)\]\[([^\]]+)\]/g;function O(e,t){let n=new Map;for(let t of e.matchAll(T))n.set(k(t[1]??``),t[2]??``);return e.replace(E,(e,n,r)=>`[${n.trim()||t}](${r})`).replace(D,(e,r,i)=>{let a=n.get(k(i));return a?`[${r.trim()||t}](${a})`:e})}function k(e){return e.trim().replace(/\s+/g,` `).toLowerCase()}var A=r();function j(e){return(0,A.jsx)(S,{source:e.source,incomplete:!e.closed,streaming:!1,copy:!0})}function M(){return{textContent:null,binaryBuffer:null,extractedText:null,extractedTextTruncated:!1}}function N(e){let t=(0,w.c)(30),{subtitle:n,openInlineUrl:r,landingUrl:i,...a}=e,{expanded:o,setExpanded:s}=p(),l=c(a.language),u;t[0]===l?u=t[1]:(u=async()=>{let e=await b(window.location.href);m(e?`success`:`warning`,e?l.sharesSettings.copied:l.clipboard.copyFailed)},t[0]=l,t[1]=u);let f=u,h=o&&`fixed inset-0 z-[65] h-[100dvh] max-w-none`,_;t[2]===h?_=t[3]:(_=g(`mx-auto flex h-full min-h-0 w-full max-w-[var(--max-width-app-main)] flex-col bg-surface-panel`,h),t[2]=h,t[3]=_);let v;t[4]!==s||t[5]!==a.loadError||t[6]!==a.loading?(v=!a.loading&&!a.loadError?()=>s(P):void 0,t[4]=s,t[5]=a.loadError,t[6]=a.loading,t[7]=v):v=t[7];let y;t[8]===i?y=t[9]:(y=()=>window.location.assign(i),t[8]=i,t[9]=y);let x;t[10]===f?x=t[11]:(x=()=>void f(),t[10]=f,t[11]=x);let S=a.loading||!!a.loadError,C;t[12]!==x||t[13]!==S?(C={onClick:x,disabled:S},t[12]=x,t[13]=S,t[14]=C):C=t[14];let T;t[15]===r?T=t[16]:(T={href:r},t[15]=r,t[16]=T);let E;t[17]!==o||t[18]!==n||t[19]!==v||t[20]!==y||t[21]!==C||t[22]!==T?(E={subtitle:n,expanded:o,onToggleExpanded:v,onClose:y,share:C,openInBrowser:T},t[17]=o,t[18]=n,t[19]=v,t[20]=y,t[21]=C,t[22]=T,t[23]=E):E=t[23];let D;t[24]!==a||t[25]!==E?(D=(0,A.jsx)(d,{...a,header:E}),t[24]=a,t[25]=E,t[26]=D):D=t[26];let O;return t[27]!==D||t[28]!==_?(O=(0,A.jsx)(`div`,{className:_,children:D}),t[27]=D,t[28]=_,t[29]=O):O=t[29],O}function P(e){return!e}function F(){let{token:e}=a(),t=s(e=>e.language),n=t===`zh`?R:z,[r,c]=(0,C.useState)(null),[d,p]=(0,C.useState)(M),[m,g]=(0,C.useState)(!0),[b,S]=(0,C.useState)(0),[w,T]=(0,C.useState)(null),[E,D]=(0,C.useState)(null),[k,P]=(0,C.useState)(null),F=(0,C.useMemo)(()=>{if(!r||!e||r.kind!==`file`)return null;let t=u(r.fileName,r.mimeType);return{id:`share:${e}:${r.fileName}`,context:`share`,fileName:r.fileName,mimeType:t,size:r.fileSize,type:f(r.fileName,t),source:{kind:`share`,token:e}}},[r,e]);(0,C.useEffect)(()=>{if(!e){T(n.invalidLink),g(!1);return}let t=!1;return(async()=>{try{g(!0),T(null),c(null),p(M()),D(null),P(null);let r=await fetch(o(`/s/${encodeURIComponent(e)}/meta`));if(!r.ok){t||T(r.status===404?n.notFound:r.status===410?n.expired:n.unavailable);return}let a=await r.json();if(t)return;if(!a||![`file`,`directory`,`note`,`session`].includes(a.kind)||typeof a.valid!=`boolean`)throw Error(`Invalid share metadata`);if(c(a),!a.valid){T(n.expired);return}if(a.kind===`note`||a.kind===`session`){let r=await fetch(o(`/s/${encodeURIComponent(e)}/view`),{method:`POST`});if(!r.ok){T(r.status===404?n.notFound:r.status===410?n.expired:n.unavailable);return}let i=await r.json();if(i.payload?.kind!==a.kind)throw Error(`Invalid share content`);!t&&i.payload?.kind===`note`&&D(i.payload),!t&&i.payload?.kind===`session`&&P(i.payload);return}if(a.kind!==`file`)return;let s=u(a.fileName,a.mimeType),d=f(a.fileName,s),m=l(d),h=o(`/s/${encodeURIComponent(e)}?inline=1`);if(m===`text`){if(a.fileSize>5242880){T(n.tooLarge);return}let e=await fetch(h);if(!e.ok){T(e.status===404?n.notFound:e.status===410?n.expired:n.unavailable);return}let r=await e.text();t||p({...M(),textContent:r});return}if(m===`binary`){if(a.fileSize>33554432){T(n.tooLarge);return}let e=await fetch(h);if(!e.ok){T(e.status===404?n.notFound:e.status===410?n.expired:n.unavailable);return}let r=await e.arrayBuffer();if(t)return;if(d===`pptx`){let{processPptx:e}=await i(async()=>{let{processPptx:e}=await import(`./attachment-process-heavy-DGZZ-M85.js`);return{processPptx:e}},__vite__mapDeps([0,1,2,3])),{extractedText:t}=await e(r,a.fileName),n=t.length>v;p({textContent:null,binaryBuffer:r,extractedText:n?t.slice(0,v):t,extractedTextTruncated:n});return}p({...M(),binaryBuffer:r})}}catch{t||T(n.unavailable)}finally{t||g(!1)}})(),()=>{t=!0}},[e,b,n.expired,n.invalidLink,n.notFound,n.tooLarge,n.unavailable]);let B=e?o(`/s/${encodeURIComponent(e)}?dl=1`):`#`,V=e?o(`/s/${encodeURIComponent(e)}?inline=1`):`#`;return F&&r&&e&&!w?(0,A.jsx)(N,{language:t,descriptor:F,loading:m,loadError:w,textContent:d.textContent,binaryBuffer:d.binaryBuffer,extractedText:d.extractedText,extractedTextTruncated:d.extractedTextTruncated,subtitle:(0,A.jsxs)(`span`,{className:`truncate`,children:[L(r.fileSize),` · `,n.expiresAt,` `,new Date(r.expiresAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`)]}),openInlineUrl:V,landingUrl:o(`/s/${encodeURIComponent(e)}`),actions:{onDownload:()=>{window.location.href=B},canDownload:!m&&!w}}):(0,A.jsx)(x,{children:(0,A.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden bg-surface-base`,children:[(0,A.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-3 border-b border-edge px-4`,children:[(0,A.jsx)(`span`,{className:`text-lg`,"aria-hidden":!0,children:`#`}),(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r?(0,A.jsx)(`div`,{className:`truncate text-sm font-semibold text-fg`,title:r.fileName,children:r.fileName}):m?(0,A.jsx)(_,{className:`h-4 w-48 max-w-full`}):(0,A.jsx)(`div`,{className:`truncate text-sm font-semibold text-fg`,children:n.error}),r?(0,A.jsxs)(`div`,{className:`truncate text-xs text-fg-muted`,children:[L(r.fileSize),` · `,n.expiresAt,` `,new Date(r.expiresAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`)]}):null]})]}),(0,A.jsx)(`main`,{className:`flex min-h-0 w-full flex-1 flex-col overflow-y-auto overscroll-contain px-3 py-6 sm:px-5 xl:px-6`,children:m?(0,A.jsxs)(`div`,{className:`flex min-h-[70vh] flex-1 flex-col overflow-hidden rounded-lg bg-surface-panel p-4 shadow-surface`,"aria-busy":`true`,children:[(0,A.jsx)(_,{className:`h-5 w-56 max-w-full`}),(0,A.jsxs)(`div`,{className:`mt-5 grid gap-3`,children:[(0,A.jsx)(_,{className:`h-4 w-full`}),(0,A.jsx)(_,{className:`h-4 w-11/12`}),(0,A.jsx)(_,{className:`h-4 w-10/12`}),(0,A.jsx)(_,{className:`h-4 w-3/4`})]}),(0,A.jsx)(_,{className:`mt-6 min-h-0 flex-1 rounded-lg`})]}):w?(0,A.jsxs)(`div`,{role:`alert`,className:`rounded-lg bg-surface-panel p-6 shadow-surface text-sm text-fg`,children:[(0,A.jsx)(`p`,{className:`font-medium`,children:n.error}),(0,A.jsx)(`p`,{className:`mt-1 text-fg-muted`,children:w}),(0,A.jsx)(`p`,{className:`mt-2 text-fg-muted`,children:n.recovery}),(0,A.jsx)(y,{className:`mt-4`,onClick:()=>S(e=>e+1),children:n.retry}),r?.kind===`file`&&w===n.tooLarge?(0,A.jsx)(`a`,{className:`ml-4 text-accent hover:underline`,href:B,children:n.download}):null]}):r?.kind===`directory`?(0,A.jsx)(`div`,{className:`rounded-lg bg-surface-panel p-6 shadow-surface text-sm text-fg-muted`,children:n.directoryHint}):r?.kind===`note`&&E?(0,A.jsxs)(`article`,{className:`mx-auto w-full max-w-3xl rounded-xl border border-edge-subtle bg-surface-panel px-6 py-8 shadow-surface sm:px-10 sm:py-10`,children:[(0,A.jsx)(`h1`,{className:`text-3xl font-bold tracking-tight text-fg`,children:E.title}),(0,A.jsxs)(`div`,{className:`mt-2 text-xs text-fg-muted`,children:[n.sharedAt,` `,new Date(E.snapshotAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`),` · `,n.expiresAt,` `,new Date(E.expiresAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`)]}),E.description?(0,A.jsx)(`p`,{className:`mt-5 rounded-lg bg-surface-inset px-4 py-3 text-sm leading-6 text-fg-muted`,children:E.description}):null,(0,A.jsx)(h,{content:O(E.markdown,n.remoteImageBlocked),className:`mt-8`,renderChart:j}),(0,A.jsx)(`footer`,{className:`mt-10 border-t border-edge-subtle pt-4 text-center text-xs text-fg-subtle`,children:n.sharedVia})]}):r?.kind===`session`&&k?(0,A.jsxs)(`article`,{className:`mx-auto w-full max-w-4xl rounded-xl border border-edge-subtle bg-surface-panel px-4 py-7 shadow-surface sm:px-8 sm:py-9`,children:[(0,A.jsxs)(`header`,{className:`mx-auto max-w-3xl border-b border-edge-subtle pb-5`,children:[(0,A.jsx)(`h1`,{className:`text-2xl font-bold tracking-tight text-fg sm:text-3xl`,children:k.title}),(0,A.jsxs)(`div`,{className:`mt-2 text-xs text-fg-muted`,children:[n.sharedAt,` `,new Date(k.snapshotAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`),` · `,n.expiresAt,` `,new Date(k.expiresAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`)]}),k.description?(0,A.jsx)(`p`,{className:`mt-4 text-sm leading-6 text-fg-muted`,children:k.description}):null]}),(0,A.jsxs)(`div`,{className:`mx-auto mt-6 max-w-3xl space-y-5`,children:[k.messages.map(e=>(0,A.jsxs)(`section`,{className:e.role===`user`?`ml-auto max-w-[85%]`:`mr-auto max-w-full`,children:[(0,A.jsx)(`div`,{className:`mb-1 text-xs font-medium text-fg-subtle`,children:e.role===`user`?n.you:n.assistant}),(0,A.jsxs)(`div`,{className:e.role===`user`?`rounded-2xl bg-surface-inset px-4 py-3`:`px-1 py-1`,children:[(0,A.jsx)(h,{content:O(e.markdown,n.remoteImageBlocked),renderChart:j}),k.attachments.filter(t=>e.attachmentIds.includes(t.id)).map(e=>(0,A.jsx)(I,{attachment:e},e.id)),k.toolActivities.filter(t=>t.messageId===e.id).map(e=>(0,A.jsxs)(`div`,{className:`mt-2 inline-flex items-center gap-1.5 rounded-md border border-edge-subtle px-2 py-1 text-xs text-fg-muted`,children:[(0,A.jsx)(`span`,{children:e.toolName}),(0,A.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,A.jsx)(`span`,{children:e.status===`completed`?n.toolCompleted:n.toolFailed})]},e.id))]})]},e.id)),k.toolActivities.filter(e=>!e.messageId).map(e=>(0,A.jsxs)(`div`,{className:`text-center text-xs text-fg-muted`,children:[e.toolName,` · `,e.status===`completed`?n.toolCompleted:n.toolFailed]},e.id))]}),(0,A.jsx)(`footer`,{className:`mx-auto mt-10 max-w-3xl border-t border-edge-subtle pt-4 text-center text-xs text-fg-subtle`,children:n.sharedVia})]}):null})]})})}function I(e){let t=(0,w.c)(15),{attachment:n}=e;if(n.mimeType.startsWith(`image/`)){let e;return t[0]!==n.fileName||t[1]!==n.url?(e=(0,A.jsx)(`img`,{src:n.url,alt:n.fileName,loading:`lazy`,className:`mt-3 max-h-[28rem] max-w-full rounded-lg border border-edge-subtle object-contain`}),t[0]=n.fileName,t[1]=n.url,t[2]=e):e=t[2],e}if(n.mimeType.startsWith(`audio/`)){let e;return t[3]===n.url?e=t[4]:(e=(0,A.jsx)(`audio`,{src:n.url,controls:!0,preload:`none`,className:`mt-3 max-w-full`}),t[3]=n.url,t[4]=e),e}let r=n.url,i;t[5]===n.fileName?i=t[6]:(i=(0,A.jsx)(`span`,{className:`min-w-0 truncate`,children:n.fileName}),t[5]=n.fileName,t[6]=i);let a;t[7]===n.size?a=t[8]:(a=L(n.size),t[7]=n.size,t[8]=a);let o;t[9]===a?o=t[10]:(o=(0,A.jsx)(`span`,{className:`shrink-0 text-xs text-fg-subtle`,children:a}),t[9]=a,t[10]=o);let s;return t[11]!==n.url||t[12]!==i||t[13]!==o?(s=(0,A.jsxs)(`a`,{href:r,target:`_blank`,rel:`noreferrer`,className:`mt-3 flex items-center justify-between gap-3 rounded-lg border border-edge-subtle px-3 py-2 text-sm text-accent hover:bg-surface-hover`,children:[i,o]}),t[11]=n.url,t[12]=i,t[13]=o,t[14]=s):s=t[14],s}function L(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:e<1073741824?`${(e/1048576).toFixed(1)} MB`:`${(e/1073741824).toFixed(1)} GB`}var R={error:`暂时无法打开分享`,unavailable:`分享服务暂时不可用,请稍后重试。`,recovery:`如果链接已失效或仍无法打开,请向分享者索取新链接。`,retry:`重试`,download:`下载文件`,expired:`链接已失效`,notFound:`链接不存在`,invalidLink:`链接无效`,expiresAt:`有效期至`,directoryHint:`目录分享请使用主页面浏览。`,tooLarge:`文件过大,无法在线预览,请下载查看。`,sharedAt:`分享于`,sharedVia:`通过 xopc 分享`,you:`你`,assistant:`助手`,toolCompleted:`已完成`,toolFailed:`失败`,remoteImageBlocked:`远程图片(点击打开)`},z={error:`Unable to open this share`,unavailable:`The sharing service is temporarily unavailable. Please try again.`,recovery:`If the link has expired or still cannot be opened, ask the sender for a new link.`,retry:`Try again`,download:`Download file`,expired:`Link no longer valid`,notFound:`Link not found`,invalidLink:`Invalid link`,expiresAt:`Expires`,directoryHint:`Directory shares are browsed from the main page.`,tooLarge:`This file is too large to preview here. Please download it instead.`,sharedAt:`Shared`,sharedVia:`Shared via xopc`,you:`You`,assistant:`Assistant`,toolCompleted:`completed`,toolFailed:`failed`,remoteImageBlocked:`Remote image (open manually)`};export{F as SharePreviewPage};
|
|
2
|
+
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"./preload-helper-Czpn1I53.js";import{f as a}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{i as o,n as s}from"./locale-store-LhhHA2sK.js";import{t as c}from"./messages-C3xqMM9W.js";import{g as l,h as u,n as d,p as f,t as p,x as m}from"./use-file-preview-expanded-SFqd8k7K.js";import{t as h}from"./markdown-view-usF9EoMp.js";import{t as g}from"./cn-0WouolD0.js";import{t as _}from"./skeleton-BI5TyibZ.js";import{t as v}from"./attachment-utils-core-BIOUBrpT.js";import{t as y}from"./button-Cc4hUNTt.js";import{t as b}from"./copy-to-clipboard-HOJ79TWv.js";import{r as x,t as S}from"./chat-chart-block-Cq3aoRzV.js";var C=e(t(),1),w=n(),T=/^ {0,3}\[([^\]]+)\]:\s*<?(https?:\/\/[^\s>]+)>?(?:\s+.*)?$/gim,E=/!\[([^\]]*)\]\(\s*<?(https?:\/\/[^\s)>]+)>?(?:\s+(?:"[^"]*"|'[^']*'|\([^)]*\)))?\s*\)/gi,D=/!\[([^\]]*)\]\[([^\]]+)\]/g;function O(e,t){let n=new Map;for(let t of e.matchAll(T))n.set(k(t[1]??``),t[2]??``);return e.replace(E,(e,n,r)=>`[${n.trim()||t}](${r})`).replace(D,(e,r,i)=>{let a=n.get(k(i));return a?`[${r.trim()||t}](${a})`:e})}function k(e){return e.trim().replace(/\s+/g,` `).toLowerCase()}var A=r();function j(e){return(0,A.jsx)(S,{source:e.source,incomplete:!e.closed,streaming:!1,copy:!0})}function M(){return{textContent:null,binaryBuffer:null,extractedText:null,extractedTextTruncated:!1}}function N(e){let t=(0,w.c)(30),{subtitle:n,openInlineUrl:r,landingUrl:i,...a}=e,{expanded:o,setExpanded:s}=p(),l=c(a.language),u;t[0]===l?u=t[1]:(u=async()=>{let e=await b(window.location.href);m(e?`success`:`warning`,e?l.sharesSettings.copied:l.clipboard.copyFailed)},t[0]=l,t[1]=u);let f=u,h=o&&`fixed inset-0 z-[65] h-[100dvh] max-w-none`,_;t[2]===h?_=t[3]:(_=g(`mx-auto flex h-full min-h-0 w-full max-w-[var(--max-width-app-main)] flex-col bg-surface-panel`,h),t[2]=h,t[3]=_);let v;t[4]!==s||t[5]!==a.loadError||t[6]!==a.loading?(v=!a.loading&&!a.loadError?()=>s(P):void 0,t[4]=s,t[5]=a.loadError,t[6]=a.loading,t[7]=v):v=t[7];let y;t[8]===i?y=t[9]:(y=()=>window.location.assign(i),t[8]=i,t[9]=y);let x;t[10]===f?x=t[11]:(x=()=>void f(),t[10]=f,t[11]=x);let S=a.loading||!!a.loadError,C;t[12]!==x||t[13]!==S?(C={onClick:x,disabled:S},t[12]=x,t[13]=S,t[14]=C):C=t[14];let T;t[15]===r?T=t[16]:(T={href:r},t[15]=r,t[16]=T);let E;t[17]!==o||t[18]!==n||t[19]!==v||t[20]!==y||t[21]!==C||t[22]!==T?(E={subtitle:n,expanded:o,onToggleExpanded:v,onClose:y,share:C,openInBrowser:T},t[17]=o,t[18]=n,t[19]=v,t[20]=y,t[21]=C,t[22]=T,t[23]=E):E=t[23];let D;t[24]!==a||t[25]!==E?(D=(0,A.jsx)(d,{...a,header:E}),t[24]=a,t[25]=E,t[26]=D):D=t[26];let O;return t[27]!==D||t[28]!==_?(O=(0,A.jsx)(`div`,{className:_,children:D}),t[27]=D,t[28]=_,t[29]=O):O=t[29],O}function P(e){return!e}function F(){let{token:e}=a(),t=s(e=>e.language),n=t===`zh`?R:z,[r,c]=(0,C.useState)(null),[d,p]=(0,C.useState)(M),[m,g]=(0,C.useState)(!0),[b,S]=(0,C.useState)(0),[w,T]=(0,C.useState)(null),[E,D]=(0,C.useState)(null),[k,P]=(0,C.useState)(null),F=(0,C.useMemo)(()=>{if(!r||!e||r.kind!==`file`)return null;let t=u(r.fileName,r.mimeType);return{id:`share:${e}:${r.fileName}`,context:`share`,fileName:r.fileName,mimeType:t,size:r.fileSize,type:f(r.fileName,t),source:{kind:`share`,token:e}}},[r,e]);(0,C.useEffect)(()=>{if(!e){T(n.invalidLink),g(!1);return}let t=!1;return(async()=>{try{g(!0),T(null),c(null),p(M()),D(null),P(null);let r=await fetch(o(`/s/${encodeURIComponent(e)}/meta`));if(!r.ok){t||T(r.status===404?n.notFound:r.status===410?n.expired:n.unavailable);return}let a=await r.json();if(t)return;if(!a||![`file`,`directory`,`note`,`session`].includes(a.kind)||typeof a.valid!=`boolean`)throw Error(`Invalid share metadata`);if(c(a),!a.valid){T(n.expired);return}if(a.kind===`note`||a.kind===`session`){let r=await fetch(o(`/s/${encodeURIComponent(e)}/view`),{method:`POST`});if(!r.ok){T(r.status===404?n.notFound:r.status===410?n.expired:n.unavailable);return}let i=await r.json();if(i.payload?.kind!==a.kind)throw Error(`Invalid share content`);!t&&i.payload?.kind===`note`&&D(i.payload),!t&&i.payload?.kind===`session`&&P(i.payload);return}if(a.kind!==`file`)return;let s=u(a.fileName,a.mimeType),d=f(a.fileName,s),m=l(d),h=o(`/s/${encodeURIComponent(e)}?inline=1`);if(m===`text`){if(a.fileSize>5242880){T(n.tooLarge);return}let e=await fetch(h);if(!e.ok){T(e.status===404?n.notFound:e.status===410?n.expired:n.unavailable);return}let r=await e.text();t||p({...M(),textContent:r});return}if(m===`binary`){if(a.fileSize>33554432){T(n.tooLarge);return}let e=await fetch(h);if(!e.ok){T(e.status===404?n.notFound:e.status===410?n.expired:n.unavailable);return}let r=await e.arrayBuffer();if(t)return;if(d===`pptx`){let{processPptx:e}=await i(async()=>{let{processPptx:e}=await import(`./attachment-process-heavy-DGZZ-M85.js`);return{processPptx:e}},__vite__mapDeps([0,1,2,3])),{extractedText:t}=await e(r,a.fileName),n=t.length>v;p({textContent:null,binaryBuffer:r,extractedText:n?t.slice(0,v):t,extractedTextTruncated:n});return}p({...M(),binaryBuffer:r})}}catch{t||T(n.unavailable)}finally{t||g(!1)}})(),()=>{t=!0}},[e,b,n.expired,n.invalidLink,n.notFound,n.tooLarge,n.unavailable]);let B=e?o(`/s/${encodeURIComponent(e)}?dl=1`):`#`,V=e?o(`/s/${encodeURIComponent(e)}?inline=1`):`#`;return F&&r&&e&&!w?(0,A.jsx)(N,{language:t,descriptor:F,loading:m,loadError:w,textContent:d.textContent,binaryBuffer:d.binaryBuffer,extractedText:d.extractedText,extractedTextTruncated:d.extractedTextTruncated,subtitle:(0,A.jsxs)(`span`,{className:`truncate`,children:[L(r.fileSize),` · `,n.expiresAt,` `,new Date(r.expiresAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`)]}),openInlineUrl:V,landingUrl:o(`/s/${encodeURIComponent(e)}`),actions:{onDownload:()=>{window.location.href=B},canDownload:!m&&!w}}):(0,A.jsx)(x,{children:(0,A.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden bg-surface-base`,children:[(0,A.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-3 border-b border-edge px-4`,children:[(0,A.jsx)(`span`,{className:`text-lg`,"aria-hidden":!0,children:`#`}),(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r?(0,A.jsx)(`div`,{className:`truncate text-sm font-semibold text-fg`,title:r.fileName,children:r.fileName}):m?(0,A.jsx)(_,{className:`h-4 w-48 max-w-full`}):(0,A.jsx)(`div`,{className:`truncate text-sm font-semibold text-fg`,children:n.error}),r?(0,A.jsxs)(`div`,{className:`truncate text-xs text-fg-muted`,children:[L(r.fileSize),` · `,n.expiresAt,` `,new Date(r.expiresAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`)]}):null]})]}),(0,A.jsx)(`main`,{className:`flex min-h-0 w-full flex-1 flex-col overflow-y-auto overscroll-contain px-3 py-6 sm:px-5 xl:px-6`,children:m?(0,A.jsxs)(`div`,{className:`flex min-h-[70vh] flex-1 flex-col overflow-hidden rounded-lg bg-surface-panel p-4 shadow-surface`,"aria-busy":`true`,children:[(0,A.jsx)(_,{className:`h-5 w-56 max-w-full`}),(0,A.jsxs)(`div`,{className:`mt-5 grid gap-3`,children:[(0,A.jsx)(_,{className:`h-4 w-full`}),(0,A.jsx)(_,{className:`h-4 w-11/12`}),(0,A.jsx)(_,{className:`h-4 w-10/12`}),(0,A.jsx)(_,{className:`h-4 w-3/4`})]}),(0,A.jsx)(_,{className:`mt-6 min-h-0 flex-1 rounded-lg`})]}):w?(0,A.jsxs)(`div`,{role:`alert`,className:`rounded-lg bg-surface-panel p-6 shadow-surface text-sm text-fg`,children:[(0,A.jsx)(`p`,{className:`font-medium`,children:n.error}),(0,A.jsx)(`p`,{className:`mt-1 text-fg-muted`,children:w}),(0,A.jsx)(`p`,{className:`mt-2 text-fg-muted`,children:n.recovery}),(0,A.jsx)(y,{className:`mt-4`,onClick:()=>S(e=>e+1),children:n.retry}),r?.kind===`file`&&w===n.tooLarge?(0,A.jsx)(`a`,{className:`ml-4 text-accent hover:underline`,href:B,children:n.download}):null]}):r?.kind===`directory`?(0,A.jsx)(`div`,{className:`rounded-lg bg-surface-panel p-6 shadow-surface text-sm text-fg-muted`,children:n.directoryHint}):r?.kind===`note`&&E?(0,A.jsxs)(`article`,{className:`mx-auto w-full max-w-3xl rounded-xl border border-edge-subtle bg-surface-panel px-6 py-8 shadow-surface sm:px-10 sm:py-10`,children:[(0,A.jsx)(`h1`,{className:`text-3xl font-bold tracking-tight text-fg`,children:E.title}),(0,A.jsxs)(`div`,{className:`mt-2 text-xs text-fg-muted`,children:[n.sharedAt,` `,new Date(E.snapshotAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`),` · `,n.expiresAt,` `,new Date(E.expiresAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`)]}),E.description?(0,A.jsx)(`p`,{className:`mt-5 rounded-lg bg-surface-inset px-4 py-3 text-sm leading-6 text-fg-muted`,children:E.description}):null,(0,A.jsx)(h,{content:O(E.markdown,n.remoteImageBlocked),className:`mt-8`,renderChart:j}),(0,A.jsx)(`footer`,{className:`mt-10 border-t border-edge-subtle pt-4 text-center text-xs text-fg-subtle`,children:n.sharedVia})]}):r?.kind===`session`&&k?(0,A.jsxs)(`article`,{className:`mx-auto w-full max-w-4xl rounded-xl border border-edge-subtle bg-surface-panel px-4 py-7 shadow-surface sm:px-8 sm:py-9`,children:[(0,A.jsxs)(`header`,{className:`mx-auto max-w-3xl border-b border-edge-subtle pb-5`,children:[(0,A.jsx)(`h1`,{className:`text-2xl font-bold tracking-tight text-fg sm:text-3xl`,children:k.title}),(0,A.jsxs)(`div`,{className:`mt-2 text-xs text-fg-muted`,children:[n.sharedAt,` `,new Date(k.snapshotAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`),` · `,n.expiresAt,` `,new Date(k.expiresAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`)]}),k.description?(0,A.jsx)(`p`,{className:`mt-4 text-sm leading-6 text-fg-muted`,children:k.description}):null]}),(0,A.jsxs)(`div`,{className:`mx-auto mt-6 max-w-3xl space-y-5`,children:[k.messages.map(e=>(0,A.jsxs)(`section`,{className:e.role===`user`?`ml-auto max-w-[85%]`:`mr-auto max-w-full`,children:[(0,A.jsx)(`div`,{className:`mb-1 text-xs font-medium text-fg-subtle`,children:e.role===`user`?n.you:n.assistant}),(0,A.jsxs)(`div`,{className:e.role===`user`?`rounded-2xl bg-surface-inset px-4 py-3`:`px-1 py-1`,children:[(0,A.jsx)(h,{content:O(e.markdown,n.remoteImageBlocked),renderChart:j}),k.attachments.filter(t=>e.attachmentIds.includes(t.id)).map(e=>(0,A.jsx)(I,{attachment:e},e.id)),k.toolActivities.filter(t=>t.messageId===e.id).map(e=>(0,A.jsxs)(`div`,{className:`mt-2 inline-flex items-center gap-1.5 rounded-md border border-edge-subtle px-2 py-1 text-xs text-fg-muted`,children:[(0,A.jsx)(`span`,{children:e.toolName}),(0,A.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,A.jsx)(`span`,{children:e.status===`completed`?n.toolCompleted:n.toolFailed})]},e.id))]})]},e.id)),k.toolActivities.filter(e=>!e.messageId).map(e=>(0,A.jsxs)(`div`,{className:`text-center text-xs text-fg-muted`,children:[e.toolName,` · `,e.status===`completed`?n.toolCompleted:n.toolFailed]},e.id))]}),(0,A.jsx)(`footer`,{className:`mx-auto mt-10 max-w-3xl border-t border-edge-subtle pt-4 text-center text-xs text-fg-subtle`,children:n.sharedVia})]}):null})]})})}function I(e){let t=(0,w.c)(15),{attachment:n}=e;if(n.mimeType.startsWith(`image/`)){let e;return t[0]!==n.fileName||t[1]!==n.url?(e=(0,A.jsx)(`img`,{src:n.url,alt:n.fileName,loading:`lazy`,className:`mt-3 max-h-[28rem] max-w-full rounded-lg border border-edge-subtle object-contain`}),t[0]=n.fileName,t[1]=n.url,t[2]=e):e=t[2],e}if(n.mimeType.startsWith(`audio/`)){let e;return t[3]===n.url?e=t[4]:(e=(0,A.jsx)(`audio`,{src:n.url,controls:!0,preload:`none`,className:`mt-3 max-w-full`}),t[3]=n.url,t[4]=e),e}let r=n.url,i;t[5]===n.fileName?i=t[6]:(i=(0,A.jsx)(`span`,{className:`min-w-0 truncate`,children:n.fileName}),t[5]=n.fileName,t[6]=i);let a;t[7]===n.size?a=t[8]:(a=L(n.size),t[7]=n.size,t[8]=a);let o;t[9]===a?o=t[10]:(o=(0,A.jsx)(`span`,{className:`shrink-0 text-xs text-fg-subtle`,children:a}),t[9]=a,t[10]=o);let s;return t[11]!==n.url||t[12]!==i||t[13]!==o?(s=(0,A.jsxs)(`a`,{href:r,target:`_blank`,rel:`noreferrer`,className:`mt-3 flex items-center justify-between gap-3 rounded-lg border border-edge-subtle px-3 py-2 text-sm text-accent hover:bg-surface-hover`,children:[i,o]}),t[11]=n.url,t[12]=i,t[13]=o,t[14]=s):s=t[14],s}function L(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:e<1073741824?`${(e/1048576).toFixed(1)} MB`:`${(e/1073741824).toFixed(1)} GB`}var R={error:`暂时无法打开分享`,unavailable:`分享服务暂时不可用,请稍后重试。`,recovery:`如果链接已失效或仍无法打开,请向分享者索取新链接。`,retry:`重试`,download:`下载文件`,expired:`链接已失效`,notFound:`链接不存在`,invalidLink:`链接无效`,expiresAt:`有效期至`,directoryHint:`目录分享请使用主页面浏览。`,tooLarge:`文件过大,无法在线预览,请下载查看。`,sharedAt:`分享于`,sharedVia:`通过 xopc 分享`,you:`你`,assistant:`助手`,toolCompleted:`已完成`,toolFailed:`失败`,remoteImageBlocked:`远程图片(点击打开)`},z={error:`Unable to open this share`,unavailable:`The sharing service is temporarily unavailable. Please try again.`,recovery:`If the link has expired or still cannot be opened, ask the sender for a new link.`,retry:`Try again`,download:`Download file`,expired:`Link no longer valid`,notFound:`Link not found`,invalidLink:`Invalid link`,expiresAt:`Expires`,directoryHint:`Directory shares are browsed from the main page.`,tooLarge:`This file is too large to preview here. Please download it instead.`,sharedAt:`Shared`,sharedVia:`Shared via xopc`,you:`You`,assistant:`Assistant`,toolCompleted:`completed`,toolFailed:`failed`,remoteImageBlocked:`Remote image (open manually)`};export{F as SharePreviewPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,o as t}from"./locale-store-
|
|
1
|
+
import{i as e,o as t}from"./locale-store-LhhHA2sK.js";async function n(){return t(e(`/api/shares`))}async function r(){return(await t(e(`/api/hosted-publications/capabilities`))).payload}async function i(){if(!await _())return{connected:!1,publishingAllowed:!1,publications:[]};let[n,i]=await Promise.all([t(e(`/api/hosted-publications`)),r()]);return{connected:!0,publishingAllowed:i.publishing.allowed,publications:n.payload.publications}}async function a(n){await t(e(`/api/hosted-publications/${encodeURIComponent(n)}`),{method:`DELETE`})}async function o(n){return(await t(e(`/api/hosted-publications/static-sites`),{method:`POST`,body:JSON.stringify(n)})).payload}async function s(n){await t(e(`/api/hosted-publications/static-sites/${encodeURIComponent(n)}/refresh`),{method:`POST`})}async function c(n){return(await t(e(`/api/hosted-publications/${encodeURIComponent(n)}/revisions`))).payload.revisions}async function l(n,r,i){await t(e(`/api/hosted-publications/${encodeURIComponent(n)}/rollback`),{method:`POST`,body:JSON.stringify({expectedRevision:r,targetRevision:i})})}async function u(n){return t(e(`/api/shares`),{method:`POST`,body:JSON.stringify(n)})}async function d(n){return t(e(`/api/shares/${n}`),{method:`DELETE`})}async function f(){return t(e(`/api/shares`),{method:`DELETE`,body:JSON.stringify({expired:!0})})}async function p(n,r){return t(e(`/api/shares/${n}`),{method:`PATCH`,body:JSON.stringify({extendTtlMs:r})})}async function m(n){return(await t(e(`/api/sessions/${encodeURIComponent(n)}/share-preview`))).payload}async function h(n){return(await t(e(`/api/sessions/${encodeURIComponent(n)}/shares`))).payload.shares}async function g(n){return(await t(e(`/api/sessions/${encodeURIComponent(n)}/hosted-shares`))).payload.shares}async function _(){return(await t(e(`/api/auth/oauth/xopc-share`))).payload.authStatus===`connected`}async function v(n,r){return(await t(e(`/api/sessions/${encodeURIComponent(n)}/shares`),{method:`POST`,body:JSON.stringify(r)})).payload}async function y(n,r){return(await t(e(`/api/sessions/${encodeURIComponent(n)}/hosted-shares`),{method:`POST`,body:JSON.stringify(r)})).payload}async function b(n,r,i){return(await t(e(`/api/sessions/${encodeURIComponent(n)}/shares/${encodeURIComponent(r)}/refresh`),{method:`POST`,body:JSON.stringify(i)})).payload}async function x(n,r,i){return(await t(e(`/api/sessions/${encodeURIComponent(n)}/hosted-shares/${encodeURIComponent(r)}/refresh`),{method:`POST`,body:JSON.stringify(i)})).payload}async function S(n,r){await t(e(`/api/sessions/${encodeURIComponent(n)}/hosted-shares/${encodeURIComponent(r)}`),{method:`DELETE`})}export{b as _,u as a,d as b,c,_ as d,m as f,s as g,x as h,v as i,i as l,n as m,y as n,p as o,h as p,o as r,r as s,f as t,g as u,a as v,l as x,S as y};
|