@namzu/cli 28.0.0 → 28.1.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/integrations/sessions/transcript-export.js +3 -1
  3. package/dist/integrations/sessions/transcript-export.js.map +1 -1
  4. package/dist/permissions/live-mode.d.ts +73 -0
  5. package/dist/permissions/live-mode.d.ts.map +1 -0
  6. package/dist/permissions/live-mode.js +62 -0
  7. package/dist/permissions/live-mode.js.map +1 -0
  8. package/dist/tui/App.d.ts.map +1 -1
  9. package/dist/tui/App.js +176 -74
  10. package/dist/tui/App.js.map +1 -1
  11. package/dist/tui/Checklist.d.ts +56 -0
  12. package/dist/tui/Checklist.d.ts.map +1 -0
  13. package/dist/tui/Checklist.js +90 -0
  14. package/dist/tui/Checklist.js.map +1 -0
  15. package/dist/tui/StatusBar.d.ts +10 -0
  16. package/dist/tui/StatusBar.d.ts.map +1 -1
  17. package/dist/tui/StatusBar.js +8 -1
  18. package/dist/tui/StatusBar.js.map +1 -1
  19. package/dist/tui/TaskList.d.ts +18 -25
  20. package/dist/tui/TaskList.d.ts.map +1 -1
  21. package/dist/tui/TaskList.js +34 -58
  22. package/dist/tui/TaskList.js.map +1 -1
  23. package/dist/tui/Transcript.d.ts.map +1 -1
  24. package/dist/tui/Transcript.js +8 -1
  25. package/dist/tui/Transcript.js.map +1 -1
  26. package/dist/tui/agent.d.ts +29 -3
  27. package/dist/tui/agent.d.ts.map +1 -1
  28. package/dist/tui/agent.js +38 -5
  29. package/dist/tui/agent.js.map +1 -1
  30. package/dist/tui/live-window.d.ts +22 -0
  31. package/dist/tui/live-window.d.ts.map +1 -1
  32. package/dist/tui/live-window.js +34 -0
  33. package/dist/tui/live-window.js.map +1 -1
  34. package/dist/tui/notices.d.ts +27 -0
  35. package/dist/tui/notices.d.ts.map +1 -0
  36. package/dist/tui/notices.js +27 -0
  37. package/dist/tui/notices.js.map +1 -0
  38. package/dist/tui/task-activity.d.ts +71 -0
  39. package/dist/tui/task-activity.d.ts.map +1 -0
  40. package/dist/tui/task-activity.js +157 -0
  41. package/dist/tui/task-activity.js.map +1 -0
  42. package/dist/tui/types.d.ts +13 -0
  43. package/dist/tui/types.d.ts.map +1 -1
  44. package/package.json +7 -7
