@brainfile/cli 0.13.3 → 0.15.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 (147) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +123 -358
  3. package/dist/cli.js +88 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/add.d.ts +3 -0
  6. package/dist/commands/add.d.ts.map +1 -1
  7. package/dist/commands/add.js +162 -3
  8. package/dist/commands/add.js.map +1 -1
  9. package/dist/commands/adr.d.ts +22 -0
  10. package/dist/commands/adr.d.ts.map +1 -0
  11. package/dist/commands/adr.js +182 -0
  12. package/dist/commands/adr.js.map +1 -0
  13. package/dist/commands/archive.d.ts.map +1 -1
  14. package/dist/commands/archive.js +147 -0
  15. package/dist/commands/archive.js.map +1 -1
  16. package/dist/commands/complete.d.ts +30 -0
  17. package/dist/commands/complete.d.ts.map +1 -0
  18. package/dist/commands/complete.js +254 -0
  19. package/dist/commands/complete.js.map +1 -0
  20. package/dist/commands/contract.d.ts.map +1 -1
  21. package/dist/commands/contract.js +2 -0
  22. package/dist/commands/contract.js.map +1 -1
  23. package/dist/commands/delete.d.ts.map +1 -1
  24. package/dist/commands/delete.js +29 -1
  25. package/dist/commands/delete.js.map +1 -1
  26. package/dist/commands/init.d.ts +1 -0
  27. package/dist/commands/init.d.ts.map +1 -1
  28. package/dist/commands/init.js +41 -8
  29. package/dist/commands/init.js.map +1 -1
  30. package/dist/commands/list.d.ts +1 -0
  31. package/dist/commands/list.d.ts.map +1 -1
  32. package/dist/commands/list.js +34 -12
  33. package/dist/commands/list.js.map +1 -1
  34. package/dist/commands/log.d.ts +52 -0
  35. package/dist/commands/log.d.ts.map +1 -0
  36. package/dist/commands/log.js +246 -0
  37. package/dist/commands/log.js.map +1 -0
  38. package/dist/commands/mcp.d.ts.map +1 -1
  39. package/dist/commands/mcp.js +864 -44
  40. package/dist/commands/mcp.js.map +1 -1
  41. package/dist/commands/migrate.d.ts +4 -3
  42. package/dist/commands/migrate.d.ts.map +1 -1
  43. package/dist/commands/migrate.js +193 -38
  44. package/dist/commands/migrate.js.map +1 -1
  45. package/dist/commands/move.d.ts.map +1 -1
  46. package/dist/commands/move.js +90 -0
  47. package/dist/commands/move.js.map +1 -1
  48. package/dist/commands/patch.d.ts.map +1 -1
  49. package/dist/commands/patch.js +85 -13
  50. package/dist/commands/patch.js.map +1 -1
  51. package/dist/commands/search.d.ts +33 -0
  52. package/dist/commands/search.d.ts.map +1 -0
  53. package/dist/commands/search.js +209 -0
  54. package/dist/commands/search.js.map +1 -0
  55. package/dist/commands/show.d.ts.map +1 -1
  56. package/dist/commands/show.js +74 -1
  57. package/dist/commands/show.js.map +1 -1
  58. package/dist/commands/subtask.d.ts.map +1 -1
  59. package/dist/commands/subtask.js +72 -5
  60. package/dist/commands/subtask.js.map +1 -1
  61. package/dist/commands/types.d.ts +40 -0
  62. package/dist/commands/types.d.ts.map +1 -0
  63. package/dist/commands/types.js +242 -0
  64. package/dist/commands/types.js.map +1 -0
  65. package/dist/index.d.ts +1 -0
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +3 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/lib/contractRunner.d.ts.map +1 -1
  70. package/dist/lib/contractRunner.js +177 -12
  71. package/dist/lib/contractRunner.js.map +1 -1
  72. package/dist/tui/BrainfileTUI.d.ts.map +1 -1
  73. package/dist/tui/BrainfileTUI.js +23 -20
  74. package/dist/tui/BrainfileTUI.js.map +1 -1
  75. package/dist/tui/actions.d.ts +5 -5
  76. package/dist/tui/actions.d.ts.map +1 -1
  77. package/dist/tui/actions.js +335 -47
  78. package/dist/tui/actions.js.map +1 -1
  79. package/dist/tui/components/ArchivePanel.js +1 -1
  80. package/dist/tui/components/ArchivePanel.js.map +1 -1
  81. package/dist/tui/components/ColumnTabs.d.ts.map +1 -1
  82. package/dist/tui/components/ColumnTabs.js +6 -2
  83. package/dist/tui/components/ColumnTabs.js.map +1 -1
  84. package/dist/tui/components/HelpOverlay.js +3 -3
  85. package/dist/tui/components/HelpOverlay.js.map +1 -1
  86. package/dist/tui/components/LogsPanel.d.ts +16 -0
  87. package/dist/tui/components/LogsPanel.d.ts.map +1 -0
  88. package/dist/tui/components/LogsPanel.js +115 -0
  89. package/dist/tui/components/LogsPanel.js.map +1 -0
  90. package/dist/tui/components/MainPanelTabs.d.ts +2 -2
  91. package/dist/tui/components/MainPanelTabs.d.ts.map +1 -1
  92. package/dist/tui/components/MainPanelTabs.js +3 -3
  93. package/dist/tui/components/MainPanelTabs.js.map +1 -1
  94. package/dist/tui/components/StackedTaskList.d.ts +2 -1
  95. package/dist/tui/components/StackedTaskList.d.ts.map +1 -1
  96. package/dist/tui/components/StackedTaskList.js +9 -9
  97. package/dist/tui/components/StackedTaskList.js.map +1 -1
  98. package/dist/tui/components/TaskCard.d.ts +2 -1
  99. package/dist/tui/components/TaskCard.d.ts.map +1 -1
  100. package/dist/tui/components/TaskCard.js +41 -5
  101. package/dist/tui/components/TaskCard.js.map +1 -1
  102. package/dist/tui/components/TaskCardMeasure.d.ts +2 -16
  103. package/dist/tui/components/TaskCardMeasure.d.ts.map +1 -1
  104. package/dist/tui/components/TaskCardMeasure.js +30 -25
  105. package/dist/tui/components/TaskCardMeasure.js.map +1 -1
  106. package/dist/tui/components/TaskDetail.d.ts +2 -3
  107. package/dist/tui/components/TaskDetail.d.ts.map +1 -1
  108. package/dist/tui/components/TaskDetail.js +35 -12
  109. package/dist/tui/components/TaskDetail.js.map +1 -1
  110. package/dist/tui/components/TaskList.d.ts +2 -1
  111. package/dist/tui/components/TaskList.d.ts.map +1 -1
  112. package/dist/tui/components/TaskList.js +5 -5
  113. package/dist/tui/components/TaskList.js.map +1 -1
  114. package/dist/tui/components/index.d.ts +2 -2
  115. package/dist/tui/components/index.d.ts.map +1 -1
  116. package/dist/tui/components/index.js +3 -3
  117. package/dist/tui/components/index.js.map +1 -1
  118. package/dist/tui/hooks/useBrainfileLoader.d.ts.map +1 -1
  119. package/dist/tui/hooks/useBrainfileLoader.js +97 -31
  120. package/dist/tui/hooks/useBrainfileLoader.js.map +1 -1
  121. package/dist/tui/hooks/useKeyboardNavigation.d.ts.map +1 -1
  122. package/dist/tui/hooks/useKeyboardNavigation.js +47 -47
  123. package/dist/tui/hooks/useKeyboardNavigation.js.map +1 -1
  124. package/dist/tui/types.d.ts +7 -7
  125. package/dist/tui/types.d.ts.map +1 -1
  126. package/dist/utils/board-types.d.ts +13 -0
  127. package/dist/utils/board-types.d.ts.map +1 -0
  128. package/dist/utils/board-types.js +7 -0
  129. package/dist/utils/board-types.js.map +1 -0
  130. package/dist/utils/dot-brainfile.d.ts +9 -0
  131. package/dist/utils/dot-brainfile.d.ts.map +1 -0
  132. package/dist/utils/dot-brainfile.js +74 -0
  133. package/dist/utils/dot-brainfile.js.map +1 -0
  134. package/dist/utils/strict-validation.d.ts +8 -0
  135. package/dist/utils/strict-validation.d.ts.map +1 -0
  136. package/dist/utils/strict-validation.js +41 -0
  137. package/dist/utils/strict-validation.js.map +1 -0
  138. package/dist/utils/v2-detect.d.ts +28 -0
  139. package/dist/utils/v2-detect.d.ts.map +1 -0
  140. package/dist/utils/v2-detect.js +109 -0
  141. package/dist/utils/v2-detect.js.map +1 -0
  142. package/dist/utils/v2-tasks.d.ts +121 -0
  143. package/dist/utils/v2-tasks.d.ts.map +1 -0
  144. package/dist/utils/v2-tasks.js +384 -0
  145. package/dist/utils/v2-tasks.js.map +1 -0
  146. package/package.json +3 -3
  147. package/state.json +3 -0
