opencode-subagent-magazine 1.1.3 → 1.2.0
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 +12 -4
- package/dist/_version.d.ts +1 -1
- package/dist/_version.js +1 -1
- package/dist/index.js +169 -8
- package/dist/tui.js +412 -233
- package/package.json +1 -1
- package/src/_version.ts +1 -1
- package/src/index.tsx +187 -9
package/dist/tui.js
CHANGED
|
@@ -11,7 +11,7 @@ import { createElement as _$createElement } from "@opentui/solid";
|
|
|
11
11
|
import { createMemo, createSignal, createEffect, onMount, onCleanup, untrack, Show, For } from "solid-js";
|
|
12
12
|
|
|
13
13
|
// src/_version.ts
|
|
14
|
-
var PLUGIN_VERSION = "1.
|
|
14
|
+
var PLUGIN_VERSION = "1.2.0";
|
|
15
15
|
|
|
16
16
|
// src/index.tsx
|
|
17
17
|
var SUBAGENT_TOOLS = /* @__PURE__ */ new Set(["task", "delegate", "call_omo_agent"]);
|
|
@@ -30,10 +30,15 @@ var I18N = {
|
|
|
30
30
|
"cost.label": "\u8D39\u7528",
|
|
31
31
|
"scroll.more": "\u66F4\u591A",
|
|
32
32
|
"scroll.top": "\u56DE\u9876",
|
|
33
|
+
"scroll.bottom": "\u56DE\u5E95",
|
|
33
34
|
"dismiss.label": "\u6807\u8BB0\u5B8C\u6210",
|
|
34
35
|
"status.running": "\u8FD0\u884C\u4E2D",
|
|
35
36
|
"status.done": "\u5DF2\u5B8C\u6210",
|
|
36
|
-
"status.error": "\u9519\u8BEF"
|
|
37
|
+
"status.error": "\u9519\u8BEF",
|
|
38
|
+
"order.desc": "\u964D\u5E8F\uFF08\u6700\u65B0\u5728\u524D\uFF09",
|
|
39
|
+
"order.asc": "\u5347\u5E8F\uFF08\u6700\u65E9\u5728\u524D\uFF09",
|
|
40
|
+
"scroll.wheel": "\u6EDA\u8F6E\u7FFB\u9875",
|
|
41
|
+
"scroll.click": "\u70B9\u51FB\u7FFB\u9875"
|
|
37
42
|
},
|
|
38
43
|
en: {
|
|
39
44
|
"panel.title": "SubAgent",
|
|
@@ -49,10 +54,15 @@ var I18N = {
|
|
|
49
54
|
"cost.label": "cost",
|
|
50
55
|
"scroll.more": "more",
|
|
51
56
|
"scroll.top": "Top",
|
|
57
|
+
"scroll.bottom": "Bottom",
|
|
52
58
|
"dismiss.label": "dismiss",
|
|
53
59
|
"status.running": "running",
|
|
54
60
|
"status.done": "done",
|
|
55
|
-
"status.error": "error"
|
|
61
|
+
"status.error": "error",
|
|
62
|
+
"order.desc": "Desc (newest first)",
|
|
63
|
+
"order.asc": "Asc (oldest first)",
|
|
64
|
+
"scroll.wheel": "Wheel Scroll",
|
|
65
|
+
"scroll.click": "Click Scroll"
|
|
56
66
|
}
|
|
57
67
|
};
|
|
58
68
|
function detectLang() {
|
|
@@ -311,6 +321,8 @@ function SubAgentPanel(props) {
|
|
|
311
321
|
const [hoveredOpen, setHoveredOpen] = createSignal(void 0);
|
|
312
322
|
const [hoveredDismiss, setHoveredDismiss] = createSignal(void 0);
|
|
313
323
|
const [hoveredTop, setHoveredTop] = createSignal(false);
|
|
324
|
+
const [hoveredMoreAbove, setHoveredMoreAbove] = createSignal(false);
|
|
325
|
+
const [hoveredMoreBelow, setHoveredMoreBelow] = createSignal(false);
|
|
314
326
|
const [scrollOffset, setScrollOffset] = createSignal((() => {
|
|
315
327
|
try {
|
|
316
328
|
return loadSessionData()[props.sessionId]?.scroll ?? 0;
|
|
@@ -909,7 +921,11 @@ function SubAgentPanel(props) {
|
|
|
909
921
|
};
|
|
910
922
|
});
|
|
911
923
|
const entryList = createMemo(() => {
|
|
912
|
-
|
|
924
|
+
const entries2 = [...entryMap().values()];
|
|
925
|
+
if (props.sortOrder() === "desc") {
|
|
926
|
+
return entries2.sort((a, b) => b.startedAt - a.startedAt);
|
|
927
|
+
}
|
|
928
|
+
return entries2.sort((a, b) => a.startedAt - b.startedAt);
|
|
913
929
|
});
|
|
914
930
|
const max = props.maxEntries;
|
|
915
931
|
const clampedOffset = createMemo(() => {
|
|
@@ -921,6 +937,49 @@ function SubAgentPanel(props) {
|
|
|
921
937
|
const visibleList = createMemo(() => entryList().slice(clampedOffset(), clampedOffset() + max()));
|
|
922
938
|
const hiddenAbove = createMemo(() => clampedOffset());
|
|
923
939
|
const hiddenBelow = createMemo(() => Math.max(0, entryList().length - clampedOffset() - max()));
|
|
940
|
+
createEffect(() => {
|
|
941
|
+
if (hiddenAbove() === 0) setHoveredMoreAbove(false);
|
|
942
|
+
});
|
|
943
|
+
let sortInitialized = false;
|
|
944
|
+
createEffect(() => {
|
|
945
|
+
props.sortOrder();
|
|
946
|
+
if (!sortInitialized) {
|
|
947
|
+
sortInitialized = true;
|
|
948
|
+
return;
|
|
949
|
+
}
|
|
950
|
+
const total = untrack(() => entryList().length);
|
|
951
|
+
const m = untrack(() => max());
|
|
952
|
+
const target = props.sortOrder() === "desc" ? 0 : Math.max(0, total - m);
|
|
953
|
+
setScrollOffset(target);
|
|
954
|
+
setTimeout(() => {
|
|
955
|
+
try {
|
|
956
|
+
persistScroll(props.sessionId, target);
|
|
957
|
+
} catch {
|
|
958
|
+
}
|
|
959
|
+
}, 0);
|
|
960
|
+
});
|
|
961
|
+
let prevEntryCount = 0;
|
|
962
|
+
createEffect(() => {
|
|
963
|
+
const total = entryList().length;
|
|
964
|
+
if (prevEntryCount === 0) {
|
|
965
|
+
prevEntryCount = total;
|
|
966
|
+
return;
|
|
967
|
+
}
|
|
968
|
+
if (total === prevEntryCount) return;
|
|
969
|
+
const m = max();
|
|
970
|
+
const wasAtNewest = props.sortOrder() === "desc" ? untrack(() => scrollOffset() === 0) : untrack(() => scrollOffset() >= prevEntryCount - m);
|
|
971
|
+
prevEntryCount = total;
|
|
972
|
+
if (wasAtNewest) {
|
|
973
|
+
const target = props.sortOrder() === "desc" ? 0 : Math.max(0, total - m);
|
|
974
|
+
setScrollOffset(target);
|
|
975
|
+
setTimeout(() => {
|
|
976
|
+
try {
|
|
977
|
+
persistScroll(props.sessionId, target);
|
|
978
|
+
} catch {
|
|
979
|
+
}
|
|
980
|
+
}, 0);
|
|
981
|
+
}
|
|
982
|
+
});
|
|
924
983
|
const entries = createMemo(() => {
|
|
925
984
|
const nowVal = now();
|
|
926
985
|
return entryList().map((e) => ({
|
|
@@ -1051,51 +1110,51 @@ function SubAgentPanel(props) {
|
|
|
1051
1110
|
_$insert(_el$2, (() => {
|
|
1052
1111
|
var _c$ = _$memo(() => !!anyEntry());
|
|
1053
1112
|
return () => _c$() ? [(() => {
|
|
1054
|
-
var _el$
|
|
1055
|
-
_$insert(_el$
|
|
1056
|
-
_$effect((_$p) => _$setProp(_el$
|
|
1113
|
+
var _el$11 = _$createElement("span");
|
|
1114
|
+
_$insert(_el$11, () => " ".repeat(spacerCols()));
|
|
1115
|
+
_$effect((_$p) => _$setProp(_el$11, "style", {
|
|
1057
1116
|
fg: pal().muted
|
|
1058
1117
|
}, _$p));
|
|
1059
|
-
return _el$
|
|
1118
|
+
return _el$11;
|
|
1060
1119
|
})(), (() => {
|
|
1061
|
-
var _el$
|
|
1062
|
-
_$insert(_el$
|
|
1063
|
-
_$effect((_$p) => _$setProp(_el$
|
|
1120
|
+
var _el$12 = _$createElement("span");
|
|
1121
|
+
_$insert(_el$12, () => summaryParts().done);
|
|
1122
|
+
_$effect((_$p) => _$setProp(_el$12, "style", {
|
|
1064
1123
|
fg: pal().success
|
|
1065
1124
|
}, _$p));
|
|
1066
|
-
return _el$
|
|
1125
|
+
return _el$12;
|
|
1067
1126
|
})(), _$memo(() => _$memo(() => runningCount() > 0)() && (() => {
|
|
1068
|
-
var _el$
|
|
1069
|
-
_$insertNode(_el$
|
|
1070
|
-
_$insert(_el$
|
|
1071
|
-
_$effect((_$p) => _$setProp(_el$
|
|
1127
|
+
var _el$13 = _$createElement("span"), _el$14 = _$createTextNode(` `);
|
|
1128
|
+
_$insertNode(_el$13, _el$14);
|
|
1129
|
+
_$insert(_el$13, () => summaryParts().running, null);
|
|
1130
|
+
_$effect((_$p) => _$setProp(_el$13, "style", {
|
|
1072
1131
|
fg: pal().warning
|
|
1073
1132
|
}, _$p));
|
|
1074
|
-
return _el$
|
|
1133
|
+
return _el$13;
|
|
1075
1134
|
})()), _$memo(() => _$memo(() => errCount() > 0)() && (() => {
|
|
1076
|
-
var _el$
|
|
1077
|
-
_$insertNode(_el$
|
|
1078
|
-
_$insert(_el$
|
|
1079
|
-
_$effect((_$p) => _$setProp(_el$
|
|
1135
|
+
var _el$15 = _$createElement("span"), _el$16 = _$createTextNode(` `);
|
|
1136
|
+
_$insertNode(_el$15, _el$16);
|
|
1137
|
+
_$insert(_el$15, () => summaryParts().err, null);
|
|
1138
|
+
_$effect((_$p) => _$setProp(_el$15, "style", {
|
|
1080
1139
|
fg: pal().error
|
|
1081
1140
|
}, _$p));
|
|
1082
|
-
return _el$
|
|
1141
|
+
return _el$15;
|
|
1083
1142
|
})()), _$memo(() => _$memo(() => !!summaryParts().duration)() ? (() => {
|
|
1084
|
-
var _el$
|
|
1085
|
-
_$insertNode(_el$
|
|
1086
|
-
_$insert(_el$
|
|
1087
|
-
_$effect((_$p) => _$setProp(_el$
|
|
1143
|
+
var _el$17 = _$createElement("span"), _el$18 = _$createTextNode(` `);
|
|
1144
|
+
_$insertNode(_el$17, _el$18);
|
|
1145
|
+
_$insert(_el$17, () => summaryParts().duration, null);
|
|
1146
|
+
_$effect((_$p) => _$setProp(_el$17, "style", {
|
|
1088
1147
|
fg: pal().muted
|
|
1089
1148
|
}, _$p));
|
|
1090
|
-
return _el$
|
|
1149
|
+
return _el$17;
|
|
1091
1150
|
})() : null), _$memo(() => _$memo(() => !!summaryParts().cost)() ? (() => {
|
|
1092
|
-
var _el$
|
|
1093
|
-
_$insertNode(_el$
|
|
1094
|
-
_$insert(_el$
|
|
1095
|
-
_$effect((_$p) => _$setProp(_el$
|
|
1151
|
+
var _el$19 = _$createElement("span"), _el$20 = _$createTextNode(` `);
|
|
1152
|
+
_$insertNode(_el$19, _el$20);
|
|
1153
|
+
_$insert(_el$19, () => summaryParts().cost, null);
|
|
1154
|
+
_$effect((_$p) => _$setProp(_el$19, "style", {
|
|
1096
1155
|
fg: pal().warning
|
|
1097
1156
|
}, _$p));
|
|
1098
|
-
return _el$
|
|
1157
|
+
return _el$19;
|
|
1099
1158
|
})() : null)] : null;
|
|
1100
1159
|
})(), null);
|
|
1101
1160
|
_$insert(_el$, _$createComponent(Show, {
|
|
@@ -1114,19 +1173,20 @@ function SubAgentPanel(props) {
|
|
|
1114
1173
|
},
|
|
1115
1174
|
get fallback() {
|
|
1116
1175
|
return (() => {
|
|
1117
|
-
var _el$
|
|
1118
|
-
_$insertNode(_el$
|
|
1119
|
-
_$insertNode(_el$
|
|
1120
|
-
_$insert(_el$
|
|
1121
|
-
_$effect((_$p) => _$setProp(_el$
|
|
1176
|
+
var _el$21 = _$createElement("text"), _el$22 = _$createTextNode(` > `), _el$24 = _$createTextNode(` `);
|
|
1177
|
+
_$insertNode(_el$21, _el$22);
|
|
1178
|
+
_$insertNode(_el$21, _el$24);
|
|
1179
|
+
_$insert(_el$21, () => t("status.none"), _el$24);
|
|
1180
|
+
_$effect((_$p) => _$setProp(_el$21, "style", {
|
|
1122
1181
|
fg: pal().muted
|
|
1123
1182
|
}, _$p));
|
|
1124
|
-
return _el$
|
|
1183
|
+
return _el$21;
|
|
1125
1184
|
})();
|
|
1126
1185
|
},
|
|
1127
1186
|
get children() {
|
|
1128
1187
|
var _el$7 = _$createElement("box");
|
|
1129
1188
|
_$setProp(_el$7, "onMouseScroll", (e) => {
|
|
1189
|
+
if (props.scrollMode() === "click") return;
|
|
1130
1190
|
const total = entryList().length;
|
|
1131
1191
|
const m = max();
|
|
1132
1192
|
if (total <= m) return;
|
|
@@ -1145,13 +1205,37 @@ function SubAgentPanel(props) {
|
|
|
1145
1205
|
return hiddenAbove() > 0;
|
|
1146
1206
|
},
|
|
1147
1207
|
get children() {
|
|
1148
|
-
var _el$8 = _$createElement("text"), _el$9 = _$createTextNode(` ↑ `), _el$
|
|
1208
|
+
var _el$8 = _$createElement("text"), _el$9 = _$createElement("span"), _el$0 = _$createTextNode(` ↑ `), _el$10 = _$createTextNode(` `);
|
|
1149
1209
|
_$insertNode(_el$8, _el$9);
|
|
1150
|
-
_$
|
|
1151
|
-
_$
|
|
1152
|
-
_$
|
|
1153
|
-
|
|
1154
|
-
|
|
1210
|
+
_$setProp(_el$8, "onMouseOver", () => setHoveredMoreAbove(true));
|
|
1211
|
+
_$setProp(_el$8, "onMouseOut", () => setHoveredMoreAbove(false));
|
|
1212
|
+
_$setProp(_el$8, "onMouseUp", () => {
|
|
1213
|
+
const total = entryList().length;
|
|
1214
|
+
const m = max();
|
|
1215
|
+
if (total <= m) return;
|
|
1216
|
+
const next = Math.max(0, scrollOffset() - m);
|
|
1217
|
+
if (next === 0) {
|
|
1218
|
+
setTimeout(() => {
|
|
1219
|
+
setScrollOffset(next);
|
|
1220
|
+
try {
|
|
1221
|
+
persistScroll(props.sessionId, next);
|
|
1222
|
+
} catch {
|
|
1223
|
+
}
|
|
1224
|
+
}, 0);
|
|
1225
|
+
} else {
|
|
1226
|
+
setScrollOffset(next);
|
|
1227
|
+
try {
|
|
1228
|
+
persistScroll(props.sessionId, next);
|
|
1229
|
+
} catch {
|
|
1230
|
+
}
|
|
1231
|
+
}
|
|
1232
|
+
});
|
|
1233
|
+
_$insertNode(_el$9, _el$0);
|
|
1234
|
+
_$insertNode(_el$9, _el$10);
|
|
1235
|
+
_$insert(_el$9, hiddenAbove, _el$10);
|
|
1236
|
+
_$insert(_el$9, () => t("scroll.more"), null);
|
|
1237
|
+
_$effect((_$p) => _$setProp(_el$9, "style", {
|
|
1238
|
+
fg: hoveredMoreAbove() ? pal().warning : pal().muted
|
|
1155
1239
|
}, _$p));
|
|
1156
1240
|
return _el$8;
|
|
1157
1241
|
}
|
|
@@ -1196,36 +1280,36 @@ function SubAgentPanel(props) {
|
|
|
1196
1280
|
return truncated + " ".repeat(pad);
|
|
1197
1281
|
};
|
|
1198
1282
|
return [(() => {
|
|
1199
|
-
var _el$
|
|
1200
|
-
_$insertNode(_el$
|
|
1201
|
-
_$insertNode(_el$
|
|
1202
|
-
_$insertNode(_el$
|
|
1203
|
-
_$insertNode(_el$
|
|
1204
|
-
_$insertNode(_el$
|
|
1205
|
-
_$setProp(_el$
|
|
1206
|
-
_$insert(_el$
|
|
1207
|
-
_$insert(_el$
|
|
1208
|
-
_$insert(_el$
|
|
1209
|
-
_$insert(_el$
|
|
1283
|
+
var _el$25 = _$createElement("text"), _el$26 = _$createElement("span"), _el$27 = _$createTextNode(` `), _el$28 = _$createElement("span"), _el$29 = _$createTextNode(` `), _el$30 = _$createElement("span");
|
|
1284
|
+
_$insertNode(_el$25, _el$26);
|
|
1285
|
+
_$insertNode(_el$25, _el$27);
|
|
1286
|
+
_$insertNode(_el$25, _el$28);
|
|
1287
|
+
_$insertNode(_el$25, _el$29);
|
|
1288
|
+
_$insertNode(_el$25, _el$30);
|
|
1289
|
+
_$setProp(_el$25, "onMouseUp", () => toggleExpand(entry.id));
|
|
1290
|
+
_$insert(_el$26, () => isExpanded() ? "\u25BC" : "\u25B6");
|
|
1291
|
+
_$insert(_el$28, statusDot);
|
|
1292
|
+
_$insert(_el$30, labelText);
|
|
1293
|
+
_$insert(_el$25, (() => {
|
|
1210
1294
|
var _c$2 = _$memo(() => !!timeText());
|
|
1211
1295
|
return () => _c$2() ? [" ", (() => {
|
|
1212
|
-
var _el$
|
|
1213
|
-
_$insert(_el$
|
|
1214
|
-
_$effect((_$p) => _$setProp(_el$
|
|
1296
|
+
var _el$81 = _$createElement("span");
|
|
1297
|
+
_$insert(_el$81, timeText);
|
|
1298
|
+
_$effect((_$p) => _$setProp(_el$81, "style", {
|
|
1215
1299
|
fg: timeColor()
|
|
1216
1300
|
}, _$p));
|
|
1217
|
-
return _el$
|
|
1301
|
+
return _el$81;
|
|
1218
1302
|
})()] : null;
|
|
1219
1303
|
})(), null);
|
|
1220
|
-
_$insert(_el$
|
|
1304
|
+
_$insert(_el$25, (() => {
|
|
1221
1305
|
var _c$3 = _$memo(() => !!tokenText());
|
|
1222
1306
|
return () => _c$3() ? (() => {
|
|
1223
|
-
var _el$
|
|
1224
|
-
_$insert(_el$
|
|
1225
|
-
_$effect((_$p) => _$setProp(_el$
|
|
1307
|
+
var _el$82 = _$createElement("span");
|
|
1308
|
+
_$insert(_el$82, tokenText);
|
|
1309
|
+
_$effect((_$p) => _$setProp(_el$82, "style", {
|
|
1226
1310
|
fg: pal().muted
|
|
1227
1311
|
}, _$p));
|
|
1228
|
-
return _el$
|
|
1312
|
+
return _el$82;
|
|
1229
1313
|
})() : null;
|
|
1230
1314
|
})(), null);
|
|
1231
1315
|
_$effect((_p$) => {
|
|
@@ -1236,31 +1320,31 @@ function SubAgentPanel(props) {
|
|
|
1236
1320
|
}, _v$5 = {
|
|
1237
1321
|
fg: pal().text
|
|
1238
1322
|
};
|
|
1239
|
-
_v$3 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
1240
|
-
_v$4 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
1241
|
-
_v$5 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
1323
|
+
_v$3 !== _p$.e && (_p$.e = _$setProp(_el$26, "style", _v$3, _p$.e));
|
|
1324
|
+
_v$4 !== _p$.t && (_p$.t = _$setProp(_el$28, "style", _v$4, _p$.t));
|
|
1325
|
+
_v$5 !== _p$.a && (_p$.a = _$setProp(_el$30, "style", _v$5, _p$.a));
|
|
1242
1326
|
return _p$;
|
|
1243
1327
|
}, {
|
|
1244
1328
|
e: void 0,
|
|
1245
1329
|
t: void 0,
|
|
1246
1330
|
a: void 0
|
|
1247
1331
|
});
|
|
1248
|
-
return _el$
|
|
1332
|
+
return _el$25;
|
|
1249
1333
|
})(), _$createComponent(Show, {
|
|
1250
1334
|
get when() {
|
|
1251
1335
|
return isExpanded();
|
|
1252
1336
|
},
|
|
1253
1337
|
get children() {
|
|
1254
1338
|
return [(() => {
|
|
1255
|
-
var _el$
|
|
1256
|
-
_$insertNode(_el$
|
|
1257
|
-
_$insertNode(_el$
|
|
1258
|
-
_$insertNode(_el$
|
|
1259
|
-
_$insertNode(_el$
|
|
1260
|
-
_$insertNode(_el$
|
|
1261
|
-
_$insert(_el$
|
|
1262
|
-
_$insert(_el$
|
|
1263
|
-
_$insert(_el$
|
|
1339
|
+
var _el$31 = _$createElement("text"), _el$32 = _$createTextNode(` `), _el$33 = _$createElement("span"), _el$34 = _$createTextNode(`: `), _el$35 = _$createElement("span"), _el$36 = _$createElement("span");
|
|
1340
|
+
_$insertNode(_el$31, _el$32);
|
|
1341
|
+
_$insertNode(_el$31, _el$33);
|
|
1342
|
+
_$insertNode(_el$31, _el$35);
|
|
1343
|
+
_$insertNode(_el$31, _el$36);
|
|
1344
|
+
_$insertNode(_el$33, _el$34);
|
|
1345
|
+
_$insert(_el$33, () => t("agent.label"), _el$34);
|
|
1346
|
+
_$insert(_el$35, () => " ".repeat(expandedPad(t("agent.label"))));
|
|
1347
|
+
_$insert(_el$36, () => entry.agent);
|
|
1264
1348
|
_$effect((_p$) => {
|
|
1265
1349
|
var _v$6 = {
|
|
1266
1350
|
fg: pal().primary
|
|
@@ -1269,26 +1353,26 @@ function SubAgentPanel(props) {
|
|
|
1269
1353
|
}, _v$8 = {
|
|
1270
1354
|
fg: pal().muted
|
|
1271
1355
|
};
|
|
1272
|
-
_v$6 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
1273
|
-
_v$7 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
1274
|
-
_v$8 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
1356
|
+
_v$6 !== _p$.e && (_p$.e = _$setProp(_el$33, "style", _v$6, _p$.e));
|
|
1357
|
+
_v$7 !== _p$.t && (_p$.t = _$setProp(_el$35, "style", _v$7, _p$.t));
|
|
1358
|
+
_v$8 !== _p$.a && (_p$.a = _$setProp(_el$36, "style", _v$8, _p$.a));
|
|
1275
1359
|
return _p$;
|
|
1276
1360
|
}, {
|
|
1277
1361
|
e: void 0,
|
|
1278
1362
|
t: void 0,
|
|
1279
1363
|
a: void 0
|
|
1280
1364
|
});
|
|
1281
|
-
return _el$
|
|
1365
|
+
return _el$31;
|
|
1282
1366
|
})(), (() => {
|
|
1283
|
-
var _el$
|
|
1284
|
-
_$insertNode(_el$
|
|
1285
|
-
_$insertNode(_el$
|
|
1286
|
-
_$insertNode(_el$
|
|
1287
|
-
_$insertNode(_el$
|
|
1288
|
-
_$insertNode(_el$
|
|
1289
|
-
_$insert(_el$
|
|
1290
|
-
_$insert(_el$
|
|
1291
|
-
_$insert(_el$
|
|
1367
|
+
var _el$37 = _$createElement("text"), _el$38 = _$createTextNode(` `), _el$39 = _$createElement("span"), _el$40 = _$createTextNode(`: `), _el$41 = _$createElement("span"), _el$42 = _$createElement("span");
|
|
1368
|
+
_$insertNode(_el$37, _el$38);
|
|
1369
|
+
_$insertNode(_el$37, _el$39);
|
|
1370
|
+
_$insertNode(_el$37, _el$41);
|
|
1371
|
+
_$insertNode(_el$37, _el$42);
|
|
1372
|
+
_$insertNode(_el$39, _el$40);
|
|
1373
|
+
_$insert(_el$39, () => t("status.label"), _el$40);
|
|
1374
|
+
_$insert(_el$41, () => " ".repeat(expandedPad(t("status.label"))));
|
|
1375
|
+
_$insert(_el$42, () => isRunning ? t("status.running") : isError ? t("status.error") : t("status.done"));
|
|
1292
1376
|
_$effect((_p$) => {
|
|
1293
1377
|
var _v$9 = {
|
|
1294
1378
|
fg: pal().primary
|
|
@@ -1297,30 +1381,30 @@ function SubAgentPanel(props) {
|
|
|
1297
1381
|
}, _v$1 = {
|
|
1298
1382
|
fg: isRunning ? pal().warning : isError ? pal().error : pal().success
|
|
1299
1383
|
};
|
|
1300
|
-
_v$9 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
1301
|
-
_v$0 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
1302
|
-
_v$1 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
1384
|
+
_v$9 !== _p$.e && (_p$.e = _$setProp(_el$39, "style", _v$9, _p$.e));
|
|
1385
|
+
_v$0 !== _p$.t && (_p$.t = _$setProp(_el$41, "style", _v$0, _p$.t));
|
|
1386
|
+
_v$1 !== _p$.a && (_p$.a = _$setProp(_el$42, "style", _v$1, _p$.a));
|
|
1303
1387
|
return _p$;
|
|
1304
1388
|
}, {
|
|
1305
1389
|
e: void 0,
|
|
1306
1390
|
t: void 0,
|
|
1307
1391
|
a: void 0
|
|
1308
1392
|
});
|
|
1309
|
-
return _el$
|
|
1393
|
+
return _el$37;
|
|
1310
1394
|
})(), _$createComponent(Show, {
|
|
1311
1395
|
get when() {
|
|
1312
1396
|
return elapsed() >= 2e3 || entry.endedAt !== void 0;
|
|
1313
1397
|
},
|
|
1314
1398
|
get children() {
|
|
1315
|
-
var _el$
|
|
1316
|
-
_$insertNode(_el$
|
|
1317
|
-
_$insertNode(_el$
|
|
1318
|
-
_$insertNode(_el$
|
|
1319
|
-
_$insertNode(_el$
|
|
1320
|
-
_$insertNode(_el$
|
|
1321
|
-
_$insert(_el$
|
|
1322
|
-
_$insert(_el$
|
|
1323
|
-
_$insert(_el$
|
|
1399
|
+
var _el$43 = _$createElement("text"), _el$44 = _$createTextNode(` `), _el$45 = _$createElement("span"), _el$46 = _$createTextNode(`: `), _el$47 = _$createElement("span"), _el$48 = _$createElement("span");
|
|
1400
|
+
_$insertNode(_el$43, _el$44);
|
|
1401
|
+
_$insertNode(_el$43, _el$45);
|
|
1402
|
+
_$insertNode(_el$43, _el$47);
|
|
1403
|
+
_$insertNode(_el$43, _el$48);
|
|
1404
|
+
_$insertNode(_el$45, _el$46);
|
|
1405
|
+
_$insert(_el$45, () => t("time.label"), _el$46);
|
|
1406
|
+
_$insert(_el$47, () => " ".repeat(expandedPad(t("time.label"))));
|
|
1407
|
+
_$insert(_el$48, () => fmtDurationShort(elapsed(), isRunning));
|
|
1324
1408
|
_$effect((_p$) => {
|
|
1325
1409
|
var _v$10 = {
|
|
1326
1410
|
fg: pal().primary
|
|
@@ -1329,31 +1413,31 @@ function SubAgentPanel(props) {
|
|
|
1329
1413
|
}, _v$12 = {
|
|
1330
1414
|
fg: pal().muted
|
|
1331
1415
|
};
|
|
1332
|
-
_v$10 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
1333
|
-
_v$11 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
1334
|
-
_v$12 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
1416
|
+
_v$10 !== _p$.e && (_p$.e = _$setProp(_el$45, "style", _v$10, _p$.e));
|
|
1417
|
+
_v$11 !== _p$.t && (_p$.t = _$setProp(_el$47, "style", _v$11, _p$.t));
|
|
1418
|
+
_v$12 !== _p$.a && (_p$.a = _$setProp(_el$48, "style", _v$12, _p$.a));
|
|
1335
1419
|
return _p$;
|
|
1336
1420
|
}, {
|
|
1337
1421
|
e: void 0,
|
|
1338
1422
|
t: void 0,
|
|
1339
1423
|
a: void 0
|
|
1340
1424
|
});
|
|
1341
|
-
return _el$
|
|
1425
|
+
return _el$43;
|
|
1342
1426
|
}
|
|
1343
1427
|
}), _$createComponent(Show, {
|
|
1344
1428
|
get when() {
|
|
1345
1429
|
return entry.tokens !== void 0;
|
|
1346
1430
|
},
|
|
1347
1431
|
get children() {
|
|
1348
|
-
var _el$
|
|
1349
|
-
_$insertNode(_el$
|
|
1350
|
-
_$insertNode(_el$
|
|
1351
|
-
_$insertNode(_el$
|
|
1352
|
-
_$insertNode(_el$
|
|
1353
|
-
_$insertNode(_el$
|
|
1354
|
-
_$insert(_el$
|
|
1355
|
-
_$insert(_el$
|
|
1356
|
-
_$insert(_el$
|
|
1432
|
+
var _el$49 = _$createElement("text"), _el$50 = _$createTextNode(` `), _el$51 = _$createElement("span"), _el$52 = _$createTextNode(`: `), _el$53 = _$createElement("span"), _el$54 = _$createElement("span");
|
|
1433
|
+
_$insertNode(_el$49, _el$50);
|
|
1434
|
+
_$insertNode(_el$49, _el$51);
|
|
1435
|
+
_$insertNode(_el$49, _el$53);
|
|
1436
|
+
_$insertNode(_el$49, _el$54);
|
|
1437
|
+
_$insertNode(_el$51, _el$52);
|
|
1438
|
+
_$insert(_el$51, () => t("tokens.label"), _el$52);
|
|
1439
|
+
_$insert(_el$53, () => " ".repeat(expandedPad(t("tokens.label"))));
|
|
1440
|
+
_$insert(_el$54, () => fmtTokens(entry.tokens));
|
|
1357
1441
|
_$effect((_p$) => {
|
|
1358
1442
|
var _v$13 = {
|
|
1359
1443
|
fg: pal().primary
|
|
@@ -1362,31 +1446,31 @@ function SubAgentPanel(props) {
|
|
|
1362
1446
|
}, _v$15 = {
|
|
1363
1447
|
fg: pal().muted
|
|
1364
1448
|
};
|
|
1365
|
-
_v$13 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
1366
|
-
_v$14 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
1367
|
-
_v$15 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
1449
|
+
_v$13 !== _p$.e && (_p$.e = _$setProp(_el$51, "style", _v$13, _p$.e));
|
|
1450
|
+
_v$14 !== _p$.t && (_p$.t = _$setProp(_el$53, "style", _v$14, _p$.t));
|
|
1451
|
+
_v$15 !== _p$.a && (_p$.a = _$setProp(_el$54, "style", _v$15, _p$.a));
|
|
1368
1452
|
return _p$;
|
|
1369
1453
|
}, {
|
|
1370
1454
|
e: void 0,
|
|
1371
1455
|
t: void 0,
|
|
1372
1456
|
a: void 0
|
|
1373
1457
|
});
|
|
1374
|
-
return _el$
|
|
1458
|
+
return _el$49;
|
|
1375
1459
|
}
|
|
1376
1460
|
}), _$createComponent(Show, {
|
|
1377
1461
|
get when() {
|
|
1378
1462
|
return entry.error;
|
|
1379
1463
|
},
|
|
1380
1464
|
get children() {
|
|
1381
|
-
var _el$
|
|
1382
|
-
_$insertNode(_el$
|
|
1383
|
-
_$insertNode(_el$
|
|
1384
|
-
_$insertNode(_el$
|
|
1385
|
-
_$insertNode(_el$
|
|
1386
|
-
_$insertNode(_el$
|
|
1387
|
-
_$insert(_el$
|
|
1388
|
-
_$insert(_el$
|
|
1389
|
-
_$insert(_el$
|
|
1465
|
+
var _el$55 = _$createElement("text"), _el$56 = _$createTextNode(` `), _el$57 = _$createElement("span"), _el$58 = _$createTextNode(`: `), _el$59 = _$createElement("span"), _el$60 = _$createElement("span");
|
|
1466
|
+
_$insertNode(_el$55, _el$56);
|
|
1467
|
+
_$insertNode(_el$55, _el$57);
|
|
1468
|
+
_$insertNode(_el$55, _el$59);
|
|
1469
|
+
_$insertNode(_el$55, _el$60);
|
|
1470
|
+
_$insertNode(_el$57, _el$58);
|
|
1471
|
+
_$insert(_el$57, () => t("error.label"), _el$58);
|
|
1472
|
+
_$insert(_el$59, () => " ".repeat(expandedPad(t("error.label"))));
|
|
1473
|
+
_$insert(_el$60, () => truncate(String(entry.error), expandedValAvail()));
|
|
1390
1474
|
_$effect((_p$) => {
|
|
1391
1475
|
var _v$16 = {
|
|
1392
1476
|
fg: pal().error
|
|
@@ -1395,32 +1479,32 @@ function SubAgentPanel(props) {
|
|
|
1395
1479
|
}, _v$18 = {
|
|
1396
1480
|
fg: pal().error
|
|
1397
1481
|
};
|
|
1398
|
-
_v$16 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
1399
|
-
_v$17 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
1400
|
-
_v$18 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
1482
|
+
_v$16 !== _p$.e && (_p$.e = _$setProp(_el$57, "style", _v$16, _p$.e));
|
|
1483
|
+
_v$17 !== _p$.t && (_p$.t = _$setProp(_el$59, "style", _v$17, _p$.t));
|
|
1484
|
+
_v$18 !== _p$.a && (_p$.a = _$setProp(_el$60, "style", _v$18, _p$.a));
|
|
1401
1485
|
return _p$;
|
|
1402
1486
|
}, {
|
|
1403
1487
|
e: void 0,
|
|
1404
1488
|
t: void 0,
|
|
1405
1489
|
a: void 0
|
|
1406
1490
|
});
|
|
1407
|
-
return _el$
|
|
1491
|
+
return _el$55;
|
|
1408
1492
|
}
|
|
1409
1493
|
}), _$createComponent(Show, {
|
|
1410
1494
|
get when() {
|
|
1411
1495
|
return entry.cost !== void 0;
|
|
1412
1496
|
},
|
|
1413
1497
|
get children() {
|
|
1414
|
-
var _el$
|
|
1415
|
-
_$insertNode(_el$
|
|
1416
|
-
_$insertNode(_el$
|
|
1417
|
-
_$insertNode(_el$
|
|
1418
|
-
_$insertNode(_el$
|
|
1419
|
-
_$insertNode(_el$
|
|
1420
|
-
_$insert(_el$
|
|
1421
|
-
_$insert(_el$
|
|
1422
|
-
_$insertNode(_el$
|
|
1423
|
-
_$insert(_el$
|
|
1498
|
+
var _el$61 = _$createElement("text"), _el$62 = _$createTextNode(` `), _el$63 = _$createElement("span"), _el$64 = _$createTextNode(`: `), _el$65 = _$createElement("span"), _el$66 = _$createElement("span"), _el$67 = _$createTextNode(`$`);
|
|
1499
|
+
_$insertNode(_el$61, _el$62);
|
|
1500
|
+
_$insertNode(_el$61, _el$63);
|
|
1501
|
+
_$insertNode(_el$61, _el$65);
|
|
1502
|
+
_$insertNode(_el$61, _el$66);
|
|
1503
|
+
_$insertNode(_el$63, _el$64);
|
|
1504
|
+
_$insert(_el$63, () => t("cost.label"), _el$64);
|
|
1505
|
+
_$insert(_el$65, () => " ".repeat(expandedPad(t("cost.label"))));
|
|
1506
|
+
_$insertNode(_el$66, _el$67);
|
|
1507
|
+
_$insert(_el$66, () => entry.cost.toFixed(4), null);
|
|
1424
1508
|
_$effect((_p$) => {
|
|
1425
1509
|
var _v$19 = {
|
|
1426
1510
|
fg: pal().primary
|
|
@@ -1429,31 +1513,31 @@ function SubAgentPanel(props) {
|
|
|
1429
1513
|
}, _v$21 = {
|
|
1430
1514
|
fg: pal().muted
|
|
1431
1515
|
};
|
|
1432
|
-
_v$19 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
1433
|
-
_v$20 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
1434
|
-
_v$21 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
1516
|
+
_v$19 !== _p$.e && (_p$.e = _$setProp(_el$63, "style", _v$19, _p$.e));
|
|
1517
|
+
_v$20 !== _p$.t && (_p$.t = _$setProp(_el$65, "style", _v$20, _p$.t));
|
|
1518
|
+
_v$21 !== _p$.a && (_p$.a = _$setProp(_el$66, "style", _v$21, _p$.a));
|
|
1435
1519
|
return _p$;
|
|
1436
1520
|
}, {
|
|
1437
1521
|
e: void 0,
|
|
1438
1522
|
t: void 0,
|
|
1439
1523
|
a: void 0
|
|
1440
1524
|
});
|
|
1441
|
-
return _el$
|
|
1525
|
+
return _el$61;
|
|
1442
1526
|
}
|
|
1443
1527
|
}), _$createComponent(Show, {
|
|
1444
1528
|
get when() {
|
|
1445
1529
|
return entry.model;
|
|
1446
1530
|
},
|
|
1447
1531
|
get children() {
|
|
1448
|
-
var _el$
|
|
1449
|
-
_$insertNode(_el$
|
|
1450
|
-
_$insertNode(_el$
|
|
1451
|
-
_$insertNode(_el$
|
|
1452
|
-
_$insertNode(_el$
|
|
1453
|
-
_$insertNode(_el$
|
|
1454
|
-
_$insert(_el$
|
|
1455
|
-
_$insert(_el$
|
|
1456
|
-
_$insert(_el$
|
|
1532
|
+
var _el$68 = _$createElement("text"), _el$69 = _$createTextNode(` `), _el$70 = _$createElement("span"), _el$71 = _$createTextNode(`: `), _el$72 = _$createElement("span"), _el$73 = _$createElement("span");
|
|
1533
|
+
_$insertNode(_el$68, _el$69);
|
|
1534
|
+
_$insertNode(_el$68, _el$70);
|
|
1535
|
+
_$insertNode(_el$68, _el$72);
|
|
1536
|
+
_$insertNode(_el$68, _el$73);
|
|
1537
|
+
_$insertNode(_el$70, _el$71);
|
|
1538
|
+
_$insert(_el$70, () => t("model.label"), _el$71);
|
|
1539
|
+
_$insert(_el$72, () => " ".repeat(expandedPad(t("model.label"))));
|
|
1540
|
+
_$insert(_el$73, () => truncate(entry.model, expandedValAvail()));
|
|
1457
1541
|
_$effect((_p$) => {
|
|
1458
1542
|
var _v$22 = {
|
|
1459
1543
|
fg: pal().primary
|
|
@@ -1462,33 +1546,33 @@ function SubAgentPanel(props) {
|
|
|
1462
1546
|
}, _v$24 = {
|
|
1463
1547
|
fg: pal().muted
|
|
1464
1548
|
};
|
|
1465
|
-
_v$22 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
1466
|
-
_v$23 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
1467
|
-
_v$24 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
1549
|
+
_v$22 !== _p$.e && (_p$.e = _$setProp(_el$70, "style", _v$22, _p$.e));
|
|
1550
|
+
_v$23 !== _p$.t && (_p$.t = _$setProp(_el$72, "style", _v$23, _p$.t));
|
|
1551
|
+
_v$24 !== _p$.a && (_p$.a = _$setProp(_el$73, "style", _v$24, _p$.a));
|
|
1468
1552
|
return _p$;
|
|
1469
1553
|
}, {
|
|
1470
1554
|
e: void 0,
|
|
1471
1555
|
t: void 0,
|
|
1472
1556
|
a: void 0
|
|
1473
1557
|
});
|
|
1474
|
-
return _el$
|
|
1558
|
+
return _el$68;
|
|
1475
1559
|
}
|
|
1476
1560
|
}), _$createComponent(Show, {
|
|
1477
1561
|
get when() {
|
|
1478
1562
|
return entry.todoTotal !== void 0;
|
|
1479
1563
|
},
|
|
1480
1564
|
get children() {
|
|
1481
|
-
var _el$
|
|
1482
|
-
_$insertNode(_el$
|
|
1483
|
-
_$insertNode(_el$
|
|
1484
|
-
_$insertNode(_el$
|
|
1485
|
-
_$insertNode(_el$
|
|
1486
|
-
_$insertNode(_el$
|
|
1487
|
-
_$insert(_el$
|
|
1488
|
-
_$insert(_el$
|
|
1489
|
-
_$insertNode(_el$
|
|
1490
|
-
_$insert(_el$
|
|
1491
|
-
_$insert(_el$
|
|
1565
|
+
var _el$74 = _$createElement("text"), _el$75 = _$createTextNode(` `), _el$76 = _$createElement("span"), _el$77 = _$createTextNode(`: `), _el$78 = _$createElement("span"), _el$79 = _$createElement("span"), _el$80 = _$createTextNode(`/`);
|
|
1566
|
+
_$insertNode(_el$74, _el$75);
|
|
1567
|
+
_$insertNode(_el$74, _el$76);
|
|
1568
|
+
_$insertNode(_el$74, _el$78);
|
|
1569
|
+
_$insertNode(_el$74, _el$79);
|
|
1570
|
+
_$insertNode(_el$76, _el$77);
|
|
1571
|
+
_$insert(_el$76, () => t("todo.label"), _el$77);
|
|
1572
|
+
_$insert(_el$78, () => " ".repeat(expandedPad(t("todo.label"))));
|
|
1573
|
+
_$insertNode(_el$79, _el$80);
|
|
1574
|
+
_$insert(_el$79, () => entry.todoDone, _el$80);
|
|
1575
|
+
_$insert(_el$79, () => entry.todoTotal, null);
|
|
1492
1576
|
_$effect((_p$) => {
|
|
1493
1577
|
var _v$25 = {
|
|
1494
1578
|
fg: pal().primary
|
|
@@ -1497,16 +1581,16 @@ function SubAgentPanel(props) {
|
|
|
1497
1581
|
}, _v$27 = {
|
|
1498
1582
|
fg: pal().muted
|
|
1499
1583
|
};
|
|
1500
|
-
_v$25 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
1501
|
-
_v$26 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
1502
|
-
_v$27 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
1584
|
+
_v$25 !== _p$.e && (_p$.e = _$setProp(_el$76, "style", _v$25, _p$.e));
|
|
1585
|
+
_v$26 !== _p$.t && (_p$.t = _$setProp(_el$78, "style", _v$26, _p$.t));
|
|
1586
|
+
_v$27 !== _p$.a && (_p$.a = _$setProp(_el$79, "style", _v$27, _p$.a));
|
|
1503
1587
|
return _p$;
|
|
1504
1588
|
}, {
|
|
1505
1589
|
e: void 0,
|
|
1506
1590
|
t: void 0,
|
|
1507
1591
|
a: void 0
|
|
1508
1592
|
});
|
|
1509
|
-
return _el$
|
|
1593
|
+
return _el$74;
|
|
1510
1594
|
}
|
|
1511
1595
|
}), _$createComponent(Show, {
|
|
1512
1596
|
get when() {
|
|
@@ -1524,66 +1608,66 @@ function SubAgentPanel(props) {
|
|
|
1524
1608
|
/* indent */
|
|
1525
1609
|
);
|
|
1526
1610
|
return (() => {
|
|
1527
|
-
var _el$
|
|
1528
|
-
_$setProp(_el$
|
|
1529
|
-
_$insert(_el$
|
|
1611
|
+
var _el$83 = _$createElement("box");
|
|
1612
|
+
_$setProp(_el$83, "flexDirection", "row");
|
|
1613
|
+
_$insert(_el$83, _$createComponent(Show, {
|
|
1530
1614
|
get when() {
|
|
1531
1615
|
return entry.sessionId;
|
|
1532
1616
|
},
|
|
1533
1617
|
get fallback() {
|
|
1534
1618
|
return (() => {
|
|
1535
|
-
var _el$
|
|
1536
|
-
_$insertNode(_el$
|
|
1537
|
-
return _el$
|
|
1619
|
+
var _el$90 = _$createElement("text");
|
|
1620
|
+
_$insertNode(_el$90, _$createTextNode(` `));
|
|
1621
|
+
return _el$90;
|
|
1538
1622
|
})();
|
|
1539
1623
|
},
|
|
1540
1624
|
get children() {
|
|
1541
|
-
var _el$
|
|
1542
|
-
_$insertNode(_el$
|
|
1543
|
-
_$insertNode(_el$
|
|
1544
|
-
_$setProp(_el$
|
|
1545
|
-
_$setProp(_el$
|
|
1546
|
-
_$setProp(_el$
|
|
1625
|
+
var _el$84 = _$createElement("text"), _el$85 = _$createElement("span"), _el$86 = _$createElement("span");
|
|
1626
|
+
_$insertNode(_el$84, _el$85);
|
|
1627
|
+
_$insertNode(_el$84, _el$86);
|
|
1628
|
+
_$setProp(_el$84, "onMouseOver", () => setHoveredOpen(entry.id));
|
|
1629
|
+
_$setProp(_el$84, "onMouseOut", () => setHoveredOpen(void 0));
|
|
1630
|
+
_$setProp(_el$84, "onMouseUp", () => {
|
|
1547
1631
|
if (entry.sessionId) {
|
|
1548
1632
|
props.api.route.navigate("session", {
|
|
1549
1633
|
sessionID: entry.sessionId
|
|
1550
1634
|
});
|
|
1551
1635
|
}
|
|
1552
1636
|
});
|
|
1553
|
-
_$insert(_el$
|
|
1554
|
-
_$insert(_el$
|
|
1637
|
+
_$insert(_el$85, openPrefix);
|
|
1638
|
+
_$insert(_el$86, () => t("open.label"));
|
|
1555
1639
|
_$effect((_p$) => {
|
|
1556
1640
|
var _v$28 = {
|
|
1557
1641
|
fg: hoveredOpen() === entry.id ? pal().warning : pal().primary
|
|
1558
1642
|
}, _v$29 = {
|
|
1559
1643
|
fg: hoveredOpen() === entry.id ? pal().warning : pal().primary
|
|
1560
1644
|
};
|
|
1561
|
-
_v$28 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
1562
|
-
_v$29 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
1645
|
+
_v$28 !== _p$.e && (_p$.e = _$setProp(_el$85, "style", _v$28, _p$.e));
|
|
1646
|
+
_v$29 !== _p$.t && (_p$.t = _$setProp(_el$86, "style", _v$29, _p$.t));
|
|
1563
1647
|
return _p$;
|
|
1564
1648
|
}, {
|
|
1565
1649
|
e: void 0,
|
|
1566
1650
|
t: void 0
|
|
1567
1651
|
});
|
|
1568
|
-
return _el$
|
|
1652
|
+
return _el$84;
|
|
1569
1653
|
}
|
|
1570
1654
|
}), null);
|
|
1571
|
-
_$insert(_el$
|
|
1655
|
+
_$insert(_el$83, _$createComponent(Show, {
|
|
1572
1656
|
when: isRunning,
|
|
1573
1657
|
get children() {
|
|
1574
1658
|
return [(() => {
|
|
1575
|
-
var _el$
|
|
1576
|
-
_$insert(_el$
|
|
1577
|
-
_$effect((_$p) => _$setProp(_el$
|
|
1659
|
+
var _el$87 = _$createElement("text");
|
|
1660
|
+
_$insert(_el$87, () => " ".repeat(spacerW()));
|
|
1661
|
+
_$effect((_$p) => _$setProp(_el$87, "style", {
|
|
1578
1662
|
fg: pal().muted
|
|
1579
1663
|
}, _$p));
|
|
1580
|
-
return _el$
|
|
1664
|
+
return _el$87;
|
|
1581
1665
|
})(), (() => {
|
|
1582
|
-
var _el$
|
|
1583
|
-
_$insertNode(_el$
|
|
1584
|
-
_$setProp(_el$
|
|
1585
|
-
_$setProp(_el$
|
|
1586
|
-
_$setProp(_el$
|
|
1666
|
+
var _el$88 = _$createElement("text"), _el$89 = _$createElement("span");
|
|
1667
|
+
_$insertNode(_el$88, _el$89);
|
|
1668
|
+
_$setProp(_el$88, "onMouseOver", () => setHoveredDismiss(entry.id));
|
|
1669
|
+
_$setProp(_el$88, "onMouseOut", () => setHoveredDismiss(void 0));
|
|
1670
|
+
_$setProp(_el$88, "onMouseUp", () => {
|
|
1587
1671
|
upsertEntry({
|
|
1588
1672
|
id: entry.id,
|
|
1589
1673
|
title: entry.title,
|
|
@@ -1592,15 +1676,15 @@ function SubAgentPanel(props) {
|
|
|
1592
1676
|
status: "done"
|
|
1593
1677
|
});
|
|
1594
1678
|
});
|
|
1595
|
-
_$insert(_el$
|
|
1596
|
-
_$effect((_$p) => _$setProp(_el$
|
|
1679
|
+
_$insert(_el$89, dismissLabel);
|
|
1680
|
+
_$effect((_$p) => _$setProp(_el$89, "style", {
|
|
1597
1681
|
fg: hoveredDismiss() === entry.id ? pal().warning : pal().muted
|
|
1598
1682
|
}, _$p));
|
|
1599
|
-
return _el$
|
|
1683
|
+
return _el$88;
|
|
1600
1684
|
})()];
|
|
1601
1685
|
}
|
|
1602
1686
|
}), null);
|
|
1603
|
-
return _el$
|
|
1687
|
+
return _el$83;
|
|
1604
1688
|
})();
|
|
1605
1689
|
})();
|
|
1606
1690
|
}
|
|
@@ -1611,46 +1695,67 @@ function SubAgentPanel(props) {
|
|
|
1611
1695
|
}), null);
|
|
1612
1696
|
_$insert(_el$7, _$createComponent(Show, {
|
|
1613
1697
|
get when() {
|
|
1614
|
-
return hiddenBelow() > 0 || scrollOffset() > 0;
|
|
1698
|
+
return hiddenBelow() > 0 || (props.sortOrder() === "desc" ? scrollOffset() > 0 : entryList().length > max() && clampedOffset() < entryList().length - max());
|
|
1615
1699
|
},
|
|
1616
1700
|
get children() {
|
|
1617
1701
|
return (() => {
|
|
1618
1702
|
const showMore = hiddenBelow() > 0;
|
|
1619
|
-
const showTop = scrollOffset() > 0;
|
|
1703
|
+
const showTop = props.sortOrder() === "desc" ? scrollOffset() > 0 : entryList().length > max() && clampedOffset() < entryList().length - max();
|
|
1620
1704
|
const left = showMore ? ` \u2193 ${hiddenBelow()} ${t("scroll.more")}` : " ";
|
|
1621
|
-
const right = `\u2191 ${t("scroll.top")}`;
|
|
1705
|
+
const right = props.sortOrder() === "desc" ? `\u2191 ${t("scroll.top")}` : `\u2193 ${t("scroll.bottom")}`;
|
|
1622
1706
|
const pad = showTop ? Math.max(1, panelWidth() - visualWidth(left) - visualWidth(right)) : 0;
|
|
1623
1707
|
return (() => {
|
|
1624
|
-
var _el$
|
|
1625
|
-
_$insertNode(_el$
|
|
1626
|
-
_$setProp(_el$
|
|
1627
|
-
_$
|
|
1628
|
-
_$
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1708
|
+
var _el$92 = _$createElement("box"), _el$93 = _$createElement("text"), _el$94 = _$createElement("span");
|
|
1709
|
+
_$insertNode(_el$92, _el$93);
|
|
1710
|
+
_$setProp(_el$92, "flexDirection", "row");
|
|
1711
|
+
_$insertNode(_el$93, _el$94);
|
|
1712
|
+
_$setProp(_el$93, "onMouseOver", () => showMore && setHoveredMoreBelow(true));
|
|
1713
|
+
_$setProp(_el$93, "onMouseOut", () => setHoveredMoreBelow(false));
|
|
1714
|
+
_$setProp(_el$93, "onMouseUp", () => {
|
|
1715
|
+
if (!showMore) return;
|
|
1716
|
+
const total = entryList().length;
|
|
1717
|
+
const m = max();
|
|
1718
|
+
if (total <= m) return;
|
|
1719
|
+
setScrollOffset((prev) => Math.min(total - m, prev + m));
|
|
1720
|
+
try {
|
|
1721
|
+
persistScroll(props.sessionId, scrollOffset());
|
|
1722
|
+
} catch {
|
|
1723
|
+
}
|
|
1724
|
+
setHoveredMoreBelow(false);
|
|
1725
|
+
});
|
|
1726
|
+
_$insert(_el$94, left);
|
|
1727
|
+
_$insert(_el$92, showTop ? [(() => {
|
|
1728
|
+
var _el$95 = _$createElement("text");
|
|
1729
|
+
_$insert(_el$95, () => " ".repeat(pad));
|
|
1730
|
+
_$effect((_$p) => _$setProp(_el$95, "style", {
|
|
1632
1731
|
fg: pal().muted
|
|
1633
1732
|
}, _$p));
|
|
1634
|
-
return _el$
|
|
1733
|
+
return _el$95;
|
|
1635
1734
|
})(), (() => {
|
|
1636
|
-
var _el$
|
|
1637
|
-
_$insertNode(_el$
|
|
1638
|
-
_$setProp(_el$
|
|
1639
|
-
_$setProp(_el$
|
|
1640
|
-
_$setProp(_el$
|
|
1641
|
-
|
|
1735
|
+
var _el$96 = _$createElement("text"), _el$97 = _$createElement("span");
|
|
1736
|
+
_$insertNode(_el$96, _el$97);
|
|
1737
|
+
_$setProp(_el$96, "onMouseOver", () => setHoveredTop(true));
|
|
1738
|
+
_$setProp(_el$96, "onMouseOut", () => setHoveredTop(false));
|
|
1739
|
+
_$setProp(_el$96, "onMouseUp", () => {
|
|
1740
|
+
const total = entryList().length;
|
|
1741
|
+
const m = max();
|
|
1742
|
+
if (props.sortOrder() === "desc") {
|
|
1743
|
+
setScrollOffset(0);
|
|
1744
|
+
} else {
|
|
1745
|
+
setScrollOffset(Math.max(0, total - m));
|
|
1746
|
+
}
|
|
1642
1747
|
setHoveredTop(false);
|
|
1643
1748
|
});
|
|
1644
|
-
_$insert(_el$
|
|
1645
|
-
_$effect((_$p) => _$setProp(_el$
|
|
1749
|
+
_$insert(_el$97, right);
|
|
1750
|
+
_$effect((_$p) => _$setProp(_el$97, "style", {
|
|
1646
1751
|
fg: hoveredTop() ? pal().warning : pal().muted
|
|
1647
1752
|
}, _$p));
|
|
1648
|
-
return _el$
|
|
1753
|
+
return _el$96;
|
|
1649
1754
|
})()] : null, null);
|
|
1650
|
-
_$effect((_$p) => _$setProp(_el$
|
|
1651
|
-
fg: pal().muted
|
|
1755
|
+
_$effect((_$p) => _$setProp(_el$94, "style", {
|
|
1756
|
+
fg: showMore && hoveredMoreBelow() ? pal().warning : pal().muted
|
|
1652
1757
|
}, _$p));
|
|
1653
|
-
return _el$
|
|
1758
|
+
return _el$92;
|
|
1654
1759
|
})();
|
|
1655
1760
|
})();
|
|
1656
1761
|
}
|
|
@@ -1693,6 +1798,12 @@ function createSidebarSlot(api, sig) {
|
|
|
1693
1798
|
get maxEntries() {
|
|
1694
1799
|
return sig.maxEntries;
|
|
1695
1800
|
},
|
|
1801
|
+
get sortOrder() {
|
|
1802
|
+
return sig.sortOrder;
|
|
1803
|
+
},
|
|
1804
|
+
get scrollMode() {
|
|
1805
|
+
return sig.scrollMode;
|
|
1806
|
+
},
|
|
1696
1807
|
get sessionId() {
|
|
1697
1808
|
return input.session_id;
|
|
1698
1809
|
}
|
|
@@ -1707,11 +1818,17 @@ var tui = async (api) => {
|
|
|
1707
1818
|
const initialLang = stored === "zh" || stored === "en" ? stored : detectLang();
|
|
1708
1819
|
const [lang, setLang] = createSignal(initialLang);
|
|
1709
1820
|
const [maxEntries, setMaxEntries] = createSignal(parseInt(String(api.kv.get(`${KV_PREFIX}.max_entries`, "10")), 10) || 10);
|
|
1821
|
+
const [sortOrder, setSortOrder] = createSignal(String(api.kv.get(`${KV_PREFIX}.order`, "desc")) === "asc" ? "asc" : "desc");
|
|
1822
|
+
const [scrollMode, setScrollMode] = createSignal(String(api.kv.get(`${KV_PREFIX}.scroll_mode`, "wheel")) === "click" ? "click" : "wheel");
|
|
1710
1823
|
const signals = {
|
|
1711
1824
|
lang,
|
|
1712
1825
|
setLang,
|
|
1713
1826
|
maxEntries,
|
|
1714
1827
|
setMaxEntries,
|
|
1828
|
+
sortOrder,
|
|
1829
|
+
setSortOrder,
|
|
1830
|
+
scrollMode,
|
|
1831
|
+
setScrollMode,
|
|
1715
1832
|
sessionId: ""
|
|
1716
1833
|
};
|
|
1717
1834
|
api.slots.register(createSidebarSlot(api, signals));
|
|
@@ -1743,6 +1860,68 @@ var tui = async (api) => {
|
|
|
1743
1860
|
}
|
|
1744
1861
|
}));
|
|
1745
1862
|
}
|
|
1863
|
+
}, {
|
|
1864
|
+
title: "SubAgent Magazine: Sort Order",
|
|
1865
|
+
value: "subagent-order",
|
|
1866
|
+
description: "Set sub-agent entry sort order (desc / asc)",
|
|
1867
|
+
slash: {
|
|
1868
|
+
name: "subagent-order"
|
|
1869
|
+
},
|
|
1870
|
+
onSelect: (dialog) => {
|
|
1871
|
+
const t = (k) => I18N[lang()][k] ?? k;
|
|
1872
|
+
dialog?.replace(() => _$createComponent(api.ui.DialogSelect, {
|
|
1873
|
+
title: "Sort Order / \u6392\u5E8F\u65B9\u5F0F",
|
|
1874
|
+
get options() {
|
|
1875
|
+
return [{
|
|
1876
|
+
title: t("order.desc"),
|
|
1877
|
+
value: "desc"
|
|
1878
|
+
}, {
|
|
1879
|
+
title: t("order.asc"),
|
|
1880
|
+
value: "asc"
|
|
1881
|
+
}];
|
|
1882
|
+
},
|
|
1883
|
+
onSelect: (opt) => {
|
|
1884
|
+
const o = opt.value;
|
|
1885
|
+
setSortOrder(o);
|
|
1886
|
+
api.kv.set(`${KV_PREFIX}.order`, o);
|
|
1887
|
+
api.ui.toast({
|
|
1888
|
+
message: o === "desc" ? t("order.desc") : t("order.asc")
|
|
1889
|
+
});
|
|
1890
|
+
dialog?.clear();
|
|
1891
|
+
}
|
|
1892
|
+
}));
|
|
1893
|
+
}
|
|
1894
|
+
}, {
|
|
1895
|
+
title: "SubAgent Magazine: Scroll Mode",
|
|
1896
|
+
value: "subagent-scroll",
|
|
1897
|
+
description: "Set scroll mode (wheel / click)",
|
|
1898
|
+
slash: {
|
|
1899
|
+
name: "subagent-scroll"
|
|
1900
|
+
},
|
|
1901
|
+
onSelect: (dialog) => {
|
|
1902
|
+
const t = (k) => I18N[lang()][k] ?? k;
|
|
1903
|
+
dialog?.replace(() => _$createComponent(api.ui.DialogSelect, {
|
|
1904
|
+
title: "Scroll Mode / \u6EDA\u52A8\u6A21\u5F0F",
|
|
1905
|
+
get options() {
|
|
1906
|
+
return [{
|
|
1907
|
+
title: t("scroll.wheel"),
|
|
1908
|
+
value: "wheel"
|
|
1909
|
+
}, {
|
|
1910
|
+
title: t("scroll.click"),
|
|
1911
|
+
value: "click"
|
|
1912
|
+
}];
|
|
1913
|
+
},
|
|
1914
|
+
onSelect: (opt) => {
|
|
1915
|
+
const m = opt.value;
|
|
1916
|
+
setScrollMode(m);
|
|
1917
|
+
api.kv.set(`${KV_PREFIX}.scroll_mode`, m);
|
|
1918
|
+
api.ui.toast({
|
|
1919
|
+
message: m === "wheel" ? t("scroll.wheel") : t("scroll.click")
|
|
1920
|
+
});
|
|
1921
|
+
dialog?.clear();
|
|
1922
|
+
}
|
|
1923
|
+
}));
|
|
1924
|
+
}
|
|
1746
1925
|
}, {
|
|
1747
1926
|
title: "SubAgent Magazine: Max Entries",
|
|
1748
1927
|
value: "subagent-max",
|
|
@@ -1754,9 +1933,9 @@ var tui = async (api) => {
|
|
|
1754
1933
|
dialog?.replace(() => _$createComponent(api.ui.DialogPrompt, {
|
|
1755
1934
|
title: "Max Visible Entries",
|
|
1756
1935
|
description: () => (() => {
|
|
1757
|
-
var _el$
|
|
1758
|
-
_$insertNode(_el$
|
|
1759
|
-
return _el$
|
|
1936
|
+
var _el$98 = _$createElement("text");
|
|
1937
|
+
_$insertNode(_el$98, _$createTextNode(`Number of entries to show in the sidebar (1\u201350)`));
|
|
1938
|
+
return _el$98;
|
|
1760
1939
|
})(),
|
|
1761
1940
|
get value() {
|
|
1762
1941
|
return String(maxEntries());
|