@@ -0,0 +1,56 @@
1
+ /**
2
+ * The one way this interface draws the model's plan.
3
+ *
4
+ * Every surface that shows tasks — the transcript block a task operation
5
+ * leaves, the one-line progress above the composer, `/tasks` — renders rows
6
+ * through here, so a mark means the same thing wherever it appears and the
7
+ * spacing is decided once.
8
+ *
9
+ * The marks are chosen for how they render, not only for what they mean.
10
+ * `☑` and `⏸` are emoji code points (`Extended_Pictographic`); Windows
11
+ * Terminal and other emoji-capable fonts draw them as colour pictures two
12
+ * cells wide, which is how `☑` came out as a blue tile and `☐` ate the space
13
+ * after it. Every mark here is outside the emoji set and one cell wide in
14
+ * Unicode's own width data, and each row puts exactly one space between the
15
+ * mark and the text — the mark sits in a two-column gutter, so a wrapped
16
+ * subject hangs under its first letter rather than under the mark.
17
+ */
18
+ export type ChecklistStatus = 'pending' | 'in_progress' | 'completed' | 'failed';
19
+ export interface ChecklistItem {
20
+ readonly id: string;
21
+ readonly subject: string;
22
+ readonly status: ChecklistStatus;
23
+ }
24
+ /** One text-presentation, single-cell mark per status. */
25
+ export declare const CHECKLIST_MARK: Readonly<Record<ChecklistStatus, string>>;
26
+ export declare function isTerminalChecklistStatus(status: ChecklistStatus): boolean;
27
+ /** Completed-of-total, the count every task surface leads with. */
28
+ export declare function checklistProgress(items: readonly ChecklistItem[]): string;
29
+ /**
30
+ * A row as plain text: mark, one space, subject. For the raw view, exports
31
+ * and height estimates, which must agree with what `ChecklistRow` draws.
32
+ */
33
+ export declare function checklistLine(item: ChecklistItem): string;
34
+ /**
35
+ * One task. Completed is dimmed and struck through, the current step is bold
36
+ * in the accent colour, a failure keeps its red mark and ordinary text.
37
+ */
38
+ export declare function ChecklistRow({ item, wrap, }: {
39
+ readonly item: ChecklistItem;
40
+ /** `truncate-end` for a surface that has exactly one row to give. */
41
+ readonly wrap?: 'wrap' | 'truncate-end';
42
+ }): import("react/jsx-runtime").JSX.Element;
43
+ export declare function Checklist({ items }: {
44
+ readonly items: readonly ChecklistItem[];
45
+ }): import("react/jsx-runtime").JSX.Element | null;
46
+ /**
47
+ * Rows a transcript row carrying a checklist takes at `columns`: a blank
48
+ * separator, its header, and each task wrapped under the four-column indent
49
+ * (App padding plus the gutter). An estimate for the live-region budget,
50
+ * erring high: over-counting only shows the current-step row once more.
51
+ */
52
+ export declare function checklistBlockRows(row: {
53
+ readonly content: string;
54
+ readonly checklist?: readonly ChecklistItem[];
55
+ }, columns: number): number;
56
+ //# sourceMappingURL=Checklist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checklist.d.ts","sourceRoot":"","sources":["../../src/tui/Checklist.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAA;AAEhF,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;CAChC;AAED,0DAA0D;AAC1D,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAKpE,CAAA;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAE1E;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,CAIzE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAEzD;AAmBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC5B,IAAI,EACJ,IAAa,GACb,EAAE;IACF,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAAA;CACvC,2CAyBA;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAA;CAAE,kDAShF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CACjC,GAAG,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;CAAE,EAChF,OAAO,EAAE,MAAM,GACb,MAAM,CAQR"}
@@ -0,0 +1,90 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * The one way this interface draws the model's plan.
4
+ *
5
+ * Every surface that shows tasks — the transcript block a task operation
6
+ * leaves, the one-line progress above the composer, `/tasks` — renders rows
7
+ * through here, so a mark means the same thing wherever it appears and the
8
+ * spacing is decided once.
9
+ *
10
+ * The marks are chosen for how they render, not only for what they mean.
11
+ * `☑` and `⏸` are emoji code points (`Extended_Pictographic`); Windows
12
+ * Terminal and other emoji-capable fonts draw them as colour pictures two
13
+ * cells wide, which is how `☑` came out as a blue tile and `☐` ate the space
14
+ * after it. Every mark here is outside the emoji set and one cell wide in
15
+ * Unicode's own width data, and each row puts exactly one space between the
16
+ * mark and the text — the mark sits in a two-column gutter, so a wrapped
17
+ * subject hangs under its first letter rather than under the mark.
18
+ */
19
+ import { Box, Text } from 'ink';
20
+ import stringWidth from 'string-width';
21
+ import { terminalDisplayText } from './terminal-display.js';
22
+ import { theme } from './theme.js';
23
+ /** One text-presentation, single-cell mark per status. */
24
+ export const CHECKLIST_MARK = {
25
+ pending: '□',
26
+ in_progress: '■',
27
+ completed: '✓',
28
+ failed: '✗',
29
+ };
30
+ export function isTerminalChecklistStatus(status) {
31
+ return status === 'completed' || status === 'failed';
32
+ }
33
+ /** Completed-of-total, the count every task surface leads with. */
34
+ export function checklistProgress(items) {
35
+ const done = items.filter((item) => item.status === 'completed').length;
36
+ const failed = items.filter((item) => item.status === 'failed').length;
37
+ return `Tasks · ${done}/${items.length} done${failed > 0 ? ` · ${failed} failed` : ''}`;
38
+ }
39
+ /**
40
+ * A row as plain text: mark, one space, subject. For the raw view, exports
41
+ * and height estimates, which must agree with what `ChecklistRow` draws.
42
+ */
43
+ export function checklistLine(item) {
44
+ return `${CHECKLIST_MARK[item.status]} ${oneLine(item.subject)}`;
45
+ }
46
+ function oneLine(subject) {
47
+ return terminalDisplayText(subject.replace(/\s+/g, ' ').trim());
48
+ }
49
+ function markColor(status) {
50
+ switch (status) {
51
+ case 'in_progress':
52
+ return theme.accent.assistant;
53
+ case 'completed':
54
+ return theme.text.muted;
55
+ case 'failed':
56
+ return theme.status.error;
57
+ default:
58
+ return theme.text.secondary;
59
+ }
60
+ }
61
+ /**
62
+ * One task. Completed is dimmed and struck through, the current step is bold
63
+ * in the accent colour, a failure keeps its red mark and ordinary text.
64
+ */
65
+ export function ChecklistRow({ item, wrap = 'wrap', }) {
66
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: 2, flexShrink: 0, children: _jsx(Text, { color: markColor(item.status), children: CHECKLIST_MARK[item.status] }) }), _jsx(Box, { flexGrow: 1, flexShrink: 1, children: _jsx(Text, { color: item.status === 'completed'
67
+ ? theme.text.muted
68
+ : item.status === 'in_progress'
69
+ ? theme.text.primary
70
+ : theme.text.secondary, bold: item.status === 'in_progress', strikethrough: item.status === 'completed', dimColor: item.status === 'completed', wrap: wrap, children: oneLine(item.subject) }) })] }));
71
+ }
72
+ export function Checklist({ items }) {
73
+ if (items.length === 0)
74
+ return null;
75
+ return (_jsx(Box, { flexDirection: "column", children: items.map((item) => (_jsx(ChecklistRow, { item: item }, item.id))) }));
76
+ }
77
+ /**
78
+ * Rows a transcript row carrying a checklist takes at `columns`: a blank
79
+ * separator, its header, and each task wrapped under the four-column indent
80
+ * (App padding plus the gutter). An estimate for the live-region budget,
81
+ * erring high: over-counting only shows the current-step row once more.
82
+ */
83
+ export function checklistBlockRows(row, columns) {
84
+ const room = Math.max(1, columns - 4);
85
+ const wrapped = (text) => Math.max(1, Math.ceil(stringWidth(text) / room));
86
+ return (2 +
87
+ wrapped(row.content) +
88
+ (row.checklist ?? []).reduce((sum, item) => sum + wrapped(checklistLine(item)), 0));
89
+ }
90
+ //# sourceMappingURL=Checklist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checklist.js","sourceRoot":"","sources":["../../src/tui/Checklist.tsx"],"names":[],"mappings":"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"}
@@ -27,6 +27,16 @@ export interface StatusBarProps {
27
27
  /** Whether Shift+Tab actually reaches `permissionMode` here, so the footer never advertises a dead key. */
28
28
  readonly canCycleMode?: boolean;
29
29
  }