@@ -21,7 +21,7 @@ function flattenTasks(columns) {
21
21
  const flat = [];
22
22
  let globalIndex = 0;
23
23
  for (const col of columns) {
24
- for (const task of col.tasks) {
24
+ for (const task of (col.tasks ?? [])) {
25
25
  flat.push({
26
26
  task,
27
27
  columnId: col.id,
@@ -33,7 +33,7 @@ function flattenTasks(columns) {
33
33
  }
34
34
  return flat;
35
35
  }
36
- function StackedTaskList({ columns, selectedGlobalIndex, expandedIds, viewportHeight, termWidth, }) {
36
+ function StackedTaskList({ columns, allTasks = [], selectedGlobalIndex, expandedIds, viewportHeight, termWidth, }) {
37
37
  const cardWidth = termWidth - 4;
38
38
  const contentWidth = cardWidth - 6;
39
39
  // Flatten all tasks
@@ -54,11 +54,11 @@ function StackedTaskList({ columns, selectedGlobalIndex, expandedIds, viewportHe
54
54
  if (i === 0 || flatTasks[i - 1].columnId !== ft.columnId) {
55
55
  heightBeforeSelected += 2; // header + margin
56
56
  }
57
- heightBeforeSelected += (0, TaskCardMeasure_js_1.getTaskCardHeight)(ft.task, isExpanded, contentWidth);
57
+ heightBeforeSelected += (0, TaskCardMeasure_js_1.getTaskCardHeight)(ft.task, isExpanded, contentWidth, allTasks);
58
58
  }
59
59
  const selectedFlatTask = flatTasks[selectedGlobalIndex];
60
60
  const selectedHeight = selectedFlatTask
61
- ? (0, TaskCardMeasure_js_1.getTaskCardHeight)(selectedFlatTask.task, expandedIds.has(selectedFlatTask.task.id), contentWidth)
61
+ ? (0, TaskCardMeasure_js_1.getTaskCardHeight)(selectedFlatTask.task, expandedIds.has(selectedFlatTask.task.id), contentWidth, allTasks)
62
62
  : 5;
63
63
  if (heightBeforeSelected + selectedHeight > viewportHeight) {
64
64
  scrollOffset = selectedGlobalIndex;
@@ -90,22 +90,22 @@ function StackedTaskList({ columns, selectedGlobalIndex, expandedIds, viewportHe
90
90
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent, bold: true }, ft.columnTitle.toUpperCase()),
91
91
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim },
92
92
  " (",
93
- columns.find(c => c.id === ft.columnId)?.tasks.length || 0,
93
+ columns.find(c => c.id === ft.columnId)?.tasks?.length || 0,
94
94
  ")")));
95
- linesUsed += lastColumnId ? 1 : 1;
95
+ linesUsed += 1;
96
96
  lastColumnId = ft.columnId;
97
97
  }
98
- const taskLines = (0, TaskCardMeasure_js_1.getTaskCardHeight)(ft.task, isExpanded, contentWidth);
98
+ const taskLines = (0, TaskCardMeasure_js_1.getTaskCardHeight)(ft.task, isExpanded, contentWidth, allTasks);
99
99
  // Always include selected task
100
100
  if (isSelected) {
101
101
  visibleItems.push(react_1.default.createElement(ink_1.Box, { key: ft.task.id, marginTop: visibleItems.length > 0 ? 1 : 0 },
102
- react_1.default.createElement(TaskCard_js_1.TaskCard, { task: ft.task, isSelected: true, isExpanded: isExpanded, width: cardWidth, hideTagsWhenCollapsed: true, showContractBadge: true })));
102
+ react_1.default.createElement(TaskCard_js_1.TaskCard, { task: ft.task, allTasks: allTasks, isSelected: true, isExpanded: isExpanded, width: cardWidth, hideTagsWhenCollapsed: true, showContractBadge: true })));
103
103
  linesUsed += taskLines;
104
104
  continue;
105
105
  }
106
106
  if (linesUsed + taskLines <= viewportHeight) {
107
107
  visibleItems.push(react_1.default.createElement(ink_1.Box, { key: ft.task.id, marginTop: 1 },
108
- react_1.default.createElement(TaskCard_js_1.TaskCard, { task: ft.task, isSelected: false, isExpanded: isExpanded, width: cardWidth, hideTagsWhenCollapsed: true, showContractBadge: true })));
108
+ react_1.default.createElement(TaskCard_js_1.TaskCard, { task: ft.task, allTasks: allTasks, isSelected: false, isExpanded: isExpanded, width: cardWidth, hideTagsWhenCollapsed: true, showContractBadge: true })));
109
109
  linesUsed += taskLines;
110
110
  }
