codexmate 0.0.54 → 0.0.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/README.vi.md +172 -0
- package/README.zh.md +2 -0
- package/cli/local-bridge.js +221 -22
- package/cli.js +666 -6
- package/package.json +1 -1
- package/web-ui/app.js +40 -0
- package/web-ui/logic.claude.mjs +8 -0
- package/web-ui/modules/app.computed.session.mjs +210 -0
- package/web-ui/modules/app.methods.claude-config.mjs +196 -13
- package/web-ui/modules/app.methods.codex-config.mjs +294 -65
- package/web-ui/modules/app.methods.index.mjs +4 -0
- package/web-ui/modules/app.methods.navigation.mjs +7 -1
- package/web-ui/modules/app.methods.provider-cache.mjs +223 -0
- package/web-ui/modules/app.methods.providers.mjs +15 -1
- package/web-ui/modules/app.methods.runtime.mjs +7 -2
- package/web-ui/modules/app.methods.session-actions.mjs +36 -0
- package/web-ui/modules/app.methods.session-browser.mjs +3 -0
- package/web-ui/modules/app.methods.session-trash.mjs +3 -0
- package/web-ui/modules/app.methods.startup-claude.mjs +47 -4
- package/web-ui/modules/app.methods.web-ui-preferences.mjs +161 -0
- package/web-ui/modules/i18n/locales/en.mjs +106 -3
- package/web-ui/modules/i18n/locales/ja.mjs +103 -3
- package/web-ui/modules/i18n/locales/vi.mjs +950 -0
- package/web-ui/modules/i18n/locales/zh-tw.mjs +103 -3
- package/web-ui/modules/i18n/locales/zh.mjs +103 -3
- package/web-ui/modules/provider-default-names.mjs +25 -0
- package/web-ui/partials/index/layout-header.html +18 -5
- package/web-ui/partials/index/modal-health-check.html +69 -5
- package/web-ui/partials/index/modals-basic.html +182 -0
- package/web-ui/partials/index/panel-config-codex.html +2 -2
- package/web-ui/partials/index/panel-sessions.html +99 -19
- package/web-ui/partials/index/panel-settings.html +20 -0
- package/web-ui/res/web-ui-render.precompiled.js +742 -113
- package/web-ui/session-helpers.mjs +4 -1
- package/web-ui/styles/layout-shell.css +51 -1
- package/web-ui/styles/responsive.css +98 -0
- package/web-ui/styles/sessions-preview.css +212 -2
- package/web-ui/styles/sessions-toolbar-trash.css +61 -18
- package/web-ui/styles/settings-panel.css +398 -0
- package/web-ui/styles/skills-list.css +122 -0
- package/web-ui/styles/titles-cards.css +52 -0
|
@@ -518,12 +518,36 @@ return function render(_ctx, _cache) {
|
|
|
518
518
|
])
|
|
519
519
|
]),
|
|
520
520
|
_createElementVNode("div", { class: "side-rail-lang" }, [
|
|
521
|
-
_createElementVNode("
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
521
|
+
_createElementVNode("div", { class: "side-rail-lang-actions" }, [
|
|
522
|
+
_createElementVNode("button", {
|
|
523
|
+
type: "button",
|
|
524
|
+
class: "language-settings-link",
|
|
525
|
+
"aria-label": _ctx.t('settings.language.sideLabel', { language: _ctx.currentLanguageLabel() }),
|
|
526
|
+
onClick: _ctx.openLanguageSettings
|
|
527
|
+
}, _toDisplayString(_ctx.t('settings.language.sideLabel', { language: _ctx.currentLanguageLabel() })), 9 /* TEXT, PROPS */, ["aria-label", "onClick"]),
|
|
528
|
+
_createElementVNode("button", {
|
|
529
|
+
type: "button",
|
|
530
|
+
class: "side-announcement-button",
|
|
531
|
+
"aria-label": _ctx.t('announcement.providerCache.open'),
|
|
532
|
+
title: _ctx.t('announcement.providerCache.open'),
|
|
533
|
+
onClick: _ctx.openProviderCacheAnnouncementModal
|
|
534
|
+
}, [
|
|
535
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
536
|
+
viewBox: "0 0 20 20",
|
|
537
|
+
fill: "none",
|
|
538
|
+
stroke: "currentColor",
|
|
539
|
+
"stroke-width": "1.7",
|
|
540
|
+
"stroke-linecap": "round",
|
|
541
|
+
"stroke-linejoin": "round",
|
|
542
|
+
width: "16",
|
|
543
|
+
height: "16",
|
|
544
|
+
"aria-hidden": "true"
|
|
545
|
+
}, [
|
|
546
|
+
_createElementVNode("path", { d: "M15 8.5a5 5 0 0 0-10 0c0 2.75-1 4.25-2 5.5h14c-1-1.25-2-2.75-2-5.5Z" }),
|
|
547
|
+
_createElementVNode("path", { d: "M8 16a2 2 0 0 0 4 0" })
|
|
548
|
+
]))
|
|
549
|
+
], 8 /* PROPS */, ["aria-label", "title", "onClick"])
|
|
550
|
+
])
|
|
527
551
|
])
|
|
528
552
|
]))
|
|
529
553
|
: _createCommentVNode("v-if", true),
|
|
@@ -1091,7 +1115,7 @@ return function render(_ctx, _cache) {
|
|
|
1091
1115
|
? (_openBlock(), _createElementBlock("button", {
|
|
1092
1116
|
key: 0,
|
|
1093
1117
|
class: "btn-add",
|
|
1094
|
-
onClick:
|
|
1118
|
+
onClick: _ctx.openAddProviderModal,
|
|
1095
1119
|
disabled: !_ctx.isToolConfigWriteAllowed('codex')
|
|
1096
1120
|
}, [
|
|
1097
1121
|
(_openBlock(), _createElementBlock("svg", {
|
|
@@ -1349,7 +1373,7 @@ return function render(_ctx, _cache) {
|
|
|
1349
1373
|
onClick: _ctx.runHealthCheck,
|
|
1350
1374
|
disabled: _ctx.healthCheckLoading || _ctx.loading || !!_ctx.initError
|
|
1351
1375
|
}, _toDisplayString(_ctx.healthCheckLoading ? _ctx.t('config.health.running') : _ctx.t('config.health.run')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
1352
|
-
_createElementVNode("div", { class: "config-template-hint" }, _toDisplayString(_ctx.t('config.health.
|
|
1376
|
+
_createElementVNode("div", { class: "config-template-hint" }, _toDisplayString(_ctx.t('config.health.codexHint')), 1 /* TEXT */)
|
|
1353
1377
|
])
|
|
1354
1378
|
], 64 /* STABLE_FRAGMENT */))
|
|
1355
1379
|
: _createCommentVNode("v-if", true),
|
|
@@ -2725,7 +2749,7 @@ return function render(_ctx, _cache) {
|
|
|
2725
2749
|
]))
|
|
2726
2750
|
]))
|
|
2727
2751
|
: (_openBlock(), _createElementBlock("div", { key: 1 }, [
|
|
2728
|
-
_createElementVNode("div", { class: "selector-section" }, [
|
|
2752
|
+
_createElementVNode("div", { class: "selector-section session-selector-section" }, [
|
|
2729
2753
|
_createElementVNode("div", {
|
|
2730
2754
|
class: "selector-header",
|
|
2731
2755
|
style: {"display":"none"}
|
|
@@ -2733,29 +2757,30 @@ return function render(_ctx, _cache) {
|
|
|
2733
2757
|
_createElementVNode("span", { class: "selector-title" }, _toDisplayString(_ctx.t('sessions.sourceTitle')), 1 /* TEXT */),
|
|
2734
2758
|
_createElementVNode("div", { class: "selector-actions sessions-header-actions" })
|
|
2735
2759
|
]),
|
|
2760
|
+
_createElementVNode("div", { class: "session-source-tabs-row" }, [
|
|
2761
|
+
_createElementVNode("div", {
|
|
2762
|
+
class: "session-source-pills",
|
|
2763
|
+
role: "group",
|
|
2764
|
+
"aria-label": _ctx.t('sessions.sourceTitle')
|
|
2765
|
+
}, [
|
|
2766
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sessionSourceOptions, (src) => {
|
|
2767
|
+
return (_openBlock(), _createElementBlock("button", {
|
|
2768
|
+
key: src.value,
|
|
2769
|
+
class: _normalizeClass(['session-source-pill', { active: _ctx.sessionFilterSource === src.value }]),
|
|
2770
|
+
"data-source": src.value,
|
|
2771
|
+
onClick: $event => (_ctx.setSessionSource(src.value)),
|
|
2772
|
+
disabled: _ctx.sessionsLoading,
|
|
2773
|
+
"aria-pressed": _ctx.sessionFilterSource === src.value,
|
|
2774
|
+
type: "button"
|
|
2775
|
+
}, [
|
|
2776
|
+
_createElementVNode("span", { class: "session-source-pill-dot" }),
|
|
2777
|
+
_createElementVNode("span", { class: "session-source-pill-label" }, _toDisplayString(src.label), 1 /* TEXT */)
|
|
2778
|
+
], 10 /* CLASS, PROPS */, ["data-source", "onClick", "disabled", "aria-pressed"]))
|
|
2779
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
2780
|
+
], 8 /* PROPS */, ["aria-label"])
|
|
2781
|
+
]),
|
|
2736
2782
|
_createElementVNode("div", { class: "session-toolbar" }, [
|
|
2737
2783
|
_createElementVNode("div", { class: "session-toolbar-group session-toolbar-primary" }, [
|
|
2738
|
-
_createElementVNode("div", {
|
|
2739
|
-
class: "session-source-pills",
|
|
2740
|
-
role: "radiogroup",
|
|
2741
|
-
"aria-label": "Session source"
|
|
2742
|
-
}, [
|
|
2743
|
-
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sessionSourceOptions, (src) => {
|
|
2744
|
-
return (_openBlock(), _createElementBlock("button", {
|
|
2745
|
-
key: src.value,
|
|
2746
|
-
class: _normalizeClass(['session-source-pill', { active: _ctx.sessionFilterSource === src.value }]),
|
|
2747
|
-
"data-source": src.value,
|
|
2748
|
-
onClick: $event => (_ctx.setSessionSource(src.value)),
|
|
2749
|
-
disabled: _ctx.sessionsLoading,
|
|
2750
|
-
"aria-pressed": _ctx.sessionFilterSource === src.value,
|
|
2751
|
-
role: "radio",
|
|
2752
|
-
type: "button"
|
|
2753
|
-
}, [
|
|
2754
|
-
_createElementVNode("span", { class: "session-source-pill-dot" }),
|
|
2755
|
-
_createElementVNode("span", { class: "session-source-pill-label" }, _toDisplayString(src.label), 1 /* TEXT */)
|
|
2756
|
-
], 10 /* CLASS, PROPS */, ["data-source", "onClick", "disabled", "aria-pressed"]))
|
|
2757
|
-
}), 128 /* KEYED_FRAGMENT */))
|
|
2758
|
-
]),
|
|
2759
2784
|
_withDirectives(_createElementVNode("select", {
|
|
2760
2785
|
class: "session-path-select",
|
|
2761
2786
|
"onUpdate:modelValue": $event => ((_ctx.sessionPathFilter) = $event),
|
|
@@ -2891,12 +2916,12 @@ return function render(_ctx, _cache) {
|
|
|
2891
2916
|
], 8 /* PROPS */, ["aria-label"]))
|
|
2892
2917
|
: _createCommentVNode("v-if", true)
|
|
2893
2918
|
]),
|
|
2894
|
-
(_ctx.sessionsLoading)
|
|
2919
|
+
(_ctx.sessionsLoading && _ctx.sessionsList.length === 0)
|
|
2895
2920
|
? (_openBlock(), _createElementBlock("div", {
|
|
2896
2921
|
key: 0,
|
|
2897
2922
|
class: "state-message"
|
|
2898
2923
|
}, _toDisplayString(_ctx.t('sessions.loadingList')), 1 /* TEXT */))
|
|
2899
|
-
: (_ctx.sessionsList.length === 0)
|
|
2924
|
+
: (!_ctx.sessionsLoading && _ctx.sessionsList.length === 0)
|
|
2900
2925
|
? (_openBlock(), _createElementBlock("div", {
|
|
2901
2926
|
key: 1,
|
|
2902
2927
|
class: "session-empty"
|
|
@@ -3149,6 +3174,27 @@ return function render(_ctx, _cache) {
|
|
|
3149
3174
|
_createElementVNode("path", { d: "M2.5 12v1.5a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1V12" })
|
|
3150
3175
|
]))
|
|
3151
3176
|
], 8 /* PROPS */, ["onClick", "disabled", "title", "aria-label"]),
|
|
3177
|
+
_createElementVNode("button", {
|
|
3178
|
+
class: "btn-session-open session-brief-copy",
|
|
3179
|
+
onClick: _ctx.copySessionWorkspaceBrief,
|
|
3180
|
+
disabled: !_ctx.activeSessionWorkspaceSummary.available,
|
|
3181
|
+
title: _ctx.t('sessions.workspace.copy'),
|
|
3182
|
+
"aria-label": _ctx.t('sessions.workspace.copy')
|
|
3183
|
+
}, [
|
|
3184
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
3185
|
+
viewBox: "0 0 16 16",
|
|
3186
|
+
fill: "none",
|
|
3187
|
+
stroke: "currentColor",
|
|
3188
|
+
"stroke-width": "1.8",
|
|
3189
|
+
"stroke-linecap": "round",
|
|
3190
|
+
"stroke-linejoin": "round"
|
|
3191
|
+
}, [
|
|
3192
|
+
_createElementVNode("path", { d: "M4 2.5h6.5L13 5v8.5H4z" }),
|
|
3193
|
+
_createElementVNode("path", { d: "M10.5 2.5V5H13" }),
|
|
3194
|
+
_createElementVNode("path", { d: "M6 8h5" }),
|
|
3195
|
+
_createElementVNode("path", { d: "M6 10.5h5" })
|
|
3196
|
+
]))
|
|
3197
|
+
], 8 /* PROPS */, ["onClick", "disabled", "title", "aria-label"]),
|
|
3152
3198
|
_createElementVNode("div", { class: "session-link-group" }, [
|
|
3153
3199
|
_createElementVNode("button", {
|
|
3154
3200
|
class: "btn-session-open",
|
|
@@ -3246,6 +3292,140 @@ return function render(_ctx, _cache) {
|
|
|
3246
3292
|
key: 5,
|
|
3247
3293
|
class: "session-preview-body"
|
|
3248
3294
|
}, [
|
|
3295
|
+
(_ctx.activeSessionWorkspaceSummary.available)
|
|
3296
|
+
? (_openBlock(), _createElementBlock("section", {
|
|
3297
|
+
key: 0,
|
|
3298
|
+
class: "session-workspace",
|
|
3299
|
+
"aria-label": _ctx.t('sessions.workspace.title')
|
|
3300
|
+
}, [
|
|
3301
|
+
_createElementVNode("div", { class: "session-workspace-header" }, [
|
|
3302
|
+
_createElementVNode("div", null, [
|
|
3303
|
+
_createElementVNode("div", { class: "session-workspace-kicker" }, _toDisplayString(_ctx.t('sessions.workspace.kicker')), 1 /* TEXT */),
|
|
3304
|
+
_createElementVNode("h3", { class: "session-workspace-title" }, _toDisplayString(_ctx.t('sessions.workspace.title')), 1 /* TEXT */),
|
|
3305
|
+
_createElementVNode("p", { class: "session-workspace-subtitle" }, _toDisplayString(_ctx.t('sessions.workspace.subtitle', { count: _ctx.activeSessionWorkspaceSummary.messageCount })), 1 /* TEXT */)
|
|
3306
|
+
]),
|
|
3307
|
+
_createElementVNode("button", {
|
|
3308
|
+
class: "btn-mini",
|
|
3309
|
+
type: "button",
|
|
3310
|
+
onClick: _ctx.copySessionWorkspaceBrief
|
|
3311
|
+
}, _toDisplayString(_ctx.t('sessions.workspace.copy')), 9 /* TEXT, PROPS */, ["onClick"])
|
|
3312
|
+
]),
|
|
3313
|
+
_createElementVNode("div", { class: "session-workspace-metrics" }, [
|
|
3314
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.activeSessionWorkspaceSummary.metrics, (metric) => {
|
|
3315
|
+
return (_openBlock(), _createElementBlock("div", {
|
|
3316
|
+
key: metric.key,
|
|
3317
|
+
class: "session-workspace-metric"
|
|
3318
|
+
}, [
|
|
3319
|
+
_createElementVNode("span", { class: "session-workspace-metric-value" }, _toDisplayString(metric.value), 1 /* TEXT */),
|
|
3320
|
+
_createElementVNode("span", { class: "session-workspace-metric-label" }, _toDisplayString(metric.label), 1 /* TEXT */)
|
|
3321
|
+
]))
|
|
3322
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
3323
|
+
]),
|
|
3324
|
+
_createElementVNode("div", { class: "session-workspace-grid" }, [
|
|
3325
|
+
_createElementVNode("div", { class: "session-workspace-card session-workspace-card-wide" }, [
|
|
3326
|
+
_createElementVNode("div", { class: "session-workspace-card-title" }, _toDisplayString(_ctx.t('sessions.workspace.signals')), 1 /* TEXT */),
|
|
3327
|
+
(_ctx.activeSessionWorkspaceSummary.signals.length)
|
|
3328
|
+
? (_openBlock(), _createElementBlock("ul", {
|
|
3329
|
+
key: 0,
|
|
3330
|
+
class: "session-workspace-list"
|
|
3331
|
+
}, [
|
|
3332
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.activeSessionWorkspaceSummary.signals, (item, index) => {
|
|
3333
|
+
return (_openBlock(), _createElementBlock("li", {
|
|
3334
|
+
key: 'signal-' + index
|
|
3335
|
+
}, _toDisplayString(item), 1 /* TEXT */))
|
|
3336
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
3337
|
+
]))
|
|
3338
|
+
: (_openBlock(), _createElementBlock("div", {
|
|
3339
|
+
key: 1,
|
|
3340
|
+
class: "session-workspace-empty"
|
|
3341
|
+
}, _toDisplayString(_ctx.t('sessions.workspace.empty')), 1 /* TEXT */))
|
|
3342
|
+
]),
|
|
3343
|
+
_createElementVNode("div", { class: "session-workspace-card" }, [
|
|
3344
|
+
_createElementVNode("div", { class: "session-workspace-card-title" }, _toDisplayString(_ctx.t('sessions.workspace.commands')), 1 /* TEXT */),
|
|
3345
|
+
(_ctx.activeSessionWorkspaceSummary.commands.length)
|
|
3346
|
+
? (_openBlock(), _createElementBlock("ul", {
|
|
3347
|
+
key: 0,
|
|
3348
|
+
class: "session-workspace-list session-workspace-code-list"
|
|
3349
|
+
}, [
|
|
3350
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.activeSessionWorkspaceSummary.commands, (item, index) => {
|
|
3351
|
+
return (_openBlock(), _createElementBlock("li", {
|
|
3352
|
+
key: 'command-' + index
|
|
3353
|
+
}, [
|
|
3354
|
+
_createElementVNode("code", null, _toDisplayString(item), 1 /* TEXT */)
|
|
3355
|
+
]))
|
|
3356
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
3357
|
+
]))
|
|
3358
|
+
: (_openBlock(), _createElementBlock("div", {
|
|
3359
|
+
key: 1,
|
|
3360
|
+
class: "session-workspace-empty"
|
|
3361
|
+
}, _toDisplayString(_ctx.t('sessions.workspace.noneCommands')), 1 /* TEXT */))
|
|
3362
|
+
]),
|
|
3363
|
+
_createElementVNode("div", { class: "session-workspace-card" }, [
|
|
3364
|
+
_createElementVNode("div", { class: "session-workspace-card-title" }, _toDisplayString(_ctx.t('sessions.workspace.files')), 1 /* TEXT */),
|
|
3365
|
+
(_ctx.activeSessionWorkspaceSummary.files.length)
|
|
3366
|
+
? (_openBlock(), _createElementBlock("ul", {
|
|
3367
|
+
key: 0,
|
|
3368
|
+
class: "session-workspace-list session-workspace-code-list"
|
|
3369
|
+
}, [
|
|
3370
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.activeSessionWorkspaceSummary.files, (item, index) => {
|
|
3371
|
+
return (_openBlock(), _createElementBlock("li", {
|
|
3372
|
+
key: 'file-' + index
|
|
3373
|
+
}, [
|
|
3374
|
+
_createElementVNode("code", null, _toDisplayString(item), 1 /* TEXT */)
|
|
3375
|
+
]))
|
|
3376
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
3377
|
+
]))
|
|
3378
|
+
: (_openBlock(), _createElementBlock("div", {
|
|
3379
|
+
key: 1,
|
|
3380
|
+
class: "session-workspace-empty"
|
|
3381
|
+
}, _toDisplayString(_ctx.t('sessions.workspace.noneFiles')), 1 /* TEXT */))
|
|
3382
|
+
]),
|
|
3383
|
+
_createElementVNode("div", { class: "session-workspace-card" }, [
|
|
3384
|
+
_createElementVNode("div", { class: "session-workspace-card-title" }, _toDisplayString(_ctx.t('sessions.workspace.links')), 1 /* TEXT */),
|
|
3385
|
+
(_ctx.activeSessionWorkspaceSummary.links.length)
|
|
3386
|
+
? (_openBlock(), _createElementBlock("ul", {
|
|
3387
|
+
key: 0,
|
|
3388
|
+
class: "session-workspace-list"
|
|
3389
|
+
}, [
|
|
3390
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.activeSessionWorkspaceSummary.links, (item, index) => {
|
|
3391
|
+
return (_openBlock(), _createElementBlock("li", {
|
|
3392
|
+
key: 'link-' + index
|
|
3393
|
+
}, _toDisplayString(item), 1 /* TEXT */))
|
|
3394
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
3395
|
+
]))
|
|
3396
|
+
: (_openBlock(), _createElementBlock("div", {
|
|
3397
|
+
key: 1,
|
|
3398
|
+
class: "session-workspace-empty"
|
|
3399
|
+
}, _toDisplayString(_ctx.t('sessions.workspace.noneLinks')), 1 /* TEXT */))
|
|
3400
|
+
]),
|
|
3401
|
+
_createElementVNode("div", {
|
|
3402
|
+
class: _normalizeClass(["session-workspace-card", { 'session-workspace-card-alert': _ctx.activeSessionWorkspaceSummary.risks.length || _ctx.activeSessionWorkspaceSummary.nextSteps.length }])
|
|
3403
|
+
}, [
|
|
3404
|
+
_createElementVNode("div", { class: "session-workspace-card-title" }, _toDisplayString(_ctx.t('sessions.workspace.risks')), 1 /* TEXT */),
|
|
3405
|
+
(_ctx.activeSessionWorkspaceSummary.risks.length || _ctx.activeSessionWorkspaceSummary.nextSteps.length)
|
|
3406
|
+
? (_openBlock(), _createElementBlock("ul", {
|
|
3407
|
+
key: 0,
|
|
3408
|
+
class: "session-workspace-list"
|
|
3409
|
+
}, [
|
|
3410
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.activeSessionWorkspaceSummary.risks, (item, index) => {
|
|
3411
|
+
return (_openBlock(), _createElementBlock("li", {
|
|
3412
|
+
key: 'risk-' + index
|
|
3413
|
+
}, _toDisplayString(item), 1 /* TEXT */))
|
|
3414
|
+
}), 128 /* KEYED_FRAGMENT */)),
|
|
3415
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.activeSessionWorkspaceSummary.nextSteps, (item, index) => {
|
|
3416
|
+
return (_openBlock(), _createElementBlock("li", {
|
|
3417
|
+
key: 'next-' + index
|
|
3418
|
+
}, _toDisplayString(item), 1 /* TEXT */))
|
|
3419
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
3420
|
+
]))
|
|
3421
|
+
: (_openBlock(), _createElementBlock("div", {
|
|
3422
|
+
key: 1,
|
|
3423
|
+
class: "session-workspace-empty"
|
|
3424
|
+
}, _toDisplayString(_ctx.t('sessions.workspace.noneRisks')), 1 /* TEXT */))
|
|
3425
|
+
], 2 /* CLASS */)
|
|
3426
|
+
])
|
|
3427
|
+
], 8 /* PROPS */, ["aria-label"]))
|
|
3428
|
+
: _createCommentVNode("v-if", true),
|
|
3249
3429
|
_createElementVNode("div", { class: "session-preview-messages" }, [
|
|
3250
3430
|
(_ctx.activeSessionDetailClipped)
|
|
3251
3431
|
? (_openBlock(), _createElementBlock("div", {
|
|
@@ -3253,7 +3433,7 @@ return function render(_ctx, _cache) {
|
|
|
3253
3433
|
class: "session-item-sub session-item-wrap"
|
|
3254
3434
|
}, _toDisplayString(_ctx.t('sessions.preview.clipped', { count: _ctx.activeSessionMessages.length })), 1 /* TEXT */))
|
|
3255
3435
|
: _createCommentVNode("v-if", true),
|
|
3256
|
-
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.
|
|
3436
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.activeSessionVisibleMessages, (msg, idx, ___, _cached) => {
|
|
3257
3437
|
const _memo = ([msg.text, msg.timestamp, msg.roleLabel, msg.normalizedRole])
|
|
3258
3438
|
if (_cached && _cached.key === _ctx.getRecordRenderKey(msg, idx) && _isMemoSame(_cached, _memo)) return _cached
|
|
3259
3439
|
const _item = (_openBlock(), _createElementBlock("div", {
|
|
@@ -3276,7 +3456,21 @@ return function render(_ctx, _cache) {
|
|
|
3276
3456
|
], 10 /* CLASS, PROPS */, ["data-message-key"]))
|
|
3277
3457
|
_item.memo = _memo
|
|
3278
3458
|
return _item
|
|
3279
|
-
}, _cache, 2), 128 /* KEYED_FRAGMENT */))
|
|
3459
|
+
}, _cache, 2), 128 /* KEYED_FRAGMENT */)),
|
|
3460
|
+
(_ctx.canLoadMoreSessionMessages)
|
|
3461
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
3462
|
+
key: 1,
|
|
3463
|
+
class: "session-preview-load-more"
|
|
3464
|
+
}, [
|
|
3465
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('sessions.preview.shownCount', { shown: _ctx.activeSessionVisibleMessages.length, total: _ctx.activeSessionMessages.length })), 1 /* TEXT */),
|
|
3466
|
+
_createElementVNode("button", {
|
|
3467
|
+
class: "btn-mini",
|
|
3468
|
+
type: "button",
|
|
3469
|
+
onClick: _ctx.loadMoreSessionMessages,
|
|
3470
|
+
disabled: _ctx.sessionPreviewLoadingMore
|
|
3471
|
+
}, _toDisplayString(_ctx.sessionPreviewLoadingMore ? _ctx.t('sessions.preview.loadingMore') : _ctx.t('sessions.preview.loadMore', { remain: _ctx.sessionPreviewRemainingCount })), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
3472
|
+
]))
|
|
3473
|
+
: _createCommentVNode("v-if", true)
|
|
3280
3474
|
])
|
|
3281
3475
|
]))
|
|
3282
3476
|
], 40 /* PROPS, NEED_HYDRATION */, ["onScroll"]),
|
|
@@ -4913,6 +5107,42 @@ return function render(_ctx, _cache) {
|
|
|
4913
5107
|
onChange: _ctx.handleCodexImportChange
|
|
4914
5108
|
}, null, 40 /* PROPS, NEED_HYDRATION */, ["onChange"])
|
|
4915
5109
|
], 8 /* PROPS */, ["aria-label"]),
|
|
5110
|
+
_createElementVNode("section", {
|
|
5111
|
+
class: "settings-card",
|
|
5112
|
+
"aria-label": _ctx.t('settings.providerCache.title')
|
|
5113
|
+
}, [
|
|
5114
|
+
_createElementVNode("div", { class: "settings-card-main" }, [
|
|
5115
|
+
_createElementVNode("div", { class: "settings-card-content" }, [
|
|
5116
|
+
_createElementVNode("div", { class: "settings-card-title" }, _toDisplayString(_ctx.t('settings.providerCache.title')), 1 /* TEXT */),
|
|
5117
|
+
_createElementVNode("p", { class: "settings-card-desc" }, _toDisplayString(_ctx.t('settings.providerCache.meta')), 1 /* TEXT */),
|
|
5118
|
+
_createElementVNode("p", { class: "settings-card-hint" }, _toDisplayString(_ctx.t('settings.providerCache.hint')), 1 /* TEXT */),
|
|
5119
|
+
(_ctx.providerCacheSyncMessage)
|
|
5120
|
+
? (_openBlock(), _createElementBlock("p", {
|
|
5121
|
+
key: 0,
|
|
5122
|
+
class: "settings-card-hint provider-cache-sync-message"
|
|
5123
|
+
}, _toDisplayString(_ctx.providerCacheSyncMessage), 1 /* TEXT */))
|
|
5124
|
+
: _createCommentVNode("v-if", true),
|
|
5125
|
+
(_ctx.providerCacheError)
|
|
5126
|
+
? (_openBlock(), _createElementBlock("p", {
|
|
5127
|
+
key: 1,
|
|
5128
|
+
class: "settings-card-hint form-error"
|
|
5129
|
+
}, _toDisplayString(_ctx.providerCacheError), 1 /* TEXT */))
|
|
5130
|
+
: _createCommentVNode("v-if", true)
|
|
5131
|
+
])
|
|
5132
|
+
]),
|
|
5133
|
+
_createElementVNode("div", { class: "settings-card-actions" }, [
|
|
5134
|
+
_createElementVNode("button", {
|
|
5135
|
+
class: "settings-card-action",
|
|
5136
|
+
onClick: $event => (_ctx.openProviderCacheModal({ forceRefresh: true })),
|
|
5137
|
+
disabled: _ctx.providerCacheLoading || _ctx.providerCacheSyncing
|
|
5138
|
+
}, _toDisplayString(_ctx.providerCacheLoading ? _ctx.t('settings.providerCache.loading') : _ctx.t('settings.providerCache.open')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
5139
|
+
_createElementVNode("button", {
|
|
5140
|
+
class: "settings-card-action",
|
|
5141
|
+
onClick: _ctx.syncProviderCacheRecords,
|
|
5142
|
+
disabled: _ctx.providerCacheLoading || _ctx.providerCacheSyncing
|
|
5143
|
+
}, _toDisplayString(_ctx.providerCacheSyncing ? _ctx.t('settings.providerCache.syncing') : _ctx.t('settings.providerCache.sync')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
5144
|
+
])
|
|
5145
|
+
], 8 /* PROPS */, ["aria-label"]),
|
|
4916
5146
|
_createElementVNode("section", {
|
|
4917
5147
|
class: "settings-card",
|
|
4918
5148
|
"aria-label": _ctx.t('settings.trashConfig.title')
|
|
@@ -6633,10 +6863,327 @@ return function render(_ctx, _cache) {
|
|
|
6633
6863
|
])
|
|
6634
6864
|
], 8 /* PROPS */, ["onClick"]))
|
|
6635
6865
|
: _createCommentVNode("v-if", true),
|
|
6866
|
+
_createCommentVNode(" 项目功能公告模态框 "),
|
|
6867
|
+
(_ctx.showProviderCacheAnnouncementModal)
|
|
6868
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6869
|
+
key: 7,
|
|
6870
|
+
class: "modal-overlay project-announcement-overlay",
|
|
6871
|
+
onClick: _withModifiers(_ctx.closeProviderCacheAnnouncementModal, ["self"])
|
|
6872
|
+
}, [
|
|
6873
|
+
_createElementVNode("div", {
|
|
6874
|
+
class: "modal provider-cache-announcement-modal project-announcement-modal",
|
|
6875
|
+
role: "dialog",
|
|
6876
|
+
"aria-modal": "true",
|
|
6877
|
+
"aria-labelledby": "provider-cache-announcement-title"
|
|
6878
|
+
}, [
|
|
6879
|
+
_createElementVNode("button", {
|
|
6880
|
+
type: "button",
|
|
6881
|
+
class: "project-announcement-close",
|
|
6882
|
+
"aria-label": _ctx.t('announcement.project.closeAria'),
|
|
6883
|
+
onClick: _ctx.closeProviderCacheAnnouncementModal
|
|
6884
|
+
}, "×", 8 /* PROPS */, ["aria-label", "onClick"]),
|
|
6885
|
+
_createElementVNode("div", { class: "project-announcement-header" }, [
|
|
6886
|
+
_createElementVNode("div", { class: "project-announcement-eyebrow" }, _toDisplayString(_ctx.t('announcement.project.eyebrow')), 1 /* TEXT */),
|
|
6887
|
+
_createElementVNode("div", {
|
|
6888
|
+
class: "modal-title project-announcement-title",
|
|
6889
|
+
id: "provider-cache-announcement-title"
|
|
6890
|
+
}, _toDisplayString(_ctx.t('announcement.project.title')), 1 /* TEXT */),
|
|
6891
|
+
_createElementVNode("p", { class: "provider-cache-announcement-copy provider-cache-announcement-lede" }, _toDisplayString(_ctx.t('announcement.project.subtitle')), 1 /* TEXT */)
|
|
6892
|
+
]),
|
|
6893
|
+
_createElementVNode("div", {
|
|
6894
|
+
class: "project-announcement-feature-grid",
|
|
6895
|
+
"aria-label": _ctx.t('announcement.project.features.aria')
|
|
6896
|
+
}, [
|
|
6897
|
+
_createElementVNode("article", { class: "project-announcement-feature-card" }, [
|
|
6898
|
+
_createElementVNode("div", { class: "project-announcement-feature-title" }, _toDisplayString(_ctx.t('announcement.project.feature.config.title')), 1 /* TEXT */),
|
|
6899
|
+
_createElementVNode("div", { class: "project-announcement-feature-meta" }, _toDisplayString(_ctx.t('announcement.project.feature.config.meta')), 1 /* TEXT */)
|
|
6900
|
+
]),
|
|
6901
|
+
_createElementVNode("article", { class: "project-announcement-feature-card" }, [
|
|
6902
|
+
_createElementVNode("div", { class: "project-announcement-feature-title" }, _toDisplayString(_ctx.t('announcement.project.feature.sessions.title')), 1 /* TEXT */),
|
|
6903
|
+
_createElementVNode("div", { class: "project-announcement-feature-meta" }, _toDisplayString(_ctx.t('announcement.project.feature.sessions.meta')), 1 /* TEXT */)
|
|
6904
|
+
]),
|
|
6905
|
+
_createElementVNode("article", { class: "project-announcement-feature-card" }, [
|
|
6906
|
+
_createElementVNode("div", { class: "project-announcement-feature-title" }, _toDisplayString(_ctx.t('announcement.project.feature.usage.title')), 1 /* TEXT */),
|
|
6907
|
+
_createElementVNode("div", { class: "project-announcement-feature-meta" }, _toDisplayString(_ctx.t('announcement.project.feature.usage.meta')), 1 /* TEXT */)
|
|
6908
|
+
]),
|
|
6909
|
+
_createElementVNode("article", { class: "project-announcement-feature-card" }, [
|
|
6910
|
+
_createElementVNode("div", { class: "project-announcement-feature-title" }, _toDisplayString(_ctx.t('announcement.project.feature.tasks.title')), 1 /* TEXT */),
|
|
6911
|
+
_createElementVNode("div", { class: "project-announcement-feature-meta" }, _toDisplayString(_ctx.t('announcement.project.feature.tasks.meta')), 1 /* TEXT */)
|
|
6912
|
+
]),
|
|
6913
|
+
_createElementVNode("article", { class: "project-announcement-feature-card" }, [
|
|
6914
|
+
_createElementVNode("div", { class: "project-announcement-feature-title" }, _toDisplayString(_ctx.t('announcement.project.feature.skills.title')), 1 /* TEXT */),
|
|
6915
|
+
_createElementVNode("div", { class: "project-announcement-feature-meta" }, _toDisplayString(_ctx.t('announcement.project.feature.skills.meta')), 1 /* TEXT */)
|
|
6916
|
+
]),
|
|
6917
|
+
_createElementVNode("article", { class: "project-announcement-feature-card" }, [
|
|
6918
|
+
_createElementVNode("div", { class: "project-announcement-feature-title" }, _toDisplayString(_ctx.t('announcement.project.feature.data.title')), 1 /* TEXT */),
|
|
6919
|
+
_createElementVNode("div", { class: "project-announcement-feature-meta" }, _toDisplayString(_ctx.t('announcement.project.feature.data.meta')), 1 /* TEXT */)
|
|
6920
|
+
])
|
|
6921
|
+
], 8 /* PROPS */, ["aria-label"]),
|
|
6922
|
+
_createElementVNode("details", {
|
|
6923
|
+
class: "project-announcement-cache-section",
|
|
6924
|
+
"aria-labelledby": "project-announcement-cache-title"
|
|
6925
|
+
}, [
|
|
6926
|
+
_createElementVNode("summary", { class: "project-announcement-section-head" }, [
|
|
6927
|
+
_createElementVNode("span", null, [
|
|
6928
|
+
_createElementVNode("span", {
|
|
6929
|
+
class: "project-announcement-section-title",
|
|
6930
|
+
id: "project-announcement-cache-title"
|
|
6931
|
+
}, _toDisplayString(_ctx.t('announcement.project.cache.title')), 1 /* TEXT */),
|
|
6932
|
+
_createElementVNode("span", { class: "project-announcement-section-meta" }, _toDisplayString(_ctx.t('announcement.project.cache.meta')), 1 /* TEXT */)
|
|
6933
|
+
]),
|
|
6934
|
+
(_ctx.getProviderCacheAnnouncementSummary().loadedAt)
|
|
6935
|
+
? (_openBlock(), _createElementBlock("span", {
|
|
6936
|
+
key: 0,
|
|
6937
|
+
class: "provider-cache-loaded-at"
|
|
6938
|
+
}, _toDisplayString(_ctx.t('modal.providerCache.loadedAt')) + ": " + _toDisplayString(_ctx.getProviderCacheAnnouncementSummary().loadedAt), 1 /* TEXT */))
|
|
6939
|
+
: _createCommentVNode("v-if", true)
|
|
6940
|
+
]),
|
|
6941
|
+
(_ctx.providerCacheError)
|
|
6942
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6943
|
+
key: 0,
|
|
6944
|
+
class: "state-message error provider-cache-error"
|
|
6945
|
+
}, _toDisplayString(_ctx.providerCacheError), 1 /* TEXT */))
|
|
6946
|
+
: _createCommentVNode("v-if", true),
|
|
6947
|
+
(_ctx.providerCacheSyncMessage)
|
|
6948
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6949
|
+
key: 1,
|
|
6950
|
+
class: "state-message provider-cache-sync-message"
|
|
6951
|
+
}, _toDisplayString(_ctx.providerCacheSyncMessage), 1 /* TEXT */))
|
|
6952
|
+
: _createCommentVNode("v-if", true),
|
|
6953
|
+
(_ctx.providerCacheLoading && !_ctx.providerCacheLoadedOnce)
|
|
6954
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6955
|
+
key: 2,
|
|
6956
|
+
class: "state-message"
|
|
6957
|
+
}, _toDisplayString(_ctx.t('modal.providerCache.loading')), 1 /* TEXT */))
|
|
6958
|
+
: _createCommentVNode("v-if", true),
|
|
6959
|
+
_createElementVNode("div", { class: "provider-cache-announcement-body" }, [
|
|
6960
|
+
_createElementVNode("div", {
|
|
6961
|
+
class: "project-announcement-mini-status",
|
|
6962
|
+
"aria-label": _ctx.t('announcement.project.status.aria')
|
|
6963
|
+
}, [
|
|
6964
|
+
_createElementVNode("span", null, [
|
|
6965
|
+
_createTextVNode(_toDisplayString(_ctx.t('announcement.project.status.provider')) + ": ", 1 /* TEXT */),
|
|
6966
|
+
_createElementVNode("strong", null, _toDisplayString(_ctx.currentProvider || _ctx.t('common.notSelected')), 1 /* TEXT */)
|
|
6967
|
+
]),
|
|
6968
|
+
_createElementVNode("span", null, [
|
|
6969
|
+
_createTextVNode(_toDisplayString(_ctx.t('announcement.project.status.model')) + ": ", 1 /* TEXT */),
|
|
6970
|
+
_createElementVNode("strong", null, _toDisplayString(_ctx.currentModel || _ctx.t('common.notSelected')), 1 /* TEXT */)
|
|
6971
|
+
]),
|
|
6972
|
+
_createElementVNode("span", null, [
|
|
6973
|
+
_createTextVNode(_toDisplayString(_ctx.t('announcement.project.status.cacheFiles')) + ": ", 1 /* TEXT */),
|
|
6974
|
+
_createElementVNode("strong", null, _toDisplayString(_ctx.getProviderCacheAnnouncementSummary().fileCount), 1 /* TEXT */)
|
|
6975
|
+
])
|
|
6976
|
+
], 8 /* PROPS */, ["aria-label"]),
|
|
6977
|
+
_createElementVNode("div", { class: "provider-cache-summary-grid" }, [
|
|
6978
|
+
_createElementVNode("div", { class: "provider-cache-summary-card" }, [
|
|
6979
|
+
_createElementVNode("span", { class: "provider-cache-summary-label" }, _toDisplayString(_ctx.t('announcement.project.cache.files')), 1 /* TEXT */),
|
|
6980
|
+
_createElementVNode("strong", null, _toDisplayString(_ctx.getProviderCacheAnnouncementSummary().fileCount), 1 /* TEXT */)
|
|
6981
|
+
]),
|
|
6982
|
+
_createElementVNode("div", { class: "provider-cache-summary-card" }, [
|
|
6983
|
+
_createElementVNode("span", { class: "provider-cache-summary-label" }, _toDisplayString(_ctx.t('announcement.project.cache.providers')), 1 /* TEXT */),
|
|
6984
|
+
_createElementVNode("strong", null, _toDisplayString(_ctx.getProviderCacheAnnouncementSummary().providerCount), 1 /* TEXT */)
|
|
6985
|
+
]),
|
|
6986
|
+
_createElementVNode("div", { class: "provider-cache-summary-card" }, [
|
|
6987
|
+
_createElementVNode("span", { class: "provider-cache-summary-label" }, _toDisplayString(_ctx.t('announcement.project.cache.groups')), 1 /* TEXT */),
|
|
6988
|
+
_createElementVNode("strong", null, _toDisplayString(_ctx.getProviderCacheAnnouncementSummary().groupCount), 1 /* TEXT */)
|
|
6989
|
+
])
|
|
6990
|
+
]),
|
|
6991
|
+
_createElementVNode("div", {
|
|
6992
|
+
class: "provider-cache-announcement-list",
|
|
6993
|
+
"aria-label": _ctx.t('announcement.project.cache.groupList')
|
|
6994
|
+
}, [
|
|
6995
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.getProviderCacheAnnouncementGroups(), (group) => {
|
|
6996
|
+
return (_openBlock(), _createElementBlock("div", {
|
|
6997
|
+
key: group.key,
|
|
6998
|
+
class: "provider-cache-announcement-row"
|
|
6999
|
+
}, [
|
|
7000
|
+
_createElementVNode("span", null, _toDisplayString(group.label), 1 /* TEXT */),
|
|
7001
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('announcement.project.cache.groupSummary', { files: group.existingCount, providers: group.providerCount })), 1 /* TEXT */)
|
|
7002
|
+
]))
|
|
7003
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
7004
|
+
], 8 /* PROPS */, ["aria-label"]),
|
|
7005
|
+
_createElementVNode("div", { class: "project-announcement-cache-actions" }, [
|
|
7006
|
+
_createElementVNode("button", {
|
|
7007
|
+
type: "button",
|
|
7008
|
+
class: "btn-tool btn-tool-compact",
|
|
7009
|
+
onClick: _ctx.syncProviderCacheRecords,
|
|
7010
|
+
disabled: _ctx.providerCacheLoading || _ctx.providerCacheSyncing
|
|
7011
|
+
}, _toDisplayString(_ctx.providerCacheSyncing ? _ctx.t('modal.providerCache.syncing') : _ctx.t('announcement.project.cache.sync')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
7012
|
+
_createElementVNode("button", {
|
|
7013
|
+
type: "button",
|
|
7014
|
+
class: "btn-tool btn-tool-compact",
|
|
7015
|
+
onClick: _ctx.loadProviderCacheRecords,
|
|
7016
|
+
disabled: _ctx.providerCacheLoading
|
|
7017
|
+
}, _toDisplayString(_ctx.providerCacheLoading ? _ctx.t('modal.providerCache.refreshing') : _ctx.t('announcement.project.cache.refresh')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
7018
|
+
_createElementVNode("button", {
|
|
7019
|
+
type: "button",
|
|
7020
|
+
class: "btn-tool btn-tool-compact",
|
|
7021
|
+
onClick: _ctx.openProviderCacheDetailsFromAnnouncement
|
|
7022
|
+
}, _toDisplayString(_ctx.t('announcement.project.cache.details')), 9 /* TEXT, PROPS */, ["onClick"])
|
|
7023
|
+
])
|
|
7024
|
+
])
|
|
7025
|
+
]),
|
|
7026
|
+
_createElementVNode("div", { class: "btn-group provider-cache-footer project-announcement-footer" }, [
|
|
7027
|
+
_createElementVNode("button", {
|
|
7028
|
+
class: "btn btn-confirm",
|
|
7029
|
+
onClick: _ctx.closeProviderCacheAnnouncementModal
|
|
7030
|
+
}, _toDisplayString(_ctx.t('announcement.project.primaryAction')), 9 /* TEXT, PROPS */, ["onClick"])
|
|
7031
|
+
])
|
|
7032
|
+
])
|
|
7033
|
+
], 8 /* PROPS */, ["onClick"]))
|
|
7034
|
+
: _createCommentVNode("v-if", true),
|
|
7035
|
+
_createCommentVNode(" Provider 缓存记录模态框 "),
|
|
7036
|
+
(_ctx.showProviderCacheModal)
|
|
7037
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
7038
|
+
key: 8,
|
|
7039
|
+
class: "modal-overlay",
|
|
7040
|
+
onClick: _withModifiers(_ctx.closeProviderCacheModal, ["self"])
|
|
7041
|
+
}, [
|
|
7042
|
+
_createElementVNode("div", {
|
|
7043
|
+
class: "modal modal-wide provider-cache-modal",
|
|
7044
|
+
role: "dialog",
|
|
7045
|
+
"aria-modal": "true",
|
|
7046
|
+
"aria-labelledby": "provider-cache-modal-title"
|
|
7047
|
+
}, [
|
|
7048
|
+
_createElementVNode("div", {
|
|
7049
|
+
class: "modal-title",
|
|
7050
|
+
id: "provider-cache-modal-title"
|
|
7051
|
+
}, _toDisplayString(_ctx.t('modal.providerCache.title')), 1 /* TEXT */),
|
|
7052
|
+
_createElementVNode("div", { class: "form-hint provider-cache-root" }, _toDisplayString(_ctx.t('modal.providerCache.root')) + ": " + _toDisplayString((_ctx.providerCacheRecords && _ctx.providerCacheRecords.root) || '~/.codexmate'), 1 /* TEXT */),
|
|
7053
|
+
_createElementVNode("div", { class: "provider-cache-toolbar" }, [
|
|
7054
|
+
_createElementVNode("button", {
|
|
7055
|
+
type: "button",
|
|
7056
|
+
class: "btn-tool btn-tool-compact",
|
|
7057
|
+
onClick: _ctx.loadProviderCacheRecords,
|
|
7058
|
+
disabled: _ctx.providerCacheLoading
|
|
7059
|
+
}, _toDisplayString(_ctx.providerCacheLoading ? _ctx.t('modal.providerCache.refreshing') : _ctx.t('modal.providerCache.refresh')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
7060
|
+
_createElementVNode("button", {
|
|
7061
|
+
type: "button",
|
|
7062
|
+
class: "btn-tool btn-tool-compact",
|
|
7063
|
+
onClick: _ctx.syncProviderCacheRecords,
|
|
7064
|
+
disabled: _ctx.providerCacheLoading || _ctx.providerCacheSyncing
|
|
7065
|
+
}, _toDisplayString(_ctx.providerCacheSyncing ? _ctx.t('modal.providerCache.syncing') : _ctx.t('modal.providerCache.sync')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
7066
|
+
(_ctx.providerCacheLoadedAt)
|
|
7067
|
+
? (_openBlock(), _createElementBlock("span", {
|
|
7068
|
+
key: 0,
|
|
7069
|
+
class: "provider-cache-loaded-at"
|
|
7070
|
+
}, _toDisplayString(_ctx.t('modal.providerCache.loadedAt')) + ": " + _toDisplayString(_ctx.providerCacheLoadedAt), 1 /* TEXT */))
|
|
7071
|
+
: _createCommentVNode("v-if", true)
|
|
7072
|
+
]),
|
|
7073
|
+
(_ctx.providerCacheError)
|
|
7074
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
7075
|
+
key: 0,
|
|
7076
|
+
class: "state-message error provider-cache-error"
|
|
7077
|
+
}, _toDisplayString(_ctx.providerCacheError), 1 /* TEXT */))
|
|
7078
|
+
: _createCommentVNode("v-if", true),
|
|
7079
|
+
(_ctx.providerCacheSyncMessage)
|
|
7080
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
7081
|
+
key: 1,
|
|
7082
|
+
class: "state-message provider-cache-sync-message"
|
|
7083
|
+
}, _toDisplayString(_ctx.providerCacheSyncMessage), 1 /* TEXT */))
|
|
7084
|
+
: _createCommentVNode("v-if", true),
|
|
7085
|
+
(_ctx.providerCacheLoading && !_ctx.providerCacheLoadedOnce)
|
|
7086
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
7087
|
+
key: 2,
|
|
7088
|
+
class: "state-message"
|
|
7089
|
+
}, _toDisplayString(_ctx.t('modal.providerCache.loading')), 1 /* TEXT */))
|
|
7090
|
+
: (_openBlock(), _createElementBlock("div", {
|
|
7091
|
+
key: 3,
|
|
7092
|
+
class: "provider-cache-body"
|
|
7093
|
+
}, [
|
|
7094
|
+
_createElementVNode("div", { class: "provider-cache-groups" }, [
|
|
7095
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.getProviderCacheGroups(), (group) => {
|
|
7096
|
+
return (_openBlock(), _createElementBlock("section", {
|
|
7097
|
+
key: group.key,
|
|
7098
|
+
class: "provider-cache-group"
|
|
7099
|
+
}, [
|
|
7100
|
+
_createElementVNode("div", { class: "provider-cache-group-header" }, [
|
|
7101
|
+
_createElementVNode("div", { class: "provider-cache-group-title" }, _toDisplayString(group.label), 1 /* TEXT */),
|
|
7102
|
+
_createElementVNode("div", { class: "provider-cache-group-meta" }, _toDisplayString(_ctx.t('modal.providerCache.groupMeta', { count: group.existingCount || 0 })), 1 /* TEXT */)
|
|
7103
|
+
]),
|
|
7104
|
+
(!_ctx.hasProviderCacheExistingFiles(group))
|
|
7105
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
7106
|
+
key: 0,
|
|
7107
|
+
class: "provider-cache-empty"
|
|
7108
|
+
}, _toDisplayString(_ctx.t('modal.providerCache.empty')), 1 /* TEXT */))
|
|
7109
|
+
: (_openBlock(), _createElementBlock("div", {
|
|
7110
|
+
key: 1,
|
|
7111
|
+
class: "provider-cache-file-list"
|
|
7112
|
+
}, [
|
|
7113
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.getProviderCacheExistingFiles(group), (file) => {
|
|
7114
|
+
return (_openBlock(), _createElementBlock("article", {
|
|
7115
|
+
key: _ctx.getProviderCacheFileKey(file),
|
|
7116
|
+
class: "provider-cache-file"
|
|
7117
|
+
}, [
|
|
7118
|
+
_createElementVNode("div", { class: "provider-cache-file-header" }, [
|
|
7119
|
+
_createElementVNode("div", null, [
|
|
7120
|
+
_createElementVNode("div", { class: "provider-cache-file-name" }, _toDisplayString(file.name), 1 /* TEXT */),
|
|
7121
|
+
_createElementVNode("div", { class: "provider-cache-file-summary" }, _toDisplayString(_ctx.getProviderCacheFileSummary(file)), 1 /* TEXT */)
|
|
7122
|
+
]),
|
|
7123
|
+
_createElementVNode("div", { class: "provider-cache-file-meta" }, [
|
|
7124
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.formatProviderCacheFileSize(file.size)), 1 /* TEXT */),
|
|
7125
|
+
(file.mtime)
|
|
7126
|
+
? (_openBlock(), _createElementBlock("span", { key: 0 }, _toDisplayString(file.mtime), 1 /* TEXT */))
|
|
7127
|
+
: _createCommentVNode("v-if", true)
|
|
7128
|
+
])
|
|
7129
|
+
]),
|
|
7130
|
+
_createElementVNode("div", { class: "provider-cache-file-path" }, _toDisplayString(_ctx.getProviderCacheFilePath(file)), 1 /* TEXT */),
|
|
7131
|
+
(_ctx.hasProviderCacheProviders(file))
|
|
7132
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
7133
|
+
key: 0,
|
|
7134
|
+
class: "provider-cache-provider-list"
|
|
7135
|
+
}, [
|
|
7136
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.getProviderCacheFileProviders(file), (provider, providerIndex) => {
|
|
7137
|
+
return (_openBlock(), _createElementBlock("details", {
|
|
7138
|
+
key: provider.name || (_ctx.getProviderCacheFileKey(file) + ':' + providerIndex),
|
|
7139
|
+
class: "provider-cache-provider",
|
|
7140
|
+
open: ""
|
|
7141
|
+
}, [
|
|
7142
|
+
_createElementVNode("summary", { class: "provider-cache-provider-summary" }, [
|
|
7143
|
+
_createElementVNode("span", { class: "provider-cache-provider-name" }, _toDisplayString(provider.name || 'provider'), 1 /* TEXT */),
|
|
7144
|
+
_createElementVNode("span", { class: "provider-cache-provider-badges" }, [
|
|
7145
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.getProviderCacheProviderMeta(provider), (item) => {
|
|
7146
|
+
return (_openBlock(), _createElementBlock("span", {
|
|
7147
|
+
key: item.label,
|
|
7148
|
+
class: "provider-cache-provider-badge"
|
|
7149
|
+
}, _toDisplayString(item.label) + ": " + _toDisplayString(item.value), 1 /* TEXT */))
|
|
7150
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
7151
|
+
])
|
|
7152
|
+
]),
|
|
7153
|
+
_createElementVNode("pre", { class: "provider-cache-json provider-cache-json-compact" }, _toDisplayString(_ctx.getProviderCacheProviderText(provider)), 1 /* TEXT */)
|
|
7154
|
+
]))
|
|
7155
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
7156
|
+
]))
|
|
7157
|
+
: _createCommentVNode("v-if", true),
|
|
7158
|
+
_createElementVNode("details", {
|
|
7159
|
+
class: "provider-cache-raw",
|
|
7160
|
+
open: !_ctx.hasProviderCacheProviders(file) || file.ok === false
|
|
7161
|
+
}, [
|
|
7162
|
+
_createElementVNode("summary", null, _toDisplayString(file.ok === false ? _ctx.t('modal.providerCache.errorDetails') : _ctx.t('modal.providerCache.rawJson')), 1 /* TEXT */),
|
|
7163
|
+
_createElementVNode("pre", {
|
|
7164
|
+
class: _normalizeClass(['provider-cache-json', { error: file.ok === false }])
|
|
7165
|
+
}, _toDisplayString(_ctx.getProviderCacheRecordText(file)), 3 /* TEXT, CLASS */)
|
|
7166
|
+
], 8 /* PROPS */, ["open"])
|
|
7167
|
+
]))
|
|
7168
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
7169
|
+
]))
|
|
7170
|
+
]))
|
|
7171
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
7172
|
+
])
|
|
7173
|
+
])),
|
|
7174
|
+
_createElementVNode("div", { class: "btn-group provider-cache-footer" }, [
|
|
7175
|
+
_createElementVNode("button", {
|
|
7176
|
+
class: "btn btn-confirm",
|
|
7177
|
+
onClick: _ctx.closeProviderCacheModal
|
|
7178
|
+
}, _toDisplayString(_ctx.t('common.close')), 9 /* TEXT, PROPS */, ["onClick"])
|
|
7179
|
+
])
|
|
7180
|
+
])
|
|
7181
|
+
], 8 /* PROPS */, ["onClick"]))
|
|
7182
|
+
: _createCommentVNode("v-if", true),
|
|
6636
7183
|
_createCommentVNode(" 添加Claude配置模态框 "),
|
|
6637
7184
|
(_ctx.showClaudeConfigModal)
|
|
6638
7185
|
? (_openBlock(), _createElementBlock("div", {
|
|
6639
|
-
key:
|
|
7186
|
+
key: 9,
|
|
6640
7187
|
class: "modal-overlay",
|
|
6641
7188
|
onClick: _withModifiers(_ctx.closeClaudeConfigModal, ["self"])
|
|
6642
7189
|
}, [
|
|
@@ -6788,7 +7335,7 @@ return function render(_ctx, _cache) {
|
|
|
6788
7335
|
_createCommentVNode(" 编辑Claude配置模态框 "),
|
|
6789
7336
|
(_ctx.showEditConfigModal)
|
|
6790
7337
|
? (_openBlock(), _createElementBlock("div", {
|
|
6791
|
-
key:
|
|
7338
|
+
key: 10,
|
|
6792
7339
|
class: "modal-overlay",
|
|
6793
7340
|
onClick: _withModifiers(_ctx.closeEditConfigModal, ["self"])
|
|
6794
7341
|
}, [
|
|
@@ -6941,7 +7488,7 @@ return function render(_ctx, _cache) {
|
|
|
6941
7488
|
_createCommentVNode(" Codex bridge pool modal "),
|
|
6942
7489
|
(_ctx.showCodexBridgePoolModal)
|
|
6943
7490
|
? (_openBlock(), _createElementBlock("div", {
|
|
6944
|
-
key:
|
|
7491
|
+
key: 11,
|
|
6945
7492
|
class: "modal-overlay",
|
|
6946
7493
|
onClick: _withModifiers($event => (_ctx.showCodexBridgePoolModal = false), ["self"])
|
|
6947
7494
|
}, [
|
|
@@ -7034,7 +7581,7 @@ return function render(_ctx, _cache) {
|
|
|
7034
7581
|
: _createCommentVNode("v-if", true),
|
|
7035
7582
|
(_ctx.showClaudeBridgePoolModal)
|
|
7036
7583
|
? (_openBlock(), _createElementBlock("div", {
|
|
7037
|
-
key:
|
|
7584
|
+
key: 12,
|
|
7038
7585
|
class: "modal-overlay",
|
|
7039
7586
|
onClick: _withModifiers($event => (_ctx.showClaudeBridgePoolModal = false), ["self"])
|
|
7040
7587
|
}, [
|
|
@@ -7128,7 +7675,7 @@ return function render(_ctx, _cache) {
|
|
|
7128
7675
|
_createCommentVNode(" Webhook settings modal "),
|
|
7129
7676
|
(_ctx.showWebhookModal)
|
|
7130
7677
|
? (_openBlock(), _createElementBlock("div", {
|
|
7131
|
-
key:
|
|
7678
|
+
key: 13,
|
|
7132
7679
|
class: "modal-overlay",
|
|
7133
7680
|
onClick: _withModifiers(_ctx.closeWebhookModal, ["self"])
|
|
7134
7681
|
}, [
|
|
@@ -7201,7 +7748,7 @@ return function render(_ctx, _cache) {
|
|
|
7201
7748
|
: _createCommentVNode("v-if", true),
|
|
7202
7749
|
(_ctx.showOpenclawConfigModal)
|
|
7203
7750
|
? (_openBlock(), _createElementBlock("div", {
|
|
7204
|
-
key:
|
|
7751
|
+
key: 14,
|
|
7205
7752
|
class: "modal-overlay",
|
|
7206
7753
|
onClick: _withModifiers($event => (!(_ctx.openclawSaving || _ctx.openclawApplying) && _ctx.closeOpenclawConfigModal()), ["self"])
|
|
7207
7754
|
}, [
|
|
@@ -7913,7 +8460,7 @@ return function render(_ctx, _cache) {
|
|
|
7913
8460
|
: _createCommentVNode("v-if", true),
|
|
7914
8461
|
(_ctx.showConfigTemplateModal)
|
|
7915
8462
|
? (_openBlock(), _createElementBlock("div", {
|
|
7916
|
-
key:
|
|
8463
|
+
key: 15,
|
|
7917
8464
|
class: "modal-overlay",
|
|
7918
8465
|
onClick: _withModifiers($event => (!_ctx.configTemplateApplying && _ctx.closeConfigTemplateModal()), ["self"])
|
|
7919
8466
|
}, [
|
|
@@ -8058,7 +8605,7 @@ return function render(_ctx, _cache) {
|
|
|
8058
8605
|
: _createCommentVNode("v-if", true),
|
|
8059
8606
|
(_ctx.showAgentsModal)
|
|
8060
8607
|
? (_openBlock(), _createElementBlock("div", {
|
|
8061
|
-
key:
|
|
8608
|
+
key: 16,
|
|
8062
8609
|
class: "modal-overlay",
|
|
8063
8610
|
onClick: _withModifiers(_ctx.closeAgentsModal, ["self"])
|
|
8064
8611
|
}, [
|
|
@@ -8225,7 +8772,7 @@ return function render(_ctx, _cache) {
|
|
|
8225
8772
|
: _createCommentVNode("v-if", true),
|
|
8226
8773
|
(_ctx.showSkillsModal)
|
|
8227
8774
|
? (_openBlock(), _createElementBlock("div", {
|
|
8228
|
-
key:
|
|
8775
|
+
key: 17,
|
|
8229
8776
|
class: "modal-overlay",
|
|
8230
8777
|
onClick: _withModifiers(_ctx.closeSkillsModal, ["self"])
|
|
8231
8778
|
}, [
|
|
@@ -8523,12 +9070,12 @@ return function render(_ctx, _cache) {
|
|
|
8523
9070
|
}, null, 40 /* PROPS, NEED_HYDRATION */, ["onChange"]),
|
|
8524
9071
|
(_ctx.showHealthCheckModal)
|
|
8525
9072
|
? (_openBlock(), _createElementBlock("div", {
|
|
8526
|
-
key:
|
|
9073
|
+
key: 18,
|
|
8527
9074
|
class: "modal-overlay",
|
|
8528
9075
|
onClick: _withModifiers($event => (_ctx.showHealthCheckModal = false), ["self"])
|
|
8529
9076
|
}, [
|
|
8530
9077
|
_createElementVNode("div", {
|
|
8531
|
-
class: "modal",
|
|
9078
|
+
class: "modal modal-health-check",
|
|
8532
9079
|
role: "dialog",
|
|
8533
9080
|
"aria-modal": "true",
|
|
8534
9081
|
"aria-labelledby": "health-check-modal-title"
|
|
@@ -8537,73 +9084,155 @@ return function render(_ctx, _cache) {
|
|
|
8537
9084
|
class: "modal-title",
|
|
8538
9085
|
id: "health-check-modal-title"
|
|
8539
9086
|
}, _toDisplayString(_ctx.t('config.health.title')), 1 /* TEXT */),
|
|
8540
|
-
(
|
|
8541
|
-
|
|
8542
|
-
|
|
8543
|
-
|
|
8544
|
-
|
|
8545
|
-
|
|
8546
|
-
|
|
8547
|
-
|
|
8548
|
-
|
|
8549
|
-
|
|
9087
|
+
_createElementVNode("div", { class: "health-check-modal-body" }, [
|
|
9088
|
+
(!_ctx.healthCheckResult)
|
|
9089
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
9090
|
+
key: 0,
|
|
9091
|
+
class: "state-message"
|
|
9092
|
+
}, _toDisplayString(_ctx.t('common.notLoaded')), 1 /* TEXT */))
|
|
9093
|
+
: (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [
|
|
9094
|
+
_createElementVNode("div", { class: "form-hint" }, [
|
|
9095
|
+
_createTextVNode(_toDisplayString(_ctx.healthCheckResult.ok ? _ctx.t('config.health.ok') : _ctx.t('config.health.fail')) + " ", 1 /* TEXT */),
|
|
9096
|
+
(_ctx.healthCheckResult.issues)
|
|
9097
|
+
? (_openBlock(), _createElementBlock("span", { key: 0 }, "(" + _toDisplayString(_ctx.t('config.health.issues', { count: _ctx.healthCheckResult.issues.length })) + ")", 1 /* TEXT */))
|
|
9098
|
+
: _createCommentVNode("v-if", true)
|
|
9099
|
+
]),
|
|
9100
|
+
(_ctx.healthCheckResult.remote && _ctx.healthCheckResult.remote.type === 'remote-health-check')
|
|
9101
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
9102
|
+
key: 0,
|
|
9103
|
+
class: "form-hint"
|
|
9104
|
+
}, [
|
|
9105
|
+
_createTextVNode(_toDisplayString(_ctx.healthCheckResult.remote.endpoint || '') + " ", 1 /* TEXT */),
|
|
9106
|
+
(_ctx.healthCheckResult.remote.statusCode)
|
|
9107
|
+
? (_openBlock(), _createElementBlock("span", { key: 0 }, " · " + _toDisplayString(_ctx.healthCheckResult.remote.statusCode), 1 /* TEXT */))
|
|
9108
|
+
: _createCommentVNode("v-if", true),
|
|
9109
|
+
(_ctx.healthCheckResult.remote.message)
|
|
9110
|
+
? (_openBlock(), _createElementBlock("span", { key: 1 }, " · " + _toDisplayString(_ctx.healthCheckResult.remote.message), 1 /* TEXT */))
|
|
9111
|
+
: _createCommentVNode("v-if", true)
|
|
9112
|
+
]))
|
|
9113
|
+
: _createCommentVNode("v-if", true),
|
|
9114
|
+
(_ctx.healthCheckResult.remote && _ctx.healthCheckResult.remote.type === 'providers-health')
|
|
9115
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
9116
|
+
key: 1,
|
|
9117
|
+
class: "form-hint"
|
|
9118
|
+
}, _toDisplayString(_ctx.t('config.health.providersSummary', _ctx.healthCheckResult.remote.summary || { total: 0, green: 0, yellow: 0, red: 0 })), 1 /* TEXT */))
|
|
9119
|
+
: _createCommentVNode("v-if", true),
|
|
9120
|
+
(_ctx.getHealthCheckFailedProviderItems().length)
|
|
9121
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
9122
|
+
key: 2,
|
|
9123
|
+
class: "model-list health-failed-provider-list"
|
|
9124
|
+
}, [
|
|
9125
|
+
_createElementVNode("div", { class: "model-item health-failed-provider-header" }, [
|
|
9126
|
+
_createElementVNode("span", { class: "health-failed-provider-main" }, [
|
|
9127
|
+
_createElementVNode("input", {
|
|
9128
|
+
type: "checkbox",
|
|
9129
|
+
checked: _ctx.areAllHealthCheckFailedProvidersSelected(),
|
|
9130
|
+
disabled: !_ctx.getSelectableHealthCheckFailedProviderItems().length || _ctx.healthCheckFailedProviderDeleting,
|
|
9131
|
+
onChange: $event => (_ctx.setAllHealthCheckFailedProviderSelections($event.target.checked)),
|
|
9132
|
+
"aria-label": _ctx.t('config.health.failedProviders.selectAllAria')
|
|
9133
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "disabled", "onChange", "aria-label"]),
|
|
9134
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('config.health.failedProviders.title')), 1 /* TEXT */)
|
|
9135
|
+
]),
|
|
9136
|
+
_createElementVNode("span", { class: "health-failed-provider-actions" }, [
|
|
9137
|
+
_createElementVNode("button", {
|
|
9138
|
+
type: "button",
|
|
9139
|
+
class: "btn-link",
|
|
9140
|
+
disabled: !_ctx.getSelectableHealthCheckFailedProviderItems().length || _ctx.healthCheckFailedProviderDeleting,
|
|
9141
|
+
onClick: $event => (_ctx.setAllHealthCheckFailedProviderSelections(true))
|
|
9142
|
+
}, _toDisplayString(_ctx.t('config.health.failedProviders.selectAll')), 9 /* TEXT, PROPS */, ["disabled", "onClick"]),
|
|
9143
|
+
_createElementVNode("button", {
|
|
9144
|
+
type: "button",
|
|
9145
|
+
class: "btn-link",
|
|
9146
|
+
disabled: !_ctx.hasHealthCheckFailedProviderSelection() || _ctx.healthCheckFailedProviderDeleting,
|
|
9147
|
+
onClick: $event => (_ctx.setAllHealthCheckFailedProviderSelections(false))
|
|
9148
|
+
}, _toDisplayString(_ctx.t('config.health.failedProviders.clearSelection')), 9 /* TEXT, PROPS */, ["disabled", "onClick"]),
|
|
9149
|
+
_createElementVNode("span", { class: "latency error" }, _toDisplayString(_ctx.getHealthCheckFailedProviderItems().length), 1 /* TEXT */)
|
|
9150
|
+
])
|
|
9151
|
+
]),
|
|
9152
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.getHealthCheckFailedProviderItems(), (item) => {
|
|
9153
|
+
return (_openBlock(), _createElementBlock("label", {
|
|
9154
|
+
key: item.key,
|
|
9155
|
+
class: _normalizeClass(["model-item health-failed-provider-item", { disabled: !item.deletable }])
|
|
9156
|
+
}, [
|
|
9157
|
+
_createElementVNode("span", { class: "health-failed-provider-main" }, [
|
|
9158
|
+
_createElementVNode("input", {
|
|
9159
|
+
type: "checkbox",
|
|
9160
|
+
checked: item.selected,
|
|
9161
|
+
disabled: !item.deletable || _ctx.healthCheckFailedProviderDeleting,
|
|
9162
|
+
onChange: $event => (_ctx.toggleHealthCheckFailedProviderSelection(item, $event.target.checked)),
|
|
9163
|
+
"aria-label": _ctx.t('config.health.failedProviders.selectAria', { name: item.name })
|
|
9164
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "disabled", "onChange", "aria-label"]),
|
|
9165
|
+
_createElementVNode("span", null, [
|
|
9166
|
+
_createElementVNode("strong", null, _toDisplayString(item.name), 1 /* TEXT */),
|
|
9167
|
+
(item.detail)
|
|
9168
|
+
? (_openBlock(), _createElementBlock("span", {
|
|
9169
|
+
key: 0,
|
|
9170
|
+
class: "form-hint"
|
|
9171
|
+
}, _toDisplayString(item.detail), 1 /* TEXT */))
|
|
9172
|
+
: _createCommentVNode("v-if", true),
|
|
9173
|
+
(!item.deletable)
|
|
9174
|
+
? (_openBlock(), _createElementBlock("span", {
|
|
9175
|
+
key: 1,
|
|
9176
|
+
class: "form-hint"
|
|
9177
|
+
}, _toDisplayString(item.blockedReason === 'readonly' ? _ctx.t('config.health.failedProviders.writeRequired') : _ctx.t('config.health.failedProviders.notDeletable')), 1 /* TEXT */))
|
|
9178
|
+
: _createCommentVNode("v-if", true)
|
|
9179
|
+
])
|
|
9180
|
+
]),
|
|
9181
|
+
_createElementVNode("span", { class: "latency error" }, _toDisplayString(item.status), 1 /* TEXT */)
|
|
9182
|
+
], 2 /* CLASS */))
|
|
9183
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
9184
|
+
]))
|
|
9185
|
+
: _createCommentVNode("v-if", true),
|
|
9186
|
+
(_ctx.healthCheckResult.remote && _ctx.healthCheckResult.remote.speedTests)
|
|
9187
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
9188
|
+
key: 3,
|
|
9189
|
+
class: "model-list"
|
|
9190
|
+
}, [
|
|
9191
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.healthCheckResult.remote.speedTests, (result, name) => {
|
|
9192
|
+
return (_openBlock(), _createElementBlock("div", {
|
|
9193
|
+
key: 'health-speed-' + name,
|
|
9194
|
+
class: "model-item"
|
|
9195
|
+
}, [
|
|
9196
|
+
_createElementVNode("span", null, _toDisplayString(name), 1 /* TEXT */),
|
|
9197
|
+
(result && result.ok)
|
|
9198
|
+
? (_openBlock(), _createElementBlock("span", {
|
|
9199
|
+
key: 0,
|
|
9200
|
+
class: "latency ok"
|
|
9201
|
+
}, _toDisplayString(_ctx.formatLatency(result)), 1 /* TEXT */))
|
|
9202
|
+
: (_openBlock(), _createElementBlock("span", {
|
|
9203
|
+
key: 1,
|
|
9204
|
+
class: "latency error"
|
|
9205
|
+
}, _toDisplayString((result && result.error) ? result.error : _ctx.t('config.health.fail')), 1 /* TEXT */))
|
|
9206
|
+
]))
|
|
9207
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
9208
|
+
]))
|
|
9209
|
+
: _createCommentVNode("v-if", true),
|
|
9210
|
+
(_ctx.healthCheckResult.issues && _ctx.healthCheckResult.issues.length)
|
|
9211
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
9212
|
+
key: 4,
|
|
9213
|
+
class: "model-list"
|
|
9214
|
+
}, [
|
|
9215
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.healthCheckResult.issues, (issue, index) => {
|
|
9216
|
+
return (_openBlock(), _createElementBlock("div", {
|
|
9217
|
+
key: issue.code || ('health-issue-' + index),
|
|
9218
|
+
class: "model-item"
|
|
9219
|
+
}, [
|
|
9220
|
+
_createElementVNode("span", null, _toDisplayString(issue.message || issue.code || ''), 1 /* TEXT */)
|
|
9221
|
+
]))
|
|
9222
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
9223
|
+
]))
|
|
8550
9224
|
: _createCommentVNode("v-if", true)
|
|
8551
|
-
])
|
|
8552
|
-
|
|
8553
|
-
|
|
8554
|
-
|
|
8555
|
-
|
|
8556
|
-
|
|
8557
|
-
|
|
8558
|
-
|
|
8559
|
-
|
|
8560
|
-
|
|
8561
|
-
|
|
8562
|
-
? (_openBlock(), _createElementBlock("span", { key: 1 }, " · " + _toDisplayString(_ctx.healthCheckResult.remote.message), 1 /* TEXT */))
|
|
8563
|
-
: _createCommentVNode("v-if", true)
|
|
8564
|
-
]))
|
|
8565
|
-
: _createCommentVNode("v-if", true),
|
|
8566
|
-
(_ctx.healthCheckResult.remote && _ctx.healthCheckResult.remote.speedTests)
|
|
8567
|
-
? (_openBlock(), _createElementBlock("div", {
|
|
8568
|
-
key: 1,
|
|
8569
|
-
class: "model-list"
|
|
8570
|
-
}, [
|
|
8571
|
-
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.healthCheckResult.remote.speedTests, (result, name) => {
|
|
8572
|
-
return (_openBlock(), _createElementBlock("div", {
|
|
8573
|
-
key: 'health-speed-' + name,
|
|
8574
|
-
class: "model-item"
|
|
8575
|
-
}, [
|
|
8576
|
-
_createElementVNode("span", null, _toDisplayString(name), 1 /* TEXT */),
|
|
8577
|
-
(result && result.ok)
|
|
8578
|
-
? (_openBlock(), _createElementBlock("span", {
|
|
8579
|
-
key: 0,
|
|
8580
|
-
class: "latency ok"
|
|
8581
|
-
}, _toDisplayString(_ctx.formatLatency(result)), 1 /* TEXT */))
|
|
8582
|
-
: (_openBlock(), _createElementBlock("span", {
|
|
8583
|
-
key: 1,
|
|
8584
|
-
class: "latency error"
|
|
8585
|
-
}, _toDisplayString((result && result.error) ? result.error : _ctx.t('config.health.fail')), 1 /* TEXT */))
|
|
8586
|
-
]))
|
|
8587
|
-
}), 128 /* KEYED_FRAGMENT */))
|
|
8588
|
-
]))
|
|
8589
|
-
: _createCommentVNode("v-if", true),
|
|
8590
|
-
(_ctx.healthCheckResult.issues && _ctx.healthCheckResult.issues.length)
|
|
8591
|
-
? (_openBlock(), _createElementBlock("div", {
|
|
8592
|
-
key: 2,
|
|
8593
|
-
class: "model-list"
|
|
8594
|
-
}, [
|
|
8595
|
-
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.healthCheckResult.issues, (issue, index) => {
|
|
8596
|
-
return (_openBlock(), _createElementBlock("div", {
|
|
8597
|
-
key: issue.code || ('health-issue-' + index),
|
|
8598
|
-
class: "model-item"
|
|
8599
|
-
}, [
|
|
8600
|
-
_createElementVNode("span", null, _toDisplayString(issue.message || issue.code || ''), 1 /* TEXT */)
|
|
8601
|
-
]))
|
|
8602
|
-
}), 128 /* KEYED_FRAGMENT */))
|
|
8603
|
-
]))
|
|
8604
|
-
: _createCommentVNode("v-if", true)
|
|
8605
|
-
], 64 /* STABLE_FRAGMENT */)),
|
|
8606
|
-
_createElementVNode("div", { class: "btn-group" }, [
|
|
9225
|
+
], 64 /* STABLE_FRAGMENT */))
|
|
9226
|
+
]),
|
|
9227
|
+
_createElementVNode("div", { class: "btn-group health-check-modal-actions" }, [
|
|
9228
|
+
(_ctx.getHealthCheckFailedProviderItems().length)
|
|
9229
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
9230
|
+
key: 0,
|
|
9231
|
+
class: "btn btn-confirm btn-danger",
|
|
9232
|
+
disabled: _ctx.healthCheckFailedProviderDeleting || !_ctx.hasHealthCheckFailedProviderSelection(),
|
|
9233
|
+
onClick: $event => (_ctx.deleteSelectedHealthCheckFailedProviders())
|
|
9234
|
+
}, _toDisplayString(_ctx.healthCheckFailedProviderDeleting ? _ctx.t('config.health.failedProviders.deleting') : _ctx.t('config.health.failedProviders.deleteSelected')), 9 /* TEXT, PROPS */, ["disabled", "onClick"]))
|
|
9235
|
+
: _createCommentVNode("v-if", true),
|
|
8607
9236
|
_createElementVNode("button", {
|
|
8608
9237
|
class: "btn btn-confirm",
|
|
8609
9238
|
onClick: $event => (_ctx.showHealthCheckModal = false)
|
|
@@ -8614,7 +9243,7 @@ return function render(_ctx, _cache) {
|
|
|
8614
9243
|
: _createCommentVNode("v-if", true),
|
|
8615
9244
|
(_ctx.showConfirmDialog)
|
|
8616
9245
|
? (_openBlock(), _createElementBlock("div", {
|
|
8617
|
-
key:
|
|
9246
|
+
key: 19,
|
|
8618
9247
|
class: "modal-overlay",
|
|
8619
9248
|
onClick: _withModifiers(_ctx.closeConfirmDialog, ["self"])
|
|
8620
9249
|
}, [
|
|
@@ -8652,7 +9281,7 @@ return function render(_ctx, _cache) {
|
|
|
8652
9281
|
_createCommentVNode(" Toast "),
|
|
8653
9282
|
(_ctx.message)
|
|
8654
9283
|
? (_openBlock(), _createElementBlock("div", {
|
|
8655
|
-
key:
|
|
9284
|
+
key: 20,
|
|
8656
9285
|
class: _normalizeClass(['toast', _ctx.messageType]),
|
|
8657
9286
|
role: "status",
|
|
8658
9287
|
"aria-live": "polite",
|