30
+ /**
31
+ * The mode marks. `⏵⏵` is the reference terminal's own and is outside the
32
+ * emoji set; the pause mark it pairs with, `⏸` (U+23F8), is an emoji code
33
+ * point that Windows Terminal draws as a blue two-cell tile. `‖` (U+2016,
34
+ * DOUBLE VERTICAL LINE) says "held" in one text cell with no emoji form.
35
+ */
36
+ export declare const MODE_MARK: {
37
+ readonly moving: "⏵⏵";
38
+ readonly held: "‖";
39
+ };
30
40
  export declare function StatusBar({ cwd, provider, model, effort, orchestrate, goal, state, hint, permissionMode, canCycleMode, }: StatusBarProps): import("react/jsx-runtime").JSX.Element;
31
41
  /**
32
42
  * A path shortened from the LEFT, keeping the leaf.
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../src/tui/StatusBar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,KAAK,cAAc,EAAuB,MAAM,wBAAwB,CAAA;AAGjF,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,+HAA+H;IAC/H,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,+GAA+G;IAC/G,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,qBAAqB,CAAA;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,sHAAsH;IACtH,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAA;IACxC,2GAA2G;IAC3G,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAC/B;AAgBD,wBAAgB,SAAS,CAAC,EACzB,GAAG,EACH,QAAQ,EACR,KAAK,EACL,MAAM,EACN,WAAW,EACX,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,cAAc,EACd,YAAY,GACZ,EAAE,cAAc,2CAuDhB;AAsBD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUlE;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,iGAAiG;IACjG,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EACX;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,GAC1E;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CAC5D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC,GAAG,gBAAgB,CA2EnB"}
1
+ {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../src/tui/StatusBar.tsx"],"names":[],"mappings":"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"}
@@ -13,10 +13,17 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
13
13
  import { Text, useWindowSize } from 'ink';
14
14
  import { permissionModeLabel } from '../permissions/mode.js';
15
15
  import { theme } from './theme.js';
16
+ /**
17
+ * The mode marks. `⏵⏵` is the reference terminal's own and is outside the
18
+ * emoji set; the pause mark it pairs with, `⏸` (U+23F8), is an emoji code
19
+ * point that Windows Terminal draws as a blue two-cell tile. `‖` (U+2016,
20
+ * DOUBLE VERTICAL LINE) says "held" in one text cell with no emoji form.
21
+ */
22
+ export const MODE_MARK = { moving: '⏵⏵', held: '‖' };
16
23
  /** Icon, color and label for an active (non-default) permission mode. */
