brainfile 0.19.0 → 0.21.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 (128) hide show
  1. package/README.md +18 -24
  2. package/dist/__tests__/helpers/mcp-wire.d.ts +45 -0
  3. package/dist/__tests__/helpers/mcp-wire.d.ts.map +1 -0
  4. package/dist/__tests__/helpers/mcp-wire.js +133 -0
  5. package/dist/__tests__/helpers/mcp-wire.js.map +1 -0
  6. package/dist/{chunk-YTFLC673.mjs → chunk-FOLBAGJS.mjs} +2483 -1075
  7. package/dist/cli.mjs +2526 -1656
  8. package/dist/commands/adr.d.ts +1 -9
  9. package/dist/commands/adr.d.ts.map +1 -1
  10. package/dist/commands/adr.js +11 -88
  11. package/dist/commands/adr.js.map +1 -1
  12. package/dist/commands/archive.d.ts +2 -5
  13. package/dist/commands/archive.d.ts.map +1 -1
  14. package/dist/commands/archive.js +43 -11
  15. package/dist/commands/archive.js.map +1 -1
  16. package/dist/commands/brief.d.ts +32 -0
  17. package/dist/commands/brief.d.ts.map +1 -0
  18. package/dist/commands/brief.js +161 -0
  19. package/dist/commands/brief.js.map +1 -0
  20. package/dist/commands/complete.js +1 -1
  21. package/dist/commands/complete.js.map +1 -1
  22. package/dist/commands/init.d.ts +14 -0
  23. package/dist/commands/init.d.ts.map +1 -1
  24. package/dist/commands/init.js +115 -15
  25. package/dist/commands/init.js.map +1 -1
  26. package/dist/commands/log.js +31 -18
  27. package/dist/commands/log.js.map +1 -1
  28. package/dist/commands/mcp.d.ts +9 -0
  29. package/dist/commands/mcp.d.ts.map +1 -1
  30. package/dist/commands/mcp.js +72 -17
  31. package/dist/commands/mcp.js.map +1 -1
  32. package/dist/commands/merge-driver.d.ts +26 -0
  33. package/dist/commands/merge-driver.d.ts.map +1 -0
  34. package/dist/commands/merge-driver.js +195 -0
  35. package/dist/commands/merge-driver.js.map +1 -0
  36. package/dist/commands/migrate-tracked.d.ts +8 -0
  37. package/dist/commands/migrate-tracked.d.ts.map +1 -0
  38. package/dist/commands/migrate-tracked.js +428 -0
  39. package/dist/commands/migrate-tracked.js.map +1 -0
  40. package/dist/commands/migrate.d.ts +6 -0
  41. package/dist/commands/migrate.d.ts.map +1 -1
  42. package/dist/commands/migrate.js +19 -12
  43. package/dist/commands/migrate.js.map +1 -1
  44. package/dist/commands/sync.d.ts +16 -0
  45. package/dist/commands/sync.d.ts.map +1 -0
  46. package/dist/commands/sync.js +152 -0
  47. package/dist/commands/sync.js.map +1 -0
  48. package/dist/commands/where.d.ts +21 -0
  49. package/dist/commands/where.d.ts.map +1 -0
  50. package/dist/commands/where.js +135 -0
  51. package/dist/commands/where.js.map +1 -0
  52. package/dist/mcp/helpers.d.ts +8 -0
  53. package/dist/mcp/helpers.d.ts.map +1 -1
  54. package/dist/mcp/helpers.js +44 -0
  55. package/dist/mcp/helpers.js.map +1 -1
  56. package/dist/mcp/schemas.d.ts +297 -0
  57. package/dist/mcp/schemas.d.ts.map +1 -0
  58. package/dist/mcp/schemas.js +328 -0
  59. package/dist/mcp/schemas.js.map +1 -0
  60. package/dist/mcp/tools/brief_tool.d.ts +14 -0
  61. package/dist/mcp/tools/brief_tool.d.ts.map +1 -0
  62. package/dist/mcp/tools/brief_tool.js +96 -0
  63. package/dist/mcp/tools/brief_tool.js.map +1 -0
  64. package/dist/mcp/tools/contract_tool.d.ts.map +1 -1
  65. package/dist/mcp/tools/contract_tool.js +43 -18
  66. package/dist/mcp/tools/contract_tool.js.map +1 -1
  67. package/dist/mcp/tools/get_task_tool.d.ts.map +1 -1
  68. package/dist/mcp/tools/get_task_tool.js +7 -2
  69. package/dist/mcp/tools/get_task_tool.js.map +1 -1
  70. package/dist/mcp/tools/list_tasks_tool.d.ts.map +1 -1
  71. package/dist/mcp/tools/list_tasks_tool.js +9 -3
  72. package/dist/mcp/tools/list_tasks_tool.js.map +1 -1
  73. package/dist/mcp/tools/search_tool.d.ts.map +1 -1
  74. package/dist/mcp/tools/search_tool.js +17 -4
  75. package/dist/mcp/tools/search_tool.js.map +1 -1
  76. package/dist/mcp/tools/subtask_tool.d.ts.map +1 -1
  77. package/dist/mcp/tools/subtask_tool.js +52 -17
  78. package/dist/mcp/tools/subtask_tool.js.map +1 -1
  79. package/dist/mcp/tools/task_add_tool.d.ts.map +1 -1
  80. package/dist/mcp/tools/task_add_tool.js +13 -7
  81. package/dist/mcp/tools/task_add_tool.js.map +1 -1
  82. package/dist/mcp/tools/task_complete_tool.d.ts.map +1 -1
  83. package/dist/mcp/tools/task_complete_tool.js +39 -10
  84. package/dist/mcp/tools/task_complete_tool.js.map +1 -1
  85. package/dist/mcp/tools/task_delete_tool.d.ts.map +1 -1
  86. package/dist/mcp/tools/task_delete_tool.js +12 -6
  87. package/dist/mcp/tools/task_delete_tool.js.map +1 -1
  88. package/dist/mcp/tools/task_move_tool.d.ts.map +1 -1
  89. package/dist/mcp/tools/task_move_tool.js +21 -11
  90. package/dist/mcp/tools/task_move_tool.js.map +1 -1
  91. package/dist/mcp/tools/task_patch_tool.d.ts.map +1 -1
  92. package/dist/mcp/tools/task_patch_tool.js +23 -10
  93. package/dist/mcp/tools/task_patch_tool.js.map +1 -1
  94. package/dist/schemas/board.json +1 -1
  95. package/dist/tui/theme.d.ts +98 -0
  96. package/dist/tui/theme.d.ts.map +1 -0
  97. package/dist/tui/theme.js +141 -0
  98. package/dist/tui/theme.js.map +1 -0
  99. package/dist/{tui-P56H4X7N.mjs → tui-M2KWIG2E.mjs} +1707 -2006
  100. package/dist/utils/board-autosync.d.ts +22 -0
  101. package/dist/utils/board-autosync.d.ts.map +1 -0
  102. package/dist/utils/board-autosync.js +166 -0
  103. package/dist/utils/board-autosync.js.map +1 -0
  104. package/dist/utils/board-commit-hooks.d.ts +12 -0
  105. package/dist/utils/board-commit-hooks.d.ts.map +1 -0
  106. package/dist/utils/board-commit-hooks.js +51 -0
  107. package/dist/utils/board-commit-hooks.js.map +1 -0
  108. package/dist/utils/board-repo.d.ts +108 -0
  109. package/dist/utils/board-repo.d.ts.map +1 -0
  110. package/dist/utils/board-repo.js +501 -0
  111. package/dist/utils/board-repo.js.map +1 -0
  112. package/dist/utils/board-sync.d.ts +111 -0
  113. package/dist/utils/board-sync.d.ts.map +1 -0
  114. package/dist/utils/board-sync.js +469 -0
  115. package/dist/utils/board-sync.js.map +1 -0
  116. package/dist/utils/brainfile-path.d.ts +11 -1
  117. package/dist/utils/brainfile-path.d.ts.map +1 -1
  118. package/dist/utils/brainfile-path.js +39 -2
  119. package/dist/utils/brainfile-path.js.map +1 -1
  120. package/dist/utils/cli-error.d.ts +20 -0
  121. package/dist/utils/cli-error.d.ts.map +1 -1
  122. package/dist/utils/cli-error.js +36 -0
  123. package/dist/utils/cli-error.js.map +1 -1
  124. package/package.json +3 -3
  125. package/dist/commands/rules.d.ts +0 -68
  126. package/dist/commands/rules.d.ts.map +0 -1
  127. package/dist/commands/rules.js +0 -322
  128. package/dist/commands/rules.js.map +0 -1