111
111
  else if (linesUsed > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"StackedTaskList.js","sourceRoot":"","sources":["../../../src/tui/components/StackedTaskList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StackedTaskList.js","sourceRoot":"","sources":["../../../src/tui/components/StackedTaskList.tsx"],"names":[],"mappings":"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"}
@@ -15,10 +15,11 @@ export interface TaskCardProps {
15
15
  isSelected: boolean;
16
16
  isExpanded: boolean;
17
17
  width: number;
18
+ allTasks?: Task[];
18
19
  /** Hide tags in meta row when collapsed (for narrow/stacked mode) */
19
20
  hideTagsWhenCollapsed?: boolean;
20
21
  /** Show contract badge in the title row (tasks with contracts only) */
21
22
  showContractBadge?: boolean;
22
23
  }
23
- export declare function TaskCard({ task, isSelected, isExpanded, width, hideTagsWhenCollapsed, showContractBadge, }: TaskCardProps): React.JSX.Element;
24
+ export declare function TaskCard({ task, isSelected, isExpanded, width, allTasks, hideTagsWhenCollapsed, showContractBadge, }: TaskCardProps): React.JSX.Element;
24
25
  //# sourceMappingURL=TaskCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskCard.d.ts","sourceRoot":"","sources":["../../../src/tui/components/TaskCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAM5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAwGD,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,UAAU,EACV,UAAU,EACV,KAAK,EACL,qBAA6B,EAC7B,iBAAyB,GAC1B,EAAE,aAAa,qBAyIf"}
1
+ {"version":3,"file":"TaskCard.d.ts","sourceRoot":"","sources":["../../../src/tui/components/TaskCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAM5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,qEAAqE;IACrE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAkID,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,UAAU,EACV,UAAU,EACV,KAAK,EACL,QAAa,EACb,qBAA6B,EAC7B,iBAAwB,GACzB,EAAE,aAAa,qBAuJf"}
@@ -37,6 +37,31 @@ function PriorityBadge({ priority }) {
37
37
  const label = abbrev[priority.toLowerCase()] || priority.toUpperCase().slice(0, 4);
38
38
  return (react_1.default.createElement(ink_1.Text, { color: "black", backgroundColor: color, bold: true }, ` ${label} `));
39
39
  }
40
+ function getTypeBadgeColor(type) {
41
+ switch (type.toLowerCase()) {
42
+ case 'epic':
43
+ return 'cyan';
44
+ case 'adr':
45
+ return 'yellow';
46
+ default:
47
+ return 'gray';
48
+ }
49
+ }
50
+ function getTypeBadgeLabel(type) {
51
+ if (!type)
52
+ return null;
53
+ const normalized = type.toLowerCase();
54
+ if (normalized === 'task')
55
+ return null;
56
+ return `[${normalized}]`;
57
+ }
58
+ /** Type badge for non-default task types */
59
+ function TypeBadge({ type }) {
60
+ const label = getTypeBadgeLabel(type);
61
+ if (!label)
62
+ return null;
63
+ return react_1.default.createElement(ink_1.Text, { color: getTypeBadgeColor(type) }, label);
64
+ }
40
65
  /** Compact bracketed progress count [X/Y] */
41
66
  function SubtaskCount({ completed, total }) {
42
67
  if (total === 0)
@@ -105,15 +130,21 @@ function getContractStatusColor(status) {
105
130
  // ============================================================================
106
131
  // Main TaskCard Component
107
132
  // ============================================================================
108
- function TaskCard({ task, isSelected, isExpanded, width, hideTagsWhenCollapsed = false, showContractBadge = false, }) {
133
+ function TaskCard({ task, isSelected, isExpanded, width, allTasks = [], hideTagsWhenCollapsed = false, showContractBadge = true, }) {
109
134
  const subtasks = task.subtasks || [];
110
135
  const completedSubtasks = subtasks.filter(s => s.completed).length;
136
+ const parentId = task.parentId;
111
137
  // Indicator width: " ▌ " = 4 chars for selected, " " = 4 chars for not
112
138
  const indicatorWidth = 4;
113
139
  const contentWidth = width - indicatorWidth - 2; // -2 for right padding
114
140
  // Build meta segments for row 2
115
- // Order: progress date tags (fixed-width first for table-like alignment)
141
+ // Order: parent -> date -> tags
116
142
  const metaSegments = [];
143
+ if (parentId) {
144
+ metaSegments.push(react_1.default.createElement(ink_1.Text, { key: "parent", color: theme_js_1.PALETTE.textDim },
145
+ "Child of: ",
146
+ parentId));
147
+ }
117
148
  if (task.dueDate) {
118
149
  metaSegments.push(react_1.default.createElement(DueDate, { key: "due", dueDate: task.dueDate }));
119
150
  }
@@ -128,19 +159,24 @@ function TaskCard({ task, isSelected, isExpanded, width, hideTagsWhenCollapsed =
128
159
  metaContent.push(react_1.default.createElement(Sep, { key: `sep-${i}` }));
129
160
  metaContent.push(seg);
130
161
  });
131
- // Calculate title width (account for priority badge and subtask count)
162
+ // Calculate title width (account for priority badge, type badge, subtask count, contract badge)
132
163
  const priorityWidth = task.priority ? 7 : 0; // " HIGH " = 6 + 1 space
164
+ const typeBadgeLabel = getTypeBadgeLabel(task.type);
165
+ const typeBadgeWidth = typeBadgeLabel ? typeBadgeLabel.length + 1 : 0; // +1 for trailing space
133
166
  // Estimate subtask width: "[10/10]" = 7 chars, plus padding
134
167
  const subtaskLabelWidth = subtasks.length > 0 ? 9 : 0;
135
168
  const contractBadgeText = showContractBadge && task.contract ? `[C:${task.contract.status}]` : null;
136
169
  const contractBadgeWidth = contractBadgeText ? contractBadgeText.length + 1 : 0; // +1 for leading space
137
- const titleWidth = contentWidth - priorityWidth - subtaskLabelWidth - contractBadgeWidth;
170
+ const titleWidth = contentWidth - priorityWidth - typeBadgeWidth - subtaskLabelWidth - contractBadgeWidth;
138
171
  return (react_1.default.createElement(ink_1.Box, { flexDirection: "column", width: width },
139
172
  react_1.default.createElement(ink_1.Box, null,
140
173
  react_1.default.createElement(ink_1.Text, { color: isSelected ? theme_js_1.PALETTE.accent : theme_js_1.PALETTE.textDim }, isSelected ? ' ▌ ' : ' '),
141
174
  task.priority && (react_1.default.createElement(react_1.default.Fragment, null,
142
175
  react_1.default.createElement(PriorityBadge, { priority: task.priority }),
143
176
  react_1.default.createElement(ink_1.Text, null, " "))),
177
+ typeBadgeLabel && (react_1.default.createElement(react_1.default.Fragment, null,
178
+ react_1.default.createElement(TypeBadge, { type: task.type }),
179
+ react_1.default.createElement(ink_1.Text, null, " "))),
144
180
  react_1.default.createElement(ink_1.Text, { color: isSelected ? theme_js_1.PALETTE.text : theme_js_1.PALETTE.textSecondary, bold: isSelected }, (0, utils_js_1.truncate)(task.title, titleWidth)),
145
181
  contractBadgeText && (react_1.default.createElement(react_1.default.Fragment, null,
146
182
  react_1.default.createElement(ink_1.Text, null, " "),
@@ -180,6 +216,6 @@ function TaskCard({ task, isSelected, isExpanded, width, hideTagsWhenCollapsed =
180
216
  " +",
181
217
  task.relatedFiles.length - 3,
182
218
  " more")))),
183
- react_1.default.createElement(TaskDetail_js_1.TaskDetail, { task: task, marginTop: (task.description || subtasks.length > 0 || (task.relatedFiles && task.relatedFiles.length > 0)) ? 1 : 0 })))));
219
+ react_1.default.createElement(TaskDetail_js_1.TaskDetail, { task: task, allTasks: allTasks, marginTop: (task.description || subtasks.length > 0 || (task.relatedFiles && task.relatedFiles.length > 0)) ? 1 : 0 })))));
184
220
  }