17
24
  function modeGlyph(mode) {
18
25
  return {
19
- icon: mode === 'accept-edits' || mode === 'auto' ? '⏵⏵' : '⏸',
26
+ icon: mode === 'accept-edits' || mode === 'auto' ? MODE_MARK.moving : MODE_MARK.held,
20
27
  color: mode === 'strict' ? theme.status.warn : theme.accent.user,
21
28
  label: permissionModeLabel(mode),
22
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../src/tui/StatusBar.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEzC,OAAO,EAAuB,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAoBlC,yEAAyE;AACzE,SAAS,SAAS,CACjB,IAAoB;IAEpB,OAAO;QACN,IAAI,EAAE,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;QAC7D,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;QAChE,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC;KAChC,CAAA;AACF,CAAC;AAED,MAAM,eAAe,GAAG,oBAAoB,CAAA;AAC5C,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAE5C,MAAM,UAAU,SAAS,CAAC,EACzB,GAAG,EACH,QAAQ,EACR,KAAK,EACL,MAAM,EACN,WAAW,EACX,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,cAAc,EACd,YAAY,GACI;IAChB,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAA;IAChC,MAAM,UAAU,GACf,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/F,MAAM,MAAM,GAAG,aAAa,CAAC;QAC5B,0EAA0E;QAC1E,yEAAyE;QACzE,2EAA2E;QAC3E,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;QAC1C,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC;QACpB,KAAK;QACL,QAAQ;QACR,MAAM,EAAE,MAAM,IAAI,IAAI;QACtB,WAAW,EAAE,WAAW,IAAI,KAAK;QACjC,IAAI;QACJ,IAAI;QACJ,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe;QAClF,WAAW,EAAE,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;KAC7D,CAAC,CAAA;IACF,OAAO,CACN,MAAC,IAAI,IAAC,IAAI,EAAC,cAAc,aACvB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CACd,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,YAAG,MAAM,CAAC,IAAI,GAAQ,CACnF,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,YAAG,MAAM,CAAC,WAAW,GAAQ,CAAC,CAAC,CAAC,IAAI,EACtF,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAChB,8BACC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,yBAAY,EACzC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,YAAG,MAAM,CAAC,MAAM,GAAQ,IACvD,CACH,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CACrB,8BACC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,yBAAY,EACzC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,YAAG,MAAM,CAAC,WAAW,GAAQ,IAC5D,CACH,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CACb,8BACC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,yBAAY,EACzC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,YAAG,MAAM,CAAC,GAAG,GAAQ,IACpD,CACH,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,IAAI,cAAE,MAAM,CAAC,GAAG,GAAQ,EACxB,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAC/B,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,YAC3E,MAAM,CAAC,KAAK,CAAC,IAAI,GACZ,CACP,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACxB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,kBACnC,MAAM,CAAC,KAAK,CAAC,KAAK,GACb,CACP,CAAC,CAAC,CAAC,IAAI,IACF,CACP,CAAA;AACF,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B;IACpD,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,MAAM;YACV,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAA;QAC5B,KAAK,UAAU;YACd,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;QAC3B,KAAK,MAAM,CAAC;QACZ,KAAK,qBAAqB;YACzB,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAA;IAC1B,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA;IAC7B,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;IACpC,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,GAAW;IACzD,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IACvB,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAA;IACnC,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,4EAA4E;IAC5E,8BAA8B;IAC9B,MAAM,OAAO,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACpE,OAAO,IAAI,OAAO,EAAE,CAAA;AACrB,CAAC;AAeD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,aAAa,CAAC,KAgB7B;IACA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACjD,sEAAsE;IACtE,sEAAsE;IACtE,iEAAiE;IACjE,IAAI,SAAS,GAAkB,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAA;IAC/D,2EAA2E;IAC3E,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,OAAO;QAAE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IAC3G,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,OAAO;QAAE,SAAS,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAEvG,IAAI,UAAU,GAAkB,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAA;IAC7D,MAAM,KAAK,GAAG,GAAW,EAAE,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAA;IAEjF,IAAI,QAAQ,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzC,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAA;IAEjE,IAAI,IAAI,GAAkB,KAAK,CAAC,SAAS,CAAA;IACzC,IAAI,WAAW,GAAkB,KAAK,CAAC,WAAW,IAAI,IAAI,CAAA;IAC1D,IAAI,MAAM,GAAkB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,uEAAuE;IACvE,8DAA8D;IAC9D,IAAI,WAAW,GAAkB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAA;IACzE,IAAI,GAAG,GAAkB,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IAEhE,MAAM,IAAI,GAAG,GAAW,EAAE;QACzB,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,WAAW,IAAI,EAAE,EAAE,CAAA;QACpD,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC;aACzC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAClD,IAAI,CAAC,KAAK,CAAC,CAAA;IACd,CAAC,CAAA;IAED,IAAI,IAAI,EAAE,CAAC,MAAM,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACtD,MAAM,IAAI,GAAG,UAAU,GAAG,aAAa,GAAG,CAAC,CAAA;QAC3C,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACrD,CAAC;IACD,IAAI,IAAI,EAAE,CAAC,MAAM,GAAG,UAAU;QAAE,GAAG,GAAG,IAAI,CAAA;IAC1C,IAAI,IAAI,EAAE,CAAC,MAAM,GAAG,UAAU;QAAE,MAAM,GAAG,IAAI,CAAA;IAC7C,IAAI,IAAI,EAAE,CAAC,MAAM,GAAG,UAAU;QAAE,WAAW,GAAG,IAAI,CAAA;IAClD,IAAI,IAAI,EAAE,CAAC,MAAM,GAAG,UAAU,IAAI,SAAS,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC7E,qEAAqE;QACrE,+DAA+D;QAC/D,UAAU,GAAG,IAAI,CAAA;QACjB,QAAQ,GAAG,CAAC,CAAA;QACZ,UAAU,GAAG,OAAO,CAAA;IACrB,CAAC;IACD,wEAAwE;IACxE,yEAAyE;IACzE,8DAA8D;IAC9D,IAAI,IAAI,EAAE,CAAC,MAAM,GAAG,UAAU;QAAE,WAAW,GAAG,IAAI,CAAA;IAClD,IAAI,IAAI,EAAE,CAAC,MAAM,GAAG,UAAU,IAAI,IAAI,EAAE,CAAC;QACxC,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,IAAI,EAAE,CAAC,MAAM,GAAG,UAAU;QAAE,IAAI,GAAG,IAAI,CAAA;IAE3C,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,MAAM,CAAA;IAC/B,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC,MAAM,CAAA;IACjC,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC,CAAA;IAE9E,OAAO;QACN,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;QACtC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QAC5B,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;QACtC,GAAG;QACH,GAAG;QACH,KAAK,EACJ,SAAS,KAAK,IAAI;YACjB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE;YAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;KACxC,CAAA;AACF,CAAC;AAED,qFAAqF;AACrF,SAAS,iBAAiB,CAAC,KAAa,EAAE,GAAW;IACpD,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IACvB,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,KAAK,CAAA;IACrC,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IACzB,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,CAAA;IACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IACxC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,EAAE,CAAA;AACrE,CAAC"}
1
+ {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../src/tui/StatusBar.tsx"],"names":[],"mappings":"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"}
@@ -1,32 +1,25 @@
1
1
  /**
2
- * The model's plan for the current request, live.
2
+ * Where the plan stands, in one line above the composer.
3
3
  *
4
- * `task_create` / `task_update` used to reach the operator as two transcript
5
- * rows — "☐ subject" when a task was opened and "☑ subject" when it closed —
6
- * and nothing in between. A plan with five steps was therefore five rows
7
- * scattered through the tool output, with no way to see which step was
8
- * current or how many were left. That is a record, not a plan; the operator
9
- * following along needs the whole list with its state, in one place, kept
10
- * current as the model works.
11
- *
12
- * So this sits in the live region above the composer, like the delegated
13
- * work panel does below it: present while the request has tasks, redrawn on
14
- * every status change, cleared when the next request begins. The transcript
15
- * rows stay — they are the durable record once this leaves the screen.
4
+ * The transcript owns the checklist: each group of task operations leaves one
5
+ * block there with the list as it stood afterwards (see `task-activity.ts`),
6
+ * which is where Codex keeps its plan too: printed inline, once, as a plain
7
+ * block in the conversation. This used to draw the same
8
+ * list a second time in the live region, so an operator read every task twice
9
+ * at once. What the live region adds is only what scrolls away: which step is
10
+ * current and how far along the plan is. So it is one row, it names one task,
11
+ * and it leaves when nothing is left to do — and the App does not draw it at
12
+ * all while the newest transcript row is the checklist itself, which is then
13
+ * on screen directly above.
16
14
  */
17
- export type TaskListStatus = 'pending' | 'in_progress' | 'completed' | 'failed';
18
- export interface TaskListItem {
19
- readonly id: string;
20
- readonly subject: string;
21
- readonly status: TaskListStatus;
22
- }
15
+ import { type ChecklistItem } from './Checklist.js';
16
+ export type TaskListItem = ChecklistItem;
23
17
  export interface TaskListProps {
24
- /** Keep the current step and overall counts visible when vertical space is scarce. */
25
- readonly compact?: boolean;
26
18
  readonly tasks: readonly TaskListItem[];
27
- /** Rows before the remainder is summarised as a count. */
28
- readonly maxRows?: number;
29
19
  }
30
- export declare function isTerminalTaskStatus(status: TaskListStatus): boolean;
31
- export declare function TaskList({ tasks, maxRows, compact }: TaskListProps): import("react/jsx-runtime").JSX.Element | null;
20
+ /** The step the operator is waiting on: the one in progress, else the next pending. */
21
+ export declare function currentTask(tasks: readonly TaskListItem[]): TaskListItem | undefined;
22
+ /** Rows this component occupies, for the live-region budget. */
23
+ export declare function taskListRows(tasks: readonly TaskListItem[]): number;
24
+ export declare function TaskList({ tasks }: TaskListProps): import("react/jsx-runtime").JSX.Element | null;
32
25
  //# sourceMappingURL=TaskList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskList.d.ts","sourceRoot":"","sources":["../../src/tui/TaskList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAA;AAE/E,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAC/B;AAED,MAAM,WAAW,aAAa;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAA;IACvC,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CACzB;AAWD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEpE;AAED,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,OAA0B,EAAE,OAAe,EAAE,EAAE,aAAa,kDA0D7F"}
1
+ {"version":3,"file":"TaskList.d.ts","sourceRoot":"","sources":["../../src/tui/TaskList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAE,KAAK,aAAa,EAA+B,MAAM,gBAAgB,CAAA;AAGhF,MAAM,MAAM,YAAY,GAAG,aAAa,CAAA;AAExC,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAA;CACvC;AAED,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,YAAY,GAAG,SAAS,CAKpF;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAEnE;AAED,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,kDAuBhD"}
@@ -1,67 +1,43 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
- * The model's plan for the current request, live.
3
+ * Where the plan stands, in one line above the composer.
4
4
  *
5
- * `task_create` / `task_update` used to reach the operator as two transcript
6
- * rows — "☐ subject" when a task was opened and "☑ subject" when it closed —
7
- * and nothing in between. A plan with five steps was therefore five rows
8
- * scattered through the tool output, with no way to see which step was
9
- * current or how many were left. That is a record, not a plan; the operator
10
- * following along needs the whole list with its state, in one place, kept
11
- * current as the model works.
12
- *
13
- * So this sits in the live region above the composer, like the delegated
14
- * work panel does below it: present while the request has tasks, redrawn on
15
- * every status change, cleared when the next request begins. The transcript
16
- * rows stay — they are the durable record once this leaves the screen.
5
+ * The transcript owns the checklist: each group of task operations leaves one
6
+ * block there with the list as it stood afterwards (see `task-activity.ts`),
7
+ * which is where Codex keeps its plan too: printed inline, once, as a plain
8
+ * block in the conversation. This used to draw the same
9
+ * list a second time in the live region, so an operator read every task twice
10
+ * at once. What the live region adds is only what scrolls away: which step is
11
+ * current and how far along the plan is. So it is one row, it names one task,
12
+ * and it leaves when nothing is left to do — and the App does not draw it at
13
+ * all while the newest transcript row is the checklist itself, which is then
14
+ * on screen directly above.
17
15
  */
18
- import { Box, Text } from 'ink';
19
- import { terminalDisplayText } from './terminal-display.js';
16
+ import { Box, Text, useWindowSize } from 'ink';
17
+ import stringWidth from 'string-width';
18
+ import { ChecklistRow, checklistLine } from './Checklist.js';
20
19
  import { theme } from './theme.js';
21
- const DEFAULT_MAX_ROWS = 8;
22
- const MARK = {
23
- pending: '☐',
24
- in_progress: '◐',
25
- completed: '☑',
26
- failed: '☒',
27
- };
28
- export function isTerminalTaskStatus(status) {
29
- return status === 'completed' || status === 'failed';
20
+ /** The step the operator is waiting on: the one in progress, else the next pending. */
21
+ export function currentTask(tasks) {
22
+ return (tasks.find((task) => task.status === 'in_progress') ??
23
+ tasks.find((task) => task.status === 'pending'));
24
+ }
25
+ /** Rows this component occupies, for the live-region budget. */
26
+ export function taskListRows(tasks) {
27
+ return currentTask(tasks) ? 1 : 0;
30
28
  }
31
- export function TaskList({ tasks, maxRows = DEFAULT_MAX_ROWS, compact = false }) {
32
- if (tasks.length === 0)
29
+ export function TaskList({ tasks }) {
30
+ const { columns } = useWindowSize();
31
+ const current = currentTask(tasks);
32
+ if (!current)
33
33
  return null;
34
34
  const done = tasks.filter((task) => task.status === 'completed').length;
35
- const failed = tasks.filter((task) => task.status === 'failed').length;
36
- // The current step is the one the operator is waiting on; when the list
37
- // is longer than the window, show the window that contains it rather than
38
- // the first eight steps of a plan already past them.
39
- const current = tasks.findIndex((task) => task.status === 'in_progress');
40
- if (compact) {
41
- const next = current >= 0 ? current : tasks.findIndex((task) => task.status === 'pending');
42
- const selected = tasks[next >= 0 ? next : tasks.length - 1];
43
- return (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsxs(Text, { color: theme.text.muted, wrap: "truncate-end", children: ["Tasks \u00B7 ", done, "/", tasks.length, " done", failed > 0 ? ` · ${failed} failed` : ''] }), selected ? (_jsxs(Text, { wrap: "truncate-end", children: [_jsxs(Text, { color: markColor(selected.status), children: [MARK[selected.status], " "] }), _jsx(Text, { color: theme.text.secondary, children: terminalDisplayText(selected.subject) })] })) : null] }));
44
- }
45
- const start = tasks.length <= maxRows ? 0 : Math.max(0, Math.min(current, tasks.length - maxRows));
46
- const visible = tasks.slice(start, start + maxRows);
47
- const before = start;
48
- const after = tasks.length - start - visible.length;
49
- return (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsxs(Text, { color: theme.text.muted, children: ["Tasks \u00B7 ", done, "/", tasks.length, " done", failed > 0 ? ` · ${failed} failed` : ''] }), before > 0 ? _jsxs(Text, { color: theme.text.muted, children: [" \u2191 ", before, " more"] }) : null, visible.map((task) => (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: markColor(task.status), children: [MARK[task.status], " "] }), _jsx(Text, { color: task.status === 'completed'
50
- ? theme.text.muted
51
- : task.status === 'pending'
52
- ? theme.text.secondary
53
- : theme.text.primary, bold: task.status === 'in_progress', strikethrough: task.status === 'completed', wrap: "truncate-end", children: terminalDisplayText(task.subject) })] }, task.id))), after > 0 ? _jsxs(Text, { color: theme.text.muted, children: [" \u2193 ", after, " more"] }) : null] }));
54
- }
55
- function markColor(status) {
56
- switch (status) {
57
- case 'in_progress':
58
- return theme.accent.assistant;
59
- case 'completed':
60
- return theme.text.muted;
61
- case 'failed':
62
- return theme.status.error;
63
- default:
64
- return theme.text.secondary;
65
- }
35
+ const count = ` · ${done}/${tasks.length} done`;
36
+ // The step leads and the count follows. When both do not fit, the count is
37
+ // what goes: the step is the one thing this row is for. The four columns
38
+ // are this row's indent and the App's own horizontal padding.
39
+ const room = Math.max(0, columns - 4);
40
+ const showCount = stringWidth(checklistLine(current)) + stringWidth(count) <= room;
41
+ return (_jsxs(Box, { flexDirection: "row", paddingLeft: 2, children: [_jsx(Box, { flexShrink: 1, children: _jsx(ChecklistRow, { item: current, wrap: "truncate-end" }) }), showCount ? (_jsx(Box, { flexShrink: 0, children: _jsx(Text, { color: theme.text.muted, children: count }) })) : null] }));
66
42
  }
