@xopcai/xopc 0.0.415 → 0.0.417
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/README.zh-CN.md +2 -2
- package/dist/browser-ext/_locales/en/messages.json +4 -1
- package/dist/browser-ext/_locales/zh_CN/messages.json +4 -1
- package/dist/browser-ext/dist/assets/{page-context-MuzjMBlJ.js → page-context-BKnEwsOO.js} +2914 -1381
- package/dist/browser-ext/dist/background.js +39 -10
- package/dist/browser-ext/dist/sidepanel.html +1 -1
- package/dist/browser-ext/dist/sidepanel.js +502 -348
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/activity-YogQEteU.js +1 -0
- package/dist/gateway/static/root/assets/activity-store-DnqOM8GN.js +1 -0
- package/dist/gateway/static/root/assets/agent-avatar-dicebear-1UABT2KS.js +1 -0
- package/dist/gateway/static/root/assets/agent-avatar-display-Cy50vjbq.js +2 -0
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-V4NX_cWz.js +1 -0
- package/dist/gateway/static/root/assets/agent-display-names-Bje7vfSn.js +1 -0
- package/dist/gateway/static/root/assets/agent-plugin-dialog-CQ5LLDMO.js +1 -0
- package/dist/gateway/static/root/assets/agents-O7mago-m.js +77 -0
- package/dist/gateway/static/root/assets/{agents-admin-api-B1p-ghg9.js → agents-admin-api-CyjykMEh.js} +2 -2
- package/dist/gateway/static/root/assets/agents-app-path-ciChvpCS.js +1 -0
- package/dist/gateway/static/root/assets/api-C1dxxDZx.js +1 -0
- package/dist/gateway/static/root/assets/api-Ddrs70xV.js +1 -0
- package/dist/gateway/static/root/assets/app-chrome-BeB4KgOf.js +1 -0
- package/dist/gateway/static/root/assets/app-link-CytZ5zkp.js +1 -0
- package/dist/gateway/static/root/assets/app-management-settings-panel-C1Zs-eha.js +1 -0
- package/dist/gateway/static/root/assets/appearance-settings-lIfGokbz.js +1 -0
- package/dist/gateway/static/root/assets/apps-page-CUvtsRYD.js +1 -0
- package/dist/gateway/static/root/assets/archive-Dz0hferG.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-Ch7wolHE.js → archive-plugin-n5lPr79c.js} +1 -1
- package/dist/gateway/static/root/assets/arrow-left-D880xG-P.js +1 -0
- package/dist/gateway/static/root/assets/arrow-right-DSSvoX71.js +1 -0
- package/dist/gateway/static/root/assets/arrow-up-D5ZtR1QT.js +1 -0
- package/dist/gateway/static/root/assets/arrow-up-right-T72JbQ1Q.js +1 -0
- package/dist/gateway/static/root/assets/{attachment-preview-renderer-wzIchDSv.js → attachment-preview-renderer-DdOEgexg.js} +3 -3
- package/dist/gateway/static/root/assets/{attachment-process-heavy-Db4nTY5N.js → attachment-process-heavy-DGZZ-M85.js} +2 -2
- package/dist/gateway/static/root/assets/automation-api-Bld8blNl.js +1 -0
- package/dist/gateway/static/root/assets/automation-display-BcfZOQTC.js +2 -0
- package/dist/gateway/static/root/assets/{automations-page-DK7AU79v.js → automations-page-oLsNzu_6.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-BgtYY2Mm.js +8 -0
- package/dist/gateway/static/root/assets/beta-badge-BnzdzIEl.js +1 -0
- package/dist/gateway/static/root/assets/{binary-plugins-B4HcHYsC.js → binary-plugins-D9VW7dWP.js} +2 -2
- package/dist/gateway/static/root/assets/{block-editor-BQAWEZF-.js → block-editor-C477bTtO.js} +23 -23
- package/dist/gateway/static/root/assets/book-open-CCGtrT3R.js +1 -0
- package/dist/gateway/static/root/assets/bot-DjLkhyZL.js +1 -0
- package/dist/gateway/static/root/assets/box-DvYoGszj.js +1 -0
- package/dist/gateway/static/root/assets/braces-Cfmtagno.js +1 -0
- package/dist/gateway/static/root/assets/brand-logo-CgT9zQfr.js +1 -0
- package/dist/gateway/static/root/assets/briefcase-business-BsoCaI_t.js +1 -0
- package/dist/gateway/static/root/assets/browser-BLJWD7WI.js +8 -0
- package/dist/gateway/static/root/assets/{browser-automation-inputs-D6AccXaA.js → browser-automation-inputs-CCiYXxmh.js} +1 -1
- package/dist/gateway/static/root/assets/browser-automations-page-DIUNY94X.js +3 -0
- package/dist/gateway/static/root/assets/browser-control-api-Y3fvmeBk.js +6 -0
- package/dist/gateway/static/root/assets/browser-notification-delivery-DmE2FgGc.js +1 -0
- package/dist/gateway/static/root/assets/browser-settings-page-DjkGahlz.js +3 -0
- package/dist/gateway/static/root/assets/{button-aIC072nz.js → button-CnRSIP6m.js} +1 -1
- package/dist/gateway/static/root/assets/calendar-clock-D-quYVPe.js +1 -0
- package/dist/gateway/static/root/assets/calendar-days-hw_Y-g-s.js +1 -0
- package/dist/gateway/static/root/assets/capabilities-DAyA681v.js +1 -0
- package/dist/gateway/static/root/assets/capabilities-DRVXLssH.js +1 -0
- package/dist/gateway/static/root/assets/capabilities-page-DFW4Y0x8.js +2 -0
- package/dist/gateway/static/root/assets/capabilities-settings-panel-uOHSMQPZ.js +8 -0
- package/dist/gateway/static/root/assets/capability-header-actions-CTUCuBlW.js +1 -0
- package/dist/gateway/static/root/assets/capability-icon-DVoZxEgW.js +1 -0
- package/dist/gateway/static/root/assets/capability-links-DzQWK1Fh.js +1 -0
- package/dist/gateway/static/root/assets/channels-D2a69dSt.js +1 -0
- package/dist/gateway/static/root/assets/channels-routes-r2g-9DdC.js +1 -0
- package/dist/gateway/static/root/assets/chat-agents-api-D5nR_JVe.js +1 -0
- package/dist/gateway/static/root/assets/chat-chart-block-K2t333qv.js +2 -0
- package/dist/gateway/static/root/assets/chat-page-CG38tCHE.js +71 -0
- package/dist/gateway/static/root/assets/chat-page-zQeUaawJ.css +1 -0
- package/dist/gateway/static/root/assets/chat-terminal-dock-CkFG6mA3.js +35 -0
- package/dist/gateway/static/root/assets/chevron-left-DqFhpbvK.js +1 -0
- package/dist/gateway/static/root/assets/chevron-right-BweFrslA.js +1 -0
- package/dist/gateway/static/root/assets/chunk-D32TOXHM-DQIy-Baq.js +156 -0
- package/dist/gateway/static/root/assets/chunk-KS7C4IRE-CiwuuyV8.js +4 -0
- package/dist/gateway/static/root/assets/circle-BoO4YvTx.js +1 -0
- package/dist/gateway/static/root/assets/circle-alert-BEjgurr2.js +1 -0
- package/dist/gateway/static/root/assets/circle-pause-CN9jYH2s.js +1 -0
- package/dist/gateway/static/root/assets/circle-x-DFsCKeya.js +1 -0
- package/dist/gateway/static/root/assets/clock-3-DnrAnuyZ.js +1 -0
- package/dist/gateway/static/root/assets/cloud-C4-yfnnk.js +1 -0
- package/dist/gateway/static/root/assets/cloud-credits-B-nbtkqv.js +1 -0
- package/dist/gateway/static/root/assets/code-xml-DJtYhZUF.js +1 -0
- package/dist/gateway/static/root/assets/coins-DjP27vUx.js +1 -0
- package/dist/gateway/static/root/assets/command-palette-api-Do_66X1B.js +1 -0
- package/dist/gateway/static/root/assets/composer-payload-handoff-BU3B-C26.js +1 -0
- package/dist/gateway/static/root/assets/computer-settings-page-DBxOcMko.js +1 -0
- package/dist/gateway/static/root/assets/confirm-dialog-XGclfBqe.js +1 -0
- package/dist/gateway/static/root/assets/connected-providers-grid-Dmnu2zle.js +1 -0
- package/dist/gateway/static/root/assets/connector-filters-Cfcx9EA2.js +1 -0
- package/dist/gateway/static/root/assets/connector-service-page-rWpnchb3.js +1 -0
- package/dist/gateway/static/root/assets/connectors-api-DIBG72k4.js +1 -0
- package/dist/gateway/static/root/assets/connectors-page-DT_WrC1y.js +1 -0
- package/dist/gateway/static/root/assets/constants-DBtMsXdW.js +1 -0
- package/dist/gateway/static/root/assets/copy-text-row-CYIv7RfP.js +1 -0
- package/dist/gateway/static/root/assets/cpu-B247669f.js +1 -0
- package/dist/gateway/static/root/assets/database-CjjeZfRG.js +1 -0
- package/dist/gateway/static/root/assets/date-picker-CE-cZFCU.js +1 -0
- package/dist/gateway/static/root/assets/dependency-picker-7SpSfDSg.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-lorocS9j.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-narrative-CS8qJpNO.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-settings-CEcohlZq.js +1 -0
- package/dist/gateway/static/root/assets/{desktop-pet-sprite-Bd-aOI7N.js → desktop-pet-sprite-D5YYq2zC.js} +1 -1
- package/dist/gateway/static/root/assets/dev-view-store-57HgVuZ6.js +1 -0
- package/dist/gateway/static/root/assets/device-pairing-wizard-CLCPuf4R.js +1 -0
- package/dist/gateway/static/root/assets/directory-picker-path-field-D4jMhpka.js +1 -0
- package/dist/gateway/static/root/assets/discussion-annotation-sync-BKjf9gWe.js +1 -0
- package/dist/gateway/static/root/assets/dist-CaUuvp8-.js +1 -0
- package/dist/gateway/static/root/assets/dist-DNCdG_qB.js +1 -0
- package/dist/gateway/static/root/assets/dist-DfWfZ9iu.js +1 -0
- package/dist/gateway/static/root/assets/dist-DusecO_p.js +1 -0
- package/dist/gateway/static/root/assets/docx-preview-CnIClbYi.js +20 -0
- package/dist/gateway/static/root/assets/earth-BMhZtzcj.js +1 -0
- package/dist/gateway/static/root/assets/echarts-runtime-QSmTlXOu.js +18 -0
- package/dist/gateway/static/root/assets/electron-env-DHOGevH3.js +1 -0
- package/dist/gateway/static/root/assets/extension-debug-page-BsK2LMXQ.js +1 -0
- package/dist/gateway/static/root/assets/extension-iframe-host-Dhkk5JV2.js +1 -0
- package/dist/gateway/static/root/assets/extension-marketplace-api-CVJPqJOB.js +1 -0
- package/dist/gateway/static/root/assets/extension-page-Brps2XDP.js +1 -0
- package/dist/gateway/static/root/assets/extension-paths-DvuaZJuy.js +1 -0
- package/dist/gateway/static/root/assets/extension-provider-Byrd8Sor.js +1 -0
- package/dist/gateway/static/root/assets/extension-settings-page-CHY68DpG.js +1 -0
- package/dist/gateway/static/root/assets/file-BqMS_3DT.js +1 -0
- package/dist/gateway/static/root/assets/file-archive-DanfQJNe.js +1 -0
- package/dist/gateway/static/root/assets/file-preview-surface-BlprUrIs.js +1 -0
- package/dist/gateway/static/root/assets/file-text-D12HbeVy.js +1 -0
- package/dist/gateway/static/root/assets/file-tree-CFlZnV3Y.js +1 -0
- package/dist/gateway/static/root/assets/file-tree-utils-DJs1faGv.js +1 -0
- package/dist/gateway/static/root/assets/files-BNL4kkSB.js +1 -0
- package/dist/gateway/static/root/assets/floating-ui.dom-seOukHzT.js +1 -0
- package/dist/gateway/static/root/assets/folder-CN-pC3XL.js +1 -0
- package/dist/gateway/static/root/assets/folder-kanban-CpLlFI1o.js +1 -0
- package/dist/gateway/static/root/assets/form-field-width-DJw_jULe.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-config-swr-fQKBHBi1.js → gateway-config-swr-BAmUhiP1.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-CsykKL4l.js +1 -0
- package/dist/gateway/static/root/assets/gateway-realtime-store-DQqMBruB.js +1 -0
- package/dist/gateway/static/root/assets/gateway-restart-Ch128Lrr.js +1 -0
- package/dist/gateway/static/root/assets/gateway-settings-BA5-Uuwx.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-Cfwxof4k.js → gateway-startup-retry-CtUB3g6N.js} +1 -1
- package/dist/gateway/static/root/assets/gauge-C78eD2BA.js +1 -0
- package/dist/gateway/static/root/assets/git-branch-Dh9uxTot.js +1 -0
- package/dist/gateway/static/root/assets/global-defaults-api-CINf-C6a.js +2 -0
- package/dist/gateway/static/root/assets/heart-Cp4rgrqn.js +1 -0
- package/dist/gateway/static/root/assets/highlight-code-BH65IIbJ.js +1 -0
- package/dist/gateway/static/root/assets/highlighted-body-KQOG7T2V-DKGma5wI.js +1 -0
- package/dist/gateway/static/root/assets/history-DXH_9jsE.js +1 -0
- package/dist/gateway/static/root/assets/home-page-DaMFBYo1.js +2 -0
- package/dist/gateway/static/root/assets/image-Cwyalflz.js +1 -0
- package/dist/gateway/static/root/assets/image-generation-api-I_JgLL_m.js +1 -0
- package/dist/gateway/static/root/assets/imports-page-BWShtGRQ.js +1 -0
- package/dist/gateway/static/root/assets/index-BpCi0TdG.js +11 -0
- package/dist/gateway/static/root/assets/index-DY2Y83b9.css +1 -0
- package/dist/gateway/static/root/assets/index.module-Cd9ENXfk.js +1 -0
- package/dist/gateway/static/root/assets/info-CDrmIZhb.js +1 -0
- package/dist/gateway/static/root/assets/install-connector-dialog-DU1Tz7B3.js +1 -0
- package/dist/gateway/static/root/assets/interaction-BdhHBbYa.js +1 -0
- package/dist/gateway/static/root/assets/is-masked-secret-DOkL5b_X.js +1 -0
- package/dist/gateway/static/root/assets/{jszip.min-DT31yWkU.js → jszip.min-Dj17eJqX.js} +1 -1
- package/dist/gateway/static/root/assets/key-round-DWbpyU2U.js +1 -0
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-CdM4BQwp.js +1 -0
- package/dist/gateway/static/root/assets/languages-zXtNocoy.js +2 -0
- package/dist/gateway/static/root/assets/laptop-CI3hBVrl.js +1 -0
- package/dist/gateway/static/root/assets/layers-mJW7JJKm.js +1 -0
- package/dist/gateway/static/root/assets/layout-grid-CEVZdVFU.js +1 -0
- package/dist/gateway/static/root/assets/list-checks-BbsExAoq.js +1 -0
- package/dist/gateway/static/root/assets/list-filter-COkzTdOz.js +1 -0
- package/dist/gateway/static/root/assets/list-todo-CTVRto8O.js +1 -0
- package/dist/gateway/static/root/assets/list-tree-B0OMswgM.js +1 -0
- package/dist/gateway/static/root/assets/local-app-workbench-page-qPflPuQD.js +1 -0
- package/dist/gateway/static/root/assets/local-apps-Ck6kACsY.js +1 -0
- package/dist/gateway/static/root/assets/local-apps-page-CxyRVfjD.js +1 -0
- package/dist/gateway/static/root/assets/local-session-drafts-B9ZPwotC.js +1 -0
- package/dist/gateway/static/root/assets/{locale-store-B7s2Hb35.js → locale-store-lIXD1FMw.js} +1 -1
- package/dist/gateway/static/root/assets/lock-keyhole-DEK5kH0u.js +1 -0
- package/dist/gateway/static/root/assets/logs-page-CbY1N-zi.js +2 -0
- package/dist/gateway/static/root/assets/loopi-C09I2mNj.css +1 -0
- package/dist/gateway/static/root/assets/loopi-CNtmi9FU.js +1 -0
- package/dist/gateway/static/root/assets/management-settings-Diy12JfQ.js +1 -0
- package/dist/gateway/static/root/assets/{markdown-editor-phTQ0mox.js → markdown-editor-BuuGlcfG.js} +1 -1
- package/dist/gateway/static/root/assets/markdown-view-C-DHb3Io.css +1 -0
- package/dist/gateway/static/root/assets/markdown-view-CJt-i2Dp.js +324 -0
- package/dist/gateway/static/root/assets/{media-plugins-DYQDjCVQ.js → media-plugins-D_bR23mA.js} +1 -1
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-Ur99GwOg.js +1 -0
- package/dist/gateway/static/root/assets/mermaid-render-oOellPHt.js +134 -0
- package/dist/gateway/static/root/assets/message-circle-Badhj-4D.js +1 -0
- package/dist/gateway/static/root/assets/message-square-fVE7Ghj1.js +1 -0
- package/dist/gateway/static/root/assets/message-square-plus-XP0tGdlV.js +1 -0
- package/dist/gateway/static/root/assets/{messages-BYq0cPbn.js → messages-DRR9N3HC.js} +1 -1
- package/dist/gateway/static/root/assets/messages-square-BckAJrEW.js +1 -0
- package/dist/gateway/static/root/assets/mic-CuUb7zc-.js +1 -0
- package/dist/gateway/static/root/assets/minimize-2-DtOGrlpo.js +1 -0
- package/dist/gateway/static/root/assets/mobile-pair-qr-CuIbmw5x.js +1 -0
- package/dist/gateway/static/root/assets/model-selector-DCYA_ntf.js +1 -0
- package/dist/gateway/static/root/assets/models-hub-cache-za2fWJLg.js +1 -0
- package/dist/gateway/static/root/assets/monitor-Af5eAvF7.js +1 -0
- package/dist/gateway/static/root/assets/mouse-pointer-2-DZ51Onvj.js +1 -0
- package/dist/gateway/static/root/assets/navigation-BkjnOw30.js +1 -0
- package/dist/gateway/static/root/assets/network-BUQLY1BV.js +1 -0
- package/dist/gateway/static/root/assets/new-session-preferences-gb411vZP.js +1 -0
- package/dist/gateway/static/root/assets/note-detail-panel-DBs1yHLy.js +5 -0
- package/dist/gateway/static/root/assets/note-image-lightbox-CivkB6LB.js +1 -0
- package/dist/gateway/static/root/assets/notes-api-C_458rv5.js +1 -0
- package/dist/gateway/static/root/assets/notes-page-DL3c-41a.js +8 -0
- package/dist/gateway/static/root/assets/number-input-El7Szeln.js +1 -0
- package/dist/gateway/static/root/assets/oauth-api-C3X9FLYw.js +1 -0
- package/dist/gateway/static/root/assets/oauth-authorization-window-o6URRos4.js +1 -0
- package/dist/gateway/static/root/assets/oauth-provider-connect-H81se_3n.js +1 -0
- package/dist/gateway/static/root/assets/package-wATCyihJ.js +1 -0
- package/dist/gateway/static/root/assets/page-context-capture-button-BkAlQ7cB.js +1 -0
- package/dist/gateway/static/root/assets/page-context-draft-ClLgaOaD.js +1 -0
- package/dist/gateway/static/root/assets/page-header-store-DH8K0xii.js +1 -0
- package/dist/gateway/static/root/assets/page-tabs-oeTY7z3_.js +1 -0
- package/dist/gateway/static/root/assets/panel-left-C8MqSXRZ.js +1 -0
- package/dist/gateway/static/root/assets/panel-right-CFGrHTsD.js +1 -0
- package/dist/gateway/static/root/assets/paperclip-f1HujQY1.js +1 -0
- package/dist/gateway/static/root/assets/pause-DuPxgSxk.js +1 -0
- package/dist/gateway/static/root/assets/{pdf-D4PI9qAw.js → pdf-EQHMWEbX.js} +3 -3
- package/dist/gateway/static/root/assets/pdf-runtime-JnUAvfIa.js +2 -0
- package/dist/gateway/static/root/assets/{pdf.worker.min-B4E34YdZ.js → pdf.worker.min-bpyjgR8v.js} +7 -7
- package/dist/gateway/static/root/assets/pencil-DmIY3Oa-.js +1 -0
- package/dist/gateway/static/root/assets/personal-avatar-BLtHt8fV.js +1 -0
- package/dist/gateway/static/root/assets/personal-avatar-BUCb7OiW.css +1 -0
- package/dist/gateway/static/root/assets/personal-page-B5DP3lO-.js +1 -0
- package/dist/gateway/static/root/assets/personal-proactivity-DaRnbB1f.js +1 -0
- package/dist/gateway/static/root/assets/personal-settings-panel-DjDc5Kaz.js +1 -0
- package/dist/gateway/static/root/assets/phone-dependencies-card-DISHarj8.js +1 -0
- package/dist/gateway/static/root/assets/phone-model-picker-u8YIQCgo.js +1 -0
- package/dist/gateway/static/root/assets/phone-settings-page-el3pT0PD.js +1 -0
- package/dist/gateway/static/root/assets/phone-workspace-store-fhnZrgy_.js +1 -0
- package/dist/gateway/static/root/assets/pin-off-BMRv-Kxr.js +1 -0
- package/dist/gateway/static/root/assets/play-kxZvpBg8.js +1 -0
- package/dist/gateway/static/root/assets/plug-DKYPEgkR.js +1 -0
- package/dist/gateway/static/root/assets/plug-zap-L8NMe3Sv.js +1 -0
- package/dist/gateway/static/root/assets/plugin-details-dialog-CTBs1Jde.js +1 -0
- package/dist/gateway/static/root/assets/plus-Q2yW6OE7.js +1 -0
- package/dist/gateway/static/root/assets/popover-select-DniHw2dy.js +1 -0
- package/dist/gateway/static/root/assets/power-ZI-pBczI.js +1 -0
- package/dist/gateway/static/root/assets/power-off-CwwQ7Gp7.js +1 -0
- package/dist/gateway/static/root/assets/preference-select-fields-D7oluyHN.js +1 -0
- package/dist/gateway/static/root/assets/preload-helper-Czpn1I53.js +1 -0
- package/dist/gateway/static/root/assets/preview-open-alternatives-CY_hjK4b.js +1 -0
- package/dist/gateway/static/root/assets/product-automation-feedback-DsUSqCOX.js +7 -0
- package/dist/gateway/static/root/assets/product-delivery-BU_H84jL.js +1 -0
- package/dist/gateway/static/root/assets/product-navigation-Co8pLbDP.js +1 -0
- package/dist/gateway/static/root/assets/product-open-page-xn9G4hSI.js +1 -0
- package/dist/gateway/static/root/assets/product-preview-content-DcoK-iZe.js +1 -0
- package/dist/gateway/static/root/assets/product-preview-modal-Ruw9WSKK.js +2 -0
- package/dist/gateway/static/root/assets/project-detail-page-BKvWLiMw.js +7 -0
- package/dist/gateway/static/root/assets/project-understanding-BCQr0AZ_.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-D4g7bB7X.js +1 -0
- package/dist/gateway/static/root/assets/providers-api-CzVkFKFg.js +1 -0
- package/dist/gateway/static/root/assets/puzzle-BptcPjKI.js +1 -0
- package/dist/gateway/static/root/assets/recording-upload-0jxahBMo.js +1 -0
- package/dist/gateway/static/root/assets/refresh-button-bU_0NarN.js +1 -0
- package/dist/gateway/static/root/assets/refresh-cw-BRlGaq2w.js +1 -0
- package/dist/gateway/static/root/assets/{registry-api-BcfoLEna.js → registry-api-n8TwtJ_j.js} +2 -2
- package/dist/gateway/static/root/assets/remote-access-hub-cZpBi4Rk.js +1 -0
- package/dist/gateway/static/root/assets/rotate-ccw-JM1TBLpp.js +1 -0
- package/dist/gateway/static/root/assets/rotate-cw-LIg3Am9S.js +1 -0
- package/dist/gateway/static/root/assets/route-preload-B5UiReO7.js +2 -0
- package/dist/gateway/static/root/assets/runtime-health-D2TDFLLq.js +1 -0
- package/dist/gateway/static/root/assets/{runtime-tools-api-DesqGCnE.js → runtime-tools-api-D-8KjYK6.js} +1 -1
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-MKlLFuow.js +1 -0
- package/dist/gateway/static/root/assets/save-DRDABU--.js +1 -0
- package/dist/gateway/static/root/assets/schema-form-v4N4lawq.js +1 -0
- package/dist/gateway/static/root/assets/schemas-CCWMleym.js +55 -0
- package/dist/gateway/static/root/assets/search-DA7gz22f.js +1 -0
- package/dist/gateway/static/root/assets/secret-input-BQvFXqzz.js +1 -0
- package/dist/gateway/static/root/assets/secret-input-labels-B5Jl5HqK.js +1 -0
- package/dist/gateway/static/root/assets/segmented-styles-Cqb91xsn.js +1 -0
- package/dist/gateway/static/root/assets/send-1f1Ntw6E.js +1 -0
- package/dist/gateway/static/root/assets/server-BlHCBjiE.js +1 -0
- package/dist/gateway/static/root/assets/service-recommendation-list-B1xuVT3N.js +1 -0
- package/dist/gateway/static/root/assets/{session-api-DdQnMwkl.js → session-api-CsCoI2im.js} +1 -1
- package/dist/gateway/static/root/assets/session-channel-icon-SsY70Z6t.js +1 -0
- package/dist/gateway/static/root/assets/session-identity-label-B7sgG1PE.js +1 -0
- package/dist/gateway/static/root/assets/session-manager-5l9q0cd5.js +16 -0
- package/dist/gateway/static/root/assets/sessions-page-DsLw2aMD.js +1 -0
- package/dist/gateway/static/root/assets/settings-2-D-csvaET.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-B5lQeVNi.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-section-BqoVSko2.js +1 -0
- package/dist/gateway/static/root/assets/settings-form-draft-Dy10ldo8.js +1 -0
- package/dist/gateway/static/root/assets/settings-form-section-num14vSv.js +1 -0
- package/dist/gateway/static/root/assets/settings-loading-skeleton-BTqvr_Fw.js +1 -0
- package/dist/gateway/static/root/assets/settings-mode-store-CBsJ-Qg2.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-DROUGyJl.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-header-Bv-kQFTm.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-layout-DHP6MrrL.js +1 -0
- package/dist/gateway/static/root/assets/settings-uiTATseT.js +1 -0
- package/dist/gateway/static/root/assets/setup-status-panel-MJE3B_LX.js +1 -0
- package/dist/gateway/static/root/assets/share-link-dialog-BJHRQVKC.js +1 -0
- package/dist/gateway/static/root/assets/share-preview-page-Bsrv_zOQ.js +2 -0
- package/dist/gateway/static/root/assets/shares-api-rtWVHA_d.js +1 -0
- package/dist/gateway/static/root/assets/shares-settings-CfIRv4uX.js +1 -0
- package/dist/gateway/static/root/assets/shield-B1sI_cxl.js +1 -0
- package/dist/gateway/static/root/assets/shield-check-BU58siTV.js +1 -0
- package/dist/gateway/static/root/assets/shield-off-2jsucUds.js +1 -0
- package/dist/gateway/static/root/assets/side-chat-shortcut-BIw-1TTD.js +1 -0
- package/dist/gateway/static/root/assets/skill-api-B_W1K3sv.js +1 -0
- package/dist/gateway/static/root/assets/skill-api-utils-C7V4JVXM.js +1 -0
- package/dist/gateway/static/root/assets/skill-list-api-BzlKXPsE.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-Cff2GgZb.js +1 -0
- package/dist/gateway/static/root/assets/skill-wire-pattern-BPpeIcCi.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-DtBloYeU.js +2 -0
- package/dist/gateway/static/root/assets/sliders-horizontal-DqsYor6I.js +1 -0
- package/dist/gateway/static/root/assets/sliding-tab-list-DuQyViqe.js +1 -0
- package/dist/gateway/static/root/assets/smartphone-DSSsQFqA.js +1 -0
- package/dist/gateway/static/root/assets/{source-workspace-editor-BIvi89Zx.js → source-workspace-editor-kxosllTu.js} +1 -1
- package/dist/gateway/static/root/assets/sparkles-DHlfQFAF.js +1 -0
- package/dist/gateway/static/root/assets/specialists-xbB3xL9e.js +1 -0
- package/dist/gateway/static/root/assets/square-DMK_fB-3.js +1 -0
- package/dist/gateway/static/root/assets/square-pen-B8FsvqNu.js +1 -0
- package/dist/gateway/static/root/assets/square-terminal-K87bylpZ.js +1 -0
- package/dist/gateway/static/root/assets/star-BUWJqJ5c.js +1 -0
- package/dist/gateway/static/root/assets/stethoscope-DRqTAtjD.js +1 -0
- package/dist/gateway/static/root/assets/sticky-note-fzP7NAJq.js +1 -0
- package/dist/gateway/static/root/assets/store-SzD1Jvgm.js +1 -0
- package/dist/gateway/static/root/assets/system-settings-panel-BeQeUUMH.js +1 -0
- package/dist/gateway/static/root/assets/task-detail-page-Drrv-Hp0.js +2 -0
- package/dist/gateway/static/root/assets/task-result-evidence-D1Kyskm_.js +1 -0
- package/dist/gateway/static/root/assets/tasks-DRmd6sWt.js +1 -0
- package/dist/gateway/static/root/assets/terminal-oKqqZdiG.js +1 -0
- package/dist/gateway/static/root/assets/terminal-panel-store-5Fzctajw.js +1 -0
- package/dist/gateway/static/root/assets/theme-store-DW45fWYQ.js +1 -0
- package/dist/gateway/static/root/assets/timer-rCwGHjuO.js +1 -0
- package/dist/gateway/static/root/assets/tool-friendly-title-DGmi7rCQ.js +1 -0
- package/dist/gateway/static/root/assets/tracing-settings-page-B12u5D9A.js +1 -0
- package/dist/gateway/static/root/assets/trash-2-DusmjVPV.js +1 -0
- package/dist/gateway/static/root/assets/triangle-alert-2JXFNNKU.js +1 -0
- package/dist/gateway/static/root/assets/tunnel-api-DGO56LQU.js +1 -0
- package/dist/gateway/static/root/assets/understanding-activity-store-CTe6TFB0.js +1 -0
- package/dist/gateway/static/root/assets/understanding-refresh-store-mE9OKG6q.js +1 -0
- package/dist/gateway/static/root/assets/unlink-BEuthaaq.js +1 -0
- package/dist/gateway/static/root/assets/upload-rrb46c3c.js +1 -0
- package/dist/gateway/static/root/assets/usage-page-Ud2U9UG1.js +1 -0
- package/dist/gateway/static/root/assets/use-async-resource-BHFGZCY2.js +1 -0
- package/dist/gateway/static/root/assets/use-autosave-Cs2Ga_Y_.js +1 -0
- package/dist/gateway/static/root/assets/use-composer-attachments-BCbMj-MN.js +2 -0
- package/dist/gateway/static/root/assets/use-directory-picker-C4p7AgWY.js +1 -0
- package/dist/gateway/static/root/assets/use-file-preview-expanded-DSpCRXUW.js +2 -0
- package/dist/gateway/static/root/assets/use-media-query-ady-FgjK.js +1 -0
- package/dist/gateway/static/root/assets/use-personal-profile-BHL2AxWU.js +1 -0
- package/dist/gateway/static/root/assets/use-workspace-tree-CnmPZrpx.js +1 -0
- package/dist/gateway/static/root/assets/user-model-page-p5iPfnwl.js +2 -0
- package/dist/gateway/static/root/assets/user-round-C9jxPhMR.js +1 -0
- package/dist/gateway/static/root/assets/{vendor-codemirror-Qdcjid65.js → vendor-codemirror-aCQ0FcJT.js} +8 -8
- package/dist/gateway/static/root/assets/{vendor-swr-BIWyz7Rc.js → vendor-swr-CdRzEUwF.js} +1 -1
- package/dist/gateway/static/root/assets/video-B6V0GFss.js +1 -0
- package/dist/gateway/static/root/assets/voice-api-key-field-3gyc2UV3.js +1 -0
- package/dist/gateway/static/root/assets/voice-call-context-BM2A4bLz.js +1 -0
- package/dist/gateway/static/root/assets/{voice-config-api-BkUlN7GH.js → voice-config-api-Cda2uBIC.js} +1 -1
- package/dist/gateway/static/root/assets/voice-input-shortcut-events-DtYHsPLF.js +1 -0
- package/dist/gateway/static/root/assets/voice-transcribe-api-TInEfIYo.js +1 -0
- package/dist/gateway/static/root/assets/volume-2-BSJhAY97.js +1 -0
- package/dist/gateway/static/root/assets/wand-sparkles-CkSL-3Fy.js +1 -0
- package/dist/gateway/static/root/assets/{with-selector-aYPsXwdl.js → with-selector-xonYxPoM.js} +1 -1
- package/dist/gateway/static/root/assets/work-discovery-overlay-Dqu5CQCS.js +1 -0
- package/dist/gateway/static/root/assets/work-discovery-page-p-8ciZ0i.js +1 -0
- package/dist/gateway/static/root/assets/working-directory-picker-modal-DHl2cZY1.js +1 -0
- package/dist/gateway/static/root/assets/workspace-api-CtDbI6T7.js +2 -0
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-B94Q2nN8.js +1 -0
- package/dist/gateway/static/root/assets/workspace-file-preview-dialog-CTIbUfKb.js +1 -0
- package/dist/gateway/static/root/assets/workspace-open-location-menu-BwxouqdZ.js +1 -0
- package/dist/gateway/static/root/assets/wrench-DFb4r8bH.js +1 -0
- package/dist/gateway/static/root/assets/x-B_N4OPjy.js +1 -0
- package/dist/gateway/static/root/assets/{xlsx-CKkngM-o.js → xlsx-Cl_0CZaL.js} +11 -11
- package/dist/gateway/static/root/assets/xml-_d7dTN2Q.js +3 -0
- package/dist/gateway/static/root/assets/xopc-cloud-account-card-CFb-23rS.js +1 -0
- package/dist/gateway/static/root/assets/zap-dximCGjy.js +1 -0
- package/dist/gateway/static/root/browser-setup-test.html +5 -0
- package/dist/gateway/static/root/browser-setup-test.js +7 -0
- package/dist/gateway/static/root/index.html +267 -46
- package/dist/package.js +1 -1
- package/dist/packages/gateway-contract/src/browser-setup.js +6 -0
- package/dist/packages/gateway-contract/src/index.js +4 -0
- package/dist/packages/gateway-contract/src/phone-setup.js +6 -0
- package/dist/packages/realtime-client/src/index.js +1 -0
- package/dist/packages/realtime-protocol/src/index.js +1 -0
- package/dist/src/activity/emitter.js +1 -2
- package/dist/src/activity/service.js +1 -2
- package/dist/src/agent/agent-manager.d.ts +5 -0
- package/dist/src/agent/agent-manager.js +16 -6
- package/dist/src/agent/background-review/run-background-review.js +2 -3
- package/dist/src/agent/context/execution-context.js +1 -2
- package/dist/src/agent/context/execution-scope.js +1 -2
- package/dist/src/agent/context/project-context.js +1 -2
- package/dist/src/agent/embedded/agent-profile-context.js +1 -2
- package/dist/src/agent/embedded/run-turn.js +2 -4
- package/dist/src/agent/embedded/sqlite-hydrating-session-manager.js +1 -2
- package/dist/src/agent/embedded/tool-search-extension.js +14 -1
- package/dist/src/agent/external-tools/cliProvider.js +3 -4
- package/dist/src/agent/external-tools/composio-provider.js +3 -4
- package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
- package/dist/src/agent/memory/compaction-promotion.js +1 -2
- package/dist/src/agent/orchestration/research-checkpoint.js +26 -31
- package/dist/src/agent/prompt/response-language.js +1 -2
- package/dist/src/agent/prompt/service-prompt-builder.js +3 -6
- package/dist/src/agent/prompt/system-prompt.js +1 -2
- package/dist/src/agent/service/direct-turn-helpers.js +1 -2
- package/dist/src/agent/service/process-direct-streaming.js +1 -2
- package/dist/src/agent/service/webchat-tts.js +1 -2
- package/dist/src/agent/service.d.ts +1 -0
- package/dist/src/agent/service.js +8 -3
- package/dist/src/agent/service.types.d.ts +3 -0
- package/dist/src/agent/skills/index.js +1 -1
- package/dist/src/agent/skills/managed-store.js +1 -1
- package/dist/src/agent/skills/skill-manage-ops.js +1 -1
- package/dist/src/agent/tool-manuals/computer.d.ts +1 -1
- package/dist/src/agent/tool-manuals/computer.js +2 -0
- package/dist/src/agent/tool-manuals/phone.d.ts +1 -1
- package/dist/src/agent/tool-manuals/phone.js +14 -4
- package/dist/src/agent/tool-manuals/xopc-configuration.d.ts +2 -0
- package/dist/src/agent/tool-manuals/xopc-configuration.js +29 -0
- package/dist/src/agent/tools/browser/tool/browser-use-tool.d.ts +2 -0
- package/dist/src/agent/tools/browser/tool/browser-use-tool.js +6 -2
- package/dist/src/agent/tools/delegate-tool.js +2 -4
- package/dist/src/agent/tools/factory.d.ts +4 -0
- package/dist/src/agent/tools/factory.js +23 -9
- package/dist/src/agent/tools/personal-read-tool.js +1 -1
- package/dist/src/agent/tools/personal-task-tool.js +1 -2
- package/dist/src/agent/tools/phone-use-tool.d.ts +2 -0
- package/dist/src/agent/tools/phone-use-tool.js +79 -4
- package/dist/src/agent/tools/research-checkpoint-tool.js +1 -2
- package/dist/src/agent/tools/tool-manual-tool.d.ts +1 -1
- package/dist/src/agent/tools/tool-manual-tool.js +3 -1
- package/dist/src/agent/tools/toolExposure.js +3 -0
- package/dist/src/agent/tools/xopc-use-tool.d.ts +5 -2
- package/dist/src/agent/tools/xopc-use-tool.js +47 -6
- package/dist/src/agent-catalog/capabilities.js +2 -2
- package/dist/src/agent-catalog/repository.js +3 -4
- package/dist/src/agent-catalog/test-support.js +1 -2
- package/dist/src/agent-matching/selection-repository.js +1 -2
- package/dist/src/automations/capabilities/drafts.js +3 -5
- package/dist/src/bootstrap/application-state.js +1 -2
- package/dist/src/browser/automations/repository.js +1 -2
- package/dist/src/browser/drivers/browser-driver.d.ts +2 -2
- package/dist/src/browser/drivers/extension-driver.d.ts +2 -2
- package/dist/src/browser/drivers/extension-driver.js +6 -3
- package/dist/src/browser/native-messaging-host.js +2 -4
- package/dist/src/browser/providers/browser-ext-install.js +3 -2
- package/dist/src/browser/providers/realtime-extension.js +1 -2
- package/dist/src/browser/recordings/service.js +1 -2
- package/dist/src/browser/runtime/browser-runtime.d.ts +4 -1
- package/dist/src/browser/runtime/browser-runtime.js +29 -17
- package/dist/src/browser/setup/repository.d.ts +5 -0
- package/dist/src/browser/setup/repository.js +42 -0
- package/dist/src/browser/setup/service.d.ts +157 -0
- package/dist/src/browser/setup/service.js +433 -0
- package/dist/src/browser/setup/types.d.ts +38 -0
- package/dist/src/browser/setup/types.js +1 -0
- package/dist/src/capabilities/runtime/dispatcher.js +1 -1
- package/dist/src/capabilities/runtime/product.js +1 -1
- package/dist/src/chat-previews/store.js +1 -2
- package/dist/src/cli/commands/agents.js +1 -1
- package/dist/src/cli/commands/doctor/checks/automation-integrity.js +1 -2
- package/dist/src/cli/commands/doctor/checks/database-relations.js +1 -2
- package/dist/src/cli/commands/doctor/checks/database-schema.js +2 -3
- package/dist/src/cli/commands/doctor/checks/node-version.js +6 -6
- package/dist/src/cli/commands/doctor/checks/session-integrity.js +1 -2
- package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
- package/dist/src/cli/commands/gateway/shared.js +1 -2
- package/dist/src/cli/commands/history.js +1 -2
- package/dist/src/cli/commands/models.js +1 -1
- package/dist/src/cli/commands/onboard/model.js +1 -1
- package/dist/src/cli/commands/project.js +1 -2
- package/dist/src/cli/utils/init-workspace-core.js +1 -1
- package/dist/src/computer/diagnostics.d.ts +7 -7
- package/dist/src/computer/diagnostics.js +8 -2
- package/dist/src/computer/errors.js +9 -1
- package/dist/src/computer/evaluation.d.ts +4 -4
- package/dist/src/computer/keyboard.d.ts +1 -1
- package/dist/src/computer/keyboard.js +10 -2
- package/dist/src/computer/model-adapter.js +27 -7
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/gateway-bind.js +1 -2
- package/dist/src/config/schema.d.ts +7 -0
- package/dist/src/connectors/cli/lifecycle.js +1 -2
- package/dist/src/connectors/composio-managed-events.js +1 -2
- package/dist/src/connectors/connected-source-ingestion.js +1 -2
- package/dist/src/connectors/connected-source-understanding.js +3 -5
- package/dist/src/connectors/content-enrichment.js +1 -2
- package/dist/src/connectors/learning-coordinator.js +2 -3
- package/dist/src/connectors/runtime-adapter-registry.js +1 -2
- package/dist/src/daemon/constants.js +9 -14
- package/dist/src/daemon/index.js +1 -4
- package/dist/src/daemon/install-plan.js +1 -2
- package/dist/src/daemon/launchd.js +1 -2
- package/dist/src/daemon/schtasks.js +1 -2
- package/dist/src/daemon/service-audit.js +1 -2
- package/dist/src/daemon/service.js +1 -2
- package/dist/src/daemon/systemd.js +1 -2
- package/dist/src/discussions/analyzer.d.ts +3 -3
- package/dist/src/endpoint-tools/runtime.js +1 -2
- package/dist/src/execution-environments/local-worktree-manager.js +1 -1
- package/dist/src/execution-environments/subject.js +1 -2
- package/dist/src/extensions/agent-plugins/branding.js +2 -1
- package/dist/src/extensions/agent-plugins/cli-authorization.js +2 -1
- package/dist/src/extensions/agent-plugins/contained-path.d.ts +1 -0
- package/dist/src/extensions/agent-plugins/contained-path.js +29 -0
- package/dist/src/extensions/agent-plugins/mcp-adapter.js +2 -1
- package/dist/src/extensions/agent-plugins/resources.js +1 -1
- package/dist/src/extensions/agent-plugins/skill-catalog.js +3 -2
- package/dist/src/extensions/agent-plugins/source-catalog.js +1 -1
- package/dist/src/extensions/agent-plugins/store.js +2 -1
- package/dist/src/extensions/agent-plugins/validation.d.ts +1 -2
- package/dist/src/extensions/agent-plugins/validation.js +3 -26
- package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
- package/dist/src/gateway/agents-admin.js +2 -2
- package/dist/src/gateway/client-ip.js +1 -2
- package/dist/src/gateway/file-space-service.js +1 -2
- package/dist/src/gateway/global-defaults-admin.js +1 -1
- package/dist/src/gateway/hono/app.js +2 -4
- package/dist/src/gateway/hono/middleware/auth.js +3 -6
- package/dist/src/gateway/hono/middleware/logger.js +1 -2
- package/dist/src/gateway/hono/middleware/public-device-rate-limit.js +1 -2
- package/dist/src/gateway/hono/middleware/scopes.js +1 -2
- package/dist/src/gateway/hono/middleware/strict-rate-limit.js +1 -2
- package/dist/src/gateway/hono/oauth-async.js +1 -2
- package/dist/src/gateway/hono/routes/agents.js +1 -1
- package/dist/src/gateway/hono/routes/browser-session.js +1 -2
- package/dist/src/gateway/hono/routes/browser-setup.d.ts +3 -0
- package/dist/src/gateway/hono/routes/browser-setup.js +114 -0
- package/dist/src/gateway/hono/routes/browser.d.ts +2 -1
- package/dist/src/gateway/hono/routes/browser.js +4 -7
- package/dist/src/gateway/hono/routes/cli-connectors.js +1 -2
- package/dist/src/gateway/hono/routes/composer-history.js +1 -2
- package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
- package/dist/src/gateway/hono/routes/config.js +1 -2
- package/dist/src/gateway/hono/routes/connectors.js +9 -11
- package/dist/src/gateway/hono/routes/context-sources.js +1 -2
- package/dist/src/gateway/hono/routes/device-pairing-approval.js +2 -4
- package/dist/src/gateway/hono/routes/device-push.js +1 -2
- package/dist/src/gateway/hono/routes/devices.js +4 -8
- package/dist/src/gateway/hono/routes/discussions.js +1 -2
- package/dist/src/gateway/hono/routes/endpoint-tools.js +1 -2
- package/dist/src/gateway/hono/routes/home.js +2 -3
- package/dist/src/gateway/hono/routes/interaction-state.js +1 -2
- package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
- package/dist/src/gateway/hono/routes/memory-learning.js +1 -2
- package/dist/src/gateway/hono/routes/notes.js +2 -2
- package/dist/src/gateway/hono/routes/personal-agent.js +1 -2
- package/dist/src/gateway/hono/routes/phone-dependencies.js +2 -7
- package/dist/src/gateway/hono/routes/phone-setup.d.ts +7 -0
- package/dist/src/gateway/hono/routes/phone-setup.js +231 -0
- package/dist/src/gateway/hono/routes/phone-wireless.d.ts +4 -0
- package/dist/src/gateway/hono/routes/phone-wireless.js +63 -0
- package/dist/src/gateway/hono/routes/phone.js +119 -28
- package/dist/src/gateway/hono/routes/projects.js +3 -4
- package/dist/src/gateway/hono/routes/public-gateway.js +4 -3
- package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
- package/dist/src/gateway/hono/routes/sessions.js +2 -4
- package/dist/src/gateway/hono/routes/shares.js +2 -4
- package/dist/src/gateway/hono/routes/tasks.js +2 -3
- package/dist/src/gateway/hono/routes/user-model-refresh.js +1 -2
- package/dist/src/gateway/hono/routes/user-model.js +1 -2
- package/dist/src/gateway/host.js +4 -9
- package/dist/src/gateway/image-generation-setup.js +1 -1
- package/dist/src/gateway/index.js +2 -6
- package/dist/src/gateway/listen.js +1 -2
- package/dist/src/gateway/next-turn-suggestions/service.js +1 -2
- package/dist/src/gateway/next-turn-suggestions/snapshot.js +1 -2
- package/dist/src/gateway/provider-model-setup.js +1 -1
- package/dist/src/gateway/rate-limit/auth-policy.js +11 -7
- package/dist/src/gateway/rate-limit/buckets.js +220 -211
- package/dist/src/gateway/rate-limit/env-flags.js +1 -4
- package/dist/src/gateway/rate-limit/index.js +4 -13
- package/dist/src/gateway/runtime-config.js +2 -4
- package/dist/src/gateway/security/audit.js +1 -2
- package/dist/src/gateway/security/browser-session.js +1 -2
- package/dist/src/gateway/security/device-request-proof.d.ts +1 -2
- package/dist/src/gateway/security/device-request-proof.js +2 -4
- package/dist/src/gateway/security/gateway-scopes.js +2 -6
- package/dist/src/gateway/security/index.js +1 -4
- package/dist/src/gateway/security/loopback.js +6 -7
- package/dist/src/gateway/service/agent-runner.js +2 -4
- package/dist/src/gateway/service/app-context-access.js +1 -2
- package/dist/src/gateway/service/config-coordinator.d.ts +4 -0
- package/dist/src/gateway/service/run-gateway-agent.js +2 -4
- package/dist/src/gateway/service/session-input-coordinator.js +3 -6
- package/dist/src/gateway/service.d.ts +5 -0
- package/dist/src/gateway/service.js +64 -22
- package/dist/src/gateway/session-context-summary.js +2 -4
- package/dist/src/gateway/tailscale-auth.js +1 -2
- package/dist/src/gateway/ws-security.js +1 -2
- package/dist/src/gateway/xopc-cloud-capability-setup.js +8 -2
- package/dist/src/home-intelligence/host.js +2 -2
- package/dist/src/imports/importService.js +1 -1
- package/dist/src/infra/rate-limit/failure-limiter.js +90 -78
- package/dist/src/infra/rate-limit/index.js +3 -11
- package/dist/src/infra/rate-limit/keyed-store.js +47 -52
- package/dist/src/infra/rate-limit/rate-limiter.js +58 -55
- package/dist/src/infra/update-restart.js +1 -1
- package/dist/src/infra/update-service-refresh.js +1 -2
- package/dist/src/knowledge/chunks.js +1 -4
- package/dist/src/knowledge/connected-knowledge-pipeline.js +3 -6
- package/dist/src/knowledge/ingestion-service.js +1 -2
- package/dist/src/knowledge-memory/repository.js +1 -2
- package/dist/src/local-apps/service.js +1 -1
- package/dist/src/local-apps/store.js +1 -2
- package/dist/src/media/session-references.js +1 -2
- package/dist/src/memory-learning/forget-capture.js +1 -2
- package/dist/src/memory-learning/forgotten-history.js +3 -6
- package/dist/src/memory-learning/service.js +1 -2
- package/dist/src/memory-learning/source-learning.js +3 -3
- package/dist/src/memory-learning/task-receipts.js +1 -2
- package/dist/src/memory-learning/work-candidate.d.ts +29 -0
- package/dist/src/memory-learning/work-candidate.js +31 -0
- package/dist/src/memory-learning/work-capture.d.ts +2 -29
- package/dist/src/memory-learning/work-capture.js +2 -30
- package/dist/src/memory-maintenance/service.js +1 -2
- package/dist/src/notes/agent-context.js +1 -2
- package/dist/src/notes/attachment-ref.js +4 -8
- package/dist/src/notes/note-attachment-sync.js +1 -2
- package/dist/src/notes/note-index-meta.js +7 -14
- package/dist/src/notes/note-markdown.js +7 -13
- package/dist/src/notes/service.js +3 -6
- package/dist/src/notes/store.js +2 -4
- package/dist/src/notifications/clarification.js +1 -2
- package/dist/src/notifications/service.js +1 -2
- package/dist/src/personal-agent/proactivity/repository.js +1 -2
- package/dist/src/personal-agent/proactivity/service.js +1 -2
- package/dist/src/personal-agent/prompt-context.js +1 -2
- package/dist/src/personal-agent/reply-composer.js +4 -5
- package/dist/src/personal-agent/repository.js +1 -2
- package/dist/src/personal-agent/request-delivery.js +1 -2
- package/dist/src/personal-agent/result-extraction.js +71 -71
- package/dist/src/personal-agent/service.js +2 -3
- package/dist/src/phone/adb-command.d.ts +1 -0
- package/dist/src/phone/adb-command.js +12 -0
- package/dist/src/phone/adb-driver.d.ts +6 -2
- package/dist/src/phone/adb-driver.js +45 -21
- package/dist/src/phone/cloud-adb-connection.d.ts +34 -0
- package/dist/src/phone/cloud-adb-connection.js +324 -0
- package/dist/src/phone/cloud-adb-writable.d.ts +3 -0
- package/dist/src/phone/cloud-adb-writable.js +21 -0
- package/dist/src/phone/cloud-adb.d.ts +3 -32
- package/dist/src/phone/cloud-adb.js +3 -259
- package/dist/src/phone/cloud-key-permissions.d.ts +2 -0
- package/dist/src/phone/cloud-key-permissions.js +66 -0
- package/dist/src/phone/cloud-phones.js +2 -1
- package/dist/src/phone/cloud-scrcpy.d.ts +1 -1
- package/dist/src/phone/cloud-scrcpy.js +3 -2
- package/dist/src/phone/contracts.d.ts +197 -1
- package/dist/src/phone/contracts.js +55 -6
- package/dist/src/phone/foreground.d.ts +1 -0
- package/dist/src/phone/foreground.js +18 -0
- package/dist/src/phone/live-state.d.ts +2 -0
- package/dist/src/phone/live-state.js +5 -0
- package/dist/src/phone/model-adapter.d.ts +65 -4
- package/dist/src/phone/model-adapter.js +157 -48
- package/dist/src/phone/numeric-entry.d.ts +31 -0
- package/dist/src/phone/numeric-entry.js +126 -0
- package/dist/src/phone/planning.d.ts +27 -0
- package/dist/src/phone/planning.js +79 -0
- package/dist/src/phone/recovery.d.ts +37 -0
- package/dist/src/phone/recovery.js +81 -0
- package/dist/src/phone/reliability.d.ts +2 -2
- package/dist/src/phone/reliability.js +19 -6
- package/dist/src/phone/repository.d.ts +4 -1
- package/dist/src/phone/repository.js +12 -1
- package/dist/src/phone/runtime.d.ts +79 -3
- package/dist/src/phone/runtime.js +861 -93
- package/dist/src/phone/scrcpy.js +3 -2
- package/dist/src/phone/semantic-controls.d.ts +13 -0
- package/dist/src/phone/semantic-controls.js +76 -0
- package/dist/src/phone/setup/service.d.ts +101 -0
- package/dist/src/phone/setup/service.js +296 -0
- package/dist/src/phone/task-feedback.d.ts +4 -0
- package/dist/src/phone/task-feedback.js +47 -0
- package/dist/src/phone/ui-dump-binary.d.ts +1 -0
- package/dist/src/phone/ui-dump-binary.js +4 -0
- package/dist/src/phone/wireless.d.ts +80 -0
- package/dist/src/phone/wireless.js +244 -0
- package/dist/src/projects/capabilities/write.js +1 -2
- package/dist/src/projects/project-service.js +1 -2
- package/dist/src/projects/workspace.js +1 -2
- package/dist/src/providers/presentation.js +2 -2
- package/dist/src/providers/xopc-cloud-model-source.js +6 -2
- package/dist/src/realtime/runtime.d.ts +3 -0
- package/dist/src/realtime/runtime.js +16 -3
- package/dist/src/remote-access/exposure-guards.js +1 -2
- package/dist/src/runtime-tools/archive.js +1 -1
- package/dist/src/runtime-tools/catalog.d.ts +1 -1
- package/dist/src/runtime-tools/catalog.js +2 -2
- package/dist/src/session/config-store.js +1 -2
- package/dist/src/session/init-session-turn.js +1 -2
- package/dist/src/session/resolve-session.js +1 -2
- package/dist/src/session/store.js +2 -4
- package/dist/src/share/share-rate-limit.js +1 -2
- package/dist/src/share/share-url.js +1 -2
- package/dist/src/share/site-share-router.js +1 -2
- package/dist/src/storage/sqlite/activity-repository.js +2 -6
- package/dist/src/storage/sqlite/browser-tab-binding-repository.js +2 -6
- package/dist/src/storage/sqlite/clarification-wait-repository.js +9 -14
- package/dist/src/storage/sqlite/collaboration-rule-repository.js +3 -8
- package/dist/src/storage/sqlite/composer-input-history-repository.js +3 -8
- package/dist/src/storage/sqlite/config-repository.js +5 -9
- package/dist/src/storage/sqlite/connector-learning-repository.js +2 -6
- package/dist/src/storage/sqlite/connector-sync-policy-repository.js +2 -6
- package/dist/src/storage/sqlite/context-evidence-repository.js +3 -8
- package/dist/src/storage/sqlite/context-extraction-repository.js +3 -8
- package/dist/src/storage/sqlite/device-access-repository.js +16 -23
- package/dist/src/storage/sqlite/device-pairing-approval.js +2 -6
- package/dist/src/storage/sqlite/device-pairing-repository.js +5 -10
- package/dist/src/storage/sqlite/endpoint-principal-repository.js +2 -6
- package/dist/src/storage/sqlite/endpoint-session-binding-repository.js +2 -6
- package/dist/src/storage/sqlite/endpoint-tool-invocation-repository.js +2 -6
- package/dist/src/storage/sqlite/gateway-identity-repository.js +2 -6
- package/dist/src/storage/sqlite/home-attention-repository.js +2 -6
- package/dist/src/storage/sqlite/index.js +40 -72
- package/dist/src/storage/sqlite/interaction-state-repository.js +4 -10
- package/dist/src/storage/sqlite/knowledge-repository.js +3 -8
- package/dist/src/storage/sqlite/note-agent-context-repository.js +2 -6
- package/dist/src/storage/sqlite/notes-repository.js +4 -9
- package/dist/src/storage/sqlite/research-checkpoint-repository.js +3 -8
- package/dist/src/storage/sqlite/schema.d.ts +2 -2
- package/dist/src/storage/sqlite/schema.js +7 -7
- package/dist/src/storage/sqlite/schema.sql +10 -0
- package/dist/src/storage/sqlite/session-creation-repository.js +2 -4
- package/dist/src/storage/sqlite/session-task-plan-repository.js +9 -14
- package/dist/src/storage/sqlite/session-turn-replace-repository.js +5 -9
- package/dist/src/storage/sqlite/sidebar-layout-repository.js +9 -14
- package/dist/src/storage/sqlite/transcript-repository.js +6 -10
- package/dist/src/storage/sqlite/upgrades/260_browser_setup.sql +9 -0
- package/dist/src/storage/sqlite/user-people-repository.js +3 -8
- package/dist/src/storage/sqlite/user-trust-repository.js +4 -9
- package/dist/src/tasks/capabilities/read.js +2 -2
- package/dist/src/tasks/capabilities/write.js +1 -1
- package/dist/src/tasks/execution-context.js +1 -2
- package/dist/src/tasks/home-query-service.js +1 -2
- package/dist/src/tasks/task-allocation-repository.js +1 -2
- package/dist/src/tasks/task-context-assembler.js +1 -2
- package/dist/src/tasks/task-handoff.js +2 -4
- package/dist/src/tasks/task-instruction-sequence.d.ts +1 -0
- package/dist/src/tasks/task-instruction-sequence.js +7 -0
- package/dist/src/tasks/task-language.js +1 -2
- package/dist/src/tasks/task-research-result.d.ts +1 -2
- package/dist/src/tasks/task-research-result.js +1 -3
- package/dist/src/tasks/task-result-delivery-repository.js +1 -1
- package/dist/src/tasks/task-result-delivery-service.js +3 -3
- package/dist/src/tasks/task-run-coordinator.js +3 -3
- package/dist/src/tasks/task-run-dispatcher.js +1 -2
- package/dist/src/tasks/task-value-metrics-service.js +1 -2
- package/dist/src/tui/backends/embedded-backend.js +2 -3
- package/dist/src/tui/tui-commands.js +1 -2
- package/dist/src/tunnel/registration-proof.js +1 -2
- package/dist/src/tunnel/tunnel-rate-limit.js +1 -2
- package/dist/src/user-context/access-policy.js +1 -2
- package/dist/src/user-context/domain.js +13 -18
- package/dist/src/user-context/extraction/registry.js +1 -2
- package/dist/src/user-context/interaction-state.js +1 -4
- package/dist/src/user-context/relationship-continuity.js +1 -2
- package/dist/src/user-context/sources/consent-repository.js +1 -2
- package/dist/src/user-context/sources/index.js +1 -1
- package/dist/src/user-context/trust-policy.js +8 -13
- package/dist/src/user-model/action-rule-suggestions.js +1 -2
- package/dist/src/user-model/bootstrap.js +1 -2
- package/dist/src/user-model/capture/executor.js +2 -4
- package/dist/src/user-model/capture/semantic.d.ts +1 -1
- package/dist/src/user-model/capture/semantic.js +1 -1
- package/dist/src/user-model/domain.js +30 -35
- package/dist/src/user-model/goals.js +1 -2
- package/dist/src/user-model/index.js +1 -4
- package/dist/src/user-model/observation-repository.js +1 -2
- package/dist/src/user-model/repository.js +1 -2
- package/dist/src/user-model/usage-policy.js +1 -2
- package/dist/src/voice/realtime/memory-context.js +1 -2
- package/dist/src/voice/realtime/persona-context.js +1 -1
- package/dist/src/work-discovery/service.js +4 -6
- package/package.json +8 -8
- package/skills/tools/configure-xopc/SKILL.md +54 -0
- package/skills/tools/configure-xopc/references/browser/acceptance.md +32 -0
- package/skills/tools/configure-xopc/references/browser/chrome-extension.md +23 -0
- package/skills/tools/configure-xopc/references/browser/overview.md +19 -0
- package/skills/tools/configure-xopc/references/browser/permissions.md +23 -0
- package/skills/tools/configure-xopc/references/browser/troubleshooting.md +24 -0
- package/skills/tools/configure-xopc/references/phone/acceptance.md +27 -0
- package/skills/tools/configure-xopc/references/phone/aliyun.md +29 -0
- package/skills/tools/configure-xopc/references/phone/dependencies.md +18 -0
- package/skills/tools/configure-xopc/references/phone/local.md +19 -0
- package/skills/tools/configure-xopc/references/phone/models.md +21 -0
- package/skills/tools/configure-xopc/references/phone/overview.md +25 -0
- package/skills/tools/configure-xopc/references/phone/troubleshooting.md +27 -0
- package/skills/tools/configure-xopc/references/scene-index.md +12 -0
- package/dist/gateway/static/root/assets/agent-avatar-dicebear-CJFwitU2.js +0 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-DclyJr1N.js +0 -1
- package/dist/gateway/static/root/assets/agents-jhErNtzi.js +0 -77
- package/dist/gateway/static/root/assets/app-management-settings-panel-DgwqNi5i.js +0 -1
- package/dist/gateway/static/root/assets/appearance-settings-C0wJfFyz.js +0 -1
- package/dist/gateway/static/root/assets/apps-page-C0LcnI4h.js +0 -1
- package/dist/gateway/static/root/assets/automation-display-BFN7zWBg.js +0 -2
- package/dist/gateway/static/root/assets/automations-workspace-CBxiV34x.js +0 -8
- package/dist/gateway/static/root/assets/browser-automations-page-vJIrTxdi.js +0 -3
- package/dist/gateway/static/root/assets/browser-settings-page-in5Roh_E.js +0 -3
- package/dist/gateway/static/root/assets/capabilities-BlxF36t-.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-page-CiGx8wpQ.js +0 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-a8kqjzQu.js +0 -8
- package/dist/gateway/static/root/assets/capability-header-actions-D4Yq35fD.js +0 -1
- package/dist/gateway/static/root/assets/channels-C_CxcjKT.js +0 -1
- package/dist/gateway/static/root/assets/chat-terminal-dock-zdMySdMm.js +0 -36
- package/dist/gateway/static/root/assets/chunk-KS7C4IRE-BvcCCgTW.js +0 -4
- package/dist/gateway/static/root/assets/cloud-credits-BMYMiiNn.js +0 -1
- package/dist/gateway/static/root/assets/computer-settings-page-C5Z6Jr0p.js +0 -1
- package/dist/gateway/static/root/assets/connector-service-page-Cxus0qrZ.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-DCBO2CxK.js +0 -1
- package/dist/gateway/static/root/assets/constants-DeXt1mV-.js +0 -1
- package/dist/gateway/static/root/assets/date-picker-DuyyD6jz.js +0 -1
- package/dist/gateway/static/root/assets/dependency-picker-BZN72rrk.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-BtvTIDCi.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-settings-BcyP7Z6v.js +0 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-Ctbgr50F.js +0 -1
- package/dist/gateway/static/root/assets/directory-picker-path-field-DOusKz-O.js +0 -1
- package/dist/gateway/static/root/assets/dist-C3DSFZCi.js +0 -1
- package/dist/gateway/static/root/assets/dist-CI_fqRk-.js +0 -1
- package/dist/gateway/static/root/assets/docx-preview-CajIk2FR.js +0 -20
- package/dist/gateway/static/root/assets/echarts-runtime-tcHc9TOS.js +0 -18
- package/dist/gateway/static/root/assets/electron-env-Dit0bHgy.js +0 -1
- package/dist/gateway/static/root/assets/extension-debug-page-Bt4FwsFu.js +0 -1
- package/dist/gateway/static/root/assets/extension-page-0vsxX3FB.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-5Pt5_ELc.js +0 -1
- package/dist/gateway/static/root/assets/files-Bw4SBGdM.js +0 -1
- package/dist/gateway/static/root/assets/floating-ui.dom-B7uQOZZW.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-DkWCHVzI.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-Bx9KCID-.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-BsVOcmV5.js +0 -1
- package/dist/gateway/static/root/assets/highlight-code-C8eS9949.js +0 -1
- package/dist/gateway/static/root/assets/highlighted-body-KQOG7T2V-Cbk7eMlg.js +0 -1
- package/dist/gateway/static/root/assets/home-page-BZDZnmyc.js +0 -2
- package/dist/gateway/static/root/assets/image-generation-api-CAS8QVla.js +0 -1
- package/dist/gateway/static/root/assets/imports-page-BCLBYzV1.js +0 -1
- package/dist/gateway/static/root/assets/index-Bys6njTY.js +0 -710
- package/dist/gateway/static/root/assets/index-Vsf0bj5e.css +0 -1
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-CM_kt5XN.js +0 -1
- package/dist/gateway/static/root/assets/languages-byq_L2Ae.js +0 -2
- package/dist/gateway/static/root/assets/local-app-workbench-page-Dk87jtcc.js +0 -1
- package/dist/gateway/static/root/assets/local-apps-page-BTSOChhk.js +0 -1
- package/dist/gateway/static/root/assets/local-apps-yys1VChX.js +0 -1
- package/dist/gateway/static/root/assets/local-session-drafts-iGX_6O0O.js +0 -1
- package/dist/gateway/static/root/assets/logs-page-D3gVdm8S.js +0 -2
- package/dist/gateway/static/root/assets/management-settings-BQNYFE4J.js +0 -1
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-ChweJKTv.js +0 -1
- package/dist/gateway/static/root/assets/note-detail-panel-CYKwUCte.js +0 -5
- package/dist/gateway/static/root/assets/note-image-lightbox-BTSZb9ZT.js +0 -1
- package/dist/gateway/static/root/assets/notes-page-CJ5nhWfL.js +0 -8
- package/dist/gateway/static/root/assets/number-input-DDeqHK-G.js +0 -1
- package/dist/gateway/static/root/assets/page-context-capture-button-DVn_dU83.js +0 -1
- package/dist/gateway/static/root/assets/pdf-runtime-DU_sMPjG.js +0 -2
- package/dist/gateway/static/root/assets/personal-page-DcW14lqn.js +0 -1
- package/dist/gateway/static/root/assets/personal-proactivity-BJcZ3Yhi.js +0 -1
- package/dist/gateway/static/root/assets/personal-settings-panel-C16Iqe7X.js +0 -1
- package/dist/gateway/static/root/assets/phone-dependencies-card-D3l9uPFM.js +0 -1
- package/dist/gateway/static/root/assets/phone-model-picker-DOv38vBn.js +0 -1
- package/dist/gateway/static/root/assets/phone-settings-page-DUHp1q_9.js +0 -1
- package/dist/gateway/static/root/assets/plugin-details-dialog-BpfgDlVa.js +0 -1
- package/dist/gateway/static/root/assets/popover-select-DGKUpVsz.js +0 -1
- package/dist/gateway/static/root/assets/preload-helper-zJ_50EbN.js +0 -1
- package/dist/gateway/static/root/assets/preview-open-alternatives-RlHk76TI.js +0 -1
- package/dist/gateway/static/root/assets/product-delivery-BqNm-8S5.js +0 -1
- package/dist/gateway/static/root/assets/product-open-page-Dh-HqLrE.js +0 -1
- package/dist/gateway/static/root/assets/product-preview-content-c3K-4DWc.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-GD8TxKad.js +0 -7
- package/dist/gateway/static/root/assets/projects-page-B8HAt9sD.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-D3el7lHK.js +0 -1
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-Dbskk6RG.js +0 -1
- package/dist/gateway/static/root/assets/schema-form-CXO1B1k4.js +0 -1
- package/dist/gateway/static/root/assets/schemas-CObaziC7.js +0 -64
- package/dist/gateway/static/root/assets/session-manager-CA1NkTR_.js +0 -16
- package/dist/gateway/static/root/assets/sessions-page-07liaSHH.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-BGjU8rfN.js +0 -1
- package/dist/gateway/static/root/assets/settings-form-section-BQxKmbbJ.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-DvVMpKiA.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-header-CYpuTXUW.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-layout-B20AfmFG.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-DKo_VTx-.js +0 -1
- package/dist/gateway/static/root/assets/share-preview-page-XgZk8Oa1.js +0 -2
- package/dist/gateway/static/root/assets/shares-settings-BODFqK8k.js +0 -1
- package/dist/gateway/static/root/assets/skill-api-CV-WT2hj.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-Ce6OUk2C.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-B7ehOIML.js +0 -2
- package/dist/gateway/static/root/assets/specialists-4bkS5rZ4.js +0 -1
- package/dist/gateway/static/root/assets/system-settings-panel-CxJkZRT4.js +0 -1
- package/dist/gateway/static/root/assets/task-detail-page-CxRR0QuW.js +0 -2
- package/dist/gateway/static/root/assets/task-result-evidence-D-gGKNX9.js +0 -1
- package/dist/gateway/static/root/assets/tasks-TVRjEggr.js +0 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-CQw3G-FB.js +0 -1
- package/dist/gateway/static/root/assets/tunnel-api-B2HnCi0U.js +0 -1
- package/dist/gateway/static/root/assets/usage-page-uUEkO38r.js +0 -1
- package/dist/gateway/static/root/assets/use-autosave-Dc0nwUpX.js +0 -1
- package/dist/gateway/static/root/assets/user-model-page-ICUutbKL.js +0 -2
- package/dist/gateway/static/root/assets/voice-api-key-field-BSWXZkGa.js +0 -1
- package/dist/gateway/static/root/assets/work-discovery-overlay-H3cdwq3l.js +0 -1
- package/dist/gateway/static/root/assets/xopc-cloud-account-card-CvT_W6YS.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`mic`,[[`path`,{d:`M12 19v3`,key:`npa21l`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`,key:`1vc78b`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`,key:`s6n7sd`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./browser-BLJWD7WI.js";var n=e(t(),1),r={width:240,margin:4,errorCorrectionLevel:`M`,color:{dark:`#000000ff`,light:`#ffffffff`}};async function i(e){let t=await n.toString(e,{...r,type:`svg`});return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`}export{i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{u as i}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{t as ee}from"./check-DUBLcKHA.js";import{a,c as o,d as te,l as s,o as c,u as ne}from"./popover-select-DniHw2dy.js";import{t as re}from"./settings-2-D-csvaET.js";import{t as ie}from"./messages-DRR9N3HC.js";import{t as l}from"./cn-0WouolD0.js";import{n as ae}from"./locale-store-lIXD1FMw.js";import{i as oe}from"./vendor-swr-CdRzEUwF.js";import{c as u,s as se}from"./dist-CaUuvp8-.js";import{n as ce}from"./interaction-BdhHBbYa.js";import{n as le,t as ue}from"./registry-api-n8TwtJ_j.js";import{i as de,n as fe,r as pe}from"./form-field-width-DJw_jULe.js";var me=n();function d(e,t){return e.displayNames?.[t.toLowerCase().startsWith(`zh`)?`zh-CN`:`en`]||e.name}var he=e(t(),1);function ge(e,t,n){if(t===`computer-use`)return e.filter(e=>!!e.computerUse);let r=e=>e.computerUse?.profile!==void 0&&e.computerUse.dedicated!==!1&&e.computerUse.profile!==`openai-responses-computer-v1`;if(t!==`vision`)return e.filter(e=>!r(e)&&!e.phoneUse||e.id===n);let i=e.filter(e=>e.vision===!0&&!r(e)&&!e.phoneUse);if(!n||i.some(e=>e.id===n))return i;let ee=e.find(e=>e.id===n);if(ee)return[ee,...i];let a=n.indexOf(`/`),o=a>=0?n.slice(0,a):``;return[{id:n,name:(a>=0?n.slice(a+1):n)||n,provider:o||`—`,vision:!1},...i]}var f=r();function p(e){return`${e.id} ${e.name} ${Object.values(e.displayNames??{}).join(` `)} ${e.provider}`.toLowerCase()}var _e=[];function ve(e,t){let n=t.trim().toLowerCase();if(!n)return e;let r=n.split(/\s+/).filter(Boolean);return e.filter(e=>{let t=p(e);return r.every(e=>t.includes(e))})}function m(e){let t=(0,me.c)(99),{value:n,disabled:r,placeholder:c,searchPlaceholder:p,noMatches:m,models:Se,modelsLoading:Ce,modelsError:we,capabilitiesFilter:h,outOfFilterNote:Te,registryEmptyHint:Ee,allowEmpty:De,emptyLabel:Oe,compact:ke,showProviderInTrigger:Ae,contentSide:je,contentAlign:Me,className:Ne,popoverContentClassName:Pe,showProviderSettingsFooter:Fe,settingsFooterLink:Ie,ariaLabel:Le,onChange:g}=e,Re=De!==void 0&&De,ze=Ae===void 0||Ae,Be=je===void 0?`bottom`:je,Ve=Me===void 0?`end`:Me,He=i(),_=ae(be),v;t[0]===_?v=t[1]:(v=ie(_),t[0]=_,t[1]=v);let Ue=v.chat,[We,y]=(0,he.useState)(!1),[b,x]=(0,he.useState)(``),[Ge,Ke]=(0,he.useState)(null),qe=s(),Je=o(Ge),Ye=ne(qe,Je!==null),S;t[2]!==Ue||t[3]!==Ie||t[4]!==Fe?(S=Ie??(Fe?{label:Ue.modelProviderSettingsLink,path:`/settings/capabilities/models`}:void 0),t[2]=Ue,t[3]=Ie,t[4]=Fe,t[5]=S):S=t[5];let C=S,w;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(w={revalidateOnFocus:!1},t[6]=w):w=t[6];let Xe=oe(Se?null:ue,le,w),T=Se??Xe.data??_e,Ze=Se?!!Ce:Xe.isLoading,E=Se?we:Xe.error,D;t[7]===n?D=t[8]:(D=n.trim(),t[7]=n,t[8]=D);let O=D,k;t[9]!==h||t[10]!==T||t[11]!==O?(k=ge(T,h,O),t[9]=h,t[10]=T,t[11]=O,t[12]=k):k=t[12];let A=k,j=h===`computer-use`||A.length>10,Qe=j?b:``,M;t[13]!==A||t[14]!==Qe?(M=ve(A,Qe),t[13]=A,t[14]=Qe,t[15]=M):M=t[15];let N=M,P;t[16]!==T||t[17]!==A||t[18]!==n?(P=T.find(e=>e.id===n)??A.find(e=>e.id===n),t[16]=T,t[17]=A,t[18]=n,t[19]=P):P=t[19];let F=P,I;t[20]!==_||t[21]!==c||t[22]!==F||t[23]!==ze||t[24]!==n?(I=F?ze?`${d(F,_)} (${F.provider})`:d(F,_):n||c,t[20]=_,t[21]=c,t[22]=F,t[23]=ze,t[24]=n,t[25]=I):I=t[25];let $e=I,L=!E&&!!h&&A.length===0,et=u,tt=r||Ze,R;t[26]!==_||t[27]!==c||t[28]!==F?(R=F?`${d(F,_)} (${F.provider})`:c,t[26]=_,t[27]=c,t[28]=F,t[29]=R):R=t[29];let nt=ke&&`py-1.5 text-[13px]`,z;t[30]!==Ne||t[31]!==nt?(z=l(fe,`items-center gap-2 rounded-lg border border-edge-subtle bg-surface-panel px-3 py-2 text-left text-sm font-normal text-fg`,ce.transition,`hover:border-edge hover:bg-surface-hover/45`,de,`disabled:cursor-not-allowed disabled:opacity-50`,`dark:border-edge-subtle dark:hover:bg-surface-hover/55`,nt,Ne),t[30]=Ne,t[31]=nt,t[32]=z):z=t[32];let rt=Ze?`…`:$e,B;t[33]===rt?B=t[34]:(B=(0,f.jsx)(`span`,{className:`min-w-0 truncate`,children:rt}),t[33]=rt,t[34]=B);let it;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(it=(0,f.jsx)(te,{className:`size-4 shrink-0 text-fg-subtle opacity-70`,"aria-hidden":!0}),t[35]=it):it=t[35];let V;t[36]!==Le||t[37]!==tt||t[38]!==R||t[39]!==z||t[40]!==B?(V=(0,f.jsx)(se,{asChild:!0,children:(0,f.jsxs)(`button`,{ref:Ke,type:`button`,"aria-label":Le,disabled:tt,title:R,className:z,children:[B,it]})}),t[36]=Le,t[37]=tt,t[38]=R,t[39]=z,t[40]=B,t[41]=V):V=t[41];let at=u,ot=Je??void 0,st=u,ct=l(Ye,a,`w-[min(22rem,calc(100vw-2rem))] rounded-xl border border-edge-subtle bg-surface-overlay p-1 shadow-elevated dark:border-edge-subtle`,Pe),H;t[42]!==b||t[43]!==p||t[44]!==j?(H=j?(0,f.jsx)(`input`,{type:`search`,"aria-label":p,className:l(`mb-1 w-full shrink-0 rounded-lg border border-edge-subtle bg-surface-base px-2.5 py-1.5 text-sm text-fg placeholder:text-fg-disabled dark:bg-surface-hover/40`,pe),placeholder:p,value:b,onChange:e=>x(e.target.value)}):null,t[42]=b,t[43]=p,t[44]=j,t[45]=H):H=t[45];let U;t[46]!==Re||t[47]!==Oe||t[48]!==g||t[49]!==c||t[50]!==O?(U=Re?(0,f.jsxs)(`button`,{type:`button`,className:l(`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm text-fg hover:bg-surface-hover`,O===``&&`bg-surface-hover/90 font-medium dark:bg-surface-hover/70`),onClick:()=>{g(``),y(!1),x(``)},children:[(0,f.jsx)(ee,{className:l(`size-4 shrink-0`,O!==``&&`invisible`),"aria-hidden":!0}),(0,f.jsx)(`span`,{className:`min-w-0 truncate text-fg-muted`,children:Oe??c})]}):null,t[46]=Re,t[47]=Oe,t[48]=g,t[49]=c,t[50]=O,t[51]=U):U=t[51];let W;t[52]===E?W=t[53]:(W=E?(0,f.jsx)(`div`,{className:`p-2 text-xs text-red-600 dark:text-red-400`,children:E instanceof Error?E.message:`Failed to load models`}):null,t[52]=E,t[53]=W);let G;t[54]!==E||t[55]!==m||t[56]!==Ee||t[57]!==L?(G=!E&&L?(0,f.jsx)(`div`,{className:`px-2 py-3 text-center text-xs text-fg-muted`,children:Ee??m}):null,t[54]=E,t[55]=m,t[56]=Ee,t[57]=L,t[58]=G):G=t[58];let K;t[59]!==E||t[60]!==N||t[61]!==m||t[62]!==L?(K=!E&&!L&&N.length===0?(0,f.jsx)(`div`,{className:`px-2 py-3 text-center text-xs text-fg-muted`,children:m}):null,t[59]=E,t[60]=N,t[61]=m,t[62]=L,t[63]=K):K=t[63];let lt=h===`vision`?Te:void 0,q;t[64]===g?q=t[65]:(q=e=>{g(e),y(!1),x(``)},t[64]=g,t[65]=q);let J;t[66]!==N||t[67]!==m||t[68]!==p||t[69]!==lt||t[70]!==q||t[71]!==n?(J=(0,f.jsx)(xe,{models:N,value:n,searchPlaceholder:p,noMatches:m,showSearch:!1,outOfFilterNote:lt,onChange:q}),t[66]=N,t[67]=m,t[68]=p,t[69]=lt,t[70]=q,t[71]=n,t[72]=J):J=t[72];let Y;t[73]!==U||t[74]!==W||t[75]!==G||t[76]!==K||t[77]!==J?(Y=(0,f.jsxs)(`div`,{className:`flex min-h-0 max-h-60 flex-1 flex-col overflow-hidden`,children:[U,W,G,K,J]}),t[73]=U,t[74]=W,t[75]=G,t[76]=K,t[77]=J,t[78]=Y):Y=t[78];let X;t[79]!==C||t[80]!==He?(X=C?(0,f.jsx)(`div`,{className:`mt-1 shrink-0 border-t border-edge-subtle pt-1`,children:(0,f.jsxs)(`button`,{type:`button`,className:l(`flex w-full items-center gap-2 rounded-md p-2 text-left text-sm font-medium text-accent`,ce.transition,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`),onClick:()=>{He(C.path),y(!1),x(``)},children:[(0,f.jsx)(re,{className:`size-4 shrink-0 opacity-90`,"aria-hidden":!0}),(0,f.jsx)(`span`,{className:`min-w-0`,children:C.label})]})}):null,t[79]=C,t[80]=He,t[81]=X):X=t[81];let Z;t[82]!==Ve||t[83]!==Be||t[84]!==st.Content||t[85]!==ct||t[86]!==H||t[87]!==Y||t[88]!==X?(Z=(0,f.jsxs)(st.Content,{className:ct,side:Be,sideOffset:4,align:Ve,collisionPadding:8,onOpenAutoFocus:ye,children:[H,Y,X]}),t[82]=Ve,t[83]=Be,t[84]=st.Content,t[85]=ct,t[86]=H,t[87]=Y,t[88]=X,t[89]=Z):Z=t[89];let Q;t[90]!==at.Portal||t[91]!==ot||t[92]!==Z?(Q=(0,f.jsx)(at.Portal,{container:ot,children:Z}),t[90]=at.Portal,t[91]=ot,t[92]=Z,t[93]=Q):Q=t[93];let $;return t[94]!==We||t[95]!==et.Root||t[96]!==V||t[97]!==Q?($=(0,f.jsxs)(et.Root,{open:We,onOpenChange:y,children:[V,Q]}),t[94]=We,t[95]=et.Root,t[96]=V,t[97]=Q,t[98]=$):$=t[98],$}function ye(e){return e.preventDefault()}function be(e){return e.language}function xe({models:e,value:t,onChange:n,searchPlaceholder:r,noMatches:i,disabled:a,showSearch:o=e.length>10,outOfFilterNote:te,groupByProvider:s=!1}){let ne=ae(e=>e.language),[re,ie]=(0,he.useState)(``),oe=ve(e,o?re:``),u=new Map;for(let t of e){let e=s?t.provider:``;u.has(e)||u.set(e,[])}for(let e of oe)u.get(s?e.provider:``).push(e);return(0,f.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[o&&(0,f.jsx)(`input`,{type:`search`,"aria-label":r,placeholder:r,value:re,onChange:e=>ie(e.target.value),className:l(`mx-1 mb-2 rounded-lg border border-edge bg-surface-base px-3 py-2 text-sm text-fg`,`focus:outline-none focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 focus-visible:shadow-none focus-visible:border-edge`)}),(0,f.jsxs)(`div`,{"data-select-scroll-region":!0,className:l(c,s&&`scroll-pt-8`),children:[oe.length===0&&(0,f.jsx)(`p`,{className:`px-3 py-4 text-sm text-fg-muted`,children:i}),[...u].filter(([,e])=>e.length>0).map(([r,i])=>(0,f.jsxs)(`div`,{role:s?`group`:void 0,"aria-label":s?r:void 0,className:s?`border-t border-edge-subtle pb-1 first:border-t-0`:void 0,children:[s&&(0,f.jsx)(`p`,{className:`sticky top-0 z-10 bg-surface-overlay px-3 pb-1 pt-3 text-xs font-medium text-fg-muted`,children:r}),i.map(r=>(0,f.jsxs)(`button`,{type:`button`,disabled:a,title:r.id,"aria-pressed":r.id===t,style:e.length>50?{contentVisibility:`auto`,containIntrinsicSize:`auto 60px`}:void 0,className:l(`flex min-h-11 w-full items-center gap-3 rounded-lg px-3 py-2 text-left text-sm text-fg hover:bg-surface-hover disabled:opacity-50`,ce.focusRingPanel,r.id===t&&`bg-surface-hover`),onClick:()=>n(r.id),children:[(0,f.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,f.jsx)(`span`,{className:`block truncate font-medium`,children:d(r,ne)}),!s&&(0,f.jsx)(`span`,{className:`block truncate text-xs text-fg-muted`,children:r.provider}),te&&!r.vision&&r.id===t&&(0,f.jsx)(`span`,{className:`block text-xs text-fg-muted`,children:te})]}),(0,f.jsx)(ee,{className:l(`size-4 shrink-0 text-accent-fg`,r.id!==t&&`invisible`),"aria-hidden":!0})]},r.id))]},r))]})]})}export{m as n,d as r,xe as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./locale-store-lIXD1FMw.js";import{o as t}from"./vendor-swr-CdRzEUwF.js";import{n}from"./gateway-config-swr-BAmUhiP1.js";import{r}from"./registry-api-n8TwtJ_j.js";var i=`models-json-config`,a=`model-catalog`,o=`capability-readiness`;async function s(){await Promise.all([n(),t(e(`/api/providers/meta`)),t(i),t(a),t(o),t(`settings-agent-defaults`),t(`model-capability-media-sources`),t(`native-voice-connections`),t(`voice-dictation-route`),t(e=>Array.isArray(e)&&[`model-use-choices`,`native-voice-connections`,`capability-service-connections`].includes(e[0])),r()])}export{s as i,i as n,a as r,o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`mouse-pointer-2`,[[`path`,{d:`M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z`,key:`edeuup`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={settingsImports:`imports`,settingsOverview:`overview`,settingsAppearance:`appearance`,settingsKeyboardShortcuts:`keyboard-shortcuts`,settingsPersonal:`personal`,settingsSystem:`system`,settingsDesktopPet:`desktop-pet`,settingsDesktopApp:`desktop-app`,settingsAgentDefaults:`agent-defaults`,settingsGateway:`gateway`,settingsRuntimes:`runtimes`,settingsDevices:`devices`,settingsTunnel:`remote-access`,settingsShares:`shares`};function t(t){return e[t]??null}var n=new Set([`settingsSystem`,`settingsDesktopPet`,`settingsDesktopApp`]),r={id:`system`,tabs:[`settingsSystem`,`settingsDesktopPet`,`settingsDesktopApp`]},i=[{id:`general`,tabs:[`settingsOverview`,`settingsAppearance`,`settingsPersonal`,`settingsKeyboardShortcuts`]},{id:`capabilities`,tabs:[`settingsModels`,`settingsSearch`,`settingsAgentDefaults`]},{id:`integrations`,tabs:[`settingsAgentBrowser`,`settingsComputerUse`,`settingsPhoneUse`]},{id:`connection`,tabs:[`settingsDevices`,`settingsTunnel`,`settingsShares`]},{id:`system`,tabs:[`settingsGateway`,`settingsRuntimes`,`settingsImports`,`sessions`,`usage`,`tracing`,`logs`]}],a=`https://xopcai.github.io/xopc`;function o(e){return e===`zh`?`${a}/zh/`:`${a}/`}function s(e,t){let n=t.replace(/^\/+/,``).replace(/\.md$/,``);return e===`zh`?`${a}/zh/${n}`:`${a}/${n}`}function c(e,t){let n=s(e,`remote-access`);return t?`${n}#${t}`:n}function l(e){if(e===`settingsKeyboardShortcuts`)return`/settings/keyboard-shortcuts`;if(e===`settingsAgentBrowser`)return`/settings/agent-browser`;if(e===`settingsPhoneUse`)return`/settings/phone-use`;if(e===`settingsComputerUse`)return`/settings/computer-use`;if(e===`settingsModels`)return u(`models`);if(e===`settingsSearch`)return u(`search`);let n=t(e);return n?`/settings/${n}`:e===`sessions`||e===`usage`||e===`tracing`||e===`logs`?`/settings/${e}`:`/${e}`}function u(e){return`/settings/capabilities/${e}`}function d(e,t){return e===`settingsModels`?t===u(`models`):t===l(e)}export{s as a,l as c,u as i,c as l,r as n,o,i as r,d as s,n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`network`,[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`4q2zg0`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`8cvhb9`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`,key:`1egb70`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`,key:`1jsf9p`}],[`path`,{d:`M12 12V8`,key:`2874zd`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return e?.trim()||void 0}function t(t){return e(t)?.toLowerCase()}function n(){return{kind:`none`}}function r(t){let r=e(t);return r?{kind:`project`,projectId:r}:n()}function i(){return{version:1,modelByAgent:{},executionModeByProject:{},lastChatScope:n()}}function a(t){if(!t||typeof t!=`object`)return null;let r=t;if(r.kind===`none`)return n();if(r.kind!==`project`||typeof r.projectId!=`string`)return null;let i=e(r.projectId);return i?{kind:`project`,projectId:i}:null}function o(n){if(!n||typeof n!=`object`||Array.isArray(n))return{};let r={};for(let[i,a]of Object.entries(n)){let n=t(i);if(!n||!a||typeof a!=`object`)continue;let o=a,s=typeof o.modelRef==`string`?e(o.modelRef):void 0;if(!s)continue;let c=typeof o.thinkingLevel==`string`?e(o.thinkingLevel):void 0;r[n]={modelRef:s,...c?{thinkingLevel:c}:{},...o.thinkingByModel&&typeof o.thinkingByModel==`object`?{thinkingByModel:Object.fromEntries(Object.entries(o.thinkingByModel).filter(e=>typeof e[1]==`string`))}:{}}}return r}function s(t){return!t||typeof t!=`object`||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).flatMap(([t,n])=>{let r=e(t);return r&&(n===`local_checkout`||n===`managed_worktree`)?[[r,n]]:[]}))}function c(e){let r=i();if(!e||typeof e!=`object`||Array.isArray(e))return r;let c=e;if(c.version!==1)return r;let l=typeof c.selectedAgentId==`string`?t(c.selectedAgentId):void 0;return{version:1,...l?{selectedAgentId:l}:{},modelByAgent:o(c.modelByAgent),executionModeByProject:s(c.executionModeByProject),lastChatScope:a(c.lastChatScope)??n()}}function l(e,n){let r=t(n),{selectedAgentId:i,...a}=e;return r?{...a,selectedAgentId:r}:a}function u(n,r,i){let a=t(r);if(!a)return n;let o={...n.modelByAgent},s=i?e(i.modelRef):void 0;if(!i||!s)delete o[a];else{let t=e(i.thinkingLevel),n={...o[a]?.thinkingByModel,...o[a]?.thinkingLevel?{[o[a].modelRef]:o[a].thinkingLevel}:{},...t?{[s]:t}:{}};o[a]={modelRef:s,...t?{thinkingLevel:t}:{},...Object.keys(n).length?{thinkingByModel:n}:{}}}return{...n,modelByAgent:o}}function d(t,r){let i=e(r);return{...t,lastChatScope:i?{kind:`project`,projectId:i}:n()}}function f(e,n){let r=t(n);return r?e.modelByAgent[r]:void 0}function p(t,n,r){let i=e(n);if(!i)return t;let a={...t.executionModeByProject};return r===`local_checkout`||r===`managed_worktree`?a[i]=r:delete a[i],{...t,executionModeByProject:a}}function m(t,n){let r=e(n);return r?t.executionModeByProject[r]:void 0}function h(e,t){return e.kind===`project`?r(e.projectId):e.kind===`none`?n():e.kind===`inherit-current`?r(t.currentSession?.projectId??``):t.lastChatScope?.kind===`project`?r(t.lastChatScope.projectId):n()}function g(e,n){let r=h(e.project,n),i=t(e.agentId)??(e.project.kind===`inherit-current`?t(n.currentSession?.agentId):void 0)??t(n.projectDefaultAgentId)??t(n.selectedAgentId)??t(n.defaultAgentId)??`main`;return{origin:e.origin,agentId:i,projectId:r.kind===`project`?r.projectId:null,forceNew:e.forceNew===!0,temporary:e.temporary===!0}}function _(n,r){return[e(n)??`default`,t(r.agentId)??`main`,e(r.projectId)??`none`].join(`:`)}var v=`xopc.webchat.newSessionPreferences`;function y(){if(globalThis.localStorage===void 0)return i();try{let e=globalThis.localStorage.getItem(v);return c(e?JSON.parse(e):null)}catch{return i()}}function b(e){try{globalThis.localStorage?.setItem(v,JSON.stringify(e))}catch{}return e}function x(e){return b(l(y(),e))}function S(e,t){return b(u(y(),e,t))}function C(e){return b(d(y(),e))}function w(e,t){return b(p(y(),e,t))}export{x as a,_ as c,w as i,g as l,S as n,m as o,C as r,f as s,y as t};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/block-editor-C477bTtO.js","assets/rolldown-runtime-aKtaBQYM.js","assets/vendor-react-BOUWij0V.js","assets/unlink-BEuthaaq.js","assets/createLucideIcon-DPHK1VkS.js","assets/check-DUBLcKHA.js","assets/copy-Dv6d4Dvw.js","assets/external-link-DjqjBmc3.js","assets/notes-api-C_458rv5.js","assets/markdown-view-CJt-i2Dp.js","assets/chunk-KS7C4IRE-CiwuuyV8.js","assets/preload-helper-Czpn1I53.js","assets/download-Dk-ZjtO6.js","assets/file-image-CDUPkZvG.js","assets/plus-Q2yW6OE7.js","assets/x-B_N4OPjy.js","assets/messages-DRR9N3HC.js","assets/cn-0WouolD0.js","assets/bundle-mjs-rHxsej31.js","assets/locale-store-lIXD1FMw.js","assets/dist-DfWfZ9iu.js","assets/dist-CxGUk8J-.js","assets/es2015-DBLcMg5B.js","assets/app-link-CytZ5zkp.js","assets/product-delivery-BU_H84jL.js","assets/schemas-CCWMleym.js","assets/local-apps-Ck6kACsY.js","assets/copy-to-clipboard-HOJ79TWv.js","assets/xml-_d7dTN2Q.js","assets/mermaid-render-oOellPHt.js","assets/markdown-view-C-DHb3Io.css","assets/chat-chart-block-K2t333qv.js","assets/skeleton-BI5TyibZ.js","assets/list-todo-CTVRto8O.js","assets/loader-circle-CifKLtgG.js","assets/mic-CuUb7zc-.js","assets/pause-DuPxgSxk.js","assets/pencil-DmIY3Oa-.js","assets/play-kxZvpBg8.js","assets/vendor-swr-CdRzEUwF.js","assets/floating-ui.dom-seOukHzT.js","assets/vendor-codemirror-aCQ0FcJT.js","assets/with-selector-xonYxPoM.js","assets/note-image-lightbox-CivkB6LB.js","assets/block-editor-Cvy3D_4T.css","assets/markdown-editor-BuuGlcfG.js","assets/languages-zXtNocoy.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{l as a,t as o,u as s}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{E as c,b as l,d as u,h as d,i as f,n as p,o as m,r as h,t as g,w as _,x as v}from"./discussion-annotation-sync-BKjf9gWe.js";import{t as y}from"./arrow-left-D880xG-P.js";import{a as b,c as x,d as S,i as C,l as w,n as T,o as E,r as D,s as O,t as k,u as A}from"./product-automation-feedback-DsUSqCOX.js";import{t as j}from"./check-DUBLcKHA.js";import{t as M}from"./chevron-down-ccbiQQz_.js";import{n as N,r as P}from"./popover-select-DniHw2dy.js";import{t as F}from"./circle-check-C23XjkUj.js";import{t as I}from"./code-xml-DJtYhZUF.js";import{t as L}from"./copy-Dv6d4Dvw.js";import{t as ee}from"./download-Dk-ZjtO6.js";import{t as te}from"./ellipsis-0k4rZLoy.js";import{t as ne}from"./external-link-DjqjBmc3.js";import{t as R}from"./eye-CABVeTq0.js";import{t as re}from"./file-text-D12HbeVy.js";import{t as ie}from"./history-DXH_9jsE.js";import{C as ae,E as z,F as oe,O as se,P as B,S as ce,T as le,_ as ue,a as de,c as fe,d as pe,f as V,h as me,l as H,m as U,n as he,r as ge,s as _e,u as ve,w as ye,x as W}from"./notes-api-C_458rv5.js";import{t as G}from"./loader-circle-CifKLtgG.js";import{P as be}from"./markdown-view-CJt-i2Dp.js";import{t as xe}from"./message-circle-Badhj-4D.js";import{t as K}from"./pencil-DmIY3Oa-.js";import{t as Se}from"./play-kxZvpBg8.js";import{t as Ce}from"./refresh-cw-BRlGaq2w.js";import{t as we}from"./search-DA7gz22f.js";import{t as Te}from"./sparkles-DHlfQFAF.js";import{t as Ee}from"./square-pen-B8FsvqNu.js";import{t as De}from"./square-DMK_fB-3.js";import{t as Oe}from"./trash-2-DusmjVPV.js";import{t as ke}from"./x-B_N4OPjy.js";import{t as Ae}from"./messages-DRR9N3HC.js";import{t as q}from"./cn-0WouolD0.js";import{f as je,i as J,l as Me,n as Ne,o as Pe,p as Fe}from"./locale-store-lIXD1FMw.js";import{i as Ie}from"./vendor-swr-CdRzEUwF.js";import{t as Y}from"./button-CnRSIP6m.js";import{t as Le}from"./skeleton-BI5TyibZ.js";import{a as Re,i as ze,n as Be,o as X,r as Z,s as Ve,t as He}from"./dist-DfWfZ9iu.js";import{a as Ue,i as We,o as Ge,s as Ke}from"./dist-CaUuvp8-.js";import{t as qe}from"./session-manager-5l9q0cd5.js";import{t as Je}from"./copy-to-clipboard-HOJ79TWv.js";import{r as Ye}from"./app-chrome-BeB4KgOf.js";import{i as Xe}from"./theme-store-DW45fWYQ.js";import{t as Ze}from"./page-header-store-DH8K0xii.js";import{t as Qe}from"./sliding-tab-list-DuQyViqe.js";import{t as $e}from"./confirm-dialog-XGclfBqe.js";import{b as et,d as tt,o as nt,s as rt,v as it}from"./shares-api-rtWVHA_d.js";import{a as at,c as ot,o as st,r as ct,s as lt,t as ut}from"./dist-DNCdG_qB.js";import{t as dt}from"./oauth-provider-connect-H81se_3n.js";import{n as ft,t as pt}from"./page-context-draft-ClLgaOaD.js";import{t as mt}from"./automation-api-Bld8blNl.js";import"./note-image-lightbox-CivkB6LB.js";import{t as ht}from"./page-context-capture-button-BkAlQ7cB.js";var Q=e(t(),1),gt=n(),$=r(),_t=6e4,vt=36e5,yt=864e5;function bt(e){let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}function xt(e,t,n){let r=t-e;if(r<_t)return n.justNow;if(r<vt){let e=Math.floor(r/_t);return n.minutesAgo.replace(`{{n}}`,String(e))}let i=bt(t);if(e>=i)return n.today+` `+new Date(e).toLocaleTimeString(n.locale,{hour:`2-digit`,minute:`2-digit`});if(e>=i-yt)return n.yesterday+` `+new Date(e).toLocaleTimeString(n.locale,{hour:`2-digit`,minute:`2-digit`});if(r<7*yt){let e=Math.floor(r/yt);return n.daysAgo.replace(`{{n}}`,String(e))}return new Date(e).toLocaleDateString(n.locale,{month:`short`,day:`numeric`})}function St(e,t,n){let r=bt(t);if(e>=r)return n.today;if(e>=r-yt)return n.yesterday;let i=new Date(e),a=new Date(t);return i.getFullYear()===a.getFullYear()?i.toLocaleDateString(n.locale,{month:`long`,day:`numeric`}):i.toLocaleDateString(n.locale,{year:`numeric`,month:`long`,day:`numeric`})}function Ct(e){let t=new Date(e);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}function wt(e){let t=(0,gt.c)(45),{title:n,description:r,prompt:i,coverage:a,className:o,variant:c}=e,l=c===void 0?`card`:c,u=Ne(Dt),d=Ae(u).automations.suggestions,f=Ae(u).automations,p=s(),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m={revalidateOnFocus:!1,refreshInterval:15e3},t[0]=m):m=t[0];let{data:h}=Ie(a?`automation-suggestion-coverage`:null,Et,m),g=a?h?.automations.find(e=>C(e,a)):void 0,v=g?T(g,f):[];if(l===`titleAction`){if(g){let e;t[1]===o?e=t[2]:(e=q(`flex min-w-0 items-center gap-2 rounded-lg border border-emerald-500/25 bg-emerald-500/10 px-2.5 py-1.5`,o),t[1]=o,t[2]=e);let n;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(F,{className:`size-3.5 shrink-0 text-emerald-700 dark:text-emerald-300`,"aria-hidden":!0}),t[3]=n):n=t[3];let r;return t[4]===p?r=t[5]:(r=()=>p(`/automations`),t[4]=p,t[5]=r),(0,$.jsxs)(`section`,{className:e,children:[n,(0,$.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium text-fg`,children:d.coveredTitle}),(0,$.jsx)(Y,{variant:`ghost`,className:`h-7 shrink-0 rounded-md px-2 text-xs`,onClick:r,children:d.manage})]})}let e;t[6]===o?e=t[7]:(e=q(`flex min-w-0 items-center gap-2 rounded-lg bg-surface-panel px-2.5 py-1.5 shadow-surface`,o),t[6]=o,t[7]=e);let a;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(_,{className:`size-3.5 shrink-0 text-accent`,"aria-hidden":!0}),t[8]=a):a=t[8];let s;t[9]!==r||t[10]!==n?(s=(0,$.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium text-fg`,title:r,children:n}),t[9]=r,t[10]=n,t[11]=s):s=t[11];let c;t[12]!==p||t[13]!==i?(c=()=>{let e=new URLSearchParams({draft:i,autogenerate:`1`});p(`/automations?${e.toString()}`)},t[12]=p,t[13]=i,t[14]=c):c=t[14];let l;return t[15]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(Te,{className:`size-3.5`,"aria-hidden":!0}),t[15]=l):l=t[15],(0,$.jsxs)(`section`,{className:e,children:[a,s,(0,$.jsxs)(Y,{variant:`secondary`,className:`h-7 shrink-0 rounded-md px-2 text-xs`,onClick:c,children:[l,d.setup]})]})}if(g){let e;t[16]===o?e=t[17]:(e=q(`rounded-lg border border-emerald-500/25 bg-emerald-500/10 p-3`,o),t[16]=o,t[17]=e);let n;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(F,{className:`mt-0.5 size-4 shrink-0 text-emerald-700 dark:text-emerald-300`,"aria-hidden":!0}),t[18]=n):n=t[18];let r;t[19]===p?r=t[20]:(r=()=>p(`/automations`),t[19]=p,t[20]=r);let i;return t[21]!==d||t[22]!==r?(i=(0,$.jsx)(`div`,{className:`mt-3 flex justify-end`,children:(0,$.jsx)(Y,{variant:`ghost`,className:`h-8 rounded-md px-2.5 text-xs`,onClick:r,children:d.manage})}),t[21]=d,t[22]=r,t[23]=i):i=t[23],(0,$.jsxs)(`section`,{className:e,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[n,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:d.coveredTitle}),(0,$.jsx)(`p`,{className:`mt-1 break-words text-xs leading-5 text-fg-muted`,children:D(d.coveredDescription,{name:g.name})})]})]}),(0,$.jsxs)(`div`,{className:`mt-2 rounded-md bg-surface-base/55 px-2.5 py-2`,children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg`,children:f.explain.whyCovered}),(0,$.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-1.5`,children:v.map(Tt)})]}),i]})}let y;t[24]===o?y=t[25]:(y=q(`rounded-lg bg-surface-panel p-3 shadow-surface`,o),t[24]=o,t[25]=y);let b;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(_,{className:`mt-0.5 size-4 shrink-0 text-accent`,"aria-hidden":!0}),t[26]=b):b=t[26];let x;t[27]===n?x=t[28]:(x=(0,$.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:n}),t[27]=n,t[28]=x);let S;t[29]===r?S=t[30]:(S=(0,$.jsx)(`p`,{className:`mt-1 break-words text-xs leading-5 text-fg-muted`,children:r}),t[29]=r,t[30]=S);let w;t[31]!==x||t[32]!==S?(w=(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[b,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[x,S]})]}),t[31]=x,t[32]=S,t[33]=w):w=t[33];let E;t[34]!==p||t[35]!==i?(E=()=>{let e=new URLSearchParams({draft:i,autogenerate:`1`});p(`/automations?${e.toString()}`)},t[34]=p,t[35]=i,t[36]=E):E=t[36];let O;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(Te,{className:`size-3.5`,"aria-hidden":!0}),t[37]=O):O=t[37];let k;t[38]!==d.create||t[39]!==E?(k=(0,$.jsx)(`div`,{className:`mt-3 flex justify-end`,children:(0,$.jsxs)(Y,{variant:`secondary`,className:`h-8 rounded-md px-2.5 text-xs`,onClick:E,children:[O,d.create]})}),t[38]=d.create,t[39]=E,t[40]=k):k=t[40];let A;return t[41]!==k||t[42]!==y||t[43]!==w?(A=(0,$.jsxs)(`section`,{className:y,children:[w,k]}),t[41]=k,t[42]=y,t[43]=w,t[44]=A):A=t[44],A}function Tt(e){return(0,$.jsx)(`span`,{className:`rounded-full bg-surface-panel px-2 py-0.5 text-xs text-fg-muted`,children:e},e)}function Et(){return mt.list()}function Dt(e){return e.language}function Ot(e){let t=(0,gt.c)(93),{detail:n,template:r,onTemplate:i,zh:a,busy:o,processing:s,pageText:c,editing:l,onOrganize:u,onRegenerate:d,onPersonalNotes:f,noteActions:p}=e,[m,h]=(0,Q.useState)(!1),g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=e=>{h(!1),e()},t[0]=g):g=t[0];let _=g,v=`/api/discussions/${encodeURIComponent(n.discussion.id)}`,y=!!n.discussion.audioAttachmentId&&!n.discussion.audioDeletedAt,b=a?`更多笔记操作`:`More note actions`,x;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(te,{className:`size-5`,"aria-hidden":!0}),t[1]=x):x=t[1];let S;t[2]===b?S=t[3]:(S=(0,$.jsx)(Ke,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":b,className:`inline-flex size-11 shrink-0 items-center justify-center rounded-full text-fg-muted hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:x})}),t[2]=b,t[3]=S);let C=a?`笔记工具`:`Note tools`,w;t[4]!==f||t[5]!==a?(w=f?(0,$.jsxs)(Y,{className:`min-h-11 w-full justify-start`,onClick:()=>_(f),children:[(0,$.jsx)(Ee,{className:`size-4`}),a?`添加我的补充`:`Add my notes`]}):null,t[4]=f,t[5]=a,t[6]=w):w=t[6];let T;t[7]!==p||t[8]!==a?(T=p?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Y,{className:`min-h-11 w-full justify-start`,disabled:p.busy,onClick:()=>_(p.onAnalyze),children:[(0,$.jsx)(Te,{className:`size-4`}),a?`进一步分析`:`Analyze this note`]}),(0,$.jsxs)(Y,{className:`min-h-11 w-full justify-start`,disabled:p.busy,onClick:()=>_(p.onChat),children:[(0,$.jsx)(xe,{className:`size-4`}),a?`就这篇笔记提问`:`Ask about this note`]})]}):null,t[7]=p,t[8]=a,t[9]=T):T=t[9];let E=a?`整理笔记`:`Organize notes`,D;t[10]===E?D=t[11]:(D=(0,$.jsx)(`p`,{className:`px-2 text-xs text-fg-muted`,children:E}),t[10]=E,t[11]=D);let O=a?`纪要模板`:`Summary template`,k;t[12]===i?k=t[13]:(k=e=>i(e.target.value),t[12]=i,t[13]=k);let A=a?`通用会议`:`General`,j;t[14]===A?j=t[15]:(j=(0,$.jsx)(P,{value:`general`,children:A}),t[14]=A,t[15]=j);let M=a?`项目例会`:`Project`,F;t[16]===M?F=t[17]:(F=(0,$.jsx)(P,{value:`project`,children:M}),t[16]=M,t[17]=F);let I=a?`需求评审`:`Review`,L;t[18]===I?L=t[19]:(L=(0,$.jsx)(P,{value:`review`,children:I}),t[18]=I,t[19]=L);let ne=a?`客户访谈`:`Interview`,R;t[20]===ne?R=t[21]:(R=(0,$.jsx)(P,{value:`interview`,children:ne}),t[20]=ne,t[21]=R);let re;t[22]!==O||t[23]!==k||t[24]!==j||t[25]!==F||t[26]!==L||t[27]!==R||t[28]!==r?(re=(0,$.jsxs)(N,{value:r,"aria-label":O,onChange:k,children:[j,F,L,R]}),t[22]=O,t[23]=k,t[24]=j,t[25]=F,t[26]=L,t[27]=R,t[28]=r,t[29]=re):re=t[29];let ie=o||s||!n.discussion.canonicalTranscript,ae;t[30]===u?ae=t[31]:(ae=()=>_(u),t[30]=u,t[31]=ae);let z;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(Ce,{className:`size-4`}),t[32]=z):z=t[32];let oe=a?`重新整理纪要`:`Regenerate summary`,se;t[33]!==ie||t[34]!==ae||t[35]!==oe?(se=(0,$.jsxs)(Y,{className:`min-h-11 w-full justify-start`,disabled:ie,onClick:ae,children:[z,oe]}),t[33]=ie,t[34]=ae,t[35]=oe,t[36]=se):se=t[36];let B;t[37]!==y||t[38]!==o||t[39]!==n.discussion.status||t[40]!==d||t[41]!==s||t[42]!==a?(B=y&&[`completed`,`needs_attention`].includes(n.discussion.status)?(0,$.jsx)(Y,{className:`min-h-11 w-full justify-start`,disabled:o||s,onClick:()=>_(d),children:a?`从原音重新生成`:`Regenerate from audio`}):null,t[37]=y,t[38]=o,t[39]=n.discussion.status,t[40]=d,t[41]=s,t[42]=a,t[43]=B):B=t[43];let ce;t[44]!==re||t[45]!==se||t[46]!==B||t[47]!==D?(ce=(0,$.jsxs)(`div`,{className:`space-y-2 py-3`,children:[D,re,se,B]}),t[44]=re,t[45]=se,t[46]=B,t[47]=D,t[48]=ce):ce=t[48];let le=a?`导出与分享`:`Export and share`,ue;t[49]===le?ue=t[50]:(ue=(0,$.jsx)(`p`,{className:`px-2 text-xs text-fg-muted`,children:le}),t[49]=le,t[50]=ue);let de;t[51]!==y||t[52]!==v||t[53]!==a?(de=y?(0,$.jsxs)(`a`,{className:`flex min-h-11 items-center gap-2 rounded-lg px-2 text-sm hover:bg-surface-hover focus-visible:ring-2 focus-visible:ring-accent`,href:J(`${v}/audio`),download:!0,children:[(0,$.jsx)(ee,{className:`size-4`}),a?`下载录音`:`Download recording`]}):null,t[51]=y,t[52]=v,t[53]=a,t[54]=de):de=t[54];let fe;t[55]!==p||t[56]!==a?(fe=p?(0,$.jsx)(Y,{className:`min-h-11 w-full justify-start`,disabled:p.busy,onClick:()=>_(p.onShare),children:a?`分享笔记`:`Share note`}):null,t[55]=p,t[56]=a,t[57]=fe):fe=t[57];let pe;t[58]===v?pe=t[59]:(pe=(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:[`md`,`txt`,`srt`].map(e=>(0,$.jsx)(`a`,{className:`inline-flex min-h-11 items-center rounded-lg px-3 text-sm text-accent-fg hover:bg-surface-hover focus-visible:ring-2 focus-visible:ring-accent`,href:J(`${v}/export?format=${e}`),download:!0,children:e.toUpperCase()},e))}),t[58]=v,t[59]=pe);let V=n.note.id,me=String(n.note.remoteVersion??1),H;t[60]!==n.note.id||t[61]!==me?(H={kind:`note`,id:V,revision:me},t[60]=n.note.id,t[61]=me,t[62]=H):H=t[62];let U;t[63]===c?U=t[64]:(U={text:c,draft:!1},t[63]=c,t[64]=U);let he=a?`带到新对话`:`Use in a new chat`,ge=o||s||l||!c||c.length>16e3,_e;t[65]!==H||t[66]!==U||t[67]!==he||t[68]!==ge?(_e=(0,$.jsx)(ht,{resource:H,selection:U,label:he,disabled:ge}),t[65]=H,t[66]=U,t[67]=he,t[68]=ge,t[69]=_e):_e=t[69];let ve=c.length>16e3?a?`内容较长,请先筛选部分原文。`:`Filter the transcript to share a smaller selection.`:a?`分享当前显示的文字,不包含原音。`:`Shares displayed text, without audio.`,ye;t[70]===ve?ye=t[71]:(ye=(0,$.jsx)(`p`,{className:`px-2 text-xs leading-5 text-fg-muted`,children:ve}),t[70]=ve,t[71]=ye);let W;t[72]!==ue||t[73]!==de||t[74]!==fe||t[75]!==pe||t[76]!==_e||t[77]!==ye?(W=(0,$.jsxs)(`div`,{className:`space-y-2 border-t border-edge-subtle py-3`,children:[ue,de,fe,pe,_e,ye]}),t[72]=ue,t[73]=de,t[74]=fe,t[75]=pe,t[76]=_e,t[77]=ye,t[78]=W):W=t[78];let G;t[79]!==p||t[80]!==a?(G=p?(0,$.jsxs)(`div`,{className:`space-y-1 border-t border-edge-subtle pt-2`,children:[(0,$.jsx)(Y,{className:`min-h-11 w-full justify-start`,onClick:()=>_(p.onHistory),children:a?`版本历史`:`Version history`}),(0,$.jsx)(Y,{className:`min-h-11 w-full justify-start text-danger`,disabled:p.busy,onClick:()=>_(p.onDelete),children:a?`删除笔记`:`Delete note`})]}):null,t[79]=p,t[80]=a,t[81]=G):G=t[81];let be;t[82]!==ce||t[83]!==W||t[84]!==G||t[85]!==C||t[86]!==w||t[87]!==T?(be=(0,$.jsx)(Ue,{children:(0,$.jsxs)(We,{align:`end`,sideOffset:6,collisionPadding:12,"aria-label":C,className:`z-[140] max-h-[min(38rem,var(--radix-popover-content-available-height,85dvh))] w-[min(20rem,calc(100vw-2rem))] overflow-y-auto rounded-2xl border border-edge bg-surface-overlay p-3 text-fg shadow-elevated`,children:[w,T,ce,W,G]})}),t[82]=ce,t[83]=W,t[84]=G,t[85]=C,t[86]=w,t[87]=T,t[88]=be):be=t[88];let K;return t[89]!==m||t[90]!==S||t[91]!==be?(K=(0,$.jsxs)(Ge,{open:m,onOpenChange:h,children:[S,be]}),t[89]=m,t[90]=S,t[91]=be,t[92]=K):K=t[92],K}var kt=e=>`${Math.floor(e/6e4)}:${String(Math.floor(e/1e3)%60).padStart(2,`0`)}`;function At({id:e,query:t,zh:n,refreshKey:r,sourceKey:i,active:a,tab:o,onEvidence:s,onPlay:c}){let[l,u]=(0,Q.useState)(),[d,f]=(0,Q.useState)(!0),[p,m]=(0,Q.useState)(``),[h,g]=(0,Q.useState)(!1),_=(0,Q.useRef)(0),[v,y]=(0,Q.useState)(),[b,x]=(0,Q.useState)(),[S,C]=(0,Q.useState)(``),[w,T]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{if(!a||t)return;let e=window.setInterval(()=>T(e=>e+1),3e3);return()=>window.clearInterval(e)},[a,t]),(0,Q.useEffect)(()=>{x(void 0)},[e,t]),(0,Q.useEffect)(()=>{let n=++_.current,r=new AbortController;f(!0),g(!1),m(``);let a=window.setTimeout(()=>{Pe(J(`/api/discussions/${encodeURIComponent(e)}/review?q=${encodeURIComponent(t)}`),{signal:r.signal}).then(e=>{_.current===n&&(u(e),y(i),C(t))}).catch(e=>{_.current===n&&!r.signal.aborted&&m(String(e))}).finally(()=>{_.current===n&&f(!1)})},t?200:0);return()=>{_.current++,r.abort(),window.clearTimeout(a)}},[e,t,r,i,w]);async function E(){if(!l||h)return;let r=_.current;g(!0);try{let n=await Pe(J(`/api/discussions/${encodeURIComponent(e)}/review?q=${encodeURIComponent(t)}&offset=${l.hits.length}&version=${l.version}`));r===_.current&&u({...n,hits:[...l.hits,...n.hits]})}catch(e){r===_.current&&m(n?`内容已变化,请重新搜索。${String(e)}`:`Content changed; search again. ${String(e)}`)}finally{g(!1)}}function D(e){x(e),(!e.provisional||e.kind===`chapter`)&&e.transcriptRevision!==void 0&&e.segments.length&&s({transcriptRevision:e.transcriptRevision,stale:e.stale,audioAvailable:l?.coverage.audioAvailable??!1,timingVerified:e.segments.some(e=>e.playback.length>0),segments:e.segments})}let O=e=>e.kind===`chapter`?n?`章节`:`Chapter`:e.kind===`annotation`?n?`我的标记`:`My mark`:e.kind===`analysis`?n?`分析`:`Analysis`:n?`原文`:`Transcript`,k=e=>(0,$.jsxs)(`article`,{className:`space-y-2 rounded-xl bg-surface-inset p-4`,children:[(0,$.jsxs)(`button`,{className:`text-left text-sm text-accent-fg`,onClick:()=>D(e),children:[e.startedAtMs===void 0?``:`${kt(e.startedAtMs)}${e.endedAtMs===void 0?``:`–${kt(e.endedAtMs)}`} · `,e.title||O(e)]}),(0,$.jsx)(`p`,{className:`whitespace-pre-wrap text-sm`,children:e.kind===`chapter`&&!t&&e.text.length>300?`${e.text.slice(0,300)}…`:e.text}),(0,$.jsxs)(`p`,{className:`text-xs text-fg-muted`,children:[O(e),e.provisional?n?` · 阶段性结果`:` · Partial result`:``,e.stale?n?` · 原文已更新,保留旧版依据`:` · Earlier transcript revision`:``,e.kind===`chapter`?` · ${e.highlightCount??0} ${n?`个重点`:`marks`} · ${e.actionCount??0} ${n?`个候选行动`:`candidate actions`}`:``]}),e.kind!==`chapter`||t||b?.id===e.id?e.segments.map(e=>(0,$.jsxs)(`p`,{className:`text-xs text-fg-muted`,children:[kt(e.startedAtMs),` · `,e.text.length>500?`${e.text.slice(0,500)}…`:e.text]},`${e.sequence}:${e.startedAtMs}`)):null,e.playback.slice(0,3).map((e,t)=>(0,$.jsxs)(Y,{onClick:()=>c(e.startedAtMs,e.endedAtMs),children:[n?`回听上下文`:`Play context`,` `,kt(e.startedAtMs),`–`,kt(e.endedAtMs)]},t)),e.segments.length?(0,$.jsx)(Y,{onClick:()=>D(e),children:n?`查看对应原文`:`View transcript`}):(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n?`暂无可核实的原文定位`:`No verified transcript reference`})]},e.id);return(0,$.jsxs)(`section`,{"aria-label":n?`长录音回顾`:`Recording review`,className:`flex flex-col gap-3`,children:[p?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{role:`alert`,className:`text-sm text-danger`,children:p}),(0,$.jsx)(Y,{onClick:()=>T(e=>e+1),children:n?`刷新结果`:`Refresh results`})]}):null,d&&(!l||v!==i||S!==t)?(0,$.jsx)(Le,{className:`h-20 w-full`}):null,l&&v===i&&(!t||S===t)?(0,$.jsxs)($.Fragment,{children:[t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`h3`,{className:`text-sm font-medium`,children:n?`搜索结果 · ${l.total}`:`Search results · ${l.total}`}),(0,$.jsx)(Y,{onClick:()=>T(e=>e+1),children:n?`刷新结果`:`Refresh results`}),(0,$.jsx)(`div`,{"aria-label":n?`命中位置`:`Match positions`,className:`relative my-3 h-5 rounded bg-surface-inset`,children:l.hits.filter(e=>e.startedAtMs!==void 0).map(e=>(0,$.jsx)(`button`,{className:`absolute top-0 h-5 w-1.5 rounded bg-accent`,style:{left:`${Math.min(99,100*e.startedAtMs/Math.max(1,l.coverage.durationMs))}%`},"aria-label":`${kt(e.startedAtMs)} ${e.title||O(e)}`,onClick:()=>D(e)},e.id))}),l.total?null:(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n?`未找到关键词;尚未转写的内容无法搜索。`:`No matches. Untranscribed audio is not searchable yet.`}),l.hits.map(k)]}):(0,$.jsxs)($.Fragment,{children:[o===`summary`&&l.chapters.length?(0,$.jsxs)(`details`,{className:`rounded-xl bg-surface-inset px-4`,children:[(0,$.jsxs)(`summary`,{className:`min-h-11 cursor-pointer py-3 text-sm font-medium focus-visible:ring-2 focus-visible:ring-accent`,children:[n?`章节目录`:`Chapters`,` · `,l.chapters.length]}),(0,$.jsx)(`div`,{className:`space-y-3 pb-4`,children:l.chapters.map(k)})]}):null,l.hits.length?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`h3`,{className:`text-sm font-medium`,children:n?`本轮已完成转写(阶段性)`:`Available transcription from this run`}),l.hits.map(k)]}):null]}),l.hasMore?(0,$.jsx)(Y,{disabled:h,onClick:()=>void E(),children:n?`加载更多结果`:`More results`}):null,(0,$.jsxs)(`details`,{className:`rounded-lg text-xs text-fg-muted`,children:[(0,$.jsx)(`summary`,{className:`min-h-11 cursor-pointer py-3 focus-visible:ring-2 focus-visible:ring-accent`,children:n?`处理范围`:`Processing coverage`}),(0,$.jsxs)(`div`,{role:`status`,className:`space-y-2 pb-3 leading-5`,children:[(0,$.jsxs)(`p`,{children:[n?`原音`:`Audio`,` · `,l.coverage.audioAvailable?n?`已保存,可回听`:`Saved, ready to play`:n?`尚不可用`:`Unavailable`]}),(0,$.jsxs)(`p`,{children:[n?`本轮转写已处理`:`Processed this run`,` `,kt(l.coverage.processedMs),` / `,kt(l.coverage.durationMs),` · `,n?`连续处理至`:`Continuous through`,` `,kt(l.coverage.continuousThroughMs)]}),(0,$.jsxs)(`p`,{children:[n?`分析覆盖`:`Analysis coverage`,` · `,l.coverage.analysisRanges.length?l.coverage.analysisRanges.map(e=>`${kt(e.startedAtMs)}–${kt(e.endedAtMs)}`).join(`、`):n?`暂无本版已完成章节`:`No completed chapters for this revision`,l.coverage.analysisStale?n?`;已发布分析基于旧版原文`:`; published analysis uses an earlier transcript`:``,` · `,l.coverage.complete?n?`本轮处理完成`:`Run complete`:n?`阶段性内容,其余仍待处理`:`Partial content; remaining work pending`]})]})]}),b?.provisional?(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n?`以上是本轮已保存的阶段性原文;正式发布后才能校对和标记具体段落。`:`Saved partial text; segment editing and highlighting become available after publication.`}):null]}):null]})}function jt({recordingId:e,discussionId:t,zh:n,onEvidence:r,onPlay:i}){let{data:a=[],mutate:o}=Ie(`/api/discussions/${t}/annotations`,e=>Pe(J(e))),[s,c]=(0,Q.useState)([]),[l,u]=(0,Q.useState)(null),[d,f]=(0,Q.useState)(null),[_,v]=(0,Q.useState)(``),y=(0,Q.useCallback)(async()=>{c(await h(e))},[e]),b=(0,Q.useCallback)(async()=>{try{await g(e,t),await y(),await o()}catch(e){await o(),v(e instanceof Error?e.message:String(e))}},[e,t,y,o]);(0,Q.useEffect)(()=>{y().catch(e=>v(String(e))),b();let e=()=>{y().catch(e=>v(String(e)))};window.addEventListener(`discussion-annotations-changed`,e),window.addEventListener(`online`,b);let t=window.setInterval(()=>{navigator.onLine&&b()},15e3);return()=>{window.removeEventListener(`discussion-annotations-changed`,e),window.removeEventListener(`online`,b),window.clearInterval(t)}},[y,b]);let x=new Map(a.map(e=>[e.annotation.id,{...e,localState:`synced`}]));for(let e of s)if(e.state!==`synced`||!x.has(e.annotation.id)){let t=x.get(e.annotation.id);x.set(e.annotation.id,{annotation:e.annotation,state:t?.state??`pending`,playback:t?.playback??[],evidence:t?.evidence,localState:e.state})}let S=async(t,n=s.find(e=>e.annotation.id===t.id)?.nonce??null)=>{try{await m(e,{...t,updatedAt:Date.now()},n),f(null),v(``),await y(),b()}catch(e){v(e instanceof Error?e.message:String(e))}};return(0,$.jsxs)(`section`,{className:`space-y-4`,"aria-label":n?`我的标记`:`My highlights`,children:[_?(0,$.jsxs)(`p`,{role:`alert`,className:`text-sm text-danger`,children:[_,(0,$.jsx)(Y,{onClick:()=>void b(),children:n?`重试同步`:`Retry sync`})]}):null,x.size?null:(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n?`录音时标重点,或在原文中标记整段。标记先保存在本机。`:`Highlight while recording or mark a transcript segment. Highlights save locally first.`}),[...x.values()].sort((e,t)=>e.annotation.anchor.capturedAt-t.annotation.anchor.capturedAt).filter(e=>!e.annotation.deleted||e.localState===`conflict`).map(e=>(0,$.jsxs)(`article`,{className:`space-y-2 rounded-lg border border-edge p-3`,children:[(0,$.jsxs)(`p`,{className:`text-xs text-fg-muted`,children:[e.annotation.kind===`highlight`?n?`重点`:`Highlight`:e.annotation.kind===`question`?n?`问题`:`Question`:n?`我的补充`:`My note`,` · `,new Date(e.annotation.anchor.capturedAt).toLocaleString(),` · `,e.localState===`synced`?n?`已同步`:`Synced`:e.localState===`conflict`?n?`同步冲突,保留了本机修改`:`Conflict; local edits retained`:n?`本机已保存,待同步`:`Saved locally; sync pending`]}),e.evidence?.segments.map(e=>(0,$.jsx)(`blockquote`,{className:`text-sm`,children:e.text},e.sequence)),e.positionMs===void 0?null:(0,$.jsxs)(`p`,{className:`text-xs text-fg-muted`,children:[n?`标记位置`:`Marked position`,` · `,Math.floor(e.positionMs/6e4),`:`,String(Math.floor(e.positionMs/1e3)%60).padStart(2,`0`)]}),e.annotation.text?(0,$.jsxs)(`p`,{className:`whitespace-pre-wrap text-sm`,children:[n?`我的说明:`:`My context: `,e.annotation.text]}):null,(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsx)(Y,{disabled:!e.evidence,onClick:()=>e.evidence&&r(e.evidence),children:n?`查看原文`:`View transcript`}),e.playback.map((e,t)=>(0,$.jsxs)(Y,{onClick:()=>i(e),children:[n?`回听`:`Play`,` `,Math.floor(e.startedAtMs/6e4),`:`,String(Math.floor(e.startedAtMs/1e3)%60).padStart(2,`0`)]},t)),(0,$.jsx)(Y,{onClick:()=>{u(s.find(t=>t.annotation.id===e.annotation.id)?.nonce??null),f({...e.annotation,revision:a.find(t=>t.annotation.id===e.annotation.id)?.annotation.revision??e.annotation.revision})},children:e.localState===`conflict`?n?`合并修改`:`Merge changes`:n?`添加说明/类型`:`Edit context/type`}),(0,$.jsx)(Y,{onClick:()=>void S({...e.annotation,deleted:!0}),children:n?`移除标记`:`Remove`})]}),e.state===`located`&&!e.evidence?(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n?`该位置原文尚未生成,可先回听原音。`:`Transcript for this position is pending; audio is usable.`}):null,e.state===`unavailable`?(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n?`该位置原音未保存、已删除或时间尚无法核实;保留原始标记,不自动移动。`:`Audio at this position is missing, deleted or unverified. The original anchor has been retained.`}):e.state===`pending`?(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n?`等待原音/原文完成定位`:`Awaiting audio/transcript positioning`}):null,e.localState===`conflict`?(0,$.jsx)(Y,{onClick:()=>{let t=s.find(t=>t.annotation.id===e.annotation.id),n=a.find(t=>t.annotation.id===e.annotation.id);t&&n&&p(t,n.annotation).then(y)},children:n?`使用服务端版本`:`Use server version`}):null]},e.annotation.id)),d?(0,$.jsxs)(`div`,{role:`dialog`,"aria-label":n?`编辑标记`:`Edit highlight`,className:`rounded-lg border border-edge p-3`,children:[(0,$.jsxs)(N,{value:d.kind,"aria-label":n?`标记类型`:`Highlight type`,onChange:e=>f({...d,kind:e.target.value}),children:[(0,$.jsx)(P,{value:`highlight`,children:n?`重点`:`Highlight`}),(0,$.jsx)(P,{value:`question`,children:n?`问题`:`Question`}),(0,$.jsx)(P,{value:`note`,children:n?`补充`:`Context`})]}),(0,$.jsx)(`textarea`,{"aria-label":n?`我的说明`:`My context`,maxLength:4e3,value:d.text,onChange:e=>f({...d,text:e.target.value}),className:`my-2 min-h-24 w-full rounded border border-edge bg-surface-inset p-2`}),(0,$.jsx)(Y,{onClick:()=>void S(d,l),children:n?`保存到本机并同步`:`Save locally and sync`}),(0,$.jsx)(Y,{onClick:()=>f(null),children:n?`取消`:`Cancel`})]}):null]})}var Mt={tab:`summary`,query:``,page:1,positionMs:0},Nt=Fe((e,t)=>({notes:{},update:(n,r)=>{let i={...Ft(n,t().notes[n]),...r};e(e=>({notes:{...e.notes,[n]:i}}));try{localStorage.setItem(`discussion-review:${n}`,JSON.stringify(i))}catch{}}})),Pt=new Map;function Ft(e,t){if(t)return t;if(Pt.has(e))return Pt.get(e);let n=Mt;try{let t=JSON.parse(localStorage.getItem(`discussion-review:${e}`)??`null`);t&&[`summary`,`transcript`,`marks`].includes(t.tab)&&typeof t.query==`string`&&Number.isSafeInteger(t.page)&&t.page>0&&t.page<=1e4&&Number.isFinite(t.positionMs)&&t.positionMs>=0&&(n={...Mt,...t})}catch{}return Pt.set(e,n),n}function It(e){let t=(0,gt.c)(51),{initial:n,zh:r,busy:i,onClose:a,onSave:o}=e,[s,c]=(0,Q.useState)(n),l;t[0]!==i||t[1]!==a?(l=e=>{!e&&!i&&a()},t[0]=i,t[1]=a,t[2]=l):l=t[2];let u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Re,{className:`xopc-dialog-overlay fixed inset-0 z-[70] bg-scrim backdrop-blur-[2px]`}),t[3]=u):u=t[3];let d=r?`编辑纪要内容`:`Edit meeting content`,f;t[4]===d?f=t[5]:(f=(0,$.jsx)(`header`,{className:`border-b border-edge p-4`,children:(0,$.jsx)(Ve,{children:d})}),t[4]=d,t[5]=f);let p=r?`人工修改会保留,重新整理不会覆盖。已创建任务保持不变。`:`Your changes survive regeneration. Existing tasks remain unchanged.`,m;t[6]===p?m=t[7]:(m=(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:p}),t[6]=p,t[7]=m);let h=r?`内容`:`Content`,g;t[8]===s?g=t[9]:(g=e=>c({...s,text:e.target.value}),t[8]=s,t[9]=g);let _;t[10]!==s.text||t[11]!==g?(_=(0,$.jsx)(`textarea`,{className:`mt-1 min-h-32 w-full rounded border border-edge bg-transparent p-2`,value:s.text,onChange:g}),t[10]=s.text,t[11]=g,t[12]=_):_=t[12];let v;t[13]!==h||t[14]!==_?(v=(0,$.jsxs)(`label`,{className:`block text-sm`,children:[h,_]}),t[13]=h,t[14]=_,t[15]=v):v=t[15];let y;t[16]!==s||t[17]!==r?(y=s.kind===`actionItems`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`label`,{className:`block text-sm`,children:[r?`负责人原话`:`Owner as stated`,(0,$.jsx)(`input`,{className:`mt-1 w-full rounded border border-edge bg-transparent p-2`,value:s.owner??``,onChange:e=>c({...s,owner:e.target.value})})]}),(0,$.jsxs)(`label`,{className:`block text-sm`,children:[r?`期限原话`:`Date as stated`,(0,$.jsx)(`input`,{className:`mt-1 w-full rounded border border-edge bg-transparent p-2`,value:s.dueDate??``,onChange:e=>c({...s,dueDate:e.target.value})})]})]}):null,t[16]=s,t[17]=r,t[18]=y):y=t[18];let b;t[19]!==s||t[20]!==r?(b=s.kind===`summary`?null:(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:!!s.ignored,onChange:e=>c({...s,ignored:e.target.checked})}),r?`忽略此项`:`Ignore this item`]}),t[19]=s,t[20]=r,t[21]=b):b=t[21];let x;t[22]!==v||t[23]!==y||t[24]!==b||t[25]!==m?(x=(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto p-4`,children:[m,v,y,b]}),t[22]=v,t[23]=y,t[24]=b,t[25]=m,t[26]=x):x=t[26];let S=r?`取消`:`Cancel`,C;t[27]!==i||t[28]!==a||t[29]!==S?(C=(0,$.jsx)(Y,{disabled:i,onClick:a,children:S}),t[27]=i,t[28]=a,t[29]=S,t[30]=C):C=t[30];let w;t[31]!==i||t[32]!==s.text?(w=i||!s.text.trim(),t[31]=i,t[32]=s.text,t[33]=w):w=t[33];let T;t[34]!==s||t[35]!==o?(T=()=>void o(s),t[34]=s,t[35]=o,t[36]=T):T=t[36];let E=r?`保存修改`:`Save changes`,D;t[37]!==w||t[38]!==T||t[39]!==E?(D=(0,$.jsx)(Y,{variant:`primary`,disabled:w,onClick:T,children:E}),t[37]=w,t[38]=T,t[39]=E,t[40]=D):D=t[40];let O;t[41]!==C||t[42]!==D?(O=(0,$.jsxs)(`footer`,{className:`flex justify-end gap-2 border-t border-edge p-3`,children:[C,D]}),t[41]=C,t[42]=D,t[43]=O):O=t[43];let k;t[44]!==x||t[45]!==O||t[46]!==f?(k=(0,$.jsxs)(X,{children:[u,(0,$.jsxs)(Z,{"aria-describedby":void 0,className:`xopc-dialog-content fixed left-1/2 top-1/2 z-[71] flex h-[min(32rem,90dvh)] w-[min(36rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-overlay`,children:[f,x,O]})]}),t[44]=x,t[45]=O,t[46]=f,t[47]=k):k=t[47];let A;return t[48]!==l||t[49]!==k?(A=(0,$.jsx)(He,{open:!0,onOpenChange:l,children:k}),t[48]=l,t[49]=k,t[50]=A):A=t[50],A}function Lt(e,t,n){if(t===`summary`){let r=e.organization;if(!r)return``;let i=r.organization;if(!i)return``;let a=e=>e.filter(e=>n.showIgnored||!e.ignored);return JSON.stringify({discussionId:e.discussion.id,view:t,revision:r.revision,transcriptRevision:r.transcriptRevision,summary:i.summary,decisions:a(i.decisions),actionItems:a(i.actionItems),risks:a(i.risks),openQuestions:a(i.openQuestions),chapters:i.chapters},null,2)}let r=n.query.toLocaleLowerCase(),i=e.transcript.segments.filter(e=>(e.displayText??e.rawText??``).toLocaleLowerCase().includes(r)||e.speakerLabel?.toLocaleLowerCase().includes(r)).slice(0,n.page*50);return i.length?JSON.stringify({discussionId:e.discussion.id,view:t,revision:e.transcript.revision,scope:`loaded filtered segments only`,segments:i.map(e=>({sequence:e.sequence,startedAtMs:e.startedAtMs,speaker:e.speakerLabel,text:e.displayText??e.rawText??``}))},null,2):``}var Rt=e=>`${String(Math.floor(e/6e4)).padStart(2,`0`)}:${String(Math.floor(e/1e3)%60).padStart(2,`0`)}`;function zt({noteId:e,onPersonalNotes:t,noteActions:n}){let r=a(),i=Ne(e=>e.language)===`zh`,{data:s,mutate:c,isLoading:p}=Ie([`note-discussion-document`,e],()=>u(e),{refreshInterval:e=>e&&([`recording`,`stopping`,`sealing`,`organizing`].includes(e.discussion.status)||e.recordingJob?.state===`queued`||e.recordingJob?.state===`running`)?3e3:0}),h=s?.discussion.id,_=`/api/discussions/${encodeURIComponent(h??``)}`,{data:y=[],mutate:b}=Ie(h?`${_}/actions`:null,e=>Pe(J(e)),{refreshInterval:1e4}),x=Nt(t=>Ft(e,t.notes[e])),S=Nt(e=>e.update),C=x.tab,w=t=>S(e,{tab:t}),T=x.query,E=t=>S(e,{query:t}),[D,O]=(0,Q.useState)(!1),k=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{D&&k.current?.focus()},[D]);let[A,M]=(0,Q.useState)(`general`),[N,P]=(0,Q.useState)(null),[F,I]=(0,Q.useState)(null),[L,ee]=(0,Q.useState)(null),[te,ne]=(0,Q.useState)(!1),[R,re]=(0,Q.useState)([]),[ie,ae]=(0,Q.useState)(null),[z,oe]=(0,Q.useState)(!1),se=x.page,B=t=>S(e,{page:t}),ce=(0,Q.useRef)(null),[le,ue]=(0,Q.useState)([]),de=(0,Q.useRef)(0),fe=(0,Q.useRef)(0),pe=(0,Q.useRef)(s?.transcript.revision);pe.current=s?.transcript.revision;let V=(0,Q.useRef)(null),me=(0,Q.useRef)(null),[,H]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{let e=()=>{c(),b()};return window.addEventListener(`discussion-updated`,e),window.addEventListener(`discussion-segment-updated`,e),()=>{window.removeEventListener(`discussion-updated`,e),window.removeEventListener(`discussion-segment-updated`,e)}},[c,b]),(0,Q.useEffect)(()=>{s?.discussion.template&&M(s.discussion.template)},[s?.discussion.template]);async function U(e){if(!z){oe(!0),ae(null);try{await e(),await c(),await b()}catch(e){ae(e instanceof Error?e.message:String(e))}finally{oe(!1)}}}function he(e,t){V.current&&(ce.current=t??null,V.current.readyState===0?(me.current=e/1e3,V.current.load()):(V.current.currentTime=e/1e3,V.current.play().catch(()=>void 0)))}function ge(e){let t=e.stale||e.transcriptRevision!==pe.current;P({...e,stale:t}),t||ue(e.segments.map(e=>e.sequence))}async function _e(e,t,n=!1){if(!s)return;let r=de.current,i=++fe.current;await U(async()=>{let a=await Pe(J(`${_}/evidence?revision=${t??s.organization?.transcriptRevision??s.transcript.revision}&segments=${e.join(`,`)}`));if(!(r!==de.current||i!==fe.current)&&(ge(a),n&&a.segments[0]?.playback[0])){let e=a.segments[0].playback[0];he(e.startedAtMs,e.endedAtMs)}})}async function ve(e){s&&await U(async()=>{await m(s.discussion.clientRequestId,f({type:`transcript`,capturedAt:Date.now(),transcriptRevision:s.transcript.revision,segmentIds:[e.sequence]})),w(`marks`),g(s.discussion.clientRequestId,s.discussion.id).catch(e=>ae(String(e)))})}(0,Q.useEffect)(()=>(de.current++,P(null),ue([]),I(null),ee(null),re([]),ae(null),ce.current=null,()=>{de.current++}),[e]),(0,Q.useEffect)(()=>{let t=s?.discussion.audioSha256??s?.discussion.audioAttachmentId;if(!t)return;let n=Ft(e,Nt.getState().notes[e]);n.source&&n.source!==t?(de.current++,P(null),ue([]),V.current?.pause(),S(e,{positionMs:0,source:t}),me.current=0,ce.current=null):S(e,{source:t})},[e,s?.discussion.audioSha256,s?.discussion.audioAttachmentId,S]),(0,Q.useEffect)(()=>{s?.discussion.audioDeletedAt&&(V.current?.pause(),me.current=null,ce.current=null,P(e=>e?{...e,audioAvailable:!1,timingVerified:!1,segments:e.segments.map(e=>({...e,playback:[]}))}:null))},[s?.discussion.audioDeletedAt]),(0,Q.useEffect)(()=>{x.tab===`transcript`&&x.anchor!==void 0&&x.anchorRevision===s?.transcript.revision&&window.setTimeout(()=>document.getElementById(`discussion-segment-${x.anchor}`)?.scrollIntoView?.({block:`center`}),0)},[x.tab,x.anchor,x.anchorRevision,s?.transcript.revision]),(0,Q.useEffect)(()=>{ue([]),P(e=>e&&e.transcriptRevision!==s?.transcript.revision?{...e,stale:!0}:e)},[s?.transcript.revision]);let ye=(e,t,n)=>t.some(e=>te||!e.ignored)?(0,$.jsxs)(`section`,{className:`space-y-2`,children:[(0,$.jsx)(`h3`,{className:`font-semibold text-fg`,children:e}),t.filter(e=>te||!e.ignored).map(e=>(0,$.jsxs)(`div`,{className:`flex items-start gap-3 text-sm`,children:[(0,$.jsxs)(`p`,{className:`flex-1 whitespace-pre-wrap`,children:[e.text,e.supersededBy||e.disputedBy?(0,$.jsx)(`span`,{className:`ml-2 text-xs text-fg-muted`,children:i?`有后续变更`:`Later changes`}):null,e.editedByUser?(0,$.jsx)(`span`,{className:`ml-2 text-xs text-fg-muted`,children:i?e.ignored?`已忽略`:`人工编辑`:e.ignored?`Ignored`:`Edited`}):null]}),(0,$.jsx)(`button`,{className:`text-xs text-fg-muted`,disabled:z,onClick:()=>ee({kind:n,itemId:e.id,text:e.text,ignored:e.ignored}),children:i?`编辑`:`Edit`}),e.evidenceSegmentIds.length?(0,$.jsx)(`button`,{disabled:z,className:`shrink-0 text-accent-fg`,onClick:()=>void _e(e.evidenceSegmentIds,e.evidenceRevision),children:i?`原话`:`Source`}):(0,$.jsx)(`span`,{className:`text-xs text-fg-muted`,children:i?`暂无定位`:`No source timing`})]},e.id))]}):null;if(p)return(0,$.jsx)(Le,{className:`h-48 w-full`});if(!s)return null;let{discussion:W,transcript:G,organization:xe}=s,K=xe?.organization,Ce=[`stopping`,`sealing`,`organizing`].includes(W.status),Te=[`recording`,`completed`,`needs_attention`].includes(W.status),De=G.segments.filter(e=>(e.displayText??e.rawText??``).toLocaleLowerCase().includes(T.toLocaleLowerCase())||e.speakerLabel?.toLocaleLowerCase().includes(T.toLocaleLowerCase())),Oe=C===`marks`||T.trim()?``:Lt(s,C,{query:T,page:se,showIgnored:te});return(0,$.jsxs)(`section`,{className:`relative flex h-full min-h-0 w-full flex-col text-fg`,onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&e.key===`f`&&(e.preventDefault(),O(!0))},children:[(0,$.jsxs)(`header`,{className:`flex shrink-0 items-start gap-3 px-5 pb-3 pt-5 sm:px-7`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`h2`,{className:`text-xl font-semibold leading-snug tracking-tight`,children:!s.note.title||/^Discussion · \d{4}-\d{2}-\d{2} \d{2}:\d{2}$/.test(s.note.title)?i?`语音笔记`:`Voice note`:s.note.title}),(0,$.jsxs)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:[i?`录音`:`Recording`,` · `,Rt(W.durationMs??0)]})]}),(0,$.jsx)(`button`,{type:`button`,"aria-label":i?`搜索此 Note`:`Search this Note`,"aria-expanded":D||!!T,onClick:()=>{O(e=>!e),D&&E(``)},className:`inline-flex size-11 shrink-0 items-center justify-center rounded-full text-fg-muted hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:(0,$.jsx)(we,{className:`size-5`,"aria-hidden":!0})}),(0,$.jsx)(Ot,{noteActions:n,detail:s,template:A,onTemplate:M,zh:i,busy:z,processing:Ce,pageText:Oe,editing:!!L||!!F,onPersonalNotes:t,onOrganize:()=>void U(()=>Pe(J(`${_}/organize`),{method:`POST`,body:JSON.stringify({template:A})})),onRegenerate:()=>void U(()=>d(W.id,`from_audio`))})]}),(0,$.jsx)(Qe,{as:`nav`,"aria-label":i?`笔记内容`:`Note content`,className:`mx-5 mb-2 flex shrink-0 gap-1 rounded-xl bg-surface-inset p-1 sm:mx-7`,indicatorClassName:`rounded-lg bg-surface-panel shadow-sm`,children:[`summary`,`transcript`,`marks`].map(e=>(0,$.jsx)(`button`,{"aria-pressed":C===e,className:`min-h-11 min-w-0 flex-1 rounded-lg px-2 text-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent ${C===e?`bg-surface-panel font-medium text-fg shadow-sm`:`text-fg-muted hover:text-fg`}`,onClick:()=>w(e),children:e===`summary`?i?`概览`:`Overview`:e===`marks`?i?`标记`:`Highlights`:i?`原文`:`Transcript`},e))}),ie?(0,$.jsxs)(`details`,{role:`alert`,className:`px-4 py-2 text-sm text-danger`,children:[(0,$.jsx)(`summary`,{children:i?`操作未完成,可以稍后重试`:`Action incomplete. Try again later`}),(0,$.jsx)(`p`,{className:`mt-2 break-words text-xs text-fg-muted`,children:ie})]}):null,D||T?(0,$.jsxs)(`label`,{className:`mx-5 mb-2 flex shrink-0 items-center gap-2 rounded-xl bg-surface-inset px-3 sm:mx-7`,children:[(0,$.jsx)(we,{className:`size-4 text-fg-muted`}),(0,$.jsx)(`input`,{ref:k,"aria-label":i?`搜索此 Note`:`Search this Note`,className:`min-h-11 min-w-0 w-full bg-transparent text-sm outline-none`,maxLength:200,placeholder:i?`搜索这篇笔记`:`Search this note`,value:T,onChange:e=>{E(e.target.value),B(1)}}),(0,$.jsx)(`button`,{className:`inline-flex size-11 shrink-0 items-center justify-center rounded-lg focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":i?`关闭搜索`:`Close search`,onClick:()=>{E(``),O(!1)},children:(0,$.jsx)(ke,{className:`size-4`})})]}):null,(0,$.jsxs)(`main`,{className:`flex min-h-0 flex-1 flex-col gap-5 overflow-y-auto px-5 pb-6 pt-1 sm:px-7`,children:[W.status!==`recording`||s.recordingJob?(0,$.jsx)(l,{context:`note`,input:v(s),zh:i,busy:z,onRetry:e=>void U(()=>e===`analyze`?Pe(J(`${_}/organize`),{method:`POST`,body:JSON.stringify({template:A})}):d(W.id,e===`regenerate`?`from_audio`:`resume`))}):null,(0,$.jsx)(`div`,{hidden:!!T.trim(),children:C===`marks`?(0,$.jsx)(jt,{recordingId:W.clientRequestId,discussionId:W.id,zh:i,onEvidence:ge,onPlay:e=>he(e.startedAtMs,e.endedAtMs)},W.id):C===`summary`?K?(0,$.jsxs)(`div`,{className:`mx-auto max-w-3xl space-y-6`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`h3`,{className:`text-base font-medium`,children:i?`摘要`:`Summary`}),(0,$.jsx)(`button`,{className:`inline-flex size-11 shrink-0 items-center justify-center rounded-full text-fg-muted hover:bg-surface-hover focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":i?`编辑概要`:`Edit overview`,title:i?`编辑概要`:`Edit overview`,disabled:z||Ce,onClick:()=>ee({kind:`summary`,itemId:`summary`,text:K.summary}),children:(0,$.jsx)(Ee,{className:`size-4`,"aria-hidden":!0})})]}),(0,$.jsx)(`p`,{className:`whitespace-pre-wrap text-[15px] leading-7`,children:K.summary}),K.summaryEditedByUser?(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i?`已由你编辑`:`Edited by you`}):null,K.summaryEvidenceSegmentIds?.length?Array.from({length:Math.ceil(K.summaryEvidenceSegmentIds.length/100)},(e,t)=>(0,$.jsxs)(Y,{onClick:()=>void _e(K.summaryEvidenceSegmentIds.slice(t*100,(t+1)*100)),children:[i?`查看原话`:`View source`,K.summaryEvidenceSegmentIds.length>100?` · ${t+1}`:``]},t)):null,K.keyPointEvidence?.length?(0,$.jsxs)(`section`,{className:`space-y-2`,children:[(0,$.jsx)(`h3`,{children:i?`重点结论`:`Key points`}),K.keyPointEvidence.map(e=>(0,$.jsxs)(`div`,{className:`flex gap-2 text-sm`,children:[(0,$.jsx)(`p`,{className:`flex-1`,children:e.text}),(0,$.jsx)(Y,{onClick:()=>void _e(e.evidenceSegmentIds,e.evidenceRevision),children:i?`原话`:`Source`})]},e.id))]}):K.keyPoints.length?(0,$.jsxs)(`section`,{className:`space-y-3`,children:[(0,$.jsx)(`h3`,{className:`text-base font-medium`,children:i?`重点结论`:`Key points`}),(0,$.jsx)(`ul`,{className:`list-disc space-y-2 pl-5 text-[15px] leading-7`,children:K.keyPoints.map((e,t)=>(0,$.jsx)(`li`,{children:e},`${t}:${e}`))})]}):null,[...K.decisions,...K.actionItems,...K.risks,...K.openQuestions].some(e=>e.ignored)?(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-fg-muted`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:te,onChange:e=>ne(e.target.checked)}),i?`显示已忽略项`:`Show ignored items`]}):null,R.length?(0,$.jsx)(Y,{disabled:z,onClick:()=>void U(async()=>{for(let e of R)await Pe(J(`${_}/actions/${encodeURIComponent(e)}/convert`),{method:`POST`,body:JSON.stringify({organizationRevision:xe.revision})});re([])}),children:i?`加入所选 ${R.length} 项任务`:`Add ${R.length} selected tasks`}):null,ye(i?`已决定事项`:`Decisions`,K.decisions,`decisions`),K.actionItems.length?(0,$.jsxs)(`section`,{className:`space-y-3`,children:[(0,$.jsx)(`h3`,{className:`font-semibold`,children:i?`下一步行动`:`Next actions`}),K.actionItems.filter(e=>te||!e.ignored).map(e=>{let t=y.find(t=>t.actionId===e.id);return(0,$.jsxs)(`article`,{className:`rounded-lg border border-edge-subtle p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[!t&&!e.ignored&&(!(e.supersededBy||e.disputedBy)||e.reviewedChangeId===(e.supersededBy??e.disputedBy))?(0,$.jsx)(`input`,{type:`checkbox`,"aria-label":`${i?`选择行动`:`Select action`}: ${e.title}`,className:`ui-checkbox`,checked:R.includes(e.id),onChange:t=>re(t.target.checked?[...R,e.id]:R.filter(t=>t!==e.id))}):null,(0,$.jsxs)(`p`,{className:`flex-1 text-sm font-medium`,children:[e.title,e.supersededBy||e.disputedBy?(0,$.jsx)(`span`,{className:`ml-2 text-xs text-fg-muted`,children:i?`有后续变更,请复核`:`Review later changes`}):null,e.editedByUser?(0,$.jsx)(`span`,{className:`ml-2 text-xs text-fg-muted`,children:i?e.ignored?`已忽略`:`人工编辑`:e.ignored?`Ignored`:`Edited`}):null]}),(0,$.jsx)(`button`,{className:`text-xs text-fg-muted`,disabled:z||Ce,onClick:()=>ee({kind:`actionItems`,itemId:e.id,text:e.title,owner:e.owner,dueDate:e.dueDate,ignored:e.ignored}),children:i?`编辑`:`Edit`})]}),(0,$.jsxs)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:[e.owner??(i?`负责人未明确`:`Owner unspecified`),` · `,e.dueDate??(i?`期限未明确`:`Date unspecified`)]}),(0,$.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-3 text-xs`,children:[e.evidenceSegmentIds.length?(0,$.jsx)(`button`,{disabled:z,className:`text-accent-fg`,onClick:()=>void _e(e.evidenceSegmentIds,e.evidenceRevision),children:i?`查看原话`:`Source`}):null,t?t.deleted?(0,$.jsx)(`span`,{children:i?`关联任务已删除`:`Linked task deleted`}):(0,$.jsx)(o,{className:`text-accent-fg`,to:be(`${r.pathname}${r.search}`,t.taskId),children:t.resolution===`done`?i?`已完成 · 查看任务`:`Done · View task`:i?`查看任务 / 交给助手`:`View task / Delegate`}):e.ignored?null:(0,$.jsx)(Y,{disabled:z||!!(e.supersededBy||e.disputedBy)&&e.reviewedChangeId!==(e.supersededBy??e.disputedBy),onClick:()=>void U(()=>Pe(J(`${_}/actions/${encodeURIComponent(e.id)}/convert`),{method:`POST`,body:JSON.stringify({organizationRevision:xe.revision})})),children:i?`加入我的任务`:`Add to my tasks`})]})]},e.id)})]}):null,ye(i?`风险`:`Risks`,K.risks,`risks`),ye(i?`尚未确定`:`Open questions`,K.openQuestions,`openQuestions`),K.changes?.length?(0,$.jsxs)(`section`,{className:`space-y-3`,children:[(0,$.jsx)(`h3`,{className:`font-semibold`,children:i?`前后变更`:`Changes during the meeting`}),K.changes.map(e=>{let t=[...K.decisions,...K.actionItems,...K.risks,...K.openQuestions],n=t.find(t=>t.id===e.fromId),r=t.find(t=>t.id===e.toId);return!n||!r?null:(0,$.jsxs)(`article`,{className:`space-y-2 rounded border border-edge p-3 text-sm`,children:[(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:e.relation===`supersedes`?i?`后续撤销或替代`:`Later superseded`:i?`存在冲突,尚未明确解决`:`Unresolved conflict`}),(0,$.jsx)(`button`,{className:`block text-left text-accent-fg`,onClick:()=>void _e(n.evidenceSegmentIds,n.evidenceRevision),children:`title`in n?n.title:n.text}),(0,$.jsx)(`span`,{children:`↓`}),(0,$.jsx)(`button`,{className:`block text-left text-accent-fg`,onClick:()=>void _e(r.evidenceSegmentIds,r.evidenceRevision),children:`title`in r?r.title:r.text})]},`${e.fromId}:${e.toId}`)})]}):null]}):(0,$.jsxs)(`div`,{className:`mx-auto max-w-3xl space-y-4 py-3`,children:[(0,$.jsx)(`h3`,{className:`text-base font-medium`,children:G.text?i?`录音摘录`:`From your recording`:i?`笔记正在整理`:`Preparing your note`}),(0,$.jsx)(`p`,{className:`whitespace-pre-wrap text-[15px] leading-7 ${G.text?`text-fg`:`text-fg-muted`}`,children:G.text?G.text.slice(0,400)+(G.text.length>400?`…`:``):i?`文字整理完成后,重点和行动会出现在这里。`:`Highlights and actions will appear as processing completes.`}),G.text?(0,$.jsx)(Y,{className:`min-h-11`,onClick:()=>w(`transcript`),children:i?`查看原文`:`Read transcript`}):null]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[De.slice(0,se*50).map(e=>(0,$.jsxs)(`article`,{id:`discussion-segment-${e.sequence}`,className:`rounded-md border p-3 ${le.includes(e.sequence)||x.anchor===e.sequence&&x.anchorRevision===G.revision?`border-accent`:`border-edge-subtle`}`,children:[(0,$.jsxs)(`div`,{className:`mb-2 flex items-center gap-3 text-xs text-fg-muted`,children:[(0,$.jsxs)(`button`,{className:`inline-flex items-center gap-1 text-accent-fg`,disabled:!W.audioAttachmentId||!!W.audioDeletedAt,onClick:()=>void _e([e.sequence],G.revision,!0),children:[(0,$.jsx)(Se,{className:`size-3`}),Rt(e.startedAtMs)]}),e.status===`confirmed`?(0,$.jsx)(`button`,{onClick:()=>void ve(e),children:i?`标记此段`:`Highlight segment`}):null,(0,$.jsx)(`span`,{children:e.speakerLabel??(i?`未区分说话人`:`Speaker unknown`)}),Te&&e.status===`confirmed`?(0,$.jsx)(`button`,{className:`ml-auto`,onClick:()=>I({segment:e,text:e.displayText??e.rawText??``,speaker:e.speakerLabel??``}),children:i?`校对`:`Edit`}):null]}),(0,$.jsx)(`p`,{className:`whitespace-pre-wrap text-sm leading-6`,children:e.displayText??e.rawText??(i?`等待转写`:`Awaiting transcription`)})]},e.sequence)),De.length>se*50?(0,$.jsx)(Y,{onClick:()=>B(se+1),children:i?`加载更多`:`More`}):null]})}),(0,$.jsx)(`div`,{children:(0,$.jsx)(At,{id:W.id,query:T.trim(),zh:i,sourceKey:`${W.audioSha256}:${W.audioDeletedAt}`,active:Ce||W.status===`recording`,tab:C,refreshKey:`${W.updatedAt}:${G.revision}:${xe?.revision}`,onEvidence:ge,onPlay:he},W.id)})]}),W.audioAttachmentId&&!W.audioDeletedAt?(0,$.jsx)(`footer`,{className:`shrink-0 border-t border-edge-subtle p-3`,children:(0,$.jsx)(`audio`,{ref:V,controls:!0,preload:`metadata`,className:`h-10 w-full`,src:J(`${_}/audio`),onTimeUpdate:()=>{let t=(V.current?.currentTime??0)*1e3;H(t),S(e,{positionMs:t}),ce.current!==null&&t>=ce.current&&(V.current?.pause(),ce.current=null)},onLoadedMetadata:()=>{me.current!==null&&V.current?(V.current.currentTime=me.current,me.current=null,V.current.play().catch(()=>void 0)):V.current&&(V.current.currentTime=x.positionMs/1e3)},onError:()=>ae(i?`录音暂不可播放`:`Recording unavailable`)})}):null,N?(0,$.jsxs)(`aside`,{"aria-label":i?`原话证据`:`Source evidence`,className:`absolute inset-y-0 right-0 z-10 flex w-[min(26rem,100%)] flex-col border-l border-edge bg-surface-overlay`,children:[(0,$.jsxs)(`header`,{className:`flex shrink-0 items-center justify-between border-b border-edge p-4`,children:[(0,$.jsxs)(`h3`,{children:[i?`原话证据`:`Source evidence`,` · v`,N.transcriptRevision]}),(0,$.jsx)(`button`,{"aria-label":i?`关闭`:`Close`,onClick:()=>P(null),children:(0,$.jsx)(ke,{className:`size-4`})})]}),(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto p-4`,children:[(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i?`按整段定位,不代表词句级时间。`:`Segment timing; not word-level alignment.`}),N.stale?(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i?`原文已更新,以下保留当时版本的依据。`:`Transcript updated; showing the original evidence revision.`}):null,!N.audioAvailable||!N.timingVerified?(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i?`原文仍可查看;原音不可用或时间定位待核实。`:`Text remains available; audio is missing or timing is unverified.`}):null,N.segments.map(t=>(0,$.jsxs)(`article`,{className:`space-y-2 rounded border border-edge p-3`,children:[(0,$.jsxs)(`p`,{className:`text-xs text-fg-muted`,children:[Rt(t.startedAtMs),`–`,Rt(t.endedAtMs),` · `,t.speakerLabel??(i?`说话人未明确`:`Unknown speaker`)]}),(0,$.jsx)(`p`,{className:`whitespace-pre-wrap text-sm leading-7`,children:t.text}),t.playback.map((e,t)=>(0,$.jsxs)(Y,{onClick:()=>he(e.startedAtMs,e.endedAtMs),children:[i?`播放原话`:`Play source`,` `,Rt(e.startedAtMs),`–`,Rt(e.endedAtMs)]},t)),N.stale?null:(0,$.jsx)(Y,{onClick:()=>{E(``),B(Math.max(se,Math.ceil((G.segments.findIndex(e=>e.sequence===t.sequence)+1)/50))),w(`transcript`),ue([t.sequence]),P(null),S(e,{anchor:t.sequence,anchorRevision:G.revision}),window.setTimeout(()=>document.getElementById(`discussion-segment-${t.sequence}`)?.scrollIntoView?.({block:`center`}),0)},children:i?`定位原文`:`Locate transcript`})]},t.sequence))]})]}):null,L&&xe?(0,$.jsx)(It,{initial:L,zh:i,busy:z,onClose:()=>ee(null),onSave:e=>U(async()=>{await Pe(J(`${_}/summary`),{method:`PATCH`,body:JSON.stringify({...e,expectedRevision:xe.revision})}),ee(null)})},`${L.kind}:${L.itemId}:${xe.revision}`):null,F?(0,$.jsx)(He,{open:!0,onOpenChange:e=>{e||I(null)},children:(0,$.jsxs)(X,{children:[(0,$.jsx)(Re,{className:`xopc-dialog-overlay fixed inset-0 z-[70] bg-scrim backdrop-blur-[2px]`}),(0,$.jsxs)(Z,{"aria-describedby":void 0,className:`xopc-dialog-content fixed left-1/2 top-1/2 z-[71] flex h-[min(28rem,90dvh)] w-[min(36rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-overlay`,children:[(0,$.jsxs)(`header`,{className:`flex items-center justify-between border-b border-edge p-4`,children:[(0,$.jsx)(Ve,{children:i?`校对逐字稿`:`Edit transcript`}),(0,$.jsx)(`button`,{"aria-label":i?`关闭校对`:`Close editor`,onClick:()=>I(null),children:(0,$.jsx)(ke,{className:`size-4`})})]}),(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-3 overflow-y-auto p-4`,children:[(0,$.jsxs)(`label`,{className:`block text-xs`,children:[i?`本段说话人`:`Speaker for this segment`,(0,$.jsx)(`input`,{className:`mt-1 w-full rounded border border-edge bg-surface-inset p-2 text-sm`,value:F.speaker,onChange:e=>I({...F,speaker:e.target.value})})]}),F.segment.speakerLabel?(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:!!F.applyToSpeakerGroup,onChange:e=>I({...F,applyToSpeakerGroup:e.target.checked})}),i?`同时更名所有同标签片段;输入已有标签可合并说话人`:`Rename all segments with this label; use an existing label to merge speakers`]}):null,(0,$.jsx)(`textarea`,{className:`min-h-32 w-full rounded border border-edge bg-surface-inset p-2 text-sm`,value:F.text,onChange:e=>I({...F,text:e.target.value})})]}),(0,$.jsx)(`footer`,{className:`border-t border-edge p-3`,children:(0,$.jsxs)(Y,{variant:`primary`,disabled:z||!F.text.trim(),onClick:()=>void U(async()=>{await Pe(J(`${_}/segments/${F.segment.sequence}`),{method:`PATCH`,body:JSON.stringify({displayText:F.text,speakerLabel:F.speaker,expectedRevision:F.segment.revision,applyToSpeakerGroup:F.applyToSpeakerGroup,expectedTranscriptRevision:G.revision})}),I(null)}),children:[(0,$.jsx)(j,{className:`size-4`}),i?`保存修订`:`Save revision`]})})]})]})}):null]})}var Bt={edit:K,ai_edit:Te,sync:Ce,restore:c};function Vt(e,t){return{edit:t.triggerEdit,ai_edit:t.triggerAiEdit,sync:t.triggerSync,restore:t.triggerRestore}[e]??e}function Ht({noteId:e,activeTimestamp:t,onSelect:n,onClose:r,onRestored:i}){let a=Ne(e=>e.language),o=Ae(a).notes,s={justNow:o.justNow,minutesAgo:o.minutesAgo,today:o.today,yesterday:o.yesterday,daysAgo:o.daysAgo,locale:je(a)},{data:c}=Ie(e?[`note-history`,e]:null,()=>V(e)),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(null),[p,m]=(0,Q.useState)(null),h=(0,Q.useCallback)(async t=>{u(!0),m(null);try{await le(e,t),f(null),i()}catch{m(o.restoreFailed)}finally{u(!1)}},[e,o.restoreSuccess,o.restoreFailed,i]),g=Date.now();return(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-edge px-4 py-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-fg`,children:[(0,$.jsx)(ie,{className:`size-4`,"aria-hidden":!0}),o.history]}),(0,$.jsx)(`button`,{type:`button`,onClick:r,className:`rounded-lg p-1 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg`,children:(0,$.jsx)(ke,{className:`size-4`,"aria-hidden":!0})})]}),(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[p?(0,$.jsx)(`p`,{className:`border-b border-danger/20 bg-danger-soft px-4 py-2 text-xs text-danger`,role:`alert`,children:p}):null,c?.length?(0,$.jsx)(`ul`,{className:`divide-y divide-edge`,children:c.map(e=>{let r=Bt[e.trigger]??K,i=t===e.timestamp,a=d===e.timestamp;return(0,$.jsxs)(`li`,{children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>n(e),className:q(`w-full px-4 py-3 text-left transition-colors`,i?`bg-accent/10`:`hover:bg-surface-hover`),children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(r,{className:`size-3.5 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:Vt(e.trigger,o)}),(0,$.jsx)(`span`,{className:`ml-auto text-xs text-fg-muted`,children:xt(e.timestamp,g,s)})]}),e.snippet&&(0,$.jsx)(`p`,{className:`mt-1 truncate text-xs text-fg-muted/60`,children:e.snippet})]}),i&&(0,$.jsx)(`div`,{className:`border-t border-edge/50 px-4 py-2`,children:a?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate text-xs text-fg-muted`,children:o.restoreConfirm}),(0,$.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),h(e.timestamp)},disabled:l,className:`shrink-0 rounded-lg bg-accent px-3 py-1 text-xs font-medium text-on-accent transition-colors hover:bg-accent/90 disabled:opacity-50`,children:l?`...`:o.restore}),(0,$.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),f(null)},className:`shrink-0 rounded-lg px-2 py-1 text-xs text-fg-muted hover:bg-surface-hover`,children:`Cancel`})]}):(0,$.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),f(e.timestamp)},className:`rounded-lg bg-surface-hover px-3 py-1 text-xs font-medium text-fg transition-colors hover:bg-accent hover:text-on-accent`,children:o.restore})})]},e.timestamp)})}):(0,$.jsxs)(`div`,{className:`px-4 py-8 text-center`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium text-fg-muted`,children:o.historyEmpty}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted/60`,children:o.historyEmptyDescription})]})]})]})}function Ut({noteId:e,note:t,catalyzing:n,onCatalyze:r,onClose:i,noteThreads:a,openingChat:o,onOpenChat:c,onOpenNewChat:l}){let u=Ae(Ne(e=>e.language)).notes,d=s(),f=t?.aiDeep?.catalysis,p=f?.report??null,[m,h]=(0,Q.useState)(null),[g,_]=(0,Q.useState)(!1),{data:v,mutate:b,isLoading:x}=Ie(e?[`note-agent-context-status`,e]:null,()=>H(e),{revalidateOnFocus:!1}),S=(0,Q.useCallback)(async()=>{if(!g){_(!0),h(null);try{await b(()=>W(e),{revalidate:!1})}catch(e){h(`${u.contextRebuildFailed}: ${e instanceof Error?e.message:u.quickCaptureFailedHint}`)}finally{_(!1)}}},[g,b,u.contextRebuildFailed,u.quickCaptureFailedHint,e]),C=(0,Q.useCallback)(async t=>{try{await ce(e,t)}catch{}},[e]);return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-edge-subtle px-4 py-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Te,{className:`size-4 text-accent`,"aria-hidden":!0}),(0,$.jsx)(`span`,{className:`text-sm font-semibold text-fg`,children:u.catalysisSectionTitle})]}),(0,$.jsx)(`button`,{type:`button`,onClick:i,"aria-label":u.lightboxClose,className:`rounded-lg p-1.5 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg`,children:(0,$.jsx)(y,{className:`size-4 rotate-180`,"aria-hidden":!0})})]}),(0,$.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:[(0,$.jsx)(`p`,{className:`mb-4 text-xs leading-relaxed text-fg-muted`,children:u.catalysisSectionDescription}),v?(0,$.jsxs)(`section`,{className:`mb-4 rounded-xl bg-surface-base p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:u.contextStatusTitle}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void S(),disabled:x||g,className:`rounded-md px-1.5 py-0.5 text-[11px] font-medium text-accent transition-colors hover:bg-accent/10 disabled:cursor-not-allowed disabled:opacity-50`,children:g?u.processing:u.contextRebuild}),(0,$.jsx)(`span`,{className:q(`rounded-full px-2 py-0.5 text-[11px] font-medium`,v.status===`ready`?`bg-emerald-500/10 text-emerald-600 dark:text-emerald-300`:v.status===`partial`?`bg-amber-500/10 text-amber-600 dark:text-amber-300`:`bg-red-500/10 text-red-600 dark:text-red-300`),children:v.status})]}),(0,$.jsx)(`div`,{className:`mt-2 text-xs leading-relaxed text-fg-muted`,children:u.contextStatusDetail.replace(`{{attachments}}`,String(v.attachments.length)).replace(`{{tokens}}`,String(v.tokenEstimate??0))}),m?(0,$.jsx)(`p`,{className:`mt-3 rounded-lg border border-danger/25 bg-danger-soft px-3 py-2 text-xs text-danger`,role:`alert`,children:m}):null,v.attachments.length>0?(0,$.jsx)(`div`,{className:`mt-3 space-y-1.5`,children:v.attachments.slice(0,5).map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 rounded-lg bg-surface-hover px-2 py-1.5 text-xs`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate text-fg`,children:e.fileName}),(0,$.jsx)(`span`,{className:`shrink-0 text-fg-muted`,children:e.status})]},e.attachmentId))}):null]}):null,(0,$.jsx)(`button`,{type:`button`,onClick:r,disabled:n,className:`w-full rounded-lg bg-accent px-2.5 py-1.5 text-xs font-medium text-on-accent transition-colors hover:bg-accent/90 disabled:cursor-not-allowed disabled:opacity-50`,children:n?u.processing:p?u.recatalyze:u.catalyzeAction}),p?(0,$.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:u.valueHypothesis}),(0,$.jsx)(`p`,{className:`mt-1 text-sm leading-relaxed text-fg`,children:p.valueHypothesis})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:u.targetUsers}),(0,$.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-1.5`,children:p.targetUsers.slice(0,5).map(e=>(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 text-xs text-fg`,children:e},e))})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:u.keyQuestions}),(0,$.jsx)(`ul`,{className:`mt-1 space-y-1 text-sm leading-relaxed text-fg`,children:p.keyQuestions.slice(0,3).map(e=>(0,$.jsxs)(`li`,{className:`flex gap-2`,children:[(0,$.jsx)(`span`,{className:`mt-2 size-1 shrink-0 rounded-full bg-accent`}),(0,$.jsx)(`span`,{children:e})]},e))})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:u.mvpPathLabel}),(0,$.jsx)(`ol`,{className:`mt-1 space-y-1 text-sm leading-relaxed text-fg`,children:p.mvpPath.slice(0,3).map((e,t)=>(0,$.jsxs)(`li`,{className:`flex gap-2`,children:[(0,$.jsxs)(`span`,{className:`text-fg-muted`,children:[t+1,`.`]}),(0,$.jsx)(`span`,{children:e})]},e))})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:u.risks}),(0,$.jsx)(`ul`,{className:`mt-1 space-y-1 text-sm leading-relaxed text-fg`,children:p.risks.slice(0,3).map(e=>(0,$.jsxs)(`li`,{className:`flex gap-2`,children:[(0,$.jsx)(`span`,{className:`mt-2 size-1 shrink-0 rounded-full bg-fg-muted`}),(0,$.jsx)(`span`,{children:e})]},e))})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:u.nextActions}),(0,$.jsx)(`ul`,{className:`mt-1 space-y-1 text-sm leading-relaxed text-fg`,children:p.nextActions.slice(0,4).map(e=>(0,$.jsxs)(`li`,{className:`flex gap-2`,children:[(0,$.jsx)(`span`,{className:`rounded bg-accent/10 px-1.5 py-0.5 text-[10px] uppercase tracking-wide text-accent`,children:e.kind}),(0,$.jsx)(`span`,{children:e.text})]},`${e.kind}:${e.text}`))})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-t border-edge-subtle pt-3`,children:[(0,$.jsx)(`span`,{className:`text-xs text-fg-muted`,children:u.confidenceLabel.replace(`{{percent}}`,String(Math.round(p.confidence*100)))}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>void C(`helpful`),className:q(`rounded-lg p-1.5 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg`,f?.feedback===`helpful`&&`bg-accent/10 text-accent`),"aria-label":u.feedbackHelpfulAria,children:(0,$.jsx)(w,{className:`size-3.5`,"aria-hidden":!0})}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void C(`not_helpful`),className:q(`rounded-lg p-1.5 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg`,f?.feedback===`not_helpful`&&`bg-accent/10 text-accent`),"aria-label":u.feedbackNotHelpfulAria,children:(0,$.jsx)(A,{className:`size-3.5`,"aria-hidden":!0})})]})]})]}):(0,$.jsx)(`div`,{className:`mt-4 rounded-lg border border-dashed border-edge-subtle px-3 py-6 text-center text-sm text-fg-muted`,children:u.noCatalysisReportHint}),(0,$.jsxs)(`section`,{className:`mt-6 rounded-xl bg-surface-base p-4`,children:[(0,$.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-semibold text-fg`,children:[(0,$.jsx)(xe,{className:`size-4 text-accent`,"aria-hidden":!0}),u.relatedThreadsTitle]}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:u.relatedThreadsDescription})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:c,disabled:o,className:`rounded-lg border border-edge px-2.5 py-1.5 text-xs font-medium text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg disabled:cursor-not-allowed disabled:opacity-50`,children:o?u.openingChat:u.openThread}),(0,$.jsx)(`button`,{type:`button`,onClick:l,disabled:o,className:`rounded-lg bg-accent px-2.5 py-1.5 text-xs font-medium text-on-accent transition-colors hover:bg-accent/90 disabled:cursor-not-allowed disabled:opacity-50`,children:u.newThread})]})]}),a.length>0?(0,$.jsx)(`div`,{className:`space-y-2`,children:a.slice(0,5).map(e=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>d(`/chat/${encodeURIComponent(e.key)}`),className:`w-full rounded-lg border border-edge-subtle px-3 py-2 text-left transition-colors hover:bg-surface-hover`,children:[(0,$.jsx)(`div`,{className:`truncate text-sm font-medium text-fg`,children:e.name||u.noteDiscussionFallback}),(0,$.jsx)(`div`,{className:`mt-0.5 text-xs text-fg-muted`,children:u.messageCount.replace(`{{count}}`,String(e.messageCount??0))})]},e.key))}):(0,$.jsx)(`div`,{className:`rounded-lg border border-dashed border-edge-subtle px-3 py-5 text-center text-sm text-fg-muted`,children:u.noThreads})]})]})]})}var Wt=[{value:`86400000`,zh:`24 小时`,en:`24 hours`},{value:`604800000`,zh:`7 天`,en:`7 days`},{value:`2592000000`,zh:`30 天`,en:`30 days`}];function Gt({open:e,onOpenChange:t,note:n}){let r=Ne(e=>e.language)===`zh`,i=r?Yt:Xt,{data:a,mutate:o}=Ie(e?[`note-shares`,n.id]:null,()=>U(n.id)),s=Ie(e?`hosted-share-auth-status`:null,tt),c=s.data===!0,l=Ie(e&&c?`hosted-publication-capabilities`:null,rt),u=l.data?.publishing.allowed===!0,d=Ie(e&&c?[`hosted-note-publications`,n.id]:null,()=>pe(n.id)),[f,p]=(0,Q.useState)(new Set),[m,h]=(0,Q.useState)(`86400000`),[g,_]=(0,Q.useState)(``),[v,y]=(0,Q.useState)(``),[b,x]=(0,Q.useState)(`hosted`),[C,w]=(0,Q.useState)(!1),[T,E]=(0,Q.useState)(null),[D,O]=(0,Q.useState)(null),[k,A]=(0,Q.useState)(!1),[M,F]=(0,Q.useState)(null),I=(0,Q.useMemo)(()=>{let e=new Set;return n.markdown.replace(/xopc-attachment:\/\/notes\/([^/]+)\/([^\s)]+)/gi,(t,r,i)=>{try{decodeURIComponent(r)===n.id&&e.add(decodeURIComponent(i))}catch{}return t}),(n.attachments??[]).filter(t=>e.has(t.id))},[n.attachments,n.id,n.markdown]);(0,Q.useEffect)(()=>{e&&(p(new Set(I.map(e=>e.id))),O(null),A(!1),F(null))},[e,I]);let ee=async()=>{w(!0),F(null);try{let e={expectedNoteVersion:n.updatedAt,attachmentIds:[...f],ttlMs:Number(m),maxViews:g.trim()?Number(g):null,description:v.trim()||void 0};if(b===`hosted`){let t=await ge(n.id,e);O(t.shareUrl),await d.mutate()}else{let t=await de(n.id,e);O(t.payload.shareUrl),await o()}}catch(e){F(e instanceof Error?e.message:String(e))}finally{w(!1)}},te=async(e,t)=>{E(e.id),F(null);try{t===`refresh`?await ae(n.id,e.id,{expectedNoteVersion:n.updatedAt,attachmentIds:[...f]}):await it(e.id),await d.mutate()}catch(e){F(e instanceof Error?e.message:String(e))}finally{E(null)}},R=async(e,t)=>{E(e.id),F(null);try{t===`refresh`?await ye(n.id,e.id,{expectedNoteVersion:n.updatedAt,attachmentIds:[...f]}):t===`extend`?await nt(e.id,864e5):await et(e.id),await o()}catch(e){F(e instanceof Error?e.message:String(e))}finally{E(null)}},re=async e=>{F(null);try{if(!await Je(e)){A(!1),F(i.copyFailed);return}A(!0),window.setTimeout(()=>A(!1),1500)}catch{A(!1),F(i.copyFailed)}};return(0,$.jsx)(He,{open:e,onOpenChange:t,children:(0,$.jsxs)(X,{children:[(0,$.jsx)(Re,{className:`xopc-dialog-overlay fixed inset-0 z-[70] bg-scrim backdrop-blur-[2px]`}),(0,$.jsxs)(Z,{className:`xopc-dialog-content fixed left-1/2 top-1/2 z-[71] flex h-[min(42rem,calc(100dvh-2rem))] w-[min(40rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-overlay shadow-popover outline-none`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between border-b border-edge px-5 py-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Ve,{className:`flex items-center gap-2 text-base font-semibold text-fg`,children:[(0,$.jsx)(S,{className:`size-4`}),i.title]}),(0,$.jsx)(ze,{className:`mt-1 text-xs text-fg-muted`,children:i.description})]}),(0,$.jsx)(Be,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`rounded-md p-1.5 text-fg-muted hover:bg-surface-hover`,"aria-label":i.close,children:(0,$.jsx)(ke,{className:`size-4`})})})]}),(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:[(0,$.jsxs)(`section`,{className:`rounded-lg border border-edge bg-surface-inset p-4`,children:[(0,$.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:n.title||i.untitled}),(0,$.jsx)(`p`,{className:`mt-2 line-clamp-4 whitespace-pre-wrap text-xs leading-5 text-fg-muted`,children:n.markdown||i.empty}),(0,$.jsx)(`p`,{className:`mt-3 text-xs text-fg-subtle`,children:i.privateExcluded})]}),I.length>0?(0,$.jsxs)(`section`,{className:`mt-5`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:i.attachments}),(0,$.jsx)(`div`,{className:`mt-2 grid gap-2`,children:I.map(e=>(0,$.jsxs)(`label`,{className:`flex items-center gap-3 rounded-lg border border-edge-subtle px-3 py-2 text-sm text-fg-muted`,children:[(0,$.jsx)(`input`,{type:`checkbox`,checked:f.has(e.id),onChange:()=>p(t=>{let n=new Set(t);return n.has(e.id)?n.delete(e.id):n.add(e.id),n}),className:`accent-accent`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.fileName}),(0,$.jsx)(`span`,{className:`text-xs text-fg-subtle`,children:Jt(e.size)})]},e.id))})]}):null,(0,$.jsxs)(`section`,{className:`mt-5 grid gap-4 sm:grid-cols-2`,children:[(0,$.jsxs)(`label`,{className:`grid gap-1.5 text-xs text-fg-muted sm:col-span-2`,children:[i.delivery,(0,$.jsxs)(N,{value:b,onChange:e=>x(e.target.value),children:[(0,$.jsx)(P,{value:`hosted`,children:i.deliveryHosted}),(0,$.jsx)(P,{value:`local`,children:i.deliveryLocal})]})]}),b===`hosted`&&s.data===!1?(0,$.jsx)(`div`,{className:`sm:col-span-2`,children:(0,$.jsx)(dt,{providerId:`xopc-share`,displayName:`XOPC Hosted Share`,connected:!1,onConnected:()=>void s.mutate(!0,{revalidate:!1})})}):null,b===`hosted`&&c&&l.data&&!u?(0,$.jsx)(`p`,{className:`rounded-lg border border-warning/30 bg-warning-soft px-3 py-2 text-xs text-warning sm:col-span-2`,children:i.hostedDisabled}):null,(0,$.jsxs)(`label`,{className:`grid gap-1.5 text-xs text-fg-muted`,children:[i.expires,(0,$.jsx)(N,{value:m,onChange:e=>h(e.target.value),children:Wt.map(e=>(0,$.jsx)(P,{value:e.value,children:r?e.zh:e.en},e.value))})]}),(0,$.jsxs)(`label`,{className:`grid gap-1.5 text-xs text-fg-muted`,children:[i.maxViews,(0,$.jsx)(`input`,{type:`number`,min:1,max:1e3,value:g,onChange:e=>_(e.target.value),placeholder:i.unlimited,className:`h-9 rounded-md border border-edge bg-surface-panel px-3 text-sm text-fg outline-none focus:border-accent`})]}),(0,$.jsxs)(`label`,{className:`grid gap-1.5 text-xs text-fg-muted sm:col-span-2`,children:[i.publicDescription,(0,$.jsx)(`input`,{value:v,onChange:e=>y(e.target.value),className:`h-9 rounded-md border border-edge bg-surface-panel px-3 text-sm text-fg outline-none focus:border-accent`})]})]}),D?(0,$.jsx)(`div`,{className:`mt-5 rounded-lg border border-success/25 bg-success-soft p-3`,children:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(`input`,{readOnly:!0,value:D,className:`min-w-0 flex-1 bg-transparent text-xs text-fg outline-none`}),(0,$.jsxs)(Y,{type:`button`,className:`px-2 py-1 text-xs`,variant:`ghost`,onClick:()=>void re(D),children:[k?(0,$.jsx)(j,{className:`size-4`}):(0,$.jsx)(L,{className:`size-4`}),k?i.copied:i.copy]}),(0,$.jsxs)(Y,{type:`button`,className:`px-2 py-1 text-xs`,variant:`ghost`,onClick:()=>window.open(D,`_blank`,`noopener,noreferrer`),children:[(0,$.jsx)(ne,{className:`size-4`}),i.open]})]})}):null,M?(0,$.jsx)(`p`,{className:`mt-4 rounded-lg border border-danger/25 bg-danger-soft px-3 py-2 text-sm text-danger`,children:M}):null,(a?.items.length??0)>0?(0,$.jsxs)(`section`,{className:`mt-6 border-t border-edge pt-5`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:i.activeLinks}),(0,$.jsx)(`div`,{className:`mt-2 grid gap-2`,children:a.items.map(e=>(0,$.jsx)(qt,{share:e,busy:T===e.id,t:i,onCopy:re,onAction:R},e.id))})]}):null,(d.data?.length??0)>0?(0,$.jsxs)(`section`,{className:`mt-6 border-t border-edge pt-5`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:i.hostedLinks}),(0,$.jsx)(`div`,{className:`mt-2 grid gap-2`,children:d.data.map(e=>(0,$.jsx)(Kt,{publication:e,stale:e.source?.version!==String(n.updatedAt),busy:T===e.id,publishingAllowed:u,t:i,onCopy:re,onAction:te},e.id))})]}):null]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-edge px-5 py-3`,children:[(0,$.jsx)(Be,{asChild:!0,children:(0,$.jsx)(Y,{type:`button`,variant:`ghost`,children:i.close})}),(0,$.jsxs)(Y,{type:`button`,onClick:()=>void ee(),disabled:C||b===`hosted`&&(!c||!u),children:[C?(0,$.jsx)(G,{className:`size-4 animate-spin`}):(0,$.jsx)(S,{className:`size-4`}),C?i.creating:i.create]})]})]})]})})}function Kt(e){let t=(0,gt.c)(64),{publication:n,stale:r,busy:i,publishingAllowed:a,t:o,onCopy:s,onAction:c}=e,l=n.revoked||n.expired,u=l&&`opacity-60`,d;t[0]===u?d=t[1]:(d=q(`rounded-lg border border-edge-subtle p-3`,u),t[0]=u,t[1]=d);let f=r&&!l?o.stale:l?o.inactive:o.active,p;t[2]===f?p=t[3]:(p=(0,$.jsx)(`span`,{children:f}),t[2]=f,t[3]=p);let m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(`span`,{children:`·`}),t[4]=m):m=t[4];let h=n.maxViews===null?``:` / ${n.maxViews}`,g;t[5]!==n.viewCount||t[6]!==o.views||t[7]!==h?(g=(0,$.jsxs)(`span`,{children:[o.views,` `,n.viewCount,h]}),t[5]=n.viewCount,t[6]=o.views,t[7]=h,t[8]=g):g=t[8];let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{children:`·`}),t[9]=_):_=t[9];let v;t[10]!==n.revision||t[11]!==o.revision?(v=(0,$.jsxs)(`span`,{children:[o.revision,` `,n.revision]}),t[10]=n.revision,t[11]=o.revision,t[12]=v):v=t[12];let y;t[13]!==p||t[14]!==g||t[15]!==v?(y=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-fg-muted`,children:[p,m,g,_,v]}),t[13]=p,t[14]=g,t[15]=v,t[16]=y):y=t[16];let b;t[17]===n.shareUrl?b=t[18]:(b=(0,$.jsx)(`div`,{className:`mt-1 truncate text-xs text-fg-subtle`,children:n.shareUrl}),t[17]=n.shareUrl,t[18]=b);let x;t[19]!==y||t[20]!==b?(x=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[y,b]}),t[19]=y,t[20]=b,t[21]=x):x=t[21];let S;t[22]===i?S=t[23]:(S=i?(0,$.jsx)(G,{className:`size-4 animate-spin text-fg-muted`}):null,t[22]=i,t[23]=S);let C;t[24]!==x||t[25]!==S?(C=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[x,S]}),t[24]=x,t[25]=S,t[26]=C):C=t[26];let w=!a,T;t[27]!==s||t[28]!==n.shareUrl?(T=()=>void s(n.shareUrl),t[27]=s,t[28]=n.shareUrl,t[29]=T):T=t[29];let E;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(L,{className:`size-3.5`}),t[30]=E):E=t[30];let D;t[31]!==o.copy||t[32]!==w||t[33]!==T?(D=(0,$.jsxs)(Y,{className:`px-2 py-1 text-xs`,variant:`ghost`,disabled:w,onClick:T,children:[E,o.copy]}),t[31]=o.copy,t[32]=w,t[33]=T,t[34]=D):D=t[34];let O=!a,k;t[35]===n.shareUrl?k=t[36]:(k=()=>window.open(n.shareUrl,`_blank`,`noopener,noreferrer`),t[35]=n.shareUrl,t[36]=k);let A;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(ne,{className:`size-3.5`}),t[37]=A):A=t[37];let j;t[38]!==o.open||t[39]!==O||t[40]!==k?(j=(0,$.jsxs)(Y,{className:`px-2 py-1 text-xs`,variant:`ghost`,disabled:O,onClick:k,children:[A,o.open]}),t[38]=o.open,t[39]=O,t[40]=k,t[41]=j):j=t[41];let M;t[42]!==i||t[43]!==l||t[44]!==c||t[45]!==n||t[46]!==a||t[47]!==r||t[48]!==o.refresh?(M=r&&!l?(0,$.jsxs)(Y,{className:`px-2 py-1 text-xs`,variant:`ghost`,disabled:i||!a,onClick:()=>void c(n,`refresh`),children:[(0,$.jsx)(Ce,{className:`size-3.5`}),o.refresh]}):null,t[42]=i,t[43]=l,t[44]=c,t[45]=n,t[46]=a,t[47]=r,t[48]=o.refresh,t[49]=M):M=t[49];let N;t[50]!==i||t[51]!==c||t[52]!==n||t[53]!==o.revoke?(N=n.revoked?null:(0,$.jsxs)(Y,{className:`px-2 py-1 text-xs`,variant:`ghost`,disabled:i,onClick:()=>void c(n,`revoke`),children:[(0,$.jsx)(Oe,{className:`size-3.5`}),o.revoke]}),t[50]=i,t[51]=c,t[52]=n,t[53]=o.revoke,t[54]=N):N=t[54];let P;t[55]!==D||t[56]!==j||t[57]!==M||t[58]!==N?(P=(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-1`,children:[D,j,M,N]}),t[55]=D,t[56]=j,t[57]=M,t[58]=N,t[59]=P):P=t[59];let F;return t[60]!==C||t[61]!==d||t[62]!==P?(F=(0,$.jsxs)(`div`,{className:d,children:[C,P]}),t[60]=C,t[61]=d,t[62]=P,t[63]=F):F=t[63],F}function qt(e){let t=(0,gt.c)(68),{share:n,busy:r,t:i,onCopy:a,onAction:o}=e,s=n.revoked||n.expired,c=s&&`opacity-60`,l;t[0]===c?l=t[1]:(l=q(`rounded-lg border border-edge-subtle p-3`,c),t[0]=c,t[1]=l);let u=n.stale&&!s?i.stale:s?i.inactive:i.active,d;t[2]===u?d=t[3]:(d=(0,$.jsx)(`span`,{children:u}),t[2]=u,t[3]=d);let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{children:`·`}),t[4]=f):f=t[4];let p=n.maxViews===null?``:` / ${n.maxViews}`,m;t[5]!==n.viewCount||t[6]!==i.views||t[7]!==p?(m=(0,$.jsxs)(`span`,{children:[i.views,` `,n.viewCount,p]}),t[5]=n.viewCount,t[6]=i.views,t[7]=p,t[8]=m):m=t[8];let h;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(`span`,{children:`·`}),t[9]=h):h=t[9];let g;t[10]===n.expiresAt?g=t[11]:(g=new Date(n.expiresAt).toLocaleDateString(),t[10]=n.expiresAt,t[11]=g);let _;t[12]===g?_=t[13]:(_=(0,$.jsx)(`span`,{children:g}),t[12]=g,t[13]=_);let v;t[14]!==_||t[15]!==d||t[16]!==m?(v=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-fg-muted`,children:[d,f,m,h,_]}),t[14]=_,t[15]=d,t[16]=m,t[17]=v):v=t[17];let y;t[18]===n.shareUrl?y=t[19]:(y=(0,$.jsx)(`div`,{className:`mt-1 truncate text-xs text-fg-subtle`,children:n.shareUrl}),t[18]=n.shareUrl,t[19]=y);let b;t[20]!==v||t[21]!==y?(b=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[v,y]}),t[20]=v,t[21]=y,t[22]=b):b=t[22];let x;t[23]===r?x=t[24]:(x=r?(0,$.jsx)(G,{className:`size-4 animate-spin text-fg-muted`}):null,t[23]=r,t[24]=x);let S;t[25]!==b||t[26]!==x?(S=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[b,x]}),t[25]=b,t[26]=x,t[27]=S):S=t[27];let C;t[28]!==a||t[29]!==n.shareUrl?(C=()=>void a(n.shareUrl),t[28]=a,t[29]=n.shareUrl,t[30]=C):C=t[30];let w;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(L,{className:`size-3.5`}),t[31]=w):w=t[31];let T;t[32]!==i.copy||t[33]!==C?(T=(0,$.jsxs)(Y,{className:`px-2 py-1 text-xs`,variant:`ghost`,onClick:C,children:[w,i.copy]}),t[32]=i.copy,t[33]=C,t[34]=T):T=t[34];let E;t[35]===n.shareUrl?E=t[36]:(E=()=>window.open(n.shareUrl,`_blank`,`noopener,noreferrer`),t[35]=n.shareUrl,t[36]=E);let D;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(ne,{className:`size-3.5`}),t[37]=D):D=t[37];let O;t[38]!==i.open||t[39]!==E?(O=(0,$.jsxs)(Y,{className:`px-2 py-1 text-xs`,variant:`ghost`,onClick:E,children:[D,i.open]}),t[38]=i.open,t[39]=E,t[40]=O):O=t[40];let k;t[41]!==r||t[42]!==s||t[43]!==o||t[44]!==n||t[45]!==i.refresh?(k=n.stale&&!s?(0,$.jsxs)(Y,{className:`px-2 py-1 text-xs`,variant:`ghost`,disabled:r,onClick:()=>void o(n,`refresh`),children:[(0,$.jsx)(Ce,{className:`size-3.5`}),i.refresh]}):null,t[41]=r,t[42]=s,t[43]=o,t[44]=n,t[45]=i.refresh,t[46]=k):k=t[46];let A;t[47]!==r||t[48]!==s||t[49]!==o||t[50]!==n||t[51]!==i.extend?(A=s?null:(0,$.jsx)(Y,{className:`px-2 py-1 text-xs`,variant:`ghost`,disabled:r,onClick:()=>void o(n,`extend`),children:i.extend}),t[47]=r,t[48]=s,t[49]=o,t[50]=n,t[51]=i.extend,t[52]=A):A=t[52];let j;t[53]!==r||t[54]!==o||t[55]!==n||t[56]!==i.revoke?(j=n.revoked?null:(0,$.jsxs)(Y,{className:`px-2 py-1 text-xs`,variant:`ghost`,disabled:r,onClick:()=>void o(n,`revoke`),children:[(0,$.jsx)(Oe,{className:`size-3.5`}),i.revoke]}),t[53]=r,t[54]=o,t[55]=n,t[56]=i.revoke,t[57]=j):j=t[57];let M;t[58]!==T||t[59]!==O||t[60]!==k||t[61]!==A||t[62]!==j?(M=(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-1`,children:[T,O,k,A,j]}),t[58]=T,t[59]=O,t[60]=k,t[61]=A,t[62]=j,t[63]=M):M=t[63];let N;return t[64]!==S||t[65]!==l||t[66]!==M?(N=(0,$.jsxs)(`div`,{className:l,children:[S,M]}),t[64]=S,t[65]=l,t[66]=M,t[67]=N):N=t[67],N}function Jt(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}var Yt={title:`分享笔记`,description:`创建一个无需登录即可查看的只读快照。`,close:`关闭`,untitled:`无标题笔记`,empty:`空笔记`,privateExcluded:`不会分享标签、AI 元数据、项目、讨论、历史版本或未引用附件。`,attachments:`包含的附件`,expires:`有效期`,maxViews:`最多查看次数`,unlimited:`不限`,publicDescription:`公开说明(可选)`,create:`创建分享链接`,creating:`创建中…`,copy:`复制`,copied:`已复制`,open:`打开`,activeLinks:`这条笔记的分享`,copyFailed:`无法复制到剪贴板,请手动选择链接并复制。`,delivery:`发布方式`,deliveryHosted:`平台托管(外网稳定访问)`,deliveryLocal:`本机直连(需要隧道或公网部署)`,hostedLinks:`平台托管发布`,revision:`版本`,hostedDisabled:`管理员已暂停你的公网分享能力。已有托管链接当前不可访问,但仍可撤销。`,stale:`旧版本`,inactive:`已失效`,active:`有效`,views:`查看`,refresh:`更新快照`,extend:`延长 24 小时`,revoke:`撤销`},Xt={title:`Share Note`,description:`Create a read-only snapshot that opens without sign-in.`,close:`Close`,untitled:`Untitled Note`,empty:`Empty Note`,privateExcluded:`Tags, AI metadata, projects, discussions, history, and unreferenced attachments are excluded.`,attachments:`Included attachments`,expires:`Expires`,maxViews:`Maximum views`,unlimited:`Unlimited`,publicDescription:`Public description (optional)`,create:`Create share link`,creating:`Creating…`,copy:`Copy`,copied:`Copied`,open:`Open`,activeLinks:`Shares for this Note`,copyFailed:`Could not copy to the clipboard. Select the link and copy it manually.`,delivery:`Publishing method`,deliveryHosted:`Hosted platform (stable public access)`,deliveryLocal:`Direct from this device (requires public access)`,hostedLinks:`Hosted publications`,revision:`Revision`,hostedDisabled:`An administrator has paused public sharing for your account. Existing hosted links are unavailable, but can still be revoked.`,stale:`Older version`,inactive:`Inactive`,active:`Active`,views:`Views`,refresh:`Update snapshot`,extend:`Extend 24 hours`,revoke:`Revoke`};function Zt(e){let t=(0,gt.c)(18),{input:n,labels:r,showLabel:i}=e,a=i===void 0||i,o;t[0]===n?o=t[1]:(o=n(),t[0]=n,t[1]=o);let s=o.source.id,c;t[2]===s?c=t[3]:(c=e=>e.source?.type===`note`&&e.source.id===s&&e.status!==`idle`,t[2]=s,t[3]=c);let l=E(c),u;t[4]===s?u=t[5]:(u=e=>e.source?.type===`note`&&e.source.id===s&&e.status===`preparing`,t[4]=s,t[5]=u);let d=E(u),f=E(Qt),p;t[6]!==n||t[7]!==r||t[8]!==d||t[9]!==a?(p=(0,$.jsx)(b,{input:n,labels:r,disabled:d,showLabel:a}),t[6]=n,t[7]=r,t[8]=d,t[9]=a,t[10]=p):p=t[10];let m;t[11]!==l||t[12]!==r||t[13]!==f?(m=l?(0,$.jsx)(`button`,{type:`button`,onClick:f,title:r.stop,"aria-label":r.stop,className:`inline-flex size-8 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:(0,$.jsx)(De,{className:`size-3.5`,"aria-hidden":!0})}):null,t[11]=l,t[12]=r,t[13]=f,t[14]=m):m=t[14];let h;return t[15]!==p||t[16]!==m?(h=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[p,m]}),t[15]=p,t[16]=m,t[17]=h):h=t[17],h}function Qt(e){return e.stop}function $t(e,t){let n=O(t.replace(/^\s*(`{3,}|~{3,})[^\n]*$/gm,``).replace(/xopc-attachment:\/\/[^\s)]+/g,``).replace(/^(\s*[-*+]\s+)\[[ xX]\]\s*/gm,`$1`)),r=O(e);return!r||n.split(`
|
|
3
|
+
`)[0]===r?n:[r,n].filter(Boolean).join(`
|
|
4
|
+
|
|
5
|
+
`)}var en=()=>i(()=>import(`./block-editor-C477bTtO.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44])),tn=()=>i(()=>import(`./markdown-editor-BuuGlcfG.js`),__vite__mapDeps([45,1,2,41,46,11])),nn=(0,Q.lazy)(()=>en().then(e=>({default:e.BlockEditor}))),rn=(0,Q.lazy)(()=>tn().then(e=>({default:e.MarkdownEditor})));function an(){let e=(0,gt.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col px-6 py-4`,"aria-busy":!0,children:[(0,$.jsx)(`div`,{className:`h-8 w-56 max-w-full animate-pulse rounded-md bg-surface-hover`}),(0,$.jsx)(`div`,{className:`mt-6 h-4 w-11/12 animate-pulse rounded bg-surface-hover`}),(0,$.jsx)(`div`,{className:`mt-3 h-4 w-9/12 animate-pulse rounded bg-surface-hover`}),(0,$.jsx)(`div`,{className:`mt-3 h-4 w-10/12 animate-pulse rounded bg-surface-hover`})]}),e[0]=t):t=e[0],t}function on(e){let t=(0,gt.c)(29),{mode:n,onModeChange:r,labels:i}=e,a;t[0]===i.edit?a=t[1]:(a={id:`wysiwyg`,label:i.edit,Icon:re},t[0]=i.edit,t[1]=a);let o;t[2]===i.source?o=t[3]:(o={id:`source`,label:i.source,Icon:I},t[2]=i.source,t[3]=o);let s;t[4]===i.preview?s=t[5]:(s={id:`preview`,label:i.preview,Icon:R},t[4]=i.preview,t[5]=s);let c;t[6]!==a||t[7]!==o||t[8]!==s?(c=[a,o,s],t[6]=a,t[7]=o,t[8]=s,t[9]=c):c=t[9];let l=c,u;t[10]!==n||t[11]!==l?(u=l.find(e=>e.id===n)??l[0],t[10]=n,t[11]=l,t[12]=u):u=t[12];let d=u,f=d.Icon,p=sn,m;t[13]===f?m=t[14]:(m=(0,$.jsx)(f,{className:`size-3.5`,"aria-hidden":!0}),t[13]=f,t[14]=m);let h;t[15]===d.label?h=t[16]:(h=(0,$.jsx)(`span`,{children:d.label}),t[15]=d.label,t[16]=h);let g;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(M,{className:`size-3 text-fg-subtle`,"aria-hidden":!0}),t[17]=g):g=t[17];let _;t[18]!==d.label||t[19]!==m||t[20]!==h?(_=(0,$.jsx)(ot,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,"aria-label":d.label,className:`inline-flex h-8 items-center gap-1.5 rounded-lg border border-edge px-2.5 text-xs font-medium text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[m,h,g]})}),t[18]=d.label,t[19]=m,t[20]=h,t[21]=_):_=t[21];let v;t[22]!==n||t[23]!==l||t[24]!==r?(v=(0,$.jsx)(at,{children:(0,$.jsx)(ut,{align:`end`,sideOffset:6,className:`z-50 min-w-36 rounded-xl border border-edge bg-surface-overlay p-1 shadow-popover`,children:l.map(e=>{let{id:t,label:i,Icon:a}=e;return(0,$.jsxs)(ct,{onSelect:()=>r(t),onPointerMove:()=>p(t),onFocus:()=>p(t),className:`flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-fg outline-none hover:bg-surface-hover focus:bg-surface-hover`,children:[(0,$.jsx)(a,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),(0,$.jsx)(`span`,{className:`flex-1`,children:i}),n===t?(0,$.jsx)(j,{className:`size-4 text-accent`,"aria-hidden":!0}):null]},t)})})}),t[22]=n,t[23]=l,t[24]=r,t[25]=v):v=t[25];let y;return t[26]!==v||t[27]!==_?(y=(0,$.jsxs)(st,{modal:!1,children:[_,v]}),t[26]=v,t[27]=_,t[28]=y):y=t[28],y}function sn(e){e===`wysiwyg`&&en(),e===`source`&&tn()}function cn(e){let t=(0,gt.c)(16),{noteId:n,onBack:r,onSaved:i,showBackButton:a,backButtonClassName:o,clearHeaderOnCleanup:s,onOpenSearch:c,autoFocus:l,initialMode:u,onAutoFocusConsumed:d}=e,f=a===void 0||a,p=s===void 0||s,m=l!==void 0&&l,h=Ne(ln),g;t[0]===h?g=t[1]:(g=Ae(h),t[0]=h,t[1]=g);let _=g.notes.lightboxClose,v;t[2]!==m||t[3]!==o||t[4]!==p||t[5]!==u||t[6]!==n||t[7]!==d||t[8]!==r||t[9]!==c||t[10]!==i||t[11]!==f?(v=(0,$.jsx)(un,{noteId:n,onBack:r,onSaved:i,showBackButton:f,backButtonClassName:o,clearHeaderOnCleanup:p,onOpenSearch:c,autoFocus:m,initialMode:u,onAutoFocusConsumed:d}),t[2]=m,t[3]=o,t[4]=p,t[5]=u,t[6]=n,t[7]=d,t[8]=r,t[9]=c,t[10]=i,t[11]=f,t[12]=v):v=t[12];let y;return t[13]!==_||t[14]!==v?(y=(0,$.jsx)(B,{closeLabel:_,children:v}),t[13]=_,t[14]=v,t[15]=y):y=t[15],y}function ln(e){return e.language}function un({noteId:e,onBack:t,onSaved:n,showBackButton:r=!0,backButtonClassName:i,clearHeaderOnCleanup:a=!0,onOpenSearch:o,autoFocus:c=!1,initialMode:l=`wysiwyg`,onAutoFocusConsumed:d}){let f=Ne(e=>e.language),p=Ae(f).notes,m=Ae(f).chat.pageContext,h=Ae(f).automations.suggestions,{data:g}=Ie([`note-discussion-document`,e],()=>u(e)),[_,v]=(0,Q.useState)(!0),b=s(),C=Xe(e=>e.resolved)===`dark`,{openImage:w}=oe(),[T,D]=(0,Q.useState)(l),[O,A]=(0,Q.useState)(null),[M,N]=(0,Q.useState)(null),[P,F]=(0,Q.useState)(!1),[I,L]=(0,Q.useState)(``),[ee,ne]=(0,Q.useState)(360),[R,ae]=(0,Q.useState)(!1),[B,ce]=(0,Q.useState)(!1),[le,de]=(0,Q.useState)(!1),pe=(0,Q.useRef)(0);(0,Q.useEffect)(()=>()=>{pe.current+=1},[e]);let[V,H]=(0,Q.useState)(null),[U,ge]=(0,Q.useState)(!1),[ye,W]=(0,Q.useState)(null),[G,be]=(0,Q.useState)(!1),[K,Se]=(0,Q.useState)(!1),Ce=(0,Q.useRef)(!1),Ee=(0,Q.useRef)(!1),De=(0,Q.useRef)(null),ke=(0,Q.useRef)(null),je=(0,Q.useRef)(null),J=(0,Q.useRef)(null),Pe=(0,Q.useRef)(null),Fe=(0,Q.useRef)(null),Y=(0,Q.useRef)(null),Le=(0,Q.useRef)(null),Re=(0,Q.useRef)(null),ze=Ze(e=>e.setPageHeader),Be=Ze(e=>e.clearPageHeader),{data:X,mutate:Z,error:Ve}=Ie(e?[`note-detail`,e]:null,()=>fe(e)),{data:He=[],mutate:Ue}=Ie(e?[`note-threads`,e]:null,()=>me(e),{revalidateOnFocus:!1}),We=M!==null,Ge=(0,Q.useCallback)(e=>{H(`${p.refreshFailed}: ${e instanceof Error?e.message:p.quickCaptureFailedHint}`)},[p.quickCaptureFailedHint,p.refreshFailed]);(0,Q.useEffect)(()=>{if(!e)return;let t=t=>{t.detail?.noteId===e&&Z().catch(Ge)};return window.addEventListener(`note-updated`,t),()=>window.removeEventListener(`note-updated`,t)},[Z,e,Ge]),(0,Q.useEffect)(()=>{Ce.current=!1,L(``),N(null),A(null),Ee.current=!1,Re.current=null},[e]),(0,Q.useEffect)(()=>{!X||Ce.current||(L(X.title??``),Ce.current=!0)},[X]),(0,Q.useEffect)(()=>{if(!c||!X||We||Re.current===e)return;let t=window.requestAnimationFrame(()=>{Le.current?.focus(),d?.()});return Re.current=e,()=>window.cancelAnimationFrame(t)},[c,We,X,e,d]);let Ke=X?new Date(X.createdAt).toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}):``,Je=(0,Q.useMemo)(()=>r?(0,$.jsx)(`button`,{type:`button`,onClick:t,"aria-label":p.back,className:q(`rounded-lg p-1.5 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg`,Ye,i),children:(0,$.jsx)(y,{className:`size-4`,"aria-hidden":!0})}):null,[i,p.back,t,r]),Qe=(0,Q.useCallback)(()=>{let t=E.getState();t.source?.type===`note`&&t.source.id===e&&t.stop()},[e]),et=(0,Q.useCallback)(e=>{e!==`preview`&&Qe(),D(e)},[Qe]),tt=(0,Q.useCallback)(t=>{Qe(),L(t),e&&(J.current=t,ke.current&&clearTimeout(ke.current),ke.current=setTimeout(async()=>{let t=J.current;if(J.current=null,t!==null){F(!0);try{await z(e,{title:t}),await Z(),n?.()}catch{}finally{F(!1)}}},600))},[Qe,e,Z,n]),nt=(0,Q.useMemo)(()=>(0,$.jsxs)(`div`,{className:q(`flex min-w-0 items-center gap-2`,Ye),children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,title:I||Ke||void 0,children:I||Ke}),P?(0,$.jsx)(`span`,{className:`shrink-0 text-xs text-fg-muted opacity-60`,children:p.saving}):null]}),[p.saving,P,Ke,I]),rt=(0,Q.useCallback)(async(t=!1)=>{de(!0),H(null);try{let n=await ue(e,{forceNew:t});await Z(),await Ue(),b(`/chat/${encodeURIComponent(n.conversationId)}`)}catch(e){H(`${p.chatOpenFailedTitle}: ${e instanceof Error?e.message:p.chatOpenFailedMessage}`)}finally{de(!1)}},[Z,Ue,b,e,p.chatOpenFailedMessage,p.chatOpenFailedTitle]),it=(0,Q.useCallback)(async()=>{ce(!0),H(null);try{await he(e),await Z()}catch(e){H(`${p.catalysisFailed}: ${e instanceof Error?e.message:p.chatOpenFailedMessage}`)}finally{ce(!1)}},[Z,e]),dt=(0,Q.useCallback)(()=>{A(O===`breakdown`?null:`breakdown`),!X?.aiDeep?.catalysis?.report&&!B&&it()},[O,B,it,X?.aiDeep?.catalysis?.report]),mt=(0,Q.useCallback)(()=>{let t=M?M.markdown??``:je.current??X?.markdown??``,n=M?M.title??``:I,r=$t(n,t);return{source:{type:`note`,id:e,title:n||p.titlePlaceholder},text:r,language:x(r,f)}},[f,p.titlePlaceholder,X?.markdown,e,M,I]),ht=(0,Q.useCallback)(async()=>{De.current&&clearTimeout(De.current),ke.current&&clearTimeout(ke.current),De.current=null,ke.current=null;let t=je.current,r=J.current;je.current=null,J.current=null;let i={};if(t!==null&&(i.markdown=t),r!==null&&(i.title=r),Object.keys(i).length===0)return X??null;F(!0);try{let t=await z(e,i);return await Z(t,{revalidate:!1}),n?.(),t}catch(e){return je.current===null&&(je.current=t),J.current===null&&(J.current=r),H(`${p.saveFailed}: ${e instanceof Error?e.message:p.saveFailedHint}`),null}finally{F(!1)}},[Z,p.saveFailed,p.saveFailedHint,X,e,n]),gt=(0,Q.useCallback)(async()=>{if(!X||le||P)return;de(!0),H(null);let e=Me.getState(),t=++pe.current,n=()=>pe.current===t&&Me.getState().baseUrl===e.baseUrl&&Me.getState().conversationId===e.conversationId;try{let t=window.getSelection(),r=t?.anchorNode&&t.focusNode&&Pe.current?.contains(t.anchorNode)&&Pe.current.contains(t.focusNode)?t.toString():``,i=await ht();if(!i||!n())return;if(je.current!==null||J.current!==null)throw Error(m.unavailable);let a=ft.capture({title:i.title||i.id,text:i.markdown,resourceRefs:[{kind:`note`,id:i.id,revision:String(i.remoteVersion??1)}],selection:r?{text:r,draft:!1}:void 0}),o=await new qe().createSession();if(!n())return;if(je.current!==null||J.current!==null)throw Error(m.unavailable);let s=pt(e.baseUrl,e.conversationId,o.key);if(!ft.put(s,a))throw Error(m.unavailable);b(`/chat/${encodeURIComponent(o.key)}`)}catch{n()&&H(m.unavailable)}finally{pe.current===t&&de(!1)}},[X,le,P,ht,b,m.unavailable]),_t=(0,Q.useCallback)(async()=>{H(null);let e=await ht();e&&(W(e),ge(!0))},[ht]),vt=(0,Q.useCallback)(async()=>{if(!(K||P)){be(!1),Se(!0),H(null),Qe(),De.current&&clearTimeout(De.current),ke.current&&clearTimeout(ke.current),De.current=null,ke.current=null,je.current=null,J.current=null;try{await _e(e),window.dispatchEvent(new CustomEvent(`note-deleted`,{detail:{noteId:e}})),n?.(),t()}catch(e){H(`${p.deleteFailed}: ${e instanceof Error?e.message:p.quickCaptureFailedHint}`)}finally{Se(!1)}}},[K,p.deleteFailed,p.quickCaptureFailedHint,e,t,n,P,Qe]),yt=(0,Q.useMemo)(()=>(0,$.jsxs)(`div`,{className:q(`flex min-w-0 items-center gap-1 sm:gap-2`,Ye),children:[o?(0,$.jsx)(`button`,{type:`button`,onClick:o,"aria-label":p.searchDialogTitle,className:`rounded-lg p-1.5 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:(0,$.jsx)(we,{className:`size-4`,"aria-hidden":!0})}):null,(0,$.jsx)(Zt,{input:mt,showLabel:!1,labels:{read:p.readAloud,preparing:p.readAloudPreparing,pause:p.readAloudPause,resume:p.readAloudResume,retry:p.readAloudRetry,stop:p.readAloudStop}}),(0,$.jsxs)(`button`,{type:`button`,onClick:dt,disabled:B,"aria-label":p.catalysisSectionTitle,className:q(`inline-flex items-center gap-1.5 rounded-lg px-2.5 py-1.5 text-xs font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-50`,O===`breakdown`?`bg-accent/10 text-accent`:`bg-accent/10 text-fg hover:bg-accent/15`),children:[(0,$.jsx)(Te,{className:`size-3.5`,"aria-hidden":!0}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:B?p.catalyzing:p.catalyzeButton})]}),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>rt(!1),"aria-label":p.openChatButton,disabled:le,className:q(`inline-flex items-center gap-1.5 rounded-lg px-2.5 py-1.5 text-xs font-medium transition-colors`,`border border-edge text-fg-muted hover:bg-surface-hover hover:text-fg disabled:cursor-not-allowed disabled:opacity-50`),children:[(0,$.jsx)(xe,{className:`size-3.5`,"aria-hidden":!0}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:le?p.openingChat:p.openChatButton})]}),(0,$.jsx)(on,{mode:T,onModeChange:et,labels:{edit:p.modeEdit,source:p.modeSource,preview:p.modePreview}}),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>void gt(),disabled:le||P||!X||!!M,className:`inline-flex items-center gap-1.5 rounded-lg border border-edge px-2.5 py-1.5 text-xs text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-50`,children:[(0,$.jsx)(re,{className:`size-3.5`,"aria-hidden":!0}),m.capture]}),(0,$.jsxs)(st,{modal:!1,children:[(0,$.jsx)(ot,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":p.noteActions,title:p.noteActions,className:`inline-flex size-8 items-center justify-center rounded-lg text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:(0,$.jsx)(te,{className:`size-4`,"aria-hidden":!0})})}),(0,$.jsx)(at,{children:(0,$.jsxs)(ut,{align:`end`,sideOffset:6,className:`z-50 min-w-40 rounded-xl border border-edge bg-surface-overlay p-1 shadow-popover`,children:[(0,$.jsxs)(ct,{onSelect:()=>void _t(),className:`flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-fg outline-none hover:bg-surface-hover focus:bg-surface-hover`,children:[(0,$.jsx)(S,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),f===`zh`?`分享`:`Share`]}),(0,$.jsxs)(ct,{onSelect:()=>A(O===`history`?null:`history`),className:`flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-fg outline-none hover:bg-surface-hover focus:bg-surface-hover`,children:[(0,$.jsx)(ie,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),(0,$.jsx)(`span`,{className:`flex-1`,children:p.history}),O===`history`?(0,$.jsx)(j,{className:`size-4 text-accent`,"aria-hidden":!0}):null]}),(0,$.jsx)(lt,{className:`my-1 h-px bg-edge-subtle`}),(0,$.jsxs)(ct,{disabled:K||P,onSelect:()=>be(!0),className:`flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-danger outline-none hover:bg-danger-soft focus:bg-danger-soft data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`,children:[(0,$.jsx)(Oe,{className:`size-4`,"aria-hidden":!0}),p.delete]})]})})]})]}),[B,dt,rt,gt,m.capture,X,M,T,p.history,p.modeEdit,p.modePreview,p.modeSource,le,O,o,p.searchDialogTitle,p.readAloud,p.readAloudPause,p.readAloudPreparing,p.readAloudResume,p.readAloudRetry,p.readAloudStop,et,mt,_t,K,P,f,p.delete,be]);(0,Q.useLayoutEffect)(()=>(ze({startExtra:Je,main:X&&!(g&&_)?nt:null,end:X&&!(g&&_)?yt:null}),()=>{a&&Be()}),[a,Be,yt,nt,Je,g,_,X,ze]);let bt=(0,Q.useCallback)(t=>{e&&(Qe(),je.current=t,De.current&&clearTimeout(De.current),De.current=setTimeout(async()=>{let t=je.current;if(je.current=null,t!==null){F(!0),H(null);try{await z(e,{markdown:t}),await Z(),n?.()}catch(e){H(`${p.saveFailed}: ${e instanceof Error?e.message:p.saveFailedHint}`)}finally{F(!1)}}},600))},[Qe,e,Z,p.saveFailed,p.saveFailedHint,n]),xt=(0,Q.useCallback)(t=>{ve(e,t.timestamp).then(e=>{e&&(Qe(),N(e))})},[e,Qe]),St=(0,Q.useCallback)(()=>{Qe(),A(null),N(null)},[Qe]),Ct=(0,Q.useCallback)(()=>{Qe(),A(null),N(null),Z().catch(Ge),n?.()},[Z,n,Ge,Qe]);if((0,Q.useEffect)(()=>()=>{De.current&&clearTimeout(De.current),ke.current&&clearTimeout(ke.current);let t=je.current,n=J.current;je.current=null,J.current=null;let r={};t!==null&&(r.markdown=t),n!==null&&(r.title=n),Object.keys(r).length>0&&z(e,r).catch(()=>void 0)},[e]),X===void 0)return Ve?(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3 p-6 text-center`,role:`alert`,children:[(0,$.jsx)(`p`,{className:`text-sm text-danger`,children:p.home.loadFailed}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void Z().catch(Ge),className:`rounded-lg border border-edge px-3 py-2 text-sm text-fg hover:bg-surface-hover`,children:p.home.retry}),(0,$.jsx)(`button`,{type:`button`,onClick:t,className:`text-sm text-fg-muted hover:text-fg`,children:p.back})]}):(0,$.jsx)(an,{});if(X===null)return(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3 text-center`,children:[(0,$.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:p.notFoundTitle}),(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:p.notFoundDescription}),(0,$.jsx)(`button`,{type:`button`,onClick:t,className:`rounded-lg border border-edge px-3 py-1.5 text-sm font-medium text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg`,children:p.back})]});let Tt=We?M.title??``:I,Et=We?M.markdown??``:je.current??X.markdown??``,Dt=new Date(X.createdAt).getTime(),Ot=Number.isFinite(Dt)&&Date.now()-Dt<3600*1e3?(0,$.jsx)(wt,{title:h.noteCreatedTitle,description:h.noteCreatedDescription,prompt:h.noteCreatedPrompt,coverage:{eventType:`note.created`,source:`notes`,eventPayload:{noteId:e}},variant:`titleAction`,className:`ml-3 hidden max-w-[18rem] shrink-0 md:flex`}):null;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 gap-3 p-4 sm:px-5`,children:[(0,$.jsxs)(`div`,{className:`mx-auto flex min-h-0 min-w-0 w-full max-w-[60rem] flex-1 flex-col`,children:[V?(0,$.jsx)(`p`,{className:`mb-3 shrink-0 rounded-lg border border-danger/25 bg-danger-soft px-3 py-2 text-sm text-danger`,role:`alert`,children:V}):null,(0,$.jsx)(k,{eventType:`note.created`,source:`notes`,payloadKey:`noteId`,payloadValue:e,className:`mb-3 shrink-0`}),(0,$.jsx)(k,{eventType:`note.updated`,source:`notes`,payloadKey:`noteId`,payloadValue:e,className:`mb-3 shrink-0`}),g&&!_?(0,$.jsx)(`button`,{className:`mb-2 inline-flex min-h-11 shrink-0 items-center self-start rounded-lg px-2 text-sm text-accent-fg focus-visible:ring-2 focus-visible:ring-accent`,onClick:()=>v(!0),children:f===`zh`?`← 返回录音笔记`:`← Back to recording`}):null,(0,$.jsxs)(`div`,{ref:Pe,className:`flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border border-edge-subtle bg-surface-panel xl:flex-row`,children:[g&&_?(0,$.jsx)(zt,{noteId:e,noteActions:{onAnalyze:dt,onChat:()=>{rt(!1)},onShare:()=>{_t()},onHistory:()=>A(O===`history`?null:`history`),onDelete:()=>be(!0),busy:K||P||B||le},onPersonalNotes:()=>{v(!1),window.setTimeout(()=>Le.current?.focus(),0)}}):null,(0,$.jsx)(`div`,{className:g&&_?`hidden`:`min-h-0 min-w-0 flex-1`,children:We?(0,$.jsxs)(`div`,{className:`h-full overflow-y-auto px-4 py-4 sm:px-6`,children:[Tt&&(0,$.jsx)(`h1`,{className:`mb-4 text-2xl font-bold text-fg/70`,children:Tt}),Et?(0,$.jsx)(se,{noteId:e,content:Et,className:`opacity-80`}):(0,$.jsx)(`p`,{className:`italic text-fg-muted`,children:p.emptyPreview})]}):(0,$.jsxs)($.Fragment,{children:[T===`wysiwyg`&&(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start px-6 pt-4`,children:[(0,$.jsx)(`input`,{ref:Le,type:`text`,value:I,onChange:e=>tt(e.target.value),onCompositionStart:()=>{Ee.current=!0},onCompositionEnd:()=>{Ee.current=!1},onKeyDown:e=>{let t=e.nativeEvent;e.key===`Enter`&&!Ee.current&&!t.isComposing&&(e.preventDefault(),(Pe.current?.querySelector(`.ProseMirror`))?.focus())},placeholder:p.titlePlaceholder,className:`min-w-0 flex-1 border-none bg-transparent text-2xl font-bold text-fg placeholder:text-fg-muted/40 focus:outline-none`}),Ot]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(an,{}),children:(0,$.jsx)(nn,{initialContent:X.markdown??``,onChange:bt,noteId:e},`wysiwyg-${e}`)})})]}),T===`source`&&(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start px-6 pt-4`,children:[(0,$.jsx)(`input`,{ref:Le,type:`text`,value:I,onChange:e=>tt(e.target.value),placeholder:p.titlePlaceholder,className:`min-w-0 flex-1 border-none bg-transparent text-2xl font-bold text-fg placeholder:text-fg-muted/40 focus:outline-none`}),Ot]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(an,{}),children:(0,$.jsx)(rn,{initialContent:X.markdown??``,onChange:bt,isDark:C},`source-${e}`)})})]}),T===`preview`&&(0,$.jsxs)(`div`,{className:`h-full overflow-y-auto px-4 py-4 sm:px-6`,onClick:e=>{let t=e.target;t instanceof HTMLImageElement&&w(t.currentSrc||t.src,t.alt)},children:[I&&!X.markdown.trimStart().startsWith(`# ${I.trim()}\n`)&&X.markdown.trim()!==`# ${I.trim()}`&&(0,$.jsx)(`h1`,{className:`mb-4 text-2xl font-bold text-fg`,children:I}),X.markdown?(0,$.jsx)(se,{noteId:e,content:X.markdown,className:`[&_img]:cursor-zoom-in`}):(0,$.jsx)(`p`,{className:`italic text-fg-muted`,children:p.emptyPreview})]})]})})]})]}),(0,$.jsx)(`div`,{ref:Fe,className:q(`relative flex min-h-0 shrink-0 flex-col overflow-hidden`,!R&&`transition-[width] duration-300 ease-in-out`),style:{width:O?ee:0},children:(0,$.jsxs)(`div`,{ref:Y,className:`flex min-h-0 flex-1 flex-col`,style:{width:ee},children:[(0,$.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,onPointerDown:e=>{e.preventDefault();let t=e.currentTarget;t.setPointerCapture(e.pointerId),ae(!0);let n=e.clientX,r=ee,i=e.pointerId,a=0,o=ee,s=ee,c=()=>{a=0,s=o,O&&Fe.current?.style.setProperty(`width`,`${s}px`),Y.current?.style.setProperty(`width`,`${s}px`)},l=e=>{let t=r-(e.clientX-n);o=Math.max(280,Math.min(600,Math.round(t))),a===0&&(a=window.requestAnimationFrame(c))},u=()=>{a!==0&&(window.cancelAnimationFrame(a),c());try{t.releasePointerCapture(i)}catch{}ae(!1),ne(s),window.removeEventListener(`pointermove`,l),window.removeEventListener(`pointerup`,u),window.removeEventListener(`pointercancel`,u)};window.addEventListener(`pointermove`,l),window.addEventListener(`pointerup`,u),window.addEventListener(`pointercancel`,u)},className:q(`absolute left-0 top-0 z-10 h-full w-2 -translate-x-1/2 cursor-col-resize`,`before:content-[''] before:pointer-events-none before:absolute before:left-1/2 before:top-0 before:h-full before:w-px before:-translate-x-1/2`,`before:bg-transparent before:transition-[background-color] before:duration-150`,`hover:before:bg-edge/65 dark:hover:before:bg-edge/75`,R&&`before:!bg-edge/80 dark:before:!bg-edge/85`,`touch-none select-none`)}),(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border border-edge-subtle bg-surface-panel`,children:O===`history`?(0,$.jsx)(Ht,{noteId:e,activeTimestamp:M?.timestamp??null,onSelect:xt,onClose:St,onRestored:Ct}):O===`breakdown`?(0,$.jsx)(Ut,{noteId:e,note:X??null,catalyzing:B,onCatalyze:it,onClose:()=>A(null),noteThreads:He,openingChat:le,onOpenChat:()=>rt(!1),onOpenNewChat:()=>rt(!0)}):null})]})})]}),ye?(0,$.jsx)(Gt,{open:U,onOpenChange:ge,note:ye}):null,(0,$.jsx)($e,{open:G,title:p.deleteConfirmTitle,description:p.deleteConfirmDescription.replace(`{{title}}`,X.title||p.titlePlaceholder),confirmLabel:p.deleteConfirmLabel,cancelLabel:p.deleteCancelLabel,destructive:!0,onConfirm:()=>void vt(),onCancel:()=>be(!1)})]})}export{xt as i,Ct as n,St as r,cn as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./notes-api-C_458rv5.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./createLucideIcon-DPHK1VkS.js";import{t as a}from"./markdown-view-CJt-i2Dp.js";import{t as o}from"./x-B_N4OPjy.js";import{t as s}from"./cn-0WouolD0.js";import{a as c,i as l,l as u,o as d,p as f}from"./locale-store-lIXD1FMw.js";import{a as p,n as m,o as h,r as g,s as _,t as v}from"./dist-DfWfZ9iu.js";import{r as y,t as b}from"./chat-chart-block-K2t333qv.js";var x=i(`image-off`,[[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}],[`path`,{d:`M10.41 10.41a2 2 0 1 1-2.83-2.83`,key:`1bzlo9`}],[`line`,{x1:`13.5`,x2:`6`,y1:`13.5`,y2:`21`,key:`1q0aeu`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`15`,key:`5mozeu`}],[`path`,{d:`M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59`,key:`mmje98`}],[`path`,{d:`M21 15V5a2 2 0 0 0-2-2H9`,key:`43el77`}]]),S=n(),C=e(t(),1),w=r(),T=(0,C.createContext)(null);function E(){let e=(0,S.c)(1),t=(0,C.useContext)(T);if(!t){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={openImage:D},e[0]=t):t=e[0],t}return t}function D(){}function O(e){let t=(0,S.c)(22),{children:n,closeLabel:r}=e,i=r===void 0?`Close`:r,[a,c]=(0,C.useState)(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(e,t)=>{c({src:e,alt:t})},t[0]=l):l=t[0];let u=l,d;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(d={openImage:u},t[1]=d):d=t[1];let f=d,y=a!==null,b;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>{e||c(null)},t[2]=b):b=t[2];let x;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,w.jsx)(p,{className:`fixed inset-0 z-[70] bg-scrim/90 backdrop-blur-sm`}),t[3]=x):x=t[3];let E;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(E=s(`fixed inset-0 z-[71] flex items-center justify-center p-4 outline-none`,`data-[state=open]:animate-in data-[state=closed]:animate-out`),t[4]=E):E=t[4];let D=a?.alt||`Image preview`,O;t[5]===D?O=t[6]:(O=(0,w.jsx)(_,{className:`sr-only`,children:D}),t[5]=D,t[6]=O);let k;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,w.jsx)(o,{className:`size-5`,"aria-hidden":!0}),t[7]=k):k=t[7];let A;t[8]===i?A=t[9]:(A=(0,w.jsx)(m,{asChild:!0,children:(0,w.jsx)(`button`,{type:`button`,"aria-label":i,className:`absolute right-4 top-4 z-10 rounded-lg bg-surface-panel/80 p-2 text-fg-muted backdrop-blur transition-colors hover:bg-surface-hover hover:text-fg`,children:k})}),t[8]=i,t[9]=A);let j;t[10]===a?j=t[11]:(j=a?(0,w.jsx)(`img`,{src:a.src,alt:a.alt??``,className:`max-h-[min(90vh,900px)] max-w-[min(95vw,1200px)] rounded-lg object-contain shadow-lg`}):null,t[10]=a,t[11]=j);let M;t[12]!==A||t[13]!==j||t[14]!==O?(M=(0,w.jsxs)(h,{children:[x,(0,w.jsxs)(g,{className:E,"aria-describedby":void 0,children:[O,A,j]})]}),t[12]=A,t[13]=j,t[14]=O,t[15]=M):M=t[15];let N;t[16]!==M||t[17]!==y?(N=(0,w.jsx)(v,{open:y,onOpenChange:b,children:M}),t[16]=M,t[17]=y,t[18]=N):N=t[18];let P;return t[19]!==n||t[20]!==N?(P=(0,w.jsxs)(T.Provider,{value:f,children:[n,N]}),t[19]=n,t[20]=N,t[21]=P):P=t[21],P}var k=`xopc-attachment`,A=/^xopc-attachment:\/\/notes\/([^/]+)\/([^/?#]+)$/i,j=/^\/api\/notes\/([^/]+)\/media\/([^/?#]+)$/i;function M(e,t){return`${k}://notes/${encodeURIComponent(e)}/${encodeURIComponent(t)}`}function N(e,t){let n=e.trim();if(!n)return null;let r=n.split(`?`)[0],i=r.match(A),a=r.match(j),o=i??a;if(!o)return null;let s=decodeURIComponent(o[1]),c=decodeURIComponent(o[2]);return t&&s!==t?null:{noteId:s,attachmentId:c}}function P(e,t){return`/api/notes/${encodeURIComponent(e)}/media/${encodeURIComponent(t)}`}var F=new Map,I=``;function L(e,t,n){return`${n}:${e}:${t}`}function R(){let e=u.getState().conversationId??``;if(e!==I){for(let e of F.values())e.objectUrl&&URL.revokeObjectURL(e.objectUrl);F.clear(),I=e}}async function ee(e,t){R();let n=L(e,t,u.getState().conversationId??``),r=F.get(n);return r||(r={blob:(async()=>{let n=await c(l(P(e,t)));if(n.status===401&&u.getState().onUnauthorized(),!n.ok)throw Error(`HTTP ${n.status}`);return n.blob()})(),objectUrl:null,refCount:0},F.set(n,r)),r.blob}async function z(e,t){R();let n=L(e,t,u.getState().conversationId??``),r=F.get(n);if(r||(r={blob:ee(e,t),objectUrl:null,refCount:0},F.set(n,r)),!r.objectUrl){let e=await r.blob;r.objectUrl=URL.createObjectURL(e)}return r.refCount+=1,r.objectUrl}function B(e,t){R();let n=L(e,t,u.getState().conversationId??``),r=F.get(n);r&&(r.refCount=Math.max(0,r.refCount-1),r.refCount===0&&r.objectUrl&&(URL.revokeObjectURL(r.objectUrl),r.objectUrl=null,F.delete(n)))}var V={noteId:null,attachmentId:null,playing:!1,currentTime:0,duration:0,loading:!1},H=null,U=null,W=null,G=null;function K(){return H||(H=new Audio,H.addEventListener(`timeupdate`,()=>{J.setState({currentTime:H.currentTime})}),H.addEventListener(`loadedmetadata`,()=>{let e=H.duration;Number.isFinite(e)&&J.setState({duration:e})}),H.addEventListener(`ended`,()=>{J.setState({playing:!1,currentTime:0}),H.currentTime=0}),H.addEventListener(`pause`,()=>{J.setState({playing:!1})}),H.addEventListener(`play`,()=>{J.setState({playing:!0})})),H}function q(){W&&G&&B(W,G),U=null,W=null,G=null}var J=f()((e,t)=>({...V,play:async(n,r,i)=>{let a=K(),o=t();if(o.noteId===n&&o.attachmentId===r&&U){a.play();return}a.pause(),q(),e({noteId:n,attachmentId:r,playing:!1,currentTime:0,duration:i??0,loading:!0});try{let t=await z(n,r);U=t,W=n,G=r,a.src=t,await a.play(),window.dispatchEvent(new CustomEvent(`xopc-voice-playback-start`,{detail:{id:`note:${n}:${r}`}})),e({loading:!1})}catch{e({loading:!1,playing:!1}),q()}},pause:()=>{K().pause()},toggle:(e,n,r)=>{let i=t();i.noteId===e&&i.attachmentId===n&&i.playing?t().pause():t().play(e,n,r)},seek:t=>{let n=K();n.currentTime=t,e({currentTime:t})},reset:()=>{K().pause(),K().src=``,q(),e(V)}}));function Y(e,t){return M(e,t)}function te(e){if(e<60)return`Voice · ${e}s`;let t=Math.floor(e/60),n=e%60;return`Voice · ${t}:${String(n).padStart(2,`0`)}`}async function ne(e){let t=await e.json().catch(()=>({}));return typeof t.error==`string`?t.error:`HTTP ${e.status}`}async function X(e,t,n){let r=new Headers;n&&r.set(`Idempotency-Key`,n);let i=await fetch(e,{method:`POST`,headers:r,body:t});if(i.status===401&&u.getState().onUnauthorized(),!i.ok)throw Error(await ne(i));return i.json()}function re(e){let t=(0,S.c)(39),n,r,i,a,o,c,l;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],c=t[6],l=t[7]):({src:c,expectedNoteId:r,alt:l,className:n,onClick:i,onLoadFailed:a,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=c,t[7]=l);let u=l===void 0?``:l,d;t[8]!==r||t[9]!==c?(d=N(c,r),t[8]=r,t[9]=c,t[10]=d):d=t[10];let f=d,[p,m]=(0,C.useState)(f?null:c),[h,g]=(0,C.useState)(!1),_,v;if(t[11]!==a||t[12]!==f||t[13]!==c?(_=()=>{if(g(!1),!f){m(c);return}let e=!1;return m(null),z(f.noteId,f.attachmentId).then(t=>{e||m(t)}).catch(()=>{e||(g(!0),a?.())}),()=>{e=!0,B(f.noteId,f.attachmentId)}},v=[c,f,a],t[11]=a,t[12]=f,t[13]=c,t[14]=_,t[15]=v):(_=t[14],v=t[15]),(0,C.useEffect)(_,v),h){let e;t[16]===n?e=t[17]:(e=s(`flex items-center justify-center bg-surface-hover text-fg-muted`,n),t[16]=n,t[17]=e);let r=!u,i;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,w.jsx)(x,{className:`size-5`}),t[18]=i):i=t[18];let a;return t[19]!==e||t[20]!==r?(a=(0,w.jsx)(`div`,{className:e,"aria-hidden":r,children:i}),t[19]=e,t[20]=r,t[21]=a):a=t[21],a}if(!p){let e;t[22]===n?e=t[23]:(e=s(`animate-pulse bg-surface-hover`,n),t[22]=n,t[23]=e);let r=!u,i;return t[24]!==e||t[25]!==r?(i=(0,w.jsx)(`div`,{className:e,"aria-hidden":r}),t[24]=e,t[25]=r,t[26]=i):i=t[26],i}let y;t[27]!==p||t[28]!==i?(y=i?()=>i(p):void 0,t[27]=p,t[28]=i,t[29]=y):y=t[29];let b;t[30]===a?b=t[31]:(b=()=>{g(!0),a?.()},t[30]=a,t[31]=b);let T;return t[32]!==u||t[33]!==n||t[34]!==p||t[35]!==o||t[36]!==y||t[37]!==b?(T=(0,w.jsx)(`img`,{...o,src:p,alt:u,className:n,onClick:y,onError:b}),t[32]=u,t[33]=n,t[34]=p,t[35]=o,t[36]=y,t[37]=b,t[38]=T):T=t[38],T}function ie(e){return e.replace(/xopc-attachment:\/\/notes\/([^/]+)\/([^)\s]+)/gi,`/api/notes/$1/media/$2`)}function ae(e,t){let n=[];return e.querySelectorAll(`.markdown-body img`).forEach(e=>{let r=N(e.getAttribute(`src`)??``,t);if(!r)return;let i=!1;z(r.noteId,r.attachmentId).then(t=>{i||(e.src=t)}).catch(()=>{e.classList.add(`note-media-load-failed`)}),n.push(()=>{i=!0,B(r.noteId,r.attachmentId)})}),e.querySelectorAll(`.markdown-body a`).forEach(e=>{let r=N(e.getAttribute(`href`)??``,t);if(!r)return;let i=document.createElement(`audio`);i.controls=!0,i.className=`note-media-audio mt-2 w-full max-w-md`,e.replaceWith(i);let a=!1;z(r.noteId,r.attachmentId).then(e=>{a||(i.src=e)}).catch(()=>{i.remove()}),n.push(()=>{a=!0,B(r.noteId,r.attachmentId)})}),()=>{for(let e of n)e()}}function oe(e){let t=(0,S.c)(21),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({content:n,noteId:r,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let o=(0,C.useRef)(null),s;t[4]!==i.codeCopy||t[5]!==i.streaming?(s=e=>(0,w.jsx)(b,{source:e.source,incomplete:!e.closed,streaming:i.streaming??!1,copy:i.codeCopy??!0}),t[4]=i.codeCopy,t[5]=i.streaming,t[6]=s):s=t[6];let c=s,l;t[7]===r?l=t[8]:(l=()=>{let e=o.current;if(e)return ae(e,r)},t[7]=r,t[8]=l);let u;t[9]!==n||t[10]!==r?(u=[n,r],t[9]=n,t[10]=r,t[11]=u):u=t[11],(0,C.useLayoutEffect)(l,u);let d;t[12]===n?d=t[13]:(d=ie(n),t[12]=n,t[13]=d);let f;t[14]===i.className?f=t[15]:(f=[`markdown-note`,i.className].filter(Boolean),t[14]=i.className,t[15]=f);let p=f.join(` `),m;return t[16]!==c||t[17]!==i||t[18]!==d||t[19]!==p?(m=(0,w.jsx)(`div`,{ref:o,children:(0,w.jsx)(y,{children:(0,w.jsx)(a,{content:d,mermaidActions:!0,...i,renderChart:c,className:p})})}),t[16]=c,t[17]=i,t[18]=d,t[19]=p,t[20]=m):m=t[20],m}async function se(){return d(l(`/api/notes/project-summaries`))}async function ce(e={}){let t=new URLSearchParams;e.status&&t.set(`status`,e.status),e.kind&&t.set(`kind`,e.kind),e.tag&&t.set(`tag`,e.tag),e.projectId&&t.set(`projectId`,e.projectId),e.unassigned&&t.set(`unassigned`,`true`),e.agentEdited&&t.set(`agentEdited`,`true`),e.pinned!==void 0&&t.set(`pinned`,String(e.pinned)),e.search&&t.set(`search`,e.search),e.limit&&t.set(`limit`,String(e.limit)),e.offset&&t.set(`offset`,String(e.offset)),e.sortBy&&t.set(`sortBy`,e.sortBy),e.sortOrder&&t.set(`sortOrder`,e.sortOrder);let n=t.toString();return d(l(`/api/notes${n?`?${n}`:``}`))}async function le(e,t=`web`){return(await d(l(`/api/notes/quick-capture`),{method:`POST`,body:JSON.stringify({text:e,channel:t})})).note}async function ue(e,t){return(await d(l(`/api/notes`),{method:`POST`,...t?{headers:{"Idempotency-Key":t}}:{},body:JSON.stringify({markdown:e.markdown,title:e.title,kind:e.kind,tags:e.tags,projectId:e.projectId,pinned:e.pinned,channel:e.channel??`web`})})).note}async function de(e){let t=await c(l(`/api/notes/${encodeURIComponent(e)}`));if(t.status===404)return null;let n=await t.json();if(!t.ok)throw Error(n.error||`HTTP ${t.status}`);return n.note??null}async function Z(e,t){return(await d(l(`/api/notes/${encodeURIComponent(e)}`),{method:`PATCH`,body:JSON.stringify(t)})).note}async function fe(e){await d(l(`/api/notes/${encodeURIComponent(e)}`),{method:`DELETE`})}async function pe(e){return d(l(`/api/notes/${encodeURIComponent(e)}/shares`))}async function me(e,t){return d(l(`/api/notes/${encodeURIComponent(e)}/shares`),{method:`POST`,body:JSON.stringify(t)})}async function he(e,t,n){await d(l(`/api/notes/${encodeURIComponent(e)}/shares/${encodeURIComponent(t)}/refresh`),{method:`POST`,body:JSON.stringify(n)})}async function ge(e){return(await d(l(`/api/notes/${encodeURIComponent(e)}/hosted-publications`))).payload.publications}async function _e(e,t){return(await d(l(`/api/notes/${encodeURIComponent(e)}/hosted-publications`),{method:`POST`,body:JSON.stringify(t)})).payload}async function ve(e,t,n){return(await d(l(`/api/notes/${encodeURIComponent(e)}/hosted-publications/${encodeURIComponent(t)}/refresh`),{method:`POST`,body:JSON.stringify(n)})).payload}async function ye(e){return d(l(`/api/notes/${encodeURIComponent(e)}/catalyze`),{method:`POST`})}async function be(e,t){return(await d(l(`/api/notes/${encodeURIComponent(e)}/catalysis-feedback`),{method:`POST`,body:JSON.stringify({feedback:t})})).note}async function xe(e,t={}){return d(l(`/api/notes/${encodeURIComponent(e)}/chat`),{method:`POST`,body:JSON.stringify(t)})}async function Se(e){return(await d(l(`/api/notes/${encodeURIComponent(e)}/threads`))).items}async function Ce(e){return d(l(`/api/notes/${encodeURIComponent(e)}/context-status`))}async function we(e){return d(l(`/api/notes/${encodeURIComponent(e)}/context-rebuild`),{method:`POST`})}async function Te(e,t,n){return(await d(l(`/api/notes/${encodeURIComponent(e)}/append`),{method:`POST`,body:JSON.stringify({content:t,heading:n})})).note}async function Q(e,t={}){return(await d(l(`/api/notes/task`),{method:`POST`,body:JSON.stringify({title:e,channel:`web`,priority:t.priority,sourceConversationId:t.sourceConversationId||void 0,sourceNoteId:t.sourceNoteId||void 0})})).note}async function Ee(e,t,n){let r=new FormData;return r.append(`file`,t),(await X(l(`/api/notes/${encodeURIComponent(e)}/media`),r,n)).attachment}async function $(e,t){let n=new FormData;return n.append(`file`,e),t?.markdown&&n.append(`markdown`,t.markdown),n.append(`channel`,t?.channel??`web`),t?.kind&&n.append(`kind`,t.kind),t?.duration!==void 0&&n.append(`duration`,String(t.duration)),(await X(l(`/api/notes`),n)).note}async function De(e,t=`web`){let n=await $(e,{channel:t}),r=n.attachments?.find(e=>e.type===`image`)??n.attachments?.[0];if(!r)return n;let i=`})`;return n.markdown!==i&&(n=await Z(n.id,{markdown:i})),n}async function Oe(e,t,n=`web`){let r=await $(e,{channel:n,kind:`voice`,duration:t}),i=r.attachments?.find(e=>e.type===`audio`)??r.attachments?.[0];if(!i)return r;let a=`[${te(t)}](${Y(r.id,i.id)})`;return r.markdown!==a&&(r=await Z(r.id,{markdown:a,kind:`voice`})),r}async function ke(e){return(await d(l(`/api/notes/${encodeURIComponent(e)}/history`))).entries}async function Ae(e,t){return(await d(l(`/api/notes/${encodeURIComponent(e)}/history/${t}`))).snapshot}async function je(e,t){return(await d(l(`/api/notes/${encodeURIComponent(e)}/history/restore`),{method:`POST`,body:JSON.stringify({timestamp:t})})).note}export{Y as A,ve as C,Ee as D,Z as E,E as F,x as I,M,N,oe as O,O as P,be as S,je as T,xe as _,me as a,Oe as b,de as c,ge as d,ke as f,ce as g,Se as h,ue as i,J as j,re as k,Ce as l,pe as m,ye as n,Q as o,se as p,_e as r,fe as s,Te as t,Ae as u,le as v,he as w,we as x,De as y};
|
|
@@ -0,0 +1,8 @@
|
|
|
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,l as a,m as o,u as s}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{t as c}from"./archive-Dz0hferG.js";import{C as l,T as u,c as d,s as f,u as p}from"./discussion-annotation-sync-BKjf9gWe.js";import{t as m}from"./arrow-left-D880xG-P.js";import{t as h}from"./arrow-right-DSSvoX71.js";import{t as ee}from"./arrow-up-D5ZtR1QT.js";import{f as g}from"./product-automation-feedback-DsUSqCOX.js";import{t as _}from"./calendar-days-hw_Y-g-s.js";import{t as te}from"./chevron-down-ccbiQQz_.js";import{t as ne}from"./popover-select-DniHw2dy.js";import{t as v}from"./ellipsis-0k4rZLoy.js";import{t as y}from"./file-text-D12HbeVy.js";import{t as re}from"./folder-CN-pC3XL.js";import{A as b,D as x,E as S,_ as C,g as w,i as T,p as ie,s as E}from"./notes-api-C_458rv5.js";import{b as D,l as O,n as k,r as A,t as ae,v as j,y as oe}from"./recording-upload-0jxahBMo.js";import{t as se}from"./loader-circle-CifKLtgG.js";import{z as ce}from"./markdown-view-CJt-i2Dp.js";import{t as le}from"./mic-CuUb7zc-.js";import{t as ue}from"./paperclip-f1HujQY1.js";import{t as de}from"./plus-Q2yW6OE7.js";import{t as fe}from"./search-DA7gz22f.js";import{t as pe}from"./sparkles-DHlfQFAF.js";import{t as me}from"./star-BUWJqJ5c.js";import{t as he}from"./trash-2-DusmjVPV.js";import{t as ge}from"./upload-rrb46c3c.js";import{t as M}from"./x-B_N4OPjy.js";import{t as _e}from"./messages-DRR9N3HC.js";import{t as N}from"./cn-0WouolD0.js";import{f as ve,l as ye,n as be}from"./locale-store-lIXD1FMw.js";import{i as xe}from"./vendor-swr-CdRzEUwF.js";import{t as P}from"./skeleton-BI5TyibZ.js";import{r as Se}from"./app-chrome-BeB4KgOf.js";import{t as Ce}from"./page-header-store-DH8K0xii.js";import{t as we}from"./sliding-tab-list-DuQyViqe.js";import{n as Te}from"./index.module-Cd9ENXfk.js";import{t as Ee}from"./confirm-dialog-XGclfBqe.js";import{a as De,c as Oe,o as ke,r as Ae,t as je}from"./dist-DNCdG_qB.js";import{i as Me,t as F}from"./note-detail-panel-DBs1yHLy.js";var I=n(),L=e(t(),1),R=r();function z({projectId:e}){let t=be(e=>e.language)===`zh`,n=s(),r=(0,L.useRef)(null),i=(0,L.useRef)(null),[a,o]=(0,L.useState)(null),[c,l]=(0,L.useState)(null),[u,m]=(0,L.useState)(null);async function h(){let t=i.current;if(!(!t||a!==null)){o(0),l(null);try{let r=await p();if(r.consentAcknowledgedAt==null){m(r.consentPolicyVersion);return}let a=await ae(t.file,t.requestId),s=await d({clientRequestId:t.requestId,contextProjectId:e,source:`web`,consentPolicyVersion:r.consentPolicyVersion});t.discussionId=s.discussion.id,await O({...a,serverDiscussionId:s.discussion.id,projectId:e}),s.discussion.audioAttachmentId||await k(a,s.discussion.id,o),await A(t.requestId),i.current=null,n(`/notes/${encodeURIComponent(s.note.id)}`)}catch(e){l(e instanceof Error?e.message:String(e))}finally{o(null)}}}return(0,R.jsxs)(`div`,{className:`inline-flex flex-wrap items-center gap-2 text-xs`,children:[(0,R.jsx)(`input`,{ref:r,hidden:!0,type:`file`,accept:`audio/*,.m4a,.wav,.mp3,.webm,.ogg`,onChange:e=>{let n=e.target.files?.[0];if(e.target.value=``,n){if(!n.size||n.size>1073741824){l(t?`音频须为 1 字节至 1 GiB`:`Audio must be between 1 byte and 1 GiB`);return}i.current={file:n,requestId:crypto.randomUUID()},h()}}}),(0,R.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1 rounded-md p-2 hover:bg-surface-hover`,disabled:a!==null,onClick:()=>c&&i.current?void h():r.current?.click(),children:[(0,R.jsx)(ge,{className:`size-3.5`}),a===null?c&&i.current?t?`重试导入`:`Retry import`:t?`导入录音`:`Import recording`:`${a}%`]}),u===null?null:(0,R.jsxs)(`span`,{children:[t?`请确认你有权上传此录音,并允许配置的语音服务处理。`:`Confirm permission to upload this recording and process it with your configured speech service.`,(0,R.jsx)(`button`,{type:`button`,className:`p-2 text-accent`,onClick:()=>void f(u).then(()=>(m(null),h())).catch(e=>l(String(e))),children:t?`确认导入`:`Confirm import`})]}),c?(0,R.jsx)(`span`,{role:`alert`,className:`text-danger`,children:c}):null]})}async function Ne(e){e.note??=await T({title:e.title,markdown:e.markdown,projectId:e.projectId,channel:`web`},e.requestId);let t=e.note.id;for(let n=e.attachments.length;n<e.files.length;n++)e.attachments.push(await x(t,e.files[n],`${e.requestId}:file:${n}`));if(e.attachments.length){let n=e.attachments.map(e=>`[${e.fileName.replace(/[\\[\]]/g,`\\$&`).replace(/[\r\n]/g,` `)}](${b(t,e.id)})`);e.note=await S(t,{markdown:`${e.markdown}\n\n## ${e.materialHeading}\n\n${n.join(`
|
|
2
|
+
|
|
3
|
+
`)}`})}return{noteId:t,conversationId:(await C(t,{projectId:e.projectId})).conversationId}}function Pe(e,t,n){let r=new URLSearchParams({draft:n.replace(`{{id}}`,t),autoSend:`1`});return`/chat/${encodeURIComponent(e)}?${r}`}var B={meeting:g,requirements:y,research:j,weekly:_};function Fe({projects:e,projectId:t,onProjectChange:n,onCreated:r,labels:i,projectsLoading:a,projectsError:o}){let c=i.home,l=s(),[u,d]=(0,L.useState)(``),[f,p]=(0,L.useState)(null),[m,h]=(0,L.useState)(!1),[g,_]=(0,L.useState)([]),[v,y]=(0,L.useState)(!1),[b,x]=(0,L.useState)(null),[S,C]=(0,L.useState)(``),w=(0,L.useRef)(null),T=(0,L.useRef)(!1),ie=(0,L.useRef)(null),E=(0,L.useRef)(null),D=v||!!w.current,O=f?c.templateOptions[f]:null,k=!!(u.trim()||g.length);async function A(){if(!(T.current||!k&&!w.current)){T.current=!0,y(!0),x(null),w.current??={requestId:crypto.randomUUID(),title:u.trim().split(`
|
|
4
|
+
`)[0]?.slice(0,80)||O?.label||i.titlePlaceholder,markdown:`## ${c.requestHeading}\n\n${O?`${O.prompt}\n`:``}${u.trim()}`,projectId:t||void 0,files:[...g],attachments:[],materialHeading:c.materialsHeading};try{let e=await Ne(w.current);r(),l(Pe(e.conversationId,e.noteId,c.agentPrompt))}catch(e){w.current.note&&r(),x(e instanceof Error?e.message:i.quickCaptureFailedHint)}finally{T.current=!1,y(!1)}}}function ae(){w.current=null,x(null),d(``),_([]),p(null),h(!1),E.current?.focus()}return(0,R.jsxs)(`section`,{"aria-label":c.askLabel,children:[(0,R.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),A()},className:`relative rounded-xl border border-edge bg-surface-panel p-4 focus-within:border-accent/60 sm:p-5`,children:[(0,R.jsxs)(`fieldset`,{disabled:D,className:`min-w-0`,children:[(0,R.jsxs)(`label`,{htmlFor:`notes-home-prompt`,className:`flex items-center gap-2 text-xs font-medium text-accent-fg`,children:[(0,R.jsx)(pe,{className:`size-4`,"aria-hidden":!0}),c.askLabel]}),(0,R.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:c.agentResultHint}),O?(0,R.jsxs)(`div`,{className:`mt-3 flex items-start gap-2 rounded-lg bg-accent-soft px-3 py-2 text-xs leading-5 text-accent-fg`,children:[(0,R.jsxs)(`p`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`span`,{className:`font-medium`,children:[O.label,` · `]}),O.prompt.split(`
|
|
5
|
+
|
|
6
|
+
`)[0]]}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>p(null),"aria-label":i.searchClear,className:`shrink-0 rounded p-1 hover:bg-surface-hover`,children:(0,R.jsx)(M,{className:`size-3.5`})})]}):null,(0,R.jsx)(`textarea`,{ref:E,id:`notes-home-prompt`,value:u,onChange:e=>d(e.target.value),placeholder:O?O.prompt.split(`
|
|
7
|
+
|
|
8
|
+
`).at(-1):c.askPlaceholder,rows:2,onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&!e.nativeEvent.isComposing&&(e.preventDefault(),A())},className:`mt-2 min-h-16 w-full resize-y bg-transparent py-2 text-base leading-6 text-fg outline-none placeholder:text-fg-muted sm:text-sm`}),g.length?(0,R.jsx)(`ul`,{className:`mb-3 flex flex-wrap gap-2`,children:g.map((e,t)=>(0,R.jsxs)(`li`,{className:`flex max-w-full items-center gap-2 rounded-md border border-edge px-2 py-1 text-xs text-fg-muted`,children:[(0,R.jsx)(ue,{className:`size-3 shrink-0`,"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`truncate`,children:e.name}),(0,R.jsx)(`button`,{type:`button`,"aria-label":`${c.removeMaterial}: ${e.name}`,onClick:()=>_(e=>e.filter((e,n)=>n!==t)),className:`rounded p-1 hover:bg-surface-hover`,children:(0,R.jsx)(M,{className:`size-3`})})]},`${e.name}-${t}`))}):null,(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 sm:pr-40`,children:[(0,R.jsx)(`div`,{className:`w-44 max-w-full`,children:(0,R.jsx)(ne,{value:t,options:e.filter(e=>e.name.toLowerCase().includes(S.toLowerCase())).map(e=>({value:e.id,label:e.name})),selectedLabel:t?e.find(e=>e.id===t)?.name:c.unassigned,placeholder:c.unassigned,emptyLabel:c.unassigned,ariaLabel:c.assignProject,triggerIcon:(0,R.jsx)(re,{className:`size-4 shrink-0`,"aria-hidden":!0}),triggerClassName:`h-8 border-transparent bg-transparent px-2 text-xs text-fg-muted hover:bg-surface-hover`,onChange:n,disabled:D,loading:a,statusMessage:o?c.projectsLoadFailed:void 0,searchPlaceholder:c.projectSearch,searchValue:S,onSearchChange:C})}),(0,R.jsxs)(`button`,{type:`button`,onClick:()=>ie.current?.click(),className:`inline-flex h-8 items-center gap-1.5 rounded-md px-2 text-xs text-fg-muted hover:bg-surface-hover`,children:[(0,R.jsx)(ue,{className:`size-4`,"aria-hidden":!0}),c.addMaterials]}),(0,R.jsx)(`input`,{ref:ie,type:`file`,multiple:!0,className:`hidden`,"aria-label":c.addMaterials,onChange:e=>{let t=Array.from(e.target.files??[]);_(e=>[...e,...t]),e.target.value=``}})]})]}),(0,R.jsx)(`div`,{className:`mt-2 flex justify-end sm:absolute sm:bottom-5 sm:right-5 sm:mt-0`,children:(0,R.jsxs)(`button`,{type:`submit`,disabled:v||!w.current&&!k,className:`inline-flex h-9 items-center gap-2 rounded-lg bg-accent px-4 text-sm font-medium text-on-accent hover:bg-accent-hover focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,children:[v?(0,R.jsx)(se,{className:`size-4 animate-spin`,"aria-hidden":!0}):(0,R.jsx)(ee,{className:`size-4`,"aria-hidden":!0}),v?c.creating:b?c.retry:c.agentCreate]})})]}),b?(0,R.jsxs)(`div`,{className:`mt-3 rounded-lg border border-danger/25 bg-danger-soft px-3 py-3 text-xs text-danger`,role:`alert`,children:[(0,R.jsx)(`p`,{children:b}),w.current?.note?(0,R.jsx)(`p`,{className:`mt-1`,children:c.partialFailure}):null,(0,R.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-3`,children:[w.current?.note?(0,R.jsx)(`button`,{type:`button`,onClick:()=>l(`/notes/${encodeURIComponent(w.current.note.id)}?edit=1`),className:`underline`,children:c.openSavedDraft}):null,(0,R.jsx)(`button`,{type:`button`,onClick:ae,className:`underline`,children:c.newRequest})]})]}):null,(0,R.jsx)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2 text-xs text-fg-muted`,children:(0,R.jsxs)(`button`,{type:`button`,disabled:D,"aria-expanded":m,"aria-controls":`notes-home-templates`,onClick:()=>h(e=>!e),className:`touch-target inline-flex items-center gap-1.5 rounded-md px-2 py-2 hover:bg-surface-hover focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-50`,children:[c.templates,(0,R.jsx)(te,{className:N(`size-3.5 transition-transform`,m&&`rotate-180`),"aria-hidden":!0})]})}),(0,R.jsxs)(we,{id:`notes-home-templates`,hidden:!m,className:N(`mt-1 flex-wrap items-center gap-1 text-xs text-fg-muted`,m?`flex`:`hidden`),role:`group`,"aria-label":c.templates,indicatorClassName:`rounded-md bg-accent-soft`,children:[Object.keys(B).map(e=>{let t=B[e];return(0,R.jsxs)(`button`,{type:`button`,disabled:D,"aria-pressed":f===e,onClick:()=>{p(f===e?null:e),E.current?.focus()},className:N(`inline-flex items-center gap-1.5 rounded-md px-2 py-2 hover:bg-surface-hover disabled:opacity-50`,f===e&&`bg-accent-soft text-accent-fg`),children:[(0,R.jsx)(t,{className:`size-3.5`,"aria-hidden":!0}),c.templateOptions[e].label]},e)}),(0,R.jsx)(`button`,{type:`button`,className:`text-xs text-fg-muted`,onClick:()=>window.dispatchEvent(new CustomEvent(`open-recording-recoveries`)),children:i.discussionCapture.recoveredTitle}),(0,R.jsx)(z,{})]})]})}function Ie(e,t){let n=Number(e.get(`page`)??0),r=Number.isSafeInteger(n)&&n>=0?n:0,i=e.get(`view`);return{projectId:e.get(`projectId`)||void 0,unassigned:e.get(`unassigned`)===`true`||i===`unassigned`||void 0,pinned:i===`favorites`||void 0,agentEdited:i===`agent`||void 0,status:i===`archived`?`archived`:void 0,search:t.trim()||void 0,sortBy:`updatedAt`,sortOrder:`desc`,limit:12,offset:r*12}}function Le(e){let t=e.snippet?.trim()??``,n=e.title?.trim();return n&&t.startsWith(n)?t.slice(n.length).replace(/^[\s::·—-]+/,``):t}function Re(e,t,n){return e.kind===`voice`&&/^Discussion · \d{4}-\d{2}-\d{2} \d{2}:\d{2}$/.test(e.title??``)?n:e.title?.trim()||Le(e).slice(0,48)||t}var V=`touch-target inline-flex min-h-9 items-center justify-center gap-2 rounded-lg px-3 text-sm text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:cursor-not-allowed disabled:opacity-50`;function H(){let e=be(e=>e.language),t=_e(e).notes,n=t.home,r=ye(e=>e.conversationId),i=Ce(e=>e.setPageHeader),d=Ce(e=>e.clearPageHeader),f=s(),{pathname:p,search:ee}=a(),[_,b]=o(),x=_.get(`projectId`)||``,C=_.get(`view`)||`all`,O=_.get(`unassigned`)===`true`||C===`unassigned`,k=_.get(`search`)||``,[A]=Te(k,250),[ae,j]=(0,L.useState)(x),[ce,ue]=(0,L.useState)(``),[ge,M]=(0,L.useState)(null),[F,I]=(0,L.useState)(!1),[z,Ne]=(0,L.useState)(!1),[Pe,B]=(0,L.useState)(new Set),[H,U]=(0,L.useState)(null),[W,ze]=(0,L.useState)(null),G=(0,L.useRef)(new Set),K=(0,L.useRef)(null),Be=(0,L.useRef)(!1),Ve=(0,L.useRef)(null),He=Ie(_,A),q=(He.offset??0)/12,{data:Ue,error:We,isLoading:Ge,mutate:Ke}=xe(r?[`notes-home`,r,He]:null,()=>w(He)),{data:qe,error:Je,isLoading:J,mutate:Ye}=xe(r?[`notes-home-projects`,r]:null,ie),Y=qe?.items??[],Xe=Y.filter(e=>e.noteCount>0).slice(0,2),Ze=Y.find(e=>e.id===x)?.name??n.projectNotes,Qe=Ue?.items??[],X=Ue?.total??0,$e=Ge||k!==A,et=(0,L.useMemo)(()=>({justNow:t.justNow,minutesAgo:t.minutesAgo,today:t.today,yesterday:t.yesterday,daysAgo:t.daysAgo,locale:ve(e)}),[e,t.justNow,t.minutesAgo,t.today,t.yesterday,t.daysAgo]),[tt,nt]=(0,L.useState)(()=>Date.now());(0,L.useEffect)(()=>{j(x)},[x]),(0,L.useEffect)(()=>{let e=window.setInterval(()=>nt(Date.now()),6e4);return()=>window.clearInterval(e)},[]);let Z=(0,L.useCallback)(()=>{Ke().catch(()=>void 0),Ye().catch(()=>void 0)},[Ke,Ye]);(0,L.useEffect)(()=>{let e=[`note-updated`,`note-created`,`note-deleted`,`project-updated`,`project-created`,`project-deleted`];return e.forEach(e=>window.addEventListener(e,Z)),()=>e.forEach(e=>window.removeEventListener(e,Z))},[Z]);let rt=(0,L.useCallback)((e,t=!1)=>{let n=`${p}${ee}`,r=new URLSearchParams({returnTo:n});t&&r.set(`edit`,`1`),f(`/notes/${encodeURIComponent(e)}?${r}`)},[p,ee,f]),Q=(0,L.useCallback)(async()=>{if(!(Be.current||!r)){Be.current=!0,I(!0),M(null),K.current??={key:crypto.randomUUID(),projectId:x||void 0};try{let e=await T({markdown:``,kind:`thought`,projectId:K.current.projectId},K.current.key);K.current=null,Z(),rt(e.id,!0)}catch(e){M(`${t.createBlankFailed}: ${e instanceof Error?e.message:t.createBlankFailedHint}`)}finally{Be.current=!1,I(!1)}}},[x,t.createBlankFailed,t.createBlankFailedHint,rt,Z,r]),it=(0,L.useCallback)(e=>{b(t=>{let n=new URLSearchParams(t);return e?n.set(`search`,e):n.delete(`search`),n.delete(`page`),n},{replace:!0})},[b]);function $(e,t=`all`){let n=new URLSearchParams;e&&n.set(`projectId`,e),t===`unassigned`?n.set(`unassigned`,`true`):t!==`all`&&n.set(`view`,t),j(e),b(n)}function at(e){b(t=>{let n=new URLSearchParams(t);return O&&n.set(`unassigned`,`true`),e===`all`?n.delete(`view`):n.set(`view`,e),n.delete(`page`),n})}async function ot(e,n){if(!G.current.has(e)){G.current.add(e),B(new Set(G.current)),M(null);try{await S(e,{pinned:n}),Z()}catch(e){M(`${t.actionFailed}: ${e instanceof Error?e.message:t.quickCaptureFailedHint}`)}finally{G.current.delete(e),B(new Set(G.current))}}}async function st(){let e=H;if(!(!e||W)){U(null),ze(e.id),M(null);try{await E(e.id),window.dispatchEvent(new CustomEvent(`note-deleted`,{detail:{noteId:e.id}})),Z()}catch(e){M(`${t.deleteFailed}: ${e instanceof Error?e.message:t.quickCaptureFailedHint}`)}finally{ze(null)}}}if((0,L.useLayoutEffect)(()=>{if(!r){d();return}return i({startExtra:null,main:(0,R.jsx)(`h1`,{className:`truncate text-base font-semibold text-fg`,children:t.title}),end:(0,R.jsx)(`div`,{className:N(`flex min-w-0 items-center gap-2`,Se),children:(0,R.jsxs)(`label`,{className:`flex h-9 w-32 min-w-0 items-center gap-2 rounded-lg border border-edge bg-surface-panel px-2 sm:w-48`,children:[(0,R.jsx)(fe,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,R.jsx)(`input`,{ref:Ve,type:`search`,value:k,onChange:e=>it(e.target.value),"aria-label":t.searchDialogTitle,placeholder:t.searchPlaceholder,className:`min-w-0 flex-1 bg-transparent text-sm text-fg outline-none placeholder:text-fg-muted`})]})})}),()=>d()},[d,Q,F,n.blankNote,t.searchDialogTitle,t.searchPlaceholder,t.title,k,i,it,r]),(0,L.useEffect)(()=>{let e=e=>{!(e.metaKey||e.ctrlKey)||e.altKey||e.isComposing||e.target?.closest(`input, textarea, [contenteditable="true"], [role="dialog"]`)||(e.key.toLowerCase()===`n`&&(e.preventDefault(),Q()),e.key.toLowerCase()===`f`&&(e.preventDefault(),Ve.current?.focus()))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[Q]),!r)return(0,R.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8 text-sm text-fg-muted`,children:t.needToken});let ct=[{id:`all`,label:n.homeNav,Icon:oe},{id:`favorites`,label:n.favorites,Icon:me},{id:`unassigned`,label:n.unassigned,Icon:D},{id:`archived`,label:t.filterArchived,Icon:c}],lt=x?`project:${x}`:O?`unassigned`:`all`,ut=!$e&&!We&&X===0&&!x&&!O&&!k&&C===`all`;return(0,R.jsxs)(`div`,{className:`flex h-full min-h-0 w-full flex-1 overflow-hidden bg-surface-panel`,children:[(0,R.jsxs)(`aside`,{className:`hidden w-44 shrink-0 flex-col gap-1 overflow-y-auto px-3 py-6 xl:flex`,"aria-label":n.homeNav,children:[ct.map(({id:e,label:t,Icon:n})=>(0,R.jsxs)(`button`,{type:`button`,onClick:()=>$(``,e),"aria-current":!x&&(e===`unassigned`?O:!O&&C===e)?`page`:void 0,className:N(V,`justify-start px-2 text-left text-xs`,!x&&(e===`unassigned`?O:!O&&C===e)&&`bg-surface-hover font-medium text-fg`),children:[(0,R.jsx)(n,{className:`size-4 shrink-0`,"aria-hidden":!0}),t]},e)),(0,R.jsx)(`span`,{className:`mb-1 mt-7 px-2 text-xs text-fg-muted`,children:n.projects}),J?[0,1,2].map(e=>(0,R.jsx)(P,{className:`mb-2 h-8 w-full`},e)):Y.slice(0,8).map(e=>(0,R.jsxs)(`button`,{type:`button`,onClick:()=>$(e.id),"aria-current":x===e.id?`page`:void 0,className:N(V,`justify-start px-2 text-left text-xs`,x===e.id&&`bg-surface-hover font-medium text-fg`),children:[(0,R.jsx)(re,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`truncate`,children:e.name})]},e.id)),(0,R.jsxs)(`button`,{type:`button`,onClick:()=>f(`/projects`),className:N(V,`mt-2 justify-start px-2 text-xs`),children:[n.allProjects,(0,R.jsx)(h,{className:`ml-auto size-3`,"aria-hidden":!0})]})]}),(0,R.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain`,children:(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-7xl flex-col px-4 pb-4 pt-3 sm:px-6 sm:pb-7 lg:px-8 lg:pb-9 lg:pt-4`,children:[(0,R.jsxs)(`div`,{className:`mb-5 flex flex-wrap items-start justify-between gap-4`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h2`,{className:`min-w-0 break-words text-2xl font-semibold tracking-tight text-fg`,children:x?Ze:O?n.unassigned:ut?n.firstNoteTitle:n.continueTitle}),(0,R.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:x?n.projectDescription:ut?n.firstNoteDescription:n.continueDescription})]}),x?(0,R.jsxs)(`button`,{type:`button`,onClick:()=>f(`/projects/${encodeURIComponent(x)}`),className:N(V,`text-xs`),children:[n.openProject,(0,R.jsx)(h,{className:`size-3.5`,"aria-hidden":!0})]}):null]}),ge?(0,R.jsx)(`p`,{className:`mb-4 rounded-lg border border-danger/25 bg-danger-soft px-3 py-2 text-sm text-danger`,role:`alert`,children:ge}):null,(0,R.jsxs)(`section`,{"aria-label":n.startAction,children:[(0,R.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,R.jsxs)(`button`,{type:`button`,onClick:()=>void Q(),disabled:F,className:`touch-target flex min-h-20 items-center gap-3 rounded-xl border border-edge bg-surface-panel p-4 text-left transition-colors hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-50`,children:[F?(0,R.jsx)(se,{className:`size-5 shrink-0 animate-spin text-fg-muted`,"aria-hidden":!0}):(0,R.jsx)(de,{className:`size-5 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`span`,{className:`block text-sm font-semibold text-fg`,children:n.blankNote}),(0,R.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-fg-muted`,children:n.blankActionHint})]})]}),(0,R.jsxs)(`button`,{type:`button`,"aria-label":n.recordAction,onClick:()=>l(x||void 0),className:`touch-target flex min-h-20 items-center gap-3 rounded-xl border border-edge bg-surface-panel p-4 text-left transition-colors hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[(0,R.jsx)(le,{className:`size-5 shrink-0 text-accent-fg`,"aria-hidden":!0}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`span`,{className:`block text-sm font-semibold text-fg`,children:n.recordAction}),(0,R.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-fg-muted`,children:n.recordActionHint})]})]})]}),(0,R.jsxs)(`button`,{type:`button`,onClick:()=>{Ne(e=>!e),z||window.requestAnimationFrame(()=>document.getElementById(`notes-home-prompt`)?.focus())},"aria-expanded":z,"aria-controls":`notes-home-agent-composer`,title:n.agentActionHint,className:`touch-target mt-2 inline-flex min-h-11 items-center gap-2 rounded-lg px-2 text-sm text-fg-muted hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[(0,R.jsx)(pe,{className:`size-4 text-accent-fg`,"aria-hidden":!0}),n.agentAction,(0,R.jsx)(te,{className:N(`size-4 transition-transform`,z&&`rotate-180`),"aria-hidden":!0})]}),(0,R.jsx)(`div`,{id:`notes-home-agent-composer`,hidden:!z,className:N(`mt-3`,!z&&`hidden`),children:(0,R.jsx)(Fe,{projects:Y,projectId:ae,onProjectChange:j,onCreated:Z,labels:t,projectsLoading:J,projectsError:!!Je})})]}),Je?(0,R.jsxs)(`div`,{role:`alert`,className:`mt-4 flex items-center gap-3 text-xs text-danger`,children:[(0,R.jsx)(`span`,{children:n.projectsLoadFailed}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>void Ye().catch(()=>void 0),className:`underline`,children:n.retry})]}):null,ut?null:(0,R.jsxs)(`section`,{className:`mt-8 pb-6`,"aria-label":n.recentNotes,children:[(0,R.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center justify-between gap-3`,children:[(0,R.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:C===`favorites`?n.favorites:C===`archived`?t.filterArchived:x?n.projectNotes:n.recentNotes}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,R.jsx)(`button`,{type:`button`,"aria-pressed":C===`agent`,onClick:()=>at(C===`agent`?`all`:`agent`),className:N(`touch-target rounded-md px-2 text-xs text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:ring-2 focus-visible:ring-accent`,C===`agent`&&`bg-accent-soft text-accent-fg`),children:n.agentEdited}),(0,R.jsx)(`span`,{className:`hidden text-xs text-fg-muted xl:inline`,children:n.sortUpdated}),(0,R.jsx)(`div`,{className:`w-48 max-w-full xl:hidden`,children:(0,R.jsx)(ne,{value:lt,allowEmpty:!1,ariaLabel:n.projects,placeholder:n.allNotes,options:[{value:`all`,label:n.allNotes},{value:`unassigned`,label:n.unassigned},...Y.filter(e=>e.name.toLowerCase().includes(ce.toLowerCase())).map(e=>({value:`project:${e.id}`,label:e.name}))],selectedLabel:x?Ze:O?n.unassigned:n.allNotes,triggerClassName:`h-8 bg-surface-panel text-xs`,loading:J,searchPlaceholder:n.projectSearch,searchValue:ce,onSearchChange:ue,onChange:e=>$(e.startsWith(`project:`)?e.slice(8):``,e===`unassigned`?e:`all`)})})]})]}),(0,R.jsxs)(we,{className:`flex flex-wrap items-center gap-x-5 border-b border-edge xl:hidden`,"aria-label":t.libraryTitle,role:`group`,children:[[{id:`all`,label:t.filterAll},{id:`favorites`,label:n.favorites},{id:`archived`,label:t.filterArchived}].map(({id:e,label:t})=>(0,R.jsx)(`button`,{type:`button`,"aria-pressed":C===e||e===`all`&&C===`unassigned`,onClick:()=>at(e),className:N(`touch-target border-b-2 border-transparent py-3 text-xs text-fg-muted hover:text-fg`,(C===e||e===`all`&&C===`unassigned`)&&`border-fg font-medium text-fg`),children:t},e)),(0,R.jsx)(`span`,{className:`ml-auto py-3 text-xs text-fg-muted`,children:n.sortUpdated})]}),We?(0,R.jsxs)(`div`,{className:`py-10 text-center`,role:`alert`,children:[(0,R.jsx)(`p`,{className:`text-sm text-danger`,children:n.loadFailed}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>void Ke().catch(()=>void 0),className:N(V,`mt-2`),children:n.retry})]}):$e?(0,R.jsx)(`div`,{"aria-busy":`true`,className:`divide-y divide-edge`,children:[0,1,2,3].map(e=>(0,R.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,R.jsx)(P,{className:`h-10 w-8 shrink-0`}),(0,R.jsxs)(`div`,{className:`flex-1 space-y-2`,children:[(0,R.jsx)(P,{className:`h-4 w-2/3`}),(0,R.jsx)(P,{className:`h-3 w-1/2`})]})]},e))}):Qe.length===0?(0,R.jsxs)(`div`,{className:`flex flex-col items-center px-4 py-12 text-center`,children:[(0,R.jsx)(oe,{className:`mb-4 size-8 text-fg-muted`,strokeWidth:1.3,"aria-hidden":!0}),(0,R.jsx)(`h4`,{className:`text-sm font-medium text-fg`,children:k||C!==`all`&&C!==`unassigned`?n.noMatches:x?n.projectEmpty:n.emptyTitle}),(0,R.jsx)(`p`,{className:`mt-2 max-w-md text-sm leading-6 text-fg-muted`,children:k||C!==`all`&&C!==`unassigned`?n.noMatchesHint:x?n.projectEmptyHint:n.emptyDescription})]}):(0,R.jsx)(`ul`,{className:`divide-y divide-edge`,children:Qe.map(e=>{let r=e.voiceAttachmentId||e.kind===`voice`?g:e.kind===`bookmark`?u:y,i=Re(e,t.titlePlaceholder,n.voiceNote),a=Le(e)||(e.coverAttachmentId?t.imageNote:t.noText);return(0,R.jsxs)(`li`,{className:`group flex min-w-0 items-center gap-3 py-4`,children:[(0,R.jsxs)(`button`,{type:`button`,onClick:()=>rt(e.id),className:`touch-target flex min-w-0 flex-1 items-center gap-3 rounded-md text-left focus-visible:ring-2 focus-visible:ring-accent`,children:[(0,R.jsx)(`span`,{className:`flex h-10 w-8 shrink-0 items-center justify-center rounded-md border border-edge text-fg-muted`,children:(0,R.jsx)(r,{className:`size-4`,"aria-hidden":!0})}),(0,R.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`span`,{className:`block truncate text-base font-medium text-fg sm:text-sm group-hover:text-accent-fg`,children:i}),(0,R.jsxs)(`span`,{className:`mt-1 flex min-w-0 items-center gap-1.5 text-xs text-fg-muted`,children:[e.lastEditTrigger===`ai_edit`?(0,R.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 text-accent-fg`,children:[(0,R.jsx)(pe,{className:`size-3`,"aria-hidden":!0}),n.agentEditLabel,(0,R.jsx)(`span`,{"aria-hidden":!0,children:`·`})]}):null,(0,R.jsx)(`span`,{className:`truncate`,children:a})]}),(0,R.jsx)(`time`,{dateTime:new Date(e.updatedAt).toISOString(),className:`mt-1.5 block text-xs text-fg-muted sm:hidden`,children:Me(e.updatedAt,tt,et)})]})]}),(0,R.jsx)(`span`,{className:`hidden max-w-32 truncate text-xs text-fg-muted md:block`,title:e.projects?.map(e=>e.name).join(` · `),children:e.projects?.map(e=>e.name).join(` · `)||n.unassigned}),(0,R.jsx)(`time`,{dateTime:new Date(e.updatedAt).toISOString(),className:`hidden w-24 shrink-0 text-right text-xs text-fg-muted sm:block`,children:Me(e.updatedAt,tt,et)}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>void ot(e.id,!e.pinned),disabled:Pe.has(e.id),"aria-label":`${e.pinned?n.unfavorite:n.favorite}: ${i}`,"aria-pressed":!!e.pinned,className:`touch-target inline-flex size-9 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg disabled:opacity-50 focus-visible:ring-2 focus-visible:ring-accent`,children:(0,R.jsx)(me,{className:N(`size-4`,e.pinned&&`fill-current text-fg`),"aria-hidden":!0})}),(0,R.jsxs)(ke,{children:[(0,R.jsx)(Oe,{asChild:!0,children:(0,R.jsx)(`button`,{type:`button`,disabled:W===e.id,"aria-label":`${t.noteActions}: ${i}`,className:`touch-target inline-flex size-9 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg disabled:opacity-50 focus-visible:ring-2 focus-visible:ring-accent`,children:W===e.id?(0,R.jsx)(se,{className:`size-4 animate-spin`,"aria-hidden":!0}):(0,R.jsx)(v,{className:`size-4`,"aria-hidden":!0})})}),(0,R.jsx)(De,{children:(0,R.jsx)(je,{align:`end`,sideOffset:4,className:`z-50 min-w-36 rounded-lg border border-edge bg-surface-overlay p-1 shadow-popover`,children:(0,R.jsxs)(Ae,{className:`touch-target flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm text-danger outline-none hover:bg-danger-soft focus:bg-danger-soft`,onSelect:()=>U(e),children:[(0,R.jsx)(he,{className:`size-4`,"aria-hidden":!0}),t.delete]})})})]})]},e.id)})}),!$e&&!We&&X>0?(0,R.jsxs)(`div`,{className:`mt-4 flex flex-wrap items-center justify-between gap-3 text-xs text-fg-muted`,"aria-live":`polite`,children:[(0,R.jsx)(`span`,{children:t.noteCount.replace(`{{count}}`,String(X))}),X>12||q>0?(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":n.previousPage,disabled:q===0,className:V,onClick:()=>b(e=>{let t=new URLSearchParams(e);return t.set(`page`,String(q-1)),t}),children:(0,R.jsx)(m,{className:`size-4`,"aria-hidden":!0})}),(0,R.jsxs)(`span`,{children:[q+1,` / `,Math.max(1,Math.ceil(X/12))]}),(0,R.jsx)(`button`,{type:`button`,"aria-label":n.nextPage,disabled:(q+1)*12>=X,className:V,onClick:()=>b(e=>{let t=new URLSearchParams(e);return t.set(`page`,String(q+1)),t}),children:(0,R.jsx)(h,{className:`size-4`,"aria-hidden":!0})})]}):null]}):null]}),!x&&!O&&(J||Xe.length>0)?(0,R.jsxs)(`section`,{className:`mt-8`,"aria-label":n.continueProjects,children:[(0,R.jsxs)(`div`,{className:`mb-3 flex items-center justify-between`,children:[(0,R.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.continueProjects}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>f(`/projects`),className:`text-xs text-fg-muted hover:text-fg`,children:n.allProjects})]}),(0,R.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:J?[0,1].map(e=>(0,R.jsx)(P,{className:`h-28 w-full`},e)):Xe.map(e=>(0,R.jsxs)(`button`,{type:`button`,onClick:()=>$(e.id),className:`min-w-0 rounded-lg border border-edge bg-surface-panel p-3 text-left transition-colors sm:p-4 hover:bg-surface-base focus-visible:ring-2 focus-visible:ring-accent`,children:[(0,R.jsxs)(`span`,{className:`flex items-center gap-2 text-sm font-medium text-fg`,children:[(0,R.jsx)(re,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`truncate`,children:e.name})]}),e.description?(0,R.jsx)(`p`,{className:`mt-2 hidden line-clamp-1 text-xs text-fg-muted sm:block`,children:e.description}):null,(0,R.jsxs)(`span`,{className:`mt-2 flex flex-wrap items-center justify-between gap-1 text-xs text-fg-muted sm:mt-3`,children:[(0,R.jsx)(`span`,{children:t.noteCount.replace(`{{count}}`,String(e.noteCount))}),(0,R.jsx)(`span`,{children:e.updatedAt?Me(e.updatedAt,tt,et):n.emptyProject})]})]},e.id))})]}):null]})}),(0,R.jsx)(Ee,{open:H!==null,title:t.deleteConfirmTitle,description:t.deleteConfirmDescription.replace(`{{title}}`,H?.title||t.titlePlaceholder),confirmLabel:t.deleteConfirmLabel,cancelLabel:t.deleteCancelLabel,destructive:!0,onConfirm:()=>void st(),onCancel:()=>U(null)})]})}function U(){let e=(0,I.c)(12),{noteId:t}=i(),n=s(),[r]=o(),a;e[0]===r?a=e[1]:(a=ce(r.get(`returnTo`),`/notes`,[`/chat`,`/personal`,`/projects`,`/notes`,`/tasks`]),e[0]=r,e[1]=a);let c=a,l;e[2]!==n||e[3]!==c?(l=()=>{n(c)},e[2]=n,e[3]=c,e[4]=l):l=e[4];let u=l;if(!t)return null;let d=r.get(`edit`)===`1`?`wysiwyg`:`preview`,f;e[5]===r?f=e[6]:(f=r.get(`edit`),e[5]=r,e[6]=f);let p=f===`1`,m;return e[7]!==u||e[8]!==t||e[9]!==d||e[10]!==p?(m=(0,R.jsx)(`div`,{className:`mx-auto flex h-full min-h-0 w-full max-w-6xl flex-1 flex-col`,children:(0,R.jsx)(F,{noteId:t,onBack:u,initialMode:d,autoFocus:p},t)}),e[7]=u,e[8]=t,e[9]=d,e[10]=p,e[11]=m):m=e[11],m}function W(){let e=(0,I.c)(2),{noteId:t}=i(),n;return e[0]===t?n=e[1]:(n=t?(0,R.jsx)(U,{}):(0,R.jsx)(H,{}),e[0]=t,e[1]=n),n}export{W as NotesPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";var i=n(),a=e(t(),1),o=r();function s(e){let t=(0,i.c)(24),n,r,s,c,l,u,d;t[0]===e?(n=t[1],r=t[2],s=t[3],c=t[4],l=t[5],u=t[6],d=t[7]):({value:d,onChange:c,onBlur:s,min:r,max:n,allowEmpty:u,...l}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=s,t[4]=c,t[5]=l,t[6]=u,t[7]=d);let f=u!==void 0&&u,[p,m]=(0,a.useState)(null),h=p??d??``,g;t[8]!==f||t[9]!==c?(g=e=>{let t=e.target.value;if(m(t),t===``){f&&!e.target.validity.badInput&&c?.(e);return}Number.isFinite(e.target.valueAsNumber)&&!e.target.validity.rangeUnderflow&&!e.target.validity.rangeOverflow&&c?.(e)},t[8]=f,t[9]=c,t[10]=g):g=t[10];let _;t[11]!==p||t[12]!==n||t[13]!==r||t[14]!==s||t[15]!==c?(_=e=>{let t=e.currentTarget,i=t.valueAsNumber;if(p!==null&&t.value!==``&&Number.isFinite(i)){let a=r===void 0?-1/0:Number(r),o=n===void 0?1/0:Number(n),s=Math.max(a,Math.min(o,i));s!==i&&(t.value=String(s),c?.(e))}m(null),s?.(e)},t[11]=p,t[12]=n,t[13]=r,t[14]=s,t[15]=c,t[16]=_):_=t[16];let v;return t[17]!==n||t[18]!==r||t[19]!==l||t[20]!==h||t[21]!==g||t[22]!==_?(v=(0,o.jsx)(`input`,{...l,type:`number`,min:r,max:n,value:h,onChange:g,onBlur:_}),t[17]=n,t[18]=r,t[19]=l,t[20]=h,t[21]=g,t[22]=_,t[23]=v):v=t[23],v}export{s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,i as t}from"./locale-store-lIXD1FMw.js";import{n}from"./electron-env-DHOGevH3.js";function r(){if(!n())return;let e=window.location.hash.startsWith(`#/`)?window.location.hash.slice(1):`/`;return e.length<=2048?e:`/`}async function i(i){let a=await e(t(`/api/auth/oauth-async/start`),{method:`POST`,body:JSON.stringify({provider:i,client:n()?`desktop`:`web`,returnPath:r()})});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error||`OAuth start failed: ${a.status}`)}return(await a.json()).payload}async function a(n){let r=await e(t(`/api/auth/oauth-async/${encodeURIComponent(n)}/status`));if(!r.ok)throw Error(`OAuth status: ${r.status}`);return(await r.json()).payload}async function o(n,r){let i=await e(t(`/api/auth/oauth-async/${encodeURIComponent(n)}/code`),{method:`POST`,body:JSON.stringify({code:r})});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.error||`Submit code failed: ${i.status}`)}}async function s(n){let r=await e(t(`/api/auth/oauth-async/${encodeURIComponent(n)}/cancel`),{method:`POST`});if(!r.ok)throw Error(`Cancel OAuth failed: ${r.status}`)}async function c(n){let r=await e(t(`/api/auth/oauth-async/${encodeURIComponent(n)}`),{method:`DELETE`});if(!r.ok)throw Error(`Cleanup session failed: ${r.status}`)}async function l(n){let r=await e(t(`/api/auth/oauth/${encodeURIComponent(n)}`),{method:`DELETE`});if(!r.ok)throw Error(`Revoke OAuth failed: ${r.status}`)}export{i as a,l as i,c as n,o,a as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./electron-env-DHOGevH3.js";function t(){if(e())return null;let t=window.open(`about:blank`,`xopc-oauth`);return t&&(t.opener=null),t}async function n(t,n){return e()?(await window.electronAPI?.shell?.openExternalUrl(t))?.ok===!0:!n||n.closed?!1:(n.location.replace(t),!0)}function r(e){e&&!e.closed&&e.close()}export{n,t as r,r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{t as r}from"./circle-check-C23XjkUj.js";import{t as i}from"./cloud-C4-yfnnk.js";import{t as a}from"./loader-circle-CifKLtgG.js";import{n as o}from"./locale-store-lIXD1FMw.js";import{a as s}from"./vendor-swr-CdRzEUwF.js";import{t as c}from"./button-CnRSIP6m.js";import{n as l}from"./electron-env-DHOGevH3.js";import{i as u}from"./models-hub-cache-za2fWJLg.js";import{a as d,n as f,r as p}from"./oauth-api-C3X9FLYw.js";var m=e(t(),1),h=`xopc-onboarding-model-setup-dismissed`,g=`/api/models/cloud-onboarding`,_=n();function v({providerId:e,displayName:t,connected:n,onConnected:h}){let v=o(e=>e.language),{mutate:y}=s(),b=v===`zh`,[x,S]=(0,m.useState)(`idle`),[C,w]=(0,m.useState)(null),[T,E]=(0,m.useState)(null),D=(0,m.useRef)(!1),O=(0,m.useRef)(null);(0,m.useEffect)(()=>()=>{D.current=!0,O.current?.close(),O.current=null},[]);let k=async()=>{D.current=!1,w(null),E(null),S(`waiting`);let t=l();t||(O.current?.close(),O.current=window.open(`about:blank`,`xopc-oauth`),O.current&&(O.current.opener=null));let n=null,r=null;try{for(n=(await d(e)).sessionId;!D.current;){if(await new Promise(e=>window.setTimeout(e,1e3)),D.current)return;let i=await p(n);if(i.authUrl&&i.authUrl!==r)if(r=i.authUrl,E(i.authUrl),t){let e=await window.electronAPI?.shell?.openExternalUrl(i.authUrl);if(!e?.ok)throw Error(e?.error??`Could not open the system browser.`)}else O.current&&!O.current.closed&&O.current.location.replace(i.authUrl);if(i.status===`failed`||i.status===`cancelled`)throw Error(i.error??i.message??`OAuth authorization failed`);if(i.status===`completed`){e===`xopc-cloud`&&await y(g),await u(),O.current?.close(),O.current=null,S(`connected`),h?.();return}}}catch(e){O.current?.close(),O.current=null,D.current||(S(`idle`),w(e instanceof Error?e.message:b?`连接失败`:`Connection failed`))}finally{n&&f(n).catch(()=>{})}},A=n||x===`connected`;return(0,_.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl border border-edge bg-surface-inset p-4 sm:flex-row sm:items-center sm:justify-between`,children:[(0,_.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,_.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center rounded-lg bg-surface-active text-fg-muted`,children:(0,_.jsx)(i,{className:`size-5`,"aria-hidden":!0})}),(0,_.jsxs)(`div`,{className:`min-w-0`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,_.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:t}),A?(0,_.jsx)(r,{className:`size-4 text-emerald-500`,"aria-label":b?`已连接`:`Connected`}):null]}),(0,_.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:x===`waiting`?b?`请在浏览器中完成 OAuth 授权。`:`Complete OAuth authorization in your browser.`:A?b?`已通过 OAuth 连接。`:`Connected with OAuth.`:b?`使用 OAuth 连接,无需 API Key。`:`Connect with OAuth. No API key is required.`}),x===`waiting`&&T?(0,_.jsx)(`a`,{className:`mt-1 inline-flex text-sm text-accent hover:underline`,href:T,target:`_blank`,rel:`noreferrer`,children:b?`打开授权页面`:`Open authorization page`}):null,C?(0,_.jsx)(`p`,{className:`mt-1 text-sm text-danger`,children:C}):null]})]}),(0,_.jsxs)(c,{type:`button`,variant:A?`secondary`:`primary`,disabled:x===`waiting`,onClick:()=>void k(),children:[x===`waiting`?(0,_.jsx)(a,{className:`size-4 animate-spin`,"aria-hidden":!0}):null,x===`waiting`?b?`等待授权…`:`Waiting…`:A?b?`重新授权`:`Reauthorize`:b?`授权`:`Authorize`]})]})}export{g as n,h as r,v as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{l as r,u as i}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{t as a}from"./file-text-D12HbeVy.js";import{t as o}from"./loader-circle-CifKLtgG.js";import{t as s}from"./messages-DRR9N3HC.js";import{l as c,n as l}from"./locale-store-lIXD1FMw.js";import{t as u}from"./session-manager-5l9q0cd5.js";import{t as d}from"./capabilities-DAyA681v.js";import{n as f,t as p}from"./page-context-draft-ClLgaOaD.js";var m=e(t(),1),h=n();function g({resource:e,selection:t,label:n,disabled:g=!1}){let _=s(l(e=>e.language)).chat.pageContext,v=i(),y=r().key,[b,x]=(0,m.useState)(!1),[S,C]=(0,m.useState)(!1),w=(0,m.useRef)(!1),T=(0,m.useRef)(0),E=c(e=>e.baseUrl),D=c(e=>e.conversationId);(0,m.useEffect)(()=>(w.current=!1,x(!1),C(!1),()=>{T.current+=1}),[y,e.kind,e.id,e.revision,t?.text,t?.draft,g,E,D]);async function O(){if(g||w.current)return;w.current=!0,x(!0),C(!1);let n=T.current,r=()=>T.current===n&&c.getState().baseUrl===E&&c.getState().conversationId===D;try{let n=f.capture({title:``,text:``,resourceRefs:[e],selection:t}),i=await d(`xopc.context.resolve`,n.envelope);if(!r())return;let a=i.resources[0];if(i.resources.length!==1||JSON.stringify(i.snapshot)!==JSON.stringify(n.envelope)||a.reference.kind!==e.kind||a.reference.id!==e.id||a.reference.revision!==e.revision)throw Error(`Context mismatch`);n.title=a.title,n.preview=a.text,n.truncated=a.truncated;let o=await new u().createSession();if(!r())return;if(!f.put(p(E,D,o.key),n))throw Error(`Context draft limit reached`);v(`/chat/${encodeURIComponent(o.key)}`)}catch{r()&&C(!0)}finally{T.current===n&&(w.current=!1,x(!1))}}return(0,h.jsxs)(`div`,{className:`flex min-w-0 flex-col items-start gap-1`,children:[(0,h.jsxs)(`button`,{type:`button`,disabled:g||b,onClick:()=>void O(),"aria-busy":b,title:g?_.unavailable:n??_.capture,className:`inline-flex min-h-9 items-center gap-1.5 rounded-lg border border-edge px-2.5 py-1.5 text-xs text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-50`,children:[b?(0,h.jsx)(o,{className:`size-3.5 animate-spin`,"aria-hidden":!0}):(0,h.jsx)(a,{className:`size-3.5`,"aria-hidden":!0}),n??_.capture]}),S?(0,h.jsx)(`p`,{role:`alert`,className:`max-w-72 text-xs text-danger`,children:_.unavailable}):null]})}export{g as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as e}from"./locale-store-lIXD1FMw.js";import{_ as t}from"./local-session-drafts-B9ZPwotC.js";function n(){let n=crypto.randomUUID(),r=crypto.randomUUID(),i=0,a=e(()=>({drafts:{}}));return{store:a,capture(e){return{envelope:t({version:1,clientInstanceId:n,tabId:r,sequence:++i,surface:`web`,capturedAt:Date.now(),resourceRefs:e.resourceRefs,selection:e.selection}),title:e.title,preview:e.text.slice(0,16e3),truncated:e.text.length>16e3}},put(e,t){let n=a.getState().drafts;return n[e]||Object.keys(n).length>=20?!1:(a.setState({drafts:{...n,[e]:structuredClone(t)}}),!0)},remove(e,t){let n=a.getState().drafts;if(n[e]!==t)return;let r={...n};delete r[e],a.setState({drafts:r})}}}var r=n();function i(e,t,n){return JSON.stringify([e,t??null,n])}export{r as n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as e}from"./locale-store-lIXD1FMw.js";var t={startExtra:null,main:null,end:null},n=e(e=>({...t,setPageHeader:t=>e(t),clearPageHeader:()=>e(t)}));export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-0WouolD0.js";import{n as a}from"./interaction-BdhHBbYa.js";import{n as o,t as s}from"./sliding-indicator-hwz0sx3h.js";var c=n(),l=e(t(),1),u=r();function d(e){let t=(0,c.c)(51),{items:n,activeTab:r,onChange:d,ariaLabel:f,tabIdPrefix:p,panelIdPrefix:m,orientation:h,className:g,buttonClassName:_,selectedClassName:v,unselectedClassName:y,countClassName:b,onReorder:x}=e,S=h===void 0?`horizontal`:h,C=v===void 0?`bg-surface-active text-fg`:v,w=y===void 0?`text-fg-muted hover:bg-surface-hover hover:text-fg`:y,T=(0,l.useRef)(null),E=o(T,`[role="tab"]`,`[role="tab"][aria-selected="true"]`),[D,O]=(0,l.useState)(null),[k,A]=(0,l.useState)(null),j;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>{O(null),A(null)},t[0]=j):j=t[0];let M=j,N;t[1]===g?N=t[2]:(N=i(`relative isolate -mx-1 flex gap-1 overflow-x-auto overscroll-x-contain px-1 pb-1`,g),t[1]=g,t[2]=N);let P;t[3]===x?P=t[4]:(P=e=>{if(!x)return;let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||A(null)},t[3]=x,t[4]=P);let F;t[5]!==r||t[6]!==n||t[7]!==d||t[8]!==S?(F=e=>{let t=S===`vertical`?`ArrowUp`:`ArrowLeft`,i=S===`vertical`?`ArrowDown`:`ArrowRight`;if(![t,i,`Home`,`End`].includes(e.key)||!n.length)return;e.preventDefault();let a=n.findIndex(e=>e.id===r),o=e.key===`Home`?0:e.key===`End`?n.length-1:(Math.max(0,a)+(e.key===i?1:-1)+n.length)%n.length;d(n[o].id);let s=e.currentTarget.querySelectorAll(`[role="tab"]`)[o];s?.focus(),s?.scrollIntoView({block:`nearest`,inline:`nearest`})},t[5]=r,t[6]=n,t[7]=d,t[8]=S,t[9]=F):F=t[9];let I;t[10]!==_||t[11]!==C?(I=i(`rounded-lg`,_,C),t[10]=_,t[11]=C,t[12]=I):I=t[12];let L;t[13]!==E||t[14]!==I?(L=(0,u.jsx)(s,{bounds:E,className:I}),t[13]=E,t[14]=I,t[15]=L):L=t[15];let R;if(t[16]!==r||t[17]!==_||t[18]!==b||t[19]!==D||t[20]!==k||t[21]!==E||t[22]!==n||t[23]!==d||t[24]!==x||t[25]!==m||t[26]!==C||t[27]!==p||t[28]!==w){let e;t[30]!==r||t[31]!==_||t[32]!==b||t[33]!==D||t[34]!==k||t[35]!==E||t[36]!==d||t[37]!==x||t[38]!==m||t[39]!==C||t[40]!==p||t[41]!==w?(e=e=>{let{id:t,icon:n,label:o,count:s,suffix:c,title:l}=e,f=t===r,h=D===t,g=k?.id===t&&k.position===`before`,v=k?.id===t&&k.position===`after`;return(0,u.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":f,tabIndex:f?0:-1,id:p?`${p}-${t}`:void 0,"aria-controls":m?`${m}-${t}`:void 0,"aria-grabbed":x?h:void 0,draggable:!!x,title:l,className:i(`touch-target relative z-[1] inline-flex shrink-0 items-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent`,a.press,f?C:w,x&&`cursor-grab active:cursor-grabbing`,h&&`scale-[0.98] border border-edge bg-surface-active/60 opacity-55 shadow-surface`,(g||v)&&!h&&`bg-surface-hover text-fg`,_),style:f&&E?{backgroundColor:`transparent`,borderColor:`transparent`,boxShadow:`none`}:void 0,onClick:()=>d(t),onDragStart:e=>{x&&(O(t),A(null),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t))},onDragOver:e=>{if(!x||!D)return;if(D===t){A(null);return}e.preventDefault(),e.dataTransfer.dropEffect=`move`;let n=e.currentTarget.getBoundingClientRect(),r=e.clientX<n.left+n.width/2?`before`:`after`;A(e=>e?.id===t&&e.position===r?e:{id:t,position:r})},onDrop:e=>{!x||!D||D===t||(e.preventDefault(),x(D,t,k?.id===t?k.position:`before`),M())},onDragEnd:M,children:[g?(0,u.jsx)(`span`,{className:`pointer-events-none absolute -left-0.5 top-1/2 h-5 w-0.5 -translate-y-1/2 rounded-full bg-accent shadow-[0_0_0_2px_var(--color-surface-panel)]`,"aria-hidden":!0}):null,n?(0,u.jsx)(n,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}):null,(0,u.jsx)(`span`,{children:o}),s==null?null:(0,u.jsx)(`span`,{className:i(`rounded-full bg-surface-hover px-1.5 py-0.5 text-xs tabular-nums text-fg-muted`,b),children:s}),c,v?(0,u.jsx)(`span`,{className:`pointer-events-none absolute -right-0.5 top-1/2 h-5 w-0.5 -translate-y-1/2 rounded-full bg-accent shadow-[0_0_0_2px_var(--color-surface-panel)]`,"aria-hidden":!0}):null]},t)},t[30]=r,t[31]=_,t[32]=b,t[33]=D,t[34]=k,t[35]=E,t[36]=d,t[37]=x,t[38]=m,t[39]=C,t[40]=p,t[41]=w,t[42]=e):e=t[42],R=n.map(e),t[16]=r,t[17]=_,t[18]=b,t[19]=D,t[20]=k,t[21]=E,t[22]=n,t[23]=d,t[24]=x,t[25]=m,t[26]=C,t[27]=p,t[28]=w,t[29]=R}else R=t[29];let z;return t[43]!==f||t[44]!==S||t[45]!==R||t[46]!==N||t[47]!==P||t[48]!==F||t[49]!==L?(z=(0,u.jsxs)(`nav`,{ref:T,"aria-label":f,className:N,role:`tablist`,"aria-orientation":S,onDragLeave:P,onKeyDown:F,children:[L,R]}),t[43]=f,t[44]=S,t[45]=R,t[46]=N,t[47]=P,t[48]=F,t[49]=L,t[50]=z):z=t[50],z}export{d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]);export{t};
|