@brainfile/cli 0.9.1 → 0.10.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 (55) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +40 -4
  3. package/dist/commands/tui.d.ts +1 -1
  4. package/dist/commands/tui.d.ts.map +1 -1
  5. package/dist/commands/tui.js +8 -2
  6. package/dist/commands/tui.js.map +1 -1
  7. package/dist/tui/BrainfileTUI.d.ts.map +1 -1
  8. package/dist/tui/BrainfileTUI.js +56 -24
  9. package/dist/tui/BrainfileTUI.js.map +1 -1
  10. package/dist/tui/actions.d.ts +32 -2
  11. package/dist/tui/actions.d.ts.map +1 -1
  12. package/dist/tui/actions.js +274 -2
  13. package/dist/tui/actions.js.map +1 -1
  14. package/dist/tui/components/ArchivePanel.d.ts +16 -0
  15. package/dist/tui/components/ArchivePanel.d.ts.map +1 -0
  16. package/dist/tui/components/ArchivePanel.js +172 -0
  17. package/dist/tui/components/ArchivePanel.js.map +1 -0
  18. package/dist/tui/components/HelpOverlay.d.ts.map +1 -1
  19. package/dist/tui/components/HelpOverlay.js +44 -22
  20. package/dist/tui/components/HelpOverlay.js.map +1 -1
  21. package/dist/tui/components/MainPanelTabs.d.ts +9 -0
  22. package/dist/tui/components/MainPanelTabs.d.ts.map +1 -0
  23. package/dist/tui/components/MainPanelTabs.js +37 -0
  24. package/dist/tui/components/MainPanelTabs.js.map +1 -0
  25. package/dist/tui/components/RulesPanel.d.ts +24 -0
  26. package/dist/tui/components/RulesPanel.d.ts.map +1 -0
  27. package/dist/tui/components/RulesPanel.js +125 -0
  28. package/dist/tui/components/RulesPanel.js.map +1 -0
  29. package/dist/tui/components/SearchBar.d.ts +2 -1
  30. package/dist/tui/components/SearchBar.d.ts.map +1 -1
  31. package/dist/tui/components/SearchBar.js +23 -9
  32. package/dist/tui/components/SearchBar.js.map +1 -1
  33. package/dist/tui/components/index.d.ts +6 -0
  34. package/dist/tui/components/index.d.ts.map +1 -1
  35. package/dist/tui/components/index.js +7 -1
  36. package/dist/tui/components/index.js.map +1 -1
  37. package/dist/tui/hooks/useKeyboardNavigation.d.ts.map +1 -1
  38. package/dist/tui/hooks/useKeyboardNavigation.js +516 -190
  39. package/dist/tui/hooks/useKeyboardNavigation.js.map +1 -1
  40. package/dist/tui/index.d.ts +3 -2
  41. package/dist/tui/index.d.ts.map +1 -1
  42. package/dist/tui/index.js +3 -1
  43. package/dist/tui/index.js.map +1 -1
  44. package/dist/tui/theme.d.ts +6 -0
  45. package/dist/tui/theme.d.ts.map +1 -1
  46. package/dist/tui/theme.js +6 -0
  47. package/dist/tui/theme.js.map +1 -1
  48. package/dist/tui/types.d.ts +16 -2
  49. package/dist/tui/types.d.ts.map +1 -1
  50. package/dist/tui/types.js.map +1 -1
  51. package/dist/tui/utils.d.ts +20 -0
  52. package/dist/tui/utils.d.ts.map +1 -1
  53. package/dist/tui/utils.js +115 -0
  54. package/dist/tui/utils.js.map +1 -1
  55. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,54 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.10.0] - 2025-11-27