67
43
  //# sourceMappingURL=TaskList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskList.js","sourceRoot":"","sources":["../../src/tui/TaskList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskList.js","sourceRoot":"","sources":["../../src/tui/TaskList.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAC9C,OAAO,WAAW,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAsB,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAQlC,uFAAuF;AACvF,MAAM,UAAU,WAAW,CAAC,KAA8B;IACzD,OAAO,CACN,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAC/C,CAAA;AACF,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,YAAY,CAAC,KAA8B;IAC1D,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAE,KAAK,EAAiB;IAChD,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAA;IACnC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACzB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAA;IACvE,MAAM,KAAK,GAAG,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,OAAO,CAAA;IAC/C,2EAA2E;IAC3E,yEAAyE;IACzE,8DAA8D;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAA;IACrC,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,CAAA;IAClF,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,WAAW,EAAE,CAAC,aACtC,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,KAAC,YAAY,IAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,cAAc,GAAG,GAC9C,EACL,SAAS,CAAC,CAAC,CAAC,CACZ,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YACjB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,YAAG,KAAK,GAAQ,GACxC,CACN,CAAC,CAAC,CAAC,IAAI,IACH,CACN,CAAA;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Transcript.d.ts","sourceRoot":"","sources":["../../src/tui/Transcript.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAOtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,WAAW,eAAe;IAC/B,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC/C,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,qBAAqB,CAAA;IACpE;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAC3B;AAaD,wBAAgB,UAAU,CAAC,EAC1B,QAAQ,EACR,OAAO,EACP,OAAO,EACP,QAAQ,EACR,GAAW,EACX,UAAkB,EAClB,QAAe,EACf,MAAM,GACN,EAAE,eAAe,2CAiEjB;AAkKD,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,OAAO,CAM3E;AA6BD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS,MAAM,EAAE,CAgBjF"}
