@gamflaz/opencode-todolist 1.0.2 → 1.0.3

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/dist/tui.js CHANGED
@@ -553,6 +553,7 @@ function TodoProgress(props) {
553
553
  const getBorderColor = () => {
554
554
  return theme().border.base;
555
555
  };
556
+ const a = "";
556
557
  return _$createComponent(Show, {
557
558
  get when() {
558
559
  return summary();
package/dist/tui.jsx.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.jsx","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.jsx","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamflaz/opencode-todolist",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Hierarchical todo list plugin for OpenCode with a real-time TUI widget.",
5
5
  "type": "module",
6
6
  "files": [
@@ -11,11 +11,19 @@
11
11
  "README.md",
12
12
  "LICENSE"
13
13
  ],
14
- "main": "./index.js",
14
+ "main": "./dist/index.js",
15
+ "types": "./dist/index.d.ts",
15
16
  "exports": {
16
- ".": "./index.js",
17
- "./server": "./index.js",
18
- "./tui": "./tui.js"
17
+ ".": {
18
+ "types": "./dist/index.d.ts",
19
+ "import": "./dist/index.js",
20
+ "default": "./dist/index.js"
21
+ },
22
+ "./tui": {
23
+ "types": "./dist/tui.d.ts",
24
+ "import": "./dist/tui.js",
25
+ "default": "./dist/tui.js"
26
+ }
19
27
  },
20
28
  "keywords": [
21
29
  "opencode",
@@ -1,38 +0,0 @@
1
- import { usePlugin } from "@opencode/plugin/tui";
2
- import { rgbToHex } from "@opentui/core";
3
- import { Resvg } from "@resvg/resvg-js";
4
- import { createMemo, createSignal, onCleanup, Show } from "solid-js";
5
- import { supportsImageRendering } from "./capabilities";
6
- export function SvgIcon(props) {
7
- const { source: _, color: __, fallback, ...prop } = props;
8
- const context = usePlugin();
9
- const [imageSupported, setImageSupported] = createSignal(supportsImageRendering(context.renderer.capabilities));
10
- const updateImageSupport = (capabilities) => {
11
- setImageSupported(supportsImageRendering(capabilities));
12
- };
13
- context.renderer.on("capabilities", updateImageSupport);
14
- onCleanup(() => context.renderer.off("capabilities", updateImageSupport));
15
- const iconColor = () => props.color
16
- ? typeof props.color === "string"
17
- ? props.color
18
- : rgbToHex(props.color)
19
- : "currentColor";
20
- const pngBuffer = createMemo(() => {
21
- const bgToken = context.theme.background.base;
22
- const bg = rgbToHex(bgToken);
23
- let svg = props.source
24
- .replace(/stroke="[^"]*"/g, `stroke="${iconColor()}"`)
25
- .replace(/color="[^"]*"/g, `color="${iconColor()}"`);
26
- const resvg = new Resvg(svg, {
27
- fitTo: { mode: "width", value: 64 },
28
- background: bg,
29
- });
30
- return resvg.render().asPng();
31
- });
32
- return (<Show when={imageSupported()} fallback={<text>
33
- <span style={{ fg: iconColor() }}>{fallback}</span>
34
- </text>}>
35
- <image source={pngBuffer()} width={props.width ?? 2} height={props.height ?? 1} {...prop}/>
36
- </Show>);
37
- }
38
- //# sourceMappingURL=convert.jsx.map
package/dist/tui.jsx DELETED
@@ -1,562 +0,0 @@
1
- import { Plugin } from "@opencode/plugin/tui";
2
- import { mkdirSync, watch } from "node:fs";
3
- import { createEffect, createMemo, createSignal, For, onCleanup, Show, } from "solid-js";
4
- import { supportsImageRendering } from "./icons/capabilities";
5
- import { SvgIcon } from "./icons/convert";
6
- import { arrowDownSvgIcon, arrowRightSvgIcon, continuePromptSvgIcon, removeSvgIcon, } from "./icons/icons";
7
- import { getTodosDirectory, hashSessionID, readTodosSync, writeTodos, } from "./store/store";
8
- import { getTodoDisplaySummary, hasOpenTodos, } from "./todo/display";
9
- import { TodoTree } from "./todo/todo";
10
- /** How many open items the Continue prompt lists before collapsing the rest. */
11
- export const CONTINUE_PROMPT_MAX_ITEMS = 3;
12
- /** Per-field caps so one long note cannot flood the prompt. */
13
- export const CONTINUE_PROMPT_MAX_CONTENT = 60;
14
- export const CONTINUE_PROMPT_MAX_NOTE = 60;
15
- /** Truncates to `max` chars, marking the cut with "...". */
16
- function shorten(text, max) {
17
- return text.length <= max ? text : `${text.slice(0, max - 3).trimEnd()}...`;
18
- }
19
- export function buildContinuePrompt(summary) {
20
- const statusLabel = {
21
- pending: "not started",
22
- in_progress: "currently being worked on",
23
- completed: "completed",
24
- cancelled: "cancelled",
25
- error: "needs fixing",
26
- };
27
- const open = summary?.items.filter(({ status }) => status !== "completed" && status !== "cancelled") ?? [];
28
- const shown = open.slice(0, CONTINUE_PROMPT_MAX_ITEMS);
29
- const hidden = open.length - shown.length;
30
- const lines = [
31
- "Continue the current todolist.",
32
- "First call manage_todo_list [read] and reconcile the stored list with this summary.",
33
- ];
34
- if (summary)
35
- lines.push(`Progress: ${summary.completed}/${summary.total} completed.`);
36
- if (open.length) {
37
- lines.push("Open items that still need work (short summary):");
38
- lines.push(...shown.map((item) => `${item.depth ? " " : ""}- ${item.id} (${statusLabel[item.status]}) ${shorten(item.content, CONTINUE_PROMPT_MAX_CONTENT)}${item.note ? ` — ${shorten(item.note, CONTINUE_PROMPT_MAX_NOTE)}` : ""}`));
39
- if (hidden > 0)
40
- lines.push(`... (${hidden} more open item(s))`);
41
- }
42
- else {
43
- lines.push("No open items are listed. Verify the stored state before stopping.");
44
- }
45
- lines.push("Continue the next open item immediately. Keep exactly one item in_progress and update the todo list after verification.");
46
- return lines.join("\n");
47
- }
48
- const SPINNER_FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
49
- /**
50
- * Maximum number of todo rows the panel shows before it starts scrolling.
51
- * Keeping the panel compact protects the composer; scrolling guarantees no
52
- * row is ever silently dropped.
53
- */
54
- export const TODO_PANEL_MAX_ROWS = 8;
55
- /** Rendered prefix of an error detail row. */
56
- export const ERROR_PREFIX = "↳ error: ";
57
- /**
58
- * Flattens rows into renderable lines, inserting an error detail right below
59
- * an expanded error row (click to toggle).
60
- */
61
- export function buildTodoListEntries(rows, expandedIds) {
62
- const expanded = new Set(expandedIds);
63
- const entries = [];
64
- for (const row of rows) {
65
- entries.push({ kind: "row", row });
66
- if (row.status === "error" && expanded.has(row.id)) {
67
- entries.push({ kind: "error", row });
68
- }
69
- }
70
- return entries;
71
- }
72
- /**
73
- * Follow the most advanced active row: the last `in_progress` entry is the
74
- * task currently being executed. Note lines are skipped, they follow their
75
- * own row.
76
- */
77
- export function findActiveEntryIndex(entries) {
78
- for (let index = entries.length - 1; index >= 0; index -= 1) {
79
- const entry = entries[index];
80
- if (entry.kind === "row" && entry.row.status === "in_progress")
81
- return index;
82
- }
83
- return -1;
84
- }
85
- /**
86
- * Rendered width of a row: the indentation, the icon cell and the title.
87
- *
88
- * Rows must be sized explicitly, otherwise the scroll content never grows
89
- * wider than the viewport and horizontal scrolling has nothing to move.
90
- */
91
- export function rowWidth(row) {
92
- const indent = row.depth > 0 ? 2 : 0;
93
- const label = row.id !== undefined
94
- ? `${TodoTree.formatIdPrefix(row.id, row.depth)}${row.content}`
95
- : row.content;
96
- // icon glyph + 1 space, then the title.
97
- return indent + 1 + 1 + [...label].length;
98
- }
99
- /** Rendered width of an expanded error line under its row. */
100
- export function errorRowWidth(row) {
101
- const indent = row.depth > 0 ? 4 : 2;
102
- return indent + [...(ERROR_PREFIX + row.error)].length;
103
- }
104
- /**
105
- * Scroll offset needed to reveal the active row, or `undefined` when nothing
106
- * should move (no active row, already visible, or the list fits).
107
- *
108
- * Kept pure so the follow behaviour is testable without a live renderer.
109
- */
110
- export function nextFollowScrollTop(input) {
111
- const { currentTop, activeIndex, rowCount, viewportHeight } = input;
112
- if (activeIndex < 0)
113
- return undefined;
114
- const viewport = Math.max(1, viewportHeight);
115
- const maxTop = Math.max(0, rowCount - viewport);
116
- if (maxTop === 0)
117
- return undefined;
118
- const activeBottom = activeIndex + 1;
119
- const visibleTop = currentTop;
120
- const visibleBottom = currentTop + viewport;
121
- if (activeIndex >= visibleTop && activeBottom <= visibleBottom) {
122
- return undefined;
123
- }
124
- const targetTop = activeIndex >= visibleBottom ? activeBottom - viewport : activeIndex;
125
- return Math.min(Math.max(0, targetTop), maxTop);
126
- }
127
- /**
128
- * Follow the most advanced active row: the last `in_progress` entry is the
129
- * task currently being executed.
130
- */
131
- export function findActiveRowIndex(rows) {
132
- for (let index = rows.length - 1; index >= 0; index -= 1) {
133
- if (rows[index]?.status === "in_progress")
134
- return index;
135
- }
136
- return -1;
137
- }
138
- /**
139
- * Presentational, context-free todo list.
140
- *
141
- * The panel is deliberately chrome-free: no indicator row, and the horizontal
142
- * scrollbar stays hidden. Long titles never wrap (that would break the
143
- * one-line-per-row layout) — they are reached by scrolling left/right, and the
144
- * vertical list scrolls when it exceeds `TODO_PANEL_MAX_ROWS`. When a row is
145
- * `in_progress` the panel follows it so the active task is never out of sight.
146
- */
147
- export function TodoList(props) {
148
- const rowId = (id) => `todo-row-${id}`;
149
- const [scrollYBox, setScrollYBox] = createSignal();
150
- const [scrollXBox, setScrollXBox] = createSignal();
151
- const entries = createMemo(() => buildTodoListEntries(props.rows, props.expandedIds ?? []));
152
- const followActiveRow = (box) => {
153
- if (box.isDestroyed)
154
- return;
155
- const target = nextFollowScrollTop({
156
- currentTop: box.scrollTop,
157
- activeIndex: findActiveEntryIndex(entries()),
158
- rowCount: entries().length,
159
- viewportHeight: box.viewport.height,
160
- });
161
- if (target === undefined)
162
- return;
163
- box.scrollTo(target);
164
- };
165
- const attach = (box) => {
166
- setScrollYBox(box);
167
- box.content.maxWidth = undefined;
168
- const internalOnSizeChange = box.content.onSizeChange;
169
- box.content.onSizeChange = () => {
170
- internalOnSizeChange?.call(box.content);
171
- followActiveRow(box);
172
- };
173
- props.ref?.(box);
174
- };
175
- createEffect(() => {
176
- void props.rows.map((row) => `${row.id}:${row.status}`).join("|");
177
- void props.expandedIds?.join("|");
178
- const box = scrollYBox();
179
- if (box)
180
- followActiveRow(box);
181
- });
182
- const scrollbarOptions = () => props.scrollbarColor
183
- ? {
184
- trackOptions: {
185
- backgroundColor: props.scrollbarColor,
186
- foregroundColor: props.scrollbarColor,
187
- },
188
- }
189
- : undefined;
190
- const viewportHeight = () => Math.min(entries().length, TODO_PANEL_MAX_ROWS);
191
- const toggle = (id) => {
192
- props.onToggleRow?.(id);
193
- };
194
- return (<scrollbox ref={(el) => attach(el)} width="100%" height={viewportHeight()} verticalScrollbarOptions={scrollbarOptions()} horizontalScrollbarOptions={{ visible: false }}>
195
- <box flexDirection="column" flexShrink={0}>
196
- <For each={entries()}>
197
- {(entry) => entry.kind === "row" ? (<box id={rowId(entry.row.id)} flexDirection="row" height={1} flexShrink={0} width={rowWidth(entry.row)} onMouseDown={(e) => {
198
- if (e.button === 0 && entry.row.status === "error") {
199
- e.stopPropagation?.();
200
- toggle(entry.row.id);
201
- }
202
- }}>
203
- <text wrapMode="none">
204
- <Show when={entry.row.depth > 0}>
205
- <span>{" "}</span>
206
- </Show>
207
- <span style={{ fg: entry.row.iconColor }}>
208
- {entry.row.icon}{" "}
209
- </span>
210
- <span style={{ fg: entry.row.textColor }}>
211
- {TodoTree.formatIdPrefix(entry.row.id, entry.row.depth)}
212
- </span>
213
- <span style={{
214
- fg: entry.row.textColor,
215
- strikethrough: entry.row.status === "completed",
216
- }}>
217
- {entry.row.content}
218
- </span>
219
- <Show when={entry.row.status === "error"}>
220
- <span style={{ fg: props.scrollbarColor }}>
221
- {" "}
222
- {(props.expandedIds ?? []).includes(entry.row.id)
223
- ? "⌄"
224
- : "›"}
225
- </span>
226
- </Show>
227
- </text>
228
- </box>) : (<box id={`${rowId(entry.row.id)}-note`} flexDirection="row" height={1} flexShrink={0} width={errorRowWidth({
229
- error: entry.row.content,
230
- depth: entry.row.depth,
231
- })} onMouseDown={(e) => {
232
- if (e.button === 0) {
233
- e.stopPropagation?.();
234
- toggle(entry.row.id);
235
- }
236
- }}>
237
- <text wrapMode="none">
238
- <span style={{ fg: props.scrollbarColor }}>
239
- {entry.row.depth > 0 ? " " : " "}
240
- {ERROR_PREFIX}
241
- </span>
242
- <span style={{ fg: entry.row.textColor }}>
243
- {entry.row.content}
244
- </span>
245
- </text>
246
- </box>)}
247
- </For>
248
- </box>
249
- </scrollbox>);
250
- }
251
- function TodoProgress(props) {
252
- const [refresh, setRefresh] = createSignal(0);
253
- // Hover
254
- const [isClearHovered, setIsClearHovered] = createSignal(false);
255
- const [isContinueHovered, setIsContinueHovered] = createSignal(false);
256
- const [isCollapsed, setIsCollapsed] = createSignal(true);
257
- const [isContinuePending, setIsContinuePending] = createSignal(false);
258
- const [animFrame, setAnimFrame] = createSignal(0);
259
- const [expandedIds, setExpandedIds] = createSignal([]);
260
- let timer;
261
- let watcher;
262
- let animTimer;
263
- const [imageSupported, setImageSupported] = createSignal(supportsImageRendering(props.context.renderer?.capabilities));
264
- const updateCapabilities = (caps) => {
265
- setImageSupported(supportsImageRendering(caps));
266
- };
267
- props.context.renderer?.on?.("capabilities", updateCapabilities);
268
- onCleanup(() => {
269
- props.context.renderer?.off?.("capabilities", updateCapabilities);
270
- });
271
- const getSessionID = () => props.sessionID ?? "";
272
- const checkRunning = () => {
273
- const sid = getSessionID();
274
- if (!sid)
275
- return false;
276
- try {
277
- return props.context.data.session.status(sid) === "running";
278
- }
279
- catch {
280
- return false;
281
- }
282
- };
283
- const [isRunning, setIsRunning] = createSignal(checkRunning());
284
- const unsubscribe = props.context.data.listen(({ details }) => {
285
- const sid = getSessionID();
286
- switch (details.type) {
287
- case "session.execution.started":
288
- case "session.execution.interrupted":
289
- case "session.execution.succeeded":
290
- case "session.execution.failed":
291
- case "session.idle":
292
- if (!sid || details.data.sessionID === sid) {
293
- setIsRunning(details.type === "session.execution.started");
294
- setIsContinuePending(false);
295
- }
296
- break;
297
- case "session.status":
298
- if (!sid || details.data.sessionID === sid) {
299
- setIsRunning(details.data.status.type !== "idle");
300
- setIsContinuePending(false);
301
- }
302
- break;
303
- }
304
- });
305
- createEffect(() => {
306
- const sid = getSessionID();
307
- if (!sid) {
308
- setIsRunning(false);
309
- return;
310
- }
311
- try {
312
- setIsRunning(props.context.data.session.status(sid) === "running");
313
- }
314
- catch {
315
- setIsRunning(false);
316
- }
317
- });
318
- const startAnimation = () => {
319
- if (animTimer)
320
- return;
321
- animTimer = setInterval(() => {
322
- setAnimFrame((prev) => (prev + 1) % SPINNER_FRAMES.length);
323
- }, 100);
324
- };
325
- const stopAnimation = () => {
326
- if (animTimer) {
327
- clearInterval(animTimer);
328
- animTimer = undefined;
329
- }
330
- };
331
- try {
332
- const baseDir = getTodosDirectory();
333
- mkdirSync(baseDir, { recursive: true });
334
- watcher = watch(baseDir, { recursive: true, persistent: false }, (_, filename) => {
335
- const sid = getSessionID();
336
- if (!filename) {
337
- clearTimeout(timer);
338
- timer = setTimeout(() => setRefresh((value) => value + 1), 50);
339
- return;
340
- }
341
- const nameStr = String(filename);
342
- let hashedSid = "";
343
- try {
344
- if (sid)
345
- hashedSid = hashSessionID(sid);
346
- }
347
- catch { }
348
- if (!sid ||
349
- (hashedSid && nameStr.startsWith(hashedSid)) ||
350
- nameStr.startsWith(sid) ||
351
- nameStr.startsWith(`todos-${sid}-`)) {
352
- clearTimeout(timer);
353
- timer = setTimeout(() => setRefresh((value) => value + 1), 50);
354
- }
355
- });
356
- }
357
- catch (err) {
358
- console.error("[todos] watcher initialization failed:", err);
359
- }
360
- onCleanup(() => {
361
- clearTimeout(timer);
362
- stopAnimation();
363
- watcher?.close();
364
- try {
365
- unsubscribe();
366
- }
367
- catch { }
368
- });
369
- const summary = createMemo(() => {
370
- refresh();
371
- const sid = getSessionID();
372
- if (!sid)
373
- return null;
374
- try {
375
- return getTodoDisplaySummary(readTodosSync(sid));
376
- }
377
- catch {
378
- return null;
379
- }
380
- });
381
- createEffect(() => {
382
- const hasInProgress = summary()?.items.some((i) => i.status === "in_progress");
383
- if (hasInProgress && isRunning()) {
384
- startAnimation();
385
- }
386
- else {
387
- stopAnimation();
388
- }
389
- });
390
- const activeItem = createMemo(() => {
391
- const d = summary();
392
- if (!d)
393
- return null;
394
- return (d.items.find((i) => i.status === "in_progress" && i.depth > 0) ??
395
- d.items.find((i) => i.status === "in_progress") ??
396
- null);
397
- });
398
- const toggleRowNote = (id) => {
399
- setExpandedIds((current) => current.includes(id)
400
- ? current.filter((entry) => entry !== id)
401
- : [...current, id]);
402
- };
403
- const continueTodos = async () => {
404
- if (isRunning() || isContinuePending())
405
- return;
406
- const sid = getSessionID();
407
- if (!sid)
408
- return;
409
- setIsContinuePending(true);
410
- try {
411
- await props.context.client.session.prompt({
412
- sessionID: sid,
413
- text: buildContinuePrompt(summary()),
414
- });
415
- }
416
- catch (error) {
417
- setIsContinuePending(false);
418
- console.error("[todos] continue failed:", error);
419
- }
420
- };
421
- const getItemIcon = (status, fallbackIcon) => {
422
- if (status === "in_progress") {
423
- if (isRunning()) {
424
- return SPINNER_FRAMES[animFrame()];
425
- }
426
- return "-";
427
- }
428
- return fallbackIcon;
429
- };
430
- const theme = () => props.context.theme;
431
- const getStatusColor = (status) => {
432
- const t = theme();
433
- switch (status) {
434
- case "in_progress":
435
- return isRunning()
436
- ? (t.text.action?.primary?.base ??
437
- t.text.feedback.info?.base ??
438
- t.text.base)
439
- : t.text.muted;
440
- case "completed":
441
- return t.text.feedback.success.base;
442
- case "error":
443
- return t.text.feedback.error.base;
444
- case "cancelled":
445
- return t.text.feedback.error.base;
446
- case "pending":
447
- default:
448
- return t.text.muted;
449
- }
450
- };
451
- const getTextColor = (status) => {
452
- const t = theme();
453
- if (status === "completed" ||
454
- status === "cancelled" ||
455
- status === "error") {
456
- return t.text.muted;
457
- }
458
- return t.text.base;
459
- };
460
- const getBorderColor = () => {
461
- return theme().border.base;
462
- };
463
- return (<Show when={summary()}>
464
- {(data) => (<box flexDirection="column" border={true} borderStyle="rounded" borderColor={getBorderColor()} paddingLeft={1} paddingRight={1}>
465
- <box flexDirection="row" justifyContent="space-between">
466
- <box flexDirection="row" flexGrow={1} onMouseDown={(e) => {
467
- if (e.button === 0) {
468
- e.stopPropagation?.();
469
- setIsCollapsed(!isCollapsed());
470
- }
471
- }}>
472
- <box flexDirection="row" width={2} height={1} marginRight={1} marginLeft={imageSupported() ? 0 : 1} alignItems="flex-start">
473
- {isCollapsed() ? (<SvgIcon source={arrowRightSvgIcon} color={theme().text.muted} fallback="▶" width={2} height={1}/>) : (<SvgIcon source={arrowDownSvgIcon} color={theme().text.muted} fallback="▼" width={2} height={1}/>)}
474
- </box>
475
-
476
- <box flexDirection="row" flexGrow={1} flexShrink={1} overflow="hidden" marginRight={1}>
477
- <text wrapMode="none">
478
- <span style={{ fg: theme().text.base }}>{"Todos "}</span>
479
- <span style={{ fg: theme().text.muted }}>
480
- {`(${data().completed}/${data().total})`}
481
- </span>
482
- <Show when={isCollapsed() && activeItem()}>
483
- {(active) => (<>
484
- <span style={{ fg: theme().text.muted }}>{" "}</span>
485
- <span style={{ fg: getStatusColor(active().status) }}>
486
- {getItemIcon(active().status, active().icon)}{" "}
487
- </span>
488
- <span style={{ fg: getTextColor(active().status) }}>
489
- {TodoTree.formatIdPrefix(active().id, active().depth)}
490
- {active().content}
491
- </span>
492
- </>)}
493
- </Show>
494
- </text>
495
- </box>
496
- </box>
497
-
498
- <Show when={hasOpenTodos(data().items) &&
499
- !isRunning() &&
500
- !isContinuePending()}>
501
- <box flexDirection="row" gap={1} marginRight={3} onMouseOver={() => setIsContinueHovered(true)} onMouseOut={() => setIsContinueHovered(false)} onMouseDown={(e) => {
502
- if (e.button === 0) {
503
- e.stopPropagation();
504
- void continueTodos();
505
- }
506
- }}>
507
- <SvgIcon source={continuePromptSvgIcon} color={isContinueHovered()
508
- ? theme().text.action.primary.base
509
- : theme().text.muted} fallback="↻" width={2} height={1}/>
510
- <text wrapMode="none" fg={isContinueHovered()
511
- ? theme().text.action.primary.base
512
- : theme().text.muted}>
513
- Continue
514
- </text>
515
- </box>
516
- </Show>
517
-
518
- <box marginRight={!imageSupported() ? 1.5 : 0} flexDirection="row" onMouseOver={() => setIsClearHovered(true)} onMouseOut={() => setIsClearHovered(false)} onMouseDown={async (e) => {
519
- if (e.button === 0) {
520
- e.stopPropagation();
521
- const sid = getSessionID();
522
- if (sid) {
523
- try {
524
- await writeTodos(sid, []);
525
- setRefresh((value) => value + 1);
526
- }
527
- catch (error) {
528
- console.error("[todos] clear failed:", error);
529
- }
530
- }
531
- }
532
- }}>
533
- <SvgIcon color={isClearHovered()
534
- ? theme().text.feedback.error.base
535
- : theme().text.muted} source={removeSvgIcon} fallback="✖" height={1} width={2}/>
536
- </box>
537
- </box>
538
-
539
- <Show when={!isCollapsed()}>
540
- <box flexDirection="column" paddingTop={1} paddingLeft={0.5}>
541
- <TodoList rows={data().items.map((item) => ({
542
- id: item.id,
543
- content: item.content,
544
- icon: getItemIcon(item.status, item.icon),
545
- iconColor: getStatusColor(item.status),
546
- textColor: getTextColor(item.status),
547
- depth: item.depth,
548
- status: item.status,
549
- }))} expandedIds={expandedIds()} onToggleRow={toggleRowNote}/>
550
- </box>
551
- </Show>
552
- </box>)}
553
- </Show>);
554
- }
555
- export default Plugin.define({
556
- id: "opencode.todolist.tui",
557
- setup: (context) => context.ui.slot({
558
- after: "session.composer.top",
559
- render: (input) => (<TodoProgress context={context} sessionID={input.sessionID}/>),
560
- }),
561
- });
562
- //# sourceMappingURL=tui.jsx.map