11
+
12
+ ### Added
13
+ - **Rules Panel** - Full rule management in TUI (feature parity with VSCode extension)
14
+ - Press `2` to switch to Rules panel
15
+ - Four rule categories: Always, Never, Prefer, Context
16
+ - `h/l` to switch between rule types
17
+ - `n` to add new rule, `e` to edit, `d` to delete
18
+ - Rules persist to brainfile YAML frontmatter
19
+ - **Archive Panel** - View and manage archived tasks in TUI
20
+ - Press `3` to switch to Archive panel
21
+ - Browse archived tasks with `j/k` navigation
22
+ - `R` (Shift+R) to restore task to a column
23
+ - `d` to permanently delete archived task
24
+ - `Enter` to expand/collapse task details
25
+ - `r` to refresh archive from file
26
+ - **Main Panel Tabs** - Tab-based navigation between Tasks, Rules, and Archive
27
+ - Press `1`, `2`, `3` to switch panels
28
+ - Visual tab bar shows active panel with counts
29
+ - **Updated Help Overlay** - Three-column layout documenting all panel shortcuts
30
+ - **Clean exit** - Screen clears on quit, returning to clean terminal (like vim/htop)
31
+
32
+ ### Changed
33
+ - **Archive keybinding** - Changed from `a` to `A` (Shift+A) to prevent accidental archiving
34
+ - Easy to hit `a` thinking "add" and accidentally archive a task
35
+ - Now requires intentional Shift+A keystroke
36
+ - **Panel tabs visual alignment** - Main panel tabs now match column tabs styling exactly
37
+ - Same `▌` indicator, spacing, and color treatment for visual consistency
38
+
39
+ ### Fixed
40
+ - **Archive to separate file** - Archive now writes to `brainfile-archive.md` per protocol spec
41
+ - Previously archived tasks to inline `archive: []` array in same file
42
+ - Now matches VSCode extension behavior and protocol specification
43
+ - Archive file is created automatically in same directory as brainfile
44
+ - **Cursor artifact after editor** - Fixed blinking cursor appearing after returning from external editor
45
+
46
+ ## [0.9.2] - 2025-11-26
47
+
48
+ ### Added
49
+ - **Advanced search filters** - Filter tasks using structured queries
50
+ - `p:high` or `priority:critical` - Filter by priority
51
+ - `#tag` or `t:bug` - Filter by tag
52
+ - `@john` or `assignee:john` - Filter by assignee
53
+ - `due:overdue`, `due:today`, `due:week`, `due:month` - Filter by due date
54
+ - Combine filters with text search: `p:high #bug fix login`
55
+ - **Filter hints in search bar** - Shows available filters when search is empty
56
+ - **Updated help overlay** - Documents filter syntax
57
+
10
58
  ## [0.9.1] - 2025-11-26
11
59
 
12
60
  ### Fixed
package/README.md CHANGED
@@ -48,17 +48,35 @@ brainfile # Open with default brainfile.md
48
48
  brainfile ./path/to/file.md # Open specific file
49
49
  ```
50
50
 
51
- **Keyboard Controls:**
51
+ **Panel Navigation:**
52
+ | Key | Action |
53
+ |-----|--------|
54
+ | `1` | Switch to Tasks panel |
55
+ | `2` | Switch to Rules panel |
56
+ | `3` | Switch to Archive panel |
57
+ | `?` | Show help |
58
+ | `q` | Quit |
59
+
60
+ **Tasks Panel:**
52
61
  | Key | Action |
53
62
  |-----|--------|
54
63
  | `TAB` / `Shift+TAB` | Navigate columns |
55
64
  | `j`/`k` or `↑`/`↓` | Navigate tasks |
65
+ | `h`/`l` or `←`/`→` | Switch columns |
56
66
  | `g`/`G` | Jump to top/bottom |
57
67
  | `Enter` | Expand/collapse task |
58
68
  | `/` | Search tasks |
59
- | `?` | Show help |
60
69
  | `r` | Refresh |
61
- | `q` | Quit |
70
+
71
+ **Search Filters:**
72
+ | Filter | Example | Description |
73
+ |--------|---------|-------------|
74
+ | Priority | `p:high` | Filter by priority |
75
+ | Tag | `#bug` or `t:feature` | Filter by tag |
76
+ | Assignee | `@john` | Filter by assignee |
77
+ | Due date | `due:week` | `overdue`, `today`, `week`, `month` |
78
+
79
+ Combine filters with text: `p:high #bug login issue`
62
80
 
63
81
  **Task Management:**
64
82
  | Key | Action |
@@ -70,9 +88,27 @@ brainfile ./path/to/file.md # Open specific file
70
88
  | `N` | New task in $EDITOR |
71
89
  | `p` | Cycle priority |
72
90
  | `t` | Toggle subtask |
73
- | `a` | Archive task |
91
+ | `A` | Archive task |
74
92
  | `y` | Copy task ID |
75
93
 