185
221
  //# sourceMappingURL=TaskCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskCard.js","sourceRoot":"","sources":["../../../src/tui/components/TaskCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskCard.js","sourceRoot":"","sources":["../../../src/tui/components/TaskCard.tsx"],"names":[],"mappings":"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"}
@@ -21,25 +21,11 @@ export declare function wrapText(text: string, maxWidth: number): string[];
21
21
  export declare function safeTruncate(text: string | undefined, maxWidth: number): string;
22
22
  /**
23
23
  * Calculate exact height dimensions for a TaskCard.
24
- *
25
- * Linear-style borderless design:
26
- *
27
- * COLLAPSED (always 3 lines):
28
- * - Row 1: indicator + priority + title + [subtasks] = 1
29
- * - Row 2: indented meta + ID = 1
30
- * - Margin between cards (handled by TaskList) = 1
31
- *
32
- * EXPANDED (variable):
33
- * - Base collapsed: 3
34
- * - marginTop before expanded content: 1
35
- * - Description: min(lines, 3) + overflow(1) (if present)
36
- * - Subtasks: marginTop(conditional) + min(count, 5) + overflow(1) (if present)
37
- * - Related files: marginTop(1) + min(count, 3) + overflow(1) (if present)
38
24
  */
39
- export declare function measureTaskCard(task: Task, contentWidth: number): TaskCardDimensions;
25
+ export declare function measureTaskCard(task: Task, contentWidth: number, allTasks?: Task[]): TaskCardDimensions;
40
26
  /**
41
27
  * Get the height for a task card based on expanded state.
42
28
  * Convenience wrapper for TaskList viewport calculations.
43
29
  */
44
- export declare function getTaskCardHeight(task: Task, isExpanded: boolean, contentWidth: number): number;
30
+ export declare function getTaskCardHeight(task: Task, isExpanded: boolean, contentWidth: number, allTasks?: Task[]): number;
45
31
  //# sourceMappingURL=TaskCardMeasure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskCardMeasure.d.ts","sourceRoot":"","sources":["../../../src/tui/components/TaskCardMeasure.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CA6BjE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM/E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,kBAAkB,CAsDpF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAG/F"}