1
+ {"version":3,"file":"Transcript.d.ts","sourceRoot":"","sources":["../../src/tui/Transcript.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,WAAW,eAAe;IAC/B,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC/C,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,qBAAqB,CAAA;IACpE;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAC3B;AAaD,wBAAgB,UAAU,CAAC,EAC1B,QAAQ,EACR,OAAO,EACP,OAAO,EACP,QAAQ,EACR,GAAW,EACX,UAAkB,EAClB,QAAe,EACf,MAAM,GACN,EAAE,eAAe,2CAiEjB;AAwKD,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,OAAO,CAM3E;AA6BD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS,MAAM,EAAE,CAIjF"}
@@ -8,6 +8,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
8
  */
9
9
  import { Box, Static, Text } from 'ink';
10
10
  import { memo } from 'react';
11
+ import { Checklist, checklistLine } from './Checklist.js';
11
12
  import { Markdown } from './Markdown.js';
12
13
  import { StatusPanel } from './StatusPanel.js';
13
14
  import { terminalDisplayText } from './terminal-display.js';
@@ -68,6 +69,7 @@ function RawMessageRow({ message, prev, }) {
68
69
  const content = message.content.length > 0 ? terminalDisplayText(message.content) : message.pending ? '…' : '';
69
70
  const text = [
70
71
  `${content}${message.meta ? ` · ${terminalDisplayText(message.meta)}` : ''}`,
72
+ ...(message.checklist ?? []).map(checklistLine),
71
73
  ...(message.detail && message.detail.length > 0
72
74
  ? ['', ...message.detail.map(terminalDisplayText)]
73
75
  : []),
@@ -90,7 +92,7 @@ function MessageRow({ message, prev, hyperlinks, }) {
90
92
  const exploration = message.activity === 'exploration';
91
93
  const startsExploration = exploration && prev?.activity !== 'exploration';
92
94
  const gap = !prev || message.glyph === '⎿' || (exploration && !startsExploration) ? 0 : 1;
93
- return (_jsxs(Box, { flexDirection: "column", marginTop: gap, children: [startsExploration ? _jsx(Text, { bold: true, color: theme.text.secondary, children: "Explored" }) : null, _jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: 2, flexShrink: 0, children: _jsx(Text, { color: glyphColor, bold: true, children: glyph }) }), _jsx(Box, { flexGrow: 1, children: message.role === 'assistant' && content.length > 0 ? (_jsx(Markdown, { text: message.content, color: contentColorForRole(message.role), hyperlinks: hyperlinks })) : (_jsxs(Text, { color: contentColorForRole(message.role), wrap: "wrap", children: [content, message.meta ? (_jsxs(Text, { color: theme.text.muted, children: [" \u00B7 ", terminalDisplayText(message.meta)] })) : null, message.pending && content.length === 0 ? (_jsx(Text, { color: theme.text.muted, children: "\u2026" })) : null] })) })] }), message.detail && message.detail.length > 0 && (!message.activity || message.detailExpanded) ? (_jsx(DetailBlock, { lines: message.detail, expanded: message.detailExpanded === true, detailRef: message.detailRef })) : null] }));
95
+ return (_jsxs(Box, { flexDirection: "column", marginTop: gap, children: [startsExploration ? _jsx(Text, { bold: true, color: theme.text.secondary, children: "Explored" }) : null, _jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: 2, flexShrink: 0, children: _jsx(Text, { color: glyphColor, bold: true, children: glyph }) }), _jsx(Box, { flexGrow: 1, children: message.role === 'assistant' && content.length > 0 ? (_jsx(Markdown, { text: message.content, color: contentColorForRole(message.role), hyperlinks: hyperlinks })) : (_jsxs(Text, { color: contentColorForRole(message.role), wrap: "wrap", children: [content, message.meta ? (_jsxs(Text, { color: theme.text.muted, children: [" \u00B7 ", terminalDisplayText(message.meta)] })) : null, message.pending && content.length === 0 ? (_jsx(Text, { color: theme.text.muted, children: "\u2026" })) : null] })) })] }), message.checklist && message.checklist.length > 0 ? (_jsx(Box, { paddingLeft: 2, children: _jsx(Checklist, { items: message.checklist }) })) : null, message.detail && message.detail.length > 0 && (!message.activity || message.detailExpanded) ? (_jsx(DetailBlock, { lines: message.detail, expanded: message.detailExpanded === true, detailRef: message.detailRef })) : null] }));
94
96
  }