94
+ **Rules Panel:**
95
+ | Key | Action |
96
+ |-----|--------|
97
+ | `h`/`l` | Switch rule type (always/never/prefer/context) |
98
+ | `j`/`k` | Navigate rules |
99
+ | `n` | Add new rule |
100
+ | `e` | Edit selected rule |
101
+ | `d` | Delete selected rule |
102
+
103
+ **Archive Panel:**
104
+ | Key | Action |
105
+ |-----|--------|
106
+ | `j`/`k` | Navigate archived tasks |
107
+ | `Enter` | Expand/collapse task |
108
+ | `R` | Restore task to column |
109
+ | `d` | Permanently delete task |
110
+ | `r` | Refresh archive |
111
+
76
112
  ---
77
113
 
78
114
  ### list
@@ -1,6 +1,6 @@
1
1
  interface TuiOptions {
2
2
  file: string;
3
3
  }
4
- export declare function tuiCommand(options: TuiOptions): void;
4
+ export declare function tuiCommand(options: TuiOptions): Promise<void>;
5
5
  export {};
6
6
  //# sourceMappingURL=tui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/commands/tui.tsx"],"names":[],"mappings":"AAMA,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,QAoB7C"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/commands/tui.tsx"],"names":[],"mappings":"AAMA,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,iBA4BnD"}
@@ -42,7 +42,7 @@ const ink_1 = require("ink");
42
42
  const fs = __importStar(require("fs"));
43
43
  const path = __importStar(require("path"));
44
44
  const index_js_1 = require("../tui/index.js");
45
- function tuiCommand(options) {
45
+ async function tuiCommand(options) {
46
46
  const filePath = path.resolve(options.file);
47
47
  if (!fs.existsSync(filePath)) {
48
48
  console.error(`Error: File not found: ${filePath}`);
@@ -58,6 +58,12 @@ function tuiCommand(options) {
58
58
  console.log('Please run this command in a standard terminal (not piped or in a non-TTY context).');
59
59
  process.exit(1);
60
60
  }
61
- (0, ink_1.render)(react_1.default.createElement(index_js_1.BrainfileTUI, { filePath: filePath }));
61
+ const { waitUntilExit } = (0, ink_1.render)(react_1.default.createElement(index_js_1.BrainfileTUI, { filePath: filePath }));
62
+ // Wait for app to exit, then clear screen
63
+ await waitUntilExit();
64
+ // Clear screen and reset cursor to top-left
65
+ process.stdout.write('\x1b[2J'); // Clear entire screen
66
+ process.stdout.write('\x1b[H'); // Move cursor to home position (top-left)
67
+ process.stdout.write('\x1b[?25h'); // Show cursor (in case it was hidden)
62
68
  }
63
69
  //# sourceMappingURL=tui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/commands/tui.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,gCAoBC;AA9BD,kDAA0B;AAC1B,6BAA6B;AAC7B,uCAAyB;AACzB,2CAA6B;AAC7B,8CAA+C;AAM/C,SAAgB,UAAU,CAAC,OAAmB;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;QACnG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAA,YAAM,EAAC,8BAAC,uBAAY,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/commands/tui.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,gCA4BC;AAtCD,kDAA0B;AAC1B,6BAA6B;AAC7B,uCAAyB;AACzB,2CAA6B;AAC7B,8CAA+C;AAMxC,KAAK,UAAU,UAAU,CAAC,OAAmB;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;QACnG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,YAAM,EAAC,8BAAC,uBAAY,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC;IAEvE,0CAA0C;IAC1C,MAAM,aAAa,EAAE,CAAC;IAEtB,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAG,sBAAsB;IACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAI,0CAA0C;IAC7E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,sCAAsC;AAC3E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BrainfileTUI.d.ts","sourceRoot":"","sources":["../../src/tui/BrainfileTUI.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,YAAY,CAAC;AA0CrD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,qBA6OlD"}
1
+ {"version":3,"file":"BrainfileTUI.d.ts","sourceRoot":"","sources":["../../src/tui/BrainfileTUI.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,YAAY,CAAC;AA2DrD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,qBAsSlD"}
@@ -40,11 +40,14 @@ const theme_js_1 = require("./theme.js");
40
40
  const types_js_1 = require("./types.js");
41
41
  const useBrainfileLoader_js_1 = require("./hooks/useBrainfileLoader.js");
42
42
  const useKeyboardNavigation_js_1 = require("./hooks/useKeyboardNavigation.js");
43
+ const utils_js_1 = require("./utils.js");
44
+ const actions_js_1 = require("./actions.js");
43
45
  const index_js_1 = require("./components/index.js");
44
46
  const initialState = {
45
47
  board: null,
46
48
  error: null,
47
49
  lastUpdated: new Date(),
50
+ activePanel: 'tasks',
48
51
  activeColumnIndex: 0,
49
52
  selectedTaskIndex: 0,
50
53
  mode: 'browse',
@@ -56,6 +59,17 @@ const initialState = {
56
59
  moveTargetIndex: 0,
57
60
  selectedSubtaskIndex: 0,
58
61
  newTaskTitle: '',
62
+ // Rules panel
63
+ activeRuleType: 'always',
64
+ selectedRuleIndex: 0,
65
+ ruleEditText: '',
66
+ ruleEditId: null,
67
+ // Archive panel
68
+ archive: [],
69
+ selectedArchiveIndex: 0,
70
+ archiveSearchQuery: '',
71
+ archiveRestoreColumnIndex: 0,
72
+ expandedArchiveIds: new Set(),
59
73
  };
60
74
  // Minimum terminal dimensions
61
75
  const MIN_WIDTH = 60;
@@ -95,24 +109,22 @@ function BrainfileTUI({ filePath }) {
95
109
  return orderA - orderB;
96
110
  });
97
111
  }, [state.board]);
98
- // Filtered columns based on search
99
- const searchQuery = state.searchQuery.trim().toLowerCase();
112
+ // Filtered columns based on search with structured filters
113
+ const searchQuery = state.searchQuery.trim();
114
+ const parsedSearch = (0, react_1.useMemo)(() => (0, utils_js_1.parseSearchQuery)(searchQuery), [searchQuery]);
115
+ const hasActiveFilter = searchQuery.length > 0;
100
116
  const filteredColumns = (0, react_1.useMemo)(() => {
101
117
  if (!orderedColumns.length)
102
118
  return [];
103
- if (!searchQuery)
119
+ if (!hasActiveFilter)
104
120
  return orderedColumns;
105
121
  return orderedColumns.map(col => ({
106
122
  ...col,
107
- tasks: col.tasks.filter(task => task.title.toLowerCase().includes(searchQuery) ||
108
- task.id.toLowerCase().includes(searchQuery) ||
109
- task.tags?.some(t => t.toLowerCase().includes(searchQuery)) ||
110
- task.priority?.toLowerCase().includes(searchQuery) ||
111
- task.description?.toLowerCase().includes(searchQuery)),
123
+ tasks: col.tasks.filter(task => (0, utils_js_1.taskMatchesFilter)(task, parsedSearch)),
112
124
  })).filter(col => col.tasks.length > 0);
113
- }, [orderedColumns, searchQuery]);
125
+ }, [orderedColumns, hasActiveFilter, parsedSearch]);
114
126
  // Check if search has no results
