@hienlh/ppm 0.23.13 → 0.23.15
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/CHANGELOG.md +58 -0
- package/CLAUDE.md +19 -4
- package/THIRD-PARTY-NOTICES.md +1 -1
- package/assets/skills/ppm/SKILL.md +3 -2
- package/assets/skills/ppm/references/cli-reference.md +4 -4
- package/assets/skills/ppm/references/common-tasks.md +6 -0
- package/assets/skills/ppm/references/http-api.md +13 -1
- package/bun.lock +15 -0
- package/dist/web/assets/accounts-settings-section-B5YXy0vd.js +1 -0
- package/dist/web/assets/accounts-settings-section-B5YXy0vd.js.br +0 -0
- package/dist/web/assets/accounts-settings-section-B5YXy0vd.js.gz +0 -0
- package/dist/web/assets/adaptive-context-menu-C4jNSORA.js +1 -0
- package/dist/web/assets/adaptive-context-menu-C4jNSORA.js.br +0 -0
- package/dist/web/assets/adaptive-context-menu-C4jNSORA.js.gz +0 -0
- package/dist/web/assets/agent-session-sheet-Bj42PwCK.js +2 -0
- package/dist/web/assets/agent-session-sheet-Bj42PwCK.js.br +0 -0
- package/dist/web/assets/agent-session-sheet-Bj42PwCK.js.gz +0 -0
- package/dist/web/assets/agent-session-sheet-store-BAfLnsLX.js +1 -0
- package/dist/web/assets/agent-session-window-content-LqL6fVPU.js +1 -0
- package/dist/web/assets/agent-session-window-content-LqL6fVPU.js.br +0 -0
- package/dist/web/assets/agent-session-window-content-LqL6fVPU.js.gz +0 -0
- package/dist/web/assets/ai-resource-editor-jVv2nvAG.js +1 -0
- package/dist/web/assets/ai-resource-editor-jVv2nvAG.js.br +0 -0
- package/dist/web/assets/ai-resource-editor-jVv2nvAG.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-C9Q-v8fY.js +1 -0
- package/dist/web/assets/ai-settings-section-C9Q-v8fY.js.br +0 -0
- package/dist/web/assets/ai-settings-section-C9Q-v8fY.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-CN5BR1ZZ.js +1 -0
- package/dist/web/assets/android-tab-CwqiuEZP.js +2 -0
- package/dist/web/assets/android-tab-CwqiuEZP.js.br +0 -0
- package/dist/web/assets/android-tab-CwqiuEZP.js.gz +0 -0
- package/dist/web/assets/api-client-xQDlhUTu.js +1 -0
- package/dist/web/assets/api-client-xQDlhUTu.js.br +0 -0
- package/dist/web/assets/api-client-xQDlhUTu.js.gz +0 -0
- package/dist/web/assets/api-client-xR05zj6r.js +1 -0
- package/dist/web/assets/api-settings-VAi0LpIJ.js +1 -0
- package/dist/web/assets/api-settings-vmIRFNwZ.js +1 -0
- package/dist/web/assets/api-settings-vmIRFNwZ.js.br +0 -0
- package/dist/web/assets/api-settings-vmIRFNwZ.js.gz +0 -0
- package/dist/web/assets/api-themes-CaXofG7d.js +1 -0
- package/dist/web/assets/appearance-settings-section-D0JIfiRx.js +1 -0
- package/dist/web/assets/appearance-settings-section-D0JIfiRx.js.br +0 -0
- package/dist/web/assets/appearance-settings-section-D0JIfiRx.js.gz +0 -0
- package/dist/web/assets/apps-panel-Cz_KJ37M.js +1 -0
- package/dist/web/assets/apps-panel-Cz_KJ37M.js.br +0 -0
- package/dist/web/assets/apps-panel-Cz_KJ37M.js.gz +0 -0
- package/dist/web/assets/audio-preview-Dq7qZ_6i.js +1 -0
- package/dist/web/assets/audio-preview-Dq7qZ_6i.js.br +0 -0
- package/dist/web/assets/audio-preview-Dq7qZ_6i.js.gz +0 -0
- package/dist/web/assets/branch-review-tab-C3QNpsm7.js +1 -0
- package/dist/web/assets/branch-review-tab-C3QNpsm7.js.br +0 -0
- package/dist/web/assets/branch-review-tab-C3QNpsm7.js.gz +0 -0
- package/dist/web/assets/button-C9ZXWb3b.js +1 -0
- package/dist/web/assets/button-C9ZXWb3b.js.br +0 -0
- package/dist/web/assets/button-C9ZXWb3b.js.gz +0 -0
- package/dist/web/assets/chat-preparation-cache-190LLyy7.js +1 -0
- package/dist/web/assets/chat-preparation-cache-190LLyy7.js.br +0 -0
- package/dist/web/assets/chat-preparation-cache-190LLyy7.js.gz +0 -0
- package/dist/web/assets/chat-tab-D14CUl0J.js +1 -0
- package/dist/web/assets/chat-tab-D14CUl0J.js.br +0 -0
- package/dist/web/assets/chat-tab-D14CUl0J.js.gz +0 -0
- package/dist/web/assets/chat-tab-D8iAVZKV.js +16 -0
- package/dist/web/assets/chat-tab-D8iAVZKV.js.br +0 -0
- package/dist/web/assets/chat-tab-D8iAVZKV.js.gz +0 -0
- package/dist/web/assets/code-editor-B7gbH4-x.js +10 -0
- package/dist/web/assets/code-editor-B7gbH4-x.js.br +0 -0
- package/dist/web/assets/code-editor-B7gbH4-x.js.gz +0 -0
- package/dist/web/assets/codex-reset-credit-button-DQDtyvnd.js +1 -0
- package/dist/web/assets/codex-reset-credit-button-DQDtyvnd.js.br +0 -0
- package/dist/web/assets/codex-reset-credit-button-DQDtyvnd.js.gz +0 -0
- package/dist/web/assets/conflict-editor-ktOkrODA.js +19 -0
- package/dist/web/assets/conflict-editor-ktOkrODA.js.br +0 -0
- package/dist/web/assets/conflict-editor-ktOkrODA.js.gz +0 -0
- package/dist/web/assets/connection-form-tab-CxvExR7T.js +4 -0
- package/dist/web/assets/connection-form-tab-CxvExR7T.js.br +0 -0
- package/dist/web/assets/connection-form-tab-CxvExR7T.js.gz +0 -0
- package/dist/web/assets/context-menu-BCuZYfWC.js +1 -0
- package/dist/web/assets/context-menu-BCuZYfWC.js.br +0 -0
- package/dist/web/assets/context-menu-BCuZYfWC.js.gz +0 -0
- package/dist/web/assets/createLucideIcon-D9_fdOKS.js +1 -0
- package/dist/web/assets/createLucideIcon-D9_fdOKS.js.br +0 -0
- package/dist/web/assets/createLucideIcon-D9_fdOKS.js.gz +0 -0
- package/dist/web/assets/csv-preview-CBDMTEsF.js +10 -0
- package/dist/web/assets/csv-preview-CBDMTEsF.js.br +0 -0
- package/dist/web/assets/csv-preview-CBDMTEsF.js.gz +0 -0
- package/dist/web/assets/database-drivers-section-DJvU6bf5.js +1 -0
- package/dist/web/assets/database-drivers-section-DJvU6bf5.js.br +0 -0
- package/dist/web/assets/database-drivers-section-DJvU6bf5.js.gz +0 -0
- package/dist/web/assets/db-ai-tools-CVbbW_MZ.js +1 -0
- package/dist/web/assets/db-ai-tools-CVbbW_MZ.js.br +0 -0
- package/dist/web/assets/db-ai-tools-CVbbW_MZ.js.gz +0 -0
- package/dist/web/assets/db-explorer-store-BmpvDHz6.js +1 -0
- package/dist/web/assets/db-explorer-store-BmpvDHz6.js.br +0 -0
- package/dist/web/assets/db-explorer-store-BmpvDHz6.js.gz +0 -0
- package/dist/web/assets/db-sidebar-reveal-_qw0CliT.js +1 -0
- package/dist/web/assets/db-sidebar-reveal-_qw0CliT.js.br +0 -0
- package/dist/web/assets/db-sidebar-reveal-_qw0CliT.js.gz +0 -0
- package/dist/web/assets/db-tab-parts-BgVpKbi6.js +1 -0
- package/dist/web/assets/db-tab-parts-BgVpKbi6.js.br +0 -0
- package/dist/web/assets/db-tab-parts-BgVpKbi6.js.gz +0 -0
- package/dist/web/assets/db-types-CNhENouW.js +1 -0
- package/dist/web/assets/design-canvas-check-BIHc2d_k.js +1 -0
- package/dist/web/assets/design-canvas-check-BIHc2d_k.js.br +0 -0
- package/dist/web/assets/design-canvas-check-BIHc2d_k.js.gz +0 -0
- package/dist/web/assets/design-export-client-CJ3w7Zrk.js +1 -0
- package/dist/web/assets/design-export-client-CJ3w7Zrk.js.br +0 -0
- package/dist/web/assets/design-export-client-CJ3w7Zrk.js.gz +0 -0
- package/dist/web/assets/design-responsive-dialog-MAFgVOmv.js +1 -0
- package/dist/web/assets/design-responsive-dialog-MAFgVOmv.js.br +0 -0
- package/dist/web/assets/design-responsive-dialog-MAFgVOmv.js.gz +0 -0
- package/dist/web/assets/design-settings-section-DPGw61pY.js +2 -0
- package/dist/web/assets/design-settings-section-DPGw61pY.js.br +0 -0
- package/dist/web/assets/design-settings-section-DPGw61pY.js.gz +0 -0
- package/dist/web/assets/design-skill-suggestion-Dmmg_ap5.js +3 -0
- package/dist/web/assets/design-skill-suggestion-Dmmg_ap5.js.br +0 -0
- package/dist/web/assets/design-skill-suggestion-Dmmg_ap5.js.gz +0 -0
- package/dist/web/assets/design-tab-BiCqHNl3.js +57 -0
- package/dist/web/assets/design-tab-BiCqHNl3.js.br +0 -0
- package/dist/web/assets/design-tab-BiCqHNl3.js.gz +0 -0
- package/dist/web/assets/designs-sidebar-panel-pcJ2Rx5G.js +1 -0
- package/dist/web/assets/designs-sidebar-panel-pcJ2Rx5G.js.br +0 -0
- package/dist/web/assets/designs-sidebar-panel-pcJ2Rx5G.js.gz +0 -0
- package/dist/web/assets/dialog-Dn_2tuYa.js +1 -0
- package/dist/web/assets/dialog-Dn_2tuYa.js.br +0 -0
- package/dist/web/assets/dialog-Dn_2tuYa.js.gz +0 -0
- package/dist/web/assets/diff-viewer-CLAvyqVG.js +4 -0
- package/dist/web/assets/diff-viewer-CLAvyqVG.js.br +0 -0
- package/dist/web/assets/diff-viewer-CLAvyqVG.js.gz +0 -0
- package/dist/web/assets/docx-preview-XSkD2IL6.js +12 -0
- package/dist/web/assets/docx-preview-XSkD2IL6.js.br +0 -0
- package/dist/web/assets/docx-preview-XSkD2IL6.js.gz +0 -0
- package/dist/web/assets/dropdown-menu-BQidk_OJ.js +1 -0
- package/dist/web/assets/dropdown-menu-BQidk_OJ.js.br +0 -0
- package/dist/web/assets/dropdown-menu-BQidk_OJ.js.gz +0 -0
- package/dist/web/assets/edit-diff-preview-DyWUMlkI.js +7 -0
- package/dist/web/assets/edit-diff-preview-DyWUMlkI.js.br +0 -0
- package/dist/web/assets/edit-diff-preview-DyWUMlkI.js.gz +0 -0
- package/dist/web/assets/editor-dialog-cQvqVZAR.js +1 -0
- package/dist/web/assets/editor-dialog-cQvqVZAR.js.br +0 -0
- package/dist/web/assets/editor-dialog-cQvqVZAR.js.gz +0 -0
- package/dist/web/assets/editor-language-service-6-7mS6_9.js +1 -0
- package/dist/web/assets/editor-language-service-6-7mS6_9.js.br +0 -0
- package/dist/web/assets/editor-language-service-6-7mS6_9.js.gz +0 -0
- package/dist/web/assets/explorer-body-BlGDPmNa.js +2 -0
- package/dist/web/assets/explorer-body-BlGDPmNa.js.br +0 -0
- package/dist/web/assets/explorer-body-BlGDPmNa.js.gz +0 -0
- package/dist/web/assets/explorer-model-BtJN4MZ9.js +1 -0
- package/dist/web/assets/explorer-model-BtJN4MZ9.js.br +0 -0
- package/dist/web/assets/explorer-model-BtJN4MZ9.js.gz +0 -0
- package/dist/web/assets/explorer-window-content-BLWY8GJ_.js +1 -0
- package/dist/web/assets/explorer-window-content-BLWY8GJ_.js.br +0 -0
- package/dist/web/assets/explorer-window-content-BLWY8GJ_.js.gz +0 -0
- package/dist/web/assets/extension-manager-section-NSEt5f4z.js +1 -0
- package/dist/web/assets/extension-manager-section-NSEt5f4z.js.br +0 -0
- package/dist/web/assets/extension-manager-section-NSEt5f4z.js.gz +0 -0
- package/dist/web/assets/extension-webview-BkAEBWin.js +12 -0
- package/dist/web/assets/extension-webview-BkAEBWin.js.br +0 -0
- package/dist/web/assets/extension-webview-BkAEBWin.js.gz +0 -0
- package/dist/web/assets/file-diff-CcDhJkXB.js +1 -0
- package/dist/web/assets/file-icons-JInFtBVl.js +1 -0
- package/dist/web/assets/file-icons-JInFtBVl.js.br +0 -0
- package/dist/web/assets/file-icons-JInFtBVl.js.gz +0 -0
- package/dist/web/assets/file-store-BQ41vIs5.js +1 -0
- package/dist/web/assets/file-store-BQ41vIs5.js.br +0 -0
- package/dist/web/assets/file-store-BQ41vIs5.js.gz +0 -0
- package/dist/web/assets/files-settings-section-Bq7liJ_r.js +1 -0
- package/dist/web/assets/files-settings-section-Bq7liJ_r.js.br +0 -0
- package/dist/web/assets/files-settings-section-Bq7liJ_r.js.gz +0 -0
- package/dist/web/assets/filter-dialog-frame-BkEbqBA4.js +1 -0
- package/dist/web/assets/filter-dialog-frame-BkEbqBA4.js.br +0 -0
- package/dist/web/assets/filter-dialog-frame-BkEbqBA4.js.gz +0 -0
- package/dist/web/assets/format-file-meta-DdYtk07C.js +1 -0
- package/dist/web/assets/format-file-meta-DdYtk07C.js.br +0 -0
- package/dist/web/assets/format-file-meta-DdYtk07C.js.gz +0 -0
- package/dist/web/assets/fs-api-CFtQzsIJ.js +1 -0
- package/dist/web/assets/fs-api-CFtQzsIJ.js.br +0 -0
- package/dist/web/assets/fs-api-CFtQzsIJ.js.gz +0 -0
- package/dist/web/assets/general-settings-section-DvHROAMa.js +1 -0
- package/dist/web/assets/general-settings-section-DvHROAMa.js.br +0 -0
- package/dist/web/assets/general-settings-section-DvHROAMa.js.gz +0 -0
- package/dist/web/assets/git-commit-horizontal-BPdj2L1i.js +1 -0
- package/dist/web/assets/git-log-panel-Cu9kK48H.js +1 -0
- package/dist/web/assets/git-log-panel-Cu9kK48H.js.br +0 -0
- package/dist/web/assets/git-log-panel-Cu9kK48H.js.gz +0 -0
- package/dist/web/assets/git-repo-store-CKB5fdNP.js +1 -0
- package/dist/web/assets/git-repo-store-CKB5fdNP.js.br +0 -0
- package/dist/web/assets/git-repo-store-CKB5fdNP.js.gz +0 -0
- package/dist/web/assets/git-review-tab-B_JT649W.js +3 -0
- package/dist/web/assets/git-review-tab-B_JT649W.js.br +0 -0
- package/dist/web/assets/git-review-tab-B_JT649W.js.gz +0 -0
- package/dist/web/assets/glide-data-grid-BlposOph.js +177 -0
- package/dist/web/assets/glide-data-grid-BlposOph.js.br +0 -0
- package/dist/web/assets/glide-data-grid-BlposOph.js.gz +0 -0
- package/dist/web/assets/grid-save-dialog-B0d0qhnN.js +2 -0
- package/dist/web/assets/grid-save-dialog-B0d0qhnN.js.br +0 -0
- package/dist/web/assets/grid-save-dialog-B0d0qhnN.js.gz +0 -0
- package/dist/web/assets/group-chat-tab-jirUsGm-.js +1 -0
- package/dist/web/assets/group-chat-tab-jirUsGm-.js.br +0 -0
- package/dist/web/assets/group-chat-tab-jirUsGm-.js.gz +0 -0
- package/dist/web/assets/html-preview-loads-CMWBC-iv.js +1 -0
- package/dist/web/assets/icons-BwyIKaTT.js +1 -0
- package/dist/web/assets/icons-BwyIKaTT.js.br +0 -0
- package/dist/web/assets/icons-BwyIKaTT.js.gz +0 -0
- package/dist/web/assets/image-preview-gOBK9zED.js +1 -0
- package/dist/web/assets/impexp-tab-HJVcOTYJ.js +1 -0
- package/dist/web/assets/impexp-tab-HJVcOTYJ.js.br +0 -0
- package/dist/web/assets/impexp-tab-HJVcOTYJ.js.gz +0 -0
- package/dist/web/assets/index-DLB3j_P0.js +59 -0
- package/dist/web/assets/index-DLB3j_P0.js.br +0 -0
- package/dist/web/assets/index-DLB3j_P0.js.gz +0 -0
- package/dist/web/assets/index-M3DUzop8.css +1 -0
- package/dist/web/assets/index-M3DUzop8.css.br +0 -0
- package/dist/web/assets/index-M3DUzop8.css.gz +0 -0
- package/dist/web/assets/input-C3oVNCMq.js +1 -0
- package/dist/web/assets/jira-watcher-section-EQvdnETB.js +1 -0
- package/dist/web/assets/keybindings-store-CEy-Sdcc.js +1 -0
- package/dist/web/assets/keyboard-shortcuts-section-DN21gB-T.js +1 -0
- package/dist/web/assets/keyboard-shortcuts-section-DN21gB-T.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-section-DN21gB-T.js.gz +0 -0
- package/dist/web/assets/language-servers-section-DOcZ72FJ.js +2 -0
- package/dist/web/assets/language-servers-section-DOcZ72FJ.js.br +0 -0
- package/dist/web/assets/language-servers-section-DOcZ72FJ.js.gz +0 -0
- package/dist/web/assets/lib-5Chotbwm.js +2 -0
- package/dist/web/assets/lib-5Chotbwm.js.br +0 -0
- package/dist/web/assets/lib-5Chotbwm.js.gz +0 -0
- package/dist/web/assets/logs-app-C7n9GSCn.js +13 -0
- package/dist/web/assets/logs-app-C7n9GSCn.js.br +0 -0
- package/dist/web/assets/logs-app-C7n9GSCn.js.gz +0 -0
- package/dist/web/assets/logs-tab-CSOiexvx.js +1 -0
- package/dist/web/assets/logs-window-content-C4Qs6-0q.js +1 -0
- package/dist/web/assets/lsp-client-DpYmPhXX.js +1 -0
- package/dist/web/assets/lsp-client-DpYmPhXX.js.br +0 -0
- package/dist/web/assets/lsp-client-DpYmPhXX.js.gz +0 -0
- package/dist/web/assets/markdown-renderer-CtEl6qAt.js +4 -0
- package/dist/web/assets/markdown-renderer-CtEl6qAt.js.br +0 -0
- package/dist/web/assets/markdown-renderer-CtEl6qAt.js.gz +0 -0
- package/dist/web/assets/markdown-renderer-Df3r-CCb.js +1 -0
- package/dist/web/assets/media-url-Cn2yRAxP.js +1 -0
- package/dist/web/assets/metric-chart-canvas-DEW16Su8.js +1 -0
- package/dist/web/assets/metric-chart-canvas-DEW16Su8.js.br +0 -0
- package/dist/web/assets/metric-chart-canvas-DEW16Su8.js.gz +0 -0
- package/dist/web/assets/mobile-bottom-sheet-DArbIyrD.js +1 -0
- package/dist/web/assets/mobile-bottom-sheet-DArbIyrD.js.br +0 -0
- package/dist/web/assets/mobile-bottom-sheet-DArbIyrD.js.gz +0 -0
- package/dist/web/assets/mobile-explorer-sheet-B-rcKEL9.js +1 -0
- package/dist/web/assets/mobile-explorer-sheet-B-rcKEL9.js.br +0 -0
- package/dist/web/assets/mobile-explorer-sheet-B-rcKEL9.js.gz +0 -0
- package/dist/web/assets/new-design-dialog-DgztQK5R.js +1 -0
- package/dist/web/assets/new-design-dialog-DgztQK5R.js.br +0 -0
- package/dist/web/assets/new-design-dialog-DgztQK5R.js.gz +0 -0
- package/dist/web/assets/notification-store-B92dvP_u.js +1 -0
- package/dist/web/assets/notifications-settings-section-JiGvaCFx.js +1 -0
- package/dist/web/assets/notifications-settings-section-JiGvaCFx.js.br +0 -0
- package/dist/web/assets/notifications-settings-section-JiGvaCFx.js.gz +0 -0
- package/dist/web/assets/onboarding-entry-eehqBvyM.js +1 -0
- package/dist/web/assets/onboarding-entry-eehqBvyM.js.br +0 -0
- package/dist/web/assets/onboarding-entry-eehqBvyM.js.gz +0 -0
- package/dist/web/assets/onboarding-quick-orientation-CTHtIRib.js +1 -0
- package/dist/web/assets/onboarding-quick-orientation-CTHtIRib.js.br +0 -0
- package/dist/web/assets/onboarding-quick-orientation-CTHtIRib.js.gz +0 -0
- package/dist/web/assets/open-db-tabs-CtWIWHOa.js +1 -0
- package/dist/web/assets/open-db-tabs-CtWIWHOa.js.br +0 -0
- package/dist/web/assets/open-db-tabs-CtWIWHOa.js.gz +0 -0
- package/dist/web/assets/open-settings-EXR4zoZG.js +1 -0
- package/dist/web/assets/overview-panel-DEGF2DmZ.js +1 -0
- package/dist/web/assets/overview-panel-DEGF2DmZ.js.br +0 -0
- package/dist/web/assets/overview-panel-DEGF2DmZ.js.gz +0 -0
- package/dist/web/assets/panel-store-BJhazigC.js +1 -0
- package/dist/web/assets/panel-store-BJhazigC.js.br +0 -0
- package/dist/web/assets/panel-store-BJhazigC.js.gz +0 -0
- package/dist/web/assets/patch-tab-metadata-C92YkrRX.js +1 -0
- package/dist/web/assets/pdf-preview-C9gMtv2a.js +1 -0
- package/dist/web/assets/pdf-preview-C9gMtv2a.js.br +0 -0
- package/dist/web/assets/pdf-preview-C9gMtv2a.js.gz +0 -0
- package/dist/web/assets/performance-panel-TkwfKIZa.js +3 -0
- package/dist/web/assets/performance-panel-TkwfKIZa.js.br +0 -0
- package/dist/web/assets/performance-panel-TkwfKIZa.js.gz +0 -0
- package/dist/web/assets/portal-container-context-NBi-KGK0.js +1 -0
- package/dist/web/assets/ppmbot-settings-section-XfrZ8VoC.js +1 -0
- package/dist/web/assets/ppmbot-settings-section-XfrZ8VoC.js.br +0 -0
- package/dist/web/assets/ppmbot-settings-section-XfrZ8VoC.js.gz +0 -0
- package/dist/web/assets/pptx-export-B2wCBWlV.js +111 -0
- package/dist/web/assets/pptx-export-B2wCBWlV.js.br +0 -0
- package/dist/web/assets/pptx-export-B2wCBWlV.js.gz +0 -0
- package/dist/web/assets/problems-panel-CDzwSJn6.js +1 -0
- package/dist/web/assets/problems-panel-CDzwSJn6.js.br +0 -0
- package/dist/web/assets/problems-panel-CDzwSJn6.js.gz +0 -0
- package/dist/web/assets/process-row-format-CytRH7g2.js +1 -0
- package/dist/web/assets/process-table-C_B39GHm.js +1 -0
- package/dist/web/assets/process-table-C_B39GHm.js.br +0 -0
- package/dist/web/assets/process-table-C_B39GHm.js.gz +0 -0
- package/dist/web/assets/project-framework-store-DwLxaRan.js +1 -0
- package/dist/web/assets/project-store-BLGl9IAO.js +1 -0
- package/dist/web/assets/project-store-BLGl9IAO.js.br +0 -0
- package/dist/web/assets/project-store-BLGl9IAO.js.gz +0 -0
- package/dist/web/assets/proxy-settings-section-CvaOvYIv.js +1 -0
- package/dist/web/assets/proxy-settings-section-CvaOvYIv.js.br +0 -0
- package/dist/web/assets/proxy-settings-section-CvaOvYIv.js.gz +0 -0
- package/dist/web/assets/query-audit-section-D_WDp1m-.js +1 -0
- package/dist/web/assets/query-audit-section-D_WDp1m-.js.br +0 -0
- package/dist/web/assets/query-audit-section-D_WDp1m-.js.gz +0 -0
- package/dist/web/assets/query-tab-B8aMpAbI.js +22 -0
- package/dist/web/assets/query-tab-B8aMpAbI.js.br +0 -0
- package/dist/web/assets/query-tab-B8aMpAbI.js.gz +0 -0
- package/dist/web/assets/react-BZ0kba1-.js +1 -0
- package/dist/web/assets/remote-access-settings-section-Bv0eawR4.js +1 -0
- package/dist/web/assets/remote-access-settings-section-Bv0eawR4.js.br +0 -0
- package/dist/web/assets/remote-access-settings-section-Bv0eawR4.js.gz +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-BpDakRY0.js +1 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-BpDakRY0.js.br +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-BpDakRY0.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-C5GQ3kzY.js +2 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-C5GQ3kzY.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-C5GQ3kzY.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-CZb5EMEK.js +1 -0
- package/dist/web/assets/remote-desktop-mobile-view-CZb5EMEK.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-CZb5EMEK.js.gz +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-CipNtLX5.js +1 -0
- package/dist/web/assets/remote-desktop-readiness-gate-CipNtLX5.js.br +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-CipNtLX5.js.gz +0 -0
- package/dist/web/assets/remote-desktop-settings-section-ZAsBRwjq.js +1 -0
- package/dist/web/assets/remote-desktop-settings-section-ZAsBRwjq.js.br +0 -0
- package/dist/web/assets/remote-desktop-settings-section-ZAsBRwjq.js.gz +0 -0
- package/dist/web/assets/remote-desktop-window-content-B7OXXvAM.js +1 -0
- package/dist/web/assets/remote-desktop-window-content-B7OXXvAM.js.br +0 -0
- package/dist/web/assets/remote-desktop-window-content-B7OXXvAM.js.gz +0 -0
- package/dist/web/assets/rename-object-dialog-B4W6S7Xg.js +1 -0
- package/dist/web/assets/rename-object-dialog-B4W6S7Xg.js.br +0 -0
- package/dist/web/assets/rename-object-dialog-B4W6S7Xg.js.gz +0 -0
- package/dist/web/assets/review-code-B4osj0k1.js +5 -0
- package/dist/web/assets/review-code-B4osj0k1.js.br +0 -0
- package/dist/web/assets/review-code-B4osj0k1.js.gz +0 -0
- package/dist/web/assets/run-in-terminal-button-m3i-Hcou.js +1 -0
- package/dist/web/assets/run-in-terminal-ujoc25vj.js +1 -0
- package/dist/web/assets/save-as-dialog-DpXv_f1d.js +1 -0
- package/dist/web/assets/save-as-dialog-DpXv_f1d.js.br +5 -0
- package/dist/web/assets/save-as-dialog-DpXv_f1d.js.gz +0 -0
- package/dist/web/assets/schedules-settings-section-BbaPbc28.js +1 -0
- package/dist/web/assets/schedules-settings-section-BbaPbc28.js.br +0 -0
- package/dist/web/assets/schedules-settings-section-BbaPbc28.js.gz +0 -0
- package/dist/web/assets/scroll-area-DOlQJGZp.js +1 -0
- package/dist/web/assets/scroll-area-DOlQJGZp.js.br +0 -0
- package/dist/web/assets/scroll-area-DOlQJGZp.js.gz +0 -0
- package/dist/web/assets/send-to-chat-CWV1qd3c.js +1 -0
- package/dist/web/assets/send-to-chat-CWV1qd3c.js.br +0 -0
- package/dist/web/assets/send-to-chat-CWV1qd3c.js.gz +0 -0
- package/dist/web/assets/separator-DmU9aJwq.js +1 -0
- package/dist/web/assets/services-panel-CZQOrvth.js +1 -0
- package/dist/web/assets/services-panel-CZQOrvth.js.br +0 -0
- package/dist/web/assets/services-panel-CZQOrvth.js.gz +0 -0
- package/dist/web/assets/session-changes-bar-VfS2sHuH.js +1 -0
- package/dist/web/assets/session-changes-bar-VfS2sHuH.js.br +0 -0
- package/dist/web/assets/session-changes-bar-VfS2sHuH.js.gz +0 -0
- package/dist/web/assets/session-list-sync-triggers-DtJI5KF0.js +1 -0
- package/dist/web/assets/session-list-sync-triggers-DtJI5KF0.js.br +0 -0
- package/dist/web/assets/session-list-sync-triggers-DtJI5KF0.js.gz +0 -0
- package/dist/web/assets/session-review-tab-Aq3FEooH.js +6 -0
- package/dist/web/assets/session-review-tab-Aq3FEooH.js.br +0 -0
- package/dist/web/assets/session-review-tab-Aq3FEooH.js.gz +0 -0
- package/dist/web/assets/settings-body-vXbOWchN.js +1 -0
- package/dist/web/assets/settings-body-vXbOWchN.js.br +0 -0
- package/dist/web/assets/settings-body-vXbOWchN.js.gz +0 -0
- package/dist/web/assets/settings-categories-Ajj4ui27.js +1 -0
- package/dist/web/assets/settings-categories-Ajj4ui27.js.br +0 -0
- package/dist/web/assets/settings-categories-Ajj4ui27.js.gz +0 -0
- package/dist/web/assets/settings-rows-DD7Gxmst.js +1 -0
- package/dist/web/assets/settings-rows-DD7Gxmst.js.br +0 -0
- package/dist/web/assets/settings-rows-DD7Gxmst.js.gz +0 -0
- package/dist/web/assets/settings-section-content-CVtvJ6ze.js +1 -0
- package/dist/web/assets/settings-section-content-DkUJFop6.js +2 -0
- package/dist/web/assets/settings-section-content-DkUJFop6.js.br +0 -0
- package/dist/web/assets/settings-section-content-DkUJFop6.js.gz +0 -0
- package/dist/web/assets/settings-store-B4mLp19V.js +2 -0
- package/dist/web/assets/settings-store-B4mLp19V.js.br +0 -0
- package/dist/web/assets/settings-store-B4mLp19V.js.gz +0 -0
- package/dist/web/assets/settings-tab-Cdv9_OIe.js +1 -0
- package/dist/web/assets/settings-window-content-DLa6Ph4u.js +1 -0
- package/dist/web/assets/share-BV49OI6q.css +2 -0
- package/dist/web/assets/share-BV49OI6q.css.br +0 -0
- package/dist/web/assets/share-BV49OI6q.css.gz +0 -0
- package/dist/web/assets/share-D5ufGmNI.js +9 -0
- package/dist/web/assets/share-D5ufGmNI.js.br +0 -0
- package/dist/web/assets/share-D5ufGmNI.js.gz +0 -0
- package/dist/web/assets/slash-command-picker-lILYDfK3.js +1 -0
- package/dist/web/assets/slash-command-picker-lILYDfK3.js.br +0 -0
- package/dist/web/assets/slash-command-picker-lILYDfK3.js.gz +0 -0
- package/dist/web/assets/sortable-header-DwzTFLkG.js +1 -0
- package/dist/web/assets/sortable-header-DwzTFLkG.js.br +0 -0
- package/dist/web/assets/sortable-header-DwzTFLkG.js.gz +0 -0
- package/dist/web/assets/split-sql-statements-DcAeXbk_.js +5 -0
- package/dist/web/assets/split-sql-statements-DcAeXbk_.js.br +0 -0
- package/dist/web/assets/split-sql-statements-DcAeXbk_.js.gz +0 -0
- package/dist/web/assets/sql-completion-provider-CS-ElfgJ.js +1 -0
- package/dist/web/assets/sql-completion-provider-CS-ElfgJ.js.br +0 -0
- package/dist/web/assets/sql-completion-provider-CS-ElfgJ.js.gz +0 -0
- package/dist/web/assets/sql-object-tab-Da42SMK5.js +1 -0
- package/dist/web/assets/sql-object-tab-Da42SMK5.js.br +0 -0
- package/dist/web/assets/sql-object-tab-Da42SMK5.js.gz +0 -0
- package/dist/web/assets/sqlite-viewer-V3SKNukY.js +1 -0
- package/dist/web/assets/sqlite-viewer-V3SKNukY.js.br +0 -0
- package/dist/web/assets/sqlite-viewer-V3SKNukY.js.gz +0 -0
- package/dist/web/assets/start-ellipsis-CU8GkxaV.js +1 -0
- package/dist/web/assets/structure-save-dialog-B635iyPI.js +1 -0
- package/dist/web/assets/structure-save-dialog-B635iyPI.js.br +0 -0
- package/dist/web/assets/structure-save-dialog-B635iyPI.js.gz +0 -0
- package/dist/web/assets/structure-tab-Co9d8ktU.js +3 -0
- package/dist/web/assets/structure-tab-Co9d8ktU.js.br +0 -0
- package/dist/web/assets/structure-tab-Co9d8ktU.js.gz +0 -0
- package/dist/web/assets/system-monitor-body-DC0j8RqP.js +2 -0
- package/dist/web/assets/system-monitor-body-DC0j8RqP.js.br +0 -0
- package/dist/web/assets/system-monitor-body-DC0j8RqP.js.gz +0 -0
- package/dist/web/assets/system-monitor-tab-DA8BcdXo.js +1 -0
- package/dist/web/assets/system-monitor-window-content-BiuLo8XW.js +1 -0
- package/dist/web/assets/tab-host-window-content-Crvt1r5F.js +1 -0
- package/dist/web/assets/tab-host-window-content-Crvt1r5F.js.br +0 -0
- package/dist/web/assets/tab-host-window-content-Crvt1r5F.js.gz +0 -0
- package/dist/web/assets/tab-store-D5I52eLN.js +1 -0
- package/dist/web/assets/table-tab-C2cYw7a0.js +2 -0
- package/dist/web/assets/table-tab-C2cYw7a0.js.br +0 -0
- package/dist/web/assets/table-tab-C2cYw7a0.js.gz +0 -0
- package/dist/web/assets/telegram-bot-token-field-BqNtOo5n.js +1 -0
- package/dist/web/assets/telegram-bot-token-field-BqNtOo5n.js.br +0 -0
- package/dist/web/assets/telegram-bot-token-field-BqNtOo5n.js.gz +0 -0
- package/dist/web/assets/terminal-tab-CrKxibGC.js +3 -0
- package/dist/web/assets/terminal-tab-CrKxibGC.js.br +0 -0
- package/dist/web/assets/terminal-tab-CrKxibGC.js.gz +0 -0
- package/dist/web/assets/tool-cards-BRto67jM.js +15 -0
- package/dist/web/assets/tool-cards-BRto67jM.js.br +0 -0
- package/dist/web/assets/tool-cards-BRto67jM.js.gz +0 -0
- package/dist/web/assets/tools-settings-section-DEvZsrxq.js +1 -0
- package/dist/web/assets/tools-settings-section-DEvZsrxq.js.br +0 -0
- package/dist/web/assets/tools-settings-section-DEvZsrxq.js.gz +0 -0
- package/dist/web/assets/use-at-most-wide-BHsrzvv3.js +1 -0
- package/dist/web/assets/use-blob-url-Clm7wbB_.js +1 -0
- package/dist/web/assets/use-db-driver-installed-anzWkGi5.js +1 -0
- package/dist/web/assets/use-db-read-BCYhIrJM.js +1 -0
- package/dist/web/assets/use-db-read-BCYhIrJM.js.br +0 -0
- package/dist/web/assets/use-db-read-BCYhIrJM.js.gz +0 -0
- package/dist/web/assets/use-db-tab-B8LjdDb7.js +1 -0
- package/dist/web/assets/use-db-tab-B8LjdDb7.js.br +0 -0
- package/dist/web/assets/use-db-tab-B8LjdDb7.js.gz +0 -0
- package/dist/web/assets/use-design-canvas-check-DBsLf1At.js +1 -0
- package/dist/web/assets/use-design-canvas-check-DBsLf1At.js.br +0 -0
- package/dist/web/assets/use-design-canvas-check-DBsLf1At.js.gz +0 -0
- package/dist/web/assets/use-h264-canvas-decoder-_zqeiVx8.js +1 -0
- package/dist/web/assets/use-h264-canvas-decoder-_zqeiVx8.js.br +0 -0
- package/dist/web/assets/use-h264-canvas-decoder-_zqeiVx8.js.gz +0 -0
- package/dist/web/assets/use-inline-blame-CRWJU6Rq.js +16 -0
- package/dist/web/assets/use-inline-blame-CRWJU6Rq.js.br +0 -0
- package/dist/web/assets/use-inline-blame-CRWJU6Rq.js.gz +0 -0
- package/dist/web/assets/use-is-mobile-VRV9eZy1.js +1 -0
- package/dist/web/assets/use-lsp-B-otjr-6.js +6 -0
- package/dist/web/assets/use-lsp-B-otjr-6.js.br +0 -0
- package/dist/web/assets/use-lsp-B-otjr-6.js.gz +0 -0
- package/dist/web/assets/use-monaco-theme-BiDXRJ4e.js +1 -0
- package/dist/web/assets/use-opener-focus-CDRKhHwX.js +1 -0
- package/dist/web/assets/use-process-kill-BW2UW0mZ.js +1 -0
- package/dist/web/assets/use-process-kill-BW2UW0mZ.js.br +0 -0
- package/dist/web/assets/use-process-kill-BW2UW0mZ.js.gz +0 -0
- package/dist/web/assets/use-sql-schema-info-D_Kc2FI7.js +4 -0
- package/dist/web/assets/use-sql-schema-info-D_Kc2FI7.js.br +0 -0
- package/dist/web/assets/use-sql-schema-info-D_Kc2FI7.js.gz +0 -0
- package/dist/web/assets/use-visual-viewport-MmugpRg-.js +1 -0
- package/dist/web/assets/use-websocket-n3Ud9vEA.js +1 -0
- package/dist/web/assets/vendor-markdown-C-P1aR4p.js +291 -0
- package/dist/web/assets/vendor-markdown-C-P1aR4p.js.br +0 -0
- package/dist/web/assets/vendor-markdown-C-P1aR4p.js.gz +0 -0
- package/dist/web/assets/vendor-ui-BTSIXzhZ.js +45 -0
- package/dist/web/assets/vendor-ui-BTSIXzhZ.js.br +0 -0
- package/dist/web/assets/vendor-ui-BTSIXzhZ.js.gz +0 -0
- package/dist/web/assets/video-preview-CjB6wesi.js +1 -0
- package/dist/web/assets/video-preview-CjB6wesi.js.br +0 -0
- package/dist/web/assets/video-preview-CjB6wesi.js.gz +0 -0
- package/dist/web/assets/voice-settings-section-C6Wb6q5o.js +1 -0
- package/dist/web/assets/voice-settings-section-C6Wb6q5o.js.br +0 -0
- package/dist/web/assets/voice-settings-section-C6Wb6q5o.js.gz +0 -0
- package/dist/web/assets/web-preview-tab-doNpegW3.js +1 -0
- package/dist/web/assets/web-preview-tab-doNpegW3.js.br +0 -0
- package/dist/web/assets/web-preview-tab-doNpegW3.js.gz +0 -0
- package/dist/web/assets/window-store-DqX_qmkQ.js +1 -0
- package/dist/web/assets/window-store-DqX_qmkQ.js.br +0 -0
- package/dist/web/assets/window-store-DqX_qmkQ.js.gz +0 -0
- package/dist/web/assets/ws-auth-CbF6GqxP.js +1 -0
- package/dist/web/design-share-page/index.html +18 -0
- package/dist/web/index.html +47 -47
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/dist/web/sw.js +1 -1
- package/dist/web/sw.js.br +0 -0
- package/dist/web/sw.js.gz +0 -0
- package/docs/architecture/ai-chat-and-providers.md +258 -26
- package/docs/architecture/data-and-storage.md +9 -3
- package/docs/architecture/workspace-and-ui.md +42 -5
- package/docs/project-roadmap.md +5 -0
- package/package.json +6 -2
- package/scripts/gen-product-icons.ts +1 -0
- package/src/cli/commands/db-cmd.ts +79 -1
- package/src/providers/claude-agent-sdk-query-options.ts +42 -10
- package/src/providers/claude-agent-sdk.ts +19 -6
- package/src/providers/codex-app-server/codex-provider.ts +9 -3
- package/src/providers/codex-app-server/codex-thread-params.ts +34 -4
- package/src/server/index.ts +17 -5
- package/src/server/middleware/access-log.ts +6 -3
- package/src/server/routes/accounts.ts +3 -2
- package/src/server/routes/chat-file-changes.ts +15 -1
- package/src/server/routes/chat.ts +92 -18
- package/src/server/routes/database-query.ts +14 -5
- package/src/server/routes/database.ts +14 -0
- package/src/server/routes/debug-crash.ts +30 -0
- package/src/server/routes/design-comments.ts +56 -7
- package/src/server/routes/design-share-address.ts +20 -0
- package/src/server/routes/design-share-guest-comments.ts +120 -0
- package/src/server/routes/design-share-guest-files.ts +99 -0
- package/src/server/routes/design-share-guest-shared.ts +95 -0
- package/src/server/routes/design-share-guest.ts +77 -0
- package/src/server/routes/design-shares.ts +90 -0
- package/src/server/routes/designs.ts +2 -0
- package/src/server/routes/settings.ts +12 -0
- package/src/server/routes/static.ts +10 -2
- package/src/server/ws/chat.ts +113 -39
- package/src/server/ws/global.ts +10 -8
- package/src/services/account.service.ts +57 -18
- package/src/services/chat.service.ts +16 -6
- package/src/services/db-ai-tools/db-ai-connections.ts +48 -0
- package/src/services/db-ai-tools/db-ai-format.ts +107 -0
- package/src/services/db-ai-tools/db-ai-run.ts +199 -0
- package/src/services/db-ai-tools/db-ai-target.ts +59 -0
- package/src/services/db-ai-tools/db-ai-tools-endpoint.ts +225 -0
- package/src/services/db-ai-tools/db-ai-tools-tokens.ts +33 -0
- package/src/services/db-ai-tools/db-ai-tools-tool.ts +131 -0
- package/src/services/db-ai-tools/db-approval-broker.ts +157 -0
- package/src/services/db.service.ts +25 -1
- package/src/services/design/bridge/bridge-picker.ts +15 -5
- package/src/services/design/bridge/guest-bridge.ts +19 -0
- package/src/services/design/comments/design-comment-element-context.ts +28 -6
- package/src/services/design/comments/design-comment-input.ts +47 -0
- package/src/services/design/comments/design-comment-views.ts +146 -0
- package/src/services/design/comments/design-comments-revision.ts +19 -0
- package/src/services/design/comments/design-comments-store.ts +82 -9
- package/src/services/design/design-comment-replies.service.ts +126 -0
- package/src/services/design/design-comments.service.ts +77 -34
- package/src/services/design/design-restore.service.ts +6 -2
- package/src/services/design/design-snapshots.service.ts +8 -2
- package/src/services/design/design-store.service.ts +7 -1
- package/src/services/design/design-write-rate-limit.ts +11 -17
- package/src/services/design/preview/design-guest-alias.ts +64 -0
- package/src/services/design/preview/design-preview-html.ts +16 -3
- package/src/services/design/preview/design-preview-scope.ts +29 -5
- package/src/services/design/share/design-share-address.ts +81 -0
- package/src/services/design/share/design-share-changed-files.ts +74 -0
- package/src/services/design/share/design-share-client-key.ts +72 -0
- package/src/services/design/share/design-share-code.ts +116 -0
- package/src/services/design/share/design-share-comments.service.ts +162 -0
- package/src/services/design/share/design-share-guest-link.ts +109 -0
- package/src/services/design/share/design-share-guest-page.ts +86 -0
- package/src/services/design/share/design-share-link-rules.ts +83 -0
- package/src/services/design/share/design-share-links-store.ts +157 -0
- package/src/services/design/share/design-share-links.service.ts +174 -0
- package/src/services/design/share/design-share-notifier.ts +192 -0
- package/src/services/design/share/design-share-rate-limit.ts +71 -0
- package/src/services/design/share/design-share-resolve.ts +31 -0
- package/src/services/mcp-http-endpoint.ts +23 -10
- package/src/services/mysql.service.ts +6 -2
- package/src/services/notification-format.ts +10 -2
- package/src/services/notification-link.ts +1 -1
- package/src/services/notification.service.ts +47 -15
- package/src/services/ppm-password.ts +26 -0
- package/src/services/project-name-for-path.ts +18 -0
- package/src/services/query-audit/query-audit.service.ts +7 -4
- package/src/services/remote-desktop/access-unit-assembler.ts +11 -7
- package/src/services/remote-desktop/nal-splitter.ts +14 -1
- package/src/services/remote-desktop/remote-desktop-capture-wayland.ts +47 -21
- package/src/services/remote-desktop/remote-desktop-encoder-args.ts +5 -3
- package/src/services/session-file-baselines/session-file-baselines.service.ts +48 -0
- package/src/services/session-file-baselines/session-file-blame.ts +57 -24
- package/src/services/session-file-baselines/session-file-changes.service.ts +220 -22
- package/src/services/session-file-baselines/session-file-history.ts +5 -1
- package/src/services/session-file-baselines/session-file-writes.ts +28 -0
- package/src/services/sliding-window-limiter.ts +106 -0
- package/src/services/tab-tools-mcp/open-url-tool.ts +149 -0
- package/src/services/tab-tools-mcp/tab-open-broker.ts +12 -4
- package/src/services/tab-tools-mcp/tab-tools-mcp-endpoint.ts +66 -22
- package/src/services/tab-tools-mcp/tab-tools-mcp-tokens.ts +3 -1
- package/src/services/tab-tools-mcp/tab-tools-mcp-tool.ts +78 -6
- package/src/services/tab-tools-mcp/terminal-text.ts +45 -0
- package/src/services/tab-tools-mcp/terminal-tools.ts +297 -0
- package/src/services/terminal.service.ts +39 -4
- package/src/shared/db-ai-tools.ts +118 -0
- package/src/shared/db-query-script.ts +16 -0
- package/src/shared/design-comment-thread-types.ts +80 -0
- package/src/shared/design-comment-types.ts +53 -4
- package/src/shared/design-share-guest-types.ts +59 -0
- package/src/shared/design-share-types.ts +100 -0
- package/src/shared/notification-settings.ts +4 -3
- package/src/shared/ppm-tools.ts +39 -0
- package/src/shared/session-file-changes.ts +16 -0
- package/src/shared/tab-open-protocol.ts +50 -6
- package/src/shared/untrusted-text.ts +15 -1
- package/src/types/chat.ts +7 -1
- package/src/types/config.ts +5 -2
- package/src/types/database.ts +6 -0
- package/src/web/components/chat/chat-history-bar.tsx +10 -6
- package/src/web/components/chat/chat-tab.tsx +7 -1
- package/src/web/components/chat/db-execute-approval-card.tsx +100 -0
- package/src/web/components/chat/db-tool-card.tsx +42 -0
- package/src/web/components/chat/device-tool-card.tsx +45 -0
- package/src/web/components/chat/message-input.tsx +9 -6
- package/src/web/components/chat/message-list.tsx +6 -1
- package/src/web/components/chat/message-markdown.tsx +6 -3
- package/src/web/components/chat/message-user-bubble.tsx +2 -1
- package/src/web/components/chat/model-thinking-selector.tsx +6 -4
- package/src/web/components/chat/prompt-cache-chip.tsx +1 -1
- package/src/web/components/chat/running-agents-bar.tsx +164 -76
- package/src/web/components/chat/session-changes-bar.tsx +46 -13
- package/src/web/components/chat/tool-cards.tsx +29 -1
- package/src/web/components/chat/turn-change-rollup.tsx +8 -1
- package/src/web/components/chat/usage-badge.tsx +3 -3
- package/src/web/components/database/query/query-run-state.ts +11 -1
- package/src/web/components/database/query/query-tab.tsx +33 -7
- package/src/web/components/database/query/use-query-runner.ts +3 -0
- package/src/web/components/database/query/write-once-dialog.tsx +70 -0
- package/src/web/components/design/canvas/design-canvas-pane.tsx +5 -2
- package/src/web/components/design/comments/comment-author-label.tsx +23 -0
- package/src/web/components/design/comments/comment-composer.tsx +6 -14
- package/src/web/components/design/comments/comment-pins-overlay.tsx +8 -3
- package/src/web/components/design/comments/comment-thread-replies.tsx +82 -0
- package/src/web/components/design/comments/comment-thread-text-box.tsx +69 -0
- package/src/web/components/design/comments/comment-thread-view.tsx +115 -0
- package/src/web/components/design/comments/comments-panel.tsx +33 -10
- package/src/web/components/design/comments/comments-send-preview.tsx +20 -8
- package/src/web/components/design/comments/design-comments-layer.tsx +3 -1
- package/src/web/components/design/comments/use-comment-pins.ts +3 -0
- package/src/web/components/design/comments/use-design-comments-feature.ts +40 -25
- package/src/web/components/design/comments/use-design-comments.ts +44 -12
- package/src/web/components/design/design-split-layout.tsx +106 -10
- package/src/web/components/design/design-tab-context.ts +2 -0
- package/src/web/components/design/design-tab.tsx +5 -1
- package/src/web/components/design/design-toolbar.tsx +24 -4
- package/src/web/components/design/share/design-share-dialog.tsx +81 -0
- package/src/web/components/design/share/new-share-link-form.tsx +85 -0
- package/src/web/components/design/share/share-address-block.tsx +101 -0
- package/src/web/components/design/share/share-changed-files.tsx +30 -0
- package/src/web/components/design/share/share-expiry-picker.tsx +44 -0
- package/src/web/components/design/share/share-repin-panel.tsx +64 -0
- package/src/web/components/design/share/share-row-panel.tsx +35 -0
- package/src/web/components/design/share/share-version-picker.tsx +67 -0
- package/src/web/components/design/share/shared-link-action-panels.tsx +120 -0
- package/src/web/components/design/share/shared-link-row.tsx +131 -0
- package/src/web/components/design/share/shared-links-list.tsx +33 -0
- package/src/web/components/design/share/use-share-address.ts +74 -0
- package/src/web/components/design/share/use-share-links.ts +93 -0
- package/src/web/components/design/use-design-layout.ts +7 -4
- package/src/web/components/editor/diff-viewer.tsx +16 -12
- package/src/web/components/editor/docx-preview.tsx +7 -2
- package/src/web/components/floating-window/close-window.ts +32 -0
- package/src/web/components/floating-window/floating-window.tsx +65 -24
- package/src/web/components/floating-window/open-tab-in-pip.ts +3 -0
- package/src/web/components/floating-window/use-window-drag.ts +33 -7
- package/src/web/components/floating-window/use-window-meta.ts +138 -0
- package/src/web/components/floating-window/window-chrome-contract.ts +19 -2
- package/src/web/components/floating-window/window-dock-layout.ts +72 -0
- package/src/web/components/floating-window/window-dock-list.tsx +156 -0
- package/src/web/components/floating-window/window-dock.tsx +192 -0
- package/src/web/components/floating-window/window-geometry.ts +39 -1
- package/src/web/components/floating-window/window-layer.tsx +59 -23
- package/src/web/components/floating-window/window-persistence.ts +16 -3
- package/src/web/components/floating-window/window-store-types.ts +13 -2
- package/src/web/components/floating-window/window-store.ts +75 -8
- package/src/web/components/floating-window/window-title-identity.tsx +86 -0
- package/src/web/components/layout/status-bar.tsx +3 -0
- package/src/web/components/layout/tab-pop-out-menu-item.tsx +2 -2
- package/src/web/components/logs/open-logs.ts +0 -1
- package/src/web/components/os-explorer/actions/explorer-actions-upload.ts +2 -1
- package/src/web/components/os-explorer/skins/macos-window-chrome.tsx +17 -11
- package/src/web/components/os-explorer/skins/windows-window-chrome.tsx +14 -5
- package/src/web/components/remote-desktop/use-remote-desktop-readiness.ts +8 -3
- package/src/web/components/settings/accounts/account-add-dialog.tsx +25 -13
- package/src/web/components/settings/accounts/claude-accounts-section.tsx +3 -3
- package/src/web/components/settings/ai-settings-section.tsx +0 -20
- package/src/web/components/settings/design-settings-section.tsx +3 -0
- package/src/web/components/settings/design-window-setting.tsx +28 -0
- package/src/web/components/settings/settings-categories.ts +3 -0
- package/src/web/components/settings/settings-section-content.tsx +1 -0
- package/src/web/components/settings/tools-settings-section.tsx +120 -0
- package/src/web/components/shared/docx-html-sanitize.ts +59 -0
- package/src/web/components/shared/markdown-code-block.tsx +3 -1
- package/src/web/components/shared/markdown-renderer.tsx +15 -3
- package/src/web/components/shared/markdown-sanitize.ts +65 -0
- package/src/web/components/web-preview/web-preview-tab.tsx +6 -3
- package/src/web/design-share-page/index.html +17 -0
- package/src/web/design-share-page/main.tsx +11 -0
- package/src/web/design-share-page/share-api.ts +131 -0
- package/src/web/design-share-page/share-app.tsx +14 -0
- package/src/web/design-share-page/share-bottom-sheet.tsx +61 -0
- package/src/web/design-share-page/share-canvas.tsx +92 -0
- package/src/web/design-share-page/share-composer.tsx +104 -0
- package/src/web/design-share-page/share-entry.tsx +92 -0
- package/src/web/design-share-page/share-identity.ts +81 -0
- package/src/web/design-share-page/share-name-prompt.tsx +59 -0
- package/src/web/design-share-page/share-panel-content.tsx +57 -0
- package/src/web/design-share-page/share-pins-overlay.tsx +50 -0
- package/src/web/design-share-page/share-review.tsx +123 -0
- package/src/web/design-share-page/share-states.tsx +78 -0
- package/src/web/design-share-page/share-thread-model.ts +83 -0
- package/src/web/design-share-page/share-thread-view.tsx +61 -0
- package/src/web/design-share-page/share-threads-panel.tsx +103 -0
- package/src/web/design-share-page/share-toolbar.tsx +105 -0
- package/src/web/design-share-page/share-ui.ts +30 -0
- package/src/web/design-share-page/share.css +63 -0
- package/src/web/design-share-page/use-share-canvas.ts +51 -0
- package/src/web/design-share-page/use-share-info.ts +34 -0
- package/src/web/design-share-page/use-share-session.ts +75 -0
- package/src/web/design-share-page/use-share-threads.ts +139 -0
- package/src/web/hooks/use-chat.ts +5 -2
- package/src/web/hooks/use-design-session-redirect.ts +3 -2
- package/src/web/hooks/use-git-repo.ts +36 -16
- package/src/web/hooks/use-global-events.ts +4 -0
- package/src/web/hooks/use-inline-blame.ts +17 -11
- package/src/web/hooks/use-notification-clicks.ts +23 -5
- package/src/web/hooks/use-session-file-changes.ts +118 -41
- package/src/web/hooks/use-url-sync.ts +5 -4
- package/src/web/lib/api-settings.ts +2 -0
- package/src/web/lib/chat-attempt-lifecycle.ts +3 -1
- package/src/web/lib/db-tool-call.ts +57 -0
- package/src/web/lib/design/api-design-comments.ts +39 -9
- package/src/web/lib/design/api-design-shares.ts +47 -0
- package/src/web/lib/design/design-comments-prompt.ts +108 -23
- package/src/web/lib/design/design-layout-mode.ts +16 -1
- package/src/web/lib/design/design-share-address-state.ts +88 -0
- package/src/web/lib/design/design-share-expiry.ts +96 -0
- package/src/web/lib/design/design-share-link-status.ts +66 -0
- package/src/web/lib/design/design-view-prefs.ts +20 -1
- package/src/web/lib/design/open-design-tab.ts +54 -1
- package/src/web/lib/git-repo-scope.ts +60 -0
- package/src/web/lib/icons.generated.tsx +3 -1
- package/src/web/lib/model-display-name.ts +16 -0
- package/src/web/lib/open-ai-tab.ts +129 -19
- package/src/web/lib/running-agent-rows.ts +52 -0
- package/src/web/lib/session-file-changes-client.ts +6 -0
- package/src/web/lib/session-file-changes.ts +13 -0
- package/src/web/lib/tab-tool-call.ts +37 -1
- package/src/web/lib/utils.ts +4 -1
- package/src/web/stores/panel-store.ts +13 -1
- package/src/web/stores/panel-utils.ts +9 -4
- package/src/web/stores/settings-store.ts +14 -0
- package/src/web/stores/window-panel-actions.ts +21 -3
- package/src/web/stores/window-panel-persistence.ts +2 -1
- package/src/web/sw-notification-click.ts +12 -1
- package/templates/skill/SKILL.md.tmpl +2 -1
- package/templates/skill/common-tasks.md +6 -0
- package/vite.config.ts +10 -0
- package/vite.share.config.ts +43 -0
- package/dist/web/assets/accounts-settings-section-DU-lTifs.js +0 -1
- package/dist/web/assets/accounts-settings-section-DU-lTifs.js.br +0 -0
- package/dist/web/assets/accounts-settings-section-DU-lTifs.js.gz +0 -0
- package/dist/web/assets/adaptive-context-menu-Cq7ynvIn.js +0 -1
- package/dist/web/assets/adaptive-context-menu-Cq7ynvIn.js.br +0 -0
- package/dist/web/assets/adaptive-context-menu-Cq7ynvIn.js.gz +0 -0
- package/dist/web/assets/agent-session-sheet-At6Rt-Yf.js +0 -2
- package/dist/web/assets/agent-session-sheet-At6Rt-Yf.js.br +0 -0
- package/dist/web/assets/agent-session-sheet-At6Rt-Yf.js.gz +0 -0
- package/dist/web/assets/agent-session-sheet-store-BoBrAw5i.js +0 -1
- package/dist/web/assets/agent-session-window-content-CB_uvabH.js +0 -1
- package/dist/web/assets/agent-session-window-content-CB_uvabH.js.br +0 -0
- package/dist/web/assets/agent-session-window-content-CB_uvabH.js.gz +0 -0
- package/dist/web/assets/ai-resource-editor-Czearm3I.js +0 -1
- package/dist/web/assets/ai-resource-editor-Czearm3I.js.br +0 -0
- package/dist/web/assets/ai-resource-editor-Czearm3I.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-AOgAUCgH.js +0 -1
- package/dist/web/assets/ai-settings-section-B_OFMlrt.js +0 -1
- package/dist/web/assets/ai-settings-section-B_OFMlrt.js.br +0 -0
- package/dist/web/assets/ai-settings-section-B_OFMlrt.js.gz +0 -0
- package/dist/web/assets/android-tab-L7DmLfHG.js +0 -2
- package/dist/web/assets/android-tab-L7DmLfHG.js.br +0 -0
- package/dist/web/assets/android-tab-L7DmLfHG.js.gz +0 -0
- package/dist/web/assets/api-client-DAQfiXg0.js +0 -1
- package/dist/web/assets/api-client-OiA8Ida1.js +0 -1
- package/dist/web/assets/api-client-OiA8Ida1.js.br +0 -0
- package/dist/web/assets/api-client-OiA8Ida1.js.gz +0 -0
- package/dist/web/assets/api-settings-D2H6gjen.js +0 -1
- package/dist/web/assets/api-settings-D2H6gjen.js.br +0 -0
- package/dist/web/assets/api-settings-D2H6gjen.js.gz +0 -0
- package/dist/web/assets/api-settings-DHhcUHtx.js +0 -1
- package/dist/web/assets/api-themes-CE8gPZ3X.js +0 -1
- package/dist/web/assets/appearance-settings-section-s3KWKTBm.js +0 -1
- package/dist/web/assets/appearance-settings-section-s3KWKTBm.js.br +0 -0
- package/dist/web/assets/appearance-settings-section-s3KWKTBm.js.gz +0 -0
- package/dist/web/assets/apps-panel-DaojtUvh.js +0 -1
- package/dist/web/assets/apps-panel-DaojtUvh.js.br +0 -0
- package/dist/web/assets/apps-panel-DaojtUvh.js.gz +0 -0
- package/dist/web/assets/audio-preview-CWcPZqTA.js +0 -1
- package/dist/web/assets/audio-preview-CWcPZqTA.js.br +0 -4
- package/dist/web/assets/audio-preview-CWcPZqTA.js.gz +0 -0
- package/dist/web/assets/branch-review-tab-9UB4ccpF.js +0 -1
- package/dist/web/assets/branch-review-tab-9UB4ccpF.js.br +0 -0
- package/dist/web/assets/branch-review-tab-9UB4ccpF.js.gz +0 -0
- package/dist/web/assets/button-Br60hGkw.js +0 -1
- package/dist/web/assets/button-Br60hGkw.js.br +0 -0
- package/dist/web/assets/button-Br60hGkw.js.gz +0 -0
- package/dist/web/assets/chat-preparation-cache-CRX9WAK5.js +0 -1
- package/dist/web/assets/chat-preparation-cache-CRX9WAK5.js.br +0 -0
- package/dist/web/assets/chat-preparation-cache-CRX9WAK5.js.gz +0 -0
- package/dist/web/assets/chat-tab-DMVb_mgx.js +0 -1
- package/dist/web/assets/chat-tab-DMVb_mgx.js.br +0 -0
- package/dist/web/assets/chat-tab-DMVb_mgx.js.gz +0 -0
- package/dist/web/assets/chat-tab-s7uAnh-h.js +0 -17
- package/dist/web/assets/chat-tab-s7uAnh-h.js.br +0 -0
- package/dist/web/assets/chat-tab-s7uAnh-h.js.gz +0 -0
- package/dist/web/assets/code-editor-JK49X9EX.js +0 -10
- package/dist/web/assets/code-editor-JK49X9EX.js.br +0 -0
- package/dist/web/assets/code-editor-JK49X9EX.js.gz +0 -0
- package/dist/web/assets/codex-reset-credit-button-CxJsBnff.js +0 -1
- package/dist/web/assets/codex-reset-credit-button-CxJsBnff.js.br +0 -0
- package/dist/web/assets/codex-reset-credit-button-CxJsBnff.js.gz +0 -0
- package/dist/web/assets/conflict-editor-rOpVkK9P.js +0 -19
- package/dist/web/assets/conflict-editor-rOpVkK9P.js.br +0 -0
- package/dist/web/assets/conflict-editor-rOpVkK9P.js.gz +0 -0
- package/dist/web/assets/connection-form-tab-BGmb918E.js +0 -4
- package/dist/web/assets/connection-form-tab-BGmb918E.js.br +0 -0
- package/dist/web/assets/connection-form-tab-BGmb918E.js.gz +0 -0
- package/dist/web/assets/context-menu-BoQ6lxte.js +0 -1
- package/dist/web/assets/context-menu-BoQ6lxte.js.br +0 -0
- package/dist/web/assets/context-menu-BoQ6lxte.js.gz +0 -0
- package/dist/web/assets/createLucideIcon-DBXq3G0e.js +0 -1
- package/dist/web/assets/createLucideIcon-DBXq3G0e.js.br +0 -0
- package/dist/web/assets/createLucideIcon-DBXq3G0e.js.gz +0 -0
- package/dist/web/assets/csv-preview-CM7su92m.js +0 -10
- package/dist/web/assets/csv-preview-CM7su92m.js.br +0 -0
- package/dist/web/assets/csv-preview-CM7su92m.js.gz +0 -0
- package/dist/web/assets/database-drivers-section-C6ZKPWaE.js +0 -1
- package/dist/web/assets/database-drivers-section-C6ZKPWaE.js.br +0 -0
- package/dist/web/assets/database-drivers-section-C6ZKPWaE.js.gz +0 -0
- package/dist/web/assets/db-explorer-store-BcLxq-X0.js +0 -1
- package/dist/web/assets/db-explorer-store-BcLxq-X0.js.br +0 -0
- package/dist/web/assets/db-explorer-store-BcLxq-X0.js.gz +0 -0
- package/dist/web/assets/db-tab-parts-DvmnlA6V.js +0 -1
- package/dist/web/assets/db-tab-parts-DvmnlA6V.js.br +0 -0
- package/dist/web/assets/db-tab-parts-DvmnlA6V.js.gz +0 -0
- package/dist/web/assets/db-types-9ac-eYxf.js +0 -1
- package/dist/web/assets/db-types-9ac-eYxf.js.br +0 -0
- package/dist/web/assets/db-types-9ac-eYxf.js.gz +0 -0
- package/dist/web/assets/design-canvas-check-Bo76Q6Qr.js +0 -1
- package/dist/web/assets/design-canvas-check-Bo76Q6Qr.js.br +0 -0
- package/dist/web/assets/design-canvas-check-Bo76Q6Qr.js.gz +0 -0
- package/dist/web/assets/design-export-client-ClwRg798.js +0 -1
- package/dist/web/assets/design-export-client-ClwRg798.js.br +0 -0
- package/dist/web/assets/design-export-client-ClwRg798.js.gz +0 -0
- package/dist/web/assets/design-responsive-dialog-Cdccv3Nw.js +0 -1
- package/dist/web/assets/design-responsive-dialog-Cdccv3Nw.js.br +0 -0
- package/dist/web/assets/design-responsive-dialog-Cdccv3Nw.js.gz +0 -0
- package/dist/web/assets/design-settings-section-CuxZSLAr.js +0 -2
- package/dist/web/assets/design-settings-section-CuxZSLAr.js.br +0 -0
- package/dist/web/assets/design-settings-section-CuxZSLAr.js.gz +0 -0
- package/dist/web/assets/design-skill-suggestion-DZQjG8FV.js +0 -3
- package/dist/web/assets/design-skill-suggestion-DZQjG8FV.js.br +0 -0
- package/dist/web/assets/design-skill-suggestion-DZQjG8FV.js.gz +0 -0
- package/dist/web/assets/design-tab-JlKmHVkd.js +0 -57
- package/dist/web/assets/design-tab-JlKmHVkd.js.br +0 -0
- package/dist/web/assets/design-tab-JlKmHVkd.js.gz +0 -0
- package/dist/web/assets/designs-sidebar-panel-C1EwWf4Z.js +0 -1
- package/dist/web/assets/designs-sidebar-panel-C1EwWf4Z.js.br +0 -0
- package/dist/web/assets/designs-sidebar-panel-C1EwWf4Z.js.gz +0 -0
- package/dist/web/assets/dialog-DOaEX6AK.js +0 -1
- package/dist/web/assets/dialog-DOaEX6AK.js.br +0 -0
- package/dist/web/assets/dialog-DOaEX6AK.js.gz +0 -0
- package/dist/web/assets/diff-viewer-FidH7Nsq.js +0 -4
- package/dist/web/assets/diff-viewer-FidH7Nsq.js.br +0 -0
- package/dist/web/assets/diff-viewer-FidH7Nsq.js.gz +0 -0
- package/dist/web/assets/docx-preview-ENiLGqzy.js +0 -12
- package/dist/web/assets/docx-preview-ENiLGqzy.js.br +0 -0
- package/dist/web/assets/docx-preview-ENiLGqzy.js.gz +0 -0
- package/dist/web/assets/dropdown-menu-DB3yyoVz.js +0 -1
- package/dist/web/assets/dropdown-menu-DB3yyoVz.js.br +0 -0
- package/dist/web/assets/dropdown-menu-DB3yyoVz.js.gz +0 -0
- package/dist/web/assets/edit-diff-preview-D4EqC86X.js +0 -7
- package/dist/web/assets/edit-diff-preview-D4EqC86X.js.br +0 -0
- package/dist/web/assets/edit-diff-preview-D4EqC86X.js.gz +0 -0
- package/dist/web/assets/editor-dialog-DC7dUWAX.js +0 -1
- package/dist/web/assets/editor-dialog-DC7dUWAX.js.br +0 -0
- package/dist/web/assets/editor-dialog-DC7dUWAX.js.gz +0 -0
- package/dist/web/assets/editor-language-service-0pN0TxYN.js +0 -1
- package/dist/web/assets/editor-language-service-0pN0TxYN.js.br +0 -0
- package/dist/web/assets/editor-language-service-0pN0TxYN.js.gz +0 -0
- package/dist/web/assets/explorer-body-tFaUp9_Q.js +0 -2
- package/dist/web/assets/explorer-body-tFaUp9_Q.js.br +0 -0
- package/dist/web/assets/explorer-body-tFaUp9_Q.js.gz +0 -0
- package/dist/web/assets/explorer-model-BmgFEsj1.js +0 -1
- package/dist/web/assets/explorer-model-BmgFEsj1.js.br +0 -0
- package/dist/web/assets/explorer-model-BmgFEsj1.js.gz +0 -0
- package/dist/web/assets/explorer-window-content-XnRTZT_X.js +0 -1
- package/dist/web/assets/explorer-window-content-XnRTZT_X.js.br +0 -0
- package/dist/web/assets/explorer-window-content-XnRTZT_X.js.gz +0 -0
- package/dist/web/assets/extension-manager-section-DEbwRPf1.js +0 -1
- package/dist/web/assets/extension-manager-section-DEbwRPf1.js.br +0 -0
- package/dist/web/assets/extension-manager-section-DEbwRPf1.js.gz +0 -0
- package/dist/web/assets/extension-webview-C9ApceLU.js +0 -12
- package/dist/web/assets/extension-webview-C9ApceLU.js.br +0 -0
- package/dist/web/assets/extension-webview-C9ApceLU.js.gz +0 -0
- package/dist/web/assets/file-diff-lX1a7RLF.js +0 -1
- package/dist/web/assets/file-icons-DpwcJLL4.js +0 -1
- package/dist/web/assets/file-icons-DpwcJLL4.js.br +0 -0
- package/dist/web/assets/file-icons-DpwcJLL4.js.gz +0 -0
- package/dist/web/assets/file-store-Bk1WYfdy.js +0 -1
- package/dist/web/assets/file-store-Bk1WYfdy.js.br +0 -0
- package/dist/web/assets/file-store-Bk1WYfdy.js.gz +0 -0
- package/dist/web/assets/files-settings-section-C8MacVFQ.js +0 -1
- package/dist/web/assets/files-settings-section-C8MacVFQ.js.br +0 -0
- package/dist/web/assets/files-settings-section-C8MacVFQ.js.gz +0 -0
- package/dist/web/assets/filter-dialog-frame-CoWlaNRy.js +0 -1
- package/dist/web/assets/filter-dialog-frame-CoWlaNRy.js.br +0 -0
- package/dist/web/assets/filter-dialog-frame-CoWlaNRy.js.gz +0 -0
- package/dist/web/assets/format-file-meta-C0LKHE3e.js +0 -1
- package/dist/web/assets/format-file-meta-C0LKHE3e.js.br +0 -0
- package/dist/web/assets/format-file-meta-C0LKHE3e.js.gz +0 -0
- package/dist/web/assets/fs-api-BQrIEcvo.js +0 -1
- package/dist/web/assets/fs-api-BQrIEcvo.js.br +0 -0
- package/dist/web/assets/fs-api-BQrIEcvo.js.gz +0 -0
- package/dist/web/assets/general-settings-section-DZRRGdlQ.js +0 -1
- package/dist/web/assets/general-settings-section-DZRRGdlQ.js.br +0 -0
- package/dist/web/assets/general-settings-section-DZRRGdlQ.js.gz +0 -0
- package/dist/web/assets/git-commit-horizontal-BVihXafd.js +0 -1
- package/dist/web/assets/git-log-panel-g2pBnu6r.js +0 -1
- package/dist/web/assets/git-log-panel-g2pBnu6r.js.br +0 -0
- package/dist/web/assets/git-log-panel-g2pBnu6r.js.gz +0 -0
- package/dist/web/assets/git-repo-store-BOYLnV67.js +0 -1
- package/dist/web/assets/git-repo-store-BOYLnV67.js.br +0 -0
- package/dist/web/assets/git-repo-store-BOYLnV67.js.gz +0 -0
- package/dist/web/assets/git-review-tab-BzI5mxWd.js +0 -3
- package/dist/web/assets/git-review-tab-BzI5mxWd.js.br +0 -0
- package/dist/web/assets/git-review-tab-BzI5mxWd.js.gz +0 -0
- package/dist/web/assets/glide-data-grid-BxvI3ehr.js +0 -177
- package/dist/web/assets/glide-data-grid-BxvI3ehr.js.br +0 -0
- package/dist/web/assets/glide-data-grid-BxvI3ehr.js.gz +0 -0
- package/dist/web/assets/grid-save-dialog-D55Po6Vu.js +0 -2
- package/dist/web/assets/grid-save-dialog-D55Po6Vu.js.br +0 -0
- package/dist/web/assets/grid-save-dialog-D55Po6Vu.js.gz +0 -0
- package/dist/web/assets/group-chat-tab-CoMC-Fx1.js +0 -1
- package/dist/web/assets/group-chat-tab-CoMC-Fx1.js.br +0 -0
- package/dist/web/assets/group-chat-tab-CoMC-Fx1.js.gz +0 -0
- package/dist/web/assets/icons-JMA45Ifw.js +0 -1
- package/dist/web/assets/icons-JMA45Ifw.js.br +0 -0
- package/dist/web/assets/icons-JMA45Ifw.js.gz +0 -0
- package/dist/web/assets/image-preview-D7KR11Xo.js +0 -1
- package/dist/web/assets/impexp-tab-JF6JF8eO.js +0 -1
- package/dist/web/assets/impexp-tab-JF6JF8eO.js.br +0 -0
- package/dist/web/assets/impexp-tab-JF6JF8eO.js.gz +0 -0
- package/dist/web/assets/index-DyYGWFVa.css +0 -1
- package/dist/web/assets/index-DyYGWFVa.css.br +0 -0
- package/dist/web/assets/index-DyYGWFVa.css.gz +0 -0
- package/dist/web/assets/index-ItT-dTPV.js +0 -59
- package/dist/web/assets/index-ItT-dTPV.js.br +0 -0
- package/dist/web/assets/index-ItT-dTPV.js.gz +0 -0
- package/dist/web/assets/input-CKGoVpYv.js +0 -1
- package/dist/web/assets/jira-watcher-section-CvyXLyjO.js +0 -1
- package/dist/web/assets/keybindings-store-CeEtx6js.js +0 -1
- package/dist/web/assets/keyboard-shortcuts-section-MUIE0Rvf.js +0 -1
- package/dist/web/assets/keyboard-shortcuts-section-MUIE0Rvf.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-section-MUIE0Rvf.js.gz +0 -0
- package/dist/web/assets/language-servers-section-DiYURB24.js +0 -2
- package/dist/web/assets/language-servers-section-DiYURB24.js.br +0 -0
- package/dist/web/assets/language-servers-section-DiYURB24.js.gz +0 -0
- package/dist/web/assets/logs-app-CJlNqOdc.js +0 -13
- package/dist/web/assets/logs-app-CJlNqOdc.js.br +0 -0
- package/dist/web/assets/logs-app-CJlNqOdc.js.gz +0 -0
- package/dist/web/assets/logs-tab-BoAlm_8H.js +0 -1
- package/dist/web/assets/logs-window-content-nNm4jl1s.js +0 -1
- package/dist/web/assets/lsp-client-LnKiMWeG.js +0 -1
- package/dist/web/assets/lsp-client-LnKiMWeG.js.br +0 -0
- package/dist/web/assets/lsp-client-LnKiMWeG.js.gz +0 -0
- package/dist/web/assets/markdown-renderer-8Hef5MLx.js +0 -1
- package/dist/web/assets/markdown-renderer-BH_CFPJw.js +0 -5
- package/dist/web/assets/markdown-renderer-BH_CFPJw.js.br +0 -0
- package/dist/web/assets/markdown-renderer-BH_CFPJw.js.gz +0 -0
- package/dist/web/assets/media-url-CsdZ6q_T.js +0 -1
- package/dist/web/assets/metric-chart-canvas-LAMaVJTu.js +0 -1
- package/dist/web/assets/metric-chart-canvas-LAMaVJTu.js.br +0 -0
- package/dist/web/assets/metric-chart-canvas-LAMaVJTu.js.gz +0 -0
- package/dist/web/assets/mobile-bottom-sheet-CGmmdp_5.js +0 -1
- package/dist/web/assets/mobile-bottom-sheet-CGmmdp_5.js.br +0 -0
- package/dist/web/assets/mobile-bottom-sheet-CGmmdp_5.js.gz +0 -0
- package/dist/web/assets/mobile-explorer-sheet-Dh2ZECzL.js +0 -1
- package/dist/web/assets/mobile-explorer-sheet-Dh2ZECzL.js.br +0 -0
- package/dist/web/assets/mobile-explorer-sheet-Dh2ZECzL.js.gz +0 -0
- package/dist/web/assets/new-design-dialog-CgBUrVFx.js +0 -1
- package/dist/web/assets/new-design-dialog-CgBUrVFx.js.br +0 -0
- package/dist/web/assets/new-design-dialog-CgBUrVFx.js.gz +0 -0
- package/dist/web/assets/notification-store-CXC7u6MW.js +0 -1
- package/dist/web/assets/notifications-settings-section-CPbx23nU.js +0 -1
- package/dist/web/assets/notifications-settings-section-CPbx23nU.js.br +0 -0
- package/dist/web/assets/notifications-settings-section-CPbx23nU.js.gz +0 -0
- package/dist/web/assets/onboarding-entry--MWe4amV.js +0 -1
- package/dist/web/assets/onboarding-entry--MWe4amV.js.br +0 -0
- package/dist/web/assets/onboarding-entry--MWe4amV.js.gz +0 -0
- package/dist/web/assets/onboarding-quick-orientation-DZYQekRt.js +0 -1
- package/dist/web/assets/onboarding-quick-orientation-DZYQekRt.js.br +0 -0
- package/dist/web/assets/onboarding-quick-orientation-DZYQekRt.js.gz +0 -0
- package/dist/web/assets/open-db-tabs-CkQe49j_.js +0 -1
- package/dist/web/assets/open-db-tabs-CkQe49j_.js.br +0 -0
- package/dist/web/assets/open-db-tabs-CkQe49j_.js.gz +0 -0
- package/dist/web/assets/open-settings-DsGBn73g.js +0 -1
- package/dist/web/assets/overview-panel-CcUGDvnt.js +0 -1
- package/dist/web/assets/overview-panel-CcUGDvnt.js.br +0 -0
- package/dist/web/assets/overview-panel-CcUGDvnt.js.gz +0 -0
- package/dist/web/assets/panel-store-DmP16Fo0.js +0 -1
- package/dist/web/assets/panel-store-DmP16Fo0.js.br +0 -0
- package/dist/web/assets/panel-store-DmP16Fo0.js.gz +0 -0
- package/dist/web/assets/patch-tab-metadata-B-jH5svY.js +0 -1
- package/dist/web/assets/pdf-preview-DMUIWb9B.js +0 -1
- package/dist/web/assets/pdf-preview-DMUIWb9B.js.br +0 -0
- package/dist/web/assets/pdf-preview-DMUIWb9B.js.gz +0 -0
- package/dist/web/assets/performance-panel-CJDLUwrs.js +0 -3
- package/dist/web/assets/performance-panel-CJDLUwrs.js.br +0 -0
- package/dist/web/assets/performance-panel-CJDLUwrs.js.gz +0 -0
- package/dist/web/assets/portal-container-context-BXAsDqrB.js +0 -1
- package/dist/web/assets/ppmbot-settings-section-DTCTPQ-R.js +0 -1
- package/dist/web/assets/ppmbot-settings-section-DTCTPQ-R.js.br +0 -0
- package/dist/web/assets/ppmbot-settings-section-DTCTPQ-R.js.gz +0 -0
- package/dist/web/assets/pptx-export-BxmgltJ4.js +0 -111
- package/dist/web/assets/pptx-export-BxmgltJ4.js.br +0 -0
- package/dist/web/assets/pptx-export-BxmgltJ4.js.gz +0 -0
- package/dist/web/assets/problems-panel-DX32QDH_.js +0 -1
- package/dist/web/assets/problems-panel-DX32QDH_.js.br +0 -0
- package/dist/web/assets/problems-panel-DX32QDH_.js.gz +0 -0
- package/dist/web/assets/process-row-format-CBw-CQCx.js +0 -1
- package/dist/web/assets/process-table-CX-NhOg6.js +0 -1
- package/dist/web/assets/process-table-CX-NhOg6.js.br +0 -0
- package/dist/web/assets/process-table-CX-NhOg6.js.gz +0 -0
- package/dist/web/assets/project-framework-store-Bi5dyHdx.js +0 -1
- package/dist/web/assets/project-store-CEGoLMOl.js +0 -1
- package/dist/web/assets/project-store-CEGoLMOl.js.br +0 -0
- package/dist/web/assets/project-store-CEGoLMOl.js.gz +0 -0
- package/dist/web/assets/proxy-settings-section-BGNvFe7e.js +0 -1
- package/dist/web/assets/proxy-settings-section-BGNvFe7e.js.br +0 -0
- package/dist/web/assets/proxy-settings-section-BGNvFe7e.js.gz +0 -0
- package/dist/web/assets/query-audit-section-DTHI5GP7.js +0 -1
- package/dist/web/assets/query-audit-section-DTHI5GP7.js.br +0 -0
- package/dist/web/assets/query-audit-section-DTHI5GP7.js.gz +0 -0
- package/dist/web/assets/query-tab-qMlIkHRk.js +0 -22
- package/dist/web/assets/query-tab-qMlIkHRk.js.br +0 -0
- package/dist/web/assets/query-tab-qMlIkHRk.js.gz +0 -0
- package/dist/web/assets/react-PkBxFcos.js +0 -1
- package/dist/web/assets/remote-access-settings-section-t2BYAA9g.js +0 -1
- package/dist/web/assets/remote-access-settings-section-t2BYAA9g.js.br +0 -0
- package/dist/web/assets/remote-access-settings-section-t2BYAA9g.js.gz +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-ChUU6Jts.js +0 -1
- package/dist/web/assets/remote-desktop-clipboard-notice-ChUU6Jts.js.br +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-ChUU6Jts.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-_bopEtCa.js +0 -2
- package/dist/web/assets/remote-desktop-mobile-sheet-_bopEtCa.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-_bopEtCa.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-D9G4kDfa.js +0 -1
- package/dist/web/assets/remote-desktop-mobile-view-D9G4kDfa.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-D9G4kDfa.js.gz +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-Yz9eVB3-.js +0 -1
- package/dist/web/assets/remote-desktop-readiness-gate-Yz9eVB3-.js.br +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-Yz9eVB3-.js.gz +0 -0
- package/dist/web/assets/remote-desktop-settings-section-BTGGSjZY.js +0 -1
- package/dist/web/assets/remote-desktop-settings-section-BTGGSjZY.js.br +0 -0
- package/dist/web/assets/remote-desktop-settings-section-BTGGSjZY.js.gz +0 -0
- package/dist/web/assets/remote-desktop-window-content-B8ZaG2bL.js +0 -1
- package/dist/web/assets/remote-desktop-window-content-B8ZaG2bL.js.br +0 -0
- package/dist/web/assets/remote-desktop-window-content-B8ZaG2bL.js.gz +0 -0
- package/dist/web/assets/rename-object-dialog-FSlcdUoB.js +0 -1
- package/dist/web/assets/rename-object-dialog-FSlcdUoB.js.br +0 -0
- package/dist/web/assets/rename-object-dialog-FSlcdUoB.js.gz +0 -0
- package/dist/web/assets/review-code-CfuJeLYd.js +0 -5
- package/dist/web/assets/review-code-CfuJeLYd.js.br +0 -0
- package/dist/web/assets/review-code-CfuJeLYd.js.gz +0 -0
- package/dist/web/assets/run-in-terminal-Bk9Bw7G1.js +0 -1
- package/dist/web/assets/run-in-terminal-button-DFPQUlZs.js +0 -1
- package/dist/web/assets/save-as-dialog-Bj9VpGYf.js +0 -1
- package/dist/web/assets/save-as-dialog-Bj9VpGYf.js.br +0 -0
- package/dist/web/assets/save-as-dialog-Bj9VpGYf.js.gz +0 -0
- package/dist/web/assets/schedules-settings-section-DNJ4K7zS.js +0 -1
- package/dist/web/assets/schedules-settings-section-DNJ4K7zS.js.br +0 -0
- package/dist/web/assets/schedules-settings-section-DNJ4K7zS.js.gz +0 -0
- package/dist/web/assets/scroll-area-6Am1KMiB.js +0 -1
- package/dist/web/assets/scroll-area-6Am1KMiB.js.br +0 -0
- package/dist/web/assets/scroll-area-6Am1KMiB.js.gz +0 -0
- package/dist/web/assets/send-to-chat-Bcm_Lcog.js +0 -1
- package/dist/web/assets/send-to-chat-Bcm_Lcog.js.br +0 -0
- package/dist/web/assets/send-to-chat-Bcm_Lcog.js.gz +0 -0
- package/dist/web/assets/separator-BOYUIPkH.js +0 -1
- package/dist/web/assets/services-panel-CBRTsROB.js +0 -1
- package/dist/web/assets/services-panel-CBRTsROB.js.br +0 -0
- package/dist/web/assets/services-panel-CBRTsROB.js.gz +0 -0
- package/dist/web/assets/session-changes-bar-BRopa3Dh.js +0 -1
- package/dist/web/assets/session-changes-bar-BRopa3Dh.js.br +0 -0
- package/dist/web/assets/session-changes-bar-BRopa3Dh.js.gz +0 -0
- package/dist/web/assets/session-list-sync-triggers-DitiR5h1.js +0 -1
- package/dist/web/assets/session-list-sync-triggers-DitiR5h1.js.br +0 -0
- package/dist/web/assets/session-list-sync-triggers-DitiR5h1.js.gz +0 -0
- package/dist/web/assets/session-review-tab--kNB_FKQ.js +0 -6
- package/dist/web/assets/session-review-tab--kNB_FKQ.js.br +0 -0
- package/dist/web/assets/session-review-tab--kNB_FKQ.js.gz +0 -0
- package/dist/web/assets/settings-body-B-s0fEjc.js +0 -1
- package/dist/web/assets/settings-body-B-s0fEjc.js.br +0 -0
- package/dist/web/assets/settings-body-B-s0fEjc.js.gz +0 -0
- package/dist/web/assets/settings-categories-CcR9eL3x.js +0 -1
- package/dist/web/assets/settings-categories-CcR9eL3x.js.br +0 -0
- package/dist/web/assets/settings-categories-CcR9eL3x.js.gz +0 -0
- package/dist/web/assets/settings-section-content-BJ35dy5r.js +0 -1
- package/dist/web/assets/settings-section-content-DckksvTg.js +0 -2
- package/dist/web/assets/settings-section-content-DckksvTg.js.br +0 -0
- package/dist/web/assets/settings-section-content-DckksvTg.js.gz +0 -0
- package/dist/web/assets/settings-store-WeJyQVL8.js +0 -2
- package/dist/web/assets/settings-store-WeJyQVL8.js.br +0 -0
- package/dist/web/assets/settings-store-WeJyQVL8.js.gz +0 -0
- package/dist/web/assets/settings-tab-BlX33GEN.js +0 -1
- package/dist/web/assets/settings-window-content-B-7yV1_q.js +0 -1
- package/dist/web/assets/slash-command-picker-BBcy6w6m.js +0 -1
- package/dist/web/assets/slash-command-picker-BBcy6w6m.js.br +0 -0
- package/dist/web/assets/slash-command-picker-BBcy6w6m.js.gz +0 -0
- package/dist/web/assets/sortable-header-B9gfWik4.js +0 -1
- package/dist/web/assets/sortable-header-B9gfWik4.js.br +0 -0
- package/dist/web/assets/sortable-header-B9gfWik4.js.gz +0 -0
- package/dist/web/assets/sql-completion-provider-CaTHVr1l.js +0 -5
- package/dist/web/assets/sql-completion-provider-CaTHVr1l.js.br +0 -0
- package/dist/web/assets/sql-completion-provider-CaTHVr1l.js.gz +0 -0
- package/dist/web/assets/sql-object-tab-DVo4bxRI.js +0 -1
- package/dist/web/assets/sql-object-tab-DVo4bxRI.js.br +0 -0
- package/dist/web/assets/sql-object-tab-DVo4bxRI.js.gz +0 -0
- package/dist/web/assets/sqlite-viewer-BGfIpl5x.js +0 -1
- package/dist/web/assets/sqlite-viewer-BGfIpl5x.js.br +0 -0
- package/dist/web/assets/sqlite-viewer-BGfIpl5x.js.gz +0 -0
- package/dist/web/assets/start-ellipsis-rBh37k0n.js +0 -1
- package/dist/web/assets/structure-save-dialog-STK_RFCK.js +0 -1
- package/dist/web/assets/structure-save-dialog-STK_RFCK.js.br +0 -0
- package/dist/web/assets/structure-save-dialog-STK_RFCK.js.gz +0 -0
- package/dist/web/assets/structure-tab-DuLnsTC4.js +0 -3
- package/dist/web/assets/structure-tab-DuLnsTC4.js.br +0 -0
- package/dist/web/assets/structure-tab-DuLnsTC4.js.gz +0 -0
- package/dist/web/assets/system-monitor-body-BIjW16Pb.js +0 -2
- package/dist/web/assets/system-monitor-body-BIjW16Pb.js.br +0 -0
- package/dist/web/assets/system-monitor-body-BIjW16Pb.js.gz +0 -0
- package/dist/web/assets/system-monitor-tab-B6_tC9LO.js +0 -1
- package/dist/web/assets/system-monitor-window-content-CwBzqMUe.js +0 -1
- package/dist/web/assets/tab-host-window-content-CpdEjkZd.js +0 -1
- package/dist/web/assets/tab-host-window-content-CpdEjkZd.js.br +0 -0
- package/dist/web/assets/tab-host-window-content-CpdEjkZd.js.gz +0 -0
- package/dist/web/assets/tab-store-nNzRNfVV.js +0 -1
- package/dist/web/assets/table-tab-B5asfTBP.js +0 -2
- package/dist/web/assets/table-tab-B5asfTBP.js.br +0 -0
- package/dist/web/assets/table-tab-B5asfTBP.js.gz +0 -0
- package/dist/web/assets/telegram-bot-token-field-BiqKbXwE.js +0 -1
- package/dist/web/assets/telegram-bot-token-field-BiqKbXwE.js.br +0 -0
- package/dist/web/assets/telegram-bot-token-field-BiqKbXwE.js.gz +0 -0
- package/dist/web/assets/terminal-tab-DpMONMVB.js +0 -3
- package/dist/web/assets/terminal-tab-DpMONMVB.js.br +0 -0
- package/dist/web/assets/terminal-tab-DpMONMVB.js.gz +0 -0
- package/dist/web/assets/tool-cards-DoDKxqN4.js +0 -14
- package/dist/web/assets/tool-cards-DoDKxqN4.js.br +0 -0
- package/dist/web/assets/tool-cards-DoDKxqN4.js.gz +0 -0
- package/dist/web/assets/use-at-most-wide-BQFi1Sjv.js +0 -1
- package/dist/web/assets/use-blob-url-D7ElNPnW.js +0 -1
- package/dist/web/assets/use-db-driver-installed-BscdI-wS.js +0 -1
- package/dist/web/assets/use-db-read-DYuyNA5i.js +0 -1
- package/dist/web/assets/use-db-read-DYuyNA5i.js.br +0 -0
- package/dist/web/assets/use-db-read-DYuyNA5i.js.gz +0 -0
- package/dist/web/assets/use-db-tab-Cr4lXxwF.js +0 -1
- package/dist/web/assets/use-db-tab-Cr4lXxwF.js.br +0 -0
- package/dist/web/assets/use-db-tab-Cr4lXxwF.js.gz +0 -0
- package/dist/web/assets/use-design-canvas-check-DKlyMp-S.js +0 -1
- package/dist/web/assets/use-design-canvas-check-DKlyMp-S.js.br +0 -0
- package/dist/web/assets/use-design-canvas-check-DKlyMp-S.js.gz +0 -0
- package/dist/web/assets/use-h264-canvas-decoder-DAjp9oHe.js +0 -1
- package/dist/web/assets/use-h264-canvas-decoder-DAjp9oHe.js.br +0 -0
- package/dist/web/assets/use-h264-canvas-decoder-DAjp9oHe.js.gz +0 -0
- package/dist/web/assets/use-inline-blame-DS0HrHJ3.js +0 -16
- package/dist/web/assets/use-inline-blame-DS0HrHJ3.js.br +0 -0
- package/dist/web/assets/use-inline-blame-DS0HrHJ3.js.gz +0 -0
- package/dist/web/assets/use-is-mobile-BXHbkfs9.js +0 -1
- package/dist/web/assets/use-lsp-BTVDYrt6.js +0 -6
- package/dist/web/assets/use-lsp-BTVDYrt6.js.br +0 -0
- package/dist/web/assets/use-lsp-BTVDYrt6.js.gz +0 -0
- package/dist/web/assets/use-monaco-theme-DqnhExsm.js +0 -1
- package/dist/web/assets/use-opener-focus-C5L5UUJs.js +0 -1
- package/dist/web/assets/use-process-kill-D-SGQxDn.js +0 -1
- package/dist/web/assets/use-process-kill-D-SGQxDn.js.br +0 -0
- package/dist/web/assets/use-process-kill-D-SGQxDn.js.gz +0 -0
- package/dist/web/assets/use-sql-schema-info-DRb9dAKi.js +0 -4
- package/dist/web/assets/use-sql-schema-info-DRb9dAKi.js.br +0 -0
- package/dist/web/assets/use-sql-schema-info-DRb9dAKi.js.gz +0 -0
- package/dist/web/assets/use-visual-viewport-CQ6-A0Dt.js +0 -1
- package/dist/web/assets/use-websocket-C6RnlNVJ.js +0 -1
- package/dist/web/assets/vendor-markdown-QKPNiWEd.js +0 -291
- package/dist/web/assets/vendor-markdown-QKPNiWEd.js.br +0 -0
- package/dist/web/assets/vendor-markdown-QKPNiWEd.js.gz +0 -0
- package/dist/web/assets/vendor-ui-CS1GvlOm.js +0 -45
- package/dist/web/assets/vendor-ui-CS1GvlOm.js.br +0 -0
- package/dist/web/assets/vendor-ui-CS1GvlOm.js.gz +0 -0
- package/dist/web/assets/video-preview-CYzeUPfH.js +0 -1
- package/dist/web/assets/video-preview-CYzeUPfH.js.br +0 -0
- package/dist/web/assets/video-preview-CYzeUPfH.js.gz +0 -0
- package/dist/web/assets/voice-settings-section-C01d-toF.js +0 -1
- package/dist/web/assets/voice-settings-section-C01d-toF.js.br +0 -0
- package/dist/web/assets/voice-settings-section-C01d-toF.js.gz +0 -0
- package/dist/web/assets/web-preview-tab-F5C3quQs.js +0 -1
- package/dist/web/assets/web-preview-tab-F5C3quQs.js.br +0 -0
- package/dist/web/assets/web-preview-tab-F5C3quQs.js.gz +0 -0
- package/dist/web/assets/window-pip-registry-DSoB7T3k.js +0 -1
- package/dist/web/assets/window-store-zJczRsv4.js +0 -1
- package/dist/web/assets/window-store-zJczRsv4.js.br +0 -0
- package/dist/web/assets/window-store-zJczRsv4.js.gz +0 -0
- package/dist/web/assets/ws-auth-cWeQ7_61.js +0 -1
- /package/dist/web/assets/{__vite-browser-external-B4VNaaaA.js → __vite-browser-external-DL4jXWNt.js} +0 -0
- /package/dist/web/assets/{clipboard-D3XnL7CB.js → clipboard-D-VCry-F.js} +0 -0
- /package/dist/web/assets/{clipboard-D3XnL7CB.js.br → clipboard-D-VCry-F.js.br} +0 -0
- /package/dist/web/assets/{clipboard-D3XnL7CB.js.gz → clipboard-D-VCry-F.js.gz} +0 -0
- /package/dist/web/assets/{code-fence-vHZyBehL.js → code-fence-BK57HRhJ.js} +0 -0
- /package/dist/web/assets/{design-system-status-label-Cus6e2Df.js → design-system-status-label-KA4ESjWe.js} +0 -0
- /package/dist/web/assets/{format-bytes-B2kC4sbB.js → format-bytes-he3TR0bV.js} +0 -0
- /package/dist/web/assets/{session-turns-gmrmXzeg.js → session-turns-D3QpTtCq.js} +0 -0
- /package/dist/web/assets/{session-turns-gmrmXzeg.js.br → session-turns-D3QpTtCq.js.br} +0 -0
- /package/dist/web/assets/{session-turns-gmrmXzeg.js.gz → session-turns-D3QpTtCq.js.gz} +0 -0
- /package/dist/web/assets/{vendor-xterm-sFX94k3w.js → vendor-xterm-DRhOk3kW.js} +0 -0
- /package/dist/web/assets/{vendor-xterm-sFX94k3w.js.br → vendor-xterm-DRhOk3kW.js.br} +0 -0
- /package/dist/web/assets/{vendor-xterm-sFX94k3w.js.gz → vendor-xterm-DRhOk3kW.js.gz} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./rolldown-runtime-C5c2KzVm.js";import{D as t,E as n}from"./vendor-markdown-C-P1aR4p.js";import"./vendor-ui-BTSIXzhZ.js";import{Ot as r,gt as i,xn as a}from"./icons-BwyIKaTT.js";import{a as o,o as s}from"./api-client-xQDlhUTu.js";var c=e(t(),1),l=n();function u({filePath:e,projectName:t}){let n=(0,c.useRef)(null),[u,d]=(0,c.useState)(!1),[f,p]=(0,c.useState)(!1),m=(0,c.useMemo)(()=>{let n=/^(\/|[A-Za-z]:[/\\])/.test(e)?`/api/fs/raw?path=${encodeURIComponent(e)}`:`${s(t)}/files/raw?path=${encodeURIComponent(e)}`,r=o();return r?`${n}&token=${encodeURIComponent(r)}`:n},[e,t]);(0,c.useEffect)(()=>{let r=r=>{let i=r.detail;if(!(i.projectName!==t||i.path!==e))try{n.current?.contentWindow?.location.reload()}catch{}};return window.addEventListener(`file:changed`,r),()=>window.removeEventListener(`file:changed`,r)},[e,t]);let h=(0,c.useCallback)(()=>{window.open(m,`_blank`)},[m]);return f?(0,l.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-text-secondary`,children:[(0,l.jsx)(r,{className:`size-10 text-text-subtle`}),(0,l.jsx)(`p`,{className:`text-sm`,children:`Failed to load PDF.`})]}):(0,l.jsxs)(`div`,{className:`flex flex-col h-full`,children:[!u&&(0,l.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,l.jsx)(a,{className:`size-5 animate-spin text-text-subtle`})}),(0,l.jsxs)(`div`,{className:`flex flex-col h-full ${u?``:`hidden`}`,children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-b border-border bg-background shrink-0`,children:[(0,l.jsx)(`span`,{className:`text-xs text-text-secondary truncate`,children:e}),(0,l.jsxs)(`button`,{onClick:h,className:`flex items-center gap-1 text-xs text-text-secondary hover:text-text-primary transition-colors`,children:[(0,l.jsx)(i,{className:`size-3`}),` Open in new tab`]})]}),(0,l.jsx)(`iframe`,{ref:n,src:m,title:e,className:`flex-1 w-full border-none`,onLoad:()=>d(!0),onError:()=>p(!0)})]})]})}export{u as PdfPreview};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{s as e}from"./rolldown-runtime-C5c2KzVm.js";import{D as t,E as n}from"./vendor-markdown-C-P1aR4p.js";import"./vendor-ui-BTSIXzhZ.js";import{I as r,L as i,Ln as a,Xt as o,ai as s,dn as c,dt as l,t as u}from"./icons-BwyIKaTT.js";import{r as d}from"./api-client-xQDlhUTu.js";import{_ as f,b as p,g as m,h,t as g,v as _,x as v,y}from"./settings-store-B4mLp19V.js";import{n as b}from"./utils-Bslrbb-G.js";import"./portal-container-context-NBi-KGK0.js";import"./context-menu-BCuZYfWC.js";import{n as x}from"./use-is-mobile-VRV9eZy1.js";import"./mobile-bottom-sheet-DArbIyrD.js";import"./use-visual-viewport-MmugpRg-.js";import{a as S,c as C,i as w,l as T,n as E,o as ee,r as te,s as D,t as ne,u as re}from"./adaptive-context-menu-C4jNSORA.js";import{n as O,r as k,t as A}from"./format-bytes-he3TR0bV.js";import{n as j,t as M}from"./metric-chart-canvas-DEW16Su8.js";var N=e(t(),1),P={wired:`Ethernet`,wireless:`Wi-Fi`,bluetooth:`Bluetooth`,bridge:`Bridge`,docker:`Docker`,infiniband:`InfiniBand`,multipass:`Multipass`,virtual:`Virtual`,vpn:`VPN`,other:`Other`},F=1024,I=e=>Math.round(e);function L(e){return P[e?.kind??`other`]}function R(e,t,n){if(!n||n<=0)return null;let r=(e+t)*8/1e6;return Math.min(100,Math.max(0,r/n*100))}function z(e,t){return`${(e/F).toFixed(1)}/${(t/F).toFixed(1)} GB`}function B(e,t){let n=new Map((t?.disks??[]).map(e=>[e.id,e])),r=new Map((t?.nics??[]).map(e=>[e.id,e])),i=[{key:`cpu`,kind:`cpu`,label:`CPU`,sublabel:e.cpu.model,id:null,detail:`${I(e.cpu.total)}%`,percent:e.cpu.total},{key:`memory`,kind:`memory`,label:`Memory`,sublabel:z(e.mem.usedMB,e.mem.totalMB),id:null,detail:`${I(e.mem.percent)}%`,percent:e.mem.percent}];(e.disks??[]).forEach((e,t)=>{i.push({key:`disk:${e.id}`,kind:`disk`,label:`Disk ${t}`,sublabel:n.get(e.id)?.model??e.id,id:e.id,detail:e.available?`${I(e.busyPercent)}%`:`—`,percent:e.available?e.busyPercent:null})}),(e.nics??[]).forEach(e=>{let t=r.get(e.id);i.push({key:`nic:${e.id}`,kind:`nic`,label:L(t),sublabel:e.id,id:e.id,detail:e.available?A(e.rxBps+e.txBps):`—`,percent:e.available?R(e.rxBps,e.txBps,e.linkMbps):null})}),e.gpus.forEach((e,t)=>{i.push({key:`gpu:${e.id??t}`,kind:`gpu`,label:`GPU ${t}`,sublabel:e.name,id:e.id??null,detail:`${I(e.utilPercent)}%`,percent:e.utilPercent})});let a=e.fans??[];if(a.length>0){let e=Math.max(...a.map(e=>e.rpm));i.push({key:`fans`,kind:`fans`,label:`Fans`,sublabel:`${a.length} sensor${a.length===1?``:`s`}`,id:null,detail:`${e} RPM`,percent:null})}return i}function V(e,t){return t&&e.some(e=>e.key===t)?t:e[0]?.key??`cpu`}var H=3e4;function ie(e){let[t,n]=(0,N.useState)(null),r=(0,N.useRef)(!1),i=(0,N.useRef)(``),a=(0,N.useCallback)(async()=>{if(!r.current){r.current=!0;try{n(await d.get(`/api/system/hardware`))}catch{}finally{r.current=!1}}},[]);return(0,N.useEffect)(()=>{a()},[a]),(0,N.useEffect)(()=>{if(!t)return;let n=new Set([...t.disks.map(e=>e.id),...t.nics.map(e=>e.id),...t.gpus.map(e=>e.id)]),r=e.split(`,`).filter(e=>e&&!n.has(e)).join(`,`);if(!r){i.current=``;return}if(r!==i.current){i.current=r,a();return}let o=setTimeout(()=>void a(),H);return()=>clearTimeout(o)},[t,e,a]),t}var U=n();function W({title:e,subtitle:t,value:n,valueClassName:r}){return(0,U.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,U.jsxs)(`div`,{className:`min-w-0`,children:[(0,U.jsx)(`h3`,{className:`text-base font-semibold truncate`,children:e}),t&&(0,U.jsx)(`p`,{className:`text-xs text-text-subtle truncate`,title:t,children:t})]}),n!==void 0&&(0,U.jsx)(`span`,{className:b(`text-2xl font-semibold tabular-nums shrink-0`,r),children:n})]})}function G({children:e}){return(0,U.jsx)(`dl`,{className:`grid grid-cols-2 @2xl:grid-cols-4 gap-x-4 gap-y-3`,children:e})}function K({label:e,value:t,title:n}){let r=t==null||t===``?`—`:String(t);return(0,U.jsxs)(`div`,{className:`min-w-0`,children:[(0,U.jsx)(`dt`,{className:`text-[11px] text-text-subtle truncate`,children:e}),(0,U.jsx)(`dd`,{className:`text-sm tabular-nums truncate`,title:n??r,children:r})]})}function q({series:e,maxValue:t,height:n=120,legend:r,caption:i,ceiling:a,grid:o,stacked:s}){return(0,U.jsxs)(`div`,{className:`space-y-1`,children:[(i||a)&&(0,U.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-[11px] text-text-subtle`,children:[(0,U.jsx)(`span`,{className:`truncate`,children:i}),(0,U.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:a})]}),(0,U.jsx)(M,{series:e,height:n,maxValue:t,grid:o,stacked:s}),r&&r.length>0&&(0,U.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1`,children:r.map((t,n)=>(0,U.jsxs)(`span`,{className:`flex items-center gap-1.5 text-[11px] text-text-subtle`,children:[(0,U.jsx)(`span`,{className:`size-2 rounded-full`,style:{background:e[n]?.color}}),t]},t))})]})}function J(e,t,n=200){return(0,N.useMemo)(()=>e.slice(-n).map(e=>t(e)??0),[e,n])}function ae({segments:e}){let t=e.reduce((e,t)=>e+Math.max(0,t.value),0);return t<=0?null:(0,U.jsx)(`div`,{className:`flex h-3 w-full overflow-hidden rounded-sm bg-surface-hover`,role:`img`,"aria-label":e.map(e=>e.label).join(`, `),children:e.map(e=>(0,U.jsx)(`div`,{className:`h-full`,style:{width:`${Math.max(0,e.value)/t*100}%`,background:e.color},title:e.label},e.label))})}var Y={primary:`var(--color-primary)`,secondary:`var(--color-warning)`,success:`var(--color-success)`,error:`var(--color-error)`};function oe({cores:e,history:t,points:n=200,height:r=260}){let i=(0,N.useRef)(null),a=j(i),{cols:o,rows:s}=y(e.length,a),c=(0,N.useMemo)(()=>{let r=t.slice(-n),i=Array.from({length:e.length},()=>[]);for(let e of r){let t=e.system.cpu.cores;for(let e=0;e<i.length;e++)i[e].push(t[e]??0)}return i},[t,n,e.length]);if(e.length===0)return null;let l=Math.max(28,Math.floor(r/Math.max(1,s))-6);return(0,U.jsx)(`div`,{ref:i,className:`grid gap-1.5`,style:{gridTemplateColumns:`repeat(${Math.max(1,o)}, minmax(0, 1fr))`},"data-testid":`sysmon-core-grid`,"data-core-count":e.length,"data-cols":o,children:c.map((t,n)=>(0,U.jsx)(`div`,{className:`rounded-sm border border-border/70 overflow-hidden px-0.5`,title:`CPU ${n}: ${(e[n]??0).toFixed(0)}%`,children:(0,U.jsx)(M,{series:[{data:t,color:Y.primary}],height:l,maxValue:100})},n))})}function se(e){if(e===void 0)return;let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return t>0?`${t}d ${n}h ${r}m`:`${n}h ${r}m`}var X=e=>e===void 0?void 0:`${(e/1e3).toFixed(2)} GHz`;function ce(e){if(e===void 0)return;let{physicalCores:t,performanceCores:n,efficiencyCores:r}=e;return n!==void 0&&r!==void 0?`${t} (${n}P + ${r}E)`:String(t)}function le({cpu:e,info:t,history:n,processCount:r,platform:i}){let a=g(e=>e.sysmonTempUnit),o=g(e=>e.sysmonKernelTimes),s=g(e=>e.setSysmonKernelTimes),c=g(e=>e.sysmonCpuGraph),l=g(e=>e.setSysmonCpuGraph),u=g(e=>e.sysmonCpuBottomGraph),d=g(e=>e.setSysmonCpuBottomGraph),y=J(n,e=>e.system.cpu.total),b=J(n,e=>e.system.cpu.kernelPercent),x=J(n,e=>e.system.cpu.tempC),k=J(n,e=>e.system.cpu.powerW),A=J(n,e=>e.system.cpu.currentMHz),j=o&&e.kernelPercent!==void 0,M=p(n.map(e=>e.ts)),P=e=>M?`${e} ${M}`:e,F=i===`darwin`,I=e=>!F||e!==void 0,L=(0,N.useMemo)(()=>{let t=n.slice(-200),r=e.cores.length,i=Array.from({length:r},()=>[]);for(let e of t){let t=e.system.cpu.cores;for(let e=0;e<r;e++)i[e].push(t[e]??0)}return i},[n,e.cores.length]),R=L.map(e=>({data:e,color:Y.primary})),z=L.map(e=>({data:e.map(e=>e/Math.max(1,L.length)),color:Y.primary})),B=()=>u===`none`?null:u===`temperature`?e.tempC===void 0?null:(0,U.jsx)(q,{grid:!0,height:100,caption:P(`Temperature`),ceiling:v(Math.max(...x,1),a),series:[{data:x,color:Y.error}]}):u===`power`?e.powerW===void 0?null:(0,U.jsx)(q,{grid:!0,height:100,caption:P(`Power draw`),ceiling:`${Math.max(...k,1).toFixed(1)} W`,series:[{data:k,color:Y.secondary}]}):e.currentMHz===void 0?null:(0,U.jsx)(q,{grid:!0,height:100,caption:P(`Clock speed`),ceiling:X(t?.maxMHz??Math.max(...A,1)),maxValue:t?.maxMHz,series:[{data:A,color:Y.success}]});return(0,U.jsxs)(`div`,{className:`space-y-4`,"data-testid":`sysmon-detail-cpu`,children:[(0,U.jsx)(W,{title:`CPU`,subtitle:t?.name??e.model,value:`${e.total.toFixed(1)}%`}),(0,U.jsxs)(ne,{children:[(0,U.jsx)(re,{children:(0,U.jsxs)(`div`,{className:`space-y-3 select-none`,"data-testid":`sysmon-cpu-graphs`,children:[c===`logical`?(0,U.jsxs)(`div`,{className:`space-y-1`,children:[(0,U.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-[11px] text-text-subtle`,children:[(0,U.jsx)(`span`,{className:`truncate`,children:P(`Utilisation`)}),(0,U.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:`100%`})]}),(0,U.jsx)(oe,{cores:e.cores,history:n})]}):(0,U.jsx)(q,{grid:!0,maxValue:100,caption:P(`Utilisation`),ceiling:`100%`,stacked:c===`threads-stacked`,legend:c===`overall`&&j?[`Utilisation`,`Kernel`]:void 0,series:c===`threads`?R:c===`threads-stacked`?z:j?[{data:y,color:Y.primary},{data:b,color:Y.secondary}]:[{data:y,color:Y.primary}]}),B()]})}),(0,U.jsxs)(E,{children:[(0,U.jsxs)(D,{children:[(0,U.jsx)(T,{children:`Change top graph to`}),(0,U.jsx)(C,{children:(0,U.jsx)(w,{value:c,onValueChange:e=>l(e),children:_.map(e=>(0,U.jsx)(S,{value:e,"data-testid":`sysmon-cpu-graph-${e}`,children:f[e]},e))})})]}),(0,U.jsxs)(D,{children:[(0,U.jsx)(T,{children:`Change bottom graph to`}),(0,U.jsx)(C,{children:(0,U.jsx)(w,{value:u,onValueChange:e=>d(e),children:h.map(e=>(0,U.jsx)(S,{value:e,"data-testid":`sysmon-cpu-bottom-${e}`,children:m[e]},e))})})]}),(0,U.jsx)(ee,{}),(0,U.jsx)(te,{onSelect:()=>s(!o),"data-testid":`sysmon-cpu-kernel-toggle`,children:o?`Hide kernel times`:`Show kernel times`})]})]}),(0,U.jsxs)(G,{children:[(0,U.jsx)(K,{label:`Speed`,value:X(e.currentMHz)}),I(t?.baseMHz)&&(0,U.jsx)(K,{label:`Base speed`,value:X(t?.baseMHz)}),(0,U.jsx)(K,{label:`Max speed`,value:X(t?.maxMHz)}),(0,U.jsx)(K,{label:`Temperature`,value:v(e.tempC,a)}),(0,U.jsx)(K,{label:`Power`,value:e.powerW===void 0?void 0:`${e.powerW.toFixed(1)} W`}),(0,U.jsx)(K,{label:`Processes`,value:r}),(0,U.jsx)(K,{label:`Threads running`,value:e.threadCount}),(0,U.jsx)(K,{label:`Open handles`,value:e.handleCount}),(0,U.jsx)(K,{label:`Up time`,value:se(e.uptimeSec)}),(0,U.jsx)(K,{label:`Sockets`,value:t?.sockets}),(0,U.jsx)(K,{label:`Cores`,value:ce(t)}),(0,U.jsx)(K,{label:`Logical processors`,value:t?.logicalCores??e.cores.length}),(0,U.jsx)(K,{label:`Virtualisation`,value:t?.isVirtualMachine?`Running in a VM`:t?.virtualization}),(0,U.jsx)(K,{label:`L1 cache`,value:t?.l1CacheBytes===void 0?void 0:O(t.l1CacheBytes)}),(0,U.jsx)(K,{label:`L2 cache`,value:t?.l2CacheBytes===void 0?void 0:O(t.l2CacheBytes)}),I(t?.l3CacheBytes)&&(0,U.jsx)(K,{label:`L3 cache`,value:t?.l3CacheBytes===void 0?void 0:O(t.l3CacheBytes)}),!F&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(K,{label:`Cpufreq driver`,value:t?.freqDriver}),(0,U.jsx)(K,{label:`Governor`,value:t?.freqGovernor}),(0,U.jsx)(K,{label:`Power preference`,value:t?.powerPreference})]})]})]})}function ue({mem:e,info:t,history:n,platform:r}){let i=r===`darwin`,a=J(n,e=>e.system.mem.percent),o=J(n,e=>{let t=e.system.mem.swapTotalMB??0;return t>0?(e.system.mem.swapUsedMB??0)/t*100:0}),s=e.inUseBytes!==void 0,c=[{label:`In use`,value:e.inUseBytes,color:`var(--color-primary)`},{label:`Modified`,value:e.modifiedBytes,color:`var(--color-warning)`},{label:i?`Cached`:`Standby`,value:e.standbyBytes,color:`var(--color-success)`},{label:`Free`,value:e.freeBytes,color:`var(--color-border)`}].filter(e=>e.value!==void 0),l=p(n.map(e=>e.ts)),u=e=>l?`${e} ${l}`:e,d=(e.swapTotalMB??0)>0;return(0,U.jsxs)(`div`,{className:`space-y-4`,"data-testid":`sysmon-detail-memory`,children:[(0,U.jsx)(W,{title:`Memory`,subtitle:`${k(e.usedMB)} of ${k(e.totalMB)} in use`,value:`${e.percent.toFixed(1)}%`}),(0,U.jsx)(q,{grid:!0,maxValue:100,caption:u(`Memory usage`),ceiling:k(e.totalMB),series:[{data:a,color:Y.primary}]}),d&&(0,U.jsx)(q,{grid:!0,height:90,maxValue:100,caption:u(`Swap usage`),ceiling:k(e.swapTotalMB??0),series:[{data:o,color:Y.success}]}),s&&(0,U.jsxs)(`div`,{className:`space-y-2`,children:[(0,U.jsx)(ae,{segments:c}),(0,U.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1 text-[11px] text-text-subtle`,children:c.map(e=>(0,U.jsxs)(`span`,{children:[e.label,` `,O(e.value)]},e.label))})]}),(0,U.jsxs)(G,{children:[(0,U.jsx)(K,{label:`Available`,value:k(e.availableMB)}),(0,U.jsx)(K,{label:`Cached`,value:e.cachedMB===void 0?void 0:k(e.cachedMB)}),!i&&(0,U.jsx)(K,{label:`Committed`,value:e.committedMB===void 0?void 0:`${k(e.committedMB)} / ${e.commitLimitMB===void 0?`?`:k(e.commitLimitMB)}`}),(0,U.jsx)(K,{label:`Swap`,value:e.swapTotalMB===void 0?void 0:`${k(e.swapUsedMB??0)} / ${k(e.swapTotalMB)}`}),(0,U.jsx)(K,{label:i?`Compressed`:`Compressed (zram)`,value:e.zramCompressedMB===void 0?void 0:k(e.zramCompressedMB)}),(0,U.jsx)(K,{label:i?`Compression savings`:`Savings (zram)`,value:e.zramSavingsMB===void 0?void 0:k(e.zramSavingsMB)}),!t?.unified&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(K,{label:`Slots used`,value:t===void 0?void 0:`${t.devices.length}${t.slotsTotal?` of ${t.slotsTotal}`:``}`}),(0,U.jsx)(K,{label:`Maximum capacity`,value:t?.maxCapacityBytes===void 0?void 0:O(t.maxCapacityBytes)})]})]}),t&&t.devices.length>0&&(0,U.jsxs)(`div`,{className:`space-y-1`,children:[!t.unified&&(0,U.jsx)(`h4`,{className:`text-xs font-medium text-text-secondary`,children:`Slots`}),(0,U.jsx)(`div`,{className:`rounded-md border border-border divide-y divide-border`,children:t.devices.map(e=>(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-3 py-2 text-xs`,children:[(0,U.jsx)(`span`,{className:`font-medium shrink-0`,children:e.locator}),(0,U.jsx)(`span`,{className:`text-text-subtle truncate`,children:[e.manufacturer,e.ramType,e.formFactor,e.speedMts?`${e.speedMts} MT/s`:null].filter(Boolean).join(` · `)}),(0,U.jsx)(`span`,{className:`tabular-nums shrink-0`,children:O(e.sizeBytes)})]},e.locator))})]})]})}var de=90,fe=75;function pe(e){return e>=de?`bg-error`:e>=fe?`bg-warning`:`bg-primary`}function me({partitions:e}){return e.length===0?null:(0,U.jsxs)(`section`,{className:`space-y-2`,"data-testid":`sysmon-partitions`,children:[(0,U.jsx)(`h4`,{className:`text-sm font-medium`,children:`Partitions`}),(0,U.jsx)(`ul`,{className:`space-y-2`,children:e.map(e=>(0,U.jsx)(he,{part:e},e.id))})]})}function he({part:e}){let t=e.mounts.find(e=>e.usedBytes!==void 0&&e.totalBytes),n=t?Math.min(100,t.usedBytes/t.totalBytes*100):void 0;return(0,U.jsxs)(`li`,{className:`rounded-md border border-border px-3 py-2 space-y-1.5`,"data-testid":`sysmon-partition`,children:[(0,U.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,U.jsx)(`span`,{className:`text-sm font-medium truncate`,title:e.devicePath,children:e.devicePath}),(0,U.jsxs)(`span`,{className:`text-[11px] text-text-subtle shrink-0 tabular-nums`,children:[e.filesystem??`—`,` · `,O(e.sizeBytes)]})]}),e.mounts.length===0?(0,U.jsx)(`p`,{className:`text-[11px] text-text-subtle`,children:`Not mounted`}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`p`,{className:`text-[11px] text-text-subtle truncate`,title:e.mounts.map(e=>e.mountPoint).join(`, `),children:e.mounts.map(e=>e.mountPoint).join(`, `)}),n===void 0?(0,U.jsx)(`p`,{className:`text-[11px] text-text-subtle`,children:`Usage unavailable`}):(0,U.jsxs)(`div`,{className:`space-y-1`,children:[(0,U.jsx)(`div`,{className:`h-1.5 w-full rounded-full bg-surface-hover overflow-hidden`,children:(0,U.jsx)(`div`,{className:b(`h-full rounded-full`,pe(n)),style:{width:`${n}%`}})}),(0,U.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-[11px] text-text-subtle tabular-nums`,children:[(0,U.jsxs)(`span`,{children:[O(t.usedBytes),` of `,O(t.totalBytes)]}),(0,U.jsxs)(`span`,{children:[n.toFixed(0),`%`]})]})]})]})]})}var ge={hdd:`Hard disk`,ssd:`SSD`,nvme:`NVMe`,emmc:`eMMC`,sd:`SD card`,optical:`Optical`,thumb:`Removable`,unknown:`Unknown`};function _e({disk:e,info:t,index:n,history:r}){let i=g(e=>e.sysmonTempUnit),a=t=>t.system.disks?.find(t=>t.id===e.id),o=J(r,e=>a(e)?.busyPercent),s=J(r,e=>a(e)?.readBps),c=J(r,e=>a(e)?.writeBps);return(0,U.jsxs)(`div`,{className:`space-y-4`,"data-testid":`sysmon-detail-disk`,"data-disk-id":e.id,children:[(0,U.jsx)(W,{title:`Disk ${n}`,subtitle:t?.model??e.id,value:e.available?`${e.busyPercent.toFixed(0)}%`:`—`}),(0,U.jsxs)(`div`,{className:`space-y-1`,children:[(0,U.jsx)(`p`,{className:`text-[11px] text-text-subtle`,children:`Active time`}),(0,U.jsx)(q,{maxValue:100,series:[{data:o,color:Y.primary}],height:90})]}),(0,U.jsxs)(`div`,{className:`space-y-1`,children:[(0,U.jsx)(`p`,{className:`text-[11px] text-text-subtle`,children:`Transfer rate`}),(0,U.jsx)(q,{height:90,legend:[`Read`,`Write`],series:[{data:s,color:Y.success},{data:c,color:Y.secondary}]})]}),(0,U.jsxs)(G,{children:[(0,U.jsx)(K,{label:`Read speed`,value:e.available?A(e.readBps):void 0}),(0,U.jsx)(K,{label:`Write speed`,value:e.available?A(e.writeBps):void 0}),(0,U.jsx)(K,{label:`Avg. response time`,value:e.available?`${e.responseMs.toFixed(2)} ms`:void 0}),(0,U.jsx)(K,{label:`Temperature`,value:v(e.tempC,i)}),(0,U.jsx)(K,{label:`Total read`,value:O(e.readTotal)}),(0,U.jsx)(K,{label:`Total written`,value:O(e.writeTotal)}),(0,U.jsx)(K,{label:`Capacity`,value:t===void 0?void 0:O(t.capacityBytes)}),(0,U.jsx)(K,{label:`Type`,value:t===void 0?void 0:ge[t.kind]??t.kind}),(0,U.jsx)(K,{label:`System disk`,value:t===void 0?void 0:t.systemDisk?`Yes`:`No`}),(0,U.jsx)(K,{label:`Removable`,value:t===void 0?void 0:t.removable?`Yes`:`No`}),(0,U.jsx)(K,{label:`Rotation`,value:t?.rotationRpm===void 0?void 0:`${t.rotationRpm} RPM`}),(0,U.jsx)(K,{label:`Serial`,value:t?.serial})]}),(0,U.jsx)(me,{partitions:t?.partitions??[]})]})}var ve={connected:`Connected`,connecting:`Connecting`,disconnected:`Disconnected`,unavailable:`Unavailable`,unknown:`Unknown`};function ye({nic:e,info:t,history:n,platform:r}){let i=t=>t.system.nics?.find(t=>t.id===e.id),a=J(n,e=>i(e)?.rxBps),o=J(n,e=>i(e)?.txBps);return(0,U.jsxs)(`div`,{className:`space-y-4`,"data-testid":`sysmon-detail-nic`,"data-nic-id":e.id,children:[(0,U.jsx)(W,{title:P[t?.kind??`other`],subtitle:[e.id,t?.deviceName].filter(Boolean).join(` · `),value:e.available?A(e.rxBps+e.txBps):`—`}),(0,U.jsx)(q,{legend:[`Receive`,`Send`],series:[{data:a,color:Y.primary},{data:o,color:Y.secondary}]}),(0,U.jsxs)(G,{children:[(0,U.jsx)(K,{label:`State`,value:ve[e.state]}),(0,U.jsx)(K,{label:`Receive`,value:e.available?A(e.rxBps):void 0}),(0,U.jsx)(K,{label:`Send`,value:e.available?A(e.txBps):void 0}),(0,U.jsx)(K,{label:`Maximum bitrate`,value:e.linkMbps===void 0?void 0:`${e.linkMbps} Mbps`}),(0,U.jsx)(K,{label:`Total received`,value:O(e.rxTotal)}),(0,U.jsx)(K,{label:`Total sent`,value:O(e.txTotal)}),(0,U.jsx)(K,{label:`Network name`,value:e.ssid}),(0,U.jsx)(K,{label:`Signal`,value:e.signalPercent===void 0?void 0:`${e.signalPercent}%`}),(0,U.jsx)(K,{label:`Frequency`,value:e.frequencyMHz===void 0?void 0:`${(e.frequencyMHz/1e3).toFixed(1)} GHz`}),r!==`darwin`&&(0,U.jsx)(K,{label:`Driver`,value:t?.driver}),(0,U.jsx)(K,{label:`Hardware address`,value:t?.mac}),(0,U.jsx)(K,{label:`IPv4`,value:t?.ipv4.join(`, `),title:t?.ipv4.join(`
|
|
2
|
+
`)}),(0,U.jsx)(K,{label:`IPv6`,value:t?.ipv6.join(`, `),title:t?.ipv6.join(`
|
|
3
|
+
`)})]})]})}function Z(e,t){if(!(e===void 0&&t===void 0))return`${e===void 0?`?`:`Gen ${e}`} x${t??`?`}`}function be({gpu:e,info:t,index:n,history:r,platform:i}){let a=g(e=>e.sysmonTempUnit),o=i===`darwin`,s=t=>t.system.gpus.find(t=>e.id?t.id===e.id:t.name===e.name),c=J(r,e=>s(e)?.utilPercent),l=J(r,e=>s(e)?.encodePercent),u=J(r,e=>s(e)?.decodePercent),d=e.vramTotalMB>0,f=!d&&e.sharedTotalMB!==void 0,m=J(r,e=>{let t=s(e);return d?t?.vramUsedMB:t?.sharedUsedMB}),h=d?e.vramTotalMB:e.sharedTotalMB??0,_=e.encodePercent!==void 0||e.decodePercent!==void 0,y=t?.encodeDecodeShared===!0,b=p(r.map(e=>e.ts)),x=e=>b?`${e} ${b}`:e;return(0,U.jsxs)(`div`,{className:`space-y-4`,"data-testid":`sysmon-detail-gpu`,"data-gpu-id":e.id??n,children:[(0,U.jsx)(W,{title:`GPU ${n}`,subtitle:e.name,value:`${e.utilPercent.toFixed(0)}%`}),(0,U.jsx)(q,{grid:!0,maxValue:100,caption:x(`Utilisation`),ceiling:`100%`,series:[{data:c,color:Y.primary}]}),_&&(0,U.jsx)(q,{grid:!0,height:90,maxValue:100,caption:x(y?`Video encode/decode utilisation`:`Video encode and decode utilisation`),ceiling:`100%`,legend:y?void 0:[`Encode`,`Decode`],series:y?[{data:l,color:Y.secondary}]:[{data:l,color:Y.secondary},{data:u,color:Y.error}]}),(d||f)&&(0,U.jsx)(q,{grid:!0,height:90,maxValue:h,caption:x(d?`Video memory usage`:`Memory usage`),ceiling:k(h),series:[{data:m,color:Y.success}]}),(0,U.jsxs)(G,{children:[(!o||d)&&(0,U.jsx)(K,{label:`Video memory`,value:d?`${k(e.vramUsedMB)} / ${k(e.vramTotalMB)}`:void 0}),(0,U.jsx)(K,{label:d?`Shared memory`:`Memory usage`,value:e.sharedTotalMB===void 0?void 0:`${k(e.sharedUsedMB??0)} / ${k(e.sharedTotalMB)}`}),!o&&(0,U.jsx)(K,{label:y?`Video encode/decode`:`Video encode`,value:e.encodePercent===void 0?void 0:`${e.encodePercent.toFixed(0)}%`}),!o&&!y&&(0,U.jsx)(K,{label:`Video decode`,value:e.decodePercent===void 0?void 0:`${e.decodePercent.toFixed(0)}%`}),(0,U.jsx)(K,{label:`Clock`,value:e.clockMHz===void 0?void 0:`${e.clockMHz} MHz${e.clockMaxMHz?` / ${e.clockMaxMHz}`:``}`}),!o&&(0,U.jsx)(K,{label:`Memory clock`,value:e.memClockMHz===void 0?void 0:`${e.memClockMHz} MHz${e.memClockMaxMHz?` / ${e.memClockMaxMHz}`:``}`}),(0,U.jsx)(K,{label:`Power`,value:e.powerW===void 0?void 0:`${e.powerW.toFixed(1)} W${e.powerMaxW?` / ${e.powerMaxW}`:``}`}),(0,U.jsx)(K,{label:`Temperature`,value:v(e.tempC,a)}),o&&(0,U.jsx)(K,{label:`GPU cores`,value:t?.coreCount?.toString()}),(0,U.jsx)(K,{label:`Vendor`,value:t?.vendor}),(0,U.jsx)(K,{label:`Driver`,value:t?.driver===void 0?void 0:[t.driver,t.driverVersion].filter(Boolean).join(` `)}),o&&(0,U.jsx)(K,{label:`Metal`,value:t?.metalVersion}),!o&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(K,{label:`OpenGL`,value:t?.openglVersion}),(0,U.jsx)(K,{label:`Vulkan`,value:t?.vulkanVersion}),(0,U.jsx)(K,{label:`PCI bus address`,value:e.id}),(0,U.jsx)(K,{label:`PCIe link`,value:Z(t?.pcieGen,t?.pcieLanes)}),(0,U.jsx)(K,{label:`PCIe maximum`,value:Z(t?.pcieMaxGen,t?.pcieMaxLanes)})]})]})]})}var Q=e=>e===void 0?void 0:`${e} RPM`;function xe({fans:e,platform:t}){let n=g(e=>e.sysmonTempUnit),r=t===`darwin`,i=e.length>0?Math.max(...e.map(e=>e.rpm)):0;return(0,U.jsxs)(`div`,{className:`space-y-4`,"data-testid":`sysmon-detail-fans`,"data-fan-count":e.length,children:[(0,U.jsx)(W,{title:`Fans`,subtitle:`${e.length} sensor${e.length===1?``:`s`}`,value:`${i} RPM`}),(0,U.jsx)(`div`,{className:`rounded-md border border-border divide-y divide-border`,children:e.map(e=>(0,U.jsxs)(`div`,{className:`px-3 py-2 space-y-2`,"data-testid":`sysmon-fan-row`,children:[(0,U.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,U.jsx)(`span`,{className:`text-sm font-medium truncate`,title:e.id,children:e.label}),(0,U.jsxs)(`span`,{className:`text-sm tabular-nums shrink-0`,children:[e.rpm,` RPM`]})]}),(0,U.jsx)(G,{children:r?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(K,{label:`Minimum`,value:Q(e.minRpm)}),(0,U.jsx)(K,{label:`Maximum`,value:Q(e.maxRpm)})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(K,{label:`Duty cycle`,value:e.pwmPercent===void 0?void 0:`${e.pwmPercent.toFixed(0)}%`}),(0,U.jsx)(K,{label:e.tempName??`Temperature`,value:v(e.tempC,n)})]})})]},e.id))})]})}var Se={cpu:l,memory:c,disk:o,nic:s,gpu:a,fans:u};function Ce(e){return e>80?`bg-error`:e>50?`bg-warning`:`bg-primary`}function we({entry:e,selected:t,showChevron:n,onSelect:r}){let a=Se[e.kind];return(0,U.jsxs)(`button`,{type:`button`,onClick:()=>r(e.key),"aria-current":t,"data-testid":`sysmon-device-row`,"data-device-key":e.key,className:b(`w-full min-h-11 px-3 py-2 flex items-center gap-3 text-left transition-colors`,t?`bg-primary/10 text-text-primary`:`hover:bg-surface-hover`),children:[(0,U.jsx)(a,{className:`size-4 shrink-0 text-text-subtle`}),(0,U.jsxs)(`span`,{className:`flex-1 min-w-0`,children:[(0,U.jsx)(`span`,{className:`block text-sm truncate`,children:e.label}),(0,U.jsx)(`span`,{className:`block text-[11px] text-text-subtle truncate`,title:e.sublabel,children:e.sublabel}),e.percent!==null&&(0,U.jsx)(`span`,{className:`mt-1 block h-1 w-full rounded-full bg-surface-hover overflow-hidden`,children:(0,U.jsx)(`span`,{className:b(`block h-full transition-[width]`,Ce(e.percent)),style:{width:`${Math.max(1,Math.min(100,e.percent))}%`}})})]}),(0,U.jsx)(`span`,{className:`text-xs tabular-nums text-text-secondary shrink-0`,children:e.detail}),n&&(0,U.jsx)(i,{className:`size-4 shrink-0 text-text-subtle`})]})}function $({entry:e,system:t,inventory:n,history:r,platform:i}){switch(e.kind){case`cpu`:return(0,U.jsx)(le,{cpu:t.cpu,info:n?.cpu,history:r,processCount:t.processCount,platform:i});case`memory`:return(0,U.jsx)(ue,{mem:t.mem,info:n?.memory,history:r,platform:i});case`disk`:{let i=(t.disks??[]).findIndex(t=>t.id===e.id),a=i>=0?t.disks?.[i]:void 0;return a?(0,U.jsx)(_e,{disk:a,index:i,info:n?.disks.find(e=>e.id===a.id),history:r}):null}case`nic`:{let a=(t.nics??[]).find(t=>t.id===e.id);return a?(0,U.jsx)(ye,{nic:a,info:n?.nics.find(e=>e.id===a.id),history:r,platform:i}):null}case`gpu`:{let a=t.gpus.findIndex(t=>e.id?t.id===e.id:!0),o=a>=0?t.gpus[a]:void 0;return o?(0,U.jsx)(be,{gpu:o,index:a,info:n?.gpus.find(e=>e.id===o.id),history:r,platform:i}):null}case`fans`:return(0,U.jsx)(xe,{fans:t.fans??[],platform:i});default:return null}}function Te({system:e,history:t,device:n,onDeviceChange:i,platform:a}){let o=x(),s=ie((0,N.useMemo)(()=>[...(e.disks??[]).map(e=>e.id),...(e.nics??[]).map(e=>e.id),...e.gpus.map(e=>e.id).filter(e=>!!e)].join(`,`),[e.disks,e.nics,e.gpus])),c=(0,N.useMemo)(()=>B(e,s),[e,s]),l=V(c,n),u=c.find(e=>e.key===l),d=(0,U.jsx)(`div`,{className:`divide-y divide-border`,role:`list`,"data-testid":`sysmon-device-list`,children:c.map(e=>(0,U.jsx)(we,{entry:e,selected:!o&&e.key===l,showChevron:o,onSelect:i},e.key))});return o?n===null||!u||l!==n?(0,U.jsx)(`div`,{className:`h-full overflow-y-auto`,"data-testid":`sysmon-performance`,children:d}):(0,U.jsxs)(`div`,{className:`h-full flex flex-col`,"data-testid":`sysmon-performance`,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:()=>i(null),className:`shrink-0 min-h-11 px-3 flex items-center gap-2 text-sm border-b border-border`,children:[(0,U.jsx)(r,{className:`size-4`}),`Devices`]}),(0,U.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto p-4 @container`,children:(0,U.jsx)($,{entry:u,system:e,inventory:s,history:t,platform:a})})]}):(0,U.jsxs)(`div`,{className:`h-full flex min-h-0`,"data-testid":`sysmon-performance`,children:[(0,U.jsx)(`div`,{className:`w-56 shrink-0 border-r border-border overflow-y-auto`,children:d}),(0,U.jsx)(`div`,{className:`flex-1 min-w-0 overflow-y-auto p-4 @container`,children:u&&(0,U.jsx)($,{entry:u,system:e,inventory:s,history:t,platform:a})})]})}export{Te as PerformancePanel};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./rolldown-runtime-C5c2KzVm.js";import{D as t,E as n}from"./vendor-markdown-C-P1aR4p.js";var r=e(t(),1),i=n(),a=(0,r.createContext)(void 0);function o({container:e,children:t}){return(0,i.jsx)(a.Provider,{value:e,children:t})}function s(){return(0,r.useContext)(a)}export{s as n,o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./rolldown-runtime-C5c2KzVm.js";import{D as t,E as n}from"./vendor-markdown-C-P1aR4p.js";import"./vendor-ui-BTSIXzhZ.js";import{E as r,Kr as i,Sr as a,hr as o,qr as s,xn as c}from"./icons-BwyIKaTT.js";import{k as l,r as u}from"./api-client-xQDlhUTu.js";import{t as d}from"./button-C9ZXWb3b.js";import{t as f}from"./input-C3oVNCMq.js";import{Kn as p}from"./index-DLB3j_P0.js";import{t as m}from"./separator-DmU9aJwq.js";import{n as h,r as g}from"./settings-rows-DD7Gxmst.js";import{i as _,n as v,r as y,t as b}from"./telegram-bot-token-field-BqNtOo5n.js";var x=e(t(),1),S=n(),C=e=>e instanceof Error?e.message:String(e);function w(e){return e.running?e.botUsername?`Answering as @${e.botUsername}`:`Running`:e.enabled?`Turned on, but not running — check the bot token`:`Off`}function T(){let[e,t]=(0,x.useState)(null),[n,r]=(0,x.useState)(null),[i,o]=(0,x.useState)(!1),f=(0,x.useCallback)(async()=>{try{let e=await u.get(`/api/settings/clawbot/telegram`);return t(e),r(null),e}catch(e){return r(C(e)),null}},[]);(0,x.useEffect)(()=>{f()},[f]);let{link:p,starting:m,connect:T,cancel:E}=_(`/api/settings/clawbot/telegram/connect`,e,f),D=async e=>{o(!0),t(t=>t&&{...t,enabled:e});try{await u.put(`/api/settings/clawbot`,{enabled:e})}catch(t){l.error(e?`Could not turn PPMBot on`:`Could not turn PPMBot off`,{description:C(t)})}finally{o(!1),await f()}},O=async e=>{try{await u.del(`/api/settings/clawbot/paired/${encodeURIComponent(e.chatId)}`),l.success(`Disconnected ${e.name}`,{description:`It can no longer use PPMBot.`})}catch(e){l.error(`Could not disconnect`,{description:C(e)})}finally{await f()}},k=e?.chats??[];return(0,S.jsxs)(`section`,{className:`space-y-3`,children:[(0,S.jsx)(h,{title:`Telegram`,children:`Chat with PPMBot through a Telegram bot of its own. A chat connected here can run tasks on this machine, so connect only your own.`}),n&&(0,S.jsx)(`p`,{className:`text-xs text-error`,children:n}),e?.configured&&(0,S.jsxs)(S.Fragment,{children:[e.sharedWithNotifications&&(0,S.jsxs)(`p`,{className:`flex gap-2 rounded-lg border border-warning/40 px-3 py-2 text-xs leading-relaxed`,children:[(0,S.jsx)(s,{className:`mt-0.5 size-3.5 shrink-0 text-warning`}),(0,S.jsx)(`span`,{children:`Notifications use this bot too, so alerts arrive in your PPMBot chats. Paste a new bot's token below to give PPMBot its own.`})]}),(0,S.jsx)(`div`,{className:`rounded-lg border border-border`,children:(0,S.jsx)(g,{label:`Turn on PPMBot`,note:w(e),checked:e.enabled,disabled:i,onChange:e=>void D(e)})}),k.length>0&&(0,S.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,S.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Chats that can use PPMBot`}),(0,S.jsx)(y,{chats:k,onDisconnect:e=>void O(e)})]}),p?(0,S.jsx)(v,{link:p,botUsername:e.botUsername,error:e.connect.error,onCancel:()=>void E()}):(0,S.jsxs)(d,{onClick:()=>void T(),disabled:m,className:`min-h-11 w-full cursor-pointer gap-2 sm:w-auto md:min-h-9`,children:[m?(0,S.jsx)(c,{className:`size-4 animate-spin`}):(0,S.jsx)(a,{className:`size-4`}),k.length===0?`Connect Telegram`:`Connect another chat`]})]}),e&&!e.configured&&(0,S.jsx)(`p`,{className:`text-xs leading-relaxed text-muted-foreground`,children:`Create a new bot for PPMBot rather than reusing the one in Settings → Notifications, so alerts stay out of your PPMBot chats.`}),e&&(0,S.jsx)(b,{endpoint:`/api/settings/clawbot/telegram`,usernameExample:`my_ppm_assistant_bot`,configured:e.configured,botUsername:e.botUsername,onSaved:()=>void f()})]})}function E(){let[e,t]=(0,x.useState)(null),[n,a]=(0,x.useState)(!1),[s,c]=(0,x.useState)(null),[l,h]=(0,x.useState)(``),[g,_]=(0,x.useState)(!0),[v,y]=(0,x.useState)(!1),[b,C]=(0,x.useState)(2e3),[w,E]=(0,x.useState)([]),[D,O]=(0,x.useState)(`_global`),[k,A]=(0,x.useState)([]),j=(0,x.useRef)(void 0),M=(0,x.useCallback)(async(e=D)=>{try{E(await u.get(`/api/settings/clawbot/memories?project=${encodeURIComponent(e)}`))}catch{}},[D]),N=(0,x.useCallback)(async()=>{try{A(await u.get(`/api/settings/clawbot/tasks?limit=20`))}catch{}},[]),P=async e=>{try{await u.del(`/api/settings/clawbot/memories/${e}`),E(t=>t.filter(t=>t.id!==e))}catch{}};(0,x.useEffect)(()=>(u.get(`/api/settings/clawbot`).then(e=>{t(e),h(e.system_prompt),_(e.show_tool_calls),y(e.show_thinking),C(e.debounce_ms)}).catch(()=>{}),M(`_global`),N(),j.current=setInterval(N,1e4),()=>{j.current&&clearInterval(j.current)}),[M,N]);let F=async()=>{a(!0),c(null);try{let e={system_prompt:l,show_tool_calls:g,show_thinking:v,debounce_ms:b};t(await u.put(`/api/settings/clawbot`,e)),c({type:`ok`,msg:`Saved`})}catch(e){c({type:`err`,msg:e.message})}finally{a(!1)}};if(!e)return(0,S.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Loading...`});let I={pending:`⏳`,running:`🔄`,completed:`✅`,failed:`❌`,timeout:`⏱`},L={running:`text-primary`,completed:`text-success`,failed:`text-destructive`,timeout:`text-warning`};return(0,S.jsxs)(`div`,{className:`space-y-4`,children:[(0,S.jsx)(T,{}),(0,S.jsx)(m,{}),(0,S.jsxs)(`div`,{className:`space-y-2`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,S.jsx)(`p`,{className:`text-xs font-medium`,children:`Delegated Tasks`}),(0,S.jsx)(d,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 cursor-pointer`,onClick:N,children:(0,S.jsx)(o,{className:`size-3`})})]}),k.length===0?(0,S.jsx)(`p`,{className:`text-[10px] text-muted-foreground italic`,children:`No delegated tasks yet. The coordinator will create tasks when you ask it to work on a project.`}):(0,S.jsx)(`div`,{className:`space-y-1 max-h-[200px] overflow-y-auto`,children:k.map(e=>{let t=e.completed_at?`${Math.round((e.completed_at-e.created_at)/60)}m`:`${Math.round((Date.now()/1e3-e.created_at)/60)}m`;return(0,S.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border p-2 text-[11px]`,children:[(0,S.jsx)(`span`,{className:L[e.status]??``,children:I[e.status]??`?`}),(0,S.jsx)(`span`,{className:`font-medium shrink-0`,children:e.project_name}),(0,S.jsx)(`span`,{className:`truncate text-muted-foreground flex-1`,children:e.prompt.slice(0,60)}),(0,S.jsx)(`span`,{className:`text-[10px] text-muted-foreground shrink-0`,children:t})]},e.id)})})]}),(0,S.jsx)(m,{}),(0,S.jsxs)(`div`,{className:`space-y-2`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,S.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,S.jsx)(r,{className:`size-3.5 text-muted-foreground`}),(0,S.jsx)(`p`,{className:`text-xs font-medium`,children:`Memory & Identity`})]}),(0,S.jsx)(d,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 cursor-pointer`,onClick:()=>M(D),children:(0,S.jsx)(o,{className:`size-3`})})]}),(0,S.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Facts the bot remembers across sessions. Use /remember on Telegram to add, or delete here.`}),w.length===0?(0,S.jsx)(`p`,{className:`text-[10px] text-muted-foreground italic`,children:`No memories stored yet. Send /start on Telegram and introduce yourself.`}):(0,S.jsx)(`div`,{className:`space-y-1 max-h-[200px] overflow-y-auto`,children:w.map(e=>(0,S.jsxs)(`div`,{className:`flex items-start justify-between rounded-md border p-2 gap-1`,children:[(0,S.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsx)(`p`,{className:`text-[11px] break-words`,children:e.content}),(0,S.jsxs)(`p`,{className:`text-[10px] text-muted-foreground`,children:[e.category,` · `,e.project]})]}),(0,S.jsx)(d,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 text-destructive hover:text-destructive cursor-pointer shrink-0`,onClick:()=>P(e.id),children:(0,S.jsx)(i,{className:`size-3`})})]},e.id))})]}),(0,S.jsx)(m,{}),(0,S.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,S.jsx)(`label`,{className:`text-[11px] text-muted-foreground`,children:`Custom Instructions`}),(0,S.jsx)(`textarea`,{placeholder:`Additional instructions for the coordinator (optional)...`,value:l,onChange:e=>h(e.target.value),className:`flex w-full rounded-md border border-input bg-background px-3 py-2 text-xs min-h-[60px] resize-y ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,rows:3}),(0,S.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Extra instructions added to the coordinator identity. Leave empty to use defaults from coordinator.md.`})]}),(0,S.jsxs)(`div`,{className:`space-y-2`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,S.jsx)(`p`,{className:`text-xs`,children:`Show tool calls`}),(0,S.jsx)(p,{checked:g,onCheckedChange:_})]}),(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,S.jsx)(`p`,{className:`text-xs`,children:`Show thinking`}),(0,S.jsx)(p,{checked:v,onCheckedChange:y})]})]}),(0,S.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,S.jsx)(`label`,{className:`text-[11px] text-muted-foreground`,children:`Debounce (ms)`}),(0,S.jsx)(f,{type:`number`,min:0,max:3e4,step:500,value:b,onChange:e=>C(Number(e.target.value)),className:`h-7 text-xs w-24`}),(0,S.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Merge rapid messages within this window. 0 = no debounce.`})]}),(0,S.jsx)(d,{variant:`default`,size:`sm`,className:`h-8 text-xs w-full cursor-pointer`,disabled:n,onClick:F,children:n?`Saving...`:`Save`}),s&&(0,S.jsx)(`p`,{className:`text-[11px] ${s.type===`ok`?`text-success`:`text-destructive`}`,children:s.msg})]})}export{E as PPMBotSettingsSection};
|
|
Binary file
|
|
Binary file
|