codexmate 0.1.10 → 0.1.13
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 +5 -7
- package/README.vi.md +4 -7
- package/README.zh.md +5 -7
- 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 +162 -5
- package/package.json +1 -1
- package/web-ui/app.js +95 -4
- package/web-ui/index.html +2 -1
- package/web-ui/modules/app.methods.agents.mjs +90 -0
- package/web-ui/modules/app.methods.index.mjs +2 -0
- package/web-ui/modules/app.methods.navigation.mjs +7 -1
- package/web-ui/modules/app.methods.pi-config.mjs +371 -0
- package/web-ui/modules/app.methods.session-actions.mjs +57 -0
- package/web-ui/modules/app.methods.startup-claude.mjs +2 -1
- package/web-ui/modules/app.methods.system-prompt.mjs +81 -0
- package/web-ui/modules/app.methods.tool-config-permissions.mjs +3 -2
- package/web-ui/modules/app.methods.web-ui-preferences.mjs +8 -1
- package/web-ui/modules/config-mode.computed.mjs +2 -1
- package/web-ui/modules/i18n/locales/en.mjs +52 -0
- package/web-ui/modules/i18n/locales/ja.mjs +52 -0
- package/web-ui/modules/i18n/locales/vi.mjs +52 -0
- package/web-ui/modules/i18n/locales/zh-tw.mjs +52 -0
- package/web-ui/modules/i18n/locales/zh.mjs +52 -0
- package/web-ui/partials/index/layout-header.html +20 -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-config-pi.html +171 -0
- 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 +42 -0
- package/web-ui/res/web-ui-render.precompiled.js +1101 -252
- package/web-ui/styles/modals-core.css +86 -0
- package/web-ui/styles/sessions-preview.css +38 -0
- package/web-ui/styles/settings-panel.css +7 -0
- package/web-ui/styles/titles-cards.css +2 -2
|
@@ -264,96 +264,132 @@ 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),
|
|
372
|
+
(_ctx.isConfigModeVisible('pi'))
|
|
373
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
374
|
+
key: 5,
|
|
375
|
+
id: "side-tab-config-pi",
|
|
376
|
+
"data-main-tab": "config",
|
|
377
|
+
"data-config-mode": "pi",
|
|
378
|
+
"aria-current": _ctx.mainTab === 'config' && _ctx.configMode === 'pi' ? 'page' : null,
|
|
379
|
+
class: _normalizeClass(['side-item', 'side-item-compact', { active: _ctx.isConfigModeNavActive('pi') }]),
|
|
380
|
+
onPointerdown: $event => (_ctx.onConfigTabPointerDown('pi', $event)),
|
|
381
|
+
onClick: $event => (_ctx.onConfigTabClick('pi', $event))
|
|
382
|
+
}, [
|
|
383
|
+
_createElementVNode("span", {
|
|
384
|
+
class: "side-item-icon",
|
|
385
|
+
"aria-hidden": "true"
|
|
386
|
+
}, "P"),
|
|
387
|
+
_createElementVNode("div", { class: "side-item-title" }, _toDisplayString(_ctx.t('side.config.pi')), 1 /* TEXT */),
|
|
388
|
+
_createElementVNode("div", { class: "side-item-meta" }, [
|
|
389
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('side.config.pi.meta')), 1 /* TEXT */)
|
|
390
|
+
])
|
|
391
|
+
], 42 /* CLASS, PROPS, NEED_HYDRATION */, ["aria-current", "onPointerdown", "onClick"]))
|
|
392
|
+
: _createCommentVNode("v-if", true)
|
|
357
393
|
], 8 /* PROPS */, ["aria-label"]),
|
|
358
394
|
_createElementVNode("div", {
|
|
359
395
|
class: "side-section",
|
|
@@ -987,21 +1023,30 @@ return function render(_ctx, _cache) {
|
|
|
987
1023
|
key: 0,
|
|
988
1024
|
class: "segmented-control"
|
|
989
1025
|
}, [
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1026
|
+
(_ctx.isConfigModeVisible('codex'))
|
|
1027
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
1028
|
+
key: 0,
|
|
1029
|
+
type: "button",
|
|
1030
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'codex' }]),
|
|
1031
|
+
onClick: $event => (_ctx.switchConfigMode('codex'))
|
|
1032
|
+
}, _toDisplayString(_ctx.t('tab.config.codex')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
1033
|
+
: _createCommentVNode("v-if", true),
|
|
1034
|
+
(_ctx.isConfigModeVisible('claude'))
|
|
1035
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
1036
|
+
key: 1,
|
|
1037
|
+
type: "button",
|
|
1038
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'claude' }]),
|
|
1039
|
+
onClick: $event => (_ctx.switchConfigMode('claude'))
|
|
1040
|
+
}, _toDisplayString(_ctx.t('tab.config.claude')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
1041
|
+
: _createCommentVNode("v-if", true),
|
|
1042
|
+
(_ctx.isConfigModeVisible('openclaw'))
|
|
1043
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
1044
|
+
key: 2,
|
|
1045
|
+
type: "button",
|
|
1046
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'openclaw' }]),
|
|
1047
|
+
onClick: $event => (_ctx.switchConfigMode('openclaw'))
|
|
1048
|
+
}, _toDisplayString(_ctx.t('tab.config.openclaw')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
1049
|
+
: _createCommentVNode("v-if", true)
|
|
1005
1050
|
]))
|
|
1006
1051
|
: _createCommentVNode("v-if", true),
|
|
1007
1052
|
(_ctx.isCodexConfigMode && _ctx.shouldShowCliInstallPlaceholder('codex'))
|
|
@@ -1603,21 +1648,30 @@ return function render(_ctx, _cache) {
|
|
|
1603
1648
|
key: 0,
|
|
1604
1649
|
class: "segmented-control"
|
|
1605
1650
|
}, [
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1651
|
+
(_ctx.isConfigModeVisible('codex'))
|
|
1652
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
1653
|
+
key: 0,
|
|
1654
|
+
type: "button",
|
|
1655
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'codex' }]),
|
|
1656
|
+
onClick: $event => (_ctx.switchConfigMode('codex'))
|
|
1657
|
+
}, _toDisplayString(_ctx.t('tab.config.codex')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
1658
|
+
: _createCommentVNode("v-if", true),
|
|
1659
|
+
(_ctx.isConfigModeVisible('claude'))
|
|
1660
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
1661
|
+
key: 1,
|
|
1662
|
+
type: "button",
|
|
1663
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'claude' }]),
|
|
1664
|
+
onClick: $event => (_ctx.switchConfigMode('claude'))
|
|
1665
|
+
}, _toDisplayString(_ctx.t('tab.config.claude')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
1666
|
+
: _createCommentVNode("v-if", true),
|
|
1667
|
+
(_ctx.isConfigModeVisible('openclaw'))
|
|
1668
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
1669
|
+
key: 2,
|
|
1670
|
+
type: "button",
|
|
1671
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'openclaw' }]),
|
|
1672
|
+
onClick: $event => (_ctx.switchConfigMode('openclaw'))
|
|
1673
|
+
}, _toDisplayString(_ctx.t('tab.config.openclaw')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
1674
|
+
: _createCommentVNode("v-if", true)
|
|
1621
1675
|
]))
|
|
1622
1676
|
: _createCommentVNode("v-if", true),
|
|
1623
1677
|
(_ctx.shouldShowCliInstallPlaceholder('claude'))
|
|
@@ -2131,21 +2185,30 @@ return function render(_ctx, _cache) {
|
|
|
2131
2185
|
key: 0,
|
|
2132
2186
|
class: "segmented-control"
|
|
2133
2187
|
}, [
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2188
|
+
(_ctx.isConfigModeVisible('codex'))
|
|
2189
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2190
|
+
key: 0,
|
|
2191
|
+
type: "button",
|
|
2192
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'codex' }]),
|
|
2193
|
+
onClick: $event => (_ctx.switchConfigMode('codex'))
|
|
2194
|
+
}, _toDisplayString(_ctx.t('tab.config.codex')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2195
|
+
: _createCommentVNode("v-if", true),
|
|
2196
|
+
(_ctx.isConfigModeVisible('claude'))
|
|
2197
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2198
|
+
key: 1,
|
|
2199
|
+
type: "button",
|
|
2200
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'claude' }]),
|
|
2201
|
+
onClick: $event => (_ctx.switchConfigMode('claude'))
|
|
2202
|
+
}, _toDisplayString(_ctx.t('tab.config.claude')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2203
|
+
: _createCommentVNode("v-if", true),
|
|
2204
|
+
(_ctx.isConfigModeVisible('openclaw'))
|
|
2205
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2206
|
+
key: 2,
|
|
2207
|
+
type: "button",
|
|
2208
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'openclaw' }]),
|
|
2209
|
+
onClick: $event => (_ctx.switchConfigMode('openclaw'))
|
|
2210
|
+
}, _toDisplayString(_ctx.t('tab.config.openclaw')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2211
|
+
: _createCommentVNode("v-if", true)
|
|
2149
2212
|
]))
|
|
2150
2213
|
: _createCommentVNode("v-if", true),
|
|
2151
2214
|
_createElementVNode("div", { class: "openclaw-layout" }, [
|
|
@@ -2377,31 +2440,46 @@ return function render(_ctx, _cache) {
|
|
|
2377
2440
|
key: 0,
|
|
2378
2441
|
class: "segmented-control"
|
|
2379
2442
|
}, [
|
|
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
|
-
|
|
2443
|
+
(_ctx.isConfigModeVisible('codex'))
|
|
2444
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2445
|
+
key: 0,
|
|
2446
|
+
type: "button",
|
|
2447
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'codex' }]),
|
|
2448
|
+
onClick: $event => (_ctx.switchConfigMode('codex'))
|
|
2449
|
+
}, _toDisplayString(_ctx.t('tab.config.codex')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2450
|
+
: _createCommentVNode("v-if", true),
|
|
2451
|
+
(_ctx.isConfigModeVisible('claude'))
|
|
2452
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2453
|
+
key: 1,
|
|
2454
|
+
type: "button",
|
|
2455
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'claude' }]),
|
|
2456
|
+
onClick: $event => (_ctx.switchConfigMode('claude'))
|
|
2457
|
+
}, _toDisplayString(_ctx.t('tab.config.claude')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2458
|
+
: _createCommentVNode("v-if", true),
|
|
2459
|
+
(_ctx.isConfigModeVisible('openclaw'))
|
|
2460
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2461
|
+
key: 2,
|
|
2462
|
+
type: "button",
|
|
2463
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'openclaw' }]),
|
|
2464
|
+
onClick: $event => (_ctx.switchConfigMode('openclaw'))
|
|
2465
|
+
}, _toDisplayString(_ctx.t('tab.config.openclaw')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2466
|
+
: _createCommentVNode("v-if", true),
|
|
2467
|
+
(_ctx.isConfigModeVisible('opencode'))
|
|
2468
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2469
|
+
key: 3,
|
|
2470
|
+
type: "button",
|
|
2471
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'opencode' }]),
|
|
2472
|
+
onClick: $event => (_ctx.switchConfigMode('opencode'))
|
|
2473
|
+
}, _toDisplayString(_ctx.t('tab.config.opencode')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2474
|
+
: _createCommentVNode("v-if", true),
|
|
2475
|
+
(_ctx.isConfigModeVisible('kilocode'))
|
|
2476
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2477
|
+
key: 4,
|
|
2478
|
+
type: "button",
|
|
2479
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'kilocode' }]),
|
|
2480
|
+
onClick: $event => (_ctx.switchConfigMode('kilocode'))
|
|
2481
|
+
}, _toDisplayString(_ctx.t('tab.config.kilocode')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2482
|
+
: _createCommentVNode("v-if", true)
|
|
2405
2483
|
]))
|
|
2406
2484
|
: _createCommentVNode("v-if", true),
|
|
2407
2485
|
_createElementVNode("section", {
|
|
@@ -2770,31 +2848,46 @@ return function render(_ctx, _cache) {
|
|
|
2770
2848
|
key: 0,
|
|
2771
2849
|
class: "segmented-control"
|
|
2772
2850
|
}, [
|
|
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
|
-
|
|
2851
|
+
(_ctx.isConfigModeVisible('codex'))
|
|
2852
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2853
|
+
key: 0,
|
|
2854
|
+
type: "button",
|
|
2855
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'codex' }]),
|
|
2856
|
+
onClick: $event => (_ctx.switchConfigMode('codex'))
|
|
2857
|
+
}, _toDisplayString(_ctx.t('tab.config.codex')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2858
|
+
: _createCommentVNode("v-if", true),
|
|
2859
|
+
(_ctx.isConfigModeVisible('claude'))
|
|
2860
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2861
|
+
key: 1,
|
|
2862
|
+
type: "button",
|
|
2863
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'claude' }]),
|
|
2864
|
+
onClick: $event => (_ctx.switchConfigMode('claude'))
|
|
2865
|
+
}, _toDisplayString(_ctx.t('tab.config.claude')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2866
|
+
: _createCommentVNode("v-if", true),
|
|
2867
|
+
(_ctx.isConfigModeVisible('openclaw'))
|
|
2868
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2869
|
+
key: 2,
|
|
2870
|
+
type: "button",
|
|
2871
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'openclaw' }]),
|
|
2872
|
+
onClick: $event => (_ctx.switchConfigMode('openclaw'))
|
|
2873
|
+
}, _toDisplayString(_ctx.t('tab.config.openclaw')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2874
|
+
: _createCommentVNode("v-if", true),
|
|
2875
|
+
(_ctx.isConfigModeVisible('opencode'))
|
|
2876
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2877
|
+
key: 3,
|
|
2878
|
+
type: "button",
|
|
2879
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'opencode' }]),
|
|
2880
|
+
onClick: $event => (_ctx.switchConfigMode('opencode'))
|
|
2881
|
+
}, _toDisplayString(_ctx.t('tab.config.opencode')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2882
|
+
: _createCommentVNode("v-if", true),
|
|
2883
|
+
(_ctx.isConfigModeVisible('kilocode'))
|
|
2884
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
2885
|
+
key: 4,
|
|
2886
|
+
type: "button",
|
|
2887
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'kilocode' }]),
|
|
2888
|
+
onClick: $event => (_ctx.switchConfigMode('kilocode'))
|
|
2889
|
+
}, _toDisplayString(_ctx.t('tab.config.kilocode')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
2890
|
+
: _createCommentVNode("v-if", true)
|
|
2798
2891
|
]))
|
|
2799
2892
|
: _createCommentVNode("v-if", true),
|
|
2800
2893
|
_createElementVNode("section", {
|
|
@@ -2923,91 +3016,575 @@ return function render(_ctx, _cache) {
|
|
|
2923
3016
|
r: "3"
|
|
2924
3017
|
})
|
|
2925
3018
|
]))
|
|
2926
|
-
: (_openBlock(), _createElementBlock("svg", {
|
|
3019
|
+
: (_openBlock(), _createElementBlock("svg", {
|
|
3020
|
+
key: 1,
|
|
3021
|
+
viewBox: "0 0 20 20",
|
|
3022
|
+
fill: "none",
|
|
3023
|
+
stroke: "currentColor",
|
|
3024
|
+
"stroke-width": "1.5",
|
|
3025
|
+
width: "16",
|
|
3026
|
+
height: "16"
|
|
3027
|
+
}, [
|
|
3028
|
+
_createElementVNode("path", { d: "M2 2l16 16M8.2 4.2A9.9 9.9 0 0 1 10 4c5 0 8.27 4.11 9 6-.44.94-1.5 2.7-3.2 4.2M14.5 14.5A5.9 5.9 0 0 1 10 16c-5 0-8.27-4.11-9-6 .76-1.66 2.2-3.6 4.3-5" })
|
|
3029
|
+
]))
|
|
3030
|
+
], 40 /* PROPS, NEED_HYDRATION */, ["onMousedown", "onClick", "title", "aria-label"])
|
|
3031
|
+
])
|
|
3032
|
+
])
|
|
3033
|
+
]),
|
|
3034
|
+
(_ctx.kilocodeError)
|
|
3035
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
3036
|
+
key: 0,
|
|
3037
|
+
class: "config-template-hint error-text"
|
|
3038
|
+
}, _toDisplayString(_ctx.kilocodeError), 1 /* TEXT */))
|
|
3039
|
+
: _createCommentVNode("v-if", true)
|
|
3040
|
+
]),
|
|
3041
|
+
(_ctx.kilocodeProviders.length)
|
|
3042
|
+
? (_openBlock(), _createElementBlock("section", {
|
|
3043
|
+
key: 0,
|
|
3044
|
+
class: "selector-section"
|
|
3045
|
+
}, [
|
|
3046
|
+
_createElementVNode("div", { class: "selector-header" }, [
|
|
3047
|
+
_createElementVNode("span", { class: "selector-title" }, _toDisplayString(_ctx.t('kilocode.summary.title')), 1 /* TEXT */)
|
|
3048
|
+
]),
|
|
3049
|
+
_createElementVNode("div", { class: "card-list" }, [
|
|
3050
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.kilocodeProviders, (provider) => {
|
|
3051
|
+
return (_openBlock(), _createElementBlock("div", {
|
|
3052
|
+
key: provider.name,
|
|
3053
|
+
class: _normalizeClass(['card', { active: _ctx.normalizeKilocodeProviderNameForUi(provider.name) === _ctx.normalizeKilocodeProviderNameForUi(_ctx.kilocodeProvider) }]),
|
|
3054
|
+
onDblclick: $event => (_ctx.selectKilocodeProvider(provider)),
|
|
3055
|
+
onKeydown: _withKeys(_withModifiers($event => (_ctx.selectKilocodeProvider(provider)), ["self","prevent"]), ["enter"]),
|
|
3056
|
+
tabindex: "0",
|
|
3057
|
+
role: "button",
|
|
3058
|
+
"aria-current": _ctx.normalizeKilocodeProviderNameForUi(provider.name) === _ctx.normalizeKilocodeProviderNameForUi(_ctx.kilocodeProvider) ? 'true' : null
|
|
3059
|
+
}, [
|
|
3060
|
+
_createElementVNode("div", { class: "card-leading" }, [
|
|
3061
|
+
_createElementVNode("div", { class: "card-icon" }, _toDisplayString(provider.name.charAt(0).toUpperCase()), 1 /* TEXT */),
|
|
3062
|
+
_createElementVNode("div", { class: "card-content" }, [
|
|
3063
|
+
_createElementVNode("div", { class: "card-title" }, _toDisplayString(provider.name), 1 /* TEXT */),
|
|
3064
|
+
_createElementVNode("div", { class: "card-subtitle" }, _toDisplayString(provider.baseURL || provider.api || _ctx.t('config.url.unset')), 1 /* TEXT */),
|
|
3065
|
+
_createElementVNode("div", { class: "card-subtitle" }, _toDisplayString((provider.models || []).join(', ') || _ctx.t('opencode.summary.noModel')), 1 /* TEXT */)
|
|
3066
|
+
])
|
|
3067
|
+
]),
|
|
3068
|
+
_createElementVNode("div", { class: "card-trailing" }, [
|
|
3069
|
+
_createElementVNode("span", {
|
|
3070
|
+
class: _normalizeClass(['pill', provider.hasKey ? 'configured' : 'empty'])
|
|
3071
|
+
}, _toDisplayString(provider.hasKey ? _ctx.t('common.configured') : _ctx.t('common.notConfigured')), 3 /* TEXT, CLASS */)
|
|
3072
|
+
])
|
|
3073
|
+
], 42 /* CLASS, PROPS, NEED_HYDRATION */, ["onDblclick", "onKeydown", "aria-current"]))
|
|
3074
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
3075
|
+
])
|
|
3076
|
+
]))
|
|
3077
|
+
: _createCommentVNode("v-if", true),
|
|
3078
|
+
_createElementVNode("section", { class: "selector-section" }, [
|
|
3079
|
+
_createElementVNode("div", { class: "selector-header" }, [
|
|
3080
|
+
_createElementVNode("span", { class: "selector-title" }, _toDisplayString(_ctx.t('kilocode.configPreview.title')), 1 /* TEXT */)
|
|
3081
|
+
]),
|
|
3082
|
+
_createElementVNode("textarea", {
|
|
3083
|
+
class: "template-textarea",
|
|
3084
|
+
value: _ctx.kilocodeContent,
|
|
3085
|
+
spellcheck: "false",
|
|
3086
|
+
readonly: "",
|
|
3087
|
+
"aria-readonly": "true"
|
|
3088
|
+
}, null, 8 /* PROPS */, ["value"]),
|
|
3089
|
+
_createElementVNode("div", { class: "config-template-hint" }, _toDisplayString(_ctx.t('kilocode.configPreview.hint')), 1 /* TEXT */)
|
|
3090
|
+
]),
|
|
3091
|
+
(!_ctx.isToolConfigWriteAllowed('kilocode'))
|
|
3092
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
3093
|
+
key: 1,
|
|
3094
|
+
class: "tool-config-write-overlay"
|
|
3095
|
+
}, [
|
|
3096
|
+
_createElementVNode("div", { class: "tool-config-write-overlay-card" }, [
|
|
3097
|
+
_createElementVNode("div", { class: "tool-config-write-overlay-title" }, _toDisplayString(_ctx.t('toolConfig.kilocode.lockedTitle')), 1 /* TEXT */),
|
|
3098
|
+
_createElementVNode("p", null, _toDisplayString(_ctx.t('toolConfig.kilocode.lockedDesc')), 1 /* TEXT */),
|
|
3099
|
+
_createElementVNode("button", {
|
|
3100
|
+
type: "button",
|
|
3101
|
+
class: "btn-tool",
|
|
3102
|
+
onClick: $event => (_ctx.setToolConfigPermission('kilocode', true)),
|
|
3103
|
+
disabled: _ctx.toolConfigPermissionSaving.kilocode
|
|
3104
|
+
}, _toDisplayString(_ctx.t('toolConfig.enableWrite')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
3105
|
+
])
|
|
3106
|
+
]))
|
|
3107
|
+
: _createCommentVNode("v-if", true)
|
|
3108
|
+
])
|
|
3109
|
+
], 2 /* CLASS */)
|
|
3110
|
+
], 8 /* PROPS */, ["aria-labelledby"]), [
|
|
3111
|
+
[_vShow, _ctx.mainTab === 'config' && _ctx.configMode === 'kilocode']
|
|
3112
|
+
]),
|
|
3113
|
+
_createCommentVNode(" Pi 配置 "),
|
|
3114
|
+
_withDirectives(_createElementVNode("div", {
|
|
3115
|
+
class: "mode-content mode-cards",
|
|
3116
|
+
id: "panel-config-pi",
|
|
3117
|
+
role: "tabpanel",
|
|
3118
|
+
"aria-labelledby": _ctx.forceCompactLayout ? 'tab-config' : 'side-tab-config-pi'
|
|
3119
|
+
}, [
|
|
3120
|
+
(_ctx.forceCompactLayout && !_ctx.sessionStandalone)
|
|
3121
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
3122
|
+
key: 0,
|
|
3123
|
+
class: "segmented-control"
|
|
3124
|
+
}, [
|
|
3125
|
+
(_ctx.isConfigModeVisible('codex'))
|
|
3126
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
3127
|
+
key: 0,
|
|
3128
|
+
type: "button",
|
|
3129
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'codex' }]),
|
|
3130
|
+
onClick: $event => (_ctx.switchConfigMode('codex'))
|
|
3131
|
+
}, _toDisplayString(_ctx.t('tab.config.codex')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
3132
|
+
: _createCommentVNode("v-if", true),
|
|
3133
|
+
(_ctx.isConfigModeVisible('claude'))
|
|
3134
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
3135
|
+
key: 1,
|
|
3136
|
+
type: "button",
|
|
3137
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'claude' }]),
|
|
3138
|
+
onClick: $event => (_ctx.switchConfigMode('claude'))
|
|
3139
|
+
}, _toDisplayString(_ctx.t('tab.config.claude')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
3140
|
+
: _createCommentVNode("v-if", true),
|
|
3141
|
+
(_ctx.isConfigModeVisible('openclaw'))
|
|
3142
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
3143
|
+
key: 2,
|
|
3144
|
+
type: "button",
|
|
3145
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'openclaw' }]),
|
|
3146
|
+
onClick: $event => (_ctx.switchConfigMode('openclaw'))
|
|
3147
|
+
}, _toDisplayString(_ctx.t('tab.config.openclaw')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
3148
|
+
: _createCommentVNode("v-if", true),
|
|
3149
|
+
(_ctx.isConfigModeVisible('opencode'))
|
|
3150
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
3151
|
+
key: 3,
|
|
3152
|
+
type: "button",
|
|
3153
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'opencode' }]),
|
|
3154
|
+
onClick: $event => (_ctx.switchConfigMode('opencode'))
|
|
3155
|
+
}, _toDisplayString(_ctx.t('tab.config.opencode')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
3156
|
+
: _createCommentVNode("v-if", true),
|
|
3157
|
+
(_ctx.isConfigModeVisible('kilocode'))
|
|
3158
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
3159
|
+
key: 4,
|
|
3160
|
+
type: "button",
|
|
3161
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'kilocode' }]),
|
|
3162
|
+
onClick: $event => (_ctx.switchConfigMode('kilocode'))
|
|
3163
|
+
}, _toDisplayString(_ctx.t('tab.config.kilocode')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
3164
|
+
: _createCommentVNode("v-if", true),
|
|
3165
|
+
(_ctx.isConfigModeVisible('pi'))
|
|
3166
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
3167
|
+
key: 5,
|
|
3168
|
+
type: "button",
|
|
3169
|
+
class: _normalizeClass(['segment', { active: _ctx.configMode === 'pi' }]),
|
|
3170
|
+
onClick: $event => (_ctx.switchConfigMode('pi'))
|
|
3171
|
+
}, _toDisplayString(_ctx.t('tab.config.pi')), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
|
|
3172
|
+
: _createCommentVNode("v-if", true)
|
|
3173
|
+
]))
|
|
3174
|
+
: _createCommentVNode("v-if", true),
|
|
3175
|
+
_createElementVNode("section", {
|
|
3176
|
+
class: "tool-config-write-card",
|
|
3177
|
+
"aria-label": _ctx.t('toolConfig.pi.title')
|
|
3178
|
+
}, [
|
|
3179
|
+
_createElementVNode("div", { class: "tool-config-write-copy" }, [
|
|
3180
|
+
_createElementVNode("div", { class: "tool-config-write-title" }, _toDisplayString(_ctx.t('toolConfig.pi.title')), 1 /* TEXT */),
|
|
3181
|
+
_createElementVNode("p", { class: "tool-config-write-desc" }, _toDisplayString(_ctx.t('toolConfig.pi.desc')), 1 /* TEXT */)
|
|
3182
|
+
]),
|
|
3183
|
+
_createElementVNode("label", { class: "settings-toggle-row tool-config-write-toggle" }, [
|
|
3184
|
+
_createElementVNode("input", {
|
|
3185
|
+
type: "checkbox",
|
|
3186
|
+
autocomplete: "off",
|
|
3187
|
+
checked: _ctx.isToolConfigWriteAllowed('pi'),
|
|
3188
|
+
disabled: _ctx.toolConfigPermissionSaving.pi,
|
|
3189
|
+
onChange: $event => (_ctx.setToolConfigPermission('pi', $event.target.checked))
|
|
3190
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "disabled", "onChange"]),
|
|
3191
|
+
_createElementVNode("span", { class: "toggle-track" }, [
|
|
3192
|
+
_createElementVNode("span", { class: "toggle-thumb" })
|
|
3193
|
+
]),
|
|
3194
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.toolConfigPermissionStatusLabel('pi')), 1 /* TEXT */)
|
|
3195
|
+
])
|
|
3196
|
+
], 8 /* PROPS */, ["aria-label"]),
|
|
3197
|
+
_createElementVNode("div", {
|
|
3198
|
+
class: _normalizeClass(["tool-config-write-scope", { locked: !_ctx.isToolConfigWriteAllowed('pi') }])
|
|
3199
|
+
}, [
|
|
3200
|
+
_createElementVNode("div", { class: "tool-config-write-body" }, [
|
|
3201
|
+
_createElementVNode("section", { class: "selector-section" }, [
|
|
3202
|
+
_createElementVNode("div", { class: "selector-header" }, [
|
|
3203
|
+
_createElementVNode("span", { class: "selector-title" }, _toDisplayString(_ctx.t('pi.providers.title')), 1 /* TEXT */),
|
|
3204
|
+
_createElementVNode("button", {
|
|
3205
|
+
type: "button",
|
|
3206
|
+
class: "btn-tool",
|
|
3207
|
+
onClick: _ctx.startAddPiProvider,
|
|
3208
|
+
disabled: !_ctx.isToolConfigWriteAllowed('pi') || _ctx.piSaving
|
|
3209
|
+
}, _toDisplayString(_ctx.t('pi.providers.add')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
3210
|
+
]),
|
|
3211
|
+
_createElementVNode("div", { class: "config-template-hint" }, _toDisplayString(_ctx.t('pi.providers.targetFile', { path: '~/.pi/agent/models.json' })), 1 /* TEXT */),
|
|
3212
|
+
(_ctx.piProviderIds.length)
|
|
3213
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
3214
|
+
key: 0,
|
|
3215
|
+
class: "card-list"
|
|
3216
|
+
}, [
|
|
3217
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.piProviderIds, (providerId) => {
|
|
3218
|
+
return (_openBlock(), _createElementBlock("div", {
|
|
3219
|
+
key: providerId,
|
|
3220
|
+
class: "card",
|
|
3221
|
+
role: "button",
|
|
3222
|
+
tabindex: "0",
|
|
3223
|
+
onClick: $event => (_ctx.openEditPiProvider(providerId))
|
|
3224
|
+
}, [
|
|
3225
|
+
_createElementVNode("div", { class: "card-leading" }, [
|
|
3226
|
+
_createElementVNode("div", { class: "card-icon" }, _toDisplayString(_ctx.piProviderName(providerId).charAt(0).toUpperCase()), 1 /* TEXT */),
|
|
3227
|
+
_createElementVNode("div", { class: "card-content" }, [
|
|
3228
|
+
_createElementVNode("div", { class: "card-title" }, _toDisplayString(_ctx.piProviderName(providerId)), 1 /* TEXT */),
|
|
3229
|
+
_createElementVNode("div", { class: "card-subtitle" }, _toDisplayString(_ctx.piProviderSummary(providerId)), 1 /* TEXT */)
|
|
3230
|
+
])
|
|
3231
|
+
]),
|
|
3232
|
+
_createElementVNode("div", { class: "card-trailing" }, [
|
|
3233
|
+
(_ctx.piActiveProvider === providerId)
|
|
3234
|
+
? (_openBlock(), _createElementBlock("span", {
|
|
3235
|
+
key: 0,
|
|
3236
|
+
class: "pill configured"
|
|
3237
|
+
}, _toDisplayString(_ctx.t('pi.providers.active')), 1 /* TEXT */))
|
|
3238
|
+
: (_openBlock(), _createElementBlock("button", {
|
|
3239
|
+
key: 1,
|
|
3240
|
+
type: "button",
|
|
3241
|
+
class: "btn-tool",
|
|
3242
|
+
onClick: _withModifiers($event => (_ctx.switchPiActiveProvider(providerId)), ["stop"]),
|
|
3243
|
+
disabled: !_ctx.isToolConfigWriteAllowed('pi') || _ctx.piSaving
|
|
3244
|
+
}, _toDisplayString(_ctx.t('pi.providers.setActive')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]))
|
|
3245
|
+
])
|
|
3246
|
+
], 8 /* PROPS */, ["onClick"]))
|
|
3247
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
3248
|
+
]))
|
|
3249
|
+
: _createCommentVNode("v-if", true),
|
|
3250
|
+
(!_ctx.piProviderIds.length)
|
|
3251
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
3252
|
+
key: 1,
|
|
3253
|
+
class: "config-template-hint"
|
|
3254
|
+
}, _toDisplayString(_ctx.t('pi.providers.empty')), 1 /* TEXT */))
|
|
3255
|
+
: _createCommentVNode("v-if", true)
|
|
3256
|
+
]),
|
|
3257
|
+
(_ctx.editingPiProvider)
|
|
3258
|
+
? (_openBlock(), _createElementBlock("section", {
|
|
3259
|
+
key: 0,
|
|
3260
|
+
class: "selector-section"
|
|
3261
|
+
}, [
|
|
3262
|
+
_createElementVNode("div", { class: "selector-header" }, [
|
|
3263
|
+
_createElementVNode("span", { class: "selector-title" }, _toDisplayString(_ctx.t('pi.providers.editorTitle')), 1 /* TEXT */),
|
|
3264
|
+
_createElementVNode("div", { class: "settings-tab-actions" }, [
|
|
3265
|
+
_createElementVNode("button", {
|
|
3266
|
+
type: "button",
|
|
3267
|
+
class: "btn-tool",
|
|
3268
|
+
onClick: _ctx.savePiProvider,
|
|
3269
|
+
disabled: !_ctx.isToolConfigWriteAllowed('pi') || _ctx.piSaving
|
|
3270
|
+
}, _toDisplayString(_ctx.t('common.save')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
3271
|
+
])
|
|
3272
|
+
]),
|
|
3273
|
+
_createElementVNode("div", { class: "codex-config-grid" }, [
|
|
3274
|
+
_createElementVNode("div", { class: "form-group codex-config-field" }, [
|
|
3275
|
+
_createElementVNode("label", { class: "form-label" }, _toDisplayString(_ctx.t('pi.providers.fields.name')), 1 /* TEXT */),
|
|
3276
|
+
_createElementVNode("input", {
|
|
3277
|
+
class: "form-input",
|
|
3278
|
+
type: "text",
|
|
3279
|
+
value: _ctx.piProviderName(_ctx.editingPiProvider.id),
|
|
3280
|
+
readonly: ""
|
|
3281
|
+
}, null, 8 /* PROPS */, ["value"])
|
|
3282
|
+
]),
|
|
3283
|
+
_createElementVNode("div", { class: "form-group codex-config-field" }, [
|
|
3284
|
+
_createElementVNode("label", { class: "form-label" }, _toDisplayString(_ctx.t('pi.providers.fields.baseUrl')), 1 /* TEXT */),
|
|
3285
|
+
_withDirectives(_createElementVNode("input", {
|
|
3286
|
+
class: "form-input",
|
|
3287
|
+
type: "url",
|
|
3288
|
+
"onUpdate:modelValue": $event => ((_ctx.editingPiProvider.form.baseUrl) = $event),
|
|
3289
|
+
autocomplete: "off",
|
|
3290
|
+
spellcheck: "false",
|
|
3291
|
+
placeholder: "https://"
|
|
3292
|
+
}, null, 8 /* PROPS */, ["onUpdate:modelValue"]), [
|
|
3293
|
+
[_vModelText, _ctx.editingPiProvider.form.baseUrl]
|
|
3294
|
+
])
|
|
3295
|
+
]),
|
|
3296
|
+
_createElementVNode("div", { class: "form-group codex-config-field" }, [
|
|
3297
|
+
_createElementVNode("label", { class: "form-label" }, _toDisplayString(_ctx.t('pi.providers.fields.api')), 1 /* TEXT */),
|
|
3298
|
+
_withDirectives(_createElementVNode("select", {
|
|
3299
|
+
class: "form-input",
|
|
3300
|
+
"onUpdate:modelValue": $event => ((_ctx.editingPiProvider.form.api) = $event),
|
|
3301
|
+
disabled: !_ctx.isToolConfigWriteAllowed('pi')
|
|
3302
|
+
}, [
|
|
3303
|
+
_createElementVNode("option", { value: "openai-completions" }, "openai-completions — " + _toDisplayString(_ctx.t('pi.providers.addModal.api.openaiCompletions')), 1 /* TEXT */),
|
|
3304
|
+
_createElementVNode("option", { value: "openai-responses" }, "openai-responses — " + _toDisplayString(_ctx.t('pi.providers.addModal.api.openaiResponses')), 1 /* TEXT */),
|
|
3305
|
+
_createElementVNode("option", { value: "anthropic-messages" }, "anthropic-messages — " + _toDisplayString(_ctx.t('pi.providers.addModal.api.anthropicMessages')), 1 /* TEXT */),
|
|
3306
|
+
_createElementVNode("option", { value: "google-generative-ai" }, "google-generative-ai — " + _toDisplayString(_ctx.t('pi.providers.addModal.api.googleGenerativeAi')), 1 /* TEXT */),
|
|
3307
|
+
(!['openai-completions', 'openai-responses', 'anthropic-messages', 'google-generative-ai'].includes(_ctx.editingPiProvider.form.api))
|
|
3308
|
+
? (_openBlock(), _createElementBlock("option", {
|
|
3309
|
+
key: 0,
|
|
3310
|
+
value: _ctx.editingPiProvider.form.api
|
|
3311
|
+
}, _toDisplayString(_ctx.editingPiProvider.form.api || '—'), 9 /* TEXT, PROPS */, ["value"]))
|
|
3312
|
+
: _createCommentVNode("v-if", true)
|
|
3313
|
+
], 8 /* PROPS */, ["onUpdate:modelValue", "disabled"]), [
|
|
3314
|
+
[_vModelSelect, _ctx.editingPiProvider.form.api]
|
|
3315
|
+
])
|
|
3316
|
+
]),
|
|
3317
|
+
_createElementVNode("div", { class: "form-group codex-config-field" }, [
|
|
3318
|
+
_createElementVNode("label", { class: "form-label" }, _toDisplayString(_ctx.t('pi.providers.fields.apiKey')), 1 /* TEXT */),
|
|
3319
|
+
_createElementVNode("div", { class: "input-with-toggle" }, [
|
|
3320
|
+
_withDirectives(_createElementVNode("input", {
|
|
3321
|
+
class: "form-input",
|
|
3322
|
+
"onUpdate:modelValue": $event => ((_ctx.editingPiProvider.form.apiKey) = $event),
|
|
3323
|
+
type: _ctx.piShowKey ? 'text' : 'password',
|
|
3324
|
+
autocomplete: "off",
|
|
3325
|
+
spellcheck: "false",
|
|
3326
|
+
placeholder: "sk-..."
|
|
3327
|
+
}, null, 8 /* PROPS */, ["onUpdate:modelValue", "type"]), [
|
|
3328
|
+
[_vModelDynamic, _ctx.editingPiProvider.form.apiKey]
|
|
3329
|
+
]),
|
|
3330
|
+
_createElementVNode("button", {
|
|
3331
|
+
type: "button",
|
|
3332
|
+
class: "input-toggle-btn",
|
|
3333
|
+
onMousedown: _withModifiers(() => {}, ["prevent"]),
|
|
3334
|
+
onClick: $event => (_ctx.piShowKey = !_ctx.piShowKey),
|
|
3335
|
+
title: _ctx.piShowKey ? _ctx.t('common.hide') : _ctx.t('common.show'),
|
|
3336
|
+
"aria-label": _ctx.piShowKey ? _ctx.t('common.hide') : _ctx.t('common.show')
|
|
3337
|
+
}, [
|
|
3338
|
+
(!_ctx.piShowKey)
|
|
3339
|
+
? (_openBlock(), _createElementBlock("svg", {
|
|
3340
|
+
key: 0,
|
|
3341
|
+
viewBox: "0 0 20 20",
|
|
3342
|
+
fill: "none",
|
|
3343
|
+
stroke: "currentColor",
|
|
3344
|
+
"stroke-width": "1.5",
|
|
3345
|
+
width: "16",
|
|
3346
|
+
height: "16"
|
|
3347
|
+
}, [
|
|
3348
|
+
_createElementVNode("path", { d: "M10 4C5 4 1.73 8.11 1 10c.73 1.89 4 6 9 6s8.27-4.11 9-6c-.73-1.89-4-6-9-6z" }),
|
|
3349
|
+
_createElementVNode("circle", {
|
|
3350
|
+
cx: "10",
|
|
3351
|
+
cy: "10",
|
|
3352
|
+
r: "3"
|
|
3353
|
+
})
|
|
3354
|
+
]))
|
|
3355
|
+
: (_openBlock(), _createElementBlock("svg", {
|
|
3356
|
+
key: 1,
|
|
3357
|
+
viewBox: "0 0 20 20",
|
|
3358
|
+
fill: "none",
|
|
3359
|
+
stroke: "currentColor",
|
|
3360
|
+
"stroke-width": "1.5",
|
|
3361
|
+
width: "16",
|
|
3362
|
+
height: "16"
|
|
3363
|
+
}, [
|
|
3364
|
+
_createElementVNode("path", { d: "M2 2l16 16M8.2 4.2A9.9 9.9 0 0 1 10 4c5 0 8.27 4.11 9 6-.44.94-1.5 2.7-3.2 4.2M14.5 14.5A5.9 5.9 0 0 1 10 16c-5 0-8.27-4.11-9-6 .76-1.66 2.2-3.6 4.3-5" })
|
|
3365
|
+
]))
|
|
3366
|
+
], 40 /* PROPS, NEED_HYDRATION */, ["onMousedown", "onClick", "title", "aria-label"])
|
|
3367
|
+
])
|
|
3368
|
+
])
|
|
3369
|
+
]),
|
|
3370
|
+
_createElementVNode("div", { class: "form-group" }, [
|
|
3371
|
+
_createElementVNode("label", { class: "form-label" }, _toDisplayString(_ctx.t('pi.providers.fields.models')), 1 /* TEXT */),
|
|
3372
|
+
(_ctx.piRemoteModelsLoading)
|
|
3373
|
+
? (_openBlock(), _createElementBlock("p", {
|
|
3374
|
+
key: 0,
|
|
3375
|
+
class: "config-template-hint"
|
|
3376
|
+
}, _toDisplayString(_ctx.t('pi.providers.models.remoteLoading')), 1 /* TEXT */))
|
|
3377
|
+
: (_ctx.piRemoteModelError)
|
|
3378
|
+
? (_openBlock(), _createElementBlock("p", {
|
|
3379
|
+
key: 1,
|
|
3380
|
+
class: "config-template-hint"
|
|
3381
|
+
}, _toDisplayString(_ctx.piRemoteModelError) + " · " + _toDisplayString(_ctx.t('pi.providers.models.remoteFailed')), 1 /* TEXT */))
|
|
3382
|
+
: _createCommentVNode("v-if", true),
|
|
3383
|
+
_createElementVNode("div", { class: "card-list" }, [
|
|
3384
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.editingPiProvider.form.models, (model, index) => {
|
|
3385
|
+
return (_openBlock(), _createElementBlock("div", {
|
|
3386
|
+
class: "card",
|
|
3387
|
+
key: index
|
|
3388
|
+
}, [
|
|
3389
|
+
_createElementVNode("div", { class: "input-with-toggle" }, [
|
|
3390
|
+
_withDirectives(_createElementVNode("input", {
|
|
3391
|
+
class: "form-input",
|
|
3392
|
+
type: "text",
|
|
3393
|
+
"onUpdate:modelValue": $event => ((model.id) = $event),
|
|
3394
|
+
autocomplete: "off",
|
|
3395
|
+
spellcheck: "false",
|
|
3396
|
+
placeholder: "claude-sonnet-4",
|
|
3397
|
+
disabled: !_ctx.isToolConfigWriteAllowed('pi'),
|
|
3398
|
+
onInput: $event => (_ctx.piModelSearch = model.id)
|
|
3399
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["onUpdate:modelValue", "disabled", "onInput"]), [
|
|
3400
|
+
[_vModelText, model.id]
|
|
3401
|
+
]),
|
|
3402
|
+
_createElementVNode("button", {
|
|
3403
|
+
type: "button",
|
|
3404
|
+
class: "btn-tool input-toggle-btn",
|
|
3405
|
+
onClick: $event => (_ctx.editingPiProvider.form.models.splice(index, 1)),
|
|
3406
|
+
disabled: !_ctx.isToolConfigWriteAllowed('pi')
|
|
3407
|
+
}, _toDisplayString(_ctx.t('pi.providers.models.remove')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
3408
|
+
])
|
|
3409
|
+
]))
|
|
3410
|
+
}), 128 /* KEYED_FRAGMENT */)),
|
|
3411
|
+
(_ctx.editingPiProvider.form.models.length === 0)
|
|
3412
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
3413
|
+
key: 0,
|
|
3414
|
+
class: "card"
|
|
3415
|
+
}, [
|
|
3416
|
+
_withDirectives(_createElementVNode("input", {
|
|
3417
|
+
class: "form-input",
|
|
3418
|
+
type: "text",
|
|
3419
|
+
"onUpdate:modelValue": $event => ((_ctx.piModelSearch) = $event),
|
|
3420
|
+
autocomplete: "off",
|
|
3421
|
+
spellcheck: "false",
|
|
3422
|
+
placeholder: _ctx.t('pi.providers.models.search'),
|
|
3423
|
+
onKeydown: _withKeys(_withModifiers($event => (_ctx.addPiRemoteModel(_ctx.piModelSearch.trim())), ["prevent"]), ["enter"])
|
|
3424
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["onUpdate:modelValue", "placeholder", "onKeydown"]), [
|
|
3425
|
+
[_vModelText, _ctx.piModelSearch]
|
|
3426
|
+
])
|
|
3427
|
+
]))
|
|
3428
|
+
: _createCommentVNode("v-if", true),
|
|
3429
|
+
(!_ctx.piRemoteModelsLoading && !_ctx.piRemoteModelError && _ctx.piModelSearch.trim() && _ctx.piFilteredRemoteModels().length > 0)
|
|
3430
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
2927
3431
|
key: 1,
|
|
2928
|
-
|
|
2929
|
-
fill: "none",
|
|
2930
|
-
stroke: "currentColor",
|
|
2931
|
-
"stroke-width": "1.5",
|
|
2932
|
-
width: "16",
|
|
2933
|
-
height: "16"
|
|
3432
|
+
class: "card"
|
|
2934
3433
|
}, [
|
|
2935
|
-
|
|
3434
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.piFilteredRemoteModels(), (id) => {
|
|
3435
|
+
return (_openBlock(), _createElementBlock("button", {
|
|
3436
|
+
type: "button",
|
|
3437
|
+
class: "btn-tool",
|
|
3438
|
+
style: {"width":"100%","text-align":"left","justify-content":"flex-start"},
|
|
3439
|
+
key: id,
|
|
3440
|
+
onClick: $event => (_ctx.addPiRemoteModel(id))
|
|
3441
|
+
}, _toDisplayString(id), 9 /* TEXT, PROPS */, ["onClick"]))
|
|
3442
|
+
}), 128 /* KEYED_FRAGMENT */)),
|
|
3443
|
+
_createElementVNode("p", { class: "config-template-hint" }, _toDisplayString(_ctx.t('pi.providers.models.remoteCount', { count: _ctx.piRemoteModels.length })), 1 /* TEXT */)
|
|
2936
3444
|
]))
|
|
2937
|
-
|
|
3445
|
+
: _createCommentVNode("v-if", true),
|
|
3446
|
+
(!_ctx.piRemoteModelsLoading && !_ctx.piRemoteModelError && _ctx.piModelSearch.trim() && _ctx.piFilteredRemoteModels().length === 0)
|
|
3447
|
+
? (_openBlock(), _createElementBlock("p", {
|
|
3448
|
+
key: 2,
|
|
3449
|
+
class: "config-template-hint"
|
|
3450
|
+
}, _toDisplayString(_ctx.t('pi.providers.models.noMatch')), 1 /* TEXT */))
|
|
3451
|
+
: _createCommentVNode("v-if", true)
|
|
3452
|
+
])
|
|
3453
|
+
]),
|
|
3454
|
+
_createElementVNode("div", { class: "settings-tab-actions" }, [
|
|
3455
|
+
_createElementVNode("button", {
|
|
3456
|
+
type: "button",
|
|
3457
|
+
class: "btn-tool",
|
|
3458
|
+
onClick: _ctx.confirmDeletePiProvider,
|
|
3459
|
+
disabled: !_ctx.isToolConfigWriteAllowed('pi') || _ctx.piSaving
|
|
3460
|
+
}, _toDisplayString(_ctx.t('pi.providers.delete')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
2938
3461
|
])
|
|
2939
|
-
])
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
? (_openBlock(), _createElementBlock("div", {
|
|
2943
|
-
key: 0,
|
|
2944
|
-
class: "config-template-hint error-text"
|
|
2945
|
-
}, _toDisplayString(_ctx.kilocodeError), 1 /* TEXT */))
|
|
2946
|
-
: _createCommentVNode("v-if", true)
|
|
2947
|
-
]),
|
|
2948
|
-
(_ctx.kilocodeProviders.length)
|
|
3462
|
+
]))
|
|
3463
|
+
: _createCommentVNode("v-if", true),
|
|
3464
|
+
(_ctx.showAddPiProviderModal)
|
|
2949
3465
|
? (_openBlock(), _createElementBlock("section", {
|
|
2950
|
-
key:
|
|
3466
|
+
key: 1,
|
|
2951
3467
|
class: "selector-section"
|
|
2952
3468
|
}, [
|
|
2953
3469
|
_createElementVNode("div", { class: "selector-header" }, [
|
|
2954
|
-
_createElementVNode("span", { class: "selector-title" }, _toDisplayString(_ctx.t('
|
|
3470
|
+
_createElementVNode("span", { class: "selector-title" }, _toDisplayString(_ctx.t('pi.providers.addModal.title')), 1 /* TEXT */),
|
|
3471
|
+
_createElementVNode("div", { class: "settings-tab-actions" }, [
|
|
3472
|
+
_createElementVNode("button", {
|
|
3473
|
+
type: "button",
|
|
3474
|
+
class: "btn-tool",
|
|
3475
|
+
onClick: _ctx.addPiProviderFromModal,
|
|
3476
|
+
disabled: !_ctx.isToolConfigWriteAllowed('pi') || _ctx.piSaving
|
|
3477
|
+
}, _toDisplayString(_ctx.t('common.save')), 9 /* TEXT, PROPS */, ["onClick", "disabled"]),
|
|
3478
|
+
_createElementVNode("button", {
|
|
3479
|
+
type: "button",
|
|
3480
|
+
class: "btn-tool",
|
|
3481
|
+
onClick: _ctx.cancelAddPiProviderModal
|
|
3482
|
+
}, _toDisplayString(_ctx.t('common.cancel')), 9 /* TEXT, PROPS */, ["onClick"])
|
|
3483
|
+
])
|
|
2955
3484
|
]),
|
|
2956
|
-
_createElementVNode("div", { class: "
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
"
|
|
3485
|
+
_createElementVNode("div", { class: "config-template-hint" }, _toDisplayString(_ctx.t('pi.providers.addModal.subtitle')), 1 /* TEXT */),
|
|
3486
|
+
_createElementVNode("div", { class: "codex-config-grid" }, [
|
|
3487
|
+
_createElementVNode("div", { class: "form-group codex-config-field" }, [
|
|
3488
|
+
_createElementVNode("label", { class: "form-label" }, _toDisplayString(_ctx.t('pi.providers.addModal.fields.baseUrl')), 1 /* TEXT */),
|
|
3489
|
+
_withDirectives(_createElementVNode("input", {
|
|
3490
|
+
class: "form-input",
|
|
3491
|
+
type: "url",
|
|
3492
|
+
"onUpdate:modelValue": $event => ((_ctx.addingPiProviderBaseUrl) = $event),
|
|
3493
|
+
autocomplete: "off",
|
|
3494
|
+
spellcheck: "false",
|
|
3495
|
+
placeholder: "https://",
|
|
3496
|
+
onInput: _ctx.onAddingPiEndpointChange
|
|
3497
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["onUpdate:modelValue", "onInput"]), [
|
|
3498
|
+
[_vModelText, _ctx.addingPiProviderBaseUrl]
|
|
3499
|
+
])
|
|
3500
|
+
]),
|
|
3501
|
+
_createElementVNode("div", { class: "form-group codex-config-field" }, [
|
|
3502
|
+
_createElementVNode("label", { class: "form-label" }, _toDisplayString(_ctx.t('pi.providers.addModal.fields.api')), 1 /* TEXT */),
|
|
3503
|
+
_withDirectives(_createElementVNode("select", {
|
|
3504
|
+
class: "form-input",
|
|
3505
|
+
"onUpdate:modelValue": $event => ((_ctx.addingPiProviderApi) = $event)
|
|
2966
3506
|
}, [
|
|
2967
|
-
_createElementVNode("
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
3507
|
+
_createElementVNode("option", { value: "openai-completions" }, "openai-completions — " + _toDisplayString(_ctx.t('pi.providers.addModal.api.openaiCompletions')), 1 /* TEXT */),
|
|
3508
|
+
_createElementVNode("option", { value: "openai-responses" }, "openai-responses — " + _toDisplayString(_ctx.t('pi.providers.addModal.api.openaiResponses')), 1 /* TEXT */),
|
|
3509
|
+
_createElementVNode("option", { value: "anthropic-messages" }, "anthropic-messages — " + _toDisplayString(_ctx.t('pi.providers.addModal.api.anthropicMessages')), 1 /* TEXT */),
|
|
3510
|
+
_createElementVNode("option", { value: "google-generative-ai" }, "google-generative-ai — " + _toDisplayString(_ctx.t('pi.providers.addModal.api.googleGenerativeAi')), 1 /* TEXT */)
|
|
3511
|
+
], 8 /* PROPS */, ["onUpdate:modelValue"]), [
|
|
3512
|
+
[_vModelSelect, _ctx.addingPiProviderApi]
|
|
3513
|
+
])
|
|
3514
|
+
]),
|
|
3515
|
+
_createElementVNode("div", { class: "form-group codex-config-field" }, [
|
|
3516
|
+
_createElementVNode("label", { class: "form-label" }, _toDisplayString(_ctx.t('pi.providers.addModal.fields.apiKey')), 1 /* TEXT */),
|
|
3517
|
+
_withDirectives(_createElementVNode("input", {
|
|
3518
|
+
class: "form-input",
|
|
3519
|
+
type: "password",
|
|
3520
|
+
"onUpdate:modelValue": $event => ((_ctx.addingPiProviderApiKey) = $event),
|
|
3521
|
+
autocomplete: "off",
|
|
3522
|
+
spellcheck: "false",
|
|
3523
|
+
placeholder: _ctx.t('common.optional'),
|
|
3524
|
+
onInput: _ctx.onAddingPiEndpointChange
|
|
3525
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["onUpdate:modelValue", "placeholder", "onInput"]), [
|
|
3526
|
+
[_vModelText, _ctx.addingPiProviderApiKey]
|
|
3527
|
+
])
|
|
3528
|
+
]),
|
|
3529
|
+
_createElementVNode("div", { class: "form-group codex-config-field" }, [
|
|
3530
|
+
_createElementVNode("label", { class: "form-label" }, _toDisplayString(_ctx.t('pi.providers.fields.models')), 1 /* TEXT */),
|
|
3531
|
+
(_ctx.addingPiRemoteLoading)
|
|
3532
|
+
? (_openBlock(), _createElementBlock("p", {
|
|
3533
|
+
key: 0,
|
|
3534
|
+
class: "config-template-hint"
|
|
3535
|
+
}, _toDisplayString(_ctx.t('pi.providers.models.remoteLoading')), 1 /* TEXT */))
|
|
3536
|
+
: (_ctx.addingPiRemoteError)
|
|
3537
|
+
? (_openBlock(), _createElementBlock("p", {
|
|
3538
|
+
key: 1,
|
|
3539
|
+
class: "config-template-hint"
|
|
3540
|
+
}, _toDisplayString(_ctx.addingPiRemoteError) + " · " + _toDisplayString(_ctx.t('pi.providers.models.remoteFailed')), 1 /* TEXT */))
|
|
3541
|
+
: _createCommentVNode("v-if", true),
|
|
3542
|
+
_withDirectives(_createElementVNode("input", {
|
|
3543
|
+
class: "form-input",
|
|
3544
|
+
type: "text",
|
|
3545
|
+
"onUpdate:modelValue": $event => ((_ctx.addingPiProviderModel) = $event),
|
|
3546
|
+
autocomplete: "off",
|
|
3547
|
+
spellcheck: "false",
|
|
3548
|
+
placeholder: _ctx.addingPiRemoteModels.length ? _ctx.t('pi.providers.models.search') : 'claude-sonnet-4'
|
|
3549
|
+
}, null, 8 /* PROPS */, ["onUpdate:modelValue", "placeholder"]), [
|
|
3550
|
+
[_vModelText, _ctx.addingPiProviderModel]
|
|
3551
|
+
]),
|
|
3552
|
+
(!_ctx.addingPiRemoteLoading && _ctx.addingPiProviderModel.trim() && _ctx.piFilteredAddingRemoteModels().length > 0)
|
|
3553
|
+
? (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [
|
|
3554
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.piFilteredAddingRemoteModels(), (id) => {
|
|
3555
|
+
return (_openBlock(), _createElementBlock("button", {
|
|
3556
|
+
type: "button",
|
|
3557
|
+
class: "btn-tool",
|
|
3558
|
+
style: {"width":"100%","text-align":"left","justify-content":"flex-start","margin-top":"8px"},
|
|
3559
|
+
key: id,
|
|
3560
|
+
onClick: $event => (_ctx.addingPiProviderModel = id)
|
|
3561
|
+
}, _toDisplayString(id), 9 /* TEXT, PROPS */, ["onClick"]))
|
|
3562
|
+
}), 128 /* KEYED_FRAGMENT */)),
|
|
3563
|
+
_createElementVNode("p", { class: "config-template-hint" }, _toDisplayString(_ctx.t('pi.providers.models.remoteCount', { count: _ctx.addingPiRemoteModels.length })), 1 /* TEXT */)
|
|
3564
|
+
], 64 /* STABLE_FRAGMENT */))
|
|
3565
|
+
: (!_ctx.addingPiRemoteLoading && !_ctx.addingPiRemoteError && _ctx.addingPiProviderModel.trim() && _ctx.addingPiRemoteModels.length > 0)
|
|
3566
|
+
? (_openBlock(), _createElementBlock("p", {
|
|
3567
|
+
key: 3,
|
|
3568
|
+
class: "config-template-hint"
|
|
3569
|
+
}, _toDisplayString(_ctx.t('pi.providers.models.noMatch')), 1 /* TEXT */))
|
|
3570
|
+
: _createCommentVNode("v-if", true)
|
|
3571
|
+
])
|
|
2982
3572
|
])
|
|
2983
3573
|
]))
|
|
2984
3574
|
: _createCommentVNode("v-if", true),
|
|
2985
|
-
|
|
2986
|
-
_createElementVNode("div", { class: "selector-header" }, [
|
|
2987
|
-
_createElementVNode("span", { class: "selector-title" }, _toDisplayString(_ctx.t('kilocode.configPreview.title')), 1 /* TEXT */)
|
|
2988
|
-
]),
|
|
2989
|
-
_createElementVNode("textarea", {
|
|
2990
|
-
class: "template-textarea",
|
|
2991
|
-
value: _ctx.kilocodeContent,
|
|
2992
|
-
spellcheck: "false",
|
|
2993
|
-
readonly: "",
|
|
2994
|
-
"aria-readonly": "true"
|
|
2995
|
-
}, null, 8 /* PROPS */, ["value"]),
|
|
2996
|
-
_createElementVNode("div", { class: "config-template-hint" }, _toDisplayString(_ctx.t('kilocode.configPreview.hint')), 1 /* TEXT */)
|
|
2997
|
-
]),
|
|
2998
|
-
(!_ctx.isToolConfigWriteAllowed('kilocode'))
|
|
3575
|
+
(!_ctx.isToolConfigWriteAllowed('pi'))
|
|
2999
3576
|
? (_openBlock(), _createElementBlock("div", {
|
|
3000
|
-
key:
|
|
3577
|
+
key: 2,
|
|
3001
3578
|
class: "tool-config-write-overlay"
|
|
3002
3579
|
}, [
|
|
3003
3580
|
_createElementVNode("div", { class: "tool-config-write-overlay-card" }, [
|
|
3004
|
-
_createElementVNode("div", { class: "tool-config-write-overlay-title" }, _toDisplayString(_ctx.t('toolConfig.
|
|
3005
|
-
_createElementVNode("p", null, _toDisplayString(_ctx.t('toolConfig.
|
|
3581
|
+
_createElementVNode("div", { class: "tool-config-write-overlay-title" }, _toDisplayString(_ctx.t('toolConfig.pi.lockedTitle')), 1 /* TEXT */),
|
|
3582
|
+
_createElementVNode("p", null, _toDisplayString(_ctx.t('toolConfig.pi.lockedDesc')), 1 /* TEXT */),
|
|
3006
3583
|
_createElementVNode("button", {
|
|
3007
3584
|
type: "button",
|
|
3008
3585
|
class: "btn-tool",
|
|
3009
|
-
onClick: $event => (_ctx.setToolConfigPermission('
|
|
3010
|
-
disabled: _ctx.toolConfigPermissionSaving.
|
|
3586
|
+
onClick: $event => (_ctx.setToolConfigPermission('pi', true)),
|
|
3587
|
+
disabled: _ctx.toolConfigPermissionSaving.pi
|
|
3011
3588
|
}, _toDisplayString(_ctx.t('toolConfig.enableWrite')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
3012
3589
|
])
|
|
3013
3590
|
]))
|
|
@@ -3015,7 +3592,7 @@ return function render(_ctx, _cache) {
|
|
|
3015
3592
|
])
|
|
3016
3593
|
], 2 /* CLASS */)
|
|
3017
3594
|
], 8 /* PROPS */, ["aria-labelledby"]), [
|
|
3018
|
-
[_vShow, _ctx.mainTab === 'config' && _ctx.configMode === '
|
|
3595
|
+
[_vShow, _ctx.mainTab === 'config' && _ctx.configMode === 'pi']
|
|
3019
3596
|
]),
|
|
3020
3597
|
_createCommentVNode(" 会话浏览模式 "),
|
|
3021
3598
|
_withDirectives(_createElementVNode("div", {
|
|
@@ -3812,7 +4389,33 @@ return function render(_ctx, _cache) {
|
|
|
3812
4389
|
_createElementVNode("div", {
|
|
3813
4390
|
class: "session-msg-content",
|
|
3814
4391
|
innerHTML: _ctx.highlightQueryText(msg.text) || ''
|
|
3815
|
-
}, null, 8 /* PROPS */, ["innerHTML"])
|
|
4392
|
+
}, null, 8 /* PROPS */, ["innerHTML"]),
|
|
4393
|
+
(msg.normalizedRole === 'user')
|
|
4394
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
4395
|
+
key: 0,
|
|
4396
|
+
type: "button",
|
|
4397
|
+
class: "session-msg-copy",
|
|
4398
|
+
onClick: $event => (_ctx.copySessionMessage(msg)),
|
|
4399
|
+
"aria-label": _ctx.t('sessions.preview.copyMessage'),
|
|
4400
|
+
title: _ctx.t('sessions.preview.copyMessage')
|
|
4401
|
+
}, [
|
|
4402
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
4403
|
+
viewBox: "0 0 24 24",
|
|
4404
|
+
fill: "none",
|
|
4405
|
+
stroke: "currentColor",
|
|
4406
|
+
"stroke-width": "2"
|
|
4407
|
+
}, [
|
|
4408
|
+
_createElementVNode("rect", {
|
|
4409
|
+
x: "8",
|
|
4410
|
+
y: "8",
|
|
4411
|
+
width: "12",
|
|
4412
|
+
height: "12",
|
|
4413
|
+
rx: "2"
|
|
4414
|
+
}),
|
|
4415
|
+
_createElementVNode("path", { d: "M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2" })
|
|
4416
|
+
]))
|
|
4417
|
+
], 8 /* PROPS */, ["onClick", "aria-label", "title"]))
|
|
4418
|
+
: _createCommentVNode("v-if", true)
|
|
3816
4419
|
], 10 /* CLASS, PROPS */, ["data-message-key"]))
|
|
3817
4420
|
_item.memo = _memo
|
|
3818
4421
|
return _item
|
|
@@ -4710,6 +5313,86 @@ return function render(_ctx, _cache) {
|
|
|
4710
5313
|
_createElementVNode("p", { class: "settings-card-hint" }, _toDisplayString(_ctx.t('settings.timeline.style.hint')), 1 /* TEXT */)
|
|
4711
5314
|
])
|
|
4712
5315
|
])
|
|
5316
|
+
], 8 /* PROPS */, ["aria-label"]),
|
|
5317
|
+
_createElementVNode("section", {
|
|
5318
|
+
class: "settings-card",
|
|
5319
|
+
"aria-label": _ctx.t('settings.configTabs.title')
|
|
5320
|
+
}, [
|
|
5321
|
+
_createElementVNode("div", { class: "settings-card-main" }, [
|
|
5322
|
+
_createElementVNode("div", { class: "settings-card-content" }, [
|
|
5323
|
+
_createElementVNode("div", { class: "settings-card-title" }, _toDisplayString(_ctx.t('settings.configTabs.title')), 1 /* TEXT */),
|
|
5324
|
+
_createElementVNode("p", { class: "settings-card-desc" }, _toDisplayString(_ctx.t('settings.configTabs.meta')), 1 /* TEXT */),
|
|
5325
|
+
_createElementVNode("div", { class: "settings-toggle-grid" }, [
|
|
5326
|
+
_createElementVNode("label", { class: "settings-toggle-row" }, [
|
|
5327
|
+
_createElementVNode("input", {
|
|
5328
|
+
type: "checkbox",
|
|
5329
|
+
checked: _ctx.configModeVisibility.codex,
|
|
5330
|
+
onChange: $event => (_ctx.setConfigModeVisibility('codex', $event.target.checked))
|
|
5331
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "onChange"]),
|
|
5332
|
+
_createElementVNode("span", { class: "toggle-track" }, [
|
|
5333
|
+
_createElementVNode("span", { class: "toggle-thumb" })
|
|
5334
|
+
]),
|
|
5335
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('tab.config.codex')), 1 /* TEXT */)
|
|
5336
|
+
]),
|
|
5337
|
+
_createElementVNode("label", { class: "settings-toggle-row" }, [
|
|
5338
|
+
_createElementVNode("input", {
|
|
5339
|
+
type: "checkbox",
|
|
5340
|
+
checked: _ctx.configModeVisibility.claude,
|
|
5341
|
+
onChange: $event => (_ctx.setConfigModeVisibility('claude', $event.target.checked))
|
|
5342
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "onChange"]),
|
|
5343
|
+
_createElementVNode("span", { class: "toggle-track" }, [
|
|
5344
|
+
_createElementVNode("span", { class: "toggle-thumb" })
|
|
5345
|
+
]),
|
|
5346
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('tab.config.claude')), 1 /* TEXT */)
|
|
5347
|
+
]),
|
|
5348
|
+
_createElementVNode("label", { class: "settings-toggle-row" }, [
|
|
5349
|
+
_createElementVNode("input", {
|
|
5350
|
+
type: "checkbox",
|
|
5351
|
+
checked: _ctx.configModeVisibility.openclaw,
|
|
5352
|
+
onChange: $event => (_ctx.setConfigModeVisibility('openclaw', $event.target.checked))
|
|
5353
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "onChange"]),
|
|
5354
|
+
_createElementVNode("span", { class: "toggle-track" }, [
|
|
5355
|
+
_createElementVNode("span", { class: "toggle-thumb" })
|
|
5356
|
+
]),
|
|
5357
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('tab.config.openclaw')), 1 /* TEXT */)
|
|
5358
|
+
]),
|
|
5359
|
+
_createElementVNode("label", { class: "settings-toggle-row" }, [
|
|
5360
|
+
_createElementVNode("input", {
|
|
5361
|
+
type: "checkbox",
|
|
5362
|
+
checked: _ctx.configModeVisibility.opencode,
|
|
5363
|
+
onChange: $event => (_ctx.setConfigModeVisibility('opencode', $event.target.checked))
|
|
5364
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "onChange"]),
|
|
5365
|
+
_createElementVNode("span", { class: "toggle-track" }, [
|
|
5366
|
+
_createElementVNode("span", { class: "toggle-thumb" })
|
|
5367
|
+
]),
|
|
5368
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('tab.config.opencode')), 1 /* TEXT */)
|
|
5369
|
+
]),
|
|
5370
|
+
_createElementVNode("label", { class: "settings-toggle-row" }, [
|
|
5371
|
+
_createElementVNode("input", {
|
|
5372
|
+
type: "checkbox",
|
|
5373
|
+
checked: _ctx.configModeVisibility.kilocode,
|
|
5374
|
+
onChange: $event => (_ctx.setConfigModeVisibility('kilocode', $event.target.checked))
|
|
5375
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "onChange"]),
|
|
5376
|
+
_createElementVNode("span", { class: "toggle-track" }, [
|
|
5377
|
+
_createElementVNode("span", { class: "toggle-thumb" })
|
|
5378
|
+
]),
|
|
5379
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('tab.config.kilocode')), 1 /* TEXT */)
|
|
5380
|
+
]),
|
|
5381
|
+
_createElementVNode("label", { class: "settings-toggle-row" }, [
|
|
5382
|
+
_createElementVNode("input", {
|
|
5383
|
+
type: "checkbox",
|
|
5384
|
+
checked: _ctx.configModeVisibility.pi,
|
|
5385
|
+
onChange: $event => (_ctx.setConfigModeVisibility('pi', $event.target.checked))
|
|
5386
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, ["checked", "onChange"]),
|
|
5387
|
+
_createElementVNode("span", { class: "toggle-track" }, [
|
|
5388
|
+
_createElementVNode("span", { class: "toggle-thumb" })
|
|
5389
|
+
]),
|
|
5390
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('tab.config.pi')), 1 /* TEXT */)
|
|
5391
|
+
])
|
|
5392
|
+
]),
|
|
5393
|
+
_createElementVNode("p", { class: "settings-card-hint" }, _toDisplayString(_ctx.t('settings.configTabs.hint')), 1 /* TEXT */)
|
|
5394
|
+
])
|
|
5395
|
+
])
|
|
4713
5396
|
], 8 /* PROPS */, ["aria-label"])
|
|
4714
5397
|
])
|
|
4715
5398
|
], 512 /* NEED_PATCH */), [
|
|
@@ -6035,6 +6718,23 @@ return function render(_ctx, _cache) {
|
|
|
6035
6718
|
}),
|
|
6036
6719
|
_createElementVNode("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2" })
|
|
6037
6720
|
]))
|
|
6721
|
+
], 8 /* PROPS */, ["onClick", "disabled", "title"]),
|
|
6722
|
+
_createElementVNode("button", {
|
|
6723
|
+
class: "btn-mini",
|
|
6724
|
+
onClick: _ctx.openPromptHistory,
|
|
6725
|
+
disabled: _ctx.agentsSaving || _ctx.agentsDiffVisible,
|
|
6726
|
+
title: _ctx.t('common.history')
|
|
6727
|
+
}, [
|
|
6728
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
6729
|
+
class: "btn-icon-sm",
|
|
6730
|
+
viewBox: "0 0 24 24",
|
|
6731
|
+
fill: "none",
|
|
6732
|
+
stroke: "currentColor",
|
|
6733
|
+
"stroke-width": "2"
|
|
6734
|
+
}, [
|
|
6735
|
+
_createElementVNode("path", { d: "M12 8v4l3 2" }),
|
|
6736
|
+
_createElementVNode("path", { d: "M3 12a9 9 0 1 0 9-9 9 9 0 0 0-7.5 4M3 4v4h4" })
|
|
6737
|
+
]))
|
|
6038
6738
|
], 8 /* PROPS */, ["onClick", "disabled", "title"])
|
|
6039
6739
|
]),
|
|
6040
6740
|
_createElementVNode("div", { class: "prompts-editor-group prompts-editor-group--workflow" }, [
|
|
@@ -6109,6 +6809,72 @@ return function render(_ctx, _cache) {
|
|
|
6109
6809
|
])
|
|
6110
6810
|
])
|
|
6111
6811
|
]),
|
|
6812
|
+
(_ctx.promptHistoryVisible)
|
|
6813
|
+
? (_openBlock(), _createElementBlock("details", {
|
|
6814
|
+
key: 0,
|
|
6815
|
+
class: "prompt-history-panel",
|
|
6816
|
+
open: ""
|
|
6817
|
+
}, [
|
|
6818
|
+
_createElementVNode("summary", { class: "prompt-history-summary" }, [
|
|
6819
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('common.history')), 1 /* TEXT */),
|
|
6820
|
+
_createElementVNode("button", {
|
|
6821
|
+
type: "button",
|
|
6822
|
+
class: "btn-mini prompt-history-close",
|
|
6823
|
+
onClick: _ctx.closePromptHistory,
|
|
6824
|
+
title: _ctx.t('common.close')
|
|
6825
|
+
}, "✕", 8 /* PROPS */, ["onClick", "title"])
|
|
6826
|
+
]),
|
|
6827
|
+
_createElementVNode("div", { class: "prompt-history-body" }, [
|
|
6828
|
+
(!_ctx.promptHistoryLoading && !_ctx.promptHistoryError && _ctx.promptHistoryItems.length)
|
|
6829
|
+
? (_openBlock(), _createElementBlock("ul", {
|
|
6830
|
+
key: 0,
|
|
6831
|
+
class: "prompt-history-list"
|
|
6832
|
+
}, [
|
|
6833
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.promptHistoryItems, (item) => {
|
|
6834
|
+
return (_openBlock(), _createElementBlock("li", {
|
|
6835
|
+
key: item.id,
|
|
6836
|
+
class: _normalizeClass(['prompt-history-item', { active: _ctx.promptHistoryPreviewId === item.id }]),
|
|
6837
|
+
onClick: $event => (_ctx.viewPromptHistoryItem(item))
|
|
6838
|
+
}, [
|
|
6839
|
+
_createElementVNode("span", { class: "prompt-history-time" }, _toDisplayString(item.id), 1 /* TEXT */),
|
|
6840
|
+
_createElementVNode("span", { class: "prompt-history-size" }, _toDisplayString(Math.round(item.size / 1024 * 10) / 10) + " KB", 1 /* TEXT */)
|
|
6841
|
+
], 10 /* CLASS, PROPS */, ["onClick"]))
|
|
6842
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
6843
|
+
]))
|
|
6844
|
+
: _createCommentVNode("v-if", true),
|
|
6845
|
+
(_ctx.promptHistoryLoading)
|
|
6846
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6847
|
+
key: 1,
|
|
6848
|
+
class: "state-message"
|
|
6849
|
+
}, _toDisplayString(_ctx.t('diff.generating')), 1 /* TEXT */))
|
|
6850
|
+
: (_ctx.promptHistoryError)
|
|
6851
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6852
|
+
key: 2,
|
|
6853
|
+
class: "state-message error"
|
|
6854
|
+
}, _toDisplayString(_ctx.promptHistoryError), 1 /* TEXT */))
|
|
6855
|
+
: (!_ctx.promptHistoryItems.length)
|
|
6856
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6857
|
+
key: 3,
|
|
6858
|
+
class: "state-message"
|
|
6859
|
+
}, _toDisplayString(_ctx.t('toast.history.empty')), 1 /* TEXT */))
|
|
6860
|
+
: _createCommentVNode("v-if", true),
|
|
6861
|
+
(_ctx.promptHistoryPreviewContent)
|
|
6862
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
6863
|
+
key: 4,
|
|
6864
|
+
class: "prompt-history-preview-wrap"
|
|
6865
|
+
}, [
|
|
6866
|
+
_createElementVNode("pre", { class: "prompt-history-preview" }, _toDisplayString(_ctx.promptHistoryPreviewContent), 1 /* TEXT */),
|
|
6867
|
+
_createElementVNode("button", {
|
|
6868
|
+
type: "button",
|
|
6869
|
+
class: "btn-mini btn-confirm-mini",
|
|
6870
|
+
onClick: _ctx.applyPromptHistoryToEditor,
|
|
6871
|
+
disabled: _ctx.agentsSaving || _ctx.agentsDiffVisible
|
|
6872
|
+
}, _toDisplayString(_ctx.t('common.restoreToEditor')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
6873
|
+
]))
|
|
6874
|
+
: _createCommentVNode("v-if", true)
|
|
6875
|
+
])
|
|
6876
|
+
]))
|
|
6877
|
+
: _createCommentVNode("v-if", true),
|
|
6112
6878
|
_createElementVNode("div", { class: "prompt-presets-inline-row" }, [
|
|
6113
6879
|
_createElementVNode("div", { class: "prompt-presets-inline-group" }, [
|
|
6114
6880
|
_createElementVNode("label", { class: "prompt-presets-inline-label" }, _toDisplayString(_ctx.t('prompts.presets.title')), 1 /* TEXT */),
|
|
@@ -6386,6 +7152,23 @@ return function render(_ctx, _cache) {
|
|
|
6386
7152
|
}),
|
|
6387
7153
|
_createElementVNode("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2" })
|
|
6388
7154
|
]))
|
|
7155
|
+
], 8 /* PROPS */, ["onClick", "disabled", "title"]),
|
|
7156
|
+
_createElementVNode("button", {
|
|
7157
|
+
class: "btn-mini",
|
|
7158
|
+
onClick: _ctx.openSysHistory,
|
|
7159
|
+
disabled: _ctx.sysPromptSaving || _ctx.sysPromptDiffVisible,
|
|
7160
|
+
title: _ctx.t('common.history')
|
|
7161
|
+
}, [
|
|
7162
|
+
(_openBlock(), _createElementBlock("svg", {
|
|
7163
|
+
class: "btn-icon-sm",
|
|
7164
|
+
viewBox: "0 0 24 24",
|
|
7165
|
+
fill: "none",
|
|
7166
|
+
stroke: "currentColor",
|
|
7167
|
+
"stroke-width": "2"
|
|
7168
|
+
}, [
|
|
7169
|
+
_createElementVNode("path", { d: "M12 8v4l3 2" }),
|
|
7170
|
+
_createElementVNode("path", { d: "M3 12a9 9 0 1 0 9-9 9 9 0 0 0-7.5 4M3 4v4h4" })
|
|
7171
|
+
]))
|
|
6389
7172
|
], 8 /* PROPS */, ["onClick", "disabled", "title"])
|
|
6390
7173
|
]),
|
|
6391
7174
|
_createElementVNode("div", { class: "prompts-editor-group prompts-editor-group--workflow" }, [
|
|
@@ -6460,6 +7243,72 @@ return function render(_ctx, _cache) {
|
|
|
6460
7243
|
])
|
|
6461
7244
|
])
|
|
6462
7245
|
]),
|
|
7246
|
+
(_ctx.sysHistoryVisible)
|
|
7247
|
+
? (_openBlock(), _createElementBlock("details", {
|
|
7248
|
+
key: 0,
|
|
7249
|
+
class: "prompt-history-panel",
|
|
7250
|
+
open: ""
|
|
7251
|
+
}, [
|
|
7252
|
+
_createElementVNode("summary", { class: "prompt-history-summary" }, [
|
|
7253
|
+
_createElementVNode("span", null, _toDisplayString(_ctx.t('common.history')), 1 /* TEXT */),
|
|
7254
|
+
_createElementVNode("button", {
|
|
7255
|
+
type: "button",
|
|
7256
|
+
class: "btn-mini prompt-history-close",
|
|
7257
|
+
onClick: _ctx.closeSysHistory,
|
|
7258
|
+
title: _ctx.t('common.close')
|
|
7259
|
+
}, "✕", 8 /* PROPS */, ["onClick", "title"])
|
|
7260
|
+
]),
|
|
7261
|
+
_createElementVNode("div", { class: "prompt-history-body" }, [
|
|
7262
|
+
(!_ctx.sysHistoryLoading && !_ctx.sysHistoryError && _ctx.sysHistoryItems.length)
|
|
7263
|
+
? (_openBlock(), _createElementBlock("ul", {
|
|
7264
|
+
key: 0,
|
|
7265
|
+
class: "prompt-history-list"
|
|
7266
|
+
}, [
|
|
7267
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sysHistoryItems, (item) => {
|
|
7268
|
+
return (_openBlock(), _createElementBlock("li", {
|
|
7269
|
+
key: item.id,
|
|
7270
|
+
class: _normalizeClass(['prompt-history-item', { active: _ctx.sysHistoryPreviewId === item.id }]),
|
|
7271
|
+
onClick: $event => (_ctx.viewSysHistoryItem(item))
|
|
7272
|
+
}, [
|
|
7273
|
+
_createElementVNode("span", { class: "prompt-history-time" }, _toDisplayString(item.id), 1 /* TEXT */),
|
|
7274
|
+
_createElementVNode("span", { class: "prompt-history-size" }, _toDisplayString(Math.round(item.size / 1024 * 10) / 10) + " KB", 1 /* TEXT */)
|
|
7275
|
+
], 10 /* CLASS, PROPS */, ["onClick"]))
|
|
7276
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
7277
|
+
]))
|
|
7278
|
+
: _createCommentVNode("v-if", true),
|
|
7279
|
+
(_ctx.sysHistoryLoading)
|
|
7280
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
7281
|
+
key: 1,
|
|
7282
|
+
class: "state-message"
|
|
7283
|
+
}, _toDisplayString(_ctx.t('diff.generating')), 1 /* TEXT */))
|
|
7284
|
+
: (_ctx.sysHistoryError)
|
|
7285
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
7286
|
+
key: 2,
|
|
7287
|
+
class: "state-message error"
|
|
7288
|
+
}, _toDisplayString(_ctx.sysHistoryError), 1 /* TEXT */))
|
|
7289
|
+
: (!_ctx.sysHistoryItems.length)
|
|
7290
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
7291
|
+
key: 3,
|
|
7292
|
+
class: "state-message"
|
|
7293
|
+
}, _toDisplayString(_ctx.t('toast.history.empty')), 1 /* TEXT */))
|
|
7294
|
+
: _createCommentVNode("v-if", true),
|
|
7295
|
+
(_ctx.sysHistoryPreviewContent)
|
|
7296
|
+
? (_openBlock(), _createElementBlock("div", {
|
|
7297
|
+
key: 4,
|
|
7298
|
+
class: "prompt-history-preview-wrap"
|
|
7299
|
+
}, [
|
|
7300
|
+
_createElementVNode("pre", { class: "prompt-history-preview" }, _toDisplayString(_ctx.sysHistoryPreviewContent), 1 /* TEXT */),
|
|
7301
|
+
_createElementVNode("button", {
|
|
7302
|
+
type: "button",
|
|
7303
|
+
class: "btn-mini btn-confirm-mini",
|
|
7304
|
+
onClick: _ctx.applySysHistoryToEditor,
|
|
7305
|
+
disabled: _ctx.sysPromptSaving || _ctx.sysPromptDiffVisible
|
|
7306
|
+
}, _toDisplayString(_ctx.t('common.restoreToEditor')), 9 /* TEXT, PROPS */, ["onClick", "disabled"])
|
|
7307
|
+
]))
|
|
7308
|
+
: _createCommentVNode("v-if", true)
|
|
7309
|
+
])
|
|
7310
|
+
]))
|
|
7311
|
+
: _createCommentVNode("v-if", true),
|
|
6463
7312
|
_createElementVNode("div", { class: "form-group" }, [
|
|
6464
7313
|
(_ctx.sysPromptDiffVisible)
|
|
6465
7314
|
? (_openBlock(), _createElementBlock("div", { key: 0 }, [
|