115
- const hasNoSearchResults = searchQuery.length > 0 && filteredColumns.length === 0;
127
+ const hasNoSearchResults = hasActiveFilter && filteredColumns.length === 0;
116
128
  // Current column and its tasks
117
129
  const currentColumn = filteredColumns[state.activeColumnIndex];
118
130
  const currentTasks = currentColumn?.tasks || [];
@@ -136,6 +148,20 @@ function BrainfileTUI({ filePath }) {
136
148
  const percentage = total > 0 ? Math.round((done / total) * 100) : 0;
137
149
  return { total, done, percentage };
138
150
  }, [state.board]);
151
+ // Calculate rules count
152
+ const rulesCount = (0, react_1.useMemo)(() => {
153
+ if (!state.board?.rules)
154
+ return 0;
155
+ const r = state.board.rules;
156
+ return (r.always?.length || 0) + (r.never?.length || 0) + (r.prefer?.length || 0) + (r.context?.length || 0);
157
+ }, [state.board?.rules]);
158
+ // Load archive when switching to archive panel
159
+ (0, react_1.useEffect)(() => {
160
+ if (state.activePanel === 'archive') {
161
+ const result = (0, actions_js_1.loadArchive)(filePath);
162
+ setState(prev => ({ ...prev, archive: result.archive }));
163
+ }
164
+ }, [state.activePanel, filePath, state.lastUpdated]);
139
165
  // Keyboard navigation
