@brainfile/cli 0.13.2 → 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 (157) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +123 -358
  3. package/dist/cli.js +113 -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 +979 -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/rules.d.ts +68 -0
  52. package/dist/commands/rules.d.ts.map +1 -0
  53. package/dist/commands/rules.js +322 -0
  54. package/dist/commands/rules.js.map +1 -0
  55. package/dist/commands/schema.d.ts +31 -0
  56. package/dist/commands/schema.d.ts.map +1 -0
  57. package/dist/commands/schema.js +369 -0
  58. package/dist/commands/schema.js.map +1 -0
  59. package/dist/commands/search.d.ts +33 -0
  60. package/dist/commands/search.d.ts.map +1 -0
  61. package/dist/commands/search.js +209 -0
  62. package/dist/commands/search.js.map +1 -0
  63. package/dist/commands/show.d.ts.map +1 -1
  64. package/dist/commands/show.js +74 -1
  65. package/dist/commands/show.js.map +1 -1
  66. package/dist/commands/subtask.d.ts.map +1 -1
  67. package/dist/commands/subtask.js +72 -5
  68. package/dist/commands/subtask.js.map +1 -1
  69. package/dist/commands/types.d.ts +40 -0
  70. package/dist/commands/types.d.ts.map +1 -0
  71. package/dist/commands/types.js +242 -0
  72. package/dist/commands/types.js.map +1 -0
  73. package/dist/index.d.ts +1 -0
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +3 -1
  76. package/dist/index.js.map +1 -1
  77. package/dist/lib/contractRunner.d.ts.map +1 -1
  78. package/dist/lib/contractRunner.js +177 -12
  79. package/dist/lib/contractRunner.js.map +1 -1
  80. package/dist/schemas/base.json +159 -0
  81. package/dist/schemas/board.json +198 -0
  82. package/dist/tui/BrainfileTUI.d.ts.map +1 -1
  83. package/dist/tui/BrainfileTUI.js +23 -20
  84. package/dist/tui/BrainfileTUI.js.map +1 -1
  85. package/dist/tui/actions.d.ts +5 -5
  86. package/dist/tui/actions.d.ts.map +1 -1
  87. package/dist/tui/actions.js +335 -47
  88. package/dist/tui/actions.js.map +1 -1
  89. package/dist/tui/components/ArchivePanel.js +1 -1
  90. package/dist/tui/components/ArchivePanel.js.map +1 -1
  91. package/dist/tui/components/ColumnTabs.d.ts.map +1 -1
  92. package/dist/tui/components/ColumnTabs.js +6 -2
  93. package/dist/tui/components/ColumnTabs.js.map +1 -1
  94. package/dist/tui/components/HelpOverlay.js +3 -3
  95. package/dist/tui/components/HelpOverlay.js.map +1 -1
  96. package/dist/tui/components/LogsPanel.d.ts +16 -0
  97. package/dist/tui/components/LogsPanel.d.ts.map +1 -0
  98. package/dist/tui/components/LogsPanel.js +115 -0
  99. package/dist/tui/components/LogsPanel.js.map +1 -0
  100. package/dist/tui/components/MainPanelTabs.d.ts +2 -2
  101. package/dist/tui/components/MainPanelTabs.d.ts.map +1 -1
  102. package/dist/tui/components/MainPanelTabs.js +3 -3
  103. package/dist/tui/components/MainPanelTabs.js.map +1 -1
  104. package/dist/tui/components/StackedTaskList.d.ts +2 -1
  105. package/dist/tui/components/StackedTaskList.d.ts.map +1 -1
  106. package/dist/tui/components/StackedTaskList.js +9 -9
  107. package/dist/tui/components/StackedTaskList.js.map +1 -1
  108. package/dist/tui/components/TaskCard.d.ts +2 -1
  109. package/dist/tui/components/TaskCard.d.ts.map +1 -1
  110. package/dist/tui/components/TaskCard.js +41 -5
  111. package/dist/tui/components/TaskCard.js.map +1 -1
  112. package/dist/tui/components/TaskCardMeasure.d.ts +2 -16
  113. package/dist/tui/components/TaskCardMeasure.d.ts.map +1 -1
  114. package/dist/tui/components/TaskCardMeasure.js +30 -25
  115. package/dist/tui/components/TaskCardMeasure.js.map +1 -1
  116. package/dist/tui/components/TaskDetail.d.ts +2 -3
  117. package/dist/tui/components/TaskDetail.d.ts.map +1 -1
  118. package/dist/tui/components/TaskDetail.js +35 -12
  119. package/dist/tui/components/TaskDetail.js.map +1 -1
  120. package/dist/tui/components/TaskList.d.ts +2 -1
  121. package/dist/tui/components/TaskList.d.ts.map +1 -1
  122. package/dist/tui/components/TaskList.js +5 -5
  123. package/dist/tui/components/TaskList.js.map +1 -1
  124. package/dist/tui/components/index.d.ts +2 -2
  125. package/dist/tui/components/index.d.ts.map +1 -1
  126. package/dist/tui/components/index.js +3 -3
  127. package/dist/tui/components/index.js.map +1 -1
  128. package/dist/tui/hooks/useBrainfileLoader.d.ts.map +1 -1
  129. package/dist/tui/hooks/useBrainfileLoader.js +97 -31
  130. package/dist/tui/hooks/useBrainfileLoader.js.map +1 -1
  131. package/dist/tui/hooks/useKeyboardNavigation.d.ts.map +1 -1
  132. package/dist/tui/hooks/useKeyboardNavigation.js +47 -47
  133. package/dist/tui/hooks/useKeyboardNavigation.js.map +1 -1
  134. package/dist/tui/types.d.ts +7 -7
  135. package/dist/tui/types.d.ts.map +1 -1
  136. package/dist/utils/board-types.d.ts +13 -0
  137. package/dist/utils/board-types.d.ts.map +1 -0
  138. package/dist/utils/board-types.js +7 -0
  139. package/dist/utils/board-types.js.map +1 -0
  140. package/dist/utils/dot-brainfile.d.ts +9 -0
  141. package/dist/utils/dot-brainfile.d.ts.map +1 -0
  142. package/dist/utils/dot-brainfile.js +74 -0
  143. package/dist/utils/dot-brainfile.js.map +1 -0
  144. package/dist/utils/strict-validation.d.ts +8 -0
  145. package/dist/utils/strict-validation.d.ts.map +1 -0
  146. package/dist/utils/strict-validation.js +41 -0
  147. package/dist/utils/strict-validation.js.map +1 -0
  148. package/dist/utils/v2-detect.d.ts +28 -0
  149. package/dist/utils/v2-detect.d.ts.map +1 -0
  150. package/dist/utils/v2-detect.js +109 -0
  151. package/dist/utils/v2-detect.js.map +1 -0
  152. package/dist/utils/v2-tasks.d.ts +121 -0
  153. package/dist/utils/v2-tasks.d.ts.map +1 -0
  154. package/dist/utils/v2-tasks.js +384 -0
  155. package/dist/utils/v2-tasks.js.map +1 -0
  156. package/package.json +5 -4
  157. package/state.json +3 -0
