@brainfile/cli 0.17.0 → 0.17.1

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 (93) hide show
  1. package/.brainfile/brainfile.md.v1.bak +171 -0
  2. package/.brainfile/logs/task-1.md +206 -0
  3. package/.brainfile/logs/task-2.md +482 -0
  4. package/.brainfile/logs/task-3.md +314 -0
  5. package/.github/workflows/release.yml +35 -0
  6. package/README.md +3 -5
  7. package/dist/cli.js +29 -53
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/add.d.ts +2 -0
  10. package/dist/commands/add.d.ts.map +1 -1
  11. package/dist/commands/add.js +16 -2
  12. package/dist/commands/add.js.map +1 -1
  13. package/dist/commands/complete.d.ts +5 -7
  14. package/dist/commands/complete.d.ts.map +1 -1
  15. package/dist/commands/complete.js +76 -127
  16. package/dist/commands/complete.js.map +1 -1
  17. package/dist/commands/contract.d.ts +46 -2
  18. package/dist/commands/contract.d.ts.map +1 -1
  19. package/dist/commands/contract.js +499 -2
  20. package/dist/commands/contract.js.map +1 -1
  21. package/dist/commands/mcp.d.ts.map +1 -1
  22. package/dist/commands/mcp.js +1037 -1763
  23. package/dist/commands/mcp.js.map +1 -1
  24. package/dist/commands/migrate.d.ts +0 -2
  25. package/dist/commands/migrate.d.ts.map +1 -1
  26. package/dist/commands/migrate.js +23 -89
  27. package/dist/commands/migrate.js.map +1 -1
  28. package/dist/commands/move.js.map +1 -1
  29. package/dist/commands/schema.d.ts.map +1 -1
  30. package/dist/commands/schema.js +6 -1
  31. package/dist/commands/schema.js.map +1 -1
  32. package/dist/index.d.ts +1 -1
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +4 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/lib/contractRunner.d.ts.map +1 -1
  37. package/dist/lib/contractRunner.js +76 -49
  38. package/dist/lib/contractRunner.js.map +1 -1
  39. package/dist/mcp/tools/contract.d.ts +25 -0
  40. package/dist/mcp/tools/contract.d.ts.map +1 -0
  41. package/dist/mcp/tools/contract.js +33 -0
  42. package/dist/mcp/tools/contract.js.map +1 -0
  43. package/dist/utils/config.d.ts.map +1 -1
  44. package/dist/utils/config.js +22 -9
  45. package/dist/utils/config.js.map +1 -1
  46. package/dist/utils/contractSpec.d.ts +2 -0
  47. package/dist/utils/contractSpec.d.ts.map +1 -1
  48. package/dist/utils/contractSpec.js +5 -1
  49. package/dist/utils/contractSpec.js.map +1 -1
  50. package/dist/utils/hook-settings.d.ts.map +1 -1
  51. package/dist/utils/hook-settings.js +5 -1
  52. package/dist/utils/hook-settings.js.map +1 -1
  53. package/dist/validation/command-lint.d.ts +11 -0
  54. package/dist/validation/command-lint.d.ts.map +1 -0
  55. package/dist/validation/command-lint.js +88 -0
  56. package/dist/validation/command-lint.js.map +1 -0
  57. package/package.json +2 -2
  58. package/dist/commands/context.d.ts +0 -19
  59. package/dist/commands/context.d.ts.map +0 -1
  60. package/dist/commands/context.js +0 -103
  61. package/dist/commands/context.js.map +0 -1
  62. package/dist/commands/history.d.ts +0 -18
  63. package/dist/commands/history.d.ts.map +0 -1
  64. package/dist/commands/history.js +0 -92
  65. package/dist/commands/history.js.map +0 -1
  66. package/dist/commands/ledger-rebuild.d.ts +0 -17
  67. package/dist/commands/ledger-rebuild.d.ts.map +0 -1
  68. package/dist/commands/ledger-rebuild.js +0 -287
  69. package/dist/commands/ledger-rebuild.js.map +0 -1
  70. package/dist/commands/ledger.d.ts +0 -20
  71. package/dist/commands/ledger.d.ts.map +0 -1
  72. package/dist/commands/ledger.js +0 -111
  73. package/dist/commands/ledger.js.map +0 -1
  74. package/dist/commands/migrate-ledger.d.ts +0 -17
  75. package/dist/commands/migrate-ledger.d.ts.map +0 -1
  76. package/dist/commands/migrate-ledger.js +0 -127
  77. package/dist/commands/migrate-ledger.js.map +0 -1
  78. package/dist/commands/stats.d.ts +0 -20
  79. package/dist/commands/stats.d.ts.map +0 -1
  80. package/dist/commands/stats.js +0 -151
  81. package/dist/commands/stats.js.map +0 -1
  82. package/dist/tui/components/ArchivePanel.d.ts +0 -16
  83. package/dist/tui/components/ArchivePanel.d.ts.map +0 -1
  84. package/dist/tui/components/ArchivePanel.js +0 -115
  85. package/dist/tui/components/ArchivePanel.js.map +0 -1
  86. package/dist/utils/date-helpers.d.ts +0 -20
  87. package/dist/utils/date-helpers.d.ts.map +0 -1
  88. package/dist/utils/date-helpers.js +0 -54
  89. package/dist/utils/date-helpers.js.map +0 -1
  90. package/dist/utils/v2-tasks.d.ts +0 -121
  91. package/dist/utils/v2-tasks.d.ts.map +0 -1
  92. package/dist/utils/v2-tasks.js +0 -384
  93. package/dist/utils/v2-tasks.js.map +0 -1