140
166
  (0, useKeyboardNavigation_js_1.useKeyboardNavigation)({
141
167
  state,
@@ -174,25 +200,31 @@ function BrainfileTUI({ filePath }) {
174
200
  return (react_1.default.createElement(ink_1.Box, { flexDirection: "column", width: termWidth, height: termHeight },
175
201
  react_1.default.createElement(index_js_1.Header, { title: state.board.title || 'Brainfile', stats: stats, reloadFlash: state.reloadFlash }),
176
202
  react_1.default.createElement(index_js_1.ProgressBar, { done: stats.done, total: stats.total, width: termWidth - 4 }),
177
- state.mode === 'search' && (react_1.default.createElement(index_js_1.SearchBar, { query: state.searchQuery, width: termWidth - 2 })),
178
- react_1.default.createElement(index_js_1.ColumnTabs, { columns: filteredColumns, activeIndex: state.activeColumnIndex, termWidth: termWidth }),
203
+ react_1.default.createElement(index_js_1.MainPanelTabs, { activePanel: state.activePanel, rulesCount: rulesCount, archiveCount: state.archive.length }),
179
204
  react_1.default.createElement(ink_1.Box, { paddingLeft: 1 },
180
205
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.border }, theme_js_1.BOX.horizontal.repeat(Math.max(1, termWidth - 2)))),
181
206
  react_1.default.createElement(ink_1.Box, { flexGrow: 1, flexDirection: "column" },
182
- state.mode === 'move' && currentTask && (react_1.default.createElement(index_js_1.MoveOverlay, { columns: orderedColumns, selectedIndex: state.moveTargetIndex, taskTitle: currentTask.title, termWidth: termWidth })),
183
- state.mode === 'delete-confirm' && currentTask && (react_1.default.createElement(index_js_1.DeleteConfirmOverlay, { taskId: currentTask.id, taskTitle: currentTask.title, termWidth: termWidth })),
184
- state.mode === 'subtask' && currentTask && (react_1.default.createElement(index_js_1.SubtaskOverlay, { task: currentTask, selectedIndex: state.selectedSubtaskIndex, termWidth: termWidth })),
185
- state.mode === 'new-task' && (react_1.default.createElement(index_js_1.NewTaskOverlay, { title: state.newTaskTitle, columnName: currentColumn?.title || 'Unknown', termWidth: termWidth })),
186
- hasNoSearchResults && (react_1.default.createElement(ink_1.Box, { flexDirection: "column", paddingX: 2, paddingY: 1 },
187
- react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary },
188
- "No results for \"",
189
- react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.text }, state.searchQuery),
190
- "\""),
191
- react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textMuted }, "Press ESC to clear search"))),
192
- !hasNoSearchResults && state.mode !== 'move' && state.mode !== 'delete-confirm' && state.mode !== 'subtask' && state.mode !== 'new-task' && (react_1.default.createElement(index_js_1.TaskList, { tasks: currentTasks, selectedIndex: state.selectedTaskIndex, expandedIds: state.expandedTaskIds, viewportHeight: viewportHeight - (state.mode === 'search' ? 1 : 0), termWidth: termWidth }))),
207
+ state.activePanel === 'tasks' && (react_1.default.createElement(react_1.default.Fragment, null,
208
+ state.mode === 'search' && (react_1.default.createElement(index_js_1.SearchBar, { query: state.searchQuery, width: termWidth - 2 })),
209
+ react_1.default.createElement(index_js_1.ColumnTabs, { columns: filteredColumns, activeIndex: state.activeColumnIndex, termWidth: termWidth }),
210
+ react_1.default.createElement(ink_1.Box, { paddingLeft: 1 },
211
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.border }, theme_js_1.BOX.horizontal.repeat(Math.max(1, termWidth - 2)))),
212
+ state.mode === 'move' && currentTask && (react_1.default.createElement(index_js_1.MoveOverlay, { columns: orderedColumns, selectedIndex: state.moveTargetIndex, taskTitle: currentTask.title, termWidth: termWidth })),
213
+ state.mode === 'delete-confirm' && currentTask && (react_1.default.createElement(index_js_1.DeleteConfirmOverlay, { taskId: currentTask.id, taskTitle: currentTask.title, termWidth: termWidth })),
214
+ state.mode === 'subtask' && currentTask && (react_1.default.createElement(index_js_1.SubtaskOverlay, { task: currentTask, selectedIndex: state.selectedSubtaskIndex, termWidth: termWidth })),
215
+ state.mode === 'new-task' && (react_1.default.createElement(index_js_1.NewTaskOverlay, { title: state.newTaskTitle, columnName: currentColumn?.title || 'Unknown', termWidth: termWidth })),
216
+ hasNoSearchResults && (react_1.default.createElement(ink_1.Box, { flexDirection: "column", paddingX: 2, paddingY: 1 },
217
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary },
218
+ "No results for \"",
219
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.text }, state.searchQuery),
220
+ "\""),
221
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textMuted }, "Press ESC to clear search"))),
222
+ !hasNoSearchResults && state.mode !== 'move' && state.mode !== 'delete-confirm' && state.mode !== 'subtask' && state.mode !== 'new-task' && (react_1.default.createElement(index_js_1.TaskList, { tasks: currentTasks, selectedIndex: state.selectedTaskIndex, expandedIds: state.expandedTaskIds, viewportHeight: viewportHeight - (state.mode === 'search' ? 3 : 2), termWidth: termWidth })))),
223
+ state.activePanel === 'rules' && (react_1.default.createElement(index_js_1.RulesPanel, { rules: state.board.rules, activeRuleType: state.activeRuleType, selectedRuleIndex: state.selectedRuleIndex, viewportHeight: viewportHeight, termWidth: termWidth, mode: state.mode, editText: state.ruleEditText })),
224
+ state.activePanel === 'archive' && (react_1.default.createElement(index_js_1.ArchivePanel, { archive: state.archive, selectedIndex: state.selectedArchiveIndex, searchQuery: state.archiveSearchQuery, viewportHeight: viewportHeight, termWidth: termWidth, expandedIds: state.expandedArchiveIds, mode: state.mode, columns: orderedColumns, restoreColumnIndex: state.archiveRestoreColumnIndex }))),
193
225
  react_1.default.createElement(ink_1.Box, { paddingLeft: 1 },
194
226
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.border }, theme_js_1.BOX.horizontal.repeat(Math.max(1, termWidth - 2)))),
195
227
  state.statusMessage && (react_1.default.createElement(index_js_1.StatusMessageDisplay, { message: state.statusMessage })),