1
+ {"version":3,"file":"TaskCardMeasure.d.ts","sourceRoot":"","sources":["../../../src/tui/components/TaskCardMeasure.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CA6BjE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM/E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAE,IAAI,EAAO,GAAG,kBAAkB,CAwE3G;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAE,IAAI,EAAO,GAAG,MAAM,CAGtH"}
@@ -57,22 +57,8 @@ function safeTruncate(text, maxWidth) {
57
57
  }
58
58
  /**
59
59
  * Calculate exact height dimensions for a TaskCard.
60
- *
61
- * Linear-style borderless design:
62
- *
63
- * COLLAPSED (always 3 lines):
64
- * - Row 1: indicator + priority + title + [subtasks] = 1
65
- * - Row 2: indented meta + ID = 1
66
- * - Margin between cards (handled by TaskList) = 1
67
- *
68
- * EXPANDED (variable):
69
- * - Base collapsed: 3
70
- * - marginTop before expanded content: 1
71
- * - Description: min(lines, 3) + overflow(1) (if present)
72
- * - Subtasks: marginTop(conditional) + min(count, 5) + overflow(1) (if present)
73
- * - Related files: marginTop(1) + min(count, 3) + overflow(1) (if present)
74
60
  */
75
- function measureTaskCard(task, contentWidth) {
61
+ function measureTaskCard(task, contentWidth, allTasks = []) {
76
62
  // Collapsed is ALWAYS 3 lines (2 content + 1 margin)
77
63
  const collapsed = 3;
78
64
  // Expanded builds on top of collapsed base
@@ -105,15 +91,34 @@ function measureTaskCard(task, contentWidth) {
105
91
  expanded += 1; // "+N more" line
106
92
  }
107
93
  }
108
- // Contract section (display-only, if present)
109
- if (task.contract) {
110
- const hasPrevious = Boolean(task.description) ||
111
- Boolean(task.subtasks && task.subtasks.length > 0) ||
112
- Boolean(task.relatedFiles && task.relatedFiles.length > 0);
113
- if (hasPrevious) {
114
- expanded += 1; // marginTop before contract block
94
+ const hasPreviousSections = Boolean(task.description) ||
95
+ Boolean(task.subtasks && task.subtasks.length > 0) ||
96
+ Boolean(task.relatedFiles && task.relatedFiles.length > 0);
97
+ const childrenCount = allTasks.filter(t => {
98
+ const parentId = t.parentId;
99
+ return parentId === task.id && t.id !== task.id;
100
+ }).length;
101
+ const isAdr = (task.type || 'task').toLowerCase() === 'adr';
102
+ const hasAdrStatus = Boolean(task.status) && isAdr;
103
+ const hasContract = Boolean(task.contract);
104
+ const parentId = task.parentId;
105
+ const hasDetailBlock = Boolean(parentId) || childrenCount > 0 || hasAdrStatus || hasContract;
106
+ if (hasDetailBlock) {
107
+ if (hasPreviousSections) {
108
+ expanded += 1; // marginTop before TaskDetail block
109
+ }
110
+ if (parentId)
111
+ expanded += 1; // Parent row
112
+ if (childrenCount > 0)
113
+ expanded += 1; // Children row
114
+ if (hasAdrStatus)
115
+ expanded += 1; // ADR status row
116
+ if (hasContract) {
117
+ if (parentId || childrenCount > 0 || hasAdrStatus) {
118
+ expanded += 1; // spacer before Contract header
119
+ }
120
+ expanded += 3; // Contract header + status + deliverables
115
121
  }
116
- expanded += 3; // "Contract" header + Status + Deliverables count
117
122
  }
118
123
  return { collapsed, expanded };
119
124
  }
@@ -121,8 +126,8 @@ function measureTaskCard(task, contentWidth) {
121
126
  * Get the height for a task card based on expanded state.
122
127
  * Convenience wrapper for TaskList viewport calculations.
123
128
  */
124
- function getTaskCardHeight(task, isExpanded, contentWidth) {
125
- const dims = measureTaskCard(task, contentWidth);
129
+ function getTaskCardHeight(task, isExpanded, contentWidth, allTasks = []) {
130
+ const dims = measureTaskCard(task, contentWidth, allTasks);
126
131
  return isExpanded ? dims.expanded : dims.collapsed;
127
132
  }
128
133
  //# sourceMappingURL=TaskCardMeasure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskCardMeasure.js","sourceRoot":"","sources":["../../../src/tui/components/TaskCardMeasure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskCardMeasure.js","sourceRoot":"","sources":["../../../src/tui/components/TaskCardMeasure.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,12 @@ import React from 'react';
2
2
  import type { Task } from '@brainfile/core';
3
3
  export interface TaskDetailProps {
4
4
  task: Task;
5
+ allTasks?: Task[];
5
6
  /** Optional top spacing before the detail block */
6
7
  marginTop?: number;
7
8
  }
8
9
  /**
9
10
  * TaskDetail - detail sections shown when a task card is expanded.
10
- *
11
- * Display-only: contract info is shown only when the task has a contract.
12
11
  */
13
- export declare function TaskDetail({ task, marginTop }: TaskDetailProps): React.JSX.Element | null;
12
+ export declare function TaskDetail({ task, allTasks, marginTop }: TaskDetailProps): React.JSX.Element | null;
14
13
  //# sourceMappingURL=TaskDetail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskDetail.d.ts","sourceRoot":"","sources":["../../../src/tui/components/TaskDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAgB5C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAC;IACX,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,SAAa,EAAE,EAAE,eAAe,4BAmBlE"}
1
+ {"version":3,"file":"TaskDetail.d.ts","sourceRoot":"","sources":["../../../src/tui/components/TaskDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAgB5C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,QAAa,EAAE,SAAa,EAAE,EAAE,eAAe,4BA2DjF"}
@@ -21,21 +21,44 @@ function getContractStatusColor(status) {
21
21
  }
22
22
  /**
23
23
  * TaskDetail - detail sections shown when a task card is expanded.
24
- *
25
- * Display-only: contract info is shown only when the task has a contract.
26
24
  */
27
- function TaskDetail({ task, marginTop = 0 }) {
28
- if (!task.contract)
25
+ function TaskDetail({ task, allTasks = [], marginTop = 0 }) {
26
+ const parentId = task.parentId;
27
+ const children = allTasks.filter(t => {
28
+ const candidateParentId = t.parentId;
29
+ return candidateParentId === task.id && t.id !== task.id;
30
+ });
31
+ const isAdr = (task.type || 'task').toLowerCase() === 'adr';
32
+ const adrStatus = isAdr ? task.status : undefined;
33
+ const hasParentOrChildren = Boolean(parentId) || children.length > 0;
34
+ const hasContract = Boolean(task.contract);
35
+ const hasAdrStatus = Boolean(adrStatus);
36
+ if (!hasParentOrChildren && !hasContract && !hasAdrStatus) {
29
37
  return null;
30
- const status = task.contract.status;
31
- const deliverablesCount = task.contract.deliverables?.length ?? 0;
38
+ }
39
+ const status = task.contract?.status;
40
+ const deliverablesCount = task.contract?.deliverables?.length ?? 0;
32
41
  return (react_1.default.createElement(ink_1.Box, { flexDirection: "column", marginTop: marginTop },
33
- react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim, bold: true }, "Contract"),
34
- react_1.default.createElement(ink_1.Text, null,
42
+ parentId && (react_1.default.createElement(ink_1.Text, null,
43
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim }, "Parent: "),
44
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, parentId))),
45
+ children.length > 0 && (react_1.default.createElement(ink_1.Text, null,
46
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim }, "Children: "),
47
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary },
48
+ "[",
49
+ children.map(c => c.id).join(', '),
50
+ "]"))),
51
+ hasAdrStatus && (react_1.default.createElement(ink_1.Text, null,
35
52
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim }, "Status: "),
36
- react_1.default.createElement(ink_1.Text, { color: getContractStatusColor(status), bold: true }, status)),
37
- react_1.default.createElement(ink_1.Text, null,
38
- react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim }, "Deliverables: "),
39
- react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, deliverablesCount))));
53
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, adrStatus))),
54
+ hasContract && (react_1.default.createElement(react_1.default.Fragment, null,
55
+ (parentId || children.length > 0 || hasAdrStatus) && react_1.default.createElement(ink_1.Box, { marginTop: 1 }),
56
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim, bold: true }, "Contract"),
57
+ react_1.default.createElement(ink_1.Text, null,
58
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim }, "Status: "),
59
+ react_1.default.createElement(ink_1.Text, { color: getContractStatusColor(status), bold: true }, status)),
60
+ react_1.default.createElement(ink_1.Text, null,
61
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim }, "Deliverables: "),
62
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, deliverablesCount))))));
40
63
  }