@@ -33,19 +33,24 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.CONTRACT_ATTACH_HELP = exports.CONTRACT_VALIDATE_HELP = exports.CONTRACT_DELIVER_HELP = exports.CONTRACT_PICKUP_HELP = exports.CONTRACT_COMMAND_HELP = void 0;
36
+ exports.CONTRACT_GRAPH_HELP = exports.CONTRACT_ACTIVATE_HELP = exports.CONTRACT_ATTACH_HELP = exports.CONTRACT_VALIDATE_HELP = exports.CONTRACT_DELIVER_HELP = exports.CONTRACT_PICKUP_HELP = exports.CONTRACT_COMMAND_HELP = void 0;
37
+ exports.parseContractGraphArgs = parseContractGraphArgs;
38
+ exports.contractGraphCommand = contractGraphCommand;
37
39
  exports.contractPickupCommand = contractPickupCommand;
38
40
  exports.contractDeliverCommand = contractDeliverCommand;
39
41
  exports.contractValidateCommand = contractValidateCommand;
40
42
  exports.contractAttachCommand = contractAttachCommand;
43
+ exports.contractActivateCommand = contractActivateCommand;
41
44
  const contractRunner_1 = require("../lib/contractRunner");
42
45
  const logger_1 = require("../utils/logger");
43
46
  const fs = __importStar(require("fs"));
47
+ const path = __importStar(require("path"));
44
48
  const core_1 = require("@brainfile/core");
45
49
  const cli_error_1 = require("../utils/cli-error");
46
50
  const contractSpec_1 = require("../utils/contractSpec");
47
51
  const brainfile_path_1 = require("../utils/brainfile-path");
48
52
  const v2_detect_1 = require("../utils/v2-detect");
53
+ const command_lint_1 = require("../validation/command-lint");
49
54
  exports.CONTRACT_COMMAND_HELP = `
50
55
  Workflow (PM → Agent → PM):
51
56
  1) PM creates a task with a contract:
@@ -85,6 +90,39 @@ Examples:
85
90
  --validation "npm test" \\
86
91
  --constraint "Make minimal changes"
87
92
  `.trimEnd();
