@brainfile/cli 0.15.0 → 0.16.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.
- package/CHANGELOG.md +24 -0
- package/README.md +10 -0
- package/dist/cli.js +56 -8
- package/dist/cli.js.map +1 -1
- package/dist/commands/add.js +5 -4
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/adr.d.ts.map +1 -1
- package/dist/commands/adr.js +17 -4
- package/dist/commands/adr.js.map +1 -1
- package/dist/commands/complete.d.ts +7 -5
- package/dist/commands/complete.d.ts.map +1 -1
- package/dist/commands/complete.js +141 -77
- package/dist/commands/complete.js.map +1 -1
- package/dist/commands/context.d.ts +19 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +103 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/contract.d.ts.map +1 -1
- package/dist/commands/contract.js +34 -9
- package/dist/commands/contract.js.map +1 -1
- package/dist/commands/delete.d.ts.map +1 -1
- package/dist/commands/delete.js +19 -5
- package/dist/commands/delete.js.map +1 -1
- package/dist/commands/history.d.ts +18 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +92 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/init.d.ts +0 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +19 -33
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/ledger-rebuild.d.ts +17 -0
- package/dist/commands/ledger-rebuild.d.ts.map +1 -0
- package/dist/commands/ledger-rebuild.js +287 -0
- package/dist/commands/ledger-rebuild.js.map +1 -0
- package/dist/commands/ledger.d.ts +20 -0
- package/dist/commands/ledger.d.ts.map +1 -0
- package/dist/commands/ledger.js +111 -0
- package/dist/commands/ledger.js.map +1 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +5 -4
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/log.js +2 -2
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +373 -6
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/migrate-ledger.d.ts +17 -0
- package/dist/commands/migrate-ledger.d.ts.map +1 -0
- package/dist/commands/migrate-ledger.js +127 -0
- package/dist/commands/migrate-ledger.js.map +1 -0
- package/dist/commands/migrate.d.ts +5 -3
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +192 -90
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/move.d.ts.map +1 -1
- package/dist/commands/move.js +16 -3
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/patch.d.ts.map +1 -1
- package/dist/commands/patch.js +19 -10
- package/dist/commands/patch.js.map +1 -1
- package/dist/commands/show.js +5 -4
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/stats.d.ts +20 -0
- package/dist/commands/stats.d.ts.map +1 -0
- package/dist/commands/stats.js +151 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/tui.d.ts.map +1 -1
- package/dist/commands/tui.js +10 -0
- package/dist/commands/tui.js.map +1 -1
- package/dist/lib/contractRunner.js +1 -1
- package/dist/lib/contractRunner.js.map +1 -1
- package/dist/schemas/board.json +105 -18
- package/dist/utils/date-helpers.d.ts +20 -0
- package/dist/utils/date-helpers.d.ts.map +1 -0
- package/dist/utils/date-helpers.js +54 -0
- package/dist/utils/date-helpers.js.map +1 -0
- package/dist/utils/v2-detect.d.ts +5 -5
- package/dist/utils/v2-detect.d.ts.map +1 -1
- package/dist/utils/v2-detect.js +22 -19
- package/dist/utils/v2-detect.js.map +1 -1
- package/dist/utils/workspace-format.d.ts +25 -0
- package/dist/utils/workspace-format.d.ts.map +1 -0
- package/dist/utils/workspace-format.js +106 -0
- package/dist/utils/workspace-format.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,127 @@
|
|
|
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
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.migrateLedgerCommand = migrateLedgerCommand;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
43
|
+
const dist_1 = require("../../../core/dist");
|
|
44
|
+
const logger_1 = require("../utils/logger");
|
|
45
|
+
const cli_error_1 = require("../utils/cli-error");
|
|
46
|
+
const brainfile_path_1 = require("../utils/brainfile-path");
|
|
47
|
+
const v2_detect_1 = require("../utils/v2-detect");
|
|
48
|
+
function recordKey(record) {
|
|
49
|
+
return `${record.id}::${record.completedAt}`;
|
|
50
|
+
}
|
|
51
|
+
function loadExistingRecordKeys(ledgerPath, logsDir) {
|
|
52
|
+
if (!fs.existsSync(ledgerPath)) {
|
|
53
|
+
return new Set();
|
|
54
|
+
}
|
|
55
|
+
return new Set((0, dist_1.readLedger)(logsDir).map(recordKey));
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Convert legacy logs/*.md entries into append-only ledger records.
|
|
59
|
+
*/
|
|
60
|
+
function migrateLedgerCommand(options, logger = logger_1.defaultLogger) {
|
|
61
|
+
const filePath = (0, brainfile_path_1.resolveCliBrainfilePath)(options.file);
|
|
62
|
+
if (!fs.existsSync(filePath)) {
|
|
63
|
+
throw (0, cli_error_1.fileNotFound)(filePath);
|
|
64
|
+
}
|
|
65
|
+
if (!(0, v2_detect_1.isV2)(filePath)) {
|
|
66
|
+
throw (0, cli_error_1.operationFailed)('migrate-ledger requires v2 per-task file architecture. Run: brainfile migrate');
|
|
67
|
+
}
|
|
68
|
+
const dirs = (0, v2_detect_1.getV2Dirs)(filePath);
|
|
69
|
+
const logsDir = dirs.logsDir;
|
|
70
|
+
const ledgerPath = path.join(logsDir, 'ledger.jsonl');
|
|
71
|
+
const legacyDocs = (0, dist_1.readTasksDir)(logsDir).sort((a, b) => {
|
|
72
|
+
const left = a.task.completedAt || a.task.updatedAt || a.task.createdAt || '';
|
|
73
|
+
const right = b.task.completedAt || b.task.updatedAt || b.task.createdAt || '';
|
|
74
|
+
return left.localeCompare(right);
|
|
75
|
+
});
|
|
76
|
+
if (legacyDocs.length === 0) {
|
|
77
|
+
logger.log(chalk_1.default.yellow('No legacy markdown logs found to migrate.'));
|
|
78
|
+
return {
|
|
79
|
+
success: true,
|
|
80
|
+
migrated: 0,
|
|
81
|
+
skipped: 0,
|
|
82
|
+
removed: 0,
|
|
83
|
+
ledgerPath,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
const existingKeys = loadExistingRecordKeys(ledgerPath, logsDir);
|
|
87
|
+
let migrated = 0;
|
|
88
|
+
let skipped = 0;
|
|
89
|
+
for (const doc of legacyDocs) {
|
|
90
|
+
const completedAt = doc.task.completedAt || doc.task.updatedAt || doc.task.createdAt || new Date().toISOString();
|
|
91
|
+
const record = (0, dist_1.buildLedgerRecord)(doc, doc.body, { completedAt });
|
|
92
|
+
const key = recordKey(record);
|
|
93
|
+
if (existingKeys.has(key)) {
|
|
94
|
+
skipped += 1;
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
(0, dist_1.appendLedgerRecord)(logsDir, record);
|
|
98
|
+
existingKeys.add(key);
|
|
99
|
+
migrated += 1;
|
|
100
|
+
}
|
|
101
|
+
let removed = 0;
|
|
102
|
+
if (options.clean) {
|
|
103
|
+
for (const doc of legacyDocs) {
|
|
104
|
+
if (!doc.filePath) {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (fs.existsSync(doc.filePath)) {
|
|
108
|
+
fs.unlinkSync(doc.filePath);
|
|
109
|
+
removed += 1;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
logger.log(chalk_1.default.green('Ledger migration complete.'));
|
|
114
|
+
logger.log('');
|
|
115
|
+
logger.log(chalk_1.default.gray(` Migrated: ${migrated}`));
|
|
116
|
+
logger.log(chalk_1.default.gray(` Skipped: ${skipped}`));
|
|
117
|
+
logger.log(chalk_1.default.gray(` Removed: ${removed}`));
|
|
118
|
+
logger.log(chalk_1.default.gray(` Ledger: ${ledgerPath}`));
|
|
119
|
+
return {
|
|
120
|
+
success: true,
|
|
121
|
+
migrated,
|
|
122
|
+
skipped,
|
|
123
|
+
removed,
|
|
124
|
+
ledgerPath,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=migrate-ledger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-ledger.js","sourceRoot":"","sources":["../../src/commands/migrate-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
interface MigrateOptions {
|
|
2
2
|
/** Migration root directory (defaults to cwd) */
|
|
3
3
|
dir?: string;
|
|
4
|
+
/** Overwrite existing migration outputs (task files, backups) */
|
|
4
5
|
force?: boolean;
|
|
5
|
-
/**
|
|
6
|
+
/** Deprecated alias; migration always targets v2 now */
|
|
6
7
|
v2?: boolean;
|
|
8
|
+
/** Remove migrated logs/*.md files after ledger conversion */
|
|
9
|
+
clean?: boolean;
|
|
7
10
|
}
|
|
8
11
|
/**
|
|
9
|
-
* Migrate
|
|
10
|
-
* or convert v1 embedded tasks to v2 per-task file architecture.
|
|
12
|
+
* Migrate legacy workspace layouts to v2 (.brainfile/brainfile.md + board/ + logs/).
|
|
11
13
|
*/
|
|
12
14
|
export declare function migrateCommand(options?: MigrateOptions): void;
|
|
13
15
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAgBA,UAAU,cAAc;IACtB,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,cAAmB,QAuB1D"}
|
package/dist/commands/migrate.js
CHANGED
|
@@ -41,105 +41,133 @@ const fs = __importStar(require("fs"));
|
|
|
41
41
|
const path = __importStar(require("path"));
|
|
42
42
|
const chalk_1 = __importDefault(require("chalk"));
|
|
43
43
|
const core_1 = require("@brainfile/core");
|
|
44
|
-
const dot_brainfile_1 = require("../utils/dot-brainfile");
|
|
45
44
|
const core_2 = require("@brainfile/core");
|
|
45
|
+
const dist_1 = require("../../../core/dist");
|
|
46
|
+
const dot_brainfile_1 = require("../utils/dot-brainfile");
|
|
46
47
|
const v2_detect_1 = require("../utils/v2-detect");
|
|
48
|
+
const workspace_format_1 = require("../utils/workspace-format");
|
|
47
49
|
/**
|
|
48
|
-
* Migrate
|
|
49
|
-
* or convert v1 embedded tasks to v2 per-task file architecture.
|
|
50
|
+
* Migrate legacy workspace layouts to v2 (.brainfile/brainfile.md + board/ + logs/).
|
|
50
51
|
*/
|
|
51
52
|
function migrateCommand(options = {}) {
|
|
52
53
|
try {
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
const rootDir = path.resolve(options.dir || process.cwd());
|
|
55
|
+
const probe = (0, workspace_format_1.probeWorkspaceFormat)(rootDir);
|
|
56
|
+
if (probe.format === 'empty') {
|
|
57
|
+
console.error(chalk_1.default.red('Error: No brainfile found to migrate.'));
|
|
58
|
+
console.log(chalk_1.default.gray(`Checked: ${probe.paths.rootBrainfilePath}`));
|
|
59
|
+
console.log(chalk_1.default.gray(`Checked: ${probe.paths.dotBrainfilePath}`));
|
|
60
|
+
process.exit(1);
|
|
55
61
|
return;
|
|
56
62
|
}
|
|
57
|
-
|
|
58
|
-
|
|
63
|
+
console.log(chalk_1.default.cyan('Migrating v1 → v2...'));
|
|
64
|
+
const brainfilePath = migrateWorkspaceToV2(probe, options);
|
|
65
|
+
console.log('');
|
|
66
|
+
console.log(chalk_1.default.cyan('Converting logs to ledger...'));
|
|
67
|
+
convertLogsToLedger(brainfilePath, options);
|
|
59
68
|
}
|
|
60
69
|
catch (error) {
|
|
61
70
|
console.error(chalk_1.default.red('Error:'), error instanceof Error ? error.message : String(error));
|
|
62
71
|
process.exit(1);
|
|
63
72
|
}
|
|
64
73
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const rootDir = path.resolve(options.dir || process.cwd());
|
|
70
|
-
const legacyPath = path.join(rootDir, 'brainfile.md');
|
|
71
|
-
const dotDir = path.join(rootDir, '.brainfile');
|
|
72
|
-
const targetPath = path.join(dotDir, 'brainfile.md');
|
|
73
|
-
if (!fs.existsSync(legacyPath)) {
|
|
74
|
-
console.error(chalk_1.default.red(`Error: File not found: ${legacyPath}`));
|
|
75
|
-
console.log(chalk_1.default.gray('Nothing to migrate.'));
|
|
76
|
-
process.exit(1);
|
|
74
|
+
function migrateWorkspaceToV2(probe, options) {
|
|
75
|
+
if (probe.format === 'v2') {
|
|
76
|
+
migrateBrainfileToV2(probe.paths.dotBrainfilePath, options);
|
|
77
|
+
return probe.paths.dotBrainfilePath;
|
|
77
78
|
}
|
|
78
|
-
if (
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
if (probe.format === 'legacy-root') {
|
|
80
|
+
migrateRootBrainfileToDotDir(probe, options);
|
|
81
|
+
migrateBrainfileToV2(probe.paths.dotBrainfilePath, options);
|
|
82
|
+
return probe.paths.dotBrainfilePath;
|
|
83
|
+
}
|
|
84
|
+
if (probe.format === 'legacy-dotbrainfile') {
|
|
85
|
+
migrateBrainfileToV2(probe.paths.dotBrainfilePath, options);
|
|
86
|
+
return probe.paths.dotBrainfilePath;
|
|
87
|
+
}
|
|
88
|
+
return migrateMixedWorkspace(probe, options);
|
|
89
|
+
}
|
|
90
|
+
function migrateMixedWorkspace(probe, options) {
|
|
91
|
+
const { presence, paths } = probe;
|
|
92
|
+
const hasFullV2 = presence.dotBrainfile && presence.boardDir && presence.logsDir;
|
|
93
|
+
if (hasFullV2) {
|
|
94
|
+
if (presence.rootBrainfile) {
|
|
95
|
+
const backupPath = backupAndRemoveLegacyRoot(paths.rootBrainfilePath, paths.dotDir);
|
|
96
|
+
console.log(chalk_1.default.yellow('Legacy root brainfile detected alongside v2 workspace.'));
|
|
97
|
+
console.log(chalk_1.default.gray(` Backed up root file to: ${backupPath}`));
|
|
98
|
+
}
|
|
99
|
+
(0, dot_brainfile_1.ensureDotBrainfileGitignore)(paths.dotBrainfilePath);
|
|
100
|
+
(0, dot_brainfile_1.removeLegacyStateFile)(paths.dotBrainfilePath);
|
|
101
|
+
console.log(chalk_1.default.green('Workspace is already v2. No task migration needed.'));
|
|
102
|
+
return paths.dotBrainfilePath;
|
|
103
|
+
}
|
|
104
|
+
if (presence.rootBrainfile && !presence.dotBrainfile) {
|
|
105
|
+
migrateRootBrainfileToDotDir(probe, options);
|
|
106
|
+
migrateBrainfileToV2(paths.dotBrainfilePath, options);
|
|
107
|
+
return paths.dotBrainfilePath;
|
|
108
|
+
}
|
|
109
|
+
if (presence.rootBrainfile && presence.dotBrainfile) {
|
|
110
|
+
const backupPath = backupAndRemoveLegacyRoot(paths.rootBrainfilePath, paths.dotDir);
|
|
111
|
+
console.log(chalk_1.default.yellow('Found both root and .brainfile brainfiles; using .brainfile/brainfile.md as source.'));
|
|
112
|
+
console.log(chalk_1.default.gray(` Backed up root file to: ${backupPath}`));
|
|
113
|
+
migrateBrainfileToV2(paths.dotBrainfilePath, options);
|
|
114
|
+
return paths.dotBrainfilePath;
|
|
115
|
+
}
|
|
116
|
+
if (presence.dotBrainfile) {
|
|
117
|
+
migrateBrainfileToV2(paths.dotBrainfilePath, options);
|
|
118
|
+
return paths.dotBrainfilePath;
|
|
119
|
+
}
|
|
120
|
+
throw new Error('Mixed workspace detected, but no migratable brainfile.md was found.');
|
|
121
|
+
}
|
|
122
|
+
function migrateRootBrainfileToDotDir(probe, options) {
|
|
123
|
+
const { rootBrainfilePath, dotDir, dotBrainfilePath } = probe.paths;
|
|
124
|
+
if (!fs.existsSync(rootBrainfilePath)) {
|
|
125
|
+
throw new Error(`File not found: ${rootBrainfilePath}`);
|
|
126
|
+
}
|
|
127
|
+
if (fs.existsSync(dotBrainfilePath) && !options.force) {
|
|
128
|
+
throw new Error(`Target already exists: ${dotBrainfilePath}. ` +
|
|
129
|
+
'Run `brainfile migrate` again after resolving conflicts, or use --force.');
|
|
82
130
|
}
|
|
83
131
|
fs.mkdirSync(dotDir, { recursive: true });
|
|
84
|
-
(
|
|
85
|
-
|
|
86
|
-
if (fs.existsSync(targetPath) && options.force) {
|
|
87
|
-
fs.rmSync(targetPath, { force: true });
|
|
132
|
+
if (fs.existsSync(dotBrainfilePath) && options.force) {
|
|
133
|
+
fs.rmSync(dotBrainfilePath, { force: true });
|
|
88
134
|
}
|
|
89
135
|
// Prefer rename for exact preservation; fall back to copy+unlink on failure.
|
|
90
136
|
try {
|
|
91
|
-
fs.renameSync(
|
|
137
|
+
fs.renameSync(rootBrainfilePath, dotBrainfilePath);
|
|
92
138
|
}
|
|
93
139
|
catch {
|
|
94
|
-
const contents = fs.readFileSync(
|
|
95
|
-
fs.writeFileSync(
|
|
96
|
-
fs.rmSync(
|
|
140
|
+
const contents = fs.readFileSync(rootBrainfilePath);
|
|
141
|
+
fs.writeFileSync(dotBrainfilePath, contents);
|
|
142
|
+
fs.rmSync(rootBrainfilePath, { force: true });
|
|
97
143
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
console.log(chalk_1.default.gray(`
|
|
101
|
-
console.log(chalk_1.default.gray(` To: ${targetPath}`));
|
|
102
|
-
console.log('');
|
|
103
|
-
console.log(chalk_1.default.gray('Next steps:'));
|
|
104
|
-
console.log(chalk_1.default.gray(' - Your CLI/MCP commands will auto-detect the new location'));
|
|
105
|
-
console.log(chalk_1.default.gray(' - Optionally commit `.brainfile/brainfile.md` to git'));
|
|
144
|
+
(0, dot_brainfile_1.ensureDotBrainfileGitignore)(dotBrainfilePath);
|
|
145
|
+
(0, dot_brainfile_1.removeLegacyStateFile)(dotBrainfilePath);
|
|
146
|
+
console.log(chalk_1.default.gray(`Moved: ${rootBrainfilePath} -> ${dotBrainfilePath}`));
|
|
106
147
|
}
|
|
107
148
|
/**
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
* - Reads all tasks from columns + archive in brainfile.md
|
|
111
|
-
* - Writes each as an individual file in board/ (active) or logs/ (done/archived)
|
|
112
|
-
* - Rewrites brainfile.md as config-only (columns without tasks)
|
|
113
|
-
* - Non-destructive: backs up original brainfile.md first
|
|
149
|
+
* Convert a single legacy board file into v2 per-task files.
|
|
114
150
|
*/
|
|
115
|
-
function
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
let brainfilePath;
|
|
119
|
-
const dotPath = path.join(rootDir, '.brainfile', 'brainfile.md');
|
|
120
|
-
const rootPath = path.join(rootDir, 'brainfile.md');
|
|
121
|
-
if (fs.existsSync(dotPath)) {
|
|
122
|
-
brainfilePath = dotPath;
|
|
123
|
-
}
|
|
124
|
-
else if (fs.existsSync(rootPath)) {
|
|
125
|
-
brainfilePath = rootPath;
|
|
151
|
+
function migrateBrainfileToV2(brainfilePath, options) {
|
|
152
|
+
if (!fs.existsSync(brainfilePath)) {
|
|
153
|
+
throw new Error(`File not found: ${brainfilePath}`);
|
|
126
154
|
}
|
|
127
|
-
else {
|
|
128
|
-
console.error(chalk_1.default.red('Error: No brainfile found to migrate.'));
|
|
129
|
-
console.log(chalk_1.default.gray(`Checked: ${dotPath}`));
|
|
130
|
-
console.log(chalk_1.default.gray(`Checked: ${rootPath}`));
|
|
131
|
-
process.exit(1);
|
|
132
|
-
return; // unreachable but for TS
|
|
133
|
-
}
|
|
134
|
-
// Parse the current brainfile
|
|
135
155
|
const content = fs.readFileSync(brainfilePath, 'utf-8');
|
|
136
156
|
const parsed = core_1.Brainfile.parseWithErrors(content);
|
|
137
157
|
if (!parsed.board) {
|
|
138
|
-
|
|
139
|
-
process.exit(1);
|
|
140
|
-
return;
|
|
158
|
+
throw new Error(`Failed to parse brainfile: ${parsed.error}`);
|
|
141
159
|
}
|
|
142
160
|
const board = parsed.board;
|
|
161
|
+
const dotDir = path.dirname(path.resolve(brainfilePath));
|
|
162
|
+
const hasBoardDir = fs.existsSync(path.join(dotDir, 'board'));
|
|
163
|
+
const hasLogsDir = fs.existsSync(path.join(dotDir, 'logs'));
|
|
164
|
+
const hasEmbeddedColumnTasks = board.columns.some((column) => (column.tasks?.length ?? 0) > 0);
|
|
165
|
+
const hasEmbeddedArchiveTasks = Array.isArray(board.archive)
|
|
166
|
+
&& (board.archive?.length ?? 0) > 0;
|
|
167
|
+
if (hasBoardDir && hasLogsDir && !hasEmbeddedColumnTasks && !hasEmbeddedArchiveTasks) {
|
|
168
|
+
console.log(chalk_1.default.green('Already using v2 per-task file architecture.'));
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
143
171
|
// Back up original file
|
|
144
172
|
const backupPath = brainfilePath + '.v1.bak';
|
|
145
173
|
if (!fs.existsSync(backupPath) || options.force) {
|
|
@@ -151,22 +179,27 @@ function migrateToV2(options) {
|
|
|
151
179
|
}
|
|
152
180
|
// Ensure v2 directory structure
|
|
153
181
|
const dirs = (0, v2_detect_1.ensureV2Dirs)(brainfilePath);
|
|
154
|
-
|
|
155
|
-
let logCount = 0;
|
|
156
|
-
// Check for existing board/ files to avoid clobbering
|
|
182
|
+
// Validate/clear existing task files
|
|
157
183
|
const existingTaskFiles = fs.existsSync(dirs.boardDir)
|
|
158
|
-
? fs.readdirSync(dirs.boardDir).filter(f => f.endsWith('.md'))
|
|
184
|
+
? fs.readdirSync(dirs.boardDir).filter((f) => f.endsWith('.md'))
|
|
159
185
|
: [];
|
|
160
186
|
const existingLogFiles = fs.existsSync(dirs.logsDir)
|
|
161
|
-
? fs.readdirSync(dirs.logsDir).filter(f => f.endsWith('.md'))
|
|
187
|
+
? fs.readdirSync(dirs.logsDir).filter((f) => f.endsWith('.md'))
|
|
162
188
|
: [];
|
|
163
189
|
if ((existingTaskFiles.length > 0 || existingLogFiles.length > 0) && !options.force) {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
process.exit(1);
|
|
167
|
-
return;
|
|
190
|
+
throw new Error('board/ or logs/ already contains task files. ' +
|
|
191
|
+
'Use --force to replace existing .md files in those directories.');
|
|
168
192
|
}
|
|
169
|
-
|
|
193
|
+
if (options.force) {
|
|
194
|
+
for (const name of existingTaskFiles) {
|
|
195
|
+
fs.rmSync(path.join(dirs.boardDir, name), { force: true });
|
|
196
|
+
}
|
|
197
|
+
for (const name of existingLogFiles) {
|
|
198
|
+
fs.rmSync(path.join(dirs.logsDir, name), { force: true });
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
let activeCount = 0;
|
|
202
|
+
let logCount = 0;
|
|
170
203
|
const doneColumnIds = new Set();
|
|
171
204
|
for (const col of board.columns) {
|
|
172
205
|
if (col.completionColumn ||
|
|
@@ -175,13 +208,12 @@ function migrateToV2(options) {
|
|
|
175
208
|
doneColumnIds.add(col.id);
|
|
176
209
|
}
|
|
177
210
|
}
|
|
178
|
-
// Write active tasks and done tasks to files
|
|
179
211
|
for (const col of board.columns) {
|
|
180
212
|
const isDone = doneColumnIds.has(col.id);
|
|
181
|
-
|
|
182
|
-
|
|
213
|
+
const tasks = col.tasks || [];
|
|
214
|
+
for (let i = 0; i < tasks.length; i++) {
|
|
215
|
+
const task = tasks[i];
|
|
183
216
|
if (isDone) {
|
|
184
|
-
// Move to logs - remove column/position, add completedAt
|
|
185
217
|
const logTask = {
|
|
186
218
|
...task,
|
|
187
219
|
completedAt: task.completedAt || new Date().toISOString(),
|
|
@@ -193,7 +225,6 @@ function migrateToV2(options) {
|
|
|
193
225
|
logCount++;
|
|
194
226
|
}
|
|
195
227
|
else {
|
|
196
|
-
// Active task - add column and position
|
|
197
228
|
const activeTask = {
|
|
198
229
|
...task,
|
|
199
230
|
column: col.id,
|
|
@@ -205,8 +236,7 @@ function migrateToV2(options) {
|
|
|
205
236
|
}
|
|
206
237
|
}
|
|
207
238
|
}
|
|
208
|
-
|
|
209
|
-
if (board.archive && board.archive.length > 0) {
|
|
239
|
+
if (Array.isArray(board.archive) && board.archive.length > 0) {
|
|
210
240
|
for (const task of board.archive) {
|
|
211
241
|
const logTask = {
|
|
212
242
|
...task,
|
|
@@ -219,21 +249,18 @@ function migrateToV2(options) {
|
|
|
219
249
|
logCount++;
|
|
220
250
|
}
|
|
221
251
|
}
|
|
222
|
-
// Rewrite brainfile.md as config-only (strip tasks from columns, remove archive)
|
|
223
252
|
const configBoard = { ...board };
|
|
224
|
-
configBoard.columns = board.columns.map(col => ({
|
|
253
|
+
configBoard.columns = board.columns.map((col) => ({
|
|
225
254
|
id: col.id,
|
|
226
255
|
title: col.title,
|
|
227
256
|
...(col.order !== undefined && { order: col.order }),
|
|
228
257
|
...(col.completionColumn && { completionColumn: col.completionColumn }),
|
|
229
|
-
tasks: [],
|
|
258
|
+
tasks: [],
|
|
230
259
|
}));
|
|
231
260
|
delete configBoard.archive;
|
|
232
|
-
// Update schema to v2
|
|
233
261
|
configBoard.schema = 'https://brainfile.md/v2/board.json';
|
|
234
262
|
const configContent = core_1.Brainfile.serialize(configBoard);
|
|
235
263
|
fs.writeFileSync(brainfilePath, configContent, 'utf-8');
|
|
236
|
-
// Ensure .gitignore and remove legacy state file
|
|
237
264
|
(0, dot_brainfile_1.ensureDotBrainfileGitignore)(brainfilePath);
|
|
238
265
|
(0, dot_brainfile_1.removeLegacyStateFile)(brainfilePath);
|
|
239
266
|
console.log(chalk_1.default.green('Migration to v2 complete!'));
|
|
@@ -242,7 +269,82 @@ function migrateToV2(options) {
|
|
|
242
269
|
console.log(chalk_1.default.gray(` Completed/logs: ${logCount} files in logs/`));
|
|
243
270
|
console.log(chalk_1.default.gray(` Board config: ${brainfilePath} (config-only)`));
|
|
244
271
|
console.log(chalk_1.default.gray(` Backup: ${backupPath}`));
|
|
272
|
+
}
|
|
273
|
+
function backupAndRemoveLegacyRoot(rootBrainfilePath, dotDir) {
|
|
274
|
+
const backupPath = uniquePath(path.join(dotDir, 'brainfile.root.legacy.bak'));
|
|
275
|
+
fs.mkdirSync(dotDir, { recursive: true });
|
|
276
|
+
fs.copyFileSync(rootBrainfilePath, backupPath);
|
|
277
|
+
fs.rmSync(rootBrainfilePath, { force: true });
|
|
278
|
+
return backupPath;
|
|
279
|
+
}
|
|
280
|
+
function uniquePath(basePath) {
|
|
281
|
+
if (!fs.existsSync(basePath))
|
|
282
|
+
return basePath;
|
|
283
|
+
const ext = path.extname(basePath);
|
|
284
|
+
const stem = basePath.slice(0, basePath.length - ext.length);
|
|
285
|
+
let i = 1;
|
|
286
|
+
while (true) {
|
|
287
|
+
const candidate = `${stem}.${i}${ext}`;
|
|
288
|
+
if (!fs.existsSync(candidate))
|
|
289
|
+
return candidate;
|
|
290
|
+
i++;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
function recordKey(record) {
|
|
294
|
+
return `${record.id}::${record.completedAt}`;
|
|
295
|
+
}
|
|
296
|
+
function loadExistingRecordKeys(ledgerPath, logsDir) {
|
|
297
|
+
if (!fs.existsSync(ledgerPath)) {
|
|
298
|
+
return new Set();
|
|
299
|
+
}
|
|
300
|
+
return new Set((0, dist_1.readLedger)(logsDir).map(recordKey));
|
|
301
|
+
}
|
|
302
|
+
function convertLogsToLedger(brainfilePath, options) {
|
|
303
|
+
const dirs = (0, v2_detect_1.ensureV2Dirs)(brainfilePath);
|
|
304
|
+
const logsDir = dirs.logsDir;
|
|
305
|
+
const ledgerPath = path.join(logsDir, 'ledger.jsonl');
|
|
306
|
+
const legacyDocs = (0, dist_1.readTasksDir)(logsDir).sort((a, b) => {
|
|
307
|
+
const left = a.task.completedAt || a.task.updatedAt || a.task.createdAt || '';
|
|
308
|
+
const right = b.task.completedAt || b.task.updatedAt || b.task.createdAt || '';
|
|
309
|
+
return left.localeCompare(right);
|
|
310
|
+
});
|
|
311
|
+
if (legacyDocs.length === 0) {
|
|
312
|
+
console.log(chalk_1.default.yellow('No legacy markdown logs found to migrate.'));
|
|
313
|
+
console.log(chalk_1.default.gray(` Ledger: ${ledgerPath}`));
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
316
|
+
const existingKeys = loadExistingRecordKeys(ledgerPath, logsDir);
|
|
317
|
+
let migrated = 0;
|
|
318
|
+
let skipped = 0;
|
|
319
|
+
for (const doc of legacyDocs) {
|
|
320
|
+
const completedAt = doc.task.completedAt || doc.task.updatedAt || doc.task.createdAt || new Date().toISOString();
|
|
321
|
+
const record = (0, dist_1.buildLedgerRecord)(doc, doc.body, { completedAt });
|
|
322
|
+
const key = recordKey(record);
|
|
323
|
+
if (existingKeys.has(key)) {
|
|
324
|
+
skipped += 1;
|
|
325
|
+
continue;
|
|
326
|
+
}
|
|
327
|
+
(0, dist_1.appendLedgerRecord)(logsDir, record);
|
|
328
|
+
existingKeys.add(key);
|
|
329
|
+
migrated += 1;
|
|
330
|
+
}
|
|
331
|
+
let removed = 0;
|
|
332
|
+
if (options.clean) {
|
|
333
|
+
for (const doc of legacyDocs) {
|
|
334
|
+
if (!doc.filePath) {
|
|
335
|
+
continue;
|
|
336
|
+
}
|
|
337
|
+
if (fs.existsSync(doc.filePath)) {
|
|
338
|
+
fs.unlinkSync(doc.filePath);
|
|
339
|
+
removed += 1;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
console.log(chalk_1.default.green('Ledger migration complete.'));
|
|
245
344
|
console.log('');
|
|
246
|
-
console.log(chalk_1.default.gray(
|
|
345
|
+
console.log(chalk_1.default.gray(` Migrated: ${migrated}`));
|
|
346
|
+
console.log(chalk_1.default.gray(` Skipped: ${skipped}`));
|
|
347
|
+
console.log(chalk_1.default.gray(` Removed: ${removed}`));
|
|
348
|
+
console.log(chalk_1.default.gray(` Ledger: ${ledgerPath}`));
|
|
247
349
|
}
|
|
248
350
|
//# sourceMappingURL=migrate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,wCAuBC;AArDD,uCAAyB;AACzB,2CAA6B;AAC7B,kDAA0B;AAC1B,0CAA4C;AAC5C,0CAAyE;AACzE,6CAM4B;AAC5B,0DAA4F;AAC5F,kDAAkD;AAClD,gEAAsF;AAatF;;GAEG;AACH,SAAgB,cAAc,CAAC,UAA0B,EAAE;IACzD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAA,uCAAoB,EAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACxD,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAqB,EAAE,OAAuB;IAC1E,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC1B,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC5D,OAAO,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACtC,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACnC,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC5D,OAAO,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACtC,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;QAC3C,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC5D,OAAO,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACtC,CAAC;IAED,OAAO,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAqB,EAAE,OAAuB;IAC3E,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC;IAEjF,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wDAAwD,CAAC,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,IAAA,2CAA2B,EAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAA,qCAAqB,EAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC,CAAC;QAC/E,OAAO,KAAK,CAAC,gBAAgB,CAAC;IAChC,CAAC;IAED,IAAI,QAAQ,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACrD,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC,gBAAgB,CAAC;IAChC,CAAC;IAED,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,qFAAqF,CAAC,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC,CAAC;QAEnE,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC,gBAAgB,CAAC;IAChC,CAAC;IAED,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC1B,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC,gBAAgB,CAAC;IAChC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAqB,EAAE,OAAuB;IAClF,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;IAEpE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,mBAAmB,iBAAiB,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CACb,0BAA0B,gBAAgB,IAAI;YAC9C,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACrD,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,6EAA6E;IAC7E,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACpD,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC7C,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,IAAA,2CAA2B,EAAC,gBAAgB,CAAC,CAAC;IAC9C,IAAA,qCAAqB,EAAC,gBAAgB,CAAC,CAAC;IAExC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,iBAAiB,OAAO,gBAAgB,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,aAAqB,EAAE,OAAuB;IAC1E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,gBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,MAAM,uBAAuB,GAAG,KAAK,CAAC,OAAO,CAAE,KAA+B,CAAC,OAAO,CAAC;WAClF,CAAE,KAAiC,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAEnE,IAAI,WAAW,IAAI,UAAU,IAAI,CAAC,sBAAsB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,wBAAwB;IACxB,MAAM,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAChD,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,gCAAgC;IAChC,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,aAAa,CAAC,CAAC;IAEzC,qCAAqC;IACrC,MAAM,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpD,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;QAClD,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CACb,+CAA+C;YAC/C,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;YACrC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;YACpC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAChC,IACE,GAAG,CAAC,gBAAgB;YACpB,sCAAsC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,sCAAsC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EACtD,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,OAAO,GAAS;oBACpB,GAAG,IAAI;oBACP,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBAC1D,CAAC;gBACF,OAAO,OAAO,CAAC,MAAM,CAAC;gBACtB,OAAO,OAAO,CAAC,QAAQ,CAAC;gBAExB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAA,mBAAY,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/D,IAAA,oBAAa,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChC,QAAQ,EAAE,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAS;oBACvB,GAAG,IAAI;oBACP,MAAM,EAAE,GAAG,CAAC,EAAE;oBACd,QAAQ,EAAE,CAAC;iBACZ,CAAC;gBAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,mBAAY,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjE,IAAA,oBAAa,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACpC,WAAW,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,OAAO,GAAS;gBACpB,GAAG,IAAI;gBACP,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAC1D,CAAC;YACF,OAAO,OAAO,CAAC,MAAM,CAAC;YACtB,OAAO,OAAO,CAAC,QAAQ,CAAC;YAExB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAA,mBAAY,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/D,IAAA,oBAAa,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChC,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IACjC,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChD,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACpD,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvE,KAAK,EAAE,EAAE;KACV,CAAC,CAAC,CAAC;IACJ,OAAO,WAAW,CAAC,OAAO,CAAC;IAC3B,WAAW,CAAC,MAAM,GAAG,oCAAoC,CAAC;IAE1D,MAAM,aAAa,GAAG,gBAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvD,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAExD,IAAA,2CAA2B,EAAC,aAAa,CAAC,CAAC;IAC3C,IAAA,qCAAqB,EAAC,aAAa,CAAC,CAAC;IAErC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,WAAW,kBAAkB,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,QAAQ,iBAAiB,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,aAAa,gBAAgB,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,yBAAyB,CAAC,iBAAyB,EAAE,MAAc;IAC1E,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAC9E,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC/C,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;IAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE9C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAE7D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAChD,CAAC,EAAE,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,MAAoB;IACrC,OAAO,GAAG,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB,EAAE,OAAe;IACjE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,GAAG,EAAU,CAAC;IAC3B,CAAC;IAED,OAAO,IAAI,GAAG,CAAC,IAAA,iBAAU,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,mBAAmB,CAAC,aAAqB,EAAE,OAAuB;IACzE,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,aAAa,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QAC9E,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QAC/E,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjE,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjH,MAAM,MAAM,GAAG,IAAA,wBAAiB,EAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAE9B,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,IAAA,yBAAkB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,QAAQ,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"move.d.ts","sourceRoot":"","sources":["../../src/commands/move.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmF,KAAK,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE1I,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"move.d.ts","sourceRoot":"","sources":["../../src/commands/move.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmF,KAAK,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE1I,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAgB7D,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAuBD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAiBD,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,GAAE,MAAsB,GAAG,UAAU,CAyG5F"}
|
package/dist/commands/move.js
CHANGED
|
@@ -56,6 +56,18 @@ function isTaskCompletable(task, board) {
|
|
|
56
56
|
const typeConfig = getBoardTypes(board)[taskType];
|
|
57
57
|
return typeConfig?.completable !== false;
|
|
58
58
|
}
|
|
59
|
+
function assertSafeTaskId(taskId) {
|
|
60
|
+
const trimmed = taskId.trim();
|
|
61
|
+
if (!trimmed || trimmed !== taskId) {
|
|
62
|
+
throw (0, cli_error_1.operationFailed)(`Invalid task ID: ${taskId}`);
|
|
63
|
+
}
|
|
64
|
+
if (taskId === '.' || taskId === '..') {
|
|
65
|
+
throw (0, cli_error_1.operationFailed)(`Invalid task ID: ${taskId}`);
|
|
66
|
+
}
|
|
67
|
+
if (path.isAbsolute(taskId) || /[\\/]/.test(taskId)) {
|
|
68
|
+
throw (0, cli_error_1.operationFailed)(`Invalid task ID: ${taskId}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
59
71
|
function moveCommand(options, logger = logger_1.defaultLogger) {
|
|
60
72
|
// Validate required options
|
|
61
73
|
if (!options.task) {
|
|
@@ -140,13 +152,14 @@ function moveCommand(options, logger = logger_1.defaultLogger) {
|
|
|
140
152
|
};
|
|
141
153
|
}
|
|
142
154
|
function moveCommandV2(options, filePath, logger) {
|
|
155
|
+
assertSafeTaskId(options.task);
|
|
143
156
|
const dirs = (0, v2_detect_1.getV2Dirs)(filePath);
|
|
144
157
|
const board = (0, v2_detect_1.readV2BoardConfig)(filePath);
|
|
145
|
-
const
|
|
146
|
-
|
|
147
|
-
if (!doc) {
|
|
158
|
+
const found = (0, v2_detect_1.findV2Task)(dirs, options.task, false);
|
|
159
|
+
if (!found || found.isLog) {
|
|
148
160
|
throw (0, cli_error_1.taskNotFound)(options.task);
|
|
149
161
|
}
|
|
162
|
+
const { doc, filePath: taskPath } = found;
|
|
150
163
|
const task = doc.task;
|
|
151
164
|
const sourceColumnId = task.column || '';
|
|
152
165
|
// Find source and target columns from board config (title aliases still supported)
|