@runeya/runeya 2.0.153 → 2.0.154
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/{chat-Z7SFBEXS.js → chat-COP27XB3.js} +3 -3
- package/{chunk-EUTW2S4P.js → chunk-OLHL5NFP.js} +7 -4
- package/chunk-OLHL5NFP.js.map +1 -0
- package/{chunk-QJSIN26R.js → chunk-VKYSHTYT.js} +443 -78
- package/chunk-VKYSHTYT.js.map +1 -0
- package/{companion-ZDEGNZ2G.js → companion-3MW23ONE.js} +2 -2
- package/index.js +7 -7
- package/{install-gate-TSCXUCYE.js → install-gate-3UVXPA57.js} +2 -2
- package/package.json +1 -1
- package/{src-NWPED6TK.js → src-K4E6GUCZ.js} +37 -25
- package/src-K4E6GUCZ.js.map +1 -0
- package/web/assets/{AgentScalarChatInterface.vue-CEMnvqfq.js → AgentScalarChatInterface.vue-BtA-f77q.js} +3 -3
- package/web/assets/{AgentTerminalPage-qQ96vm5Y.js → AgentTerminalPage-2Ky-vEkw.js} +1 -1
- package/web/assets/AiChatModals-BV3vIIqN.js +4 -0
- package/web/assets/AiChatModals-DS5R3Oz1.css +1 -0
- package/web/assets/AppLayout-BgPr-urw.css +1 -0
- package/web/assets/AppLayout-DsczwAFI.js +1 -0
- package/web/assets/{AuditPage-B-pCRqXH.js → AuditPage-DoKHFRJ7.js} +1 -1
- package/web/assets/{CloudAccountPage-C7aV6M8U.js → CloudAccountPage-CDQNalgx.js} +1 -1
- package/web/assets/{CloudMessagingPage-BTc8xbjF.js → CloudMessagingPage-DduCz3KB.js} +1 -1
- package/web/assets/{DashboardPage-CF7GLFlx.js → DashboardPage-ClJR5DiP.js} +1 -1
- package/web/assets/{DirectoryPickerDialog-bKqIFy8e.js → DirectoryPickerDialog-CVVg3SzI.js} +1 -1
- package/web/assets/{EnvironmentForm-kOyM5xTa.js → EnvironmentForm-eMpLFv_-.js} +1 -1
- package/web/assets/{EnvironmentFormPage-DfNI6meL.js → EnvironmentFormPage-DXH2lgk_.js} +1 -1
- package/web/assets/{EnvironmentListPage-C1VLgeeP.js → EnvironmentListPage-D-g_8lQw.js} +1 -1
- package/web/assets/{KanbanBoardPage-Bl6UnQ6P.js → KanbanBoardPage-BeSkCN6I.js} +3 -3
- package/web/assets/KanbanBoardPage-BrFqn87r.css +1 -0
- package/web/assets/{KanbanListPage-Dly6XiRC.js → KanbanListPage-DnhCC5ET.js} +1 -1
- package/web/assets/{LaunchProjectPage-DCrKSY8v.js → LaunchProjectPage-DyNqhic1.js} +1 -1
- package/web/assets/{LaunchServicesPage-Bl1pjfYH.js → LaunchServicesPage-bI7pVeU7.js} +1 -1
- package/web/assets/{LaunchShell-BcbfPDdc.js → LaunchShell-CokT4E5l.js} +1 -1
- package/web/assets/{LogViewer-C_XcH7Oe.js → LogViewer-Cs3Y8vaZ.js} +1 -1
- package/web/assets/{OrgKeyPrompt-BK6gkvaO.js → OrgKeyPrompt-DtgelhnI.js} +1 -1
- package/web/assets/{ProcessControls-BbRdiZsD.js → ProcessControls-CxlDLGiO.js} +1 -1
- package/web/assets/{ProcessDetailPage-W7S7ogas.js → ProcessDetailPage-D93cKCHb.js} +1 -1
- package/web/assets/{ProjectCreateDialog-q_39qiPd.js → ProjectCreateDialog-Bko_A5wp.js} +1 -1
- package/web/assets/{ProjectLocationGate-BFvdSy-B.js → ProjectLocationGate-jsy8WetY.js} +1 -1
- package/web/assets/{ProjectPublishDialog-DAJAvDTT.js → ProjectPublishDialog-7kR1zZAo.js} +1 -1
- package/web/assets/{RandomJobTestPage-A-I7cImN.js → RandomJobTestPage-Dp9prwa7.js} +1 -1
- package/web/assets/{ScenarioEditorPage-DXw4bCxb.js → ScenarioEditorPage-fv9yLH75.js} +1 -1
- package/web/assets/{SendToChatDialog-CbhE2WYO.js → SendToChatDialog-BVSbXcbf.js} +1 -1
- package/web/assets/{ServiceControlsBar-CudCeQql.js → ServiceControlsBar-DFECGWL8.js} +1 -1
- package/web/assets/{ServiceDetailPage-DQvL-VOx.js → ServiceDetailPage-BQA74240.js} +1 -1
- package/web/assets/{ServiceFormPage-0qXPeqrh.js → ServiceFormPage-ChsRsoLt.js} +1 -1
- package/web/assets/SettingsPage-BXKsN9Py.js +2086 -0
- package/web/assets/{SettingsPage-NpFX7FAy.css → SettingsPage-Dsuzjo8r.css} +1 -1
- package/web/assets/{UnlockPage-CtvaQt45.js → UnlockPage-DhEN16uX.js} +1 -1
- package/web/assets/{VaultMigrationPage-DtoAlng4.js → VaultMigrationPage-BgRNUuTP.js} +1 -1
- package/web/assets/{VersionBadge-CiBz82BB.js → VersionBadge-CXJ-2h5V.js} +1 -1
- package/web/assets/{WikiPage-cuKigw_5.js → WikiPage-BT5a9d5Q.js} +1 -1
- package/web/assets/{WikiView-BW-B83LB.js → WikiView-BNReLsq5.js} +1 -1
- package/web/assets/{add-scalar-classes-BPTxQDQd.js → add-scalar-classes-C_lKfiMa.js} +2 -2
- package/web/assets/{agent.store-DumNiX1X.js → agent.store-B6OM7edC.js} +1 -1
- package/web/assets/{auth-Qa1l14iV.js → auth-5bsz5kSC.js} +2 -2
- package/web/assets/{cloud-chat.store-TYR1_27Z.js → cloud-chat.store-Di38xQRJ.js} +1 -1
- package/web/assets/{cloud-client-CdOqrdP_.js → cloud-client-CEVx-bg6.js} +2 -2
- package/web/assets/{cloud-session-Dd7b9wxV.js → cloud-session-w6eNQX1X.js} +2 -2
- package/web/assets/composables-CCbqJqnd.js +1 -0
- package/web/assets/i18n-DbgjJIf8.js +1 -0
- package/web/assets/index-DB3-fmza.css +1 -0
- package/web/assets/{index-BCU69ZHl.js → index-mvpLwxNT.js} +74 -74
- package/web/assets/modal-Bslt0NZi.js +5 -0
- package/web/assets/{notification.store-D2olEA0V.js → notification.store-CAG1kWYq.js} +1 -1
- package/web/assets/{project-launch.store-MX5LzgIm.js → project-launch.store-Im5SMon9.js} +1 -1
- package/web/assets/{project.store-BFwiDQ1X.js → project.store-CITAykC3.js} +1 -1
- package/web/assets/{scenario.store-C8kW-yTN.js → scenario.store-C9sSoRzb.js} +2 -2
- package/web/assets/{service.store-B0Ass90H.js → service.store-CZJuuJiv.js} +1 -1
- package/web/assets/{settings-scope-D0hzzuyq.js → settings-scope-vcJEMNnD.js} +1 -1
- package/web/assets/{settings.store-B9Kp0l1G.js → settings.store-CydW_2jh.js} +1 -1
- package/web/assets/{src-DnjsM9el.js → src-CIOvFTGI.js} +23 -23
- package/web/assets/{src-DITmhvGS.js → src-COZZWm-m.js} +1 -1
- package/web/assets/src-DrVR8mhy.css +1 -0
- package/web/assets/{trpc-BvrR5qP9.js → trpc-BQ0mLnfI.js} +3 -3
- package/web/assets/{useCloudOrg-2vv5fVV6.js → useCloudOrg-CQvEbrZv.js} +1 -1
- package/web/assets/{useEnvVarAutocomplete-VVX3MC62.js → useEnvVarAutocomplete-hy3rO3SN.js} +1 -1
- package/web/assets/{useProjectCatalog-DsVvtBzo.js → useProjectCatalog-CWHpf3Yj.js} +1 -1
- package/web/assets/{useProjectCloudOrg-wv-RfsmO.js → useProjectCloudOrg-B3rNPes5.js} +1 -1
- package/web/assets/{useServiceUrlHost-C4Evrede.js → useServiceUrlHost-BFfie_6h.js} +1 -1
- package/web/index.html +17 -17
- package/chunk-EUTW2S4P.js.map +0 -1
- package/chunk-QJSIN26R.js.map +0 -1
- package/mcp-server/external.d.ts +0 -44
- package/mcp-server/index.d.ts +0 -1
- package/mcp-server/launch.d.ts +0 -89
- package/src-NWPED6TK.js.map +0 -1
- package/web/assets/AiChatModals-BmWxg-Sr.css +0 -1
- package/web/assets/AiChatModals-BsfKdbEA.js +0 -4
- package/web/assets/AppLayout-Djk3-XbN.css +0 -1
- package/web/assets/AppLayout-f0_BsXSc.js +0 -1
- package/web/assets/KanbanBoardPage-Cmu4Je4N.css +0 -1
- package/web/assets/SettingsPage-Bjn4bKPP.js +0 -2086
- package/web/assets/composables-DguCUR3O.js +0 -1
- package/web/assets/i18n-DipCGVKv.js +0 -1
- package/web/assets/index-Ck_3m_I9.css +0 -1
- package/web/assets/modal-BgrgFhyC.js +0 -5
- package/web/assets/src-CfDz-9Q6.css +0 -1
- /package/{chat-Z7SFBEXS.js.map → chat-COP27XB3.js.map} +0 -0
- /package/{companion-ZDEGNZ2G.js.map → companion-3MW23ONE.js.map} +0 -0
- /package/{install-gate-TSCXUCYE.js.map → install-gate-3UVXPA57.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
.traefik-settings[data-v-672cfadb]{box-sizing:border-box;flex-direction:column;gap:1rem;width:100%;min-width:0;display:flex}.traefik-settings[data-v-672cfadb] input,.traefik-settings[data-v-672cfadb] .r-input,.traefik-settings[data-v-672cfadb] .r-select,.traefik-settings[data-v-672cfadb] .r-autocomplete,.traefik-settings[data-v-672cfadb] .r-password{box-sizing:border-box;width:100%;max-width:100%}.traefik-row[data-v-672cfadb]{justify-content:space-between;align-items:center;display:flex}.traefik-field[data-v-672cfadb]{flex-direction:column;gap:.4rem;display:flex}.traefik-field label[data-v-672cfadb]{font-size:.875rem;font-weight:500}.traefik-field small[data-v-672cfadb]{color:var(--r-text-muted);font-size:.75rem}.credential-row[data-v-672cfadb]{align-items:center;gap:.5rem;min-width:0;display:flex}.credential-key[data-v-672cfadb]{flex:0 0 160px;min-width:0}.credential-value[data-v-672cfadb]{flex:1;min-width:0}.credential-value[data-v-672cfadb] .r-password,.credential-value[data-v-672cfadb] .r-password input{width:100%}.traefik-ports[data-v-672cfadb]{gap:1rem;display:flex}.traefik-field--small[data-v-672cfadb]{flex:1}.hint-ok[data-v-672cfadb]{color:var(--r-green-500);font-size:.8rem;font-weight:400}.traefik-actions[data-v-672cfadb]{align-self:flex-end;gap:.5rem;display:flex}.traefik-renewal-notice[data-v-672cfadb]{background:color-mix(in srgb, var(--r-blue-500) 10%, transparent);border:1px solid color-mix(in srgb, var(--r-blue-500) 30%, transparent);color:var(--r-blue-300);align-items:flex-start;gap:.6rem;padding:.75rem;font-size:.875rem;display:flex}.traefik-validation[data-v-672cfadb]{border:1px solid var(--r-border);flex-direction:column;gap:.4rem;padding:.75rem;display:flex}.validation-item[data-v-672cfadb]{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.validation-item--ok[data-v-672cfadb]{color:var(--r-green-500)}.validation-item--fail[data-v-672cfadb]{color:var(--r-red-500)}.traefik-logs[data-v-672cfadb],.traefik-config-files[data-v-672cfadb]{border:1px solid var(--r-border);overflow:hidden}.config-tabs[data-v-672cfadb]{gap:.25rem;display:flex}.config-tab[data-v-672cfadb]{cursor:pointer;color:var(--r-text-muted);background:0 0;border:none;padding:.2rem .6rem;font-size:.8rem}.config-tab--active[data-v-672cfadb]{background:var(--r-primary);color:var(--r-primary-contrast)}.traefik-logs-header[data-v-672cfadb]{background:var(--r-bg-hover);justify-content:space-between;align-items:center;padding:.4rem .75rem;font-size:.8rem;font-weight:600;display:flex}.logs-live[data-v-672cfadb]{color:var(--r-green-400);font-size:.7rem;animation:1.2s ease-in-out infinite blink-672cfadb}@keyframes blink-672cfadb{0%,to{opacity:1}50%{opacity:.3}}.traefik-logs-content[data-v-672cfadb]{white-space:pre-wrap;word-break:break-all;background:var(--r-surface-900,#1a1a1a);max-height:300px;color:var(--r-surface-100,#f0f0f0);margin:0;padding:.75rem;font-family:monospace;font-size:.75rem;overflow-y:auto}.traefik-dialog-layout[data-v-6b2d251e]{grid-template-columns:1fr 1fr;gap:1.5rem;min-height:0;display:grid}.traefik-dialog-left[data-v-6b2d251e]{min-width:0;max-height:80vh;padding-right:.5rem;overflow-y:auto}.traefik-dialog-right[data-v-6b2d251e]{flex-direction:column;gap:.5rem;min-width:0;max-height:80vh;display:flex}.fs-header[data-v-6b2d251e]{color:var(--r-text-muted);border-bottom:1px solid var(--r-border);justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.75rem;font-weight:600;display:flex}.fs-tree[data-v-6b2d251e]{flex-direction:column;gap:1px;display:flex}.fs-entry[data-v-6b2d251e]{cursor:pointer;text-align:left;color:var(--r-text);background:0 0;border:none;align-items:center;gap:.4rem;width:100%;padding:.3rem .5rem;font-size:.8rem;display:flex}.fs-entry[data-v-6b2d251e]:hover{background:var(--r-bg-hover)}.fs-entry--active[data-v-6b2d251e]{background:color-mix(in srgb, var(--r-primary) 15%, transparent);color:var(--r-primary)}.fs-icon[data-v-6b2d251e]{opacity:.6;flex-shrink:0;font-size:.75rem}.fs-dir[data-v-6b2d251e]{opacity:.5;font-size:.7rem}.fs-name[data-v-6b2d251e]{font-weight:500}.fs-empty[data-v-6b2d251e]{color:var(--r-text-muted);padding:.5rem;font-size:.8rem;font-style:italic}.fs-content[data-v-6b2d251e]{white-space:pre-wrap;word-break:break-all;background:var(--r-surface-900,#1a1a1a);color:var(--r-surface-100,#f0f0f0);border:1px solid var(--r-border);flex:1;margin:0;padding:.75rem;font-family:monospace;font-size:.72rem;overflow-y:auto}.agent-page[data-v-0cafa443]{max-width:1200px;margin:0 auto;padding:1.5rem}.page-header[data-v-0cafa443]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-header h1[data-v-0cafa443]{margin:0;font-size:1.75rem;font-weight:700}.loading-container[data-v-0cafa443],.error-container[data-v-0cafa443],.empty-container[data-v-0cafa443]{color:var(--r-text-muted);flex-direction:column;align-items:center;gap:.75rem;padding:3rem 0;display:flex}.agent-name[data-v-0cafa443]{align-items:center;gap:.5rem;font-weight:500;display:flex}.agent-url[data-v-0cafa443]{background:var(--r-bg-hover);border-radius:4px;padding:.15rem .4rem;font-family:Fira Code,Cascadia Code,monospace;font-size:.8rem}.runner-tags[data-v-0cafa443]{flex-wrap:wrap;gap:.3rem;display:flex}.action-grid[data-v-0cafa443]{grid-template-columns:repeat(2,auto);gap:0;width:fit-content;display:grid}@media (width<=768px){[data-v-0cafa443] .hide-on-mobile{display:none!important}[data-v-0cafa443] .r-datatable__header-content{white-space:nowrap}.agent-url[data-v-0cafa443]{word-break:break-all;white-space:normal}}.text-muted[data-v-0cafa443]{color:var(--r-text-muted)}.form-group[data-v-0cafa443]{margin-bottom:1rem}.form-group label[data-v-0cafa443]{margin-bottom:.4rem;font-size:.875rem;font-weight:500;display:block}.form-hint[data-v-0cafa443]{color:var(--r-text-muted);font-size:.78rem}.test-connection[data-v-0cafa443]{align-items:center;gap:.75rem;display:flex}.w-full[data-v-0cafa443]{width:100%}.passthrough-description[data-v-0cafa443]{color:var(--r-text-muted);margin:0 0 1rem;font-size:.85rem;line-height:1.4}.passthrough-list[data-v-0cafa443]{flex-direction:column;gap:.25rem;margin-bottom:.75rem;display:flex}.passthrough-item[data-v-0cafa443]{background:var(--r-bg-hover);border-radius:6px;justify-content:space-between;align-items:center;padding:.3rem .5rem;display:flex}.passthrough-item-info[data-v-0cafa443]{align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.passthrough-item code[data-v-0cafa443]{flex-shrink:0;font-family:Fira Code,Cascadia Code,monospace;font-size:.85rem}.passthrough-value[data-v-0cafa443]{color:var(--r-text-muted);text-overflow:ellipsis;white-space:nowrap;font-family:Fira Code,Cascadia Code,monospace;font-size:.8rem;overflow:hidden}.passthrough-undefined[data-v-0cafa443]{color:var(--r-orange-500);font-size:.78rem;font-style:italic}.passthrough-unsaved[data-v-0cafa443]{color:var(--r-text-muted);font-size:.78rem;font-style:italic}.passthrough-empty[data-v-0cafa443]{margin-bottom:.75rem;font-size:.85rem}.passthrough-add[data-v-0cafa443]{align-items:center;gap:.5rem;display:flex}.passthrough-add-input[data-v-0cafa443]{flex:1}.passthrough-error[data-v-0cafa443]{color:var(--r-red-500);margin-top:.25rem;font-size:.78rem;display:block}.api-keys-page[data-v-f17bb1dc]{max-width:860px;padding:1.5rem}.api-keys-page__header[data-v-f17bb1dc]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.api-keys-page__header h1[data-v-f17bb1dc]{margin:0;font-size:1.5rem;font-weight:600}.api-keys-page__subtitle[data-v-f17bb1dc]{color:var(--r-text-muted);flex:1;margin:0;font-size:.875rem}.api-keys-page__empty[data-v-f17bb1dc]{color:var(--r-text-muted);padding:2rem 0;font-size:.9rem}.api-keys-card[data-v-f17bb1dc]{max-width:680px}.api-keys-list[data-v-f17bb1dc]{flex-direction:column;gap:.5rem;display:flex}.api-key-card[data-v-f17bb1dc]{border:1px solid var(--r-border);background:var(--r-bg);padding:.5rem .75rem;position:relative}.api-key-card__body[data-v-f17bb1dc]{min-width:0}.api-key-card__name[data-v-f17bb1dc]{align-items:center;gap:.5rem;margin-bottom:.2rem;padding-right:5rem;font-weight:500;display:flex}.api-key-card__meta[data-v-f17bb1dc]{color:var(--r-text-muted);margin-bottom:.4rem;font-size:.8rem}.api-key-card__url-row[data-v-f17bb1dc]{align-items:center;gap:.4rem;display:flex}.api-key-card__url[data-v-f17bb1dc]{min-width:0;color:var(--r-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.75rem;overflow:hidden}.api-key-card__actions[data-v-f17bb1dc]{gap:.3rem;display:flex;position:absolute;top:.5rem;right:.5rem}.badge[data-v-f17bb1dc]{text-transform:uppercase;border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.badge--info[data-v-f17bb1dc]{background:var(--r-blue-100);color:var(--r-blue-700)}.api-key-form[data-v-f17bb1dc]{border:1px solid var(--runeya-border);border-radius:10px;max-width:600px;padding:1.5rem}.api-key-form h2[data-v-f17bb1dc]{margin:0 0 1.25rem;font-size:1.1rem}.form-field[data-v-f17bb1dc]{margin-bottom:1.25rem}.form-field>label[data-v-f17bb1dc]:first-child{margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.form-hint[data-v-f17bb1dc]{color:var(--r-text-muted);margin-top:.4rem;font-size:.75rem}.radio-group[data-v-f17bb1dc]{flex-direction:column;gap:.4rem;display:flex}.radio-label[data-v-f17bb1dc]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.svc-list-container[data-v-f17bb1dc]{border:1px solid var(--runeya-border);border-radius:8px;margin-bottom:.5rem;overflow:hidden}.svc-list-search[data-v-f17bb1dc]{border-bottom:1px solid var(--runeya-border);align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.svc-list-search__icon[data-v-f17bb1dc]{color:var(--r-text-muted);flex-shrink:0;font-size:.75rem}.svc-list-search__input[data-v-f17bb1dc]{box-shadow:none;color:var(--r-text);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:.85rem}.svc-list-search__input[data-v-f17bb1dc]::placeholder{color:var(--r-text-muted)}.svc-list-search__clear[data-v-f17bb1dc]{cursor:pointer;color:var(--r-text-muted);background:0 0;border:none;align-items:center;padding:0;font-size:.75rem;display:flex}.svc-list-search__clear[data-v-f17bb1dc]:hover{color:var(--r-text)}.svc-list-scroll[data-v-f17bb1dc]{max-height:360px;overflow-y:auto}.svc-list-empty[data-v-f17bb1dc]{margin:0;padding:.75rem}.svc-perm-row[data-v-f17bb1dc]{border-bottom:1px solid var(--runeya-border);overflow:hidden}.svc-perm-row[data-v-f17bb1dc]:last-child{border-bottom:none}.svc-perm-row__header[data-v-f17bb1dc]{border-bottom:1px solid var(--runeya-border);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.svc-perm-row__header[data-v-f17bb1dc]:hover{background:var(--runeya-sidebar-hover)}.svc-chevron[data-v-f17bb1dc]{color:var(--r-text-muted);font-size:.7rem;transition:transform .15s}.svc-perm-summary[data-v-f17bb1dc]{color:var(--r-text-muted);margin-left:.3rem;font-size:.75rem;font-weight:400}.svc-perm-row__name[data-v-f17bb1dc]{align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;display:flex}.svc-perm-row__actions[data-v-f17bb1dc]{border-bottom:1px solid var(--runeya-border);flex-wrap:wrap;gap:.35rem;padding:.5rem .75rem;display:flex}.action-chip--sub[data-v-f17bb1dc]{opacity:.85;margin-left:.25rem;font-size:.72rem}.action-chip--sub.flag-chip--on[data-v-f17bb1dc]{background:var(--r-primary-400,var(--r-primary))}.svc-perm-row__envs[data-v-f17bb1dc]{flex-direction:column;gap:.35rem;padding:.5rem .75rem;display:flex}.env-perm-row[data-v-f17bb1dc]{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.env-perm-row__name[data-v-f17bb1dc]{color:var(--r-text-muted);align-items:center;gap:.3rem;min-width:8rem;font-size:.8rem;display:flex}.env-add-row[data-v-f17bb1dc]{margin-top:.25rem}.svc-add-row[data-v-f17bb1dc]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.import-modal__body[data-v-f17bb1dc]{flex-direction:column;gap:1rem;padding:.25rem 0;display:flex}.import-modal__desc[data-v-f17bb1dc]{color:var(--r-text-muted);margin:0;font-size:.875rem}.import-section[data-v-f17bb1dc]{flex-direction:column;gap:.4rem;display:flex}.import-section__label[data-v-f17bb1dc]{color:var(--r-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.form-actions[data-v-f17bb1dc]{justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.form-actions__right[data-v-f17bb1dc]{gap:.75rem;display:flex}.btn--renew[data-v-f17bb1dc]{color:var(--r-text-muted);font-size:.8rem}.btn--renew[data-v-f17bb1dc]:hover:not(:disabled){color:var(--r-text)}.api-key-card__skill[data-v-f17bb1dc]{margin-top:.6rem}.skill-toggle[data-v-f17bb1dc]{color:var(--r-text-muted);gap:.35rem}.skill-toggle[data-v-f17bb1dc]:hover{color:var(--r-text)}.skill-panel[data-v-f17bb1dc]{border:1px solid var(--runeya-border);border-radius:6px;margin-top:.5rem;overflow:hidden}.skill-panel__tools[data-v-f17bb1dc]{border-bottom:1px solid var(--runeya-border);flex-wrap:wrap;gap:.35rem;padding:.5rem .75rem;display:flex}.skill-tool-btn[data-v-f17bb1dc]{border:1px solid var(--runeya-border);color:var(--r-text-muted);cursor:pointer;background:0 0;border-radius:20px;padding:.2rem .6rem;font-size:.72rem;transition:all .12s}.skill-tool-btn[data-v-f17bb1dc]:hover{background:var(--runeya-sidebar-hover);color:var(--r-text)}.skill-tool-btn--active[data-v-f17bb1dc]{background:var(--r-primary);color:var(--r-primary-contrast,#fff);border-color:var(--r-primary)}.skill-panel__header[data-v-f17bb1dc]{border-bottom:1px solid var(--runeya-border);justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.skill-panel__btns[data-v-f17bb1dc]{gap:.35rem;display:flex}.skill-panel__hint[data-v-f17bb1dc]{color:var(--r-text-muted);font-size:.75rem}.skill-panel__code[data-v-f17bb1dc]{white-space:pre-wrap;word-break:break-all;color:var(--r-text);max-height:260px;margin:0;padding:.75rem;font-size:.72rem;line-height:1.5;overflow-y:auto}.renew-modal__body[data-v-f17bb1dc]{flex-direction:column;gap:.5rem;padding:.25rem 0;display:flex}.renew-modal__title[data-v-f17bb1dc]{align-items:center;gap:.5rem;font-weight:600;display:flex}.renew-modal__title-icon[data-v-f17bb1dc]{color:var(--r-orange-500,#f97316)}.renew-modal__body p[data-v-f17bb1dc]{margin:0;font-size:.9rem;line-height:1.5}.btn[data-v-f17bb1dc]{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.btn[data-v-f17bb1dc]:disabled{opacity:.5;cursor:not-allowed}.btn--primary[data-v-f17bb1dc]{background:var(--r-primary);color:var(--r-primary-contrast,#fff)}.btn--primary[data-v-f17bb1dc]:hover:not(:disabled){filter:brightness(1.1)}.btn--ghost[data-v-f17bb1dc]{color:var(--r-text);border:1px solid var(--runeya-border);background:0 0}.btn--ghost[data-v-f17bb1dc]:hover:not(:disabled){background:var(--runeya-sidebar-hover)}.btn--danger[data-v-f17bb1dc]{color:var(--r-red-500,#ef4444);border:1px solid var(--runeya-border);background:0 0}.btn--danger[data-v-f17bb1dc]:hover:not(:disabled){background:var(--r-red-50,#fef2f2)}.btn--sm[data-v-f17bb1dc]{padding:.3rem .6rem;font-size:.8rem}.btn--xs[data-v-f17bb1dc]{padding:.2rem .4rem;font-size:.75rem}.ai-clients[data-v-d59c38d1]{flex-direction:column;gap:1rem;display:flex}.ai-clients__scope[data-v-d59c38d1]{border:1px solid var(--r-border);background:color-mix(in srgb, var(--r-text) 4%, var(--r-bg));border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex}.ai-clients__scope-cols[data-v-d59c38d1]{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.ai-clients__scope-head[data-v-d59c38d1]{align-items:center;gap:.375rem;margin:0;font-size:.875rem;font-weight:600;display:flex}.ai-clients__scope-list[data-v-d59c38d1]{color:var(--r-text-muted);margin:.25rem 0 0;padding-left:1.1rem;font-size:.875rem}.ai-clients__scope-list li+li[data-v-d59c38d1]{margin-top:.15rem}.ai-clients__head[data-v-d59c38d1]{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.ai-clients__title[data-v-d59c38d1]{margin:0;font-size:1rem;font-weight:600}.ai-clients__hint[data-v-d59c38d1],.ai-clients__empty[data-v-d59c38d1]{color:var(--r-text-muted);margin:.25rem 0 0;font-size:.875rem}.ai-clients__list[data-v-d59c38d1]{margin:0;padding:0;list-style:none}.ai-clients__row[data-v-d59c38d1]{border-top:1px solid var(--r-border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.75rem 0;display:grid}.ai-clients__row[data-v-d59c38d1]:first-child{border-top:none;padding-top:.25rem}.ai-clients__row[data-v-d59c38d1]:has(>:nth-child(2):last-child){grid-template-columns:minmax(0,1fr) auto}.ai-clients__main[data-v-d59c38d1]{flex-direction:column;gap:.25rem;min-width:0;display:flex}.ai-clients__name[data-v-d59c38d1]{font-weight:600}.ai-clients__meta[data-v-d59c38d1],.ai-clients__meta code[data-v-d59c38d1]{text-overflow:ellipsis;white-space:nowrap;color:var(--r-text-muted);font-size:.8rem;overflow:hidden}.ai-clients__action[data-v-d59c38d1]{justify-content:center;min-width:6.5rem}@media (width<=640px){.ai-clients__scope-cols[data-v-d59c38d1]{grid-template-columns:minmax(0,1fr)}.ai-clients__row[data-v-d59c38d1]{grid-template-columns:minmax(0,1fr) auto}.ai-clients__row>.ai-clients__action[data-v-d59c38d1]{grid-column:1/-1;justify-self:start}}.settings-card[data-v-677de251]{max-width:680px}.cloud-banner[data-v-677de251]{border:1px solid var(--r-primary);background:color-mix(in srgb, var(--r-primary) 8%, transparent);width:100%;max-width:680px;color:var(--r-text);cursor:pointer;text-align:left;font:inherit;border-radius:10px;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.25rem;transition:background .15s,box-shadow .15s;display:flex}.cloud-banner[data-v-677de251]:hover{background:color-mix(in srgb, var(--r-primary) 14%, transparent);box-shadow:0 2px 10px color-mix(in srgb, var(--r-primary) 20%, transparent)}.cloud-banner__icon[data-v-677de251]{color:var(--r-primary);flex-shrink:0;font-size:1.75rem}.cloud-banner__text[data-v-677de251]{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.cloud-banner__title[data-v-677de251]{font-size:1rem}.cloud-banner__desc[data-v-677de251]{color:var(--r-text-muted);font-size:.85rem}.cloud-banner__action[data-v-677de251]{color:var(--r-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.setting-row[data-v-677de251]{border-bottom:1px solid var(--r-border);align-items:flex-start;gap:1rem;padding:.75rem 0;display:flex}.setting-row[data-v-677de251]:last-child{border-bottom:none}.setting-label[data-v-677de251]{width:140px;color:var(--r-text-muted);flex-shrink:0;padding-top:.25rem;font-size:.9rem;font-weight:600}.setting-value[data-v-677de251]{flex:1;align-items:center;gap:.5rem;display:flex}.path-value[data-v-677de251]{word-break:break-all;min-width:0;color:var(--r-text);flex:1;font-size:.85rem}.setting-input[data-v-677de251]{width:100%;max-width:400px}.setting-actions[data-v-677de251]{padding-top:1rem}.launcher-report[data-v-677de251]{background:var(--r-bg);border:1px solid var(--r-border);white-space:pre-wrap;word-break:break-all;border-radius:6px;max-height:260px;margin:0 0 .5rem;padding:.5rem .75rem;font-size:.78rem;overflow:auto}.settings-card[data-v-f376e6ce]{max-width:680px}.notification-groups[data-v-f376e6ce]{flex-direction:column;gap:1rem;display:flex}.notification-group[data-v-f376e6ce]{border:1px solid var(--r-border);background:color-mix(in srgb, var(--r-bg-hover) 35%, transparent);padding:.9rem 1rem}.notification-group__header[data-v-f376e6ce]{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.35rem;display:flex}.notification-group__collapse-button[data-v-f376e6ce]{appearance:none;text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;flex:1;margin:0;padding:0}.notification-group__title-wrap[data-v-f376e6ce]{align-items:center;gap:.45rem;display:flex}.notification-group__icon[data-v-f376e6ce]{color:var(--r-text-muted);font-size:.9rem}.notification-group__title[data-v-f376e6ce]{margin:0;font-size:.92rem;font-weight:700}.notification-group__chevron[data-v-f376e6ce]{color:var(--r-text-muted);margin-left:auto;font-size:.8rem}.notification-group__desc[data-v-f376e6ce]{color:var(--r-text-muted);margin:.2rem 0 0;font-size:.78rem}.notification-group__actions[data-v-f376e6ce]{flex-shrink:0}.notification-item[data-v-f376e6ce]{border-bottom:1px solid var(--r-border)}.notification-item[data-v-f376e6ce]:last-child,.notification-item .setting-row[data-v-f376e6ce]{border-bottom:none}.setting-row[data-v-f376e6ce]{border-bottom:1px solid var(--r-border);align-items:flex-start;gap:1rem;padding:.75rem 0;display:flex}.setting-row--toggle[data-v-f376e6ce]{align-items:center}.setting-label[data-v-f376e6ce]{color:var(--r-text-muted);font-size:.9rem;font-weight:600}.setting-label-group[data-v-f376e6ce]{flex:1;min-width:0}.setting-hint[data-v-f376e6ce]{color:var(--r-text-muted);margin-top:.2rem;font-size:.78rem;display:block}.notification-item__right[data-v-f376e6ce]{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.notification-item__services-toggle[data-v-f376e6ce]{appearance:none;border:1px solid var(--r-border);cursor:pointer;color:var(--r-text-muted);background:0 0;align-items:center;gap:.3rem;padding:.2rem .45rem;font-size:.78rem;transition:background .15s,color .15s;display:flex}.notification-item__services-toggle[data-v-f376e6ce]:hover{background:var(--r-bg-hover);color:var(--r-text)}.notification-item__services[data-v-f376e6ce]{border-top:1px dashed var(--r-border);flex-direction:column;gap:.4rem;padding:.5rem 0 .75rem 1rem;display:flex}.notification-item__services-empty[data-v-f376e6ce]{color:var(--r-text-muted);margin:0;font-size:.8rem}.notification-item__service-row[data-v-f376e6ce]{justify-content:space-between;align-items:center;padding:.25rem 0;display:flex}.notification-item__service-name[data-v-f376e6ce]{color:var(--r-text);font-size:.85rem}.security-cards[data-v-336d11c8]{flex-direction:column;gap:1rem;display:flex}.settings-card[data-v-336d11c8]{max-width:680px}.card-title[data-v-336d11c8]{align-items:center;gap:.5rem;display:flex}.card-desc[data-v-336d11c8]{color:var(--r-text-muted);margin:0 0 1rem;font-size:.85rem}.see-cloud[data-v-336d11c8]{padding:0;font-size:.85rem}.foreign-heading[data-v-336d11c8]{word-break:break-all;margin-top:1rem;font-weight:600}.setting-row[data-v-336d11c8]{align-items:flex-start;gap:1rem;padding:.75rem 0;display:flex}.setting-label[data-v-336d11c8]{width:140px;color:var(--r-text-muted);flex-shrink:0;padding-top:.25rem;font-size:.9rem;font-weight:600}.settings-card[data-v-d2f8cc30]{max-width:680px}.card-title[data-v-d2f8cc30]{align-items:center;gap:.5rem;display:flex}.card-desc[data-v-d2f8cc30]{color:var(--r-text-muted);margin:0 0 1rem;font-size:.85rem}.setting-row[data-v-d2f8cc30]{align-items:flex-start;gap:1rem;padding:.75rem 0;display:flex}.setting-label[data-v-d2f8cc30]{width:140px;color:var(--r-text-muted);flex-shrink:0;padding-top:.25rem;font-size:.9rem;font-weight:600}.setting-input[data-v-d2f8cc30]{width:100%;max-width:400px}.editor-warning[data-v-d2f8cc30]{padding:.5rem 0}.editor-detected[data-v-d2f8cc30]{padding-top:.5rem}.editor-option[data-v-d2f8cc30]{align-items:center;gap:.5rem;display:flex}.hint[data-v-d2f8cc30]{color:var(--r-text-muted);font-size:.78rem}.parsers-scope[data-v-cae6b805]{color:var(--r-text-muted);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.85rem;display:flex}.r-dialog__content.parser-dialog .r-dialog__body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.settings-card[data-v-cae6b805]{max-width:680px}.card-desc[data-v-cae6b805]{color:var(--r-text-muted);margin:0 0 1rem;font-size:.85rem}.parsers-loading[data-v-cae6b805]{color:var(--r-text-muted);align-items:center;gap:.5rem;padding:1rem;font-size:.875rem;display:flex}.parsers-list[data-v-cae6b805]{flex-direction:column;gap:.375rem;display:flex}.parsers-row[data-v-cae6b805]{border:1px solid var(--r-border);background:var(--r-bg);align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.parsers-name[data-v-cae6b805]{flex-shrink:0;font-size:.875rem;font-weight:600}.parsers-desc-inline[data-v-cae6b805]{color:var(--r-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8rem;overflow:hidden}.parsers-icon--on[data-v-cae6b805]{color:var(--r-green-500);justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.parsers-icon--off[data-v-cae6b805]{color:var(--r-red-500);justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.parsers-actions[data-v-cae6b805]{align-items:center;gap:.25rem;margin-left:auto;display:flex}.parsers-empty[data-v-cae6b805]{text-align:center;color:var(--r-text-muted);padding:1.5rem;font-size:.875rem}.parser-dialog__layout[data-v-cae6b805]{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.25rem;height:100%;display:grid;overflow:hidden}@media (width<=768px){.parser-dialog__layout[data-v-cae6b805]{grid-template-columns:1fr;height:auto;overflow-y:auto}.dialog-form[data-v-cae6b805]{height:auto;overflow:visible}.dialog-form__field--code[data-v-cae6b805]{min-height:250px}.parser-sim[data-v-cae6b805]{min-height:300px}.parser-sim__body[data-v-cae6b805]{min-height:0}.parser-sim__col--output[data-v-cae6b805]{min-height:150px}}.dialog-form[data-v-cae6b805]{flex-direction:column;gap:1rem;height:100%;display:flex;overflow:auto}.dialog-form__field--code[data-v-cae6b805]{flex:1;min-height:0}.dialog-form__field[data-v-cae6b805]{flex-direction:column;gap:.375rem;display:flex}.dialog-form__label[data-v-cae6b805]{color:var(--r-text-muted);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.dialog-form__input[data-v-cae6b805]{width:100%}.dialog-form__hint[data-v-cae6b805]{color:var(--r-text-muted);font-size:.78rem}.dialog-form__hint code[data-v-cae6b805]{background:var(--r-bg-hover);border-radius:3px;padding:.125rem .375rem;font-family:Monaco,Menlo,monospace;font-size:.75rem}.dialog-form__switch[data-v-cae6b805]{align-items:center;gap:.5rem;display:flex}.dialog-form__switch-label[data-v-cae6b805]{color:var(--r-text-muted);font-size:.85rem}.dialog-form__templates[data-v-cae6b805]{flex-direction:column;gap:.5rem;display:flex}.dialog-form__templates-label[data-v-cae6b805]{color:var(--r-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.dialog-form__templates-select[data-v-cae6b805]{width:100%}.dialog-form__ai-btn[data-v-cae6b805]{margin-left:auto}.tpl-option[data-v-cae6b805]{align-items:center;gap:.75rem;display:flex}.tpl-option__icon[data-v-cae6b805]{color:var(--r-primary);flex-shrink:0;font-size:.9rem}.tpl-option__body[data-v-cae6b805]{flex-direction:column;gap:.1rem;display:flex}.tpl-option__name[data-v-cae6b805]{color:var(--r-text);font-size:.8125rem;font-weight:600}.tpl-option__desc[data-v-cae6b805]{color:var(--r-text-muted);font-size:.73rem}.parser-sim[data-v-cae6b805]{border:1px solid var(--r-border);flex-direction:column;height:100%;display:flex;overflow:hidden}.parser-sim__header[data-v-cae6b805]{background:color-mix(in srgb, var(--r-text) 7%, var(--r-bg));border-bottom:1px solid var(--r-border);justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.8125rem;display:flex}.parser-sim__title[data-v-cae6b805]{align-items:center;gap:.4rem;font-weight:600;display:flex}.parser-sim__status[data-v-cae6b805]{color:var(--r-text-muted);align-items:center;gap:.3rem;font-size:.75rem;display:flex}.parser-sim__body[data-v-cae6b805]{flex-direction:column;flex:1;gap:0;min-height:0;display:flex}.parser-sim__col[data-v-cae6b805]{flex-direction:column;gap:.25rem;padding:.6rem .75rem;display:flex}.parser-sim__col[data-v-cae6b805]:first-child{border-bottom:1px solid var(--r-border)}.parser-sim__col-label[data-v-cae6b805]{color:var(--r-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.parser-sim__textarea[data-v-cae6b805]{resize:vertical;border:1px solid var(--r-border-strong,var(--r-border));background:var(--r-bg-field,var(--r-bg));width:100%;min-height:160px;color:var(--r-text,var(--r-text));outline:none;padding:.5rem;font-family:monospace;font-size:.8rem;line-height:1.5}.parser-sim__textarea[data-v-cae6b805]:focus{border-color:var(--r-primary)}.parser-sim__error[data-v-cae6b805]{color:var(--r-red-500,#ef4444);align-items:flex-start;gap:.4rem;padding:.5rem;font-size:.8rem;display:flex}.parser-sim__empty[data-v-cae6b805]{color:var(--r-text-muted);padding:.5rem;font-size:.8rem;font-style:italic}.parser-sim__col--output[data-v-cae6b805]{flex:1;min-height:0;overflow:hidden}.parser-sim__viewer[data-v-cae6b805]{flex:1;height:100%;min-height:0}.parser-ai-prompt[data-v-cae6b805]{flex-direction:column;gap:.75rem;display:flex}.parser-ai-prompt__desc[data-v-cae6b805]{color:var(--r-text-muted);margin:0;font-size:.9rem}.parser-ai-prompt__input[data-v-cae6b805]{resize:vertical;width:100%}.providers-scope[data-v-2527a40d]{color:var(--r-text-muted);align-items:center;gap:.4rem;margin:0 0 .9rem;font-size:.8rem;display:flex}.settings-card[data-v-2527a40d]{max-width:680px}.providers-loading[data-v-2527a40d],.providers-empty[data-v-2527a40d]{color:var(--r-text-muted);align-items:center;gap:.5rem;padding:1rem;font-size:.875rem;display:flex}.ai-providers-list[data-v-2527a40d]{flex-direction:column;gap:.5rem;display:flex}.ai-provider-row[data-v-2527a40d]{border:1px solid var(--r-border);background:var(--r-bg);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;transition:border-color .15s;display:flex}.ai-provider-row--active[data-v-2527a40d]{border-color:var(--r-primary);background:color-mix(in srgb, var(--r-primary) 5%, var(--r-bg))}.ai-provider-info[data-v-2527a40d]{flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0;display:flex}.ai-provider-name[data-v-2527a40d]{font-size:.875rem;font-weight:600}.ai-provider-type[data-v-2527a40d]{color:var(--r-text-muted);font-size:.8125rem}.ai-provider-model[data-v-2527a40d]{background:var(--r-bg-hover);color:var(--r-text-muted);border-radius:4px;padding:.15rem .4rem;font-size:.75rem}.ai-provider-key[data-v-2527a40d]{background:var(--r-bg-hover);letter-spacing:.05em;border-radius:4px;padding:.15rem .4rem;font-size:.75rem}.ai-provider-actions[data-v-2527a40d]{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.ai-provider-badge[data-v-2527a40d]{color:var(--r-primary);align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.dialog-form[data-v-2527a40d]{flex-direction:column;gap:1rem;display:flex}.dialog-form__field[data-v-2527a40d]{flex-direction:column;gap:.375rem;display:flex}.dialog-form__label[data-v-2527a40d]{color:var(--r-text-muted);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.dialog-form__input[data-v-2527a40d]{width:100%}.ai-provider-info-block[data-v-2527a40d]{background:color-mix(in srgb, var(--r-primary) 6%, var(--r-bg));border:1px solid color-mix(in srgb, var(--r-primary) 25%, transparent);flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.ai-provider-info-block__text[data-v-2527a40d]{color:var(--r-text);margin:0;font-size:.875rem;line-height:1.5}.ai-provider-info-block__link[data-v-2527a40d]{color:var(--r-primary);align-items:center;gap:.35rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.ai-provider-info-block__link[data-v-2527a40d]:hover{text-decoration:underline}.ai-provider-info-block__models[data-v-2527a40d]{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.ai-provider-info-block__models-label[data-v-2527a40d]{color:var(--r-text-muted);font-size:.75rem;font-weight:500}.ai-provider-info-block__model-tag[data-v-2527a40d]{background:var(--r-bg-hover);border:1px solid var(--r-border);color:var(--r-text-muted);border-radius:4px;padding:.1rem .4rem;font-size:.7rem}.settings-card[data-v-2fb5a15c]{max-width:680px}.companion-settings__row[data-v-2fb5a15c]{align-items:center;gap:.75rem;padding:.4rem 0;display:flex}.companion-settings__row--stack[data-v-2fb5a15c]{flex-wrap:wrap;justify-content:space-between}.companion-settings__label[data-v-2fb5a15c]{font-size:.85rem}.companion-settings__hint[data-v-2fb5a15c]{color:var(--r-text-muted);font-size:.75rem}.companion-settings__actions[data-v-2fb5a15c]{gap:.25rem;display:flex}.companion-settings__editor[data-v-2fb5a15c]{margin-top:.5rem}.companion-settings__textarea[data-v-2fb5a15c]{width:100%;font-family:var(--font-mono,ui-monospace, monospace);font-size:.75rem}.settings-card[data-v-b2f796d8]{max-width:680px}.scenario-list[data-v-b2f796d8]{flex-direction:column;gap:.5rem;display:flex}.scenario-row[data-v-b2f796d8]{border:1px solid var(--r-border);background:var(--r-bg);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.scenario-info[data-v-b2f796d8]{align-items:center;gap:.75rem;display:flex}.scenario-icon[data-v-b2f796d8]{opacity:.7;font-size:1.1rem}.scenario-desc[data-v-b2f796d8]{opacity:.6;margin-left:.5rem;font-size:.85rem}.scenario-meta[data-v-b2f796d8]{opacity:.5;margin-top:.25rem;font-size:.8rem}.scenario-actions[data-v-b2f796d8]{flex-shrink:0;gap:.25rem;display:flex}.scenario-empty[data-v-b2f796d8]{text-align:center;opacity:.5;padding:1rem 0}.state[data-v-5b38ad31]{color:var(--r-text-muted);align-items:center;gap:.75rem;font-size:.88rem;display:flex}.settings-card[data-v-3261b86d]{max-width:680px}.setting-row[data-v-3261b86d]{border-bottom:1px solid var(--r-border);align-items:flex-start;gap:1rem;padding:.75rem 0;display:flex}.setting-row[data-v-3261b86d]:last-child{border-bottom:none}.setting-label[data-v-3261b86d]{width:140px;color:var(--r-text-muted);flex-shrink:0;padding-top:.25rem;font-size:.9rem;font-weight:600}.setting-value[data-v-3261b86d]{flex:1;align-items:center;gap:.5rem;display:flex}.card-title-row[data-v-3261b86d]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.diagnostics[data-v-7cc5031a]{flex-direction:column;gap:2rem;display:flex}.block__header[data-v-7cc5031a]{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.block__title[data-v-7cc5031a]{margin:0;font-size:1rem;font-weight:600}.block__desc[data-v-7cc5031a]{color:var(--r-text-muted);margin:.2rem 0 0;font-size:.85rem}.empty[data-v-7cc5031a]{text-align:center;color:var(--r-text-muted);margin:0;padding:1.2rem;font-size:.875rem}.instances[data-v-7cc5031a]{border:1px solid var(--r-border);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.instance[data-v-7cc5031a]{border-bottom:1px solid var(--r-border);grid-template-columns:1fr auto;grid-template-areas:"main action""meta action";align-items:center;gap:.15rem 1rem;padding:.7rem .9rem;display:grid}.instance[data-v-7cc5031a]:last-child{border-bottom:0}.instance__main[data-v-7cc5031a]{grid-area:main;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.instance__port[data-v-7cc5031a]{align-items:center;gap:.4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.instance__meta[data-v-7cc5031a]{color:var(--r-text-muted);flex-wrap:wrap;grid-area:meta;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.instance__cwd[data-v-7cc5031a]{text-overflow:ellipsis;white-space:nowrap;max-width:24rem;overflow:hidden}.instance[data-v-7cc5031a] .r-button{grid-area:action}.instance__actions[data-v-7cc5031a]{grid-area:action;align-items:center;gap:.25rem;display:flex}.instance__actions[data-v-7cc5031a] .r-button{grid-area:auto}.tag[data-v-7cc5031a]{border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:600}.tag--current[data-v-7cc5031a]{background:color-mix(in srgb, var(--r-primary) 16%, transparent);color:var(--r-primary)}.toolbar[data-v-7cc5031a]{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.toolbar__source[data-v-7cc5031a]{min-width:9rem}.toolbar__search[data-v-7cc5031a]{flex:10rem;min-width:10rem}.toolbar__toggle[data-v-7cc5031a]{align-items:center;gap:.45rem;font-size:.85rem;display:flex}.toolbar__spacer[data-v-7cc5031a]{flex:auto}.toolbar__actions[data-v-7cc5031a]{flex:none;align-items:center;gap:.25rem;display:flex}.log[data-v-7cc5031a]{background:var(--r-bg);border:1px solid var(--r-border);border-radius:8px;height:26rem;padding:.5rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.55;overflow:auto}.log-line[data-v-7cc5031a]{white-space:pre-wrap;word-break:break-word;gap:.6rem;padding:.05rem .8rem;display:flex}.log-line--warn[data-v-7cc5031a]{background:color-mix(in srgb, var(--r-orange-500,#f59e0b) 9%, transparent)}.log-line--error[data-v-7cc5031a]{background:color-mix(in srgb, var(--r-red-500,#ef4444) 11%, transparent)}.log-line__time[data-v-7cc5031a]{color:var(--r-text-muted);opacity:.75;flex:none}.log-line__source[data-v-7cc5031a]{text-transform:uppercase;letter-spacing:.03em;flex:0 0 3.4rem;align-self:center;font-size:.68rem}.log-line__source--server[data-v-7cc5031a]{color:var(--r-primary)}.log-line__source--agent[data-v-7cc5031a]{color:var(--r-text-muted)}.log-line__text[data-v-7cc5031a]{flex:auto}.follow-hint[data-v-7cc5031a]{text-align:center;margin:.4rem 0 0}.api-docs[data-v-a921e175]{flex-direction:column;height:100%;display:flex;overflow:hidden}.api-docs__content[data-v-a921e175]{flex:1;min-height:0;overflow-y:auto}.api-docs__toolbar[data-v-a921e175]{flex-shrink:0;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.api-docs__toolbar-label[data-v-a921e175]{color:var(--r-text-muted);white-space:nowrap;font-size:.875rem;font-weight:500}.settings-page[data-v-39ce45b8]{flex-direction:column;height:100%;display:flex}.settings-layout[data-v-39ce45b8]{flex:1;gap:0;min-height:0;display:flex}.settings-nav[data-v-39ce45b8]{border-right:1px solid var(--r-border);flex-direction:column;flex-shrink:0;gap:.25rem;width:220px;padding:1rem 0;display:flex;overflow-y:auto}.settings-nav__list[data-v-39ce45b8]{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.settings-nav__group[data-v-39ce45b8]{letter-spacing:.06em;text-transform:uppercase;color:var(--r-text-muted);margin:1rem 1.5rem .25rem;font-size:.7rem;font-weight:600}.settings-nav__group[data-v-39ce45b8]:first-child{margin-top:.25rem}.settings-nav__item[data-v-39ce45b8]{cursor:pointer;width:calc(100% - 1rem);font:inherit;text-align:left;color:var(--r-text-muted);transition:background var(--r-duration-base) ease, color var(--r-duration-base) ease;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;align-items:center;gap:.625rem;margin:0 .5rem;padding:.45rem 1rem;font-size:.875rem;display:flex}@media (hover:hover) and (pointer:fine){.settings-nav__item[data-v-39ce45b8]:hover{background:var(--r-bg-hover);color:var(--r-text)}}.settings-nav__item[data-v-39ce45b8]:focus-visible{outline:2px solid var(--r-primary-text);outline-offset:-2px}.settings-nav__item--active[data-v-39ce45b8]{background:color-mix(in srgb, var(--r-primary) 12%, var(--r-bg));color:var(--r-primary-text);font-weight:600}.settings-nav__icon[data-v-39ce45b8]{flex-shrink:0;font-size:1rem}.settings-content[data-v-39ce45b8]{flex:1;min-width:0;padding:1.5rem 2rem;overflow-y:auto}.settings-content[data-v-39ce45b8]>*{max-width:60rem}.settings-content--fullpage[data-v-39ce45b8]>*{max-width:none}.settings-content--fullpage[data-v-39ce45b8]{flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.settings-content--fullpage[data-v-39ce45b8] .api-docs{flex:1;min-height:0}@media (width<=640px){.settings-layout[data-v-39ce45b8]{flex-direction:column}.settings-nav[data-v-39ce45b8]{border-right:none;border-bottom:1px solid var(--r-border);flex-direction:row;align-items:center;width:100%;padding:.5rem 0;position:relative}.settings-nav__list[data-v-39ce45b8]{scrollbar-width:none;flex-direction:row;flex:1;gap:0;padding:0 .25rem;overflow-x:auto}.settings-nav__list[data-v-39ce45b8]::-webkit-scrollbar{display:none}.settings-nav__group[data-v-39ce45b8]{display:none}.settings-nav__item[data-v-39ce45b8]{white-space:nowrap;border-radius:6px;flex-direction:column;flex-shrink:0;gap:.25rem;width:auto;margin:0;padding:.4rem .75rem;font-size:.7rem}.settings-nav__icon[data-v-39ce45b8]{font-size:1rem}.settings-nav__chevron[data-v-39ce45b8]{cursor:pointer;width:2rem;height:2rem;color:var(--r-text-muted);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.settings-nav__chevron[data-v-39ce45b8]:hover{background:var(--r-bg-hover);color:var(--r-text)}.settings-content[data-v-39ce45b8]{padding:1rem}}@media (width>=641px){.settings-nav__chevron[data-v-39ce45b8]{display:none}}.section-header[data-v-39ce45b8]{margin-bottom:1.5rem}.section-header--has-actions[data-v-39ce45b8]{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.section-header__text[data-v-39ce45b8]{flex:1;min-width:0}.section-header__actions[data-v-39ce45b8]{flex-shrink:0;align-self:center}.section-title[data-v-39ce45b8]{margin:0 0 .25rem;font-size:1.25rem;font-weight:700}.section-desc[data-v-39ce45b8]{color:var(--r-text-muted);margin:0;font-size:.875rem}
|
|
1
|
+
.traefik-settings[data-v-672cfadb]{box-sizing:border-box;flex-direction:column;gap:1rem;width:100%;min-width:0;display:flex}.traefik-settings[data-v-672cfadb] input,.traefik-settings[data-v-672cfadb] .r-input,.traefik-settings[data-v-672cfadb] .r-select,.traefik-settings[data-v-672cfadb] .r-autocomplete,.traefik-settings[data-v-672cfadb] .r-password{box-sizing:border-box;width:100%;max-width:100%}.traefik-row[data-v-672cfadb]{justify-content:space-between;align-items:center;display:flex}.traefik-field[data-v-672cfadb]{flex-direction:column;gap:.4rem;display:flex}.traefik-field label[data-v-672cfadb]{font-size:.875rem;font-weight:500}.traefik-field small[data-v-672cfadb]{color:var(--r-text-muted);font-size:.75rem}.credential-row[data-v-672cfadb]{align-items:center;gap:.5rem;min-width:0;display:flex}.credential-key[data-v-672cfadb]{flex:0 0 160px;min-width:0}.credential-value[data-v-672cfadb]{flex:1;min-width:0}.credential-value[data-v-672cfadb] .r-password,.credential-value[data-v-672cfadb] .r-password input{width:100%}.traefik-ports[data-v-672cfadb]{gap:1rem;display:flex}.traefik-field--small[data-v-672cfadb]{flex:1}.hint-ok[data-v-672cfadb]{color:var(--r-green-500);font-size:.8rem;font-weight:400}.traefik-actions[data-v-672cfadb]{align-self:flex-end;gap:.5rem;display:flex}.traefik-renewal-notice[data-v-672cfadb]{background:color-mix(in srgb, var(--r-blue-500) 10%, transparent);border:1px solid color-mix(in srgb, var(--r-blue-500) 30%, transparent);color:var(--r-blue-300);align-items:flex-start;gap:.6rem;padding:.75rem;font-size:.875rem;display:flex}.traefik-validation[data-v-672cfadb]{border:1px solid var(--r-border);flex-direction:column;gap:.4rem;padding:.75rem;display:flex}.validation-item[data-v-672cfadb]{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.validation-item--ok[data-v-672cfadb]{color:var(--r-green-500)}.validation-item--fail[data-v-672cfadb]{color:var(--r-red-500)}.traefik-logs[data-v-672cfadb],.traefik-config-files[data-v-672cfadb]{border:1px solid var(--r-border);overflow:hidden}.config-tabs[data-v-672cfadb]{gap:.25rem;display:flex}.config-tab[data-v-672cfadb]{cursor:pointer;color:var(--r-text-muted);background:0 0;border:none;padding:.2rem .6rem;font-size:.8rem}.config-tab--active[data-v-672cfadb]{background:var(--r-primary);color:var(--r-primary-contrast)}.traefik-logs-header[data-v-672cfadb]{background:var(--r-bg-hover);justify-content:space-between;align-items:center;padding:.4rem .75rem;font-size:.8rem;font-weight:600;display:flex}.logs-live[data-v-672cfadb]{color:var(--r-green-400);font-size:.7rem;animation:1.2s ease-in-out infinite blink-672cfadb}@keyframes blink-672cfadb{0%,to{opacity:1}50%{opacity:.3}}.traefik-logs-content[data-v-672cfadb]{white-space:pre-wrap;word-break:break-all;background:var(--r-surface-900,#1a1a1a);max-height:300px;color:var(--r-surface-100,#f0f0f0);margin:0;padding:.75rem;font-family:monospace;font-size:.75rem;overflow-y:auto}.traefik-dialog-layout[data-v-6b2d251e]{grid-template-columns:1fr 1fr;gap:1.5rem;min-height:0;display:grid}.traefik-dialog-left[data-v-6b2d251e]{min-width:0;max-height:80vh;padding-right:.5rem;overflow-y:auto}.traefik-dialog-right[data-v-6b2d251e]{flex-direction:column;gap:.5rem;min-width:0;max-height:80vh;display:flex}.fs-header[data-v-6b2d251e]{color:var(--r-text-muted);border-bottom:1px solid var(--r-border);justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.75rem;font-weight:600;display:flex}.fs-tree[data-v-6b2d251e]{flex-direction:column;gap:1px;display:flex}.fs-entry[data-v-6b2d251e]{cursor:pointer;text-align:left;color:var(--r-text);background:0 0;border:none;align-items:center;gap:.4rem;width:100%;padding:.3rem .5rem;font-size:.8rem;display:flex}.fs-entry[data-v-6b2d251e]:hover{background:var(--r-bg-hover)}.fs-entry--active[data-v-6b2d251e]{background:color-mix(in srgb, var(--r-primary) 15%, transparent);color:var(--r-primary)}.fs-icon[data-v-6b2d251e]{opacity:.6;flex-shrink:0;font-size:.75rem}.fs-dir[data-v-6b2d251e]{opacity:.5;font-size:.7rem}.fs-name[data-v-6b2d251e]{font-weight:500}.fs-empty[data-v-6b2d251e]{color:var(--r-text-muted);padding:.5rem;font-size:.8rem;font-style:italic}.fs-content[data-v-6b2d251e]{white-space:pre-wrap;word-break:break-all;background:var(--r-surface-900,#1a1a1a);color:var(--r-surface-100,#f0f0f0);border:1px solid var(--r-border);flex:1;margin:0;padding:.75rem;font-family:monospace;font-size:.72rem;overflow-y:auto}.agent-page[data-v-0cafa443]{max-width:1200px;margin:0 auto;padding:1.5rem}.page-header[data-v-0cafa443]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-header h1[data-v-0cafa443]{margin:0;font-size:1.75rem;font-weight:700}.loading-container[data-v-0cafa443],.error-container[data-v-0cafa443],.empty-container[data-v-0cafa443]{color:var(--r-text-muted);flex-direction:column;align-items:center;gap:.75rem;padding:3rem 0;display:flex}.agent-name[data-v-0cafa443]{align-items:center;gap:.5rem;font-weight:500;display:flex}.agent-url[data-v-0cafa443]{background:var(--r-bg-hover);border-radius:4px;padding:.15rem .4rem;font-family:Fira Code,Cascadia Code,monospace;font-size:.8rem}.runner-tags[data-v-0cafa443]{flex-wrap:wrap;gap:.3rem;display:flex}.action-grid[data-v-0cafa443]{grid-template-columns:repeat(2,auto);gap:0;width:fit-content;display:grid}@media (width<=768px){[data-v-0cafa443] .hide-on-mobile{display:none!important}[data-v-0cafa443] .r-datatable__header-content{white-space:nowrap}.agent-url[data-v-0cafa443]{word-break:break-all;white-space:normal}}.text-muted[data-v-0cafa443]{color:var(--r-text-muted)}.form-group[data-v-0cafa443]{margin-bottom:1rem}.form-group label[data-v-0cafa443]{margin-bottom:.4rem;font-size:.875rem;font-weight:500;display:block}.form-hint[data-v-0cafa443]{color:var(--r-text-muted);font-size:.78rem}.test-connection[data-v-0cafa443]{align-items:center;gap:.75rem;display:flex}.w-full[data-v-0cafa443]{width:100%}.passthrough-description[data-v-0cafa443]{color:var(--r-text-muted);margin:0 0 1rem;font-size:.85rem;line-height:1.4}.passthrough-list[data-v-0cafa443]{flex-direction:column;gap:.25rem;margin-bottom:.75rem;display:flex}.passthrough-item[data-v-0cafa443]{background:var(--r-bg-hover);border-radius:6px;justify-content:space-between;align-items:center;padding:.3rem .5rem;display:flex}.passthrough-item-info[data-v-0cafa443]{align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.passthrough-item code[data-v-0cafa443]{flex-shrink:0;font-family:Fira Code,Cascadia Code,monospace;font-size:.85rem}.passthrough-value[data-v-0cafa443]{color:var(--r-text-muted);text-overflow:ellipsis;white-space:nowrap;font-family:Fira Code,Cascadia Code,monospace;font-size:.8rem;overflow:hidden}.passthrough-undefined[data-v-0cafa443]{color:var(--r-orange-500);font-size:.78rem;font-style:italic}.passthrough-unsaved[data-v-0cafa443]{color:var(--r-text-muted);font-size:.78rem;font-style:italic}.passthrough-empty[data-v-0cafa443]{margin-bottom:.75rem;font-size:.85rem}.passthrough-add[data-v-0cafa443]{align-items:center;gap:.5rem;display:flex}.passthrough-add-input[data-v-0cafa443]{flex:1}.passthrough-error[data-v-0cafa443]{color:var(--r-red-500);margin-top:.25rem;font-size:.78rem;display:block}.api-keys-page[data-v-f17bb1dc]{max-width:860px;padding:1.5rem}.api-keys-page__header[data-v-f17bb1dc]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.api-keys-page__header h1[data-v-f17bb1dc]{margin:0;font-size:1.5rem;font-weight:600}.api-keys-page__subtitle[data-v-f17bb1dc]{color:var(--r-text-muted);flex:1;margin:0;font-size:.875rem}.api-keys-page__empty[data-v-f17bb1dc]{color:var(--r-text-muted);padding:2rem 0;font-size:.9rem}.api-keys-card[data-v-f17bb1dc]{max-width:680px}.api-keys-list[data-v-f17bb1dc]{flex-direction:column;gap:.5rem;display:flex}.api-key-card[data-v-f17bb1dc]{border:1px solid var(--r-border);background:var(--r-bg);padding:.5rem .75rem;position:relative}.api-key-card__body[data-v-f17bb1dc]{min-width:0}.api-key-card__name[data-v-f17bb1dc]{align-items:center;gap:.5rem;margin-bottom:.2rem;padding-right:5rem;font-weight:500;display:flex}.api-key-card__meta[data-v-f17bb1dc]{color:var(--r-text-muted);margin-bottom:.4rem;font-size:.8rem}.api-key-card__url-row[data-v-f17bb1dc]{align-items:center;gap:.4rem;display:flex}.api-key-card__url[data-v-f17bb1dc]{min-width:0;color:var(--r-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.75rem;overflow:hidden}.api-key-card__actions[data-v-f17bb1dc]{gap:.3rem;display:flex;position:absolute;top:.5rem;right:.5rem}.badge[data-v-f17bb1dc]{text-transform:uppercase;border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.badge--info[data-v-f17bb1dc]{background:var(--r-blue-100);color:var(--r-blue-700)}.api-key-form[data-v-f17bb1dc]{border:1px solid var(--runeya-border);border-radius:10px;max-width:600px;padding:1.5rem}.api-key-form h2[data-v-f17bb1dc]{margin:0 0 1.25rem;font-size:1.1rem}.form-field[data-v-f17bb1dc]{margin-bottom:1.25rem}.form-field>label[data-v-f17bb1dc]:first-child{margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.form-hint[data-v-f17bb1dc]{color:var(--r-text-muted);margin-top:.4rem;font-size:.75rem}.radio-group[data-v-f17bb1dc]{flex-direction:column;gap:.4rem;display:flex}.radio-label[data-v-f17bb1dc]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.svc-list-container[data-v-f17bb1dc]{border:1px solid var(--runeya-border);border-radius:8px;margin-bottom:.5rem;overflow:hidden}.svc-list-search[data-v-f17bb1dc]{border-bottom:1px solid var(--runeya-border);align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.svc-list-search__icon[data-v-f17bb1dc]{color:var(--r-text-muted);flex-shrink:0;font-size:.75rem}.svc-list-search__input[data-v-f17bb1dc]{box-shadow:none;color:var(--r-text);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:.85rem}.svc-list-search__input[data-v-f17bb1dc]::placeholder{color:var(--r-text-muted)}.svc-list-search__clear[data-v-f17bb1dc]{cursor:pointer;color:var(--r-text-muted);background:0 0;border:none;align-items:center;padding:0;font-size:.75rem;display:flex}.svc-list-search__clear[data-v-f17bb1dc]:hover{color:var(--r-text)}.svc-list-scroll[data-v-f17bb1dc]{max-height:360px;overflow-y:auto}.svc-list-empty[data-v-f17bb1dc]{margin:0;padding:.75rem}.svc-perm-row[data-v-f17bb1dc]{border-bottom:1px solid var(--runeya-border);overflow:hidden}.svc-perm-row[data-v-f17bb1dc]:last-child{border-bottom:none}.svc-perm-row__header[data-v-f17bb1dc]{border-bottom:1px solid var(--runeya-border);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.svc-perm-row__header[data-v-f17bb1dc]:hover{background:var(--runeya-sidebar-hover)}.svc-chevron[data-v-f17bb1dc]{color:var(--r-text-muted);font-size:.7rem;transition:transform .15s}.svc-perm-summary[data-v-f17bb1dc]{color:var(--r-text-muted);margin-left:.3rem;font-size:.75rem;font-weight:400}.svc-perm-row__name[data-v-f17bb1dc]{align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;display:flex}.svc-perm-row__actions[data-v-f17bb1dc]{border-bottom:1px solid var(--runeya-border);flex-wrap:wrap;gap:.35rem;padding:.5rem .75rem;display:flex}.action-chip--sub[data-v-f17bb1dc]{opacity:.85;margin-left:.25rem;font-size:.72rem}.action-chip--sub.flag-chip--on[data-v-f17bb1dc]{background:var(--r-primary-400,var(--r-primary))}.svc-perm-row__envs[data-v-f17bb1dc]{flex-direction:column;gap:.35rem;padding:.5rem .75rem;display:flex}.env-perm-row[data-v-f17bb1dc]{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.env-perm-row__name[data-v-f17bb1dc]{color:var(--r-text-muted);align-items:center;gap:.3rem;min-width:8rem;font-size:.8rem;display:flex}.env-add-row[data-v-f17bb1dc]{margin-top:.25rem}.svc-add-row[data-v-f17bb1dc]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.import-modal__body[data-v-f17bb1dc]{flex-direction:column;gap:1rem;padding:.25rem 0;display:flex}.import-modal__desc[data-v-f17bb1dc]{color:var(--r-text-muted);margin:0;font-size:.875rem}.import-section[data-v-f17bb1dc]{flex-direction:column;gap:.4rem;display:flex}.import-section__label[data-v-f17bb1dc]{color:var(--r-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.form-actions[data-v-f17bb1dc]{justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.form-actions__right[data-v-f17bb1dc]{gap:.75rem;display:flex}.btn--renew[data-v-f17bb1dc]{color:var(--r-text-muted);font-size:.8rem}.btn--renew[data-v-f17bb1dc]:hover:not(:disabled){color:var(--r-text)}.api-key-card__skill[data-v-f17bb1dc]{margin-top:.6rem}.skill-toggle[data-v-f17bb1dc]{color:var(--r-text-muted);gap:.35rem}.skill-toggle[data-v-f17bb1dc]:hover{color:var(--r-text)}.skill-panel[data-v-f17bb1dc]{border:1px solid var(--runeya-border);border-radius:6px;margin-top:.5rem;overflow:hidden}.skill-panel__tools[data-v-f17bb1dc]{border-bottom:1px solid var(--runeya-border);flex-wrap:wrap;gap:.35rem;padding:.5rem .75rem;display:flex}.skill-tool-btn[data-v-f17bb1dc]{border:1px solid var(--runeya-border);color:var(--r-text-muted);cursor:pointer;background:0 0;border-radius:20px;padding:.2rem .6rem;font-size:.72rem;transition:all .12s}.skill-tool-btn[data-v-f17bb1dc]:hover{background:var(--runeya-sidebar-hover);color:var(--r-text)}.skill-tool-btn--active[data-v-f17bb1dc]{background:var(--r-primary);color:var(--r-primary-contrast,#fff);border-color:var(--r-primary)}.skill-panel__header[data-v-f17bb1dc]{border-bottom:1px solid var(--runeya-border);justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.skill-panel__btns[data-v-f17bb1dc]{gap:.35rem;display:flex}.skill-panel__hint[data-v-f17bb1dc]{color:var(--r-text-muted);font-size:.75rem}.skill-panel__code[data-v-f17bb1dc]{white-space:pre-wrap;word-break:break-all;color:var(--r-text);max-height:260px;margin:0;padding:.75rem;font-size:.72rem;line-height:1.5;overflow-y:auto}.renew-modal__body[data-v-f17bb1dc]{flex-direction:column;gap:.5rem;padding:.25rem 0;display:flex}.renew-modal__title[data-v-f17bb1dc]{align-items:center;gap:.5rem;font-weight:600;display:flex}.renew-modal__title-icon[data-v-f17bb1dc]{color:var(--r-orange-500,#f97316)}.renew-modal__body p[data-v-f17bb1dc]{margin:0;font-size:.9rem;line-height:1.5}.btn[data-v-f17bb1dc]{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.btn[data-v-f17bb1dc]:disabled{opacity:.5;cursor:not-allowed}.btn--primary[data-v-f17bb1dc]{background:var(--r-primary);color:var(--r-primary-contrast,#fff)}.btn--primary[data-v-f17bb1dc]:hover:not(:disabled){filter:brightness(1.1)}.btn--ghost[data-v-f17bb1dc]{color:var(--r-text);border:1px solid var(--runeya-border);background:0 0}.btn--ghost[data-v-f17bb1dc]:hover:not(:disabled){background:var(--runeya-sidebar-hover)}.btn--danger[data-v-f17bb1dc]{color:var(--r-red-500,#ef4444);border:1px solid var(--runeya-border);background:0 0}.btn--danger[data-v-f17bb1dc]:hover:not(:disabled){background:var(--r-red-50,#fef2f2)}.btn--sm[data-v-f17bb1dc]{padding:.3rem .6rem;font-size:.8rem}.btn--xs[data-v-f17bb1dc]{padding:.2rem .4rem;font-size:.75rem}.ai-clients[data-v-d59c38d1]{flex-direction:column;gap:1rem;display:flex}.ai-clients__scope[data-v-d59c38d1]{border:1px solid var(--r-border);background:color-mix(in srgb, var(--r-text) 4%, var(--r-bg));border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex}.ai-clients__scope-cols[data-v-d59c38d1]{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.ai-clients__scope-head[data-v-d59c38d1]{align-items:center;gap:.375rem;margin:0;font-size:.875rem;font-weight:600;display:flex}.ai-clients__scope-list[data-v-d59c38d1]{color:var(--r-text-muted);margin:.25rem 0 0;padding-left:1.1rem;font-size:.875rem}.ai-clients__scope-list li+li[data-v-d59c38d1]{margin-top:.15rem}.ai-clients__head[data-v-d59c38d1]{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.ai-clients__title[data-v-d59c38d1]{margin:0;font-size:1rem;font-weight:600}.ai-clients__hint[data-v-d59c38d1],.ai-clients__empty[data-v-d59c38d1]{color:var(--r-text-muted);margin:.25rem 0 0;font-size:.875rem}.ai-clients__list[data-v-d59c38d1]{margin:0;padding:0;list-style:none}.ai-clients__row[data-v-d59c38d1]{border-top:1px solid var(--r-border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.75rem 0;display:grid}.ai-clients__row[data-v-d59c38d1]:first-child{border-top:none;padding-top:.25rem}.ai-clients__row[data-v-d59c38d1]:has(>:nth-child(2):last-child){grid-template-columns:minmax(0,1fr) auto}.ai-clients__main[data-v-d59c38d1]{flex-direction:column;gap:.25rem;min-width:0;display:flex}.ai-clients__name[data-v-d59c38d1]{font-weight:600}.ai-clients__meta[data-v-d59c38d1],.ai-clients__meta code[data-v-d59c38d1]{text-overflow:ellipsis;white-space:nowrap;color:var(--r-text-muted);font-size:.8rem;overflow:hidden}.ai-clients__action[data-v-d59c38d1]{justify-content:center;min-width:6.5rem}@media (width<=640px){.ai-clients__scope-cols[data-v-d59c38d1]{grid-template-columns:minmax(0,1fr)}.ai-clients__row[data-v-d59c38d1]{grid-template-columns:minmax(0,1fr) auto}.ai-clients__row>.ai-clients__action[data-v-d59c38d1]{grid-column:1/-1;justify-self:start}}.settings-card[data-v-e95f3158]{max-width:680px}.cloud-banner[data-v-e95f3158]{border:1px solid var(--r-primary);background:color-mix(in srgb, var(--r-primary) 8%, transparent);width:100%;max-width:680px;color:var(--r-text);cursor:pointer;text-align:left;font:inherit;border-radius:10px;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.25rem;transition:background .15s,box-shadow .15s;display:flex}.cloud-banner[data-v-e95f3158]:hover{background:color-mix(in srgb, var(--r-primary) 14%, transparent);box-shadow:0 2px 10px color-mix(in srgb, var(--r-primary) 20%, transparent)}.cloud-banner__icon[data-v-e95f3158]{color:var(--r-primary);flex-shrink:0;font-size:1.75rem}.cloud-banner__text[data-v-e95f3158]{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.cloud-banner__title[data-v-e95f3158]{font-size:1rem}.cloud-banner__desc[data-v-e95f3158]{color:var(--r-text-muted);font-size:.85rem}.cloud-banner__action[data-v-e95f3158]{color:var(--r-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.setting-row[data-v-e95f3158]{border-bottom:1px solid var(--r-border);align-items:flex-start;gap:1rem;padding:.75rem 0;display:flex}.setting-row[data-v-e95f3158]:last-child{border-bottom:none}.setting-label[data-v-e95f3158]{width:140px;color:var(--r-text-muted);flex-shrink:0;padding-top:.25rem;font-size:.9rem;font-weight:600}.setting-value[data-v-e95f3158]{flex:1;align-items:center;gap:.5rem;display:flex}.path-value[data-v-e95f3158]{word-break:break-all;min-width:0;color:var(--r-text);flex:1;font-size:.85rem}.setting-input[data-v-e95f3158]{width:100%;max-width:400px}.setting-actions[data-v-e95f3158]{padding-top:1rem}.launcher-report[data-v-e95f3158]{background:var(--r-bg);border:1px solid var(--r-border);white-space:pre-wrap;word-break:break-all;border-radius:6px;max-height:260px;margin:0 0 .5rem;padding:.5rem .75rem;font-size:.78rem;overflow:auto}.settings-card[data-v-f376e6ce]{max-width:680px}.notification-groups[data-v-f376e6ce]{flex-direction:column;gap:1rem;display:flex}.notification-group[data-v-f376e6ce]{border:1px solid var(--r-border);background:color-mix(in srgb, var(--r-bg-hover) 35%, transparent);padding:.9rem 1rem}.notification-group__header[data-v-f376e6ce]{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.35rem;display:flex}.notification-group__collapse-button[data-v-f376e6ce]{appearance:none;text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;flex:1;margin:0;padding:0}.notification-group__title-wrap[data-v-f376e6ce]{align-items:center;gap:.45rem;display:flex}.notification-group__icon[data-v-f376e6ce]{color:var(--r-text-muted);font-size:.9rem}.notification-group__title[data-v-f376e6ce]{margin:0;font-size:.92rem;font-weight:700}.notification-group__chevron[data-v-f376e6ce]{color:var(--r-text-muted);margin-left:auto;font-size:.8rem}.notification-group__desc[data-v-f376e6ce]{color:var(--r-text-muted);margin:.2rem 0 0;font-size:.78rem}.notification-group__actions[data-v-f376e6ce]{flex-shrink:0}.notification-item[data-v-f376e6ce]{border-bottom:1px solid var(--r-border)}.notification-item[data-v-f376e6ce]:last-child,.notification-item .setting-row[data-v-f376e6ce]{border-bottom:none}.setting-row[data-v-f376e6ce]{border-bottom:1px solid var(--r-border);align-items:flex-start;gap:1rem;padding:.75rem 0;display:flex}.setting-row--toggle[data-v-f376e6ce]{align-items:center}.setting-label[data-v-f376e6ce]{color:var(--r-text-muted);font-size:.9rem;font-weight:600}.setting-label-group[data-v-f376e6ce]{flex:1;min-width:0}.setting-hint[data-v-f376e6ce]{color:var(--r-text-muted);margin-top:.2rem;font-size:.78rem;display:block}.notification-item__right[data-v-f376e6ce]{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.notification-item__services-toggle[data-v-f376e6ce]{appearance:none;border:1px solid var(--r-border);cursor:pointer;color:var(--r-text-muted);background:0 0;align-items:center;gap:.3rem;padding:.2rem .45rem;font-size:.78rem;transition:background .15s,color .15s;display:flex}.notification-item__services-toggle[data-v-f376e6ce]:hover{background:var(--r-bg-hover);color:var(--r-text)}.notification-item__services[data-v-f376e6ce]{border-top:1px dashed var(--r-border);flex-direction:column;gap:.4rem;padding:.5rem 0 .75rem 1rem;display:flex}.notification-item__services-empty[data-v-f376e6ce]{color:var(--r-text-muted);margin:0;font-size:.8rem}.notification-item__service-row[data-v-f376e6ce]{justify-content:space-between;align-items:center;padding:.25rem 0;display:flex}.notification-item__service-name[data-v-f376e6ce]{color:var(--r-text);font-size:.85rem}.security-cards[data-v-336d11c8]{flex-direction:column;gap:1rem;display:flex}.settings-card[data-v-336d11c8]{max-width:680px}.card-title[data-v-336d11c8]{align-items:center;gap:.5rem;display:flex}.card-desc[data-v-336d11c8]{color:var(--r-text-muted);margin:0 0 1rem;font-size:.85rem}.see-cloud[data-v-336d11c8]{padding:0;font-size:.85rem}.foreign-heading[data-v-336d11c8]{word-break:break-all;margin-top:1rem;font-weight:600}.setting-row[data-v-336d11c8]{align-items:flex-start;gap:1rem;padding:.75rem 0;display:flex}.setting-label[data-v-336d11c8]{width:140px;color:var(--r-text-muted);flex-shrink:0;padding-top:.25rem;font-size:.9rem;font-weight:600}.settings-card[data-v-d2f8cc30]{max-width:680px}.card-title[data-v-d2f8cc30]{align-items:center;gap:.5rem;display:flex}.card-desc[data-v-d2f8cc30]{color:var(--r-text-muted);margin:0 0 1rem;font-size:.85rem}.setting-row[data-v-d2f8cc30]{align-items:flex-start;gap:1rem;padding:.75rem 0;display:flex}.setting-label[data-v-d2f8cc30]{width:140px;color:var(--r-text-muted);flex-shrink:0;padding-top:.25rem;font-size:.9rem;font-weight:600}.setting-input[data-v-d2f8cc30]{width:100%;max-width:400px}.editor-warning[data-v-d2f8cc30]{padding:.5rem 0}.editor-detected[data-v-d2f8cc30]{padding-top:.5rem}.editor-option[data-v-d2f8cc30]{align-items:center;gap:.5rem;display:flex}.hint[data-v-d2f8cc30]{color:var(--r-text-muted);font-size:.78rem}.parsers-scope[data-v-cae6b805]{color:var(--r-text-muted);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.85rem;display:flex}.r-dialog__content.parser-dialog .r-dialog__body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.settings-card[data-v-cae6b805]{max-width:680px}.card-desc[data-v-cae6b805]{color:var(--r-text-muted);margin:0 0 1rem;font-size:.85rem}.parsers-loading[data-v-cae6b805]{color:var(--r-text-muted);align-items:center;gap:.5rem;padding:1rem;font-size:.875rem;display:flex}.parsers-list[data-v-cae6b805]{flex-direction:column;gap:.375rem;display:flex}.parsers-row[data-v-cae6b805]{border:1px solid var(--r-border);background:var(--r-bg);align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.parsers-name[data-v-cae6b805]{flex-shrink:0;font-size:.875rem;font-weight:600}.parsers-desc-inline[data-v-cae6b805]{color:var(--r-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8rem;overflow:hidden}.parsers-icon--on[data-v-cae6b805]{color:var(--r-green-500);justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.parsers-icon--off[data-v-cae6b805]{color:var(--r-red-500);justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.parsers-actions[data-v-cae6b805]{align-items:center;gap:.25rem;margin-left:auto;display:flex}.parsers-empty[data-v-cae6b805]{text-align:center;color:var(--r-text-muted);padding:1.5rem;font-size:.875rem}.parser-dialog__layout[data-v-cae6b805]{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.25rem;height:100%;display:grid;overflow:hidden}@media (width<=768px){.parser-dialog__layout[data-v-cae6b805]{grid-template-columns:1fr;height:auto;overflow-y:auto}.dialog-form[data-v-cae6b805]{height:auto;overflow:visible}.dialog-form__field--code[data-v-cae6b805]{min-height:250px}.parser-sim[data-v-cae6b805]{min-height:300px}.parser-sim__body[data-v-cae6b805]{min-height:0}.parser-sim__col--output[data-v-cae6b805]{min-height:150px}}.dialog-form[data-v-cae6b805]{flex-direction:column;gap:1rem;height:100%;display:flex;overflow:auto}.dialog-form__field--code[data-v-cae6b805]{flex:1;min-height:0}.dialog-form__field[data-v-cae6b805]{flex-direction:column;gap:.375rem;display:flex}.dialog-form__label[data-v-cae6b805]{color:var(--r-text-muted);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.dialog-form__input[data-v-cae6b805]{width:100%}.dialog-form__hint[data-v-cae6b805]{color:var(--r-text-muted);font-size:.78rem}.dialog-form__hint code[data-v-cae6b805]{background:var(--r-bg-hover);border-radius:3px;padding:.125rem .375rem;font-family:Monaco,Menlo,monospace;font-size:.75rem}.dialog-form__switch[data-v-cae6b805]{align-items:center;gap:.5rem;display:flex}.dialog-form__switch-label[data-v-cae6b805]{color:var(--r-text-muted);font-size:.85rem}.dialog-form__templates[data-v-cae6b805]{flex-direction:column;gap:.5rem;display:flex}.dialog-form__templates-label[data-v-cae6b805]{color:var(--r-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.dialog-form__templates-select[data-v-cae6b805]{width:100%}.dialog-form__ai-btn[data-v-cae6b805]{margin-left:auto}.tpl-option[data-v-cae6b805]{align-items:center;gap:.75rem;display:flex}.tpl-option__icon[data-v-cae6b805]{color:var(--r-primary);flex-shrink:0;font-size:.9rem}.tpl-option__body[data-v-cae6b805]{flex-direction:column;gap:.1rem;display:flex}.tpl-option__name[data-v-cae6b805]{color:var(--r-text);font-size:.8125rem;font-weight:600}.tpl-option__desc[data-v-cae6b805]{color:var(--r-text-muted);font-size:.73rem}.parser-sim[data-v-cae6b805]{border:1px solid var(--r-border);flex-direction:column;height:100%;display:flex;overflow:hidden}.parser-sim__header[data-v-cae6b805]{background:color-mix(in srgb, var(--r-text) 7%, var(--r-bg));border-bottom:1px solid var(--r-border);justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.8125rem;display:flex}.parser-sim__title[data-v-cae6b805]{align-items:center;gap:.4rem;font-weight:600;display:flex}.parser-sim__status[data-v-cae6b805]{color:var(--r-text-muted);align-items:center;gap:.3rem;font-size:.75rem;display:flex}.parser-sim__body[data-v-cae6b805]{flex-direction:column;flex:1;gap:0;min-height:0;display:flex}.parser-sim__col[data-v-cae6b805]{flex-direction:column;gap:.25rem;padding:.6rem .75rem;display:flex}.parser-sim__col[data-v-cae6b805]:first-child{border-bottom:1px solid var(--r-border)}.parser-sim__col-label[data-v-cae6b805]{color:var(--r-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.parser-sim__textarea[data-v-cae6b805]{resize:vertical;border:1px solid var(--r-border-strong,var(--r-border));background:var(--r-bg-field,var(--r-bg));width:100%;min-height:160px;color:var(--r-text,var(--r-text));outline:none;padding:.5rem;font-family:monospace;font-size:.8rem;line-height:1.5}.parser-sim__textarea[data-v-cae6b805]:focus{border-color:var(--r-primary)}.parser-sim__error[data-v-cae6b805]{color:var(--r-red-500,#ef4444);align-items:flex-start;gap:.4rem;padding:.5rem;font-size:.8rem;display:flex}.parser-sim__empty[data-v-cae6b805]{color:var(--r-text-muted);padding:.5rem;font-size:.8rem;font-style:italic}.parser-sim__col--output[data-v-cae6b805]{flex:1;min-height:0;overflow:hidden}.parser-sim__viewer[data-v-cae6b805]{flex:1;height:100%;min-height:0}.parser-ai-prompt[data-v-cae6b805]{flex-direction:column;gap:.75rem;display:flex}.parser-ai-prompt__desc[data-v-cae6b805]{color:var(--r-text-muted);margin:0;font-size:.9rem}.parser-ai-prompt__input[data-v-cae6b805]{resize:vertical;width:100%}.providers-scope[data-v-2527a40d]{color:var(--r-text-muted);align-items:center;gap:.4rem;margin:0 0 .9rem;font-size:.8rem;display:flex}.settings-card[data-v-2527a40d]{max-width:680px}.providers-loading[data-v-2527a40d],.providers-empty[data-v-2527a40d]{color:var(--r-text-muted);align-items:center;gap:.5rem;padding:1rem;font-size:.875rem;display:flex}.ai-providers-list[data-v-2527a40d]{flex-direction:column;gap:.5rem;display:flex}.ai-provider-row[data-v-2527a40d]{border:1px solid var(--r-border);background:var(--r-bg);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;transition:border-color .15s;display:flex}.ai-provider-row--active[data-v-2527a40d]{border-color:var(--r-primary);background:color-mix(in srgb, var(--r-primary) 5%, var(--r-bg))}.ai-provider-info[data-v-2527a40d]{flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0;display:flex}.ai-provider-name[data-v-2527a40d]{font-size:.875rem;font-weight:600}.ai-provider-type[data-v-2527a40d]{color:var(--r-text-muted);font-size:.8125rem}.ai-provider-model[data-v-2527a40d]{background:var(--r-bg-hover);color:var(--r-text-muted);border-radius:4px;padding:.15rem .4rem;font-size:.75rem}.ai-provider-key[data-v-2527a40d]{background:var(--r-bg-hover);letter-spacing:.05em;border-radius:4px;padding:.15rem .4rem;font-size:.75rem}.ai-provider-actions[data-v-2527a40d]{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.ai-provider-badge[data-v-2527a40d]{color:var(--r-primary);align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.dialog-form[data-v-2527a40d]{flex-direction:column;gap:1rem;display:flex}.dialog-form__field[data-v-2527a40d]{flex-direction:column;gap:.375rem;display:flex}.dialog-form__label[data-v-2527a40d]{color:var(--r-text-muted);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.dialog-form__input[data-v-2527a40d]{width:100%}.ai-provider-info-block[data-v-2527a40d]{background:color-mix(in srgb, var(--r-primary) 6%, var(--r-bg));border:1px solid color-mix(in srgb, var(--r-primary) 25%, transparent);flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.ai-provider-info-block__text[data-v-2527a40d]{color:var(--r-text);margin:0;font-size:.875rem;line-height:1.5}.ai-provider-info-block__link[data-v-2527a40d]{color:var(--r-primary);align-items:center;gap:.35rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.ai-provider-info-block__link[data-v-2527a40d]:hover{text-decoration:underline}.ai-provider-info-block__models[data-v-2527a40d]{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.ai-provider-info-block__models-label[data-v-2527a40d]{color:var(--r-text-muted);font-size:.75rem;font-weight:500}.ai-provider-info-block__model-tag[data-v-2527a40d]{background:var(--r-bg-hover);border:1px solid var(--r-border);color:var(--r-text-muted);border-radius:4px;padding:.1rem .4rem;font-size:.7rem}.settings-card[data-v-2fb5a15c]{max-width:680px}.companion-settings__row[data-v-2fb5a15c]{align-items:center;gap:.75rem;padding:.4rem 0;display:flex}.companion-settings__row--stack[data-v-2fb5a15c]{flex-wrap:wrap;justify-content:space-between}.companion-settings__label[data-v-2fb5a15c]{font-size:.85rem}.companion-settings__hint[data-v-2fb5a15c]{color:var(--r-text-muted);font-size:.75rem}.companion-settings__actions[data-v-2fb5a15c]{gap:.25rem;display:flex}.companion-settings__editor[data-v-2fb5a15c]{margin-top:.5rem}.companion-settings__textarea[data-v-2fb5a15c]{width:100%;font-family:var(--font-mono,ui-monospace, monospace);font-size:.75rem}.settings-card[data-v-b2f796d8]{max-width:680px}.scenario-list[data-v-b2f796d8]{flex-direction:column;gap:.5rem;display:flex}.scenario-row[data-v-b2f796d8]{border:1px solid var(--r-border);background:var(--r-bg);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.scenario-info[data-v-b2f796d8]{align-items:center;gap:.75rem;display:flex}.scenario-icon[data-v-b2f796d8]{opacity:.7;font-size:1.1rem}.scenario-desc[data-v-b2f796d8]{opacity:.6;margin-left:.5rem;font-size:.85rem}.scenario-meta[data-v-b2f796d8]{opacity:.5;margin-top:.25rem;font-size:.8rem}.scenario-actions[data-v-b2f796d8]{flex-shrink:0;gap:.25rem;display:flex}.scenario-empty[data-v-b2f796d8]{text-align:center;opacity:.5;padding:1rem 0}.state[data-v-5b38ad31]{color:var(--r-text-muted);align-items:center;gap:.75rem;font-size:.88rem;display:flex}.settings-card[data-v-3261b86d]{max-width:680px}.setting-row[data-v-3261b86d]{border-bottom:1px solid var(--r-border);align-items:flex-start;gap:1rem;padding:.75rem 0;display:flex}.setting-row[data-v-3261b86d]:last-child{border-bottom:none}.setting-label[data-v-3261b86d]{width:140px;color:var(--r-text-muted);flex-shrink:0;padding-top:.25rem;font-size:.9rem;font-weight:600}.setting-value[data-v-3261b86d]{flex:1;align-items:center;gap:.5rem;display:flex}.card-title-row[data-v-3261b86d]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.diagnostics[data-v-7cc5031a]{flex-direction:column;gap:2rem;display:flex}.block__header[data-v-7cc5031a]{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.block__title[data-v-7cc5031a]{margin:0;font-size:1rem;font-weight:600}.block__desc[data-v-7cc5031a]{color:var(--r-text-muted);margin:.2rem 0 0;font-size:.85rem}.empty[data-v-7cc5031a]{text-align:center;color:var(--r-text-muted);margin:0;padding:1.2rem;font-size:.875rem}.instances[data-v-7cc5031a]{border:1px solid var(--r-border);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.instance[data-v-7cc5031a]{border-bottom:1px solid var(--r-border);grid-template-columns:1fr auto;grid-template-areas:"main action""meta action";align-items:center;gap:.15rem 1rem;padding:.7rem .9rem;display:grid}.instance[data-v-7cc5031a]:last-child{border-bottom:0}.instance__main[data-v-7cc5031a]{grid-area:main;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.instance__port[data-v-7cc5031a]{align-items:center;gap:.4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.instance__meta[data-v-7cc5031a]{color:var(--r-text-muted);flex-wrap:wrap;grid-area:meta;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.instance__cwd[data-v-7cc5031a]{text-overflow:ellipsis;white-space:nowrap;max-width:24rem;overflow:hidden}.instance[data-v-7cc5031a] .r-button{grid-area:action}.instance__actions[data-v-7cc5031a]{grid-area:action;align-items:center;gap:.25rem;display:flex}.instance__actions[data-v-7cc5031a] .r-button{grid-area:auto}.tag[data-v-7cc5031a]{border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:600}.tag--current[data-v-7cc5031a]{background:color-mix(in srgb, var(--r-primary) 16%, transparent);color:var(--r-primary)}.toolbar[data-v-7cc5031a]{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.toolbar__source[data-v-7cc5031a]{min-width:9rem}.toolbar__search[data-v-7cc5031a]{flex:10rem;min-width:10rem}.toolbar__toggle[data-v-7cc5031a]{align-items:center;gap:.45rem;font-size:.85rem;display:flex}.toolbar__spacer[data-v-7cc5031a]{flex:auto}.toolbar__actions[data-v-7cc5031a]{flex:none;align-items:center;gap:.25rem;display:flex}.log[data-v-7cc5031a]{background:var(--r-bg);border:1px solid var(--r-border);border-radius:8px;height:26rem;padding:.5rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.55;overflow:auto}.log-line[data-v-7cc5031a]{white-space:pre-wrap;word-break:break-word;gap:.6rem;padding:.05rem .8rem;display:flex}.log-line--warn[data-v-7cc5031a]{background:color-mix(in srgb, var(--r-orange-500,#f59e0b) 9%, transparent)}.log-line--error[data-v-7cc5031a]{background:color-mix(in srgb, var(--r-red-500,#ef4444) 11%, transparent)}.log-line__time[data-v-7cc5031a]{color:var(--r-text-muted);opacity:.75;flex:none}.log-line__source[data-v-7cc5031a]{text-transform:uppercase;letter-spacing:.03em;flex:0 0 3.4rem;align-self:center;font-size:.68rem}.log-line__source--server[data-v-7cc5031a]{color:var(--r-primary)}.log-line__source--agent[data-v-7cc5031a]{color:var(--r-text-muted)}.log-line__text[data-v-7cc5031a]{flex:auto}.follow-hint[data-v-7cc5031a]{text-align:center;margin:.4rem 0 0}.api-docs[data-v-a921e175]{flex-direction:column;height:100%;display:flex;overflow:hidden}.api-docs__content[data-v-a921e175]{flex:1;min-height:0;overflow-y:auto}.api-docs__toolbar[data-v-a921e175]{flex-shrink:0;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.api-docs__toolbar-label[data-v-a921e175]{color:var(--r-text-muted);white-space:nowrap;font-size:.875rem;font-weight:500}.settings-page[data-v-39ce45b8]{flex-direction:column;height:100%;display:flex}.settings-layout[data-v-39ce45b8]{flex:1;gap:0;min-height:0;display:flex}.settings-nav[data-v-39ce45b8]{border-right:1px solid var(--r-border);flex-direction:column;flex-shrink:0;gap:.25rem;width:220px;padding:1rem 0;display:flex;overflow-y:auto}.settings-nav__list[data-v-39ce45b8]{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.settings-nav__group[data-v-39ce45b8]{letter-spacing:.06em;text-transform:uppercase;color:var(--r-text-muted);margin:1rem 1.5rem .25rem;font-size:.7rem;font-weight:600}.settings-nav__group[data-v-39ce45b8]:first-child{margin-top:.25rem}.settings-nav__item[data-v-39ce45b8]{cursor:pointer;width:calc(100% - 1rem);font:inherit;text-align:left;color:var(--r-text-muted);transition:background var(--r-duration-base) ease, color var(--r-duration-base) ease;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;align-items:center;gap:.625rem;margin:0 .5rem;padding:.45rem 1rem;font-size:.875rem;display:flex}@media (hover:hover) and (pointer:fine){.settings-nav__item[data-v-39ce45b8]:hover{background:var(--r-bg-hover);color:var(--r-text)}}.settings-nav__item[data-v-39ce45b8]:focus-visible{outline:2px solid var(--r-primary-text);outline-offset:-2px}.settings-nav__item--active[data-v-39ce45b8]{background:color-mix(in srgb, var(--r-primary) 12%, var(--r-bg));color:var(--r-primary-text);font-weight:600}.settings-nav__icon[data-v-39ce45b8]{flex-shrink:0;font-size:1rem}.settings-content[data-v-39ce45b8]{flex:1;min-width:0;padding:1.5rem 2rem;overflow-y:auto}.settings-content[data-v-39ce45b8]>*{max-width:60rem}.settings-content--fullpage[data-v-39ce45b8]>*{max-width:none}.settings-content--fullpage[data-v-39ce45b8]{flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.settings-content--fullpage[data-v-39ce45b8] .api-docs{flex:1;min-height:0}@media (width<=640px){.settings-layout[data-v-39ce45b8]{flex-direction:column}.settings-nav[data-v-39ce45b8]{border-right:none;border-bottom:1px solid var(--r-border);flex-direction:row;align-items:center;width:100%;padding:.5rem 0;position:relative}.settings-nav__list[data-v-39ce45b8]{scrollbar-width:none;flex-direction:row;flex:1;gap:0;padding:0 .25rem;overflow-x:auto}.settings-nav__list[data-v-39ce45b8]::-webkit-scrollbar{display:none}.settings-nav__group[data-v-39ce45b8]{display:none}.settings-nav__item[data-v-39ce45b8]{white-space:nowrap;border-radius:6px;flex-direction:column;flex-shrink:0;gap:.25rem;width:auto;margin:0;padding:.4rem .75rem;font-size:.7rem}.settings-nav__icon[data-v-39ce45b8]{font-size:1rem}.settings-nav__chevron[data-v-39ce45b8]{cursor:pointer;width:2rem;height:2rem;color:var(--r-text-muted);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.settings-nav__chevron[data-v-39ce45b8]:hover{background:var(--r-bg-hover);color:var(--r-text)}.settings-content[data-v-39ce45b8]{padding:1rem}}@media (width>=641px){.settings-nav__chevron[data-v-39ce45b8]{display:none}}.section-header[data-v-39ce45b8]{margin-bottom:1.5rem}.section-header--has-actions[data-v-39ce45b8]{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.section-header__text[data-v-39ce45b8]{flex:1;min-width:0}.section-header__actions[data-v-39ce45b8]{flex-shrink:0;align-self:center}.section-title[data-v-39ce45b8]{margin:0 0 .25rem;font-size:1.25rem;font-weight:700}.section-desc[data-v-39ce45b8]{color:var(--r-text-muted);margin:0;font-size:.875rem}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,E as r,_ as i,b as a,ct as o,en as s,g as ee,k as c,mt as l,o as u,qt as d,rn as f,tt as p,v as m,y as h}from"./runtime-core.esm-bundler-DujKY9QV.js";import{w as te}from"./runtime-dom.esm-bundler-CyEVRK6B.js";import{n as ne}from"./vue-i18n-o7yraQpR.js";import{g as re,h as ie}from"./useApi-s_02lHjl-DZYO2tHU.js";import{J as ae,W as oe,dt as se,ft as g,w as ce}from"./src-Ck_MutzB.js";import{t as _}from"./trpc-
|
|
1
|
+
import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,E as r,_ as i,b as a,ct as o,en as s,g as ee,k as c,mt as l,o as u,qt as d,rn as f,tt as p,v as m,y as h}from"./runtime-core.esm-bundler-DujKY9QV.js";import{w as te}from"./runtime-dom.esm-bundler-CyEVRK6B.js";import{n as ne}from"./vue-i18n-o7yraQpR.js";import{g as re,h as ie}from"./useApi-s_02lHjl-DZYO2tHU.js";import{J as ae,W as oe,dt as se,ft as g,w as ce}from"./src-Ck_MutzB.js";import{t as _}from"./trpc-BQ0mLnfI.js";import{d as v,l as y,n as b,u as x}from"./auth-5bsz5kSC.js";import{t as S}from"./notification.store-CAG1kWYq.js";import{a as C,c as w,o as T}from"./index-mvpLwxNT.js";import{n as E,t as D}from"./VersionBadge-CXJ-2h5V.js";var O={class:`unlock-container`},k={class:`unlock-header`},A={class:`unlock-mark`,"aria-hidden":`true`},j={class:`unlock-mark__badge`},M={class:`unlock-title`,"data-testid":`unlock-title`},le={class:`unlock-subtitle`},N={class:`field`},P={for:`masterPassword`},F={key:0,class:`field`},I={for:`encryptionKey`},L={class:`field-help`},R={key:2,class:`machine-warning`},z=g(c({__name:`UnlockPage`,setup(c){let g=re(),z=ie(),{t:B}=ne(),V=w(),H=S(),U=t(``),W=t(``),G=t(``),K=t(!1),q=t(null),J=t(null),Y=t(null);async function ue(){let e=Y.value;if(!e||typeof e.animate!=`function`)return;let t=window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches,n=t?{opacity:0}:{opacity:0,transform:`translateY(-8px) scale(0.98)`,filter:`blur(4px)`};try{await e.animate([{},n],{duration:t?120:180,easing:`cubic-bezier(0.23, 1, 0.32, 1)`,fill:`forwards`}).finished}catch{}}function X(){p(()=>{(J.value?.$el?.querySelector(`input`))?.focus()})}let Z=ee(()=>q.value?.state===`setup`);o(async()=>{X();try{q.value=await b(),q.value.state===`unlocked`&&await $()}catch{G.value=B(`unlockPage.serverUnreachable`)}});async function Q(){G.value=``,K.value=!0;try{let e;if(q.value?.state===`setup`){let t=q.value.hasVerifyFile&&!q.value.isLegacyMigration&&W.value||void 0;e=await x(U.value,t)}else e=await v(U.value);y(e),await T({loadPreferences:()=>H.loadPreferences(),initTrpcWs:_,startStatusStream:()=>V.startStatusStream(),startDataStream:()=>C()}),await ue(),await $()}catch(e){Y.value?.getAnimations?.().forEach(e=>e.cancel()),G.value=e instanceof Error?e.message:B(`unlockPage.unknownError`),X()}finally{K.value=!1}}async function $(){try{if((await b()).legacyVault){await g.push({name:`migrate-vault`});return}}catch{}let e=z.query.redirect;e&&e.startsWith(`/`)?await g.push(e):await g.push({name:`launch-project`})}return(t,o)=>(l(),a(`div`,O,[i(`div`,{ref_key:`cardRef`,ref:Y,class:`unlock-card`},[i(`div`,k,[i(`div`,A,[n(E),i(`span`,j,[i(`i`,{class:s(Z.value?`ti ti-shield`:`ti ti-lock`)},null,2)])]),i(`h1`,M,f(Z.value?e(B)(`unlockPage.titleSetup`):e(B)(`unlockPage.titleLocked`)),1),i(`p`,le,[Z.value&&q.value?.isLegacyMigration?(l(),a(u,{key:0},[r(f(e(B)(`unlockPage.subtitleLegacyMigration`)),1)],64)):Z.value&&q.value?.hasVerifyFile?(l(),a(u,{key:1},[r(f(e(B)(`unlockPage.subtitleHasVerifyFile`)),1)],64)):Z.value?(l(),a(u,{key:2},[r(f(e(B)(`unlockPage.subtitleSetup`)),1)],64)):(l(),a(u,{key:3},[r(f(e(B)(`unlockPage.subtitleUnlock`)),1)],64))])]),i(`form`,{onSubmit:te(Q,[`prevent`]),class:`unlock-form`},[i(`div`,N,[i(`label`,P,f(e(B)(`unlockPage.masterPasswordLabel`)),1),n(e(ce),{ref_key:`passwordRef`,ref:J,id:`masterPassword`,"data-testid":`master-password-input`,modelValue:U.value,"onUpdate:modelValue":o[0]||=e=>U.value=e,feedback:Z.value,toggleMask:``,fluid:``,disabled:K.value,autocomplete:Z.value?`new-password`:`current-password`,placeholder:e(B)(`unlockPage.masterPasswordPlaceholder`)},null,8,[`modelValue`,`feedback`,`disabled`,`autocomplete`,`placeholder`])]),Z.value&&q.value?.hasVerifyFile&&!q.value?.isLegacyMigration?(l(),a(`div`,F,[i(`label`,I,f(e(B)(`unlockPage.encryptionKeyLabel`)),1),n(e(ae),{id:`encryptionKey`,"data-testid":`encryption-key-input`,modelValue:W.value,"onUpdate:modelValue":o[1]||=e=>W.value=e,fluid:``,disabled:K.value,placeholder:e(B)(`unlockPage.encryptionKeyPlaceholder`),autocomplete:`off`},null,8,[`modelValue`,`disabled`,`placeholder`]),i(`small`,L,f(e(B)(`unlockPage.encryptionKeyHelp`)),1)])):h(``,!0),G.value?(l(),m(e(oe),{key:1,severity:`error`,"data-testid":`unlock-error`},{default:d(()=>[r(f(G.value),1)]),_:1})):h(``,!0),n(e(se),{type:`submit`,class:`unlock-submit`,"data-testid":`unlock-submit-btn`,label:K.value?e(B)(`unlockPage.pleaseWait`):Z.value?e(B)(`unlockPage.configure`):e(B)(`unlockPage.unlock`),disabled:K.value||!U.value,loading:K.value,fluid:``},null,8,[`label`,`disabled`,`loading`]),Z.value?(l(),a(`p`,R,[o[2]||=i(`i`,{class:`ti ti-info-circle`,"aria-hidden":`true`},null,-1),i(`span`,null,f(e(B)(`unlockPage.machineWarning`)),1)])):h(``,!0)],32)],512),n(D)]))}}),[[`__scopeId`,`data-v-af0b3bc7`]]);export{z as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,E as r,_ as i,b as a,bt as o,ct as s,k as c,mt as l,o as u,qt as d,rn as f,v as p,y as m}from"./runtime-core.esm-bundler-DujKY9QV.js";import{w as h}from"./runtime-dom.esm-bundler-CyEVRK6B.js";import{n as g}from"./vue-i18n-o7yraQpR.js";import{g as _}from"./useApi-s_02lHjl-DZYO2tHU.js";import{W as v,dt as y,ft as b,w as x}from"./src-Ck_MutzB.js";import{f as S,n as C}from"./auth-
|
|
1
|
+
import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,E as r,_ as i,b as a,bt as o,ct as s,k as c,mt as l,o as u,qt as d,rn as f,v as p,y as m}from"./runtime-core.esm-bundler-DujKY9QV.js";import{w as h}from"./runtime-dom.esm-bundler-CyEVRK6B.js";import{n as g}from"./vue-i18n-o7yraQpR.js";import{g as _}from"./useApi-s_02lHjl-DZYO2tHU.js";import{W as v,dt as y,ft as b,w as x}from"./src-Ck_MutzB.js";import{f as S,n as C}from"./auth-5bsz5kSC.js";import{n as w}from"./error-DpF7X5iu.js";var T={class:`migration-page`,"data-testid":`page-content`},E={class:`migration-card`},D={class:`migration-title`,"data-testid":`vault-migration-title`},O={class:`migration-lead`},k={class:`migration-path`},A={for:`legacyMasterPassword`},j={class:`migration-report`},M={key:0},N={key:1,class:`migration-report__warn`},P={class:`migration-backup`},F=b(c({__name:`VaultMigrationPage`,setup(c){let b=_(),{t:F}=g(),I=t(null),L=t(``),R=t(!1),z=t(``),B=t(null);s(async()=>{try{let e=await C();I.value=e.legacyVault??null,I.value||await b.replace({name:`launch-project`})}catch{z.value=F(`vaultMigration.statusError`)}});async function V(){if(L.value){R.value=!0,z.value=``;try{B.value=await S(L.value),L.value=``}catch(e){z.value=w(e)??F(`vaultMigration.failed`)}finally{R.value=!1}}}async function H(){await b.replace({name:`launch-project`})}return(t,s)=>(l(),a(`div`,T,[i(`div`,E,[i(`h1`,D,f(e(F)(`vaultMigration.title`)),1),B.value?(l(),a(u,{key:1},[n(e(v),{severity:`success`,"data-testid":`vault-migration-done`},{default:d(()=>[r(f(e(F)(`vaultMigration.done`)),1)]),_:1}),i(`ul`,j,[(l(!0),a(u,null,o(B.value.rekeyed,t=>(l(),a(`li`,{key:t.file},f(e(F)(`vaultMigration.rekeyed`,{file:t.file,count:t.values})),1))),128)),B.value.moved.length?(l(),a(`li`,M,f(e(F)(`vaultMigration.moved`,{files:B.value.moved.join(`, `)})),1)):m(``,!0),B.value.skipped.length?(l(),a(`li`,N,f(e(F)(`vaultMigration.skipped`,{files:B.value.skipped.join(`, `)})),1)):m(``,!0)]),i(`p`,P,[r(f(e(F)(`vaultMigration.backupKept`))+` `,1),i(`code`,null,f(B.value.backupDir),1)]),n(e(y),{"data-testid":`vault-migration-continue`,label:e(F)(`vaultMigration.continue`),onClick:H},null,8,[`label`])],64)):(l(),a(u,{key:0},[i(`p`,O,f(e(F)(`vaultMigration.lead`)),1),i(`p`,k,[i(`code`,null,f(I.value),1)]),n(e(v),{severity:`info`,class:`migration-note`},{default:d(()=>[r(f(e(F)(`vaultMigration.backupNote`)),1)]),_:1}),i(`form`,{class:`migration-form`,onSubmit:h(V,[`prevent`])},[i(`label`,A,f(e(F)(`vaultMigration.oldPasswordLabel`)),1),n(e(x),{id:`legacyMasterPassword`,modelValue:L.value,"onUpdate:modelValue":s[0]||=e=>L.value=e,"data-testid":`legacy-master-password-input`,feedback:!1,"toggle-mask":``,autocomplete:`current-password`,disabled:R.value,fluid:``},null,8,[`modelValue`,`disabled`]),z.value?(l(),p(e(v),{key:0,severity:`error`,"data-testid":`vault-migration-error`},{default:d(()=>[r(f(z.value),1)]),_:1})):m(``,!0),n(e(y),{type:`submit`,"data-testid":`vault-migration-submit`,label:R.value?e(F)(`vaultMigration.migrating`):e(F)(`vaultMigration.migrate`),loading:R.value,disabled:R.value||!L.value},null,8,[`label`,`loading`,`disabled`])],32)],64))])]))}}),[[`__scopeId`,`data-v-a3510ba2`]]);export{F as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{b as n,ct as r,k as i,mt as a,rn as o,v as s,y as c}from"./runtime-core.esm-bundler-DujKY9QV.js";import{ft as l}from"./src-Ck_MutzB.js";import{r as u}from"./trpc-
|
|
1
|
+
import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{b as n,ct as r,k as i,mt as a,rn as o,v as s,y as c}from"./runtime-core.esm-bundler-DujKY9QV.js";import{ft as l}from"./src-Ck_MutzB.js";import{r as u}from"./trpc-BQ0mLnfI.js";import{n as d}from"./index-mvpLwxNT.js";var f=l(i({__name:`RuneyaMark`,props:{size:{default:40}},setup(t){return(n,r)=>(a(),s(e(d),{class:`runeya-mark`,size:t.size},null,8,[`size`]))}}),[[`__scopeId`,`data-v-203dbae4`]]),p={key:0,class:`version-badge`,"data-testid":`version-badge`},m=l(i({__name:`VersionBadge`,setup(e){let i=t(``);return r(()=>{u.health.check.query().then(e=>{i.value=e.version}).catch(()=>{})}),(e,t)=>i.value?(a(),n(`span`,p,`v`+o(i.value),1)):c(``,!0)}}),[[`__scopeId`,`data-v-f94beae8`]]);export{f as n,m as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{k as e,mt as t,v as n}from"./runtime-core.esm-bundler-DujKY9QV.js";import{t as r}from"./WikiView-
|
|
1
|
+
import{k as e,mt as t,v as n}from"./runtime-core.esm-bundler-DujKY9QV.js";import{t as r}from"./WikiView-BNReLsq5.js";var i=e({__name:`WikiPage`,setup(e){return(e,i)=>(t(),n(r,{scope:`global`}))}});export{i as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,E as r,Ht as i,St as a,_ as o,b as s,bt as c,ct as l,en as u,g as d,it as f,k as p,mt as m,o as h,qt as g,rn as _,v as ee,y as v}from"./runtime-core.esm-bundler-DujKY9QV.js";import{C as y,w as b}from"./runtime-dom.esm-bundler-CyEVRK6B.js";import{g as te}from"./useApi-s_02lHjl-DZYO2tHU.js";import{J as x,Y as S,dt as C,ft as w,j as ne}from"./src-Ck_MutzB.js";import{r as T}from"./trpc-BvrR5qP9.js";import{U as re}from"./index-BCU69ZHl.js";var E={class:`fs-node`},D=[`title`],O={class:`fs-node__name`},k=[`title`],A={class:`fs-node__name`},j={key:2,class:`fs-node__actions`},M={key:0,class:`fs-node__children`},ie=p({__name:`FsNode`,props:{entry:{},selectedPath:{},expanded:{},editable:{type:Boolean}},emits:[`toggle`,`select`,`create-child`,`rename`,`delete`],setup(e,{emit:t}){let r=e,i=t,l=d(()=>r.entry.type===`dir`&&r.expanded.has(r.entry.path)),f=d(()=>r.entry.type===`file`&&r.selectedPath===r.entry.path);return(t,r)=>{let d=a(`FsNode`,!0);return m(),s(`div`,E,[o(`div`,{class:u([`fs-node__row`,{"fs-node__row--selected":f.value}])},[e.entry.type===`dir`?(m(),s(`button`,{key:0,class:`fs-node__main`,title:e.entry.path,onClick:r[0]||=t=>i(`toggle`,e.entry.path)},[o(`i`,{class:u(`ti ${l.value?`ti-chevron-down`:`ti-chevron-right`} fs-node__caret`)},null,2),o(`i`,{class:u(`ti ${l.value?`ti-folder-open`:`ti-folder`} fs-node__icon fs-node__icon--folder`)},null,2),o(`span`,O,_(e.entry.name),1)],8,D)):(m(),s(`button`,{key:1,class:`fs-node__main`,title:e.entry.path,onClick:r[1]||=t=>i(`select`,e.entry.path)},[r[11]||=o(`span`,{class:`fs-node__caret-spacer`},null,-1),r[12]||=o(`i`,{class:`ti ti-file fs-node__icon`},null,-1),o(`span`,A,_(e.entry.name),1)],8,k)),e.editable?(m(),s(`div`,j,[e.entry.type===`dir`?(m(),s(`button`,{key:0,class:`fs-node__action`,title:`Nouveau fichier`,onClick:r[2]||=b(t=>i(`create-child`,e.entry.path,`file`),[`stop`])},[...r[13]||=[o(`i`,{class:`ti ti-file-plus`},null,-1)]])):v(``,!0),e.entry.type===`dir`?(m(),s(`button`,{key:1,class:`fs-node__action`,title:`Nouveau dossier`,onClick:r[3]||=b(t=>i(`create-child`,e.entry.path,`dir`),[`stop`])},[...r[14]||=[o(`i`,{class:`ti ti-folder-plus`},null,-1)]])):v(``,!0),o(`button`,{class:`fs-node__action`,title:`Renommer`,onClick:r[4]||=b(t=>i(`rename`,e.entry.path,e.entry.type===`dir`),[`stop`])},[...r[15]||=[o(`i`,{class:`ti ti-pencil`},null,-1)]]),o(`button`,{class:`fs-node__action fs-node__action--danger`,title:`Supprimer`,onClick:r[5]||=b(t=>i(`delete`,e.entry.path,e.entry.type===`dir`),[`stop`])},[...r[16]||=[o(`i`,{class:`ti ti-trash`},null,-1)]])])):v(``,!0)],2),e.entry.type===`dir`&&l.value?(m(),s(`ul`,M,[(m(!0),s(h,null,c(e.entry.children,t=>(m(),s(`li`,{key:t.path},[n(d,{entry:t,"selected-path":e.selectedPath,expanded:e.expanded,editable:e.editable,onToggle:r[6]||=e=>i(`toggle`,e),onSelect:r[7]||=e=>i(`select`,e),onCreateChild:r[8]||=(e,t)=>i(`create-child`,e,t),onRename:r[9]||=(e,t)=>i(`rename`,e,t),onDelete:r[10]||=(e,t)=>i(`delete`,e,t)},null,8,[`entry`,`selected-path`,`expanded`,`editable`])]))),128))])):v(``,!0)])}}}),ae={key:0,class:`wiki__not-configured`},oe={key:1,class:`wiki__not-configured`},se={key:0},ce={key:1},le={key:2,class:`wiki`},ue={class:`wiki__sidebar`},de={class:`wiki__sidebar-header`},fe=[`title`],pe={class:`wiki__sidebar-actions`},me={key:0,class:`wiki__loading`},he={key:1,class:`wiki__error`},ge={key:2,class:`wiki__empty`},_e={key:3,class:`wiki__tree`},ve={class:`wiki__main`},ye={class:`wiki__title-row`},be={class:`wiki__title-path`},xe={key:0,class:`wiki__status`},Se={key:0},Ce={key:1},we={key:2,class:`wiki__status-saved`},Te={key:1,class:`wiki__status wiki__status-readonly`},Ee={key:0,class:`wiki__editor-actions`},De={key:1,class:`wiki__loading`},Oe={key:1,class:`wiki__placeholder`},ke={class:`wiki__prompt-body`},Ae={for:`wiki-prompt-input`,class:`wiki__prompt-label`},je={class:`wiki__link-list`},Me=[`onClick`],Ne={class:`wiki__link-path`},Pe={key:0,class:`wiki__link-empty`},N=w(p({__name:`WikiView`,props:{scope:{}},setup(a){let p=te(),w=a,E=ne(),D=t(``),O=t([]),k=t(!1),A=t(null),j=t(!1),M=t(null),N=t(!1),P=t(new Set),F=t(null),I=t(``),L=t(!1),R=t(!1),z=t(!1),B=null,V=``,Fe=t(null),H=t(!1),U=t(``),W=t({open:!1,title:``,label:``,value:``,placeholder:``,resolve:null});function Ie(e){return new Promise(t=>{W.value={open:!0,title:e.title,label:e.label,value:e.initialValue??``,placeholder:e.placeholder??``,resolve:t}})}function Le(){let e=W.value.value.trim();W.value.resolve?.(e||null),W.value.open=!1}function G(){W.value.resolve?.(null),W.value.open=!1}let Re=d(()=>{let e=[],t=n=>{for(let r of n)r.type===`file`?e.push({path:r.path,name:r.name}):t(r.children)};return t(O.value),e}),ze=d(()=>{let e=U.value.trim().toLowerCase();return Re.value.filter(e=>e.path!==F.value).filter(t=>!e||t.path.toLowerCase().includes(e))});async function K(){k.value=!0,A.value=null,j.value=!1,M.value=null;try{let e=await T.wiki.list.query({scope:w.scope});D.value=e.root,O.value=e.entries}catch(e){let t=e.message;if(/Aucun dossier de docs|globalDocsPath|docsPath|Aucun cwd/i.test(t))j.value=!0;else{let e=t.match(/Dossier introuvable:\s*(.+)$/);e?M.value=e[1].trim():A.value=t}}finally{k.value=!1}}async function Be(){N.value=!0;try{await T.wiki.ensureRoot.mutate({scope:w.scope}),M.value=null,await K()}catch(e){A.value=e.message}finally{N.value=!1}}let q=d(()=>w.scope===`global`),Ve=d(()=>w.scope.startsWith(`service:`)),He=d(()=>Ve.value?w.scope.slice(8):null);function Ue(){q.value?p.push({name:`settings`,query:{section:`general`}}):He.value&&p.push(`/services/${He.value}/config?configTab=general`)}function We(e){P.value.has(e)?P.value.delete(e):P.value.add(e),P.value=new Set(P.value)}async function J(e){X(),z.value=!1,F.value=e,L.value=!0,I.value=``;try{let t=await T.wiki.read.query({scope:w.scope,path:e});I.value=t.content,V=t.content;let n=e.split(`/`);for(n.pop();n.length;)P.value.add(n.join(`/`)),n.pop();P.value=new Set(P.value)}catch(e){A.value=e.message}finally{L.value=!1}}function Ge(){B&&clearTimeout(B),B=setTimeout(()=>{Y()},800)}async function Y(){if(!F.value||I.value===V)return;let e=F.value,t=I.value;R.value=!0;try{await T.wiki.write.mutate({scope:w.scope,path:e,content:t}),V=t}catch(e){A.value=e.message}finally{R.value=!1}}function X(){B&&(clearTimeout(B),B=null,Y())}i(I,()=>{F.value&&z.value&&Ge()});function Ke(){z.value?(X(),z.value=!1):z.value=!0}async function Z(e,t){let n=await Ie({title:t===`file`?`Nouveau fichier`:`Nouveau dossier`,label:t===`file`?`Nom du fichier (sans extension)`:`Nom du dossier`,initialValue:t===`file`?`nouveau`:`nouveau-dossier`});if(!n)return;let r=n.trim().replace(/[^A-Za-z0-9_./-]/g,`-`);if(!r)return;let i=t===`file`&&!/\.(md|markdown)$/i.test(r)?`${r}.md`:r,a=e?`${e}/${i}`:i;try{t===`file`?(await T.wiki.createFile.mutate({scope:w.scope,path:a}),await K(),J(a)):(await T.wiki.createDir.mutate({scope:w.scope,path:a}),P.value.add(a),P.value=new Set(P.value),await K())}catch(e){A.value=e.message}}async function qe(e,t){let n=e.split(`/`),r=n[n.length-1],i=await Ie({title:`Renommer`,label:`Nouveau nom`,initialValue:r});if(!i||i===r)return;let a=i.trim().replace(/[^A-Za-z0-9_./-]/g,`-`);if(!a)return;let o=!t&&!/\.(md|markdown)$/i.test(a)?`${a}.md`:a;n[n.length-1]=o;let s=n.join(`/`);try{await T.wiki.rename.mutate({scope:w.scope,fromPath:e,toPath:s}),F.value===e&&(F.value=s),await K()}catch(e){A.value=e.message}}function Je(e,t){E.require({message:`Supprimer "${e}" ${t?`(et tout son contenu)`:``} ?`,header:`Confirmation`,icon:`ti ti-alert-triangle`,rejectProps:{label:`Annuler`},acceptProps:{label:`Supprimer`,severity:`danger`},accept:async()=>{try{await T.wiki.delete.mutate({scope:w.scope,path:e}),(F.value===e||t&&F.value?.startsWith(e+`/`))&&(F.value=null,I.value=``),await K()}catch(e){A.value=e.message}}})}function Ye(){U.value=``,H.value=!0}function Xe(e){let t=Ze(F.value??``,e.path);Fe.value?.insertWikiLink?.(t,e.name.replace(/\.(md|markdown)$/i,``)),H.value=!1}function Ze(e,t){let n=e.split(`/`);n.pop();let r=t.split(`/`),i=0;for(;i<n.length&&i<r.length-1&&n[i]===r[i];)i++;let a=n.length-i,o=r.slice(i);return(a===0?`./`:`../`.repeat(a))+o.join(`/`)}function Qe(e){if(e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`mailto:`)){window.open(e,`_blank`,`noopener,noreferrer`);return}if(e.startsWith(`#`)||!/\.(md|markdown)(#|\?|$)/i.test(e))return;let t=e.split(`#`)[0].split(`?`)[0],n=$e(F.value??``,t);Re.value.some(e=>e.path===n)?J(n):A.value=`Fichier introuvable: ${n}`}function $e(e,t){if(t.startsWith(`/`))return t.replace(/^\/+/,``);let n=e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)).split(`/`).filter(Boolean):[];for(let e of t.split(`/`))e!==``&&e!==`.`&&(e===`..`?n.pop():n.push(e));return n.join(`/`)}function Q(){F.value&&J(F.value)}function $(){document.visibilityState===`visible`&&Q()}return i(()=>w.scope,()=>{F.value=null,I.value=``,O.value=[],K()}),l(()=>{K(),window.addEventListener(`focus`,Q),document.addEventListener(`visibilitychange`,$)}),f(()=>{X(),window.removeEventListener(`focus`,Q),document.removeEventListener(`visibilitychange`,$)}),(t,i)=>M.value?(m(),s(`div`,ae,[i[8]||=o(`i`,{class:`ti ti-folder-open wiki__not-configured-icon`},null,-1),i[9]||=o(`h2`,null,`Le dossier de documentation n'existe pas encore`,-1),o(`p`,null,[i[7]||=r(` Chemin attendu : `,-1),o(`code`,null,_(M.value),1)]),n(e(C),{icon:`ti ti-plus`,label:`Créer le dossier`,loading:N.value,onClick:Be},null,8,[`loading`])])):j.value?(m(),s(`div`,oe,[i[11]||=o(`i`,{class:`ti ti-settings wiki__not-configured-icon`},null,-1),o(`h2`,null,_(q.value?`Wiki global non configuré`:`Documentation du service non configurée`),1),q.value?(m(),s(`p`,se,` Le wiki global a besoin d'un chemin absolu vers un dossier sur disque pour fonctionner. `)):(m(),s(`p`,ce,[...i[10]||=[r(` Ce service n'a pas de `,-1),o(`code`,null,`cwd`,-1),r(` ni de `,-1),o(`code`,null,`docsPath`,-1),r(` renseigné. `,-1)]])),n(e(C),{icon:`ti ti-arrow-right`,label:q.value?`Configurer le wiki global`:`Configurer le service`,onClick:Ue},null,8,[`label`])])):(m(),s(`div`,le,[o(`aside`,ue,[o(`div`,de,[o(`span`,{class:`wiki__sidebar-title`,title:D.value},_(D.value||`Pages`),9,fe),o(`div`,pe,[n(e(C),{icon:`ti ti-folder-plus`,size:`small`,variant:`text`,rounded:``,title:`Nouveau dossier racine`,onClick:i[0]||=e=>Z(``,`dir`)}),n(e(C),{icon:`ti ti-file-plus`,size:`small`,variant:`text`,rounded:``,title:`Nouveau fichier racine`,onClick:i[1]||=e=>Z(``,`file`)}),n(e(C),{icon:`ti ti-refresh`,size:`small`,variant:`text`,rounded:``,title:`Rafraîchir`,onClick:K})])]),k.value?(m(),s(`div`,me,`Chargement…`)):A.value?(m(),s(`div`,he,_(A.value),1)):O.value.length===0?(m(),s(`div`,ge,` Aucun fichier. Utilisez les boutons en haut pour créer un fichier ou un dossier. `)):(m(),s(`ul`,_e,[(m(!0),s(h,null,c(O.value,e=>(m(),s(`li`,{key:e.path},[n(ie,{entry:e,"selected-path":F.value,expanded:P.value,editable:!0,onToggle:We,onSelect:J,onCreateChild:Z,onRename:qe,onDelete:Je},null,8,[`entry`,`selected-path`,`expanded`])]))),128))]))]),o(`section`,ve,[F.value?(m(),s(h,{key:0},[o(`div`,ye,[i[16]||=o(`i`,{class:`ti ti-file wiki__title-icon`},null,-1),o(`span`,be,_(F.value),1),z.value?(m(),s(`span`,xe,[R.value?(m(),s(`span`,Se,[...i[12]||=[o(`i`,{class:`ti ti-spin ti-loader-2`},null,-1),r(` Sauvegarde…`,-1)]])):I.value===e(V)?(m(),s(`span`,we,[...i[14]||=[o(`i`,{class:`ti ti-check`},null,-1),r(` Sauvegardé`,-1)]])):(m(),s(`span`,Ce,[...i[13]||=[o(`i`,{class:`ti ti-circle-filled wiki__status-pending`},null,-1),r(` Modifié`,-1)]]))])):(m(),s(`span`,Te,[...i[15]||=[o(`i`,{class:`ti ti-eye`},null,-1),r(` Lecture seule `,-1)]])),n(e(C),{icon:z.value?`ti ti-check`:`ti ti-pencil`,label:z.value?`Terminer`:`Modifier`,size:`small`,severity:z.value?`success`:`secondary`,variant:z.value?`filled`:`outlined`,onClick:Ke},null,8,[`icon`,`label`,`severity`,`variant`]),n(e(C),{icon:`ti ti-refresh`,size:`small`,variant:`text`,rounded:``,title:`Recharger depuis le disque`,loading:L.value,onClick:Q},null,8,[`loading`])]),z.value?(m(),s(`div`,Ee,[n(e(C),{icon:`ti ti-link`,label:`Lier un fichier`,size:`small`,variant:`text`,onClick:Ye})])):v(``,!0),L.value?(m(),s(`div`,De,`Chargement du fichier…`)):(m(),ee(e(re),{key:2,ref_key:`editorRef`,ref:Fe,modelValue:I.value,"onUpdate:modelValue":i[2]||=e=>I.value=e,markdown:``,editable:z.value,class:u([`wiki__editor`,{"wiki__editor--readonly":!z.value}]),placeholder:`Écrivez le contenu de la page…`,onLinkClick:Qe},null,8,[`modelValue`,`editable`,`class`]))],64)):(m(),s(`div`,Oe,[...i[17]||=[o(`i`,{class:`ti ti-book wiki__placeholder-icon`},null,-1),o(`p`,null,`Sélectionnez un fichier ou créez-en un nouveau.`,-1)]]))]),n(e(S),{visible:W.value.open,"onUpdate:visible":i[4]||=e=>W.value.open=e,header:W.value.title,modal:``,style:{width:`420px`},"close-on-escape":!0,onHide:G},{footer:g(()=>[n(e(C),{label:`Annuler`,severity:`secondary`,variant:`outlined`,size:`small`,onClick:G}),n(e(C),{label:`OK`,size:`small`,disabled:!W.value.value.trim(),onClick:Le},null,8,[`disabled`])]),default:g(()=>[o(`div`,ke,[o(`label`,Ae,_(W.value.label),1),n(e(x),{id:`wiki-prompt-input`,modelValue:W.value.value,"onUpdate:modelValue":i[3]||=e=>W.value.value=e,class:`wiki__prompt-input`,placeholder:W.value.placeholder,autofocus:``,onKeydown:[y(b(Le,[`prevent`]),[`enter`]),y(G,[`escape`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])]),_:1},8,[`visible`,`header`]),n(e(S),{visible:H.value,"onUpdate:visible":i[6]||=e=>H.value=e,header:`Insérer un lien vers un fichier`,modal:``,style:{width:`500px`}},{default:g(()=>[n(e(x),{modelValue:U.value,"onUpdate:modelValue":i[5]||=e=>U.value=e,placeholder:`Rechercher un fichier…`,class:`wiki__link-search`,autofocus:``},null,8,[`modelValue`]),o(`div`,je,[(m(!0),s(h,null,c(ze.value,e=>(m(),s(`button`,{key:e.path,class:`wiki__link-item`,onClick:t=>Xe(e)},[i[18]||=o(`i`,{class:`ti ti-file`},null,-1),o(`span`,Ne,_(e.path),1)],8,Me))),128)),ze.value.length===0?(m(),s(`div`,Pe,` Aucun fichier disponible. `)):v(``,!0)])]),_:1},8,[`visible`])]))}}),[[`__scopeId`,`data-v-41cacdea`]]);export{N as t};
|
|
1
|
+
import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,E as r,Ht as i,St as a,_ as o,b as s,bt as c,ct as l,en as u,g as d,it as f,k as p,mt as m,o as h,qt as g,rn as _,v as ee,y as v}from"./runtime-core.esm-bundler-DujKY9QV.js";import{C as y,w as b}from"./runtime-dom.esm-bundler-CyEVRK6B.js";import{g as te}from"./useApi-s_02lHjl-DZYO2tHU.js";import{J as x,Y as S,dt as C,ft as w,j as ne}from"./src-Ck_MutzB.js";import{r as T}from"./trpc-BQ0mLnfI.js";import{U as re}from"./index-mvpLwxNT.js";var E={class:`fs-node`},D=[`title`],O={class:`fs-node__name`},k=[`title`],A={class:`fs-node__name`},j={key:2,class:`fs-node__actions`},M={key:0,class:`fs-node__children`},ie=p({__name:`FsNode`,props:{entry:{},selectedPath:{},expanded:{},editable:{type:Boolean}},emits:[`toggle`,`select`,`create-child`,`rename`,`delete`],setup(e,{emit:t}){let r=e,i=t,l=d(()=>r.entry.type===`dir`&&r.expanded.has(r.entry.path)),f=d(()=>r.entry.type===`file`&&r.selectedPath===r.entry.path);return(t,r)=>{let d=a(`FsNode`,!0);return m(),s(`div`,E,[o(`div`,{class:u([`fs-node__row`,{"fs-node__row--selected":f.value}])},[e.entry.type===`dir`?(m(),s(`button`,{key:0,class:`fs-node__main`,title:e.entry.path,onClick:r[0]||=t=>i(`toggle`,e.entry.path)},[o(`i`,{class:u(`ti ${l.value?`ti-chevron-down`:`ti-chevron-right`} fs-node__caret`)},null,2),o(`i`,{class:u(`ti ${l.value?`ti-folder-open`:`ti-folder`} fs-node__icon fs-node__icon--folder`)},null,2),o(`span`,O,_(e.entry.name),1)],8,D)):(m(),s(`button`,{key:1,class:`fs-node__main`,title:e.entry.path,onClick:r[1]||=t=>i(`select`,e.entry.path)},[r[11]||=o(`span`,{class:`fs-node__caret-spacer`},null,-1),r[12]||=o(`i`,{class:`ti ti-file fs-node__icon`},null,-1),o(`span`,A,_(e.entry.name),1)],8,k)),e.editable?(m(),s(`div`,j,[e.entry.type===`dir`?(m(),s(`button`,{key:0,class:`fs-node__action`,title:`Nouveau fichier`,onClick:r[2]||=b(t=>i(`create-child`,e.entry.path,`file`),[`stop`])},[...r[13]||=[o(`i`,{class:`ti ti-file-plus`},null,-1)]])):v(``,!0),e.entry.type===`dir`?(m(),s(`button`,{key:1,class:`fs-node__action`,title:`Nouveau dossier`,onClick:r[3]||=b(t=>i(`create-child`,e.entry.path,`dir`),[`stop`])},[...r[14]||=[o(`i`,{class:`ti ti-folder-plus`},null,-1)]])):v(``,!0),o(`button`,{class:`fs-node__action`,title:`Renommer`,onClick:r[4]||=b(t=>i(`rename`,e.entry.path,e.entry.type===`dir`),[`stop`])},[...r[15]||=[o(`i`,{class:`ti ti-pencil`},null,-1)]]),o(`button`,{class:`fs-node__action fs-node__action--danger`,title:`Supprimer`,onClick:r[5]||=b(t=>i(`delete`,e.entry.path,e.entry.type===`dir`),[`stop`])},[...r[16]||=[o(`i`,{class:`ti ti-trash`},null,-1)]])])):v(``,!0)],2),e.entry.type===`dir`&&l.value?(m(),s(`ul`,M,[(m(!0),s(h,null,c(e.entry.children,t=>(m(),s(`li`,{key:t.path},[n(d,{entry:t,"selected-path":e.selectedPath,expanded:e.expanded,editable:e.editable,onToggle:r[6]||=e=>i(`toggle`,e),onSelect:r[7]||=e=>i(`select`,e),onCreateChild:r[8]||=(e,t)=>i(`create-child`,e,t),onRename:r[9]||=(e,t)=>i(`rename`,e,t),onDelete:r[10]||=(e,t)=>i(`delete`,e,t)},null,8,[`entry`,`selected-path`,`expanded`,`editable`])]))),128))])):v(``,!0)])}}}),ae={key:0,class:`wiki__not-configured`},oe={key:1,class:`wiki__not-configured`},se={key:0},ce={key:1},le={key:2,class:`wiki`},ue={class:`wiki__sidebar`},de={class:`wiki__sidebar-header`},fe=[`title`],pe={class:`wiki__sidebar-actions`},me={key:0,class:`wiki__loading`},he={key:1,class:`wiki__error`},ge={key:2,class:`wiki__empty`},_e={key:3,class:`wiki__tree`},ve={class:`wiki__main`},ye={class:`wiki__title-row`},be={class:`wiki__title-path`},xe={key:0,class:`wiki__status`},Se={key:0},Ce={key:1},we={key:2,class:`wiki__status-saved`},Te={key:1,class:`wiki__status wiki__status-readonly`},Ee={key:0,class:`wiki__editor-actions`},De={key:1,class:`wiki__loading`},Oe={key:1,class:`wiki__placeholder`},ke={class:`wiki__prompt-body`},Ae={for:`wiki-prompt-input`,class:`wiki__prompt-label`},je={class:`wiki__link-list`},Me=[`onClick`],Ne={class:`wiki__link-path`},Pe={key:0,class:`wiki__link-empty`},N=w(p({__name:`WikiView`,props:{scope:{}},setup(a){let p=te(),w=a,E=ne(),D=t(``),O=t([]),k=t(!1),A=t(null),j=t(!1),M=t(null),N=t(!1),P=t(new Set),F=t(null),I=t(``),L=t(!1),R=t(!1),z=t(!1),B=null,V=``,Fe=t(null),H=t(!1),U=t(``),W=t({open:!1,title:``,label:``,value:``,placeholder:``,resolve:null});function Ie(e){return new Promise(t=>{W.value={open:!0,title:e.title,label:e.label,value:e.initialValue??``,placeholder:e.placeholder??``,resolve:t}})}function Le(){let e=W.value.value.trim();W.value.resolve?.(e||null),W.value.open=!1}function G(){W.value.resolve?.(null),W.value.open=!1}let Re=d(()=>{let e=[],t=n=>{for(let r of n)r.type===`file`?e.push({path:r.path,name:r.name}):t(r.children)};return t(O.value),e}),ze=d(()=>{let e=U.value.trim().toLowerCase();return Re.value.filter(e=>e.path!==F.value).filter(t=>!e||t.path.toLowerCase().includes(e))});async function K(){k.value=!0,A.value=null,j.value=!1,M.value=null;try{let e=await T.wiki.list.query({scope:w.scope});D.value=e.root,O.value=e.entries}catch(e){let t=e.message;if(/Aucun dossier de docs|globalDocsPath|docsPath|Aucun cwd/i.test(t))j.value=!0;else{let e=t.match(/Dossier introuvable:\s*(.+)$/);e?M.value=e[1].trim():A.value=t}}finally{k.value=!1}}async function Be(){N.value=!0;try{await T.wiki.ensureRoot.mutate({scope:w.scope}),M.value=null,await K()}catch(e){A.value=e.message}finally{N.value=!1}}let q=d(()=>w.scope===`global`),Ve=d(()=>w.scope.startsWith(`service:`)),He=d(()=>Ve.value?w.scope.slice(8):null);function Ue(){q.value?p.push({name:`settings`,query:{section:`general`}}):He.value&&p.push(`/services/${He.value}/config?configTab=general`)}function We(e){P.value.has(e)?P.value.delete(e):P.value.add(e),P.value=new Set(P.value)}async function J(e){X(),z.value=!1,F.value=e,L.value=!0,I.value=``;try{let t=await T.wiki.read.query({scope:w.scope,path:e});I.value=t.content,V=t.content;let n=e.split(`/`);for(n.pop();n.length;)P.value.add(n.join(`/`)),n.pop();P.value=new Set(P.value)}catch(e){A.value=e.message}finally{L.value=!1}}function Ge(){B&&clearTimeout(B),B=setTimeout(()=>{Y()},800)}async function Y(){if(!F.value||I.value===V)return;let e=F.value,t=I.value;R.value=!0;try{await T.wiki.write.mutate({scope:w.scope,path:e,content:t}),V=t}catch(e){A.value=e.message}finally{R.value=!1}}function X(){B&&(clearTimeout(B),B=null,Y())}i(I,()=>{F.value&&z.value&&Ge()});function Ke(){z.value?(X(),z.value=!1):z.value=!0}async function Z(e,t){let n=await Ie({title:t===`file`?`Nouveau fichier`:`Nouveau dossier`,label:t===`file`?`Nom du fichier (sans extension)`:`Nom du dossier`,initialValue:t===`file`?`nouveau`:`nouveau-dossier`});if(!n)return;let r=n.trim().replace(/[^A-Za-z0-9_./-]/g,`-`);if(!r)return;let i=t===`file`&&!/\.(md|markdown)$/i.test(r)?`${r}.md`:r,a=e?`${e}/${i}`:i;try{t===`file`?(await T.wiki.createFile.mutate({scope:w.scope,path:a}),await K(),J(a)):(await T.wiki.createDir.mutate({scope:w.scope,path:a}),P.value.add(a),P.value=new Set(P.value),await K())}catch(e){A.value=e.message}}async function qe(e,t){let n=e.split(`/`),r=n[n.length-1],i=await Ie({title:`Renommer`,label:`Nouveau nom`,initialValue:r});if(!i||i===r)return;let a=i.trim().replace(/[^A-Za-z0-9_./-]/g,`-`);if(!a)return;let o=!t&&!/\.(md|markdown)$/i.test(a)?`${a}.md`:a;n[n.length-1]=o;let s=n.join(`/`);try{await T.wiki.rename.mutate({scope:w.scope,fromPath:e,toPath:s}),F.value===e&&(F.value=s),await K()}catch(e){A.value=e.message}}function Je(e,t){E.require({message:`Supprimer "${e}" ${t?`(et tout son contenu)`:``} ?`,header:`Confirmation`,icon:`ti ti-alert-triangle`,rejectProps:{label:`Annuler`},acceptProps:{label:`Supprimer`,severity:`danger`},accept:async()=>{try{await T.wiki.delete.mutate({scope:w.scope,path:e}),(F.value===e||t&&F.value?.startsWith(e+`/`))&&(F.value=null,I.value=``),await K()}catch(e){A.value=e.message}}})}function Ye(){U.value=``,H.value=!0}function Xe(e){let t=Ze(F.value??``,e.path);Fe.value?.insertWikiLink?.(t,e.name.replace(/\.(md|markdown)$/i,``)),H.value=!1}function Ze(e,t){let n=e.split(`/`);n.pop();let r=t.split(`/`),i=0;for(;i<n.length&&i<r.length-1&&n[i]===r[i];)i++;let a=n.length-i,o=r.slice(i);return(a===0?`./`:`../`.repeat(a))+o.join(`/`)}function Qe(e){if(e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`mailto:`)){window.open(e,`_blank`,`noopener,noreferrer`);return}if(e.startsWith(`#`)||!/\.(md|markdown)(#|\?|$)/i.test(e))return;let t=e.split(`#`)[0].split(`?`)[0],n=$e(F.value??``,t);Re.value.some(e=>e.path===n)?J(n):A.value=`Fichier introuvable: ${n}`}function $e(e,t){if(t.startsWith(`/`))return t.replace(/^\/+/,``);let n=e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)).split(`/`).filter(Boolean):[];for(let e of t.split(`/`))e!==``&&e!==`.`&&(e===`..`?n.pop():n.push(e));return n.join(`/`)}function Q(){F.value&&J(F.value)}function $(){document.visibilityState===`visible`&&Q()}return i(()=>w.scope,()=>{F.value=null,I.value=``,O.value=[],K()}),l(()=>{K(),window.addEventListener(`focus`,Q),document.addEventListener(`visibilitychange`,$)}),f(()=>{X(),window.removeEventListener(`focus`,Q),document.removeEventListener(`visibilitychange`,$)}),(t,i)=>M.value?(m(),s(`div`,ae,[i[8]||=o(`i`,{class:`ti ti-folder-open wiki__not-configured-icon`},null,-1),i[9]||=o(`h2`,null,`Le dossier de documentation n'existe pas encore`,-1),o(`p`,null,[i[7]||=r(` Chemin attendu : `,-1),o(`code`,null,_(M.value),1)]),n(e(C),{icon:`ti ti-plus`,label:`Créer le dossier`,loading:N.value,onClick:Be},null,8,[`loading`])])):j.value?(m(),s(`div`,oe,[i[11]||=o(`i`,{class:`ti ti-settings wiki__not-configured-icon`},null,-1),o(`h2`,null,_(q.value?`Wiki global non configuré`:`Documentation du service non configurée`),1),q.value?(m(),s(`p`,se,` Le wiki global a besoin d'un chemin absolu vers un dossier sur disque pour fonctionner. `)):(m(),s(`p`,ce,[...i[10]||=[r(` Ce service n'a pas de `,-1),o(`code`,null,`cwd`,-1),r(` ni de `,-1),o(`code`,null,`docsPath`,-1),r(` renseigné. `,-1)]])),n(e(C),{icon:`ti ti-arrow-right`,label:q.value?`Configurer le wiki global`:`Configurer le service`,onClick:Ue},null,8,[`label`])])):(m(),s(`div`,le,[o(`aside`,ue,[o(`div`,de,[o(`span`,{class:`wiki__sidebar-title`,title:D.value},_(D.value||`Pages`),9,fe),o(`div`,pe,[n(e(C),{icon:`ti ti-folder-plus`,size:`small`,variant:`text`,rounded:``,title:`Nouveau dossier racine`,onClick:i[0]||=e=>Z(``,`dir`)}),n(e(C),{icon:`ti ti-file-plus`,size:`small`,variant:`text`,rounded:``,title:`Nouveau fichier racine`,onClick:i[1]||=e=>Z(``,`file`)}),n(e(C),{icon:`ti ti-refresh`,size:`small`,variant:`text`,rounded:``,title:`Rafraîchir`,onClick:K})])]),k.value?(m(),s(`div`,me,`Chargement…`)):A.value?(m(),s(`div`,he,_(A.value),1)):O.value.length===0?(m(),s(`div`,ge,` Aucun fichier. Utilisez les boutons en haut pour créer un fichier ou un dossier. `)):(m(),s(`ul`,_e,[(m(!0),s(h,null,c(O.value,e=>(m(),s(`li`,{key:e.path},[n(ie,{entry:e,"selected-path":F.value,expanded:P.value,editable:!0,onToggle:We,onSelect:J,onCreateChild:Z,onRename:qe,onDelete:Je},null,8,[`entry`,`selected-path`,`expanded`])]))),128))]))]),o(`section`,ve,[F.value?(m(),s(h,{key:0},[o(`div`,ye,[i[16]||=o(`i`,{class:`ti ti-file wiki__title-icon`},null,-1),o(`span`,be,_(F.value),1),z.value?(m(),s(`span`,xe,[R.value?(m(),s(`span`,Se,[...i[12]||=[o(`i`,{class:`ti ti-spin ti-loader-2`},null,-1),r(` Sauvegarde…`,-1)]])):I.value===e(V)?(m(),s(`span`,we,[...i[14]||=[o(`i`,{class:`ti ti-check`},null,-1),r(` Sauvegardé`,-1)]])):(m(),s(`span`,Ce,[...i[13]||=[o(`i`,{class:`ti ti-circle-filled wiki__status-pending`},null,-1),r(` Modifié`,-1)]]))])):(m(),s(`span`,Te,[...i[15]||=[o(`i`,{class:`ti ti-eye`},null,-1),r(` Lecture seule `,-1)]])),n(e(C),{icon:z.value?`ti ti-check`:`ti ti-pencil`,label:z.value?`Terminer`:`Modifier`,size:`small`,severity:z.value?`success`:`secondary`,variant:z.value?`filled`:`outlined`,onClick:Ke},null,8,[`icon`,`label`,`severity`,`variant`]),n(e(C),{icon:`ti ti-refresh`,size:`small`,variant:`text`,rounded:``,title:`Recharger depuis le disque`,loading:L.value,onClick:Q},null,8,[`loading`])]),z.value?(m(),s(`div`,Ee,[n(e(C),{icon:`ti ti-link`,label:`Lier un fichier`,size:`small`,variant:`text`,onClick:Ye})])):v(``,!0),L.value?(m(),s(`div`,De,`Chargement du fichier…`)):(m(),ee(e(re),{key:2,ref_key:`editorRef`,ref:Fe,modelValue:I.value,"onUpdate:modelValue":i[2]||=e=>I.value=e,markdown:``,editable:z.value,class:u([`wiki__editor`,{"wiki__editor--readonly":!z.value}]),placeholder:`Écrivez le contenu de la page…`,onLinkClick:Qe},null,8,[`modelValue`,`editable`,`class`]))],64)):(m(),s(`div`,Oe,[...i[17]||=[o(`i`,{class:`ti ti-book wiki__placeholder-icon`},null,-1),o(`p`,null,`Sélectionnez un fichier ou créez-en un nouveau.`,-1)]]))]),n(e(S),{visible:W.value.open,"onUpdate:visible":i[4]||=e=>W.value.open=e,header:W.value.title,modal:``,style:{width:`420px`},"close-on-escape":!0,onHide:G},{footer:g(()=>[n(e(C),{label:`Annuler`,severity:`secondary`,variant:`outlined`,size:`small`,onClick:G}),n(e(C),{label:`OK`,size:`small`,disabled:!W.value.value.trim(),onClick:Le},null,8,[`disabled`])]),default:g(()=>[o(`div`,ke,[o(`label`,Ae,_(W.value.label),1),n(e(x),{id:`wiki-prompt-input`,modelValue:W.value.value,"onUpdate:modelValue":i[3]||=e=>W.value.value=e,class:`wiki__prompt-input`,placeholder:W.value.placeholder,autofocus:``,onKeydown:[y(b(Le,[`prevent`]),[`enter`]),y(G,[`escape`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])]),_:1},8,[`visible`,`header`]),n(e(S),{visible:H.value,"onUpdate:visible":i[6]||=e=>H.value=e,header:`Insérer un lien vers un fichier`,modal:``,style:{width:`500px`}},{default:g(()=>[n(e(x),{modelValue:U.value,"onUpdate:modelValue":i[5]||=e=>U.value=e,placeholder:`Rechercher un fichier…`,class:`wiki__link-search`,autofocus:``},null,8,[`modelValue`]),o(`div`,je,[(m(!0),s(h,null,c(ze.value,e=>(m(),s(`button`,{key:e.path,class:`wiki__link-item`,onClick:t=>Xe(e)},[i[18]||=o(`i`,{class:`ti ti-file`},null,-1),o(`span`,Ne,_(e.path),1)],8,Me))),128)),ze.value.length===0?(m(),s(`div`,Pe,` Aucun fichier disponible. `)):v(``,!0)])]),_:1},8,[`visible`])]))}}),[[`__scopeId`,`data-v-41cacdea`]]);export{N as t};
|