codexmate 0.0.43 → 0.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/README.zh.md +2 -0
- package/cli/claude-proxy.js +611 -14
- package/cli/update.js +77 -7
- package/cli.js +188 -21
- package/package.json +1 -1
- package/web-ui/app.js +36 -3
- package/web-ui/index.html +1 -0
- package/web-ui/logic.claude.mjs +65 -2
- package/web-ui/logic.runtime.mjs +0 -7
- package/web-ui/modules/app.computed.index.mjs +3 -1
- package/web-ui/modules/app.computed.main-tabs.mjs +3 -0
- package/web-ui/modules/app.computed.prompts.mjs +28 -0
- package/web-ui/modules/app.computed.session.mjs +23 -1
- package/web-ui/modules/app.methods.agents.mjs +50 -4
- package/web-ui/modules/app.methods.claude-config.mjs +28 -12
- package/web-ui/modules/app.methods.index.mjs +1 -1
- package/web-ui/modules/app.methods.install.mjs +129 -1
- package/web-ui/modules/app.methods.navigation.mjs +2 -1
- package/web-ui/modules/app.methods.session-actions.mjs +17 -2
- package/web-ui/modules/app.methods.session-timeline.mjs +0 -1
- package/web-ui/modules/app.methods.startup-claude.mjs +26 -3
- package/web-ui/modules/i18n/locales/en.mjs +42 -5
- package/web-ui/modules/i18n/locales/ja.mjs +42 -5
- package/web-ui/modules/i18n/locales/vi.mjs +51 -0
- package/web-ui/modules/i18n/locales/zh.mjs +42 -5
- package/web-ui/partials/index/layout-footer.html +1 -1
- package/web-ui/partials/index/layout-header.html +64 -0
- package/web-ui/partials/index/modal-config-template-agents.html +12 -13
- package/web-ui/partials/index/modals-basic.html +18 -1
- package/web-ui/partials/index/panel-config-claude.html +4 -7
- package/web-ui/partials/index/panel-config-codex.html +2 -6
- package/web-ui/partials/index/panel-prompts.html +100 -0
- package/web-ui/partials/index/panel-sessions.html +30 -10
- package/web-ui/partials/index/panel-usage.html +34 -18
- package/web-ui/res/web-ui-render.precompiled.js +579 -149
- package/web-ui/styles/controls-forms.css +5 -5
- package/web-ui/styles/layout-shell.css +145 -0
- package/web-ui/styles/modals-core.css +162 -0
- package/web-ui/styles/responsive.css +77 -5
- package/web-ui/styles/sessions-toolbar-trash.css +45 -10
- package/web-ui/styles/sessions-usage.css +31 -2
|
@@ -1,11 +1,39 @@
|
|
|
1
1
|
window.__CODEXMATE_WEB_UI_RENDER__ = (() => {
|
|
2
|
-
const { toDisplayString: _toDisplayString,
|
|
2
|
+
const { toDisplayString: _toDisplayString, openBlock: _openBlock, createElementBlock: _createElementBlock, createCommentVNode: _createCommentVNode, createTextVNode: _createTextVNode, createElementVNode: _createElementVNode, normalizeClass: _normalizeClass, Fragment: _Fragment, renderList: _renderList, vShow: _vShow, withDirectives: _withDirectives, vModelSelect: _vModelSelect, vModelText: _vModelText, withKeys: _withKeys, withModifiers: _withModifiers, isMemoSame: _isMemoSame, withMemo: _withMemo, normalizeStyle: _normalizeStyle, vModelDynamic: _vModelDynamic, vModelCheckbox: _vModelCheckbox } = Vue
|
|
3
3
|
|
|
4
4
|
return function render(_ctx, _cache) {
|
|
5
5
|
return (_openBlock(), _createElementBlock(_Fragment, null, [
|
|
6
6
|
(!_ctx.sessionStandalone)
|
|
7
7
|
? (_openBlock(), _createElementBlock("div", {
|
|
8
8
|
key: 0,
|
|
9
|
+
class: "mobile-brand-bar"
|
|
10
|
+
}, [
|
|
11
|
+
_createElementVNode("div", { class: "mobile-brand-title" }, [
|
|
12
|
+
_createTextVNode("Codex Mate"),
|
|
13
|
+
(_ctx.appVersion)
|
|
14
|
+
? (_openBlock(), _createElementBlock("span", {
|
|
15
|
+
key: 0,
|
|
16
|
+
class: "brand-version"
|
|
17
|
+
}, " v" + _toDisplayString(_ctx.appVersion), 1 /* TEXT */))
|
|
18
|
+
: _createCommentVNode("v-if", true)
|
|
19
|
+
]),
|
|
20
|
+
(_ctx.isAppVersionStatusVisible())
|
|
21
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
22
|
+
key: 0,
|
|
23
|
+
type: "button",
|
|
24
|
+
class: _normalizeClass(['mobile-update-chip', 'mobile-update-chip--' + _ctx.appVersionStatusKind()]),
|
|
25
|
+
title: _ctx.appVersionStatusTitle(),
|
|
26
|
+
onClick: _ctx.handleAppVersionStatusClick
|
|
27
|
+
}, [
|
|
28
|
+
_createElementVNode("span", { class: "side-update-dot" }),
|
|
29
|
+
_createElementVNode("span", { class: "mobile-update-text" }, _toDisplayString(_ctx.appUpdateNoticeText()), 1 /* TEXT */)
|
|
30
|
+
], 10 /* CLASS, PROPS */, ["title", "onClick"]))
|
|
31
|
+
: _createCommentVNode("v-if", true)
|
|
32
|
+
]))
|
|
33
|
+
: _createCommentVNode("v-if", true),
|
|
34
|
+
(!_ctx.sessionStandalone)
|
|
35
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
36
|
+
key: 1,
|
|
9
37
|
class: "top-tabs",
|
|
10
38
|
role: "tablist",
|
|
11
39
|
"aria-label": _ctx.t('nav.topTabs.aria')
|
|
@@ -110,6 +138,18 @@ return function render(_ctx, _cache) {
|
|
|
110
138
|
onPointerdown: $event => (_ctx.onMainTabPointerDown('plugins', $event)),
|
|
111
139
|
onClick: $event => (_ctx.onMainTabClick('plugins', $event))
|
|
112
140
|
}, _toDisplayString(_ctx.t('tab.plugins')), 43 /* TEXT, CLASS, PROPS, NEED_HYDRATION */, ["tabindex", "aria-selected", "onPointerdown", "onClick"]),
|
|
141
|
+
_createElementVNode("button", {
|
|
142
|
+
type: "button",
|
|
143
|
+
class: _normalizeClass(["top-tab", { active: _ctx.isMainTabNavActive('prompts') }]),
|
|
144
|
+
id: "tab-prompts",
|
|
145
|
+
role: "tab",
|
|
146
|
+
"data-main-tab": "prompts",
|
|
147
|
+
tabindex: _ctx.mainTab === 'prompts' ? 0 : -1,
|
|
148
|
+
"aria-selected": _ctx.mainTab === 'prompts',
|
|
149
|
+
"aria-controls": "panel-prompts",
|
|
150
|
+
onPointerdown: $event => (_ctx.onMainTabPointerDown('prompts', $event)),
|
|
151
|
+
onClick: $event => (_ctx.onMainTabClick('prompts', $event))
|
|
152
|
+
}, _toDisplayString(_ctx.t('tab.prompts')), 43 /* TEXT, CLASS, PROPS, NEED_HYDRATION */, ["tabindex", "aria-selected", "onPointerdown", "onClick"]),
|
|
113
153
|
_createElementVNode("button", {
|
|
114
154
|
type: "button",
|
|
115
155
|
class: _normalizeClass(["top-tab", { active: _ctx.isMainTabNavActive('settings') }]),
|
|
@@ -126,7 +166,7 @@ return function render(_ctx, _cache) {
|
|
|
126
166
|
: _createCommentVNode("v-if", true),
|
|
127
167
|
(!_ctx.sessionStandalone)
|
|
128
168
|
? (_openBlock(), _createElementBlock("div", {
|
|
129
|
-
key:
|
|
169
|
+
key: 2,
|
|
130
170
|
class: "lang-fab"
|
|
131
171
|
}, [
|
|
132
172
|
_createElementVNode("button", {
|
|
@@ -163,7 +203,22 @@ return function render(_ctx, _cache) {
|
|
|
163
203
|
: _createCommentVNode("v-if", true)
|
|
164
204
|
])
|
|
165
205
|
])
|
|
166
|
-
])
|
|
206
|
+
]),
|
|
207
|
+
(_ctx.isAppVersionStatusVisible())
|
|
208
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
209
|
+
key: 0,
|
|
210
|
+
type: "button",
|
|
211
|
+
class: _normalizeClass(['side-update-notice', 'side-update-notice--' + _ctx.appVersionStatusKind()]),
|
|
212
|
+
title: _ctx.appVersionStatusTitle(),
|
|
213
|
+
onClick: _ctx.handleAppVersionStatusClick
|
|
214
|
+
}, [
|
|
215
|
+
_createElementVNode("span", { class: "side-update-dot" }),
|
|
216
|
+
_createElementVNode("span", { class: "side-update-copy" }, [
|
|
217
|
+
_createElementVNode("span", { class: "side-update-title" }, _toDisplayString(_ctx.appUpdateNoticeText()), 1 /* TEXT */),
|
|
218
|
+
_createElementVNode("span", { class: "side-update-meta" }, _toDisplayString(_ctx.appUpdateNoticeMeta()), 1 /* TEXT */)
|
|
219
|
+
])
|
|
220
|
+
], 10 /* CLASS, PROPS */, ["title", "onClick"]))
|
|
221
|
+
: _createCommentVNode("v-if", true)
|
|
167
222
|
]),
|
|
168
223
|
_createElementVNode("div", { class: "side-rail-nav" }, [
|
|
169
224
|
_createElementVNode("div", {
|
|
@@ -266,6 +321,41 @@ return function render(_ctx, _cache) {
|
|
|
266
321
|
])
|
|
267
322
|
], 42 /* CLASS, PROPS, NEED_HYDRATION */, ["aria-current", "onPointerdown", "onClick"])
|
|
268
323
|
], 8 /* PROPS */, ["aria-label"]),
|
|
324
|
+
_createElementVNode("div", {
|
|
325
|
+
class: "side-section",
|
|
326
|
+
role: "navigation",
|
|
327
|
+
"aria-label": _ctx.t('side.prompts')
|
|
328
|
+
}, [
|
|
329
|
+
_createElementVNode("div", { class: "side-section-title" }, _toDisplayString(_ctx.t('side.prompts')), 1 /* TEXT */),
|
|
330
|
+
_createElementVNode("button", {
|
|
331
|
+
id: "side-tab-prompts-agents",
|
|
332
|
+
"data-main-tab": "prompts",
|
|
333
|
+
"data-prompts-sub-tab": "codex",
|
|
334
|
+
"aria-current": _ctx.mainTab === 'prompts' && _ctx.promptsSubTab === 'codex' ? 'page' : null,
|
|
335
|
+
class: _normalizeClass(['side-item', { active: _ctx.isMainTabNavActive('prompts') && _ctx.promptsSubTab === 'codex' }]),
|
|
336
|
+
onPointerdown: $event => (_ctx.onMainTabPointerDown('prompts', $event)),
|
|
337
|
+
onClick: $event => {_ctx.switchPromptsSubTab('codex'); _ctx.onMainTabClick('prompts')}
|
|
338
|
+
}, [
|
|
339
|
+
_createElementVNode("div", { class: "side-item-title" }, _toDisplayString(_ctx.t('side.prompts.agents')), 1 /* TEXT */),
|
|
340
|
+
_createElementVNode("div", { class: "side-item-meta" }, [
|
|
341
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('side.prompts.agents.meta')), 1 /* TEXT */)
|
|
342
|
+
])
|
|
343
|
+
], 42 /* CLASS, PROPS, NEED_HYDRATION */, ["aria-current", "onPointerdown", "onClick"]),
|
|
344
|
+
_createElementVNode("button", {
|
|
345
|
+
id: "side-tab-prompts-claude",
|
|
346
|
+
"data-main-tab": "prompts",
|
|
347
|
+
"data-prompts-sub-tab": "claude-md",
|
|
348
|
+
"aria-current": _ctx.mainTab === 'prompts' && _ctx.promptsSubTab === 'claude-md' ? 'page' : null,
|
|
349
|
+
class: _normalizeClass(['side-item', { active: _ctx.isMainTabNavActive('prompts') && _ctx.promptsSubTab === 'claude-md' }]),
|
|
350
|
+
onPointerdown: $event => (_ctx.onMainTabPointerDown('prompts', $event)),
|
|
351
|
+
onClick: $event => {_ctx.switchPromptsSubTab('claude-md'); _ctx.onMainTabClick('prompts')}
|
|
352
|
+
}, [
|
|
353
|
+
_createElementVNode("div", { class: "side-item-title" }, _toDisplayString(_ctx.t('side.prompts.claude')), 1 /* TEXT */),
|
|
354
|
+
_createElementVNode("div", { class: "side-item-meta" }, [
|
|
355
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('side.prompts.claude.meta')), 1 /* TEXT */)
|
|
356
|
+
])
|
|
357
|
+
], 42 /* CLASS, PROPS, NEED_HYDRATION */, ["aria-current", "onPointerdown", "onClick"])
|
|
358
|
+
], 8 /* PROPS */, ["aria-label"]),
|
|
269
359
|
_createElementVNode("div", {
|
|
270
360
|
class: "side-section",
|
|
271
361
|
role: "navigation",
|
|
@@ -958,6 +1048,7 @@ return function render(_ctx, _cache) {
|
|
|
958
1048
|
_createElementVNode("label", { class: "settings-toggle-row tool-config-write-toggle" }, [
|
|
959
1049
|
_createElementVNode("input", {
|
|
960
1050
|
type: "checkbox",
|
|
1051
|
+
autocomplete: "off",
|
|
961
1052
|
checked: _ctx.isToolConfigWriteAllowed('codex'),
|
|
962
1053
|
disabled: _ctx.toolConfigPermissionSaving.codex,
|
|
963
1054
|
onChange: $event => (_ctx.setToolConfigPermission('codex', $event.target.checked))
|
|
@@ -1014,16 +1105,6 @@ return function render(_ctx, _cache) {
|
|
|
1014
1105
|
])
|
|
1015
1106
|
]))
|
|
1016
1107
|
: _createCommentVNode("v-if", true),
|
|
1017
|
-
_createElementVNode("div", { class: "selector-section" }, [
|
|
1018
|
-
_createElementVNode("div", { class: "selector-header" }, [
|
|
1019
|
-
_createElementVNode("span", { class: "selector-title" }, "AGENTS.md")
|
|
1020
|
-
]),
|
|
1021
|
-
_createElementVNode("button", {
|
|
1022
|
-
class: "btn-tool",
|
|
1023
|
-
onClick: _ctx.openAgentsEditor,
|
|
1024
|
-
disabled: _ctx.loading || !!_ctx.initError || _ctx.agentsLoading
|
|
1025
|
-
}, _toDisplayString(_ctx.agentsLoading ? _ctx.t('config.modelLoading') : _ctx.t('config.agents.open')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
1026
|
-
]),
|
|
1027
1108
|
_createElementVNode("div", { class: "selector-section" }, [
|
|
1028
1109
|
_createElementVNode("div", { class: "selector-header" }, [
|
|
1029
1110
|
_createElementVNode("span", { class: "selector-title" }, _toDisplayString(_ctx.t('config.models')), 1 /* TEXT */),
|
|
@@ -1583,6 +1664,7 @@ return function render(_ctx, _cache) {
|
|
|
1583
1664
|
_createElementVNode("label", { class: "settings-toggle-row tool-config-write-toggle" }, [
|
|
1584
1665
|
_createElementVNode("input", {
|
|
1585
1666
|
type: "checkbox",
|
|
1667
|
+
autocomplete: "off",
|
|
1586
1668
|
checked: _ctx.isToolConfigWriteAllowed('claude'),
|
|
1587
1669
|
disabled: _ctx.toolConfigPermissionSaving.claude,
|
|
1588
1670
|
onChange: $event => (_ctx.setToolConfigPermission('claude', $event.target.checked))
|
|
@@ -1776,17 +1858,6 @@ return function render(_ctx, _cache) {
|
|
|
1776
1858
|
disabled: _ctx.loading || !!_ctx.initError
|
|
1777
1859
|
}, _toDisplayString(_ctx.t('config.template.openEditor')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
1778
1860
|
]),
|
|
1779
|
-
_createElementVNode("div", { class: "selector-section" }, [
|
|
1780
|
-
_createElementVNode("div", { class: "selector-header" }, [
|
|
1781
|
-
_createElementVNode("span", { class: "selector-title" }, "CLAUDE.md")
|
|
1782
|
-
]),
|
|
1783
|
-
_createElementVNode("button", {
|
|
1784
|
-
class: "btn-tool",
|
|
1785
|
-
onClick: _ctx.openClaudeMdEditor,
|
|
1786
|
-
disabled: _ctx.loading || !!_ctx.initError || _ctx.agentsLoading
|
|
1787
|
-
}, _toDisplayString(_ctx.agentsLoading ? _ctx.t('config.modelLoading') : _ctx.t('claude.md.open')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
1788
|
-
_createElementVNode("div", { class: "config-template-hint" }, _toDisplayString(_ctx.t('claude.md.hint')), 1 /* TEXT */)
|
|
1789
|
-
]),
|
|
1790
1861
|
_createElementVNode("div", { class: "selector-section" }, [
|
|
1791
1862
|
_createElementVNode("div", { class: "selector-header" }, [
|
|
1792
1863
|
_createElementVNode("span", { class: "selector-title" }, _toDisplayString(_ctx.t('config.health.title')), 1 /* TEXT */)
|
|
@@ -1905,13 +1976,33 @@ return function render(_ctx, _cache) {
|
|
|
1905
1976
|
"aria-current": _ctx.currentClaudeConfig === name ? 'true' : null
|
|
1906
1977
|
}, [
|
|
1907
1978
|
_createElementVNode("div", { class: "card-leading" }, [
|
|
1908
|
-
_createElementVNode("div", { class: "card-icon" },
|
|
1979
|
+
_createElementVNode("div", { class: "card-icon" }, [
|
|
1980
|
+
_createTextVNode(_toDisplayString(name.charAt(0).toUpperCase()), 1 /* TEXT */),
|
|
1981
|
+
(config.targetApi === 'chat_completions' || config.targetApi === 'ollama')
|
|
1982
|
+
? (_openBlock(), _createElementBlock("span", {
|
|
1983
|
+
key: 0,
|
|
1984
|
+
class: "card-icon-dot",
|
|
1985
|
+
title: _ctx.t('config.transformProvider.title')
|
|
1986
|
+
}, null, 8 /* PROPS */, ["title"]))
|
|
1987
|
+
: _createCommentVNode("v-if", true)
|
|
1988
|
+
]),
|
|
1909
1989
|
_createElementVNode("div", { class: "card-content" }, [
|
|
1910
1990
|
_createElementVNode("div", { class: "card-title" }, _toDisplayString(name), 1 /* TEXT */),
|
|
1911
1991
|
_createElementVNode("div", { class: "card-subtitle card-subtitle-model" }, _toDisplayString(config.model || _ctx.t('claude.model.unset')), 1 /* TEXT */),
|
|
1912
|
-
(config.
|
|
1992
|
+
(config.targetApi === 'chat_completions')
|
|
1913
1993
|
? (_openBlock(), _createElementBlock("div", {
|
|
1914
1994
|
key: 0,
|
|
1995
|
+
class: "card-subtitle"
|
|
1996
|
+
}, _toDisplayString(_ctx.t('claude.targetApi.chatCompletionsBadge')), 1 /* TEXT */))
|
|
1997
|
+
: (config.targetApi === 'ollama')
|
|
1998
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
1999
|
+
key: 1,
|
|
2000
|
+
class: "card-subtitle"
|
|
2001
|
+
}, _toDisplayString(_ctx.t('claude.targetApi.ollamaBadge')), 1 /* TEXT */))
|
|
2002
|
+
: _createCommentVNode("v-if", true),
|
|
2003
|
+
(config.baseUrl)
|
|
2004
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
2005
|
+
key: 2,
|
|
1915
2006
|
class: "card-subtitle card-subtitle-url"
|
|
1916
2007
|
}, _toDisplayString(config.baseUrl), 1 /* TEXT */))
|
|
1917
2008
|
: _createCommentVNode("v-if", true)
|
|
@@ -2585,31 +2676,163 @@ return function render(_ctx, _cache) {
|
|
|
2585
2676
|
_createElementVNode("button", {
|
|
2586
2677
|
class: "btn-session-refresh",
|
|
2587
2678
|
onClick: _ctx.loadActiveSessionDetail,
|
|
2588
|
-
disabled: _ctx.sessionDetailLoading || !_ctx.activeSession
|
|
2589
|
-
|
|
2679
|
+
disabled: _ctx.sessionDetailLoading || !_ctx.activeSession,
|
|
2680
|
+
title: _ctx.sessionDetailLoading ? _ctx.t('sessions.preview.loading') : _ctx.t('sessions.preview.refresh'),
|
|
2681
|
+
"aria-label": _ctx.sessionDetailLoading ? _ctx.t('sessions.preview.loading') : _ctx.t('sessions.preview.refresh')
|
|
2682
|
+
}, [
|
|
2683
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
2684
|
+
viewBox: "0 0 16 16",
|
|
2685
|
+
fill: "none",
|
|
2686
|
+
stroke: "currentColor",
|
|
2687
|
+
"stroke-width": "1.8",
|
|
2688
|
+
"stroke-linecap": "round",
|
|
2689
|
+
"stroke-linejoin": "round"
|
|
2690
|
+
}, [
|
|
2691
|
+
_createElementVNode("path", { d: "M2.5 8a5.5 5.5 0 0 1 9.4-3.8" }),
|
|
2692
|
+
_createElementVNode("path", { d: "M13.5 8a5.5 5.5 0 0 1-9.4 3.8" }),
|
|
2693
|
+
_createElementVNode("polyline", { points: "2.5 2 2.5 5 5.5 5" }),
|
|
2694
|
+
_createElementVNode("polyline", { points: "13.5 14 13.5 11 10.5 11" })
|
|
2695
|
+
]))
|
|
2696
|
+
], 8 /* PROPS */, ["onClick", "disabled", "title", "aria-label"]),
|
|
2590
2697
|
(_ctx.isDeleteAvailable(_ctx.activeSession))
|
|
2591
2698
|
? (_openBlock(), _createElementBlock("button", {
|
|
2592
2699
|
key: 0,
|
|
2593
2700
|
class: "btn-session-delete",
|
|
2594
2701
|
onClick: $event => (_ctx.deleteSession(_ctx.activeSession)),
|
|
2595
|
-
disabled: !_ctx.activeSession || _ctx.sessionsLoading || _ctx.sessionDeleting[_ctx.getSessionExportKey(_ctx.activeSession)]
|
|
2596
|
-
|
|
2702
|
+
disabled: !_ctx.activeSession || _ctx.sessionsLoading || _ctx.sessionDeleting[_ctx.getSessionExportKey(_ctx.activeSession)],
|
|
2703
|
+
title: (_ctx.activeSession && _ctx.sessionDeleting[_ctx.getSessionExportKey(_ctx.activeSession)]) ? (_ctx.sessionTrashEnabled === false ? _ctx.t('sessions.preview.deleting') : _ctx.t('sessions.preview.moving')) : (_ctx.sessionTrashEnabled === false ? _ctx.t('sessions.preview.deleteHard') : _ctx.t('sessions.preview.moveToTrash')),
|
|
2704
|
+
"aria-label": (_ctx.activeSession && _ctx.sessionDeleting[_ctx.getSessionExportKey(_ctx.activeSession)]) ? (_ctx.sessionTrashEnabled === false ? _ctx.t('sessions.preview.deleting') : _ctx.t('sessions.preview.moving')) : (_ctx.sessionTrashEnabled === false ? _ctx.t('sessions.preview.deleteHard') : _ctx.t('sessions.preview.moveToTrash'))
|
|
2705
|
+
}, [
|
|
2706
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
2707
|
+
viewBox: "0 0 16 16",
|
|
2708
|
+
fill: "none",
|
|
2709
|
+
stroke: "currentColor",
|
|
2710
|
+
"stroke-width": "1.8",
|
|
2711
|
+
"stroke-linecap": "round",
|
|
2712
|
+
"stroke-linejoin": "round"
|
|
2713
|
+
}, [
|
|
2714
|
+
_createElementVNode("polyline", { points: "3 4 4 4 13 4" }),
|
|
2715
|
+
_createElementVNode("path", { d: "M5.5 4V2.5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1V4" }),
|
|
2716
|
+
_createElementVNode("path", { d: "M12 4v9.5a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 13.5V4" })
|
|
2717
|
+
]))
|
|
2718
|
+
], 8 /* PROPS */, ["onClick", "disabled", "title", "aria-label"]))
|
|
2597
2719
|
: _createCommentVNode("v-if", true),
|
|
2598
2720
|
_createElementVNode("button", {
|
|
2599
2721
|
class: "btn-session-export",
|
|
2600
2722
|
onClick: $event => (_ctx.exportSession(_ctx.activeSession)),
|
|
2601
|
-
disabled: !_ctx.activeSession || _ctx.sessionExporting[_ctx.getSessionExportKey(_ctx.activeSession)]
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2723
|
+
disabled: !_ctx.activeSession || _ctx.sessionExporting[_ctx.getSessionExportKey(_ctx.activeSession)],
|
|
2724
|
+
title: (_ctx.activeSession && _ctx.sessionExporting[_ctx.getSessionExportKey(_ctx.activeSession)]) ? _ctx.t('sessions.preview.exporting') : _ctx.t('sessions.preview.export'),
|
|
2725
|
+
"aria-label": (_ctx.activeSession && _ctx.sessionExporting[_ctx.getSessionExportKey(_ctx.activeSession)]) ? _ctx.t('sessions.preview.exporting') : _ctx.t('sessions.preview.export')
|
|
2726
|
+
}, [
|
|
2727
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
2728
|
+
viewBox: "0 0 16 16",
|
|
2729
|
+
fill: "none",
|
|
2730
|
+
stroke: "currentColor",
|
|
2731
|
+
"stroke-width": "1.8",
|
|
2732
|
+
"stroke-linecap": "round",
|
|
2733
|
+
"stroke-linejoin": "round"
|
|
2734
|
+
}, [
|
|
2735
|
+
_createElementVNode("path", { d: "M8 2v8" }),
|
|
2736
|
+
_createElementVNode("polyline", { points: "4 7 8 10.5 12 7" }),
|
|
2737
|
+
_createElementVNode("path", { d: "M2.5 12v1.5a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1V12" })
|
|
2738
|
+
]))
|
|
2739
|
+
], 8 /* PROPS */, ["onClick", "disabled", "title", "aria-label"]),
|
|
2740
|
+
_createElementVNode("div", { class: "session-link-group" }, [
|
|
2741
|
+
_createElementVNode("button", {
|
|
2742
|
+
class: "btn-session-open",
|
|
2743
|
+
onClick: $event => (_ctx.copySessionLink(_ctx.activeSession)),
|
|
2744
|
+
disabled: !_ctx.activeSession || !_ctx.canBuildStandaloneUrl(_ctx.activeSession),
|
|
2745
|
+
title: _ctx.t('sessions.preview.copyLink'),
|
|
2746
|
+
"aria-label": _ctx.t('sessions.preview.copyLink')
|
|
2747
|
+
}, [
|
|
2748
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
2749
|
+
viewBox: "0 0 16 16",
|
|
2750
|
+
fill: "none",
|
|
2751
|
+
stroke: "currentColor",
|
|
2752
|
+
"stroke-width": "1.8",
|
|
2753
|
+
"stroke-linecap": "round",
|
|
2754
|
+
"stroke-linejoin": "round"
|
|
2755
|
+
}, [
|
|
2756
|
+
_createElementVNode("rect", {
|
|
2757
|
+
x: "6",
|
|
2758
|
+
y: "2.5",
|
|
2759
|
+
width: "4",
|
|
2760
|
+
height: "2",
|
|
2761
|
+
rx: "1"
|
|
2762
|
+
}),
|
|
2763
|
+
_createElementVNode("path", { d: "M4.5 4h7a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5" }),
|
|
2764
|
+
_createElementVNode("line", {
|
|
2765
|
+
x1: "6",
|
|
2766
|
+
y1: "7.5",
|
|
2767
|
+
x2: "10",
|
|
2768
|
+
y2: "7.5"
|
|
2769
|
+
}),
|
|
2770
|
+
_createElementVNode("line", {
|
|
2771
|
+
x1: "6",
|
|
2772
|
+
y1: "10",
|
|
2773
|
+
x2: "10",
|
|
2774
|
+
y2: "10"
|
|
2775
|
+
})
|
|
2776
|
+
]))
|
|
2777
|
+
], 8 /* PROPS */, ["onClick", "disabled", "title", "aria-label"]),
|
|
2778
|
+
_createElementVNode("button", {
|
|
2779
|
+
class: "btn-session-open",
|
|
2780
|
+
onClick: $event => (_ctx.openSessionLink(_ctx.activeSession)),
|
|
2781
|
+
disabled: !_ctx.activeSession || !_ctx.canBuildStandaloneUrl(_ctx.activeSession),
|
|
2782
|
+
title: _ctx.t('sessions.preview.openLink'),
|
|
2783
|
+
"aria-label": _ctx.t('sessions.preview.openLink')
|
|
2784
|
+
}, [
|
|
2785
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
2786
|
+
viewBox: "0 0 16 16",
|
|
2787
|
+
fill: "none",
|
|
2788
|
+
stroke: "currentColor",
|
|
2789
|
+
"stroke-width": "1.8",
|
|
2790
|
+
"stroke-linecap": "round",
|
|
2791
|
+
"stroke-linejoin": "round"
|
|
2792
|
+
}, [
|
|
2793
|
+
_createElementVNode("path", { d: "M12 2h-8.5A1.5 1.5 0 0 0 2 3.5v8A1.5 1.5 0 0 0 3.5 13h8a1.5 1.5 0 0 0 1.5-1.5v-3" }),
|
|
2794
|
+
_createElementVNode("path", { d: "M13 2v4h-4" }),
|
|
2795
|
+
_createElementVNode("path", { d: "M13 2L7 8" })
|
|
2796
|
+
]))
|
|
2797
|
+
], 8 /* PROPS */, ["onClick", "disabled", "title", "aria-label"])
|
|
2798
|
+
]),
|
|
2608
2799
|
_createElementVNode("button", {
|
|
2609
2800
|
class: "btn-session-open",
|
|
2610
2801
|
onClick: $event => (_ctx.copySessionPath(_ctx.activeSession)),
|
|
2611
|
-
disabled: !_ctx.activeSession || !_ctx.getSessionFilePath(_ctx.activeSession)
|
|
2612
|
-
|
|
2802
|
+
disabled: !_ctx.activeSession || !_ctx.getSessionFilePath(_ctx.activeSession),
|
|
2803
|
+
title: _ctx.t('sessions.preview.copyPath'),
|
|
2804
|
+
"aria-label": _ctx.t('sessions.preview.copyPath')
|
|
2805
|
+
}, [
|
|
2806
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
2807
|
+
viewBox: "0 0 16 16",
|
|
2808
|
+
fill: "none",
|
|
2809
|
+
stroke: "currentColor",
|
|
2810
|
+
"stroke-width": "1.8",
|
|
2811
|
+
"stroke-linecap": "round",
|
|
2812
|
+
"stroke-linejoin": "round"
|
|
2813
|
+
}, [
|
|
2814
|
+
_createElementVNode("rect", {
|
|
2815
|
+
x: "6",
|
|
2816
|
+
y: "2.5",
|
|
2817
|
+
width: "4",
|
|
2818
|
+
height: "2",
|
|
2819
|
+
rx: "1"
|
|
2820
|
+
}),
|
|
2821
|
+
_createElementVNode("path", { d: "M4.5 4h7a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5" }),
|
|
2822
|
+
_createElementVNode("line", {
|
|
2823
|
+
x1: "6",
|
|
2824
|
+
y1: "7.5",
|
|
2825
|
+
x2: "10",
|
|
2826
|
+
y2: "7.5"
|
|
2827
|
+
}),
|
|
2828
|
+
_createElementVNode("line", {
|
|
2829
|
+
x1: "6",
|
|
2830
|
+
y1: "10",
|
|
2831
|
+
x2: "10",
|
|
2832
|
+
y2: "10"
|
|
2833
|
+
})
|
|
2834
|
+
]))
|
|
2835
|
+
], 8 /* PROPS */, ["onClick", "disabled", "title", "aria-label"])
|
|
2613
2836
|
])
|
|
2614
2837
|
], 512 /* NEED_PATCH */),
|
|
2615
2838
|
(_ctx.sessionDetailLoading && !_ctx.sessionPreviewLoadingMore)
|
|
@@ -2915,80 +3138,106 @@ return function render(_ctx, _cache) {
|
|
|
2915
3138
|
}, [
|
|
2916
3139
|
_createElementVNode("div", { class: "usage-card-title" }, _toDisplayString(_ctx.t('usage.daily.title')), 1 /* TEXT */),
|
|
2917
3140
|
_createElementVNode("div", { class: "usage-wave-container" }, [
|
|
2918
|
-
(
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
"
|
|
2939
|
-
|
|
2940
|
-
}
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
|
|
2955
|
-
|
|
2956
|
-
}, null, 8 /* PROPS */, ["d"]),
|
|
2957
|
-
(_ctx.sessionsUsageSelectedDay)
|
|
2958
|
-
? (_openBlock(), _createElementBlock("line", {
|
|
2959
|
-
key: 0,
|
|
3141
|
+
_createElementVNode("div", { class: "usage-wave-yaxis" }, [
|
|
3142
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sessionUsageWave.yTicks, (tick) => {
|
|
3143
|
+
return (_openBlock(), _createElementBlock("span", {
|
|
3144
|
+
key: tick.value,
|
|
3145
|
+
class: "usage-wave-ytick",
|
|
3146
|
+
style: _normalizeStyle({ bottom: tick.percent + '%' })
|
|
3147
|
+
}, _toDisplayString(tick.label), 5 /* TEXT, STYLE */))
|
|
3148
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
3149
|
+
]),
|
|
3150
|
+
_createElementVNode("div", { class: "usage-wave-chart-area" }, [
|
|
3151
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
3152
|
+
class: "usage-wave-chart",
|
|
3153
|
+
viewBox: "0 0 800 140",
|
|
3154
|
+
preserveAspectRatio: "none"
|
|
3155
|
+
}, [
|
|
3156
|
+
_createElementVNode("defs", null, [
|
|
3157
|
+
_createElementVNode("linearGradient", {
|
|
3158
|
+
id: 'wave-gradient-' + _ctx.sessionsUsageTimeRange,
|
|
3159
|
+
x1: "0",
|
|
3160
|
+
y1: "0",
|
|
3161
|
+
x2: "0",
|
|
3162
|
+
y2: "1"
|
|
3163
|
+
}, [
|
|
3164
|
+
_createElementVNode("stop", {
|
|
3165
|
+
offset: "0%",
|
|
3166
|
+
"stop-color": 'var(--color-brand)',
|
|
3167
|
+
"stop-opacity": "0.35"
|
|
3168
|
+
}),
|
|
3169
|
+
_createElementVNode("stop", {
|
|
3170
|
+
offset: "100%",
|
|
3171
|
+
"stop-color": 'var(--color-brand)',
|
|
3172
|
+
"stop-opacity": "0"
|
|
3173
|
+
})
|
|
3174
|
+
], 8 /* PROPS */, ["id"])
|
|
3175
|
+
]),
|
|
3176
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sessionUsageWave.yTicks, (tick) => {
|
|
3177
|
+
return (_openBlock(), _createElementBlock("line", {
|
|
3178
|
+
key: 'g-' + tick.value,
|
|
2960
3179
|
x1: "0",
|
|
2961
3180
|
x2: _ctx.sessionUsageWave.width,
|
|
2962
|
-
y1:
|
|
2963
|
-
y2:
|
|
3181
|
+
y1: tick.y,
|
|
3182
|
+
y2: tick.y,
|
|
2964
3183
|
stroke: "currentColor",
|
|
2965
|
-
"stroke-width": "
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
class: "usage-wave-hover-line"
|
|
3184
|
+
"stroke-width": "0.5",
|
|
3185
|
+
opacity: "0.12",
|
|
3186
|
+
class: "usage-wave-gridline"
|
|
2969
3187
|
}, null, 8 /* PROPS */, ["x2", "y1", "y2"]))
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
3188
|
+
}), 128 /* KEYED_FRAGMENT */)),
|
|
3189
|
+
_createElementVNode("path", {
|
|
3190
|
+
d: _ctx.sessionUsageWave.areaPath,
|
|
3191
|
+
fill: 'url(#wave-gradient-' + _ctx.sessionsUsageTimeRange + ')',
|
|
3192
|
+
class: "usage-wave-area"
|
|
3193
|
+
}, null, 8 /* PROPS */, ["d", "fill"]),
|
|
3194
|
+
_createElementVNode("path", {
|
|
3195
|
+
d: _ctx.sessionUsageWave.linePath,
|
|
3196
|
+
fill: "none",
|
|
3197
|
+
stroke: 'var(--color-brand)',
|
|
3198
|
+
"stroke-width": "2.5",
|
|
3199
|
+
"stroke-linecap": "round",
|
|
3200
|
+
"stroke-linejoin": "round",
|
|
3201
|
+
class: "usage-wave-line"
|
|
3202
|
+
}, null, 8 /* PROPS */, ["d"]),
|
|
3203
|
+
(_ctx.sessionsUsageSelectedDay)
|
|
3204
|
+
? (_openBlock(), _createElementBlock("line", {
|
|
3205
|
+
key: 0,
|
|
3206
|
+
x1: "0",
|
|
3207
|
+
x2: _ctx.sessionUsageWave.width,
|
|
3208
|
+
y1: _ctx.sessionUsageWave.hoverY,
|
|
3209
|
+
y2: _ctx.sessionUsageWave.hoverY,
|
|
3210
|
+
stroke: "currentColor",
|
|
3211
|
+
"stroke-width": "1",
|
|
3212
|
+
"stroke-dasharray": "4 4",
|
|
3213
|
+
opacity: "0.5",
|
|
3214
|
+
class: "usage-wave-hover-line"
|
|
3215
|
+
}, null, 8 /* PROPS */, ["x2", "y1", "y2"]))
|
|
3216
|
+
: _createCommentVNode("v-if", true),
|
|
3217
|
+
(_ctx.sessionsUsageSelectedDay)
|
|
3218
|
+
? (_openBlock(), _createElementBlock("circle", {
|
|
3219
|
+
key: 1,
|
|
3220
|
+
cx: _ctx.sessionUsageWave.hoverX,
|
|
3221
|
+
cy: _ctx.sessionUsageWave.hoverY,
|
|
3222
|
+
r: "5",
|
|
3223
|
+
fill: 'var(--color-surface)',
|
|
3224
|
+
stroke: 'var(--color-brand)',
|
|
3225
|
+
"stroke-width": "2.5",
|
|
3226
|
+
class: "usage-wave-hover-point"
|
|
3227
|
+
}, null, 8 /* PROPS */, ["cx", "cy"]))
|
|
3228
|
+
: _createCommentVNode("v-if", true)
|
|
3229
|
+
])),
|
|
3230
|
+
_createElementVNode("div", { class: "usage-wave-labels" }, [
|
|
3231
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sessionUsageWave.labels, (label) => {
|
|
3232
|
+
return (_openBlock(), _createElementBlock("button", {
|
|
3233
|
+
key: label.key,
|
|
3234
|
+
type: "button",
|
|
3235
|
+
class: _normalizeClass(["usage-wave-label", { active: _ctx.sessionsUsageSelectedDay === label.key }]),
|
|
3236
|
+
"aria-pressed": _ctx.sessionsUsageSelectedDay === label.key,
|
|
3237
|
+
onClick: $event => (_ctx.selectSessionsUsageDay(label.key))
|
|
3238
|
+
}, _toDisplayString(label.text), 11 /* TEXT, CLASS, PROPS */, ["aria-pressed", "onClick"]))
|
|
3239
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
3240
|
+
])
|
|
2992
3241
|
])
|
|
2993
3242
|
]),
|
|
2994
3243
|
(_ctx.sessionsUsageSelectedDaySummary)
|
|
@@ -5299,15 +5548,169 @@ return function render(_ctx, _cache) {
|
|
|
5299
5548
|
style: {"display":"none"},
|
|
5300
5549
|
onChange: _ctx.handlePromptTemplatesImportChange
|
|
5301
5550
|
}, null, 40 /* PROPS, NEED_HYDRATION */, ["onChange"]),
|
|
5302
|
-
_createCommentVNode("
|
|
5303
|
-
(_ctx.
|
|
5551
|
+
_createCommentVNode(" Prompts editor "),
|
|
5552
|
+
(_ctx.mainTab === 'prompts')
|
|
5304
5553
|
? (_openBlock(), _createElementBlock("div", {
|
|
5305
5554
|
key: 1,
|
|
5555
|
+
class: "mode-content mode-cards",
|
|
5556
|
+
id: "panel-prompts",
|
|
5557
|
+
role: "tabpanel",
|
|
5558
|
+
"aria-labelledby": "tab-prompts"
|
|
5559
|
+
}, [
|
|
5560
|
+
_createElementVNode("div", { class: "segmented-control" }, [
|
|
5561
|
+
_createElementVNode("button", {
|
|
5562
|
+
type: "button",
|
|
5563
|
+
class: _normalizeClass(['segment', { active: _ctx.promptsSubTab === 'codex' }]),
|
|
5564
|
+
onClick: $event => (_ctx.switchPromptsSubTab('codex'))
|
|
5565
|
+
}, _toDisplayString(_ctx.t('prompts.subTab.codex')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]),
|
|
5566
|
+
_createElementVNode("button", {
|
|
5567
|
+
type: "button",
|
|
5568
|
+
class: _normalizeClass(['segment', { active: _ctx.promptsSubTab === 'claude-md' }]),
|
|
5569
|
+
onClick: $event => (_ctx.switchPromptsSubTab('claude-md'))
|
|
5570
|
+
}, _toDisplayString(_ctx.t('prompts.subTab.claude')), 11 /* TEXT, CLASS, PROPS */, ["onClick"])
|
|
5571
|
+
]),
|
|
5572
|
+
_createElementVNode("div", { class: "prompts-editor" }, [
|
|
5573
|
+
_createElementVNode("div", { class: "prompts-editor-toolbar" }, [
|
|
5574
|
+
_createElementVNode("div", { class: "form-hint" }, [
|
|
5575
|
+
_createTextVNode(_toDisplayString(_ctx.agentsPath || _ctx.t('common.notLoaded')) + " ", 1 /* TEXT */),
|
|
5576
|
+
(_ctx.agentsPath)
|
|
5577
|
+
? (_openBlock(), _createElementBlock("span", { key: 0 }, " (" + _toDisplayString(_ctx.agentsExists ? _ctx.t('common.exists') : _ctx.t('common.notExistsWillCreateOnSave')) + ") ", 1 /* TEXT */))
|
|
5578
|
+
: _createCommentVNode("v-if", true)
|
|
5579
|
+
]),
|
|
5580
|
+
_createElementVNode("div", { class: "prompts-editor-actions" }, [
|
|
5581
|
+
_createElementVNode("div", { class: "prompts-editor-group prompts-editor-group--secondary" }, [
|
|
5582
|
+
_createElementVNode("button", {
|
|
5583
|
+
class: "btn-mini",
|
|
5584
|
+
onClick: _ctx.exportAgentsContent,
|
|
5585
|
+
disabled: _ctx.agentsLoading
|
|
5586
|
+
}, _toDisplayString(_ctx.t('modal.agents.export')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
5587
|
+
_createElementVNode("button", {
|
|
5588
|
+
class: "btn-mini",
|
|
5589
|
+
onClick: _ctx.copyAgentsContent,
|
|
5590
|
+
disabled: _ctx.agentsLoading
|
|
5591
|
+
}, _toDisplayString(_ctx.t('modal.agents.copy')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
5592
|
+
_createElementVNode("button", {
|
|
5593
|
+
class: "btn-mini",
|
|
5594
|
+
onClick: _ctx.pasteAgentsContent,
|
|
5595
|
+
disabled: _ctx.agentsLoading || _ctx.agentsSaving || _ctx.agentsDiffVisible
|
|
5596
|
+
}, _toDisplayString(_ctx.t('common.paste')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
5597
|
+
]),
|
|
5598
|
+
_createElementVNode("div", { class: "prompts-editor-group prompts-editor-group--workflow" }, [
|
|
5599
|
+
_createElementVNode("button", {
|
|
5600
|
+
class: "btn-mini",
|
|
5601
|
+
onClick: _ctx.loadPromptsContent,
|
|
5602
|
+
disabled: _ctx.agentsSaving || _ctx.agentsDiffLoading
|
|
5603
|
+
}, _toDisplayString(_ctx.t('common.cancel')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
5604
|
+
(_ctx.agentsDiffVisible)
|
|
5605
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
5606
|
+
key: 0,
|
|
5607
|
+
class: "btn-mini",
|
|
5608
|
+
onClick: _ctx.resetAgentsDiffState,
|
|
5609
|
+
disabled: _ctx.agentsSaving || _ctx.agentsDiffLoading
|
|
5610
|
+
}, _toDisplayString(_ctx.t('common.backToEdit')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]))
|
|
5611
|
+
: _createCommentVNode("v-if", true),
|
|
5612
|
+
_createElementVNode("button", {
|
|
5613
|
+
class: "btn-mini btn-confirm-mini",
|
|
5614
|
+
onClick: _ctx.applyAgentsContent,
|
|
5615
|
+
disabled: _ctx.agentsSaving || _ctx.agentsLoading || _ctx.agentsDiffLoading || (!_ctx.agentsDiffVisible && !_ctx.hasAgentsContentChanged()) || (_ctx.agentsDiffVisible && !_ctx.agentsDiffHasChanges)
|
|
5616
|
+
}, _toDisplayString(_ctx.agentsSaving ? (_ctx.agentsDiffVisible ? _ctx.t('common.saving') : _ctx.t('common.previewing')) : (_ctx.agentsDiffVisible ? _ctx.t('common.save') : _ctx.t('common.preview'))), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
5617
|
+
])
|
|
5618
|
+
])
|
|
5619
|
+
]),
|
|
5620
|
+
_createElementVNode("div", { class: "form-group" }, [
|
|
5621
|
+
(_ctx.agentsDiffVisible)
|
|
5622
|
+
? (_openBlock(), _createElementBlock("div", { key: 0 }, [
|
|
5623
|
+
(!_ctx.agentsDiffLoading && !_ctx.agentsDiffError && !_ctx.agentsDiffTruncated && (_ctx.agentsDiffStats.added || _ctx.agentsDiffStats.removed))
|
|
5624
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
5625
|
+
key: 0,
|
|
5626
|
+
class: "agents-diff-summary"
|
|
5627
|
+
}, [
|
|
5628
|
+
_createElementVNode("span", { class: "agents-diff-stat add" }, "+" + _toDisplayString(_ctx.agentsDiffStats.added), 1 /* TEXT */),
|
|
5629
|
+
_createElementVNode("span", { class: "agents-diff-stat del" }, "-" + _toDisplayString(_ctx.agentsDiffStats.removed), 1 /* TEXT */)
|
|
5630
|
+
]))
|
|
5631
|
+
: _createCommentVNode("v-if", true),
|
|
5632
|
+
(_ctx.agentsDiffLoading)
|
|
5633
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
5634
|
+
key: 1,
|
|
5635
|
+
class: "state-message"
|
|
5636
|
+
}, _toDisplayString(_ctx.t('diff.generating')), 1 /* TEXT */))
|
|
5637
|
+
: (_ctx.agentsDiffError)
|
|
5638
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
5639
|
+
key: 2,
|
|
5640
|
+
class: "state-message error"
|
|
5641
|
+
}, _toDisplayString(_ctx.agentsDiffError), 1 /* TEXT */))
|
|
5642
|
+
: (_ctx.agentsDiffTruncated)
|
|
5643
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
5644
|
+
key: 3,
|
|
5645
|
+
class: "agents-diff-empty"
|
|
5646
|
+
}, _toDisplayString(_ctx.t('diff.tooLargeSkip')), 1 /* TEXT */))
|
|
5647
|
+
: (!_ctx.agentsDiffHasChanges)
|
|
5648
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
5649
|
+
key: 4,
|
|
5650
|
+
class: "agents-diff-empty"
|
|
5651
|
+
}, _toDisplayString(_ctx.t('diff.noChanges')), 1 /* TEXT */))
|
|
5652
|
+
: (_openBlock(), _createElementBlock("div", {
|
|
5653
|
+
key: 5,
|
|
5654
|
+
class: "agents-diff-view agents-diff-editor"
|
|
5655
|
+
}, [
|
|
5656
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.agentsDiffLines, (line, index) => {
|
|
5657
|
+
return (_openBlock(), _createElementBlock("div", {
|
|
5658
|
+
key: line.key || (line.type + '-' + index),
|
|
5659
|
+
class: _normalizeClass(['agents-diff-line', line.type])
|
|
5660
|
+
}, [
|
|
5661
|
+
_createElementVNode("span", { class: "agents-diff-line-sign" }, _toDisplayString(line.type === 'add' ? '+' : (line.type === 'del' ? '-' : ' ')), 1 /* TEXT */),
|
|
5662
|
+
_createElementVNode("span", { class: "agents-diff-line-text" }, _toDisplayString(line.value), 1 /* TEXT */)
|
|
5663
|
+
], 2 /* CLASS */))
|
|
5664
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
5665
|
+
]))
|
|
5666
|
+
]))
|
|
5667
|
+
: _createCommentVNode("v-if", true),
|
|
5668
|
+
_createElementVNode("div", {
|
|
5669
|
+
class: _normalizeClass(['editor-frame', { 'editor-frame--loading': _ctx.agentsLoading }])
|
|
5670
|
+
}, [
|
|
5671
|
+
(_ctx.agentsLoading)
|
|
5672
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
5673
|
+
key: 0,
|
|
5674
|
+
class: "editor-skeleton"
|
|
5675
|
+
}, [
|
|
5676
|
+
(_openBlock(), _createElementBlock(_Fragment, null, _renderList(6, (i) => {
|
|
5677
|
+
return _createElementVNode("div", {
|
|
5678
|
+
class: "skeleton-line",
|
|
5679
|
+
key: i
|
|
5680
|
+
})
|
|
5681
|
+
}), 64 /* STABLE_FRAGMENT */))
|
|
5682
|
+
]))
|
|
5683
|
+
: _createCommentVNode("v-if", true),
|
|
5684
|
+
_withDirectives(_createElementVNode("textarea", {
|
|
5685
|
+
"onUpdate:modelValue": $event => ((_ctx.agentsContent) = $event),
|
|
5686
|
+
class: "form-input template-editor",
|
|
5687
|
+
spellcheck: "false",
|
|
5688
|
+
readonly: _ctx.agentsLoading || _ctx.agentsSaving || _ctx.agentsDiffVisible,
|
|
5689
|
+
onInput: _ctx.onAgentsContentInput,
|
|
5690
|
+
placeholder: _ctx.t(_ctx.promptsSubTab === 'claude-md' ? 'modal.agents.placeholder.claudeMd' : 'modal.agents.placeholder')
|
|
5691
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["onUpdate:modelValue", "readonly", "onInput", "placeholder"]), [
|
|
5692
|
+
[_vModelText, _ctx.agentsContent]
|
|
5693
|
+
])
|
|
5694
|
+
], 2 /* CLASS */),
|
|
5695
|
+
(_ctx.promptsContextHint)
|
|
5696
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
5697
|
+
key: 1,
|
|
5698
|
+
class: _normalizeClass(['prompts-context-hint', { 'prompts-context-hint--warn': _ctx.promptsContextHint.warn }])
|
|
5699
|
+
}, _toDisplayString(_ctx.promptsContextHint.text), 3 /* TEXT, CLASS */))
|
|
5700
|
+
: _createCommentVNode("v-if", true)
|
|
5701
|
+
])
|
|
5702
|
+
])
|
|
5703
|
+
]))
|
|
5704
|
+
: _createCommentVNode("v-if", true),
|
|
5705
|
+
_createCommentVNode(" 加载状态 "),
|
|
5706
|
+
(_ctx.loading && _ctx.mainTab !== 'usage')
|
|
5707
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
5708
|
+
key: 2,
|
|
5306
5709
|
class: "state-message"
|
|
5307
5710
|
}, _toDisplayString(_ctx.t('app.loadingConfig')), 1 /* TEXT */))
|
|
5308
5711
|
: (_ctx.initError)
|
|
5309
5712
|
? (_openBlock(), _createElementBlock("div", {
|
|
5310
|
-
key:
|
|
5713
|
+
key: 3,
|
|
5311
5714
|
class: "state-message error"
|
|
5312
5715
|
}, [
|
|
5313
5716
|
_createCommentVNode(" 错误状态 "),
|
|
@@ -5320,7 +5723,7 @@ return function render(_ctx, _cache) {
|
|
|
5320
5723
|
_createCommentVNode(" 添加提供商模态框 "),
|
|
5321
5724
|
(_ctx.showAddModal)
|
|
5322
5725
|
? (_openBlock(), _createElementBlock("div", {
|
|
5323
|
-
key:
|
|
5726
|
+
key: 3,
|
|
5324
5727
|
class: "modal-overlay",
|
|
5325
5728
|
onClick: _withModifiers(_ctx.closeAddModal, ["self"])
|
|
5326
5729
|
}, [
|
|
@@ -5477,7 +5880,7 @@ return function render(_ctx, _cache) {
|
|
|
5477
5880
|
_createCommentVNode(" 编辑提供商模态框 "),
|
|
5478
5881
|
(_ctx.showEditModal)
|
|
5479
5882
|
? (_openBlock(), _createElementBlock("div", {
|
|
5480
|
-
key:
|
|
5883
|
+
key: 4,
|
|
5481
5884
|
class: "modal-overlay",
|
|
5482
5885
|
onClick: _withModifiers(_ctx.closeEditModal, ["self"])
|
|
5483
5886
|
}, [
|
|
@@ -5589,7 +5992,7 @@ return function render(_ctx, _cache) {
|
|
|
5589
5992
|
_createCommentVNode(" 添加模型模态框 "),
|
|
5590
5993
|
(_ctx.showModelModal)
|
|
5591
5994
|
? (_openBlock(), _createElementBlock("div", {
|
|
5592
|
-
key:
|
|
5995
|
+
key: 5,
|
|
5593
5996
|
class: "modal-overlay",
|
|
5594
5997
|
onClick: _withModifiers(_ctx.closeModelModal, ["self"])
|
|
5595
5998
|
}, [
|
|
@@ -5629,7 +6032,7 @@ return function render(_ctx, _cache) {
|
|
|
5629
6032
|
_createCommentVNode(" 模型列表模态框 "),
|
|
5630
6033
|
(_ctx.showModelListModal)
|
|
5631
6034
|
? (_openBlock(), _createElementBlock("div", {
|
|
5632
|
-
key:
|
|
6035
|
+
key: 6,
|
|
5633
6036
|
class: "modal-overlay",
|
|
5634
6037
|
onClick: _withModifiers($event => (_ctx.showModelListModal = false), ["self"])
|
|
5635
6038
|
}, [
|
|
@@ -5670,7 +6073,7 @@ return function render(_ctx, _cache) {
|
|
|
5670
6073
|
_createCommentVNode(" 添加Claude配置模态框 "),
|
|
5671
6074
|
(_ctx.showClaudeConfigModal)
|
|
5672
6075
|
? (_openBlock(), _createElementBlock("div", {
|
|
5673
|
-
key:
|
|
6076
|
+
key: 7,
|
|
5674
6077
|
class: "modal-overlay",
|
|
5675
6078
|
onClick: _withModifiers(_ctx.closeClaudeConfigModal, ["self"])
|
|
5676
6079
|
}, [
|
|
@@ -5791,6 +6194,20 @@ return function render(_ctx, _cache) {
|
|
|
5791
6194
|
}, _toDisplayString(_ctx.claudeConfigFieldError('add', 'model')), 1 /* TEXT */))
|
|
5792
6195
|
: _createCommentVNode("v-if", true)
|
|
5793
6196
|
]),
|
|
6197
|
+
_createElementVNode("div", { class: "form-group" }, [
|
|
6198
|
+
_createElementVNode("label", { class: "form-label" }, _toDisplayString(_ctx.t('claude.targetApi.label')), 1 /* TEXT */),
|
|
6199
|
+
_withDirectives(_createElementVNode("select", {
|
|
6200
|
+
"onUpdate:modelValue": $event => ((_ctx.newClaudeConfig.targetApi) = $event),
|
|
6201
|
+
class: "form-input"
|
|
6202
|
+
}, [
|
|
6203
|
+
_createElementVNode("option", { value: "responses" }, _toDisplayString(_ctx.t('claude.targetApi.responses')), 1 /* TEXT */),
|
|
6204
|
+
_createElementVNode("option", { value: "chat_completions" }, _toDisplayString(_ctx.t('claude.targetApi.chatCompletions')), 1 /* TEXT */),
|
|
6205
|
+
_createElementVNode("option", { value: "ollama" }, _toDisplayString(_ctx.t('claude.targetApi.ollama')), 1 /* TEXT */)
|
|
6206
|
+
], 8 /* PROPS */, ["onUpdate:modelValue"]), [
|
|
6207
|
+
[_vModelSelect, _ctx.newClaudeConfig.targetApi]
|
|
6208
|
+
]),
|
|
6209
|
+
_createElementVNode("div", { class: "form-hint" }, _toDisplayString(_ctx.t('claude.targetApi.hint')), 1 /* TEXT */)
|
|
6210
|
+
]),
|
|
5794
6211
|
_createElementVNode("div", { class: "btn-group" }, [
|
|
5795
6212
|
_createElementVNode("button", {
|
|
5796
6213
|
class: "btn btn-cancel",
|
|
@@ -5808,7 +6225,7 @@ return function render(_ctx, _cache) {
|
|
|
5808
6225
|
_createCommentVNode(" 编辑Claude配置模态框 "),
|
|
5809
6226
|
(_ctx.showEditConfigModal)
|
|
5810
6227
|
? (_openBlock(), _createElementBlock("div", {
|
|
5811
|
-
key:
|
|
6228
|
+
key: 8,
|
|
5812
6229
|
class: "modal-overlay",
|
|
5813
6230
|
onClick: _withModifiers(_ctx.closeEditConfigModal, ["self"])
|
|
5814
6231
|
}, [
|
|
@@ -5930,6 +6347,20 @@ return function render(_ctx, _cache) {
|
|
|
5930
6347
|
}, _toDisplayString(_ctx.claudeConfigFieldError('edit', 'model')), 1 /* TEXT */))
|
|
5931
6348
|
: _createCommentVNode("v-if", true)
|
|
5932
6349
|
]),
|
|
6350
|
+
_createElementVNode("div", { class: "form-group" }, [
|
|
6351
|
+
_createElementVNode("label", { class: "form-label" }, _toDisplayString(_ctx.t('claude.targetApi.label')), 1 /* TEXT */),
|
|
6352
|
+
_withDirectives(_createElementVNode("select", {
|
|
6353
|
+
"onUpdate:modelValue": $event => ((_ctx.editingConfig.targetApi) = $event),
|
|
6354
|
+
class: "form-input"
|
|
6355
|
+
}, [
|
|
6356
|
+
_createElementVNode("option", { value: "responses" }, _toDisplayString(_ctx.t('claude.targetApi.responses')), 1 /* TEXT */),
|
|
6357
|
+
_createElementVNode("option", { value: "chat_completions" }, _toDisplayString(_ctx.t('claude.targetApi.chatCompletions')), 1 /* TEXT */),
|
|
6358
|
+
_createElementVNode("option", { value: "ollama" }, _toDisplayString(_ctx.t('claude.targetApi.ollama')), 1 /* TEXT */)
|
|
6359
|
+
], 8 /* PROPS */, ["onUpdate:modelValue"]), [
|
|
6360
|
+
[_vModelSelect, _ctx.editingConfig.targetApi]
|
|
6361
|
+
]),
|
|
6362
|
+
_createElementVNode("div", { class: "form-hint" }, _toDisplayString(_ctx.t('claude.targetApi.hint')), 1 /* TEXT */)
|
|
6363
|
+
]),
|
|
5933
6364
|
_createElementVNode("div", { class: "btn-group" }, [
|
|
5934
6365
|
_createElementVNode("button", {
|
|
5935
6366
|
class: "btn btn-cancel",
|
|
@@ -5947,7 +6378,7 @@ return function render(_ctx, _cache) {
|
|
|
5947
6378
|
_createCommentVNode(" Codex bridge pool modal "),
|
|
5948
6379
|
(_ctx.showCodexBridgePoolModal)
|
|
5949
6380
|
? (_openBlock(), _createElementBlock("div", {
|
|
5950
|
-
key:
|
|
6381
|
+
key: 9,
|
|
5951
6382
|
class: "modal-overlay",
|
|
5952
6383
|
onClick: _withModifiers($event => (_ctx.showCodexBridgePoolModal = false), ["self"])
|
|
5953
6384
|
}, [
|
|
@@ -6040,7 +6471,7 @@ return function render(_ctx, _cache) {
|
|
|
6040
6471
|
: _createCommentVNode("v-if", true),
|
|
6041
6472
|
(_ctx.showClaudeBridgePoolModal)
|
|
6042
6473
|
? (_openBlock(), _createElementBlock("div", {
|
|
6043
|
-
key:
|
|
6474
|
+
key: 10,
|
|
6044
6475
|
class: "modal-overlay",
|
|
6045
6476
|
onClick: _withModifiers($event => (_ctx.showClaudeBridgePoolModal = false), ["self"])
|
|
6046
6477
|
}, [
|
|
@@ -6134,7 +6565,7 @@ return function render(_ctx, _cache) {
|
|
|
6134
6565
|
_createCommentVNode(" Webhook settings modal "),
|
|
6135
6566
|
(_ctx.showWebhookModal)
|
|
6136
6567
|
? (_openBlock(), _createElementBlock("div", {
|
|
6137
|
-
key:
|
|
6568
|
+
key: 11,
|
|
6138
6569
|
class: "modal-overlay",
|
|
6139
6570
|
onClick: _withModifiers(_ctx.closeWebhookModal, ["self"])
|
|
6140
6571
|
}, [
|
|
@@ -6207,7 +6638,7 @@ return function render(_ctx, _cache) {
|
|
|
6207
6638
|
: _createCommentVNode("v-if", true),
|
|
6208
6639
|
(_ctx.showOpenclawConfigModal)
|
|
6209
6640
|
? (_openBlock(), _createElementBlock("div", {
|
|
6210
|
-
key:
|
|
6641
|
+
key: 12,
|
|
6211
6642
|
class: "modal-overlay",
|
|
6212
6643
|
onClick: _withModifiers($event => (!(_ctx.openclawSaving || _ctx.openclawApplying) && _ctx.closeOpenclawConfigModal()), ["self"])
|
|
6213
6644
|
}, [
|
|
@@ -6919,7 +7350,7 @@ return function render(_ctx, _cache) {
|
|
|
6919
7350
|
: _createCommentVNode("v-if", true),
|
|
6920
7351
|
(_ctx.showConfigTemplateModal)
|
|
6921
7352
|
? (_openBlock(), _createElementBlock("div", {
|
|
6922
|
-
key:
|
|
7353
|
+
key: 13,
|
|
6923
7354
|
class: "modal-overlay",
|
|
6924
7355
|
onClick: _withModifiers($event => (!_ctx.configTemplateApplying && _ctx.closeConfigTemplateModal()), ["self"])
|
|
6925
7356
|
}, [
|
|
@@ -7064,7 +7495,7 @@ return function render(_ctx, _cache) {
|
|
|
7064
7495
|
: _createCommentVNode("v-if", true),
|
|
7065
7496
|
(_ctx.showAgentsModal)
|
|
7066
7497
|
? (_openBlock(), _createElementBlock("div", {
|
|
7067
|
-
key:
|
|
7498
|
+
key: 14,
|
|
7068
7499
|
class: "modal-overlay",
|
|
7069
7500
|
onClick: _withModifiers(_ctx.closeAgentsModal, ["self"])
|
|
7070
7501
|
}, [
|
|
@@ -7094,7 +7525,26 @@ return function render(_ctx, _cache) {
|
|
|
7094
7525
|
class: "btn-mini btn-modal-copy",
|
|
7095
7526
|
onClick: _ctx.pasteAgentsContent,
|
|
7096
7527
|
disabled: _ctx.agentsLoading || _ctx.agentsSaving || _ctx.agentsDiffVisible
|
|
7097
|
-
}, _toDisplayString(_ctx.t('common.paste')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
7528
|
+
}, _toDisplayString(_ctx.t('common.paste')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
7529
|
+
_createElementVNode("span", { class: "prompts-editor-actions-sep" }),
|
|
7530
|
+
_createElementVNode("button", {
|
|
7531
|
+
class: "btn-mini",
|
|
7532
|
+
onClick: _ctx.closeAgentsModal,
|
|
7533
|
+
disabled: _ctx.agentsSaving || _ctx.agentsDiffLoading
|
|
7534
|
+
}, _toDisplayString(_ctx.t('common.cancel')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
7535
|
+
(_ctx.agentsDiffVisible)
|
|
7536
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
7537
|
+
key: 0,
|
|
7538
|
+
class: "btn-mini",
|
|
7539
|
+
onClick: _ctx.resetAgentsDiffState,
|
|
7540
|
+
disabled: _ctx.agentsSaving || _ctx.agentsDiffLoading
|
|
7541
|
+
}, _toDisplayString(_ctx.t('common.backToEdit')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]))
|
|
7542
|
+
: _createCommentVNode("v-if", true),
|
|
7543
|
+
_createElementVNode("button", {
|
|
7544
|
+
class: "btn-mini btn-confirm-mini",
|
|
7545
|
+
onClick: _ctx.applyAgentsContent,
|
|
7546
|
+
disabled: _ctx.agentsSaving || _ctx.agentsLoading || _ctx.agentsDiffLoading || (_ctx.agentsDiffVisible && !_ctx.agentsDiffHasChanges)
|
|
7547
|
+
}, _toDisplayString(_ctx.agentsSaving ? (_ctx.agentsDiffVisible ? _ctx.t('common.saving') : _ctx.t('common.previewing')) : (_ctx.agentsDiffVisible ? _ctx.t('common.save') : _ctx.t('common.preview'))), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
7098
7548
|
])
|
|
7099
7549
|
]),
|
|
7100
7550
|
_createElementVNode("div", { class: "modal-editor-body" }, [
|
|
@@ -7206,33 +7656,13 @@ return function render(_ctx, _cache) {
|
|
|
7206
7656
|
}, _toDisplayString(_ctx.t('diff.viewHint.preview')), 1 /* TEXT */))
|
|
7207
7657
|
])
|
|
7208
7658
|
])
|
|
7209
|
-
]),
|
|
7210
|
-
_createElementVNode("div", { class: "btn-group modal-editor-footer" }, [
|
|
7211
|
-
_createElementVNode("button", {
|
|
7212
|
-
class: "btn btn-cancel",
|
|
7213
|
-
onClick: _ctx.closeAgentsModal,
|
|
7214
|
-
disabled: _ctx.agentsSaving || _ctx.agentsDiffLoading
|
|
7215
|
-
}, _toDisplayString(_ctx.t('common.cancel')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
7216
|
-
(_ctx.agentsDiffVisible)
|
|
7217
|
-
? (_openBlock(), _createElementBlock("button", {
|
|
7218
|
-
key: 0,
|
|
7219
|
-
class: "btn",
|
|
7220
|
-
onClick: _ctx.resetAgentsDiffState,
|
|
7221
|
-
disabled: _ctx.agentsSaving || _ctx.agentsDiffLoading
|
|
7222
|
-
}, _toDisplayString(_ctx.t('common.backToEdit')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]))
|
|
7223
|
-
: _createCommentVNode("v-if", true),
|
|
7224
|
-
_createElementVNode("button", {
|
|
7225
|
-
class: "btn btn-confirm",
|
|
7226
|
-
onClick: _ctx.applyAgentsContent,
|
|
7227
|
-
disabled: _ctx.agentsSaving || _ctx.agentsLoading || _ctx.agentsDiffLoading || (_ctx.agentsDiffVisible && !_ctx.agentsDiffHasChanges)
|
|
7228
|
-
}, _toDisplayString(_ctx.agentsSaving ? (_ctx.agentsDiffVisible ? _ctx.t('common.applying') : _ctx.t('common.confirming')) : (_ctx.agentsDiffVisible ? _ctx.t('common.apply') : _ctx.t('common.confirm'))), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
7229
7659
|
])
|
|
7230
7660
|
])
|
|
7231
7661
|
], 8 /* PROPS */, ["onClick"]))
|
|
7232
7662
|
: _createCommentVNode("v-if", true),
|
|
7233
7663
|
(_ctx.showSkillsModal)
|
|
7234
7664
|
? (_openBlock(), _createElementBlock("div", {
|
|
7235
|
-
key:
|
|
7665
|
+
key: 15,
|
|
7236
7666
|
class: "modal-overlay",
|
|
7237
7667
|
onClick: _withModifiers(_ctx.closeSkillsModal, ["self"])
|
|
7238
7668
|
}, [
|
|
@@ -7530,7 +7960,7 @@ return function render(_ctx, _cache) {
|
|
|
7530
7960
|
}, null, 40 /* PROPS, NEED_HYDRATION */, ["onChange"]),
|
|
7531
7961
|
(_ctx.showHealthCheckModal)
|
|
7532
7962
|
? (_openBlock(), _createElementBlock("div", {
|
|
7533
|
-
key:
|
|
7963
|
+
key: 16,
|
|
7534
7964
|
class: "modal-overlay",
|
|
7535
7965
|
onClick: _withModifiers($event => (_ctx.showHealthCheckModal = false), ["self"])
|
|
7536
7966
|
}, [
|
|
@@ -7621,7 +8051,7 @@ return function render(_ctx, _cache) {
|
|
|
7621
8051
|
: _createCommentVNode("v-if", true),
|
|
7622
8052
|
(_ctx.showConfirmDialog)
|
|
7623
8053
|
? (_openBlock(), _createElementBlock("div", {
|
|
7624
|
-
key:
|
|
8054
|
+
key: 17,
|
|
7625
8055
|
class: "modal-overlay",
|
|
7626
8056
|
onClick: _withModifiers(_ctx.closeConfirmDialog, ["self"])
|
|
7627
8057
|
}, [
|
|
@@ -7659,7 +8089,7 @@ return function render(_ctx, _cache) {
|
|
|
7659
8089
|
_createCommentVNode(" Toast "),
|
|
7660
8090
|
(_ctx.message)
|
|
7661
8091
|
? (_openBlock(), _createElementBlock("div", {
|
|
7662
|
-
key:
|
|
8092
|
+
key: 18,
|
|
7663
8093
|
class: _normalizeClass(['toast', _ctx.messageType]),
|
|
7664
8094
|
role: "status",
|
|
7665
8095
|
"aria-live": "polite",
|