@@ -1,7 +1,21 @@
1
1
  interface InitOptions {
2
2
  file?: string;
3
3
  force?: boolean;
4
+ /** Store the board as its own git branch (in a repo) or repository (elsewhere). */
5
+ tracked?: boolean;
6
+ /** Plain directory, no git tracking, even inside a repo. */
7
+ plain?: boolean;
8
+ /** Inside a repo: create the board here instead of at the repository root. */
9
+ here?: boolean;
10
+ /** The home board at ~/.brainfile. */
11
+ global?: boolean;
4
12
  }
5
13
  export declare function initCommand(options: InitOptions): void;
14
+ /**
15
+ * What a person needs right after init: where the board is, who has it, and
16
+ * the one command to change that. Plain words first; git terms only where
17
+ * they are the literal answer.
18
+ */
19
+ export declare function printStorageStory(mode: 'plain' | 'linked' | 'standalone', dotDir: string, branch: string | null, movedToRoot: boolean): void;
6
20
  export {};
7
21
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA8BA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,QA2D/C"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA4CA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sCAAsC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAoED,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,QA0E/C;AAOD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI,CAwB5I"}
@@ -37,12 +37,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.initCommand = initCommand;
40
+ exports.printStorageStory = printStorageStory;
40
41
  const fs = __importStar(require("fs"));