196
- react_1.default.createElement(index_js_1.StatusBar, { mode: state.mode, columnName: currentColumn?.title || '', taskIndex: state.selectedTaskIndex + 1, taskCount: currentTasks.length, termWidth: termWidth })));
228
+ react_1.default.createElement(index_js_1.StatusBar, { mode: state.mode, columnName: state.activePanel === 'tasks' ? (currentColumn?.title || '') : state.activePanel, taskIndex: state.activePanel === 'tasks' ? state.selectedTaskIndex + 1 : (state.activePanel === 'archive' ? state.selectedArchiveIndex + 1 : state.selectedRuleIndex + 1), taskCount: state.activePanel === 'tasks' ? currentTasks.length : (state.activePanel === 'archive' ? state.archive.length : (state.board.rules?.[state.activeRuleType]?.length || 0)), termWidth: termWidth })));
197
229
  }
198
230
  //# sourceMappingURL=BrainfileTUI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrainfileTUI.js","sourceRoot":"","sources":["../../src/tui/BrainfileTUI.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,oCA6OC;AA5RD,+CAA4D;AAC5D,6BAA2C;AAG3C,yCAA0C;AAE1C,yCAAsD;AACtD,yEAAmE;AACnE,+EAAyE;AACzE,oDAa+B;AAI/B,MAAM,YAAY,GAAa;IAC7B,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,IAAI,IAAI,EAAE;IACvB,iBAAiB,EAAE,CAAC;IACpB,iBAAiB,EAAE,CAAC;IACpB,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,IAAI,GAAG,EAAE;IAC1B,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,CAAC;IAClB,oBAAoB,EAAE,CAAC;IACvB,YAAY,EAAE,EAAE;CACjB,CAAC;AAEF,8BAA8B;AAC9B,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,SAAgB,YAAY,CAAC,EAAE,QAAQ,EAAY;IACjD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,eAAS,GAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,EAAE,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAE7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAW,YAAY,CAAC,CAAC;IAE3D,8BAA8B;IAC9B,IAAI,SAAS,GAAG,SAAS,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;QACrD,OAAO,CACL,8BAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC;YACpC,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,KAAK,EAAE,IAAI,+BAA0B;YAC1D,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,aAAa;;gBACjB,SAAS;;gBAAG,UAAU,CAChC;YACP,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,aAAa;;gBACjB,SAAS;;gBAAG,UAAU,CAChC;YACP,8BAAC,SAAG,IAAC,SAAS,EAAE,CAAC;gBACf,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,SAAS,wCAA0C,CACpE,CACF,CACP,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,sBAAW,GAAG,sBAAW,EAAE,CAAC,CAAC,CAAC;IAE3E,uCAAuC;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,0CAAkB,EAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAExE,yDAAyD;IACzD,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAClC,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC;YAClD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC;YAClD,OAAO,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,mCAAmC;IACnC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACnC,IAAI,CAAC,cAAc,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW;YAAE,OAAO,cAAc,CAAC;QAExC,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChC,GAAG,GAAG;YACN,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC7B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC9C,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC3C,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC3D,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAClD,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACtD;SACF,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAElC,iCAAiC;IACjC,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC;IAElF,+BAA+B;IAC/B,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE1D,2BAA2B;IAC3B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,GAAG,IAAI;YACP,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5F,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC;SAClE,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAE3C,kBAAkB;IAClB,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAE9D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC;QACzG,MAAM,IAAI,GAAG,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,sBAAsB;IACtB,IAAA,gDAAqB,EAAC;QACpB,KAAK;QACL,QAAQ;QACR,YAAY;QACZ,YAAY;QACZ,qBAAqB,EAAE,eAAe,CAAC,MAAM;QAC7C,cAAc;QACd,aAAa;QACb,QAAQ;QACR,UAAU,EAAE,cAAc;KAC3B,CAAC,CAAC;IAEH,cAAc;IACd,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CACL,8BAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC;YACpC,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,KAAK,EAAE,IAAI,kBAAa;YAC7C,8BAAC,SAAG,IAAC,SAAS,EAAE,CAAC;gBACf,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,aAAa,IAAG,KAAK,CAAC,KAAK,CAAQ,CACpD;YACN,8BAAC,SAAG,IAAC,SAAS,EAAE,CAAC;gBACf,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,SAAS;;oBAAQ,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,MAAM,QAAU;;oBAAU,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,MAAM,QAAU;gCAAgB,CACtI,CACF,CACP,CAAC;IACJ,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CACL,8BAAC,SAAG,IAAC,OAAO,EAAE,CAAC;YACb,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,SAAS,iBAAmB,CAC7C,CACP,CAAC;IACJ,CAAC;IAED,eAAe;IACf,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,8BAAC,sBAAW,IAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAI,CAAC;IACvE,CAAC;IAED,OAAO,CACL,8BAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU;QAE9D,8BAAC,iBAAM,IACL,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,WAAW,EACvC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,KAAK,CAAC,WAAW,GAC9B;QAGF,8BAAC,sBAAW,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,GAAG,CAAC,GAAI;QAG1E,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAC1B,8BAAC,oBAAS,IAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,CAAC,GAAI,CAC9D;QAGD,8BAAC,qBAAU,IACT,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,KAAK,CAAC,iBAAiB,EACpC,SAAS,EAAE,SAAS,GACpB;QAGF,8BAAC,SAAG,IAAC,WAAW,EAAE,CAAC;YACjB,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,MAAM,IAAG,cAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAQ,CACnF;QAGN,8BAAC,SAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ;YAErC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,WAAW,IAAI,CACvC,8BAAC,sBAAW,IACV,OAAO,EAAE,cAAc,EACvB,aAAa,EAAE,KAAK,CAAC,eAAe,EACpC,SAAS,EAAE,WAAW,CAAC,KAAK,EAC5B,SAAS,EAAE,SAAS,GACpB,CACH;YAEA,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,WAAW,IAAI,CACjD,8BAAC,+BAAoB,IACnB,MAAM,EAAE,WAAW,CAAC,EAAE,EACtB,SAAS,EAAE,WAAW,CAAC,KAAK,EAC5B,SAAS,EAAE,SAAS,GACpB,CACH;YAEA,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,IAAI,CAC1C,8BAAC,yBAAc,IACb,IAAI,EAAE,WAAW,EACjB,aAAa,EAAE,KAAK,CAAC,oBAAoB,EACzC,SAAS,EAAE,SAAS,GACpB,CACH;YAEA,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAC5B,8BAAC,yBAAc,IACb,KAAK,EAAE,KAAK,CAAC,YAAY,EACzB,UAAU,EAAE,aAAa,EAAE,KAAK,IAAI,SAAS,EAC7C,SAAS,EAAE,SAAS,GACpB,CACH;YAGA,kBAAkB,IAAI,CACrB,8BAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAClD,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,aAAa;;oBAChB,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,IAAI,IAAG,KAAK,CAAC,WAAW,CAAQ;yBAChE;gBACP,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,SAAS,gCAAkC,CAC5D,CACP;YAGA,CAAC,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAC3I,8BAAC,mBAAQ,IACP,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,KAAK,CAAC,iBAAiB,EACtC,WAAW,EAAE,KAAK,CAAC,eAAe,EAClC,cAAc,EAAE,cAAc,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAClE,SAAS,EAAE,SAAS,GACpB,CACH,CACG;QAGN,8BAAC,SAAG,IAAC,WAAW,EAAE,CAAC;YACjB,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,MAAM,IAAG,cAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAQ,CACnF;QAGL,KAAK,CAAC,aAAa,IAAI,CACtB,8BAAC,+BAAoB,IAAC,OAAO,EAAE,KAAK,CAAC,aAAa,GAAI,CACvD;QAGD,8BAAC,oBAAS,IACR,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,UAAU,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE,EACtC,SAAS,EAAE,KAAK,CAAC,iBAAiB,GAAG,CAAC,EACtC,SAAS,EAAE,YAAY,CAAC,MAAM,EAC9B,SAAS,EAAE,SAAS,GACpB,CACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"BrainfileTUI.js","sourceRoot":"","sources":["../../src/tui/BrainfileTUI.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type TaskPatch, type TaskInput } from '@brainfile/core';