41
64
  //# sourceMappingURL=TaskDetail.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskDetail.js","sourceRoot":"","sources":["../../../src/tui/components/TaskDetail.tsx"],"names":[],"mappings":";;;;;AA6BA,gCAmBC;AAhDD,kDAA0B;AAC1B,6BAAgC;AAEhC,0CAAsC;AAEtC,SAAS,sBAAsB,CAAC,MAAc;IAC5C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,kBAAO,CAAC,OAAO,CAAC;QACzB,KAAK,aAAa;YAChB,OAAO,kBAAO,CAAC,OAAO,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,kBAAO,CAAC,KAAK,CAAC;QACvB;YACE,OAAO,kBAAO,CAAC,SAAS,CAAC;IAC7B,CAAC;AACH,CAAC;AAQD;;;;GAIG;AACH,SAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,EAAmB;IACjE,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC;IAElE,OAAO,CACL,8BAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,SAAS;QAC9C,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,OAAO,EAAE,IAAI,qBAAgB;QAClD,8BAAC,UAAI;YACH,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,OAAO,eAAiB;YAC7C,8BAAC,UAAI,IAAC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,IAAI,UAAE,MAAM,CAAQ,CAC5D;QACP,8BAAC,UAAI;YACH,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,OAAO,qBAAuB;YACnD,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,aAAa,IAAG,iBAAiB,CAAQ,CACzD,CACH,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"TaskDetail.js","sourceRoot":"","sources":["../../../src/tui/components/TaskDetail.tsx"],"names":[],"mappings":"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"}
@@ -2,10 +2,11 @@ import React from 'react';
2
2
  import type { Task } from '@brainfile/core';
3
3
  export interface TaskListProps {
4
4
  tasks: Task[];
5
+ allTasks?: Task[];
5
6
  selectedIndex: number;
6
7
  expandedIds: Set<string>;
7
8
  viewportHeight: number;
8
9
  termWidth: number;
9
10
  }
10
- export declare function TaskList({ tasks, selectedIndex, expandedIds, viewportHeight, termWidth }: TaskListProps): React.JSX.Element;
11
+ export declare function TaskList({ tasks, allTasks, selectedIndex, expandedIds, viewportHeight, termWidth }: TaskListProps): React.JSX.Element;
11
12
  //# sourceMappingURL=TaskList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskList.d.ts","sourceRoot":"","sources":["../../../src/tui/components/TaskList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAK5C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,aAAa,qBAyFvG"}