95
97
  /**
96
98
  * Collapsible tool diff / output, aligned under the content gutter.
@@ -142,6 +144,11 @@ function splitDetail(lines, expanded, detailRef) {
142
144
  * this number changed.
143
145
  */
144
146
  export function renderedDetailLines(message) {
147
+ // Drawn under the two-column content gutter, one row per task before wrapping.
148
+ const checklist = (message.checklist ?? []).map((item) => ` ${checklistLine(item)}`);
149
+ return [...checklist, ...renderedBodyLines(message)];
150
+ }
151
+ function renderedBodyLines(message) {
145
152
  const lines = message.detail;
146
153
  if (!lines || lines.length === 0 || (message.activity !== undefined && !message.detailExpanded))
147
154
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"Transcript.js","sourceRoot":"","sources":["../../src/tui/Transcript.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transcript.js","sourceRoot":"","sources":["../../src/tui/Transcript.tsx"],"names":[],"mappings":"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"}
@@ -91,6 +91,14 @@ export type AgentEvent = {
91
91
  readonly hidden?: boolean;
92
92
  /** Output lines shown (collapsible) under the result. */
93
93
  readonly detail?: readonly string[];
94
+ /**
95
+ * The tool's own one-line account of its result, when it gave one (a
96
+ * `generic` result view). `summary` is the first line of the MODEL's
97
+ * receipt; this is what the tool chose to say to a person, which is
98
+ * the one to show when the receipt carries handles only the model
99
+ * needs.
100
+ */
101
+ readonly resultLabel?: string;
94
102
  }
95
103
  /**
96
104
  * The model thinking, for the live region only. `text` is a delta;
@@ -207,15 +215,16 @@ export type AgentEvent = {
207
215
  }
208
216
  /**
209
217
  * One task of the model's plan, on every change. `taskId` is what lets the
210
- * live list update a row in place rather than append; `status` is the
211
- * store's own vocabulary. The transcript still records only the opening
212
- * and the close — the churn in between is for the list, not the record.
218
+ * checklist update a row in place rather than append; `status` is the
219
+ * store's own vocabulary. The id is a key only: no surface shows it.
213
220
  */
214
221
  | {
215
222
  readonly kind: 'task';
216
223
  readonly taskId: string;
217
224
  readonly subject: string;
218
225
  readonly status: 'pending' | 'in_progress' | 'completed' | 'failed';
226
+ /** The task left the plan; the checklist drops it. */
227
+ readonly removed?: true;
219
228
  }
220
229
  /**
221
230
  * The turn ended without throwing — which is not the same as succeeding.
@@ -347,6 +356,15 @@ export interface SendOptions {
347
356
  * Overrides the session default for this turn only.
348
357
  */
349
358
  readonly permissionMode?: PermissionMode;
359
+ /**
360
+ * The host's current mode, read at every review decision of this turn —
361
+ * the turn's own calls and the delegated turns that borrow its handler.
362
+ * Present, it lets the operator change the mode while the turn runs:
363
+ * each decision takes the mode current when it is asked and keeps it,
364
+ * dialog included. Pair a change with `AgentSession.setPermissionMode`
365
+ * so it is recorded. Absent, `permissionMode` holds for the whole turn.
366
+ */
367
+ readonly currentPermissionMode?: () => PermissionMode;
350
368
  /**
351
369
  * Caller-reserved identity for this new turn, for a host that has to name
352
370
  * the turn before it starts (a resident step's verifier). Absent: the
@@ -648,6 +666,14 @@ export interface AgentSession {
648
666
  * change when this capability is absent rather than pretending it revoked.
649
667
  */
650
668
  readonly resetApprovalLatch?: () => void;
669
+ /**
670
+ * Record a permission-mode change on every turn running now: written to
671
+ * the session log as `approval_policy_changed` before it takes effect,
672
+ * and told to the model once, by the kernel's own notice. The change
673
+ * itself is read through `SendOptions.currentPermissionMode`; this only
674
+ * makes it durable. Optional for older embedded sessions.
675
+ */
676
+ readonly setPermissionMode?: (mode: PermissionMode, reason?: string) => Promise<void>;
651
677
  /**
652
678
  * Tools this session will run without asking, by name.
653
679
  *