1
+ import { type Task, type TaskPatch, type TaskInput } from '@brainfile/core';
2
2
  export interface ActionResult {
3
3
  success: boolean;
4
4
  error?: string;
@@ -13,7 +13,8 @@ export declare function moveTaskAction(filePath: string, taskId: string, targetC
13
13
  */
14
14
  export declare function deleteTaskAction(filePath: string, taskId: string): ActionResult;
15
15
  /**
16
- * Archive a task
16
+ * Archive a task to a separate brainfile-archive.md file
17
+ * Per protocol spec, archived tasks go to a separate file, not inline archive array
17
18
  */
18
19
  export declare function archiveTaskAction(filePath: string, taskId: string): ActionResult;
19
20
  /**
@@ -46,4 +47,33 @@ export declare function editTaskInEditor(filePath: string, taskId: string): Acti
46
47
  * Uses spawnSync with input option to pipe text to clipboard command
47
48
  */
48
49
  export declare function copyToClipboard(text: string): ActionResult;
50
+ type RuleType = 'always' | 'never' | 'prefer' | 'context';
51
+ /**
52
+ * Add a new rule to a rule category
53
+ */
54
+ export declare function addRuleAction(filePath: string, ruleType: RuleType, ruleText: string): ActionResult;
55
+ /**
56
+ * Update an existing rule
57
+ */
58
+ export declare function updateRuleAction(filePath: string, ruleType: RuleType, ruleId: number, ruleText: string): ActionResult;
59
+ /**
60
+ * Delete a rule
61
+ */
62
+ export declare function deleteRuleAction(filePath: string, ruleType: RuleType, ruleId: number): ActionResult;
63
+ /**
64
+ * Load archive from the archive file
65
+ */
66
+ export declare function loadArchive(filePath: string): {
67
+ archive: Task[];
68
+ error?: string;
69
+ };
70
+ /**
71
+ * Restore a task from the archive to a column
72
+ */
73
+ export declare function restoreTaskAction(filePath: string, taskId: string, toColumnId: string): ActionResult;
74
+ /**
75
+ * Permanently delete a task from the archive
76
+ */
77
+ export declare function deleteArchivedTaskAction(filePath: string, taskId: string): ActionResult;
78
+ export {};
49
79
  //# sourceMappingURL=actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/tui/actions.ts"],"names":[],"mappings":"AAUA,OAAO,EAaL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA+BD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,YAAY,CAqBd;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAc/E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAchF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,GACf,YAAY,CAWd;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAoBlF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,YAAY,CAWd;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,GACnB,YAAY,CAkBd;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,YAAY,CAqEd;AAqED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,YAAY,CA2Ed;AAiID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAiC1D"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/tui/actions.ts"],"names":[],"mappings":"AAUA,OAAO,EAWL,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA+BD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,YAAY,CAqBd;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAc/E;AAwBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CA2DhF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,GACf,YAAY,CAWd;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAoBlF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,YAAY,CAWd;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,GACnB,YAAY,CAkBd;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,YAAY,CA0Ed;AAqED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,YAAY,CAgFd;AAiID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAiC1D;AAMD,KAAK,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAO1D;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,GACf,YAAY,CAkCd;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,YAAY,CAmBd;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,GACb,YAAY,CAmBd;AAMD;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBjF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,YAAY,CA4Dd;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,YAAY,CAyCd"}