1
+ {"version":3,"file":"TaskList.d.ts","sourceRoot":"","sources":["../../../src/tui/components/TaskList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAK5C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAa,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,aAAa,qBA0FtH"}
@@ -9,7 +9,7 @@ const ink_1 = require("ink");
9
9
  const theme_js_1 = require("../theme.js");
10
10
  const TaskCard_js_1 = require("./TaskCard.js");
11
11
  const TaskCardMeasure_js_1 = require("./TaskCardMeasure.js");
12
- function TaskList({ tasks, selectedIndex, expandedIds, viewportHeight, termWidth }) {
12
+ function TaskList({ tasks, allTasks = [], selectedIndex, expandedIds, viewportHeight, termWidth }) {
13
13
  const cardWidth = termWidth - 4;
14
14
  const contentWidth = cardWidth - 6; // indicator (4) + right padding (2) = 6
15
15
  // Calculate scroll offset - ensure selected task is visible
@@ -19,12 +19,12 @@ function TaskList({ tasks, selectedIndex, expandedIds, viewportHeight, termWidth
19
19
  for (let i = 0; i < selectedIndex; i++) {
20
20
  const task = tasks[i];
21
21
  const isExpanded = expandedIds.has(task.id);
22
- heightBeforeSelected += (0, TaskCardMeasure_js_1.getTaskCardHeight)(task, isExpanded, contentWidth);
22
+ heightBeforeSelected += (0, TaskCardMeasure_js_1.getTaskCardHeight)(task, isExpanded, contentWidth, allTasks);
23
23
  }
24
24
  // If selected task would be off screen, adjust scroll
25
25
  const selectedTask = tasks[selectedIndex];
26
26
  const selectedHeight = selectedTask
27
- ? (0, TaskCardMeasure_js_1.getTaskCardHeight)(selectedTask, expandedIds.has(selectedTask.id), contentWidth)
27
+ ? (0, TaskCardMeasure_js_1.getTaskCardHeight)(selectedTask, expandedIds.has(selectedTask.id), contentWidth, allTasks)
28
28
  : 5;
29
29
  if (heightBeforeSelected + selectedHeight > viewportHeight) {
30
30
  // Need to scroll - start from selected task
@@ -41,7 +41,7 @@ function TaskList({ tasks, selectedIndex, expandedIds, viewportHeight, termWidth
41
41
  const task = tasks[i];
42
42
  const isSelected = i === selectedIndex;
43
43
  const isExpanded = expandedIds.has(task.id);
44
- const taskLines = (0, TaskCardMeasure_js_1.getTaskCardHeight)(task, isExpanded, contentWidth);
44
+ const taskLines = (0, TaskCardMeasure_js_1.getTaskCardHeight)(task, isExpanded, contentWidth, allTasks);
45
45
  // Always include the selected task, even if it's tall
46
46
  if (isSelected) {
47
47
  visibleItems.push({ task, isSelected, isExpanded });
@@ -69,7 +69,7 @@ function TaskList({ tasks, selectedIndex, expandedIds, viewportHeight, termWidth
69
69
  return (react_1.default.createElement(ink_1.Box, { flexDirection: "column", paddingLeft: 1, height: viewportHeight },
70
70
  visibleItems.map(({ task, isSelected, isExpanded }, index) => (react_1.default.createElement(react_1.default.Fragment, { key: task.id },
71
71
  index > 0 && react_1.default.createElement(ink_1.Box, { height: 1 }),
72
- react_1.default.createElement(TaskCard_js_1.TaskCard, { task: task, isSelected: isSelected, isExpanded: isExpanded, width: cardWidth, showContractBadge: true })))),
72
+ react_1.default.createElement(TaskCard_js_1.TaskCard, { task: task, allTasks: allTasks, isSelected: isSelected, isExpanded: isExpanded, width: cardWidth, showContractBadge: true })))),
73
73
  emptyLines > 0 && react_1.default.createElement(ink_1.Box, { height: emptyLines })));
74
74
  }
75
75
  //# sourceMappingURL=TaskList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskList.js","sourceRoot":"","sources":["../../../src/tui/components/TaskList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskList.js","sourceRoot":"","sources":["../../../src/tui/components/TaskList.tsx"],"names":[],"mappings":";;;;;AAgBA,4BA0FC;AA1GD,kDAA0B;AAC1B,6BAAgC;AAEhC,0CAAsC;AACtC,+CAAyC;AACzC,6DAAyD;AAWzD,SAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAiB;IACrH,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,wCAAwC;IAE5E,4DAA4D;IAC5D,sEAAsE;IACtE,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,oBAAoB,IAAI,IAAA,sCAAiB,EAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtF,CAAC;IAED,sDAAsD;IACtD,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,YAAY;QACjC,CAAC,CAAC,IAAA,sCAAiB,EAAC,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC;QAC3F,CAAC,CAAC,CAAC,CAAC;IAEN,IAAI,oBAAoB,GAAG,cAAc,GAAG,cAAc,EAAE,CAAC;QAC3D,4CAA4C;QAC5C,YAAY,GAAG,aAAa,CAAC;IAC/B,CAAC;SAAM,IAAI,oBAAoB,GAAG,cAAc,GAAG,GAAG,EAAE,CAAC;QACvD,mEAAmE;QACnE,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,iDAAiD;IACjD,MAAM,YAAY,GAA+D,EAAE,CAAC;IACpF,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,UAAU,GAAG,CAAC,KAAK,aAAa,CAAC;QACvC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAA,sCAAiB,EAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE9E,sDAAsD;QACtD,IAAI,UAAU,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;YACpD,SAAS,IAAI,SAAS,CAAC;YACvB,SAAS;QACX,CAAC;QAED,4CAA4C;QAC5C,IAAI,SAAS,GAAG,SAAS,IAAI,cAAc,EAAE,CAAC;YAC5C,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;YACpD,SAAS,IAAI,SAAS,CAAC;QACzB,CAAC;aAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACzB,+CAA+C;YAC/C,MAAM;QACR,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC;IAE3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CACL,8BAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc;YAChE,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,SAAS,EAAE,QAAQ,oCAA+B;YAEtE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACxD,8BAAC,SAAG,IAAC,GAAG,EAAE,SAAS,CAAC,EAAE;gBAAE,8BAAC,UAAI,QAAE,GAAG,CAAQ,CAAM,CACjD,CAAC,CACE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,8BAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc;QAC/D,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7D,8BAAC,eAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE;YACzB,KAAK,GAAG,CAAC,IAAI,8BAAC,SAAG,IAAC,MAAM,EAAE,CAAC,GAAI;YAChC,8BAAC,sBAAQ,IACP,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,IAAI,GACvB,CACa,CAClB,CAAC;QAED,UAAU,GAAG,CAAC,IAAI,8BAAC,SAAG,IAAC,MAAM,EAAE,UAAU,GAAI,CAC1C,CACP,CAAC;AACJ,CAAC"}
@@ -22,8 +22,8 @@ export { MainPanelTabs } from './MainPanelTabs.js';
22
22
  export type { MainPanelTabsProps } from './MainPanelTabs.js';
23
23
  export { RulesPanel } from './RulesPanel.js';
24
24
  export type { RulesPanelProps } from './RulesPanel.js';
25
- export { ArchivePanel } from './ArchivePanel.js';
26
- export type { ArchivePanelProps } from './ArchivePanel.js';
25
+ export { LogsPanel } from './LogsPanel.js';
26
+ export type { LogsPanelProps } from './LogsPanel.js';
27
27
  export { ManualBorder, BorderRow } from './ManualBorder.js';
28
28
  export type { ManualBorderProps, BorderRowProps } from './ManualBorder.js';
29
29
  export { measureTaskCard, getTaskCardHeight, wrapText, safeTruncate } from './TaskCardMeasure.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClG,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClG,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.safeTruncate = exports.wrapText = exports.getTaskCardHeight = exports.measureTaskCard = exports.BorderRow = exports.ManualBorder = exports.ArchivePanel = exports.RulesPanel = exports.MainPanelTabs = exports.NewTaskOverlay = exports.SubtaskOverlay = exports.DeleteConfirmOverlay = exports.MoveOverlay = exports.StatusMessageDisplay = exports.HelpOverlay = exports.StatusBar = exports.flattenTasks = exports.StackedTaskList = exports.TaskList = exports.TaskCard = exports.ColumnTabs = exports.SearchBar = exports.ProgressBar = exports.Header = void 0;
3
+ exports.safeTruncate = exports.wrapText = exports.getTaskCardHeight = exports.measureTaskCard = exports.BorderRow = exports.ManualBorder = exports.LogsPanel = exports.RulesPanel = exports.MainPanelTabs = exports.NewTaskOverlay = exports.SubtaskOverlay = exports.DeleteConfirmOverlay = exports.MoveOverlay = exports.StatusMessageDisplay = exports.HelpOverlay = exports.StatusBar = exports.flattenTasks = exports.StackedTaskList = exports.TaskList = exports.TaskCard = exports.ColumnTabs = exports.SearchBar = exports.ProgressBar = exports.Header = void 0;
4
4
  var Header_js_1 = require("./Header.js");
5
5
  Object.defineProperty(exports, "Header", { enumerable: true, get: function () { return Header_js_1.Header; } });
6
6
  var ProgressBar_js_1 = require("./ProgressBar.js");
@@ -30,8 +30,8 @@ var MainPanelTabs_js_1 = require("./MainPanelTabs.js");
30
30
  Object.defineProperty(exports, "MainPanelTabs", { enumerable: true, get: function () { return MainPanelTabs_js_1.MainPanelTabs; } });
31
31
  var RulesPanel_js_1 = require("./RulesPanel.js");
32
32
  Object.defineProperty(exports, "RulesPanel", { enumerable: true, get: function () { return RulesPanel_js_1.RulesPanel; } });
33
- var ArchivePanel_js_1 = require("./ArchivePanel.js");
34
- Object.defineProperty(exports, "ArchivePanel", { enumerable: true, get: function () { return ArchivePanel_js_1.ArchivePanel; } });
33
+ var LogsPanel_js_1 = require("./LogsPanel.js");
34
+ Object.defineProperty(exports, "LogsPanel", { enumerable: true, get: function () { return LogsPanel_js_1.LogsPanel; } });
35
35
  var ManualBorder_js_1 = require("./ManualBorder.js");
36
36
  Object.defineProperty(exports, "ManualBorder", { enumerable: true, get: function () { return ManualBorder_js_1.ManualBorder; } });
37
37
  Object.defineProperty(exports, "BorderRow", { enumerable: true, get: function () { return ManualBorder_js_1.BorderRow; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAA5B,mGAAA,MAAM,OAAA;AAGf,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AAGpB,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAGlB,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AAGnB,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAGjB,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAGjB,2DAAqE;AAA5D,qHAAA,eAAe,OAAA;AAAE,kHAAA,YAAY,OAAA;AAGtC,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAGlB,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AAGpB,6CAMuB;AALrB,mHAAA,oBAAoB,OAAA;AACpB,0GAAA,WAAW,OAAA;AACX,mHAAA,oBAAoB,OAAA;AACpB,6GAAA,cAAc,OAAA;AACd,6GAAA,cAAc,OAAA;AAUhB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AAGtB,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AAGnB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AAGrB,qDAA4D;AAAnD,+GAAA,YAAY,OAAA;AAAE,4GAAA,SAAS,OAAA;AAGhC,2DAAkG;AAAzF,qHAAA,eAAe,OAAA;AAAE,uHAAA,iBAAiB,OAAA;AAAE,8GAAA,QAAQ,OAAA;AAAE,kHAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAA5B,mGAAA,MAAM,OAAA;AAGf,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AAGpB,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAGlB,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AAGnB,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAGjB,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAGjB,2DAAqE;AAA5D,qHAAA,eAAe,OAAA;AAAE,kHAAA,YAAY,OAAA;AAGtC,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAGlB,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AAGpB,6CAMuB;AALrB,mHAAA,oBAAoB,OAAA;AACpB,0GAAA,WAAW,OAAA;AACX,mHAAA,oBAAoB,OAAA;AACpB,6GAAA,cAAc,OAAA;AACd,6GAAA,cAAc,OAAA;AAUhB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AAGtB,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AAGnB,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAGlB,qDAA4D;AAAnD,+GAAA,YAAY,OAAA;AAAE,4GAAA,SAAS,OAAA;AAGhC,2DAAkG;AAAzF,qHAAA,eAAe,OAAA;AAAE,uHAAA,iBAAiB,OAAA;AAAE,8GAAA,QAAQ,OAAA;AAAE,kHAAA,YAAY,OAAA"}