41
42
  const path = __importStar(require("path"));
42
43
  const chalk_1 = __importDefault(require("chalk"));
43
44
  const core_1 = require("@brainfile/core");
44
45
  const dot_brainfile_1 = require("../utils/dot-brainfile");
45
46
  const workspace_format_1 = require("../utils/workspace-format");
47
+ const board_repo_1 = require("../utils/board-repo");
48
+ const board_sync_1 = require("../utils/board-sync");
46
49
  const DEFAULT_BRAINFILE_V2 = `---
47
50
  schema: https://brainfile.md/v2/board.json
48
51
  title: My Project
@@ -65,9 +68,56 @@ Add your project description here.
65
68
 
66
69
  > Note: Completing a task moves it to \`logs/\` via \`brainfile complete\`.
67
70
  `;
71
+ const DEFAULT_FILE = path.join('.brainfile', 'brainfile.md');
72
+ function planInit(options) {
73
+ const explicitFile = Boolean(options.file) && path.resolve(options.file) !== path.resolve(DEFAULT_FILE);
74
+ if (options.global || (!explicitFile && (0, board_repo_1.isGlobalBoardRequested)())) {
75
+ return {
76
+ filePath: path.join((0, board_repo_1.homeBoardDir)(), 'brainfile.md'),
77
+ mode: options.plain ? 'plain' : 'standalone',
78
+ repoRoot: null,
79
+ movedToRoot: false,
80
+ };
81
+ }
82
+ if (explicitFile) {
83
+ return {
84
+ filePath: path.resolve(options.file),
85
+ mode: options.tracked ? 'standalone' : 'plain',
86
+ repoRoot: null,
87
+ movedToRoot: false,
88
+ };
89
+ }
90
+ const cwd = process.cwd();
91
+ const repoRoot = (0, board_repo_1.gitToplevel)(cwd);
92
+ if (repoRoot && !options.plain) {
93
+ const base = options.here ? cwd : repoRoot;
94
+ const atRoot = path.resolve(base) === repoRoot;
95
+ return {
96
+ filePath: path.join(base, DEFAULT_FILE),
97
+ mode: atRoot ? 'linked' : options.tracked ? 'standalone' : 'plain',
98
+ repoRoot,
99
+ movedToRoot: base !== cwd,
100
+ };
101
+ }
102
+ return {
103
+ filePath: path.join(cwd, DEFAULT_FILE),
104
+ mode: options.tracked ? 'standalone' : 'plain',
105
+ repoRoot,
106
+ movedToRoot: false,
107
+ };
108
+ }
109
+ function isNonEmptyDir(dir) {
110
+ try {
111
+ return fs.statSync(dir).isDirectory() && fs.readdirSync(dir).length > 0;
112
+ }
113
+ catch {
114
+ return false;
115
+ }
116
+ }
68
117
  function initCommand(options) {
69
118
  try {
70
- const filePath = path.resolve(options.file || path.join('.brainfile', 'brainfile.md'));
119
+ const plan = planInit(options);
120
+ const { filePath, mode } = plan;
71
121
  const dotDir = path.dirname(filePath);
72
122
  const workspaceRoot = (0, workspace_format_1.workspaceRootFromBrainfilePath)(filePath);
73
123
  const probe = (0, workspace_format_1.probeWorkspaceFormat)(workspaceRoot);
@@ -82,17 +132,29 @@ function initCommand(options) {
82
132
  (0, dot_brainfile_1.removeLegacyStateFile)(filePath);
83
133
  fs.mkdirSync(path.join(dotDir, 'board'), { recursive: true });
84
134
  fs.mkdirSync(path.join(dotDir, 'logs'), { recursive: true });
85
- console.log(chalk_1.default.green('Brainfile already initialized (v2).'));
86
- console.log(chalk_1.default.gray(` ${filePath}`));
135
+ console.log(chalk_1.default.green(`A board already exists at ${displayPath(dotDir)}/`));
136
+ if (mode !== 'plain' && (0, board_repo_1.boardRepoKind)(dotDir) === null) {
137
+ console.log(chalk_1.default.gray(' It is plain files. To keep it on its own branch and share it: ') + chalk_1.default.cyan('brainfile migrate --to-branch'));
138
+ }
139
+ console.log(chalk_1.default.gray(' Where it lives and who has it: ') + chalk_1.default.cyan('brainfile where'));
87
140
  return;
88
141
  }
89
- // Ensure `.brainfile/.gitignore` exists
90
- (0, core_1.ensureDotBrainfileGitignore)(filePath);
91
142
  if (fs.existsSync(filePath) && !options.force) {
92
143
  console.error(chalk_1.default.red(`Error: File already exists: ${filePath}`));
93
144
  console.log(chalk_1.default.gray('Use --force to overwrite'));
94
145
  process.exit(1);
95
146
  }
147
+ if (mode === 'linked') {
148
+ if (isNonEmptyDir(dotDir)) {
149
+ console.error(chalk_1.default.red(`Error: ${dotDir} exists and is not empty.`));
150
+ console.log(chalk_1.default.gray('To move an existing board onto its own branch: ') + chalk_1.default.cyan('brainfile migrate --to-branch'));
151
+ process.exit(1);
152
+ }
153
+ // The worktree must be created before any file lands in the directory.
154
+ (0, board_repo_1.createOrphanBoardWorktree)(plan.repoRoot, dotDir, (0, board_repo_1.boardBranch)(plan.repoRoot));
155
+ }
156
+ // Ensure `.brainfile/.gitignore` exists
157
+ (0, core_1.ensureDotBrainfileGitignore)(filePath);
96
158
  fs.mkdirSync(dotDir, { recursive: true });
97
159
  const boardDir = path.join(dotDir, 'board');
98
160
  const logsDir = path.join(dotDir, 'logs');
@@ -100,20 +162,58 @@ function initCommand(options) {
100
162
  fs.mkdirSync(logsDir, { recursive: true });
101
163
  fs.writeFileSync(filePath, DEFAULT_BRAINFILE_V2, 'utf-8');
102
164
  (0, dot_brainfile_1.removeLegacyStateFile)(filePath);
103
- console.log(chalk_1.default.green('Brainfile initialized successfully!'));
104
- console.log('');
105
- console.log(chalk_1.default.gray(` Created: ${filePath}`));
106
- console.log(chalk_1.default.gray(` Created: ${boardDir}/`));
107
- console.log(chalk_1.default.gray(` Created: ${logsDir}/`));
108
- console.log('');
109
- console.log(chalk_1.default.gray('Next steps:'));
110
- console.log(chalk_1.default.gray(' 1. Edit your brainfile to customize your project'));
111
- console.log(chalk_1.default.gray(' 2. Add tasks: brainfile add --title "Your task"'));
112
- console.log(chalk_1.default.gray(' 3. View tasks: brainfile list'));
165
+ if (mode === 'standalone') {
166
+ (0, board_repo_1.initStandaloneBoardRepo)(dotDir);
167
+ }
168
+ if (mode !== 'plain') {
169
+ if (mode === 'linked')
170
+ (0, board_repo_1.ensureExcludeEntry)(plan.repoRoot);
171
+ (0, board_sync_1.ensureBoardAttributes)(dotDir);
172
+ (0, board_sync_1.registerMergeDriver)(dotDir);
173
+ (0, board_repo_1.commitBoard)(dotDir, { message: 'init board' });
174
+ }
175
+ printStorageStory(mode, dotDir, plan.repoRoot ? (0, board_repo_1.boardBranch)(plan.repoRoot) : null, plan.movedToRoot === true);
113
176
  }
114
177
  catch (error) {
115
178
  console.error(chalk_1.default.red('Error:'), error instanceof Error ? error.message : String(error));
116
179
  process.exit(1);
117
180
  }
118
181
  }
182
+ function displayPath(dir) {
183
+ const relative = path.relative(process.cwd(), dir);
184
+ return relative && !relative.startsWith('..') ? relative : dir;
185
+ }
186
+ /**
187
+ * What a person needs right after init: where the board is, who has it, and
188
+ * the one command to change that. Plain words first; git terms only where
189
+ * they are the literal answer.
190
+ */
191
+ function printStorageStory(mode, dotDir, branch, movedToRoot) {
192
+ const say = (text = '') => console.log(text ? ` ${text}` : '');
193
+ console.log(chalk_1.default.green(`Board created at ${displayPath(dotDir)}/`));
194
+ say();
195
+ if (mode === 'plain') {
196
+ say('Plain files on this machine. Read and edit them directly, or use the commands below.');
197
+ }
198
+ else if (mode === 'linked') {
199
+ say('Only on this machine for now. Every change is a git commit on a');
200
+ say(`separate '${branch}' branch, kept out of your code and pull requests.`);
201
+ say(chalk_1.default.gray(`(A plain git push never sends it; git push --all or --mirror would.)`));
202
+ if (movedToRoot)
203
+ say(chalk_1.default.gray('Created at the repository root so every checkout finds it. Use --plain for a folder board in this directory.'));
204
+ }
205
+ else {
206
+ say('Only on this machine for now. Every change is a git commit in its');
207
+ say(`own small repository inside ${displayPath(dotDir)}/.`);
208
+ }
209
+ say();
210
+ if (mode !== 'plain') {
211
+ say(`${chalk_1.default.gray('Share it:')} ${chalk_1.default.cyan('brainfile sync --set-remote origin')}`);
212
+ say(`${chalk_1.default.gray('Check it:')} ${chalk_1.default.cyan('brainfile where')}`);
213
+ say();
214
+ }
215
+ console.log(chalk_1.default.gray('Next:'));
216
+ say(chalk_1.default.cyan('brainfile add --title "Your first task"'));
217
+ say(chalk_1.default.cyan('brainfile list'));
218
+ }
119
219
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
50
50
  exports.logCommand = logCommand;
51
51
  exports.logNoteCommand = logNoteCommand;
52
52
  const fs = __importStar(require("fs"));
53
+ const path = __importStar(require("path"));
53
54
  const chalk_1 = __importDefault(require("chalk"));
54
55
  const logger_1 = require("../utils/logger");
55
56
  const cli_error_1 = require("../utils/cli-error");
@@ -206,35 +207,47 @@ function searchLogs(dirs, query, logger) {
206
207
  }
207
208
  function listRecentLogs(dirs, logger) {
208
209
  const logDocs = (0, core_1.readTasksDir)(dirs.logsDir);
209
- // Sort by completedAt descending
210
- logDocs.sort((a, b) => {
211
- const aDate = a.task.completedAt || '';
212
- const bDate = b.task.completedAt || '';
213
- return bDate.localeCompare(aDate);
214
- });
210
+ // Union in ledger records that have no markdown archive. Under the
211
+ // dual-artifact model both always exist, but boards touched by the
212
+ // pre-2026-08-13 destructive --logs-to-ledger may have ledger-only history.
213
+ const seenIds = new Set(logDocs.map((d) => d.task.id));
214
+ const entries = logDocs.map((d) => ({ id: d.task.id, title: d.task.title, completedAt: d.task.completedAt }));
215
+ const ledgerPath = path.join(dirs.logsDir, 'ledger.jsonl');
216
+ if (fs.existsSync(ledgerPath)) {
217
+ for (const line of fs.readFileSync(ledgerPath, 'utf-8').split('\n')) {
218
+ const trimmed = line.trim();
219
+ if (!trimmed)
220
+ continue;
221
+ try {
222
+ const record = JSON.parse(trimmed);
223
+ if (record?.id && !seenIds.has(record.id)) {
224
+ seenIds.add(record.id);
225
+ entries.push({ id: record.id, title: record.title ?? record.id, completedAt: record.completedAt, ledgerOnly: true });
226
+ }
227
+ }
228
+ catch { /* skip malformed lines */ }
229
+ }
230
+ }
231
+ entries.sort((a, b) => (b.completedAt || '').localeCompare(a.completedAt || ''));
215
232
  logger.log('');
216
- logger.log(chalk_1.default.bold(`Recently completed tasks (${logDocs.length})`));
233
+ logger.log(chalk_1.default.bold(`Recently completed tasks (${entries.length})`));
217
234
  logger.log(chalk_1.default.gray('─'.repeat(50)));
218
- if (logDocs.length === 0) {
235
+ if (entries.length === 0) {
219
236
  logger.log(chalk_1.default.gray(' No completed tasks found.'));
220
237
  }
221
238
  else {
222
- for (const doc of logDocs.slice(0, 20)) {
223
- const task = doc.task;
224
- logger.log(` ${chalk_1.default.gray(`[${task.id}]`)} ${chalk_1.default.white(task.title)}`);
225
- if (task.completedAt) {
226
- logger.log(` ${chalk_1.default.gray('Completed:')} ${task.completedAt}`);
239
+ for (const entry of entries.slice(0, 20)) {
240
+ const marker = entry.ledgerOnly ? chalk_1.default.gray(' (ledger only)') : '';
241
+ logger.log(` ${chalk_1.default.gray(`[${entry.id}]`)} ${chalk_1.default.white(entry.title)}${marker}`);
242
+ if (entry.completedAt) {
243
+ logger.log(` ${chalk_1.default.gray('Completed:')} ${entry.completedAt}`);
227
244
  }
228
245
  logger.log('');
229
246
  }
230
247
  }
231
248
  return {
232
249
  success: true,
233
- tasks: logDocs.map(doc => ({
234
- id: doc.task.id,
235
- title: doc.task.title,
236
- completedAt: doc.task.completedAt,
237
- })),
250
+ tasks: entries.map(({ id, title, completedAt }) => ({ id, title, completedAt })),
238
251
  };
239
252
  }
240
253
  //# sourceMappingURL=log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/commands/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/commands/log.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,12 @@
1
+ import { McpServer } from "@modelcontextprotocol/server";
1
2
  import { type McpOptions } from '../mcp/helpers';
3
+ /**
4
+ * Builds the MCP server with all 11 consolidated tools registered.
5
+ *
6
+ * Exported so tests can serve the exact production registration over an
7
+ * in-memory transport instead of re-listing the tools (which would drift).
8
+ * The same factory serves both protocol eras.
9
+ */
10
+ export declare function createBrainfileMcpServer(defaultFile: string): McpServer;
2
11
  export declare function mcpCommand(options: McpOptions): Promise<void>;
3
12
  //# sourceMappingURL=mcp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAUA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAa9D,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,iBAmFnD"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAUzD,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAe9D;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAmBvE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,iBA2EnD"}
@@ -1,12 +1,48 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createBrainfileMcpServer = createBrainfileMcpServer;
3
37
  exports.mcpCommand = mcpCommand;
4
38
  const stdio_1 = require("@modelcontextprotocol/server/stdio");
5
39
  const server_1 = require("@modelcontextprotocol/server");
40
+ const path = __importStar(require("path"));
6
41
  // Resolved at runtime from dist/commands/ — avoids widening tsc rootDir for a JSON import.
7
42
  const cliVersion = require('../../package.json').version;
8
43
  const core_1 = require("@brainfile/core");
9
44
  const helpers_1 = require("../mcp/helpers");
45
+ const board_repo_1 = require("../utils/board-repo");
10
46
  const v2_only_1 = require("../utils/v2-only");
11
47
  const list_tasks_tool_1 = require("../mcp/tools/list_tasks_tool");
12
48
  const get_task_tool_1 = require("../mcp/tools/get_task_tool");
@@ -18,6 +54,32 @@ const task_delete_tool_1 = require("../mcp/tools/task_delete_tool");
18
54
  const subtask_tool_1 = require("../mcp/tools/subtask_tool");
19
55
  const contract_tool_1 = require("../mcp/tools/contract_tool");
20
56
  const task_complete_tool_1 = require("../mcp/tools/task_complete_tool");
57
+ const brief_tool_1 = require("../mcp/tools/brief_tool");
58
+ /**
59
+ * Builds the MCP server with all 11 consolidated tools registered.
60
+ *
61
+ * Exported so tests can serve the exact production registration over an
62
+ * in-memory transport instead of re-listing the tools (which would drift).
63
+ * The same factory serves both protocol eras.
64
+ */
65
+ function createBrainfileMcpServer(defaultFile) {
66
+ const server = new server_1.McpServer({
67
+ name: 'brainfile',
68
+ version: cliVersion
69
+ });
70
+ (0, list_tasks_tool_1.registerListTasksTool)(server, defaultFile);
71
+ (0, get_task_tool_1.registerGetTaskTool)(server, defaultFile);
72
+ (0, search_tool_1.registerSearchTool)(server, defaultFile);
73
+ (0, task_add_tool_1.registerTaskAddTool)(server, defaultFile);
74
+ (0, task_move_tool_1.registerTaskMoveTool)(server, defaultFile);
75
+ (0, task_patch_tool_1.registerTaskPatchTool)(server, defaultFile);
76
+ (0, task_delete_tool_1.registerTaskDeleteTool)(server, defaultFile);
77
+ (0, subtask_tool_1.registerSubtaskTool)(server, defaultFile);
78
+ (0, contract_tool_1.registerContractTool)(server, defaultFile);
79
+ (0, task_complete_tool_1.registerTaskCompleteTool)(server, defaultFile);
80
+ (0, brief_tool_1.registerBriefTool)(server, defaultFile);
81
+ return server;
82
+ }
21
83
  async function mcpCommand(options) {
22
84
  // Auto-discover brainfile if not specified
23
85
  let defaultFile = options.file;
@@ -59,6 +121,15 @@ async function mcpCommand(options) {
59
121
  }
60
122
  }
61
123
  }
124
+ // Strategy 2b: the board lives on its own branch (spec-9) — the worktree
125
+ // checked out on it, created from the local or origin branch if needed.
126
+ if (defaultFile === 'brainfile.md') {
127
+ const tracked = (0, board_repo_1.findTrackedBoardDir)(process.cwd()) ?? (0, board_repo_1.materializeBoardWorktree)(process.cwd());
128
+ if (tracked) {
129
+ defaultFile = path.join(tracked, 'brainfile.md');
130
+ console.error(`[brainfile-mcp] Found tracked board: ${defaultFile}`);
131
+ }
132
+ }
62
133
  // Strategy 3: discovery from cwd
63
134
  if (defaultFile === 'brainfile.md') {
64
135
  const found = (0, core_1.findBrainfile)();
@@ -80,22 +151,6 @@ async function mcpCommand(options) {
80
151
  (0, v2_only_1.assertV2Brainfile)(defaultFile);
81
152
  // The same factory serves both protocol eras: 2026-07-28 (stateless)
82
153
  // natively, and pre-2026 clients through serveStdio's legacy shim.
83
- (0, stdio_1.serveStdio)(() => {
84
- const server = new server_1.McpServer({
85
- name: 'brainfile',
86
- version: cliVersion
87
- });
88
- (0, list_tasks_tool_1.registerListTasksTool)(server, defaultFile);
89
- (0, get_task_tool_1.registerGetTaskTool)(server, defaultFile);
90
- (0, search_tool_1.registerSearchTool)(server, defaultFile);
91
- (0, task_add_tool_1.registerTaskAddTool)(server, defaultFile);
92
- (0, task_move_tool_1.registerTaskMoveTool)(server, defaultFile);
93
- (0, task_patch_tool_1.registerTaskPatchTool)(server, defaultFile);
94
- (0, task_delete_tool_1.registerTaskDeleteTool)(server, defaultFile);
95
- (0, subtask_tool_1.registerSubtaskTool)(server, defaultFile);
96
- (0, contract_tool_1.registerContractTool)(server, defaultFile);
97
- (0, task_complete_tool_1.registerTaskCompleteTool)(server, defaultFile);
98
- return server;
99
- });
154
+ (0, stdio_1.serveStdio)(() => createBrainfileMcpServer(defaultFile));
100
155
  }
101
156
  //# sourceMappingURL=mcp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ type Fields = Record<string, unknown>;
2
+ export interface MergeOutcome {
3
+ content: string;
4
+ /** False when conflict markers remain in the body. */
5
+ clean: boolean;
6
+ }
7
+ /** Field-level last-writer-wins; exported for tests. */
8
+ export declare function mergeFields(base: Fields, ours: Fields, theirs: Fields): Fields;
9
+ /** Three-way text merge through git, then union-resolve list conflicts. */
10
+ export declare function mergeBodies(base: string, ours: string, theirs: string): MergeOutcome;
11
+ /** Merge two board documents against their common base. */
12
+ export declare function mergeBoardDocuments(base: string, ours: string, theirs: string): MergeOutcome;
13
+ /** "column: todo → review; title: …" for the fields that differ; exported for sync. */
14
+ export declare function summarizeFieldChanges(before: string, after: string): string;
15
+ export interface MergeDriverOptions {
16
+ base: string;
17
+ ours: string;
18
+ theirs: string;
19
+ }
20
+ /**
21
+ * Entry point for git: reads the three files, writes the result over `ours`,
22
+ * returns the exit code (0 clean, 1 conflicts remain, 2 usage).
23
+ */
24
+ export declare function mergeDriverCommand(options: MergeDriverOptions): number;
25
+ export {};
26
+ //# sourceMappingURL=merge-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-driver.d.ts","sourceRoot":"","sources":["../../src/commands/merge-driver.ts"],"names":[],"mappings":"AAkBA,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,KAAK,EAAE,OAAO,CAAC;CAChB;AAsBD,wDAAwD;AACxD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAoB9E;AAsBD,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CA+BpF;AAED,2DAA2D;AAC3D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAQ5F;AAED,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAU3E;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAMtE"}