@@ -0,0 +1,369 @@
1
+ "use strict";
2
+ /**
3
+ * Schema command for Brainfile CLI
4
+ *
5
+ * View and manage brainfile schemas locally, eliminating network access for basic usage.
6
+ *
7
+ * Usage:
8
+ * brainfile schema # List available schemas
9
+ * brainfile schema <name> # Display specific schema
10
+ * brainfile schema update # Check for and download schema updates
11
+ * brainfile schema --json # Output in JSON format
12
+ *
13
+ * @packageDocumentation
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ var __importDefault = (this && this.__importDefault) || function (mod) {
49
+ return (mod && mod.__esModule) ? mod : { "default": mod };
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.SCHEMA_COMMAND_HELP = void 0;
53
+ exports.schemaCommand = schemaCommand;
54
+ exports.schemaUpdateCommand = schemaUpdateCommand;
55
+ const fs = __importStar(require("fs"));
56
+ const path = __importStar(require("path"));
57
+ const chalk_1 = __importDefault(require("chalk"));
58
+ const logger_1 = require("../utils/logger");
59
+ const cli_error_1 = require("../utils/cli-error");
60
+ const errorHandler_1 = require("../utils/errorHandler");
61
+ const config_1 = require("../utils/config");
62
+ // ============================================================================
63
+ // Constants
64
+ // ============================================================================
65
+ const SCHEMA_BASE_URL = 'https://brainfile.md/v1';
66
+ const CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000; // 24 hours
67
+ // Get bundled schemas directory (relative to this file after compilation)
68
+ function getBundledSchemasDir() {
69
+ // In development: cli/src/schemas
70
+ // In production: cli/dist/schemas
71
+ const distPath = path.join(__dirname, '..', 'schemas');
72
+ const srcPath = path.join(__dirname, '..', '..', 'src', 'schemas');
73
+ if (fs.existsSync(distPath)) {
74
+ return distPath;
75
+ }
76
+ if (fs.existsSync(srcPath)) {
77
+ return srcPath;
78
+ }
79
+ // Fallback for development
80
+ return path.join(__dirname, 'schemas');
81
+ }
82
+ // Schema metadata
83
+ const BUNDLED_SCHEMAS = [
84
+ {
85
+ id: 'board',
86
+ description: 'Board structure (columns, tasks, contracts)',
87
+ file: 'board.json',
88
+ },
89
+ {
90
+ id: 'base',
91
+ description: 'Base types (rules, agent instructions)',
92
+ file: 'base.json',
93
+ },
94
+ ];
95
+ // ============================================================================
96
+ // Help Text
97
+ // ============================================================================
98
+ exports.SCHEMA_COMMAND_HELP = `
99
+ Examples:
100
+ brainfile schema # List available schemas
101
+ brainfile schema board # View the board schema
102
+ brainfile schema base # View the base schema
103
+ brainfile schema update # Check for schema updates
104
+ brainfile schema board --json # Output board schema as JSON
105
+
106
+ Bundled schemas:
107
+ board - Board structure (columns, tasks, contracts)
108
+ base - Base types (rules, agent instructions)
109
+
110
+ Notes:
111
+ - Schemas are bundled with the CLI (no network required for basic usage)
112
+ - Use 'schema update' to check for newer versions from brainfile.md
113
+ - Auto-checks once per 24 hours (non-blocking notification)
114
+ `.trimEnd();
115
+ // ============================================================================
116
+ // Main Command
117
+ // ============================================================================
118
+ function schemaCommand(options, logger = logger_1.defaultLogger) {
119
+ const { name, json } = options;
120
+ // Handle update subcommand
121
+ if (name === 'update') {
122
+ return schemaUpdateCommand({ json }, logger);
123
+ }
124
+ // Handle show specific schema
125
+ if (name) {
126
+ return schemaShowCommand(name, { json }, logger);
127
+ }
128
+ // List all schemas
129
+ return schemaListCommand({ json }, logger);
130
+ }
131
+ // ============================================================================
132
+ // List Schemas
133
+ // ============================================================================
134
+ function schemaListCommand(options, logger) {
135
+ if (options.json) {
136
+ const output = {
137
+ schemas: BUNDLED_SCHEMAS.map((s) => ({
138
+ id: s.id,
139
+ description: s.description,
140
+ })),
141
+ };
142
+ logger.log(JSON.stringify(output, null, 2));
143
+ }
144
+ else {
145
+ logger.log('');
146
+ logger.log(chalk_1.default.bold('Available schemas:'));
147
+ logger.log('');
148
+ const maxIdLen = Math.max(...BUNDLED_SCHEMAS.map((s) => s.id.length));
149
+ for (const schema of BUNDLED_SCHEMAS) {
150
+ logger.log(` ${chalk_1.default.cyan(schema.id.padEnd(maxIdLen))} ${chalk_1.default.gray('-')} ${schema.description}`);
151
+ }
152
+ logger.log('');
153
+ logger.log(chalk_1.default.gray('Run: brainfile schema <name> to view schema'));
154
+ logger.log(chalk_1.default.gray('Run: brainfile schema update to check for updates'));
155
+ }
156
+ // Check for auto-update (non-blocking)
157
+ checkAutoUpdate(logger);
158
+ return {
159
+ success: true,
160
+ action: 'list',
161
+ schemas: BUNDLED_SCHEMAS.map((s) => s.id),
162
+ };
163
+ }
164
+ // ============================================================================
165
+ // Show Schema
166
+ // ============================================================================
167
+ function schemaShowCommand(name, options, logger) {
168
+ const schemaInfo = BUNDLED_SCHEMAS.find((s) => s.id === name);
169
+ if (!schemaInfo) {
170
+ const availableIds = BUNDLED_SCHEMAS.map((s) => s.id).join(', ');
171
+ throw new cli_error_1.CLIError(`Unknown schema: ${name}`, errorHandler_1.ExitCode.USER_ERROR, `Available schemas: ${availableIds}`);
172
+ }
173
+ const schemasDir = getBundledSchemasDir();
174
+ const schemaPath = path.join(schemasDir, schemaInfo.file);
175
+ if (!fs.existsSync(schemaPath)) {
176
+ throw new cli_error_1.CLIError(`Schema file not found: ${schemaInfo.file}`, errorHandler_1.ExitCode.USER_ERROR, `Expected at: ${schemaPath}`);
177
+ }
178
+ const content = fs.readFileSync(schemaPath, 'utf-8');
179
+ const schema = JSON.parse(content);
180
+ if (options.json) {
181
+ logger.log(JSON.stringify(schema, null, 2));
182
+ }
183
+ else {
184
+ logger.log('');
185
+ logger.log(chalk_1.default.bold(`Schema: ${name}`));
186
+ logger.log(chalk_1.default.gray(`Description: ${schemaInfo.description}`));
187
+ logger.log(chalk_1.default.gray(`Source: ${SCHEMA_BASE_URL}/${schemaInfo.file}`));
188
+ logger.log('');
189
+ logger.log(JSON.stringify(schema, null, 2));
190
+ }
191
+ return {
192
+ success: true,
193
+ action: 'show',
194
+ schema,
195
+ };
196
+ }
197
+ // ============================================================================
198
+ // Update Schemas
199
+ // ============================================================================
200
+ async function fetchWithTimeout(url, timeoutMs) {
201
+ const controller = new AbortController();
202
+ const timeout = setTimeout(() => controller.abort(), timeoutMs);
203
+ try {
204
+ const response = await fetch(url, { signal: controller.signal });
205
+ return response;
206
+ }
207
+ finally {
208
+ clearTimeout(timeout);
209
+ }
210
+ }
211
+ function schemaUpdateCommand(options, logger = logger_1.defaultLogger) {
212
+ // Run the async update and handle synchronously for CLI
213
+ schemaUpdateAsync(options, logger);
214
+ return {
215
+ success: true,
216
+ action: 'update',
217
+ updated: false, // Will be updated by async function
218
+ };
219
+ }
220
+ async function schemaUpdateAsync(options, logger) {
221
+ if (!options.json) {
222
+ logger.log('');
223
+ logger.log(chalk_1.default.bold('Checking for schema updates...'));
224
+ logger.log('');
225
+ }
226
+ const schemasDir = getBundledSchemasDir();
227
+ const results = [];
228
+ for (const schemaInfo of BUNDLED_SCHEMAS) {
229
+ const url = `${SCHEMA_BASE_URL}/${schemaInfo.file}`;
230
+ const localPath = path.join(schemasDir, schemaInfo.file);
231
+ try {
232
+ const response = await fetchWithTimeout(url, 10000);
233
+ if (!response.ok) {
234
+ results.push({
235
+ id: schemaInfo.id,
236
+ status: 'error',
237
+ error: `HTTP ${response.status}`,
238
+ });
239
+ continue;
240
+ }
241
+ const remoteContent = await response.text();
242
+ const remoteSchema = JSON.parse(remoteContent);
243
+ // Compare with local
244
+ let localSchema = null;
245
+ if (fs.existsSync(localPath)) {
246
+ const localContent = fs.readFileSync(localPath, 'utf-8');
247
+ localSchema = JSON.parse(localContent);
248
+ }
249
+ // Simple comparison using JSON stringification
250
+ const remoteStr = JSON.stringify(remoteSchema);
251
+ const localStr = localSchema ? JSON.stringify(localSchema) : '';
252
+ if (remoteStr !== localStr) {
253
+ // Update local schema
254
+ fs.writeFileSync(localPath, JSON.stringify(remoteSchema, null, 2));
255
+ results.push({ id: schemaInfo.id, status: 'updated' });
256
+ }
257
+ else {
258
+ results.push({ id: schemaInfo.id, status: 'current' });
259
+ }
260
+ }
261
+ catch (error) {
262
+ const errorMsg = error instanceof Error ? error.message : String(error);
263
+ results.push({ id: schemaInfo.id, status: 'error', error: errorMsg });
264
+ }
265
+ }
266
+ // Update last check time
267
+ updateLastCheckTime();
268
+ // Output results
269
+ if (options.json) {
270
+ logger.log(JSON.stringify({ schemas: results }, null, 2));
271
+ }
272
+ else {
273
+ for (const result of results) {
274
+ if (result.status === 'updated') {
275
+ logger.log(` ${chalk_1.default.green('+')} ${chalk_1.default.cyan(result.id)} - Updated`);
276
+ }
277
+ else if (result.status === 'current') {
278
+ logger.log(` ${chalk_1.default.gray('=')} ${chalk_1.default.cyan(result.id)} - Up to date`);
279
+ }
280
+ else {
281
+ logger.log(` ${chalk_1.default.red('!')} ${chalk_1.default.cyan(result.id)} - Error: ${result.error}`);
282
+ }
283
+ }
284
+ const updatedCount = results.filter((r) => r.status === 'updated').length;
285
+ logger.log('');
286
+ if (updatedCount > 0) {
287
+ logger.log(chalk_1.default.green(`Updated ${updatedCount} schema(s)`));
288
+ }
289
+ else {
290
+ logger.log(chalk_1.default.gray('All schemas are up to date'));
291
+ }
292
+ }
293
+ }
294
+ // ============================================================================
295
+ // Auto-Update Check
296
+ // ============================================================================
297
+ function getSchemaConfig() {
298
+ const config = (0, config_1.loadConfig)();
299
+ return config.schema || {};
300
+ }
301
+ function saveSchemaConfig(schemaConfig) {
302
+ const config = (0, config_1.loadConfig)();
303
+ config.schema = schemaConfig;
304
+ (0, config_1.saveConfig)(config);
305
+ }
306
+ function updateLastCheckTime() {
307
+ const schemaConfig = getSchemaConfig();
308
+ schemaConfig.lastCheck = new Date().toISOString();
309
+ saveSchemaConfig(schemaConfig);
310
+ }
311
+ function shouldAutoCheck() {
312
+ const schemaConfig = getSchemaConfig();
313
+ if (!schemaConfig.lastCheck) {
314
+ return true;
315
+ }
316
+ const lastCheck = new Date(schemaConfig.lastCheck).getTime();
317
+ const now = Date.now();
318
+ return now - lastCheck > CHECK_INTERVAL_MS;
319
+ }
320
+ function checkAutoUpdate(logger) {
321
+ if (!shouldAutoCheck()) {
322
+ return;
323
+ }
324
+ // Run async check in background (non-blocking)
325
+ checkForUpdatesAsync(logger).catch(() => {
326
+ // Silently ignore errors during auto-check
327
+ });
328
+ }
329
+ async function checkForUpdatesAsync(logger) {
330
+ const schemasDir = getBundledSchemasDir();
331
+ let hasUpdates = false;
332
+ for (const schemaInfo of BUNDLED_SCHEMAS) {
333
+ const url = `${SCHEMA_BASE_URL}/${schemaInfo.file}`;
334
+ const localPath = path.join(schemasDir, schemaInfo.file);
335
+ try {
336
+ const response = await fetchWithTimeout(url, 5000);
337
+ if (!response.ok) {
338
+ continue;
339
+ }
340
+ const remoteContent = await response.text();
341
+ const remoteSchema = JSON.parse(remoteContent);
342
+ // Compare with local
343
+ if (fs.existsSync(localPath)) {
344
+ const localContent = fs.readFileSync(localPath, 'utf-8');
345
+ const localSchema = JSON.parse(localContent);
346
+ const remoteStr = JSON.stringify(remoteSchema);
347
+ const localStr = JSON.stringify(localSchema);
348
+ if (remoteStr !== localStr) {
349
+ hasUpdates = true;
350
+ break;
351
+ }
352
+ }
353
+ }
354
+ catch {
355
+ // Silently ignore errors during auto-check
356
+ }
357
+ }
358
+ // Update last check time
359
+ updateLastCheckTime();
360
+ // Notify user if updates available
361
+ if (hasUpdates) {
362
+ logger.log('');
363
+ logger.log(chalk_1.default.yellow('Hint: ') +
364
+ 'Schema updates available. Run ' +
365
+ chalk_1.default.cyan('brainfile schema update') +
366
+ ' to update.');
367
+ }
368
+ }
369
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/commands/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Search command - search across active tasks and completed logs.
3
+ *
4
+ * Usage:
5
+ * - brainfile search "auth bug" Search title, description, tags, and log body
6
+ * - brainfile search "auth" -c todo Filter to specific column
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ import { type Logger } from '../utils/logger';
11
+ export interface SearchOptions {
12
+ file: string;
13
+ query?: string;
14
+ column?: string;
15
+ }
16
+ export interface SearchResult {
17
+ success: true;
18
+ results: Array<{
19
+ id: string;
20
+ title: string;
21
+ column?: string;
22
+ score: number;
23
+ isLog: boolean;
24
+ completedAt?: string;
25
+ }>;
26
+ count: number;
27
+ }
28
+ /**
29
+ * Search across active tasks and completed logs.
30
+ * Throws CLIError on failure.
31
+ */
32
+ export declare function searchCommand(options: SearchOptions, logger?: Logger): SearchResult;
33
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAW7D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,OAAO,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,GAAE,MAAsB,GAAG,YAAY,CAelG"}
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ /**
3
+ * Search command - search across active tasks and completed logs.
4
+ *
5
+ * Usage:
6
+ * - brainfile search "auth bug" Search title, description, tags, and log body
7
+ * - brainfile search "auth" -c todo Filter to specific column
8
+ *
9
+ * @packageDocumentation
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.searchCommand = searchCommand;
49
+ const fs = __importStar(require("fs"));
50
+ const chalk_1 = __importDefault(require("chalk"));
51
+ const core_1 = require("@brainfile/core");
52
+ const logger_1 = require("../utils/logger");
53
+ const cli_error_1 = require("../utils/cli-error");
54
+ const brainfile_path_1 = require("../utils/brainfile-path");
55
+ const core_2 = require("@brainfile/core");
56
+ const v2_detect_1 = require("../utils/v2-detect");
57
+ /**
58
+ * Search across active tasks and completed logs.
59
+ * Throws CLIError on failure.
60
+ */
61
+ function searchCommand(options, logger = logger_1.defaultLogger) {
62
+ if (!options.query) {
63
+ throw (0, cli_error_1.missingRequired)('query', 'brainfile search "search terms" [--column <name>]');
64
+ }
65
+ const filePath = (0, brainfile_path_1.resolveCliBrainfilePath)(options.file);
66
+ if (!fs.existsSync(filePath)) {
67
+ throw (0, cli_error_1.fileNotFound)(filePath);
68
+ }
69
+ if ((0, v2_detect_1.isV2)(filePath)) {
70
+ return searchV2(filePath, options.query, options.column, logger);
71
+ }
72
+ return searchV1(filePath, options.query, options.column, logger);
73
+ }
74
+ function searchV2(filePath, query, column, logger) {
75
+ const dirs = (0, v2_detect_1.getV2Dirs)(filePath);
76
+ const queryLower = query.toLowerCase();
77
+ const results = [];
78
+ // Search active tasks
79
+ const taskDocs = (0, core_2.readTasksDir)(dirs.boardDir);
80
+ for (const doc of taskDocs) {
81
+ const task = doc.task;
82
+ // Column filter
83
+ if (column && task.column !== column)
84
+ continue;
85
+ const score = scoreMatch(task, doc, queryLower);
86
+ if (score > 0) {
87
+ results.push({
88
+ id: task.id,
89
+ title: task.title,
90
+ column: task.column,
91
+ score,
92
+ isLog: false,
93
+ });
94
+ }
95
+ }
96
+ // Search logs (completed tasks)
97
+ if (!column) {
98
+ const logDocs = (0, core_2.readTasksDir)(dirs.logsDir);
99
+ for (const doc of logDocs) {
100
+ const task = doc.task;
101
+ const score = scoreMatch(task, doc, queryLower);
102
+ if (score > 0) {
103
+ results.push({
104
+ id: task.id,
105
+ title: task.title,
106
+ score,
107
+ isLog: true,
108
+ completedAt: task.completedAt,
109
+ });
110
+ }
111
+ }
112
+ }
113
+ // Sort by score descending
114
+ results.sort((a, b) => b.score - a.score);
115
+ displayResults(results, query, logger);
116
+ return { success: true, results, count: results.length };
117
+ }
118
+ function searchV1(filePath, query, column, logger) {
119
+ const content = fs.readFileSync(filePath, 'utf-8');
120
+ const parsed = core_1.Brainfile.parseWithErrors(content);
121
+ if (!parsed.board) {
122
+ throw (0, cli_error_1.operationFailed)(parsed.error || 'Failed to parse brainfile');
123
+ }
124
+ const board = parsed.board;
125
+ const queryLower = query.toLowerCase();
126
+ const results = [];
127
+ for (const col of board.columns) {
128
+ if (column && col.id !== column && col.title.toLowerCase() !== column.toLowerCase())
129
+ continue;
130
+ for (const task of col.tasks) {
131
+ const score = scoreMatchV1(task, queryLower);
132
+ if (score > 0) {
133
+ results.push({
134
+ id: task.id,
135
+ title: task.title,
136
+ column: col.title,
137
+ score,
138
+ isLog: false,
139
+ });
140
+ }
141
+ }
142
+ }
143
+ results.sort((a, b) => b.score - a.score);
144
+ displayResults(results, query, logger);
145
+ return { success: true, results, count: results.length };
146
+ }
147
+ function scoreMatch(task, doc, queryLower) {
148
+ let score = 0;
149
+ // ID exact match
150
+ if (task.id.toLowerCase() === queryLower)
151
+ score += 20;
152
+ // Title match
153
+ if (task.title.toLowerCase().includes(queryLower)) {
154
+ score += 10;
155
+ if (task.title.toLowerCase().startsWith(queryLower))
156
+ score += 5;
157
+ }
158
+ // Description match (frontmatter)
159
+ if (task.description?.toLowerCase().includes(queryLower))
160
+ score += 5;
161
+ // Markdown description match
162
+ const description = (0, v2_detect_1.extractDescription)(doc.body);
163
+ if (description?.toLowerCase().includes(queryLower))
164
+ score += 5;
165
+ // Tag match
166
+ if (task.tags?.some(t => t.toLowerCase().includes(queryLower)))
167
+ score += 3;
168
+ // Log body match
169
+ const logContent = (0, v2_detect_1.extractLog)(doc.body);
170
+ if (logContent?.toLowerCase().includes(queryLower))
171
+ score += 2;
172
+ return score;
173
+ }
174
+ function scoreMatchV1(task, queryLower) {
175
+ let score = 0;
176
+ if (task.id.toLowerCase() === queryLower)
177
+ score += 20;
178
+ if (task.title.toLowerCase().includes(queryLower)) {
179
+ score += 10;
180
+ if (task.title.toLowerCase().startsWith(queryLower))
181
+ score += 5;
182
+ }
183
+ if (task.description?.toLowerCase().includes(queryLower))
184
+ score += 5;
185
+ if (task.tags?.some(t => t.toLowerCase().includes(queryLower)))
186
+ score += 3;
187
+ return score;
188
+ }
189
+ function displayResults(results, query, logger) {
190
+ logger.log('');
191
+ logger.log(chalk_1.default.bold(`Search: "${query}" (${results.length} results)`));
192
+ logger.log(chalk_1.default.gray('─'.repeat(50)));
193
+ if (results.length === 0) {
194
+ logger.log(chalk_1.default.gray(' No matching tasks found.'));
195
+ }
196
+ else {
197
+ for (const result of results) {
198
+ const location = result.isLog
199
+ ? chalk_1.default.yellow('(completed)')
200
+ : chalk_1.default.cyan(result.column || '');
201
+ logger.log(` ${chalk_1.default.gray(`[${result.id}]`)} ${chalk_1.default.white(result.title)} ${location}`);
202
+ if (result.completedAt) {
203
+ logger.log(` ${chalk_1.default.gray('Completed:')} ${result.completedAt}`);
204
+ }
205
+ }
206
+ }
207
+ logger.log('');
208
+ }
209
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAW7D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,GAAE,MAAsB,GAAG,UAAU,CAyE5F"}
1
+ {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyC,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEnF,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAY7D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,GAAE,MAAsB,GAAG,UAAU,CAuF5F"}