codexmate 0.1.10 → 0.1.12
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 +0 -4
- package/README.vi.md +0 -4
- package/README.zh.md +0 -4
- package/cli/agents-files.js +27 -3
- package/cli/prompt-history.js +171 -0
- package/cli/system-prompt-files.js +20 -2
- package/cli.js +23 -1
- package/package.json +1 -1
- package/web-ui/app.js +15 -0
- package/web-ui/modules/app.methods.agents.mjs +90 -0
- package/web-ui/modules/app.methods.navigation.mjs +7 -1
- package/web-ui/modules/app.methods.session-actions.mjs +57 -0
- package/web-ui/modules/app.methods.system-prompt.mjs +81 -0
- package/web-ui/modules/app.methods.web-ui-preferences.mjs +6 -0
- package/web-ui/modules/i18n/locales/en.mjs +9 -0
- package/web-ui/modules/i18n/locales/ja.mjs +9 -0
- package/web-ui/modules/i18n/locales/vi.mjs +9 -0
- package/web-ui/modules/i18n/locales/zh-tw.mjs +9 -0
- package/web-ui/modules/i18n/locales/zh.mjs +9 -0
- package/web-ui/partials/index/layout-header.html +5 -0
- package/web-ui/partials/index/panel-config-claude.html +3 -3
- package/web-ui/partials/index/panel-config-codex.html +3 -3
- package/web-ui/partials/index/panel-config-kilocode.html +5 -5
- package/web-ui/partials/index/panel-config-openclaw.html +3 -3
- package/web-ui/partials/index/panel-config-opencode.html +5 -5
- package/web-ui/partials/index/panel-prompts.html +52 -0
- package/web-ui/partials/index/panel-sessions.html +12 -0
- package/web-ui/partials/index/panel-settings.html +35 -0
- package/web-ui/res/web-ui-render.precompiled.js +517 -186
- package/web-ui/styles/modals-core.css +86 -0
- package/web-ui/styles/sessions-preview.css +38 -0
- package/web-ui/styles/titles-cards.css +2 -2
|
@@ -264,96 +264,111 @@ return function render(_ctx, _cache) {
|
|
|
264
264
|
"aria-label": _ctx.t('side.config')
|
|
265
265
|
}, [
|
|
266
266
|
_createElementVNode("div", { class: "side-section-title" }, _toDisplayString(_ctx.t('side.config')), 1 /* TEXT */),
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
267
|
+
(_ctx.isConfigModeVisible('codex'))
|
|
268
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
269
|
+
key: 0,
|
|
270
|
+
id: "side-tab-config-codex",
|
|
271
|
+
"data-main-tab": "config",
|
|
272
|
+
"data-config-mode": "codex",
|
|
273
|
+
"aria-current": _ctx.mainTab === 'config' && _ctx.configMode === 'codex' ? 'page' : null,
|
|
274
|
+
class: _normalizeClass(['side-item', 'side-item-compact', { active: _ctx.isConfigModeNavActive('codex') }]),
|
|
275
|
+
onPointerdown: $event => (_ctx.onConfigTabPointerDown('codex', $event)),
|
|
276
|
+
onClick: $event => (_ctx.onConfigTabClick('codex', $event))
|
|
277
|
+
}, [
|
|
278
|
+
_createElementVNode("span", {
|
|
279
|
+
class: "side-item-icon",
|
|
280
|
+
"aria-hidden": "true"
|
|
281
|
+
}, "C"),
|
|
282
|
+
_createElementVNode("div", { class: "side-item-title" }, _toDisplayString(_ctx.t('side.config.codex')), 1 /* TEXT */),
|
|
283
|
+
_createElementVNode("div", { class: "side-item-meta" }, [
|
|
284
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('side.config.codex.meta')), 1 /* TEXT */)
|
|
285
|
+
])
|
|
286
|
+
], 42 /* CLASS, PROPS, NEED_HYDRATION */, ["aria-current", "onPointerdown", "onClick"]))
|
|
287
|
+
: _createCommentVNode("v-if", true),
|
|
288
|
+
(_ctx.isConfigModeVisible('claude'))
|
|
289
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
290
|
+
key: 1,
|
|
291
|
+
id: "side-tab-config-claude",
|
|
292
|
+
"data-main-tab": "config",
|
|
293
|
+
"data-config-mode": "claude",
|
|
294
|
+
"aria-current": _ctx.mainTab === 'config' && _ctx.configMode === 'claude' ? 'page' : null,
|
|
295
|
+
class: _normalizeClass(['side-item', 'side-item-compact', { active: _ctx.isConfigModeNavActive('claude') }]),
|
|
296
|
+
onPointerdown: $event => (_ctx.onConfigTabPointerDown('claude', $event)),
|
|
297
|
+
onClick: $event => (_ctx.onConfigTabClick('claude', $event))
|
|
298
|
+
}, [
|
|
299
|
+
_createElementVNode("span", {
|
|
300
|
+
class: "side-item-icon",
|
|
301
|
+
"aria-hidden": "true"
|
|
302
|
+
}, "A"),
|
|
303
|
+
_createElementVNode("div", { class: "side-item-title" }, _toDisplayString(_ctx.t('side.config.claude')), 1 /* TEXT */),
|
|
304
|
+
_createElementVNode("div", { class: "side-item-meta" }, [
|
|
305
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('side.config.claude.meta')), 1 /* TEXT */)
|
|
306
|
+
])
|
|
307
|
+
], 42 /* CLASS, PROPS, NEED_HYDRATION */, ["aria-current", "onPointerdown", "onClick"]))
|
|
308
|
+
: _createCommentVNode("v-if", true),
|
|
309
|
+
(_ctx.isConfigModeVisible('openclaw'))
|
|
310
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
311
|
+
key: 2,
|
|
312
|
+
id: "side-tab-config-openclaw",
|
|
313
|
+
"data-main-tab": "config",
|
|
314
|
+
"data-config-mode": "openclaw",
|
|
315
|
+
"aria-current": _ctx.mainTab === 'config' && _ctx.configMode === 'openclaw' ? 'page' : null,
|
|
316
|
+
class: _normalizeClass(['side-item', 'side-item-compact', { active: _ctx.isConfigModeNavActive('openclaw') }]),
|
|
317
|
+
onPointerdown: $event => (_ctx.onConfigTabPointerDown('openclaw', $event)),
|
|
318
|
+
onClick: $event => (_ctx.onConfigTabClick('openclaw', $event))
|
|
319
|
+
}, [
|
|
320
|
+
_createElementVNode("span", {
|
|
321
|
+
class: "side-item-icon",
|
|
322
|
+
"aria-hidden": "true"
|
|
323
|
+
}, "O"),
|
|
324
|
+
_createElementVNode("div", { class: "side-item-title" }, _toDisplayString(_ctx.t('side.config.openclaw')), 1 /* TEXT */),
|
|
325
|
+
_createElementVNode("div", { class: "side-item-meta" }, [
|
|
326
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('side.config.openclaw.meta')), 1 /* TEXT */)
|
|
327
|
+
])
|
|
328
|
+
], 42 /* CLASS, PROPS, NEED_HYDRATION */, ["aria-current", "onPointerdown", "onClick"]))
|
|
329
|
+
: _createCommentVNode("v-if", true),
|
|
330
|
+
(_ctx.isConfigModeVisible('opencode'))
|
|
331
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
332
|
+
key: 3,
|
|
333
|
+
id: "side-tab-config-opencode",
|
|
334
|
+
"data-main-tab": "config",
|
|
335
|
+
"data-config-mode": "opencode",
|
|
336
|
+
"aria-current": _ctx.mainTab === 'config' && _ctx.configMode === 'opencode' ? 'page' : null,
|
|
337
|
+
class: _normalizeClass(['side-item', 'side-item-compact', { active: _ctx.isConfigModeNavActive('opencode') }]),
|
|
338
|
+
onPointerdown: $event => (_ctx.onConfigTabPointerDown('opencode', $event)),
|
|
339
|
+
onClick: $event => (_ctx.onConfigTabClick('opencode', $event))
|
|
340
|
+
}, [
|
|
341
|
+
_createElementVNode("span", {
|
|
342
|
+
class: "side-item-icon",
|
|
343
|
+
"aria-hidden": "true"
|
|
344
|
+
}, "N"),
|
|
345
|
+
_createElementVNode("div", { class: "side-item-title" }, _toDisplayString(_ctx.t('side.config.opencode')), 1 /* TEXT */),
|
|
346
|
+
_createElementVNode("div", { class: "side-item-meta" }, [
|
|
347
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('side.config.opencode.meta')), 1 /* TEXT */)
|
|
348
|
+
])
|
|
349
|
+
], 42 /* CLASS, PROPS, NEED_HYDRATION */, ["aria-current", "onPointerdown", "onClick"]))
|
|
350
|
+
: _createCommentVNode("v-if", true),
|
|
351
|
+
(_ctx.isConfigModeVisible('kilocode'))
|
|
352
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
353
|
+
key: 4,
|
|
354
|
+
id: "side-tab-config-kilocode",
|
|
355
|
+
"data-main-tab": "config",
|
|
356
|
+
"data-config-mode": "kilocode",
|
|
357
|
+
"aria-current": _ctx.mainTab === 'config' && _ctx.configMode === 'kilocode' ? 'page' : null,
|
|
358
|
+
class: _normalizeClass(['side-item', 'side-item-compact', { active: _ctx.isConfigModeNavActive('kilocode') }]),
|
|
359
|
+
onPointerdown: $event => (_ctx.onConfigTabPointerDown('kilocode', $event)),
|
|
360
|
+
onClick: $event => (_ctx.onConfigTabClick('kilocode', $event))
|
|
361
|
+
}, [
|
|
362
|
+
_createElementVNode("span", {
|
|
363
|
+
class: "side-item-icon",
|
|
364
|
+
"aria-hidden": "true"
|
|
365
|
+
}, "K"),
|
|
366
|
+
_createElementVNode("div", { class: "side-item-title" }, _toDisplayString(_ctx.t('side.config.kilocode')), 1 /* TEXT */),
|
|
367
|
+
_createElementVNode("div", { class: "side-item-meta" }, [
|
|
368
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('side.config.kilocode.meta')), 1 /* TEXT */)
|
|
369
|
+
])
|
|
370
|
+
], 42 /* CLASS, PROPS, NEED_HYDRATION */, ["aria-current", "onPointerdown", "onClick"]))
|
|
371
|
+
: _createCommentVNode("v-if", true)
|
|
357
372
|
], 8 /* PROPS */, ["aria-label"]),
|
|
358
373
|
_createElementVNode("div", {
|
|
359
374
|
class: "side-section",
|
|
@@ -987,21 +1002,30 @@ return function render(_ctx, _cache) {
|
|
|
987
1002
|
key: 0,
|
|
988
1003
|
class: "segmented-control"
|
|
989
1004
|
}, [
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
+
(_ctx.isConfigModeVisible('codex'))
|
|
1006
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
1007
|
+
key: 0,
|
|
1008
|
+
type: "button",
|
|
1009
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'codex' }]),
|
|
1010
|
+
onClick: $event => (_ctx.switchConfigMode('codex'))
|
|
1011
|
+
}, _toDisplayString(_ctx.t('tab.config.codex')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
1012
|
+
: _createCommentVNode("v-if", true),
|
|
1013
|
+
(_ctx.isConfigModeVisible('claude'))
|
|
1014
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
1015
|
+
key: 1,
|
|
1016
|
+
type: "button",
|
|
1017
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'claude' }]),
|
|
1018
|
+
onClick: $event => (_ctx.switchConfigMode('claude'))
|
|
1019
|
+
}, _toDisplayString(_ctx.t('tab.config.claude')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
1020
|
+
: _createCommentVNode("v-if", true),
|
|
1021
|
+
(_ctx.isConfigModeVisible('openclaw'))
|
|
1022
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
1023
|
+
key: 2,
|
|
1024
|
+
type: "button",
|
|
1025
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'openclaw' }]),
|
|
1026
|
+
onClick: $event => (_ctx.switchConfigMode('openclaw'))
|
|
1027
|
+
}, _toDisplayString(_ctx.t('tab.config.openclaw')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
1028
|
+
: _createCommentVNode("v-if", true)
|
|
1005
1029
|
]))
|
|
1006
1030
|
: _createCommentVNode("v-if", true),
|
|
1007
1031
|
(_ctx.isCodexConfigMode && _ctx.shouldShowCliInstallPlaceholder('codex'))
|
|
@@ -1603,21 +1627,30 @@ return function render(_ctx, _cache) {
|
|
|
1603
1627
|
key: 0,
|
|
1604
1628
|
class: "segmented-control"
|
|
1605
1629
|
}, [
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1630
|
+
(_ctx.isConfigModeVisible('codex'))
|
|
1631
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
1632
|
+
key: 0,
|
|
1633
|
+
type: "button",
|
|
1634
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'codex' }]),
|
|
1635
|
+
onClick: $event => (_ctx.switchConfigMode('codex'))
|
|
1636
|
+
}, _toDisplayString(_ctx.t('tab.config.codex')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
1637
|
+
: _createCommentVNode("v-if", true),
|
|
1638
|
+
(_ctx.isConfigModeVisible('claude'))
|
|
1639
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
1640
|
+
key: 1,
|
|
1641
|
+
type: "button",
|
|
1642
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'claude' }]),
|
|
1643
|
+
onClick: $event => (_ctx.switchConfigMode('claude'))
|
|
1644
|
+
}, _toDisplayString(_ctx.t('tab.config.claude')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
1645
|
+
: _createCommentVNode("v-if", true),
|
|
1646
|
+
(_ctx.isConfigModeVisible('openclaw'))
|
|
1647
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
1648
|
+
key: 2,
|
|
1649
|
+
type: "button",
|
|
1650
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'openclaw' }]),
|
|
1651
|
+
onClick: $event => (_ctx.switchConfigMode('openclaw'))
|
|
1652
|
+
}, _toDisplayString(_ctx.t('tab.config.openclaw')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
1653
|
+
: _createCommentVNode("v-if", true)
|
|
1621
1654
|
]))
|
|
1622
1655
|
: _createCommentVNode("v-if", true),
|
|
1623
1656
|
(_ctx.shouldShowCliInstallPlaceholder('claude'))
|
|
@@ -2131,21 +2164,30 @@ return function render(_ctx, _cache) {
|
|
|
2131
2164
|
key: 0,
|
|
2132
2165
|
class: "segmented-control"
|
|
2133
2166
|
}, [
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2167
|
+
(_ctx.isConfigModeVisible('codex'))
|
|
2168
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2169
|
+
key: 0,
|
|
2170
|
+
type: "button",
|
|
2171
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'codex' }]),
|
|
2172
|
+
onClick: $event => (_ctx.switchConfigMode('codex'))
|
|
2173
|
+
}, _toDisplayString(_ctx.t('tab.config.codex')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2174
|
+
: _createCommentVNode("v-if", true),
|
|
2175
|
+
(_ctx.isConfigModeVisible('claude'))
|
|
2176
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2177
|
+
key: 1,
|
|
2178
|
+
type: "button",
|
|
2179
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'claude' }]),
|
|
2180
|
+
onClick: $event => (_ctx.switchConfigMode('claude'))
|
|
2181
|
+
}, _toDisplayString(_ctx.t('tab.config.claude')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2182
|
+
: _createCommentVNode("v-if", true),
|
|
2183
|
+
(_ctx.isConfigModeVisible('openclaw'))
|
|
2184
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2185
|
+
key: 2,
|
|
2186
|
+
type: "button",
|
|
2187
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'openclaw' }]),
|
|
2188
|
+
onClick: $event => (_ctx.switchConfigMode('openclaw'))
|
|
2189
|
+
}, _toDisplayString(_ctx.t('tab.config.openclaw')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2190
|
+
: _createCommentVNode("v-if", true)
|
|
2149
2191
|
]))
|
|
2150
2192
|
: _createCommentVNode("v-if", true),
|
|
2151
2193
|
_createElementVNode("div", { class: "openclaw-layout" }, [
|
|
@@ -2377,31 +2419,46 @@ return function render(_ctx, _cache) {
|
|
|
2377
2419
|
key: 0,
|
|
2378
2420
|
class: "segmented-control"
|
|
2379
2421
|
}, [
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2422
|
+
(_ctx.isConfigModeVisible('codex'))
|
|
2423
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2424
|
+
key: 0,
|
|
2425
|
+
type: "button",
|
|
2426
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'codex' }]),
|
|
2427
|
+
onClick: $event => (_ctx.switchConfigMode('codex'))
|
|
2428
|
+
}, _toDisplayString(_ctx.t('tab.config.codex')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2429
|
+
: _createCommentVNode("v-if", true),
|
|
2430
|
+
(_ctx.isConfigModeVisible('claude'))
|
|
2431
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2432
|
+
key: 1,
|
|
2433
|
+
type: "button",
|
|
2434
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'claude' }]),
|
|
2435
|
+
onClick: $event => (_ctx.switchConfigMode('claude'))
|
|
2436
|
+
}, _toDisplayString(_ctx.t('tab.config.claude')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2437
|
+
: _createCommentVNode("v-if", true),
|
|
2438
|
+
(_ctx.isConfigModeVisible('openclaw'))
|
|
2439
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2440
|
+
key: 2,
|
|
2441
|
+
type: "button",
|
|
2442
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'openclaw' }]),
|
|
2443
|
+
onClick: $event => (_ctx.switchConfigMode('openclaw'))
|
|
2444
|
+
}, _toDisplayString(_ctx.t('tab.config.openclaw')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2445
|
+
: _createCommentVNode("v-if", true),
|
|
2446
|
+
(_ctx.isConfigModeVisible('opencode'))
|
|
2447
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2448
|
+
key: 3,
|
|
2449
|
+
type: "button",
|
|
2450
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'opencode' }]),
|
|
2451
|
+
onClick: $event => (_ctx.switchConfigMode('opencode'))
|
|
2452
|
+
}, _toDisplayString(_ctx.t('tab.config.opencode')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2453
|
+
: _createCommentVNode("v-if", true),
|
|
2454
|
+
(_ctx.isConfigModeVisible('kilocode'))
|
|
2455
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2456
|
+
key: 4,
|
|
2457
|
+
type: "button",
|
|
2458
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'kilocode' }]),
|
|
2459
|
+
onClick: $event => (_ctx.switchConfigMode('kilocode'))
|
|
2460
|
+
}, _toDisplayString(_ctx.t('tab.config.kilocode')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2461
|
+
: _createCommentVNode("v-if", true)
|
|
2405
2462
|
]))
|
|
2406
2463
|
: _createCommentVNode("v-if", true),
|
|
2407
2464
|
_createElementVNode("section", {
|
|
@@ -2770,31 +2827,46 @@ return function render(_ctx, _cache) {
|
|
|
2770
2827
|
key: 0,
|
|
2771
2828
|
class: "segmented-control"
|
|
2772
2829
|
}, [
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2830
|
+
(_ctx.isConfigModeVisible('codex'))
|
|
2831
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2832
|
+
key: 0,
|
|
2833
|
+
type: "button",
|
|
2834
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'codex' }]),
|
|
2835
|
+
onClick: $event => (_ctx.switchConfigMode('codex'))
|
|
2836
|
+
}, _toDisplayString(_ctx.t('tab.config.codex')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2837
|
+
: _createCommentVNode("v-if", true),
|
|
2838
|
+
(_ctx.isConfigModeVisible('claude'))
|
|
2839
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2840
|
+
key: 1,
|
|
2841
|
+
type: "button",
|
|
2842
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'claude' }]),
|
|
2843
|
+
onClick: $event => (_ctx.switchConfigMode('claude'))
|
|
2844
|
+
}, _toDisplayString(_ctx.t('tab.config.claude')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2845
|
+
: _createCommentVNode("v-if", true),
|
|
2846
|
+
(_ctx.isConfigModeVisible('openclaw'))
|
|
2847
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2848
|
+
key: 2,
|
|
2849
|
+
type: "button",
|
|
2850
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'openclaw' }]),
|
|
2851
|
+
onClick: $event => (_ctx.switchConfigMode('openclaw'))
|
|
2852
|
+
}, _toDisplayString(_ctx.t('tab.config.openclaw')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2853
|
+
: _createCommentVNode("v-if", true),
|
|
2854
|
+
(_ctx.isConfigModeVisible('opencode'))
|
|
2855
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2856
|
+
key: 3,
|
|
2857
|
+
type: "button",
|
|
2858
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'opencode' }]),
|
|
2859
|
+
onClick: $event => (_ctx.switchConfigMode('opencode'))
|
|
2860
|
+
}, _toDisplayString(_ctx.t('tab.config.opencode')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2861
|
+
: _createCommentVNode("v-if", true),
|
|
2862
|
+
(_ctx.isConfigModeVisible('kilocode'))
|
|
2863
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2864
|
+
key: 4,
|
|
2865
|
+
type: "button",
|
|
2866
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'kilocode' }]),
|
|
2867
|
+
onClick: $event => (_ctx.switchConfigMode('kilocode'))
|
|
2868
|
+
}, _toDisplayString(_ctx.t('tab.config.kilocode')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2869
|
+
: _createCommentVNode("v-if", true)
|
|
2798
2870
|
]))
|
|
2799
2871
|
: _createCommentVNode("v-if", true),
|
|
2800
2872
|
_createElementVNode("section", {
|
|
@@ -3812,7 +3884,33 @@ return function render(_ctx, _cache) {
|
|
|
3812
3884
|
_createElementVNode("div", {
|
|
3813
3885
|
class: "session-msg-content",
|
|
3814
3886
|
innerHTML: _ctx.highlightQueryText(msg.text) || ''
|
|
3815
|
-
}, null, 8 /* PROPS */, ["innerHTML"])
|
|
3887
|
+
}, null, 8 /* PROPS */, ["innerHTML"]),
|
|
3888
|
+
(msg.normalizedRole === 'user')
|
|
3889
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
3890
|
+
key: 0,
|
|
3891
|
+
type: "button",
|
|
3892
|
+
class: "session-msg-copy",
|
|
3893
|
+
onClick: $event => (_ctx.copySessionMessage(msg)),
|
|
3894
|
+
"aria-label": _ctx.t('sessions.preview.copyMessage'),
|
|
3895
|
+
title: _ctx.t('sessions.preview.copyMessage')
|
|
3896
|
+
}, [
|
|
3897
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
3898
|
+
viewBox: "0 0 24 24",
|
|
3899
|
+
fill: "none",
|
|
3900
|
+
stroke: "currentColor",
|
|
3901
|
+
"stroke-width": "2"
|
|
3902
|
+
}, [
|
|
3903
|
+
_createElementVNode("rect", {
|
|
3904
|
+
x: "8",
|
|
3905
|
+
y: "8",
|
|
3906
|
+
width: "12",
|
|
3907
|
+
height: "12",
|
|
3908
|
+
rx: "2"
|
|
3909
|
+
}),
|
|
3910
|
+
_createElementVNode("path", { d: "M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2" })
|
|
3911
|
+
]))
|
|
3912
|
+
], 8 /* PROPS */, ["onClick", "aria-label", "title"]))
|
|
3913
|
+
: _createCommentVNode("v-if", true)
|
|
3816
3914
|
], 10 /* CLASS, PROPS */, ["data-message-key"]))
|
|
3817
3915
|
_item.memo = _memo
|
|
3818
3916
|
return _item
|
|
@@ -4710,6 +4808,73 @@ return function render(_ctx, _cache) {
|
|
|
4710
4808
|
_createElementVNode("p", { class: "settings-card-hint" }, _toDisplayString(_ctx.t('settings.timeline.style.hint')), 1 /* TEXT */)
|
|
4711
4809
|
])
|
|
4712
4810
|
])
|
|
4811
|
+
], 8 /* PROPS */, ["aria-label"]),
|
|
4812
|
+
_createElementVNode("section", {
|
|
4813
|
+
class: "settings-card",
|
|
4814
|
+
"aria-label": _ctx.t('settings.configTabs.title')
|
|
4815
|
+
}, [
|
|
4816
|
+
_createElementVNode("div", { class: "settings-card-main" }, [
|
|
4817
|
+
_createElementVNode("div", { class: "settings-card-content" }, [
|
|
4818
|
+
_createElementVNode("div", { class: "settings-card-title" }, _toDisplayString(_ctx.t('settings.configTabs.title')), 1 /* TEXT */),
|
|
4819
|
+
_createElementVNode("p", { class: "settings-card-desc" }, _toDisplayString(_ctx.t('settings.configTabs.meta')), 1 /* TEXT */),
|
|
4820
|
+
_createElementVNode("label", { class: "settings-toggle-row" }, [
|
|
4821
|
+
_createElementVNode("input", {
|
|
4822
|
+
type: "checkbox",
|
|
4823
|
+
checked: _ctx.configModeVisibility.codex,
|
|
4824
|
+
onChange: $event => (_ctx.setConfigModeVisibility('codex', $event.target.checked))
|
|
4825
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "onChange"]),
|
|
4826
|
+
_createElementVNode("span", { class: "toggle-track" }, [
|
|
4827
|
+
_createElementVNode("span", { class: "toggle-thumb" })
|
|
4828
|
+
]),
|
|
4829
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('tab.config.codex')), 1 /* TEXT */)
|
|
4830
|
+
]),
|
|
4831
|
+
_createElementVNode("label", { class: "settings-toggle-row" }, [
|
|
4832
|
+
_createElementVNode("input", {
|
|
4833
|
+
type: "checkbox",
|
|
4834
|
+
checked: _ctx.configModeVisibility.claude,
|
|
4835
|
+
onChange: $event => (_ctx.setConfigModeVisibility('claude', $event.target.checked))
|
|
4836
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "onChange"]),
|
|
4837
|
+
_createElementVNode("span", { class: "toggle-track" }, [
|
|
4838
|
+
_createElementVNode("span", { class: "toggle-thumb" })
|
|
4839
|
+
]),
|
|
4840
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('tab.config.claude')), 1 /* TEXT */)
|
|
4841
|
+
]),
|
|
4842
|
+
_createElementVNode("label", { class: "settings-toggle-row" }, [
|
|
4843
|
+
_createElementVNode("input", {
|
|
4844
|
+
type: "checkbox",
|
|
4845
|
+
checked: _ctx.configModeVisibility.openclaw,
|
|
4846
|
+
onChange: $event => (_ctx.setConfigModeVisibility('openclaw', $event.target.checked))
|
|
4847
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "onChange"]),
|
|
4848
|
+
_createElementVNode("span", { class: "toggle-track" }, [
|
|
4849
|
+
_createElementVNode("span", { class: "toggle-thumb" })
|
|
4850
|
+
]),
|
|
4851
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('tab.config.openclaw')), 1 /* TEXT */)
|
|
4852
|
+
]),
|
|
4853
|
+
_createElementVNode("label", { class: "settings-toggle-row" }, [
|
|
4854
|
+
_createElementVNode("input", {
|
|
4855
|
+
type: "checkbox",
|
|
4856
|
+
checked: _ctx.configModeVisibility.opencode,
|
|
4857
|
+
onChange: $event => (_ctx.setConfigModeVisibility('opencode', $event.target.checked))
|
|
4858
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "onChange"]),
|
|
4859
|
+
_createElementVNode("span", { class: "toggle-track" }, [
|
|
4860
|
+
_createElementVNode("span", { class: "toggle-thumb" })
|
|
4861
|
+
]),
|
|
4862
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('tab.config.opencode')), 1 /* TEXT */)
|
|
4863
|
+
]),
|
|
4864
|
+
_createElementVNode("label", { class: "settings-toggle-row" }, [
|
|
4865
|
+
_createElementVNode("input", {
|
|
4866
|
+
type: "checkbox",
|
|
4867
|
+
checked: _ctx.configModeVisibility.kilocode,
|
|
4868
|
+
onChange: $event => (_ctx.setConfigModeVisibility('kilocode', $event.target.checked))
|
|
4869
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "onChange"]),
|
|
4870
|
+
_createElementVNode("span", { class: "toggle-track" }, [
|
|
4871
|
+
_createElementVNode("span", { class: "toggle-thumb" })
|
|
4872
|
+
]),
|
|
4873
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('tab.config.kilocode')), 1 /* TEXT */)
|
|
4874
|
+
]),
|
|
4875
|
+
_createElementVNode("p", { class: "settings-card-hint" }, _toDisplayString(_ctx.t('settings.configTabs.hint')), 1 /* TEXT */)
|
|
4876
|
+
])
|
|
4877
|
+
])
|
|
4713
4878
|
], 8 /* PROPS */, ["aria-label"])
|
|
4714
4879
|
])
|
|
4715
4880
|
], 512 /* NEED_PATCH */), [
|
|
@@ -6035,6 +6200,23 @@ return function render(_ctx, _cache) {
|
|
|
6035
6200
|
}),
|
|
6036
6201
|
_createElementVNode("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2" })
|
|
6037
6202
|
]))
|
|
6203
|
+
], 8 /* PROPS */, ["onClick", "disabled", "title"]),
|
|
6204
|
+
_createElementVNode("button", {
|
|
6205
|
+
class: "btn-mini",
|
|
6206
|
+
onClick: _ctx.openPromptHistory,
|
|
6207
|
+
disabled: _ctx.agentsSaving || _ctx.agentsDiffVisible,
|
|
6208
|
+
title: _ctx.t('common.history')
|
|
6209
|
+
}, [
|
|
6210
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
6211
|
+
class: "btn-icon-sm",
|
|
6212
|
+
viewBox: "0 0 24 24",
|
|
6213
|
+
fill: "none",
|
|
6214
|
+
stroke: "currentColor",
|
|
6215
|
+
"stroke-width": "2"
|
|
6216
|
+
}, [
|
|
6217
|
+
_createElementVNode("path", { d: "M12 8v4l3 2" }),
|
|
6218
|
+
_createElementVNode("path", { d: "M3 12a9 9 0 1 0 9-9 9 9 0 0 0-7.5 4M3 4v4h4" })
|
|
6219
|
+
]))
|
|
6038
6220
|
], 8 /* PROPS */, ["onClick", "disabled", "title"])
|
|
6039
6221
|
]),
|
|
6040
6222
|
_createElementVNode("div", { class: "prompts-editor-group prompts-editor-group--workflow" }, [
|
|
@@ -6109,6 +6291,72 @@ return function render(_ctx, _cache) {
|
|
|
6109
6291
|
])
|
|
6110
6292
|
])
|
|
6111
6293
|
]),
|
|
6294
|
+
(_ctx.promptHistoryVisible)
|
|
6295
|
+
? (_openBlock(), _createElementBlock("details", {
|
|
6296
|
+
key: 0,
|
|
6297
|
+
class: "prompt-history-panel",
|
|
6298
|
+
open: ""
|
|
6299
|
+
}, [
|
|
6300
|
+
_createElementVNode("summary", { class: "prompt-history-summary" }, [
|
|
6301
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('common.history')), 1 /* TEXT */),
|
|
6302
|
+
_createElementVNode("button", {
|
|
6303
|
+
type: "button",
|
|
6304
|
+
class: "btn-mini prompt-history-close",
|
|
6305
|
+
onClick: _ctx.closePromptHistory,
|
|
6306
|
+
title: _ctx.t('common.close')
|
|
6307
|
+
}, "✕", 8 /* PROPS */, ["onClick", "title"])
|
|
6308
|
+
]),
|
|
6309
|
+
_createElementVNode("div", { class: "prompt-history-body" }, [
|
|
6310
|
+
(!_ctx.promptHistoryLoading && !_ctx.promptHistoryError && _ctx.promptHistoryItems.length)
|
|
6311
|
+
? (_openBlock(), _createElementBlock("ul", {
|
|
6312
|
+
key: 0,
|
|
6313
|
+
class: "prompt-history-list"
|
|
6314
|
+
}, [
|
|
6315
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.promptHistoryItems, (item) => {
|
|
6316
|
+
return (_openBlock(), _createElementBlock("li", {
|
|
6317
|
+
key: item.id,
|
|
6318
|
+
class: _normalizeClass(['prompt-history-item', { active: _ctx.promptHistoryPreviewId === item.id }]),
|
|
6319
|
+
onClick: $event => (_ctx.viewPromptHistoryItem(item))
|
|
6320
|
+
}, [
|
|
6321
|
+
_createElementVNode("span", { class: "prompt-history-time" }, _toDisplayString(item.id), 1 /* TEXT */),
|
|
6322
|
+
_createElementVNode("span", { class: "prompt-history-size" }, _toDisplayString(Math.round(item.size / 1024 * 10) / 10) + " KB", 1 /* TEXT */)
|
|
6323
|
+
], 10 /* CLASS, PROPS */, ["onClick"]))
|
|
6324
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
6325
|
+
]))
|
|
6326
|
+
: _createCommentVNode("v-if", true),
|
|
6327
|
+
(_ctx.promptHistoryLoading)
|
|
6328
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6329
|
+
key: 1,
|
|
6330
|
+
class: "state-message"
|
|
6331
|
+
}, _toDisplayString(_ctx.t('diff.generating')), 1 /* TEXT */))
|
|
6332
|
+
: (_ctx.promptHistoryError)
|
|
6333
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6334
|
+
key: 2,
|
|
6335
|
+
class: "state-message error"
|
|
6336
|
+
}, _toDisplayString(_ctx.promptHistoryError), 1 /* TEXT */))
|
|
6337
|
+
: (!_ctx.promptHistoryItems.length)
|
|
6338
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6339
|
+
key: 3,
|
|
6340
|
+
class: "state-message"
|
|
6341
|
+
}, _toDisplayString(_ctx.t('toast.history.empty')), 1 /* TEXT */))
|
|
6342
|
+
: _createCommentVNode("v-if", true),
|
|
6343
|
+
(_ctx.promptHistoryPreviewContent)
|
|
6344
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6345
|
+
key: 4,
|
|
6346
|
+
class: "prompt-history-preview-wrap"
|
|
6347
|
+
}, [
|
|
6348
|
+
_createElementVNode("pre", { class: "prompt-history-preview" }, _toDisplayString(_ctx.promptHistoryPreviewContent), 1 /* TEXT */),
|
|
6349
|
+
_createElementVNode("button", {
|
|
6350
|
+
type: "button",
|
|
6351
|
+
class: "btn-mini btn-confirm-mini",
|
|
6352
|
+
onClick: _ctx.applyPromptHistoryToEditor,
|
|
6353
|
+
disabled: _ctx.agentsSaving || _ctx.agentsDiffVisible
|
|
6354
|
+
}, _toDisplayString(_ctx.t('common.restoreToEditor')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
6355
|
+
]))
|
|
6356
|
+
: _createCommentVNode("v-if", true)
|
|
6357
|
+
])
|
|
6358
|
+
]))
|
|
6359
|
+
: _createCommentVNode("v-if", true),
|
|
6112
6360
|
_createElementVNode("div", { class: "prompt-presets-inline-row" }, [
|
|
6113
6361
|
_createElementVNode("div", { class: "prompt-presets-inline-group" }, [
|
|
6114
6362
|
_createElementVNode("label", { class: "prompt-presets-inline-label" }, _toDisplayString(_ctx.t('prompts.presets.title')), 1 /* TEXT */),
|
|
@@ -6386,6 +6634,23 @@ return function render(_ctx, _cache) {
|
|
|
6386
6634
|
}),
|
|
6387
6635
|
_createElementVNode("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2" })
|
|
6388
6636
|
]))
|
|
6637
|
+
], 8 /* PROPS */, ["onClick", "disabled", "title"]),
|
|
6638
|
+
_createElementVNode("button", {
|
|
6639
|
+
class: "btn-mini",
|
|
6640
|
+
onClick: _ctx.openSysHistory,
|
|
6641
|
+
disabled: _ctx.sysPromptSaving || _ctx.sysPromptDiffVisible,
|
|
6642
|
+
title: _ctx.t('common.history')
|
|
6643
|
+
}, [
|
|
6644
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
6645
|
+
class: "btn-icon-sm",
|
|
6646
|
+
viewBox: "0 0 24 24",
|
|
6647
|
+
fill: "none",
|
|
6648
|
+
stroke: "currentColor",
|
|
6649
|
+
"stroke-width": "2"
|
|
6650
|
+
}, [
|
|
6651
|
+
_createElementVNode("path", { d: "M12 8v4l3 2" }),
|
|
6652
|
+
_createElementVNode("path", { d: "M3 12a9 9 0 1 0 9-9 9 9 0 0 0-7.5 4M3 4v4h4" })
|
|
6653
|
+
]))
|
|
6389
6654
|
], 8 /* PROPS */, ["onClick", "disabled", "title"])
|
|
6390
6655
|
]),
|
|
6391
6656
|
_createElementVNode("div", { class: "prompts-editor-group prompts-editor-group--workflow" }, [
|
|
@@ -6460,6 +6725,72 @@ return function render(_ctx, _cache) {
|
|
|
6460
6725
|
])
|
|
6461
6726
|
])
|
|
6462
6727
|
]),
|
|
6728
|
+
(_ctx.sysHistoryVisible)
|
|
6729
|
+
? (_openBlock(), _createElementBlock("details", {
|
|
6730
|
+
key: 0,
|
|
6731
|
+
class: "prompt-history-panel",
|
|
6732
|
+
open: ""
|
|
6733
|
+
}, [
|
|
6734
|
+
_createElementVNode("summary", { class: "prompt-history-summary" }, [
|
|
6735
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('common.history')), 1 /* TEXT */),
|
|
6736
|
+
_createElementVNode("button", {
|
|
6737
|
+
type: "button",
|
|
6738
|
+
class: "btn-mini prompt-history-close",
|
|
6739
|
+
onClick: _ctx.closeSysHistory,
|
|
6740
|
+
title: _ctx.t('common.close')
|
|
6741
|
+
}, "✕", 8 /* PROPS */, ["onClick", "title"])
|
|
6742
|
+
]),
|
|
6743
|
+
_createElementVNode("div", { class: "prompt-history-body" }, [
|
|
6744
|
+
(!_ctx.sysHistoryLoading && !_ctx.sysHistoryError && _ctx.sysHistoryItems.length)
|
|
6745
|
+
? (_openBlock(), _createElementBlock("ul", {
|
|
6746
|
+
key: 0,
|
|
6747
|
+
class: "prompt-history-list"
|
|
6748
|
+
}, [
|
|
6749
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sysHistoryItems, (item) => {
|
|
6750
|
+
return (_openBlock(), _createElementBlock("li", {
|
|
6751
|
+
key: item.id,
|
|
6752
|
+
class: _normalizeClass(['prompt-history-item', { active: _ctx.sysHistoryPreviewId === item.id }]),
|
|
6753
|
+
onClick: $event => (_ctx.viewSysHistoryItem(item))
|
|
6754
|
+
}, [
|
|
6755
|
+
_createElementVNode("span", { class: "prompt-history-time" }, _toDisplayString(item.id), 1 /* TEXT */),
|
|
6756
|
+
_createElementVNode("span", { class: "prompt-history-size" }, _toDisplayString(Math.round(item.size / 1024 * 10) / 10) + " KB", 1 /* TEXT */)
|
|
6757
|
+
], 10 /* CLASS, PROPS */, ["onClick"]))
|
|
6758
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
6759
|
+
]))
|
|
6760
|
+
: _createCommentVNode("v-if", true),
|
|
6761
|
+
(_ctx.sysHistoryLoading)
|
|
6762
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6763
|
+
key: 1,
|
|
6764
|
+
class: "state-message"
|
|
6765
|
+
}, _toDisplayString(_ctx.t('diff.generating')), 1 /* TEXT */))
|
|
6766
|
+
: (_ctx.sysHistoryError)
|
|
6767
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6768
|
+
key: 2,
|
|
6769
|
+
class: "state-message error"
|
|
6770
|
+
}, _toDisplayString(_ctx.sysHistoryError), 1 /* TEXT */))
|
|
6771
|
+
: (!_ctx.sysHistoryItems.length)
|
|
6772
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6773
|
+
key: 3,
|
|
6774
|
+
class: "state-message"
|
|
6775
|
+
}, _toDisplayString(_ctx.t('toast.history.empty')), 1 /* TEXT */))
|
|
6776
|
+
: _createCommentVNode("v-if", true),
|
|
6777
|
+
(_ctx.sysHistoryPreviewContent)
|
|
6778
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6779
|
+
key: 4,
|
|
6780
|
+
class: "prompt-history-preview-wrap"
|
|
6781
|
+
}, [
|
|
6782
|
+
_createElementVNode("pre", { class: "prompt-history-preview" }, _toDisplayString(_ctx.sysHistoryPreviewContent), 1 /* TEXT */),
|
|
6783
|
+
_createElementVNode("button", {
|
|
6784
|
+
type: "button",
|
|
6785
|
+
class: "btn-mini btn-confirm-mini",
|
|
6786
|
+
onClick: _ctx.applySysHistoryToEditor,
|
|
6787
|
+
disabled: _ctx.sysPromptSaving || _ctx.sysPromptDiffVisible
|
|
6788
|
+
}, _toDisplayString(_ctx.t('common.restoreToEditor')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
6789
|
+
]))
|
|
6790
|
+
: _createCommentVNode("v-if", true)
|
|
6791
|
+
])
|
|
6792
|
+
]))
|
|
6793
|
+
: _createCommentVNode("v-if", true),
|
|
6463
6794
|
_createElementVNode("div", { class: "form-group" }, [
|
|
6464
6795
|
(_ctx.sysPromptDiffVisible)
|
|
6465
6796
|
? (_openBlock(), _createElementBlock("div", { key: 0 }, [
|