93
+ exports.CONTRACT_ACTIVATE_HELP = `
94
+ Examples:
95
+ # Activate a single contract (draft → ready)
96
+ brainfile contract activate -t task-123
97
+
98
+ # Activate all draft contracts whose parent is epic-1
99
+ brainfile contract activate --parent epic-1
100
+ `.trimEnd();
101
+ exports.CONTRACT_GRAPH_HELP = `
102
+ Examples:
103
+ brainfile contract graph \\
104
+ --task research-1 --deliverable "file:docs/findings.md" \\
105
+ --task impl-1 --deliverable "file:src/bridge.ts" --depends-on research-1 \\
106
+ --task test-1 --deliverable "test:src/tests/bridge.test.ts" --depends-on impl-1 \\
107
+ --ready
108
+
109
+ brainfile contract graph --show
110
+ `.trimEnd();
111
+ class MissingDependencyError extends Error {
112
+ constructor(taskId, dependencyId) {
113
+ super(`Task ${taskId} depends on missing task ${dependencyId}`);
114
+ this.name = 'MissingDependencyError';
115
+ this.taskId = taskId;
116
+ this.dependencyId = dependencyId;
117
+ }
118
+ }
119
+ class DependencyCycleError extends Error {
120
+ constructor(cycle) {
121
+ super(`Dependency cycle detected: ${cycle.join(' -> ')}`);
122
+ this.name = 'DependencyCycleError';
123
+ this.cycle = cycle;
124
+ }
125
+ }
88
126
  function isUnsafeTaskId(taskId) {
89
127
  const trimmed = taskId.trim();
90
128
  if (!trimmed || trimmed !== taskId) {
@@ -95,6 +133,306 @@ function isUnsafeTaskId(taskId) {
95
133
  }
96
134
  return /[\\/]/.test(taskId);
97
135
  }
136
+ function normalizeDependencyIds(dependsOn) {
137
+ if (!Array.isArray(dependsOn)) {
138
+ return undefined;
139
+ }
140
+ const normalized = [...new Set(dependsOn.map((value) => value.trim()).filter(Boolean))];
141
+ return normalized.length > 0 ? normalized : undefined;
142
+ }
143
+ function taskDependsOn(task) {
144
+ const rawDependsOn = task?.dependsOn;
145
+ if (!Array.isArray(rawDependsOn)) {
146
+ return undefined;
147
+ }
148
+ return rawDependsOn.filter((value) => typeof value === 'string');
149
+ }
150
+ function topologicalSort(nodes) {
151
+ const dependenciesById = new Map();
152
+ for (const node of nodes) {
153
+ if (dependenciesById.has(node.id)) {
154
+ throw new Error(`Duplicate graph node: ${node.id}`);
155
+ }
156
+ dependenciesById.set(node.id, normalizeDependencyIds(node.dependsOn ? [...node.dependsOn] : undefined) ?? []);
157
+ }
158
+ const state = new Map();
159
+ const stack = [];
160
+ const order = [];
161
+ const visit = (taskId) => {
162
+ const currentState = state.get(taskId);
163
+ if (currentState === 'done') {
164
+ return;
165
+ }
166
+ if (currentState === 'visiting') {
167
+ const cycleStart = stack.indexOf(taskId);
168
+ const cycle = cycleStart >= 0
169
+ ? [...stack.slice(cycleStart), taskId]
170
+ : [taskId, taskId];
171
+ throw new DependencyCycleError(cycle);
172
+ }
173
+ state.set(taskId, 'visiting');
174
+ stack.push(taskId);
175
+ for (const dependencyId of dependenciesById.get(taskId) ?? []) {
176
+ if (!dependenciesById.has(dependencyId)) {
177
+ throw new MissingDependencyError(taskId, dependencyId);
178
+ }
179
+ visit(dependencyId);
180
+ }
181
+ stack.pop();
182
+ state.set(taskId, 'done');
183
+ order.push(taskId);
184
+ };
185
+ for (const taskId of dependenciesById.keys()) {
186
+ visit(taskId);
187
+ }
188
+ return order;
189
+ }
190
+ function boardTasks(board) {
191
+ return board.columns.flatMap((column) => column.tasks);
192
+ }
193
+ function validateTaskDependencyGraph(tasks) {
194
+ try {
195
+ return topologicalSort(tasks.map((task) => ({
196
+ id: task.id,
197
+ dependsOn: taskDependsOn(task),
198
+ })));
199
+ }
200
+ catch (error) {
201
+ if (error instanceof DependencyCycleError || error instanceof MissingDependencyError) {
202
+ throw (0, cli_error_1.validationError)(error.message);
203
+ }
204
+ throw error;
205
+ }
206
+ }
207
+ function renderTaskDependencyGraph(tasks) {
208
+ if (tasks.length === 0) {
209
+ return '(no active tasks)';
210
+ }
211
+ const order = validateTaskDependencyGraph(tasks);
212
+ const taskById = new Map(tasks.map((task) => [task.id, task]));
213
+ return order
214
+ .map((taskId) => {
215
+ const dependsOn = normalizeDependencyIds(taskDependsOn(taskById.get(taskId)));
216
+ return dependsOn && dependsOn.length > 0
217
+ ? `${dependsOn.join(', ')} -> ${taskId}`
218
+ : taskId;
219
+ })
220
+ .join('\n');
221
+ }
222
+ function updateBoardTask(board, taskId, updater) {
223
+ let found = false;
224
+ const columns = board.columns.map((column) => ({
225
+ ...column,
226
+ tasks: column.tasks.map((task) => {
227
+ if (task.id !== taskId) {
228
+ return task;
229
+ }
230
+ found = true;
231
+ return updater(task);
232
+ }),
233
+ }));
234
+ if (!found) {
235
+ throw (0, cli_error_1.operationFailed)(`Task not found: ${taskId}`);
236
+ }
237
+ return { ...board, columns };
238
+ }
239
+ function applyGraphTaskUpdate(task, spec, ready, now) {
240
+ let contract;
241
+ try {
242
+ contract = (0, contractSpec_1.buildContract)({
243
+ deliverableSpecs: spec.deliverable,
244
+ validationCommands: spec.validation,
245
+ constraints: spec.constraint,
246
+ status: ready ? 'ready' : 'draft',
247
+ });
248
+ }
249
+ catch (error) {
250
+ throw (0, cli_error_1.validationError)(error.message);
251
+ }
252
+ const nextTask = {
253
+ ...task,
254
+ contract,
255
+ updatedAt: now,
256
+ };
257
+ if (spec.dependsOn !== undefined) {
258
+ const normalized = normalizeDependencyIds(spec.dependsOn);
259
+ if (normalized) {
260
+ nextTask.dependsOn = normalized;
261
+ }
262
+ else {
263
+ delete nextTask.dependsOn;
264
+ }
265
+ }
266
+ return nextTask;
267
+ }
268
+ function ensureUniqueGraphTasks(specs) {
269
+ const seen = new Set();
270
+ for (const spec of specs) {
271
+ if (seen.has(spec.task)) {
272
+ throw (0, cli_error_1.validationError)(`Duplicate task in graph input: ${spec.task}`);
273
+ }
274
+ seen.add(spec.task);
275
+ }
276
+ }
277
+ function loadActiveTasks(filePath) {
278
+ if ((0, v2_detect_1.isV2)(filePath)) {
279
+ const dirs = (0, v2_detect_1.getV2Dirs)(filePath);
280
+ return (0, core_1.readTasksDir)(dirs.boardDir).map((doc) => doc.task);
281
+ }
282
+ const content = fs.readFileSync(filePath, 'utf-8');
283
+ const parsed = core_1.Brainfile.parseWithErrors(content);
284
+ if (!parsed.board) {
285
+ throw (0, cli_error_1.operationFailed)(parsed.error || 'Failed to parse brainfile');
286
+ }
287
+ return boardTasks(parsed.board);
288
+ }
289
+ function parseContractGraphArgs(args) {
290
+ const options = {
291
+ file: 'brainfile.md',
292
+ tasks: [],
293
+ };
294
+ let currentTask;
295
+ const readValue = (index, flag) => {
296
+ const value = args[index + 1];
297
+ if (value === undefined) {
298
+ throw (0, cli_error_1.validationError)(`Missing value for ${flag}`);
299
+ }
300
+ return value;
301
+ };
302
+ const pushValue = (spec, key, value, flag) => {
303
+ if (!spec) {
304
+ throw (0, cli_error_1.validationError)(`${flag} must follow a --task declaration`);
305
+ }
306
+ const existing = spec[key];
307
+ if (!existing) {
308
+ spec[key] = [value];
309
+ return;
310
+ }
311
+ spec[key] = Array.isArray(existing) ? [...existing, value] : [existing, value];
312
+ };
313
+ for (let index = 0; index < args.length; index += 1) {
314
+ const token = args[index];
315
+ switch (token) {
316
+ case '-f':
317
+ case '--file':
318
+ options.file = readValue(index, token);
319
+ index += 1;
320
+ break;
321
+ case '--ready':
322
+ options.ready = true;
323
+ break;
324
+ case '--show':
325
+ options.show = true;
326
+ break;
327
+ case '-t':
328
+ case '--task': {
329
+ const task = readValue(index, token);
330
+ currentTask = { task };
331
+ options.tasks.push(currentTask);
332
+ index += 1;
333
+ break;
334
+ }
335
+ case '--deliverable':
336
+ pushValue(currentTask, 'deliverable', readValue(index, token), token);
337
+ index += 1;
338
+ break;
339
+ case '--validation':
340
+ pushValue(currentTask, 'validation', readValue(index, token), token);
341
+ index += 1;
342
+ break;
343
+ case '--constraint':
344
+ pushValue(currentTask, 'constraint', readValue(index, token), token);
345
+ index += 1;
346
+ break;
347
+ case '--depends-on':
348
+ if (!currentTask) {
349
+ throw (0, cli_error_1.validationError)('--depends-on must follow a --task declaration');
350
+ }
351
+ currentTask.dependsOn = [...(currentTask.dependsOn ?? []), readValue(index, token)];
352
+ index += 1;
353
+ break;
354
+ default:
355
+ throw (0, cli_error_1.validationError)(`Unknown contract graph flag: ${token}`);
356
+ }
357
+ }
358
+ if (options.show && options.tasks.length > 0) {
359
+ throw (0, cli_error_1.validationError)('--show cannot be combined with task graph mutations');
360
+ }
361
+ if (!options.show && options.tasks.length === 0) {
362
+ throw (0, cli_error_1.missingRequired)('--task', 'brainfile contract graph --task <task-id> [graph options]');
363
+ }
364
+ return options;
365
+ }
366
+ function contractGraphCommand(options, logger = logger_1.defaultLogger) {
367
+ const filePath = (0, brainfile_path_1.resolveCliBrainfilePath)(options.file);
368
+ if (!fs.existsSync(filePath)) {
369
+ throw (0, cli_error_1.operationFailed)(`File not found: ${filePath}`);
370
+ }
371
+ if (options.show) {
372
+ const activeTasks = loadActiveTasks(filePath);
373
+ const graph = renderTaskDependencyGraph(activeTasks);
374
+ logger.log(graph);
375
+ return { success: true, attached: [], order: validateTaskDependencyGraph(activeTasks), graph };
376
+ }
377
+ const specs = options.tasks ?? [];
378
+ ensureUniqueGraphTasks(specs);
379
+ const now = new Date().toISOString();
380
+ if ((0, v2_detect_1.isV2)(filePath)) {
381
+ const dirs = (0, v2_detect_1.getV2Dirs)(filePath);
382
+ const docs = (0, core_1.readTasksDir)(dirs.boardDir);
383
+ const docById = new Map(docs.map((doc) => [doc.task.id, doc]));
384
+ for (const spec of specs) {
385
+ if (isUnsafeTaskId(spec.task)) {
386
+ throw (0, cli_error_1.operationFailed)(`Invalid task ID: ${spec.task}`);
387
+ }
388
+ if (!docById.has(spec.task)) {
389
+ throw (0, cli_error_1.operationFailed)(`Task not found: ${spec.task}`);
390
+ }
391
+ }
392
+ const nextTasks = new Map(docs.map((doc) => [doc.task.id, { ...doc.task }]));
393
+ for (const spec of specs) {
394
+ nextTasks.set(spec.task, applyGraphTaskUpdate(nextTasks.get(spec.task), spec, Boolean(options.ready), now));
395
+ }
396
+ const order = validateTaskDependencyGraph([...nextTasks.values()]);
397
+ const graph = renderTaskDependencyGraph([...nextTasks.values()]);
398
+ for (const taskId of order) {
399
+ if (!specs.some((spec) => spec.task === taskId)) {
400
+ continue;
401
+ }
402
+ const doc = docById.get(taskId);
403
+ (0, core_1.writeTaskFile)(doc.filePath, nextTasks.get(taskId), doc.body);
404
+ }
405
+ logger.log(`Contract graph attached (${options.ready ? 'ready' : 'draft'}): ${specs.map((spec) => spec.task).join(', ')}`);
406
+ return {
407
+ success: true,
408
+ attached: specs.map((spec) => spec.task),
409
+ order,
410
+ graph,
411
+ };
412
+ }
413
+ const content = fs.readFileSync(filePath, 'utf-8');
414
+ const parsed = core_1.Brainfile.parseWithErrors(content);
415
+ if (!parsed.board) {
416
+ throw (0, cli_error_1.operationFailed)(parsed.error || 'Failed to parse brainfile');
417
+ }
418
+ let board = parsed.board;
419
+ for (const spec of specs) {
420
+ if (!(0, core_1.findTaskById)(board, spec.task)) {
421
+ throw (0, cli_error_1.operationFailed)(`Task not found: ${spec.task}`);
422
+ }
423
+ board = updateBoardTask(board, spec.task, (task) => applyGraphTaskUpdate(task, spec, Boolean(options.ready), now));
424
+ }
425
+ const order = validateTaskDependencyGraph(boardTasks(board));
426
+ const graph = renderTaskDependencyGraph(boardTasks(board));
427
+ fs.writeFileSync(filePath, core_1.Brainfile.serialize(board), 'utf-8');
428
+ logger.log(`Contract graph attached (${options.ready ? 'ready' : 'draft'}): ${specs.map((spec) => spec.task).join(', ')}`);
429
+ return {
430
+ success: true,
431
+ attached: specs.map((spec) => spec.task),
432
+ order,
433
+ graph,
434
+ };
435
+ }
98
436
  function contractPickupCommand(options, logger = logger_1.defaultLogger) {
99
437
  if (!options.task) {
100
438
  throw (0, cli_error_1.missingRequired)('--task', 'brainfile contract pickup --task <task-id> [--file <path>]');
@@ -162,8 +500,9 @@ function contractValidateCommand(options, logger = logger_1.defaultLogger) {
162
500
  return { success: ok };
163
501
  }
164
502
  /**
165
- * Attach a new contract to an existing task (status=ready).
503
+ * Attach a new contract to an existing task (default status=draft).
166
504
  * This is for programmatic contract creation (no manual YAML editing).
505
+ * Pass ready:true via options to make the contract immediately dispatchable.
167
506
  */
168
507
  function contractAttachCommand(options, logger = logger_1.defaultLogger) {
169
508
  if (!options.task) {
@@ -173,12 +512,21 @@ function contractAttachCommand(options, logger = logger_1.defaultLogger) {
173
512
  if (!fs.existsSync(filePath)) {
174
513
  throw (0, cli_error_1.operationFailed)(`File not found: ${filePath}`);
175
514
  }
515
+ const validationCommands = Array.isArray(options.validation)
516
+ ? options.validation
517
+ : options.validation
518
+ ? [options.validation]
519
+ : [];
520
+ for (const warning of (0, command_lint_1.lintValidationCommands)(validationCommands, filePath)) {
521
+ logger.warn(`Warning: ${warning.message}`);
522
+ }
176
523
  let contract;
177
524
  try {
178
525
  contract = (0, contractSpec_1.buildContract)({
179
526
  deliverableSpecs: options.deliverable,
180
527
  validationCommands: options.validation,
181
528
  constraints: options.constraint,
529
+ status: options.ready ? 'ready' : 'draft',
182
530
  });
183
531
  }
184
532
  catch (e) {
@@ -215,4 +563,153 @@ function contractAttachCommand(options, logger = logger_1.defaultLogger) {
215
563
  logger.log(`Contract attached: ${options.task}`);
216
564
  return { success: true };
217
565
  }
566
+ /**
567
+ * Activate one or more draft contracts (draft → ready).
568
+ *
569
+ * - Single task: `--task <id>`
570
+ * - Bulk by parent: `--parent <epic-id>` (activates all draft children)
571
+ */
572
+ function contractActivateCommand(options, logger = logger_1.defaultLogger) {
573
+ if (!options.task && !options.parent) {
574
+ throw (0, cli_error_1.missingRequired)('--task or --parent', 'brainfile contract activate -t <task-id> | --parent <epic-id>');
575
+ }
576
+ const filePath = (0, brainfile_path_1.resolveCliBrainfilePath)(options.file);
577
+ if (!fs.existsSync(filePath)) {
578
+ throw (0, cli_error_1.operationFailed)(`File not found: ${filePath}`);
579
+ }
580
+ const activated = [];
581
+ // ── V2 per-task file architecture ──────────────────────────────────────────
582
+ if ((0, v2_detect_1.isV2)(filePath)) {
583
+ const dirs = (0, v2_detect_1.getV2Dirs)(filePath);
584
+ if (options.task) {
585
+ // Single task activation
586
+ if (isUnsafeTaskId(options.task)) {
587
+ throw (0, cli_error_1.operationFailed)(`Invalid task ID: ${options.task}`);
588
+ }
589
+ const found = (0, v2_detect_1.findV2Task)(dirs, options.task, false);
590
+ if (!found || found.isLog) {
591
+ throw (0, cli_error_1.operationFailed)(`Task not found: ${options.task}`);
592
+ }
593
+ if (!found.doc.task.contract) {
594
+ throw (0, cli_error_1.operationFailed)(`Task ${options.task} has no contract`);
595
+ }
596
+ if (found.doc.task.contract.status !== 'draft') {
597
+ throw (0, cli_error_1.operationFailed)(`Contract is not in draft status (current: ${found.doc.task.contract.status})`);
598
+ }
599
+ const readyAt = new Date().toISOString();
600
+ found.doc.task.contract = {
601
+ ...found.doc.task.contract,
602
+ status: 'ready',
603
+ metrics: {
604
+ ...(found.doc.task.contract.metrics ?? {}),
605
+ readyAt,
606
+ },
607
+ };
608
+ found.doc.task.updatedAt = readyAt;
609
+ (0, core_1.writeTaskFile)(found.filePath, found.doc.task, found.doc.body);
610
+ activated.push(options.task);
611
+ logger.log(`Contract activated: ${options.task}`);
612
+ }
613
+ else {
614
+ // Bulk activation by parentId
615
+ const parentId = options.parent;
616
+ const allTasks = (0, core_1.readTasksDir)(dirs.boardDir);
617
+ for (const doc of allTasks) {
618
+ const task = doc.task;
619
+ if (task.parentId !== parentId)
620
+ continue;
621
+ if (!task.contract || task.contract.status !== 'draft')
622
+ continue;
623
+ const readyAt = new Date().toISOString();
624
+ task.contract = {
625
+ ...task.contract,
626
+ status: 'ready',
627
+ metrics: {
628
+ ...(task.contract.metrics ?? {}),
629
+ readyAt,
630
+ },
631
+ };
632
+ task.updatedAt = readyAt;
633
+ const taskPath = path.join(dirs.boardDir, (0, core_1.taskFileName)(task.id));
634
+ (0, core_1.writeTaskFile)(taskPath, task, doc.body);
635
+ activated.push(task.id);
636
+ logger.log(`Contract activated: ${task.id}`);
637
+ }
638
+ if (activated.length === 0) {
639
+ logger.log(`No draft contracts found with parent: ${parentId}`);
640
+ }
641
+ }
642
+ return { success: true, activated };
643
+ }
644
+ // ── V1 board ──────────────────────────────────────────────────────────────
645
+ const content = fs.readFileSync(filePath, 'utf-8');
646
+ const parsed = core_1.Brainfile.parseWithErrors(content);
647
+ if (!parsed.board) {
648
+ throw (0, cli_error_1.operationFailed)(parsed.error || 'Failed to parse brainfile');
649
+ }
650
+ let board = parsed.board;
651
+ if (options.task) {
652
+ // Single task
653
+ const taskInfo = (0, core_1.findTaskById)(board, options.task);
654
+ if (!taskInfo) {
655
+ throw (0, cli_error_1.operationFailed)(`Task not found: ${options.task}`);
656
+ }
657
+ if (!taskInfo.task.contract) {
658
+ throw (0, cli_error_1.operationFailed)(`Task ${options.task} has no contract`);
659
+ }
660
+ if (taskInfo.task.contract.status !== 'draft') {
661
+ throw (0, cli_error_1.operationFailed)(`Contract is not in draft status (current: ${taskInfo.task.contract.status})`);
662
+ }
663
+ // Mutate via setTaskContract (re-attach with status=ready)
664
+ const readyAt = new Date().toISOString();
665
+ const updatedContract = {
666
+ ...taskInfo.task.contract,
667
+ status: 'ready',
668
+ metrics: {
669
+ ...(taskInfo.task.contract.metrics ?? {}),
670
+ readyAt,
671
+ },
672
+ };
673
+ const result = (0, core_1.setTaskContract)(board, options.task, updatedContract);
674
+ if (!result.success || !result.board) {
675
+ throw (0, cli_error_1.operationFailed)(result.error || 'Failed to activate contract');
676
+ }
677
+ board = result.board;
678
+ activated.push(options.task);
679
+ logger.log(`Contract activated: ${options.task}`);
680
+ }
681
+ else {
682
+ // Bulk by parentId (V1 boards store parentId on task)
683
+ const parentId = options.parent;
684
+ for (const col of board.columns) {
685
+ for (const task of col.tasks) {
686
+ const t = task;
687
+ if (t.parentId !== parentId)
688
+ continue;
689
+ if (!task.contract || task.contract.status !== 'draft')
690
+ continue;
691
+ const readyAt = new Date().toISOString();
692
+ const updatedContract = {
693
+ ...task.contract,
694
+ status: 'ready',
695
+ metrics: {
696
+ ...(task.contract.metrics ?? {}),
697
+ readyAt,
698
+ },
699
+ };
700
+ const result = (0, core_1.setTaskContract)(board, task.id, updatedContract);
701
+ if (result.success && result.board) {
702
+ board = result.board;
703
+ activated.push(task.id);
704
+ logger.log(`Contract activated: ${task.id}`);
705
+ }
706
+ }
707
+ }
708
+ if (activated.length === 0) {
709
+ logger.log(`No draft contracts found with parent: ${parentId}`);
710
+ }
711
+ }
712
+ fs.writeFileSync(filePath, core_1.Brainfile.serialize(board), 'utf-8');
713
+ return { success: true, activated };
714
+ }
218
715
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/commands/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/commands/contract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAgFA,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAkMD,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,iBA4oFnD"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAmEA,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AA4GD,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,iBAouDnD"}