@cleocode/cleo 2026.3.62 → 2026.3.64
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/dist/cli/commands/add.d.ts.map +1 -1
- package/dist/cli/commands/add.js +5 -2
- package/dist/cli/commands/add.js.map +1 -1
- package/dist/cli/commands/agents.d.ts +31 -0
- package/dist/cli/commands/agents.d.ts.map +1 -0
- package/dist/cli/commands/agents.js +104 -0
- package/dist/cli/commands/agents.js.map +1 -0
- package/dist/cli/commands/backfill.d.ts +32 -0
- package/dist/cli/commands/backfill.d.ts.map +1 -0
- package/dist/cli/commands/backfill.js +101 -0
- package/dist/cli/commands/backfill.js.map +1 -0
- package/dist/cli/commands/backup.js +1 -1
- package/dist/cli/commands/backup.js.map +1 -1
- package/dist/cli/commands/config.d.ts +1 -0
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +26 -0
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/context.js +1 -1
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/deps.d.ts +15 -0
- package/dist/cli/commands/deps.d.ts.map +1 -1
- package/dist/cli/commands/deps.js +28 -3
- package/dist/cli/commands/deps.js.map +1 -1
- package/dist/cli/commands/detect-drift.d.ts.map +1 -1
- package/dist/cli/commands/detect-drift.js +4 -3
- package/dist/cli/commands/detect-drift.js.map +1 -1
- package/dist/cli/commands/exists.d.ts +15 -0
- package/dist/cli/commands/exists.d.ts.map +1 -1
- package/dist/cli/commands/exists.js +33 -15
- package/dist/cli/commands/exists.js.map +1 -1
- package/dist/cli/commands/issue.d.ts +3 -0
- package/dist/cli/commands/issue.d.ts.map +1 -1
- package/dist/cli/commands/issue.js +23 -21
- package/dist/cli/commands/issue.js.map +1 -1
- package/dist/cli/commands/labels.js +1 -1
- package/dist/cli/commands/labels.js.map +1 -1
- package/dist/cli/commands/phases.js +1 -1
- package/dist/cli/commands/phases.js.map +1 -1
- package/dist/cli/commands/reason.d.ts +35 -0
- package/dist/cli/commands/reason.d.ts.map +1 -0
- package/dist/cli/commands/reason.js +104 -0
- package/dist/cli/commands/reason.js.map +1 -0
- package/dist/cli/commands/session.d.ts.map +1 -1
- package/dist/cli/commands/session.js +15 -0
- package/dist/cli/commands/session.js.map +1 -1
- package/dist/cli/commands/stats.d.ts.map +1 -1
- package/dist/cli/commands/stats.js +13 -1
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +8 -2
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +91 -38
- package/dist/cli/index.js.map +3 -3
- package/dist/dispatch/domains/admin.d.ts.map +1 -1
- package/dist/dispatch/domains/admin.js +25 -1
- package/dist/dispatch/domains/admin.js.map +1 -1
- package/dist/dispatch/domains/check.d.ts.map +1 -1
- package/dist/dispatch/domains/check.js +15 -1
- package/dist/dispatch/domains/check.js.map +1 -1
- package/dist/dispatch/domains/tasks.d.ts.map +1 -1
- package/dist/dispatch/domains/tasks.js +17 -1
- package/dist/dispatch/domains/tasks.js.map +1 -1
- package/dist/dispatch/engines/config-engine.d.ts +11 -0
- package/dist/dispatch/engines/config-engine.d.ts.map +1 -1
- package/dist/dispatch/engines/config-engine.js +26 -1
- package/dist/dispatch/engines/config-engine.js.map +1 -1
- package/dist/dispatch/engines/session-engine.d.ts.map +1 -1
- package/dist/dispatch/engines/session-engine.js +9 -5
- package/dist/dispatch/engines/session-engine.js.map +1 -1
- package/dist/dispatch/engines/system-engine.d.ts +6 -1
- package/dist/dispatch/engines/system-engine.d.ts.map +1 -1
- package/dist/dispatch/engines/system-engine.js +14 -1
- package/dist/dispatch/engines/system-engine.js.map +1 -1
- package/dist/dispatch/engines/task-engine.d.ts +19 -1
- package/dist/dispatch/engines/task-engine.d.ts.map +1 -1
- package/dist/dispatch/engines/task-engine.js +31 -2
- package/dist/dispatch/engines/task-engine.js.map +1 -1
- package/dist/dispatch/lib/engine.d.ts +3 -3
- package/dist/dispatch/lib/engine.d.ts.map +1 -1
- package/dist/dispatch/lib/engine.js +3 -3
- package/dist/dispatch/lib/engine.js.map +1 -1
- package/dist/dispatch/registry.d.ts.map +1 -1
- package/dist/dispatch/registry.js +81 -0
- package/dist/dispatch/registry.js.map +1 -1
- package/dist/mcp/index.js +37 -4
- package/dist/mcp/index.js.map +3 -3
- package/package.json +3 -3
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CLI exists command - check if a task ID exists.
|
|
3
|
+
*
|
|
4
|
+
* Fix #68: Calls getTask() from core directly instead of dispatching through
|
|
5
|
+
* MCP (tasks.exists was never registered in the operation registry).
|
|
6
|
+
*
|
|
3
7
|
* @task T4454
|
|
4
8
|
*/
|
|
5
9
|
import type { ShimCommand as Command } from '../commander-shim.js';
|
|
10
|
+
/**
|
|
11
|
+
* Register the exists command.
|
|
12
|
+
*
|
|
13
|
+
* @param program - Root CLI program instance.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* registerExistsCommand(rootCommand);
|
|
18
|
+
* // cleo exists T001 → exit 0 if found, exit 4 if not
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
6
21
|
export declare function registerExistsCommand(program: Command): void;
|
|
7
22
|
//# sourceMappingURL=exists.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exists.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/exists.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"exists.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/exists.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGnE;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8B5D"}
|
|
@@ -1,33 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CLI exists command - check if a task ID exists.
|
|
3
|
+
*
|
|
4
|
+
* Fix #68: Calls getTask() from core directly instead of dispatching through
|
|
5
|
+
* MCP (tasks.exists was never registered in the operation registry).
|
|
6
|
+
*
|
|
3
7
|
* @task T4454
|
|
4
8
|
*/
|
|
5
9
|
import { ExitCode } from '@cleocode/contracts';
|
|
6
|
-
import {
|
|
10
|
+
import { getTask, resolveProjectRoot } from '@cleocode/core/internal';
|
|
7
11
|
import { cliOutput } from '../renderers/index.js';
|
|
12
|
+
/**
|
|
13
|
+
* Register the exists command.
|
|
14
|
+
*
|
|
15
|
+
* @param program - Root CLI program instance.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* registerExistsCommand(rootCommand);
|
|
20
|
+
* // cleo exists T001 → exit 0 if found, exit 4 if not
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
8
23
|
export function registerExistsCommand(program) {
|
|
9
24
|
program
|
|
10
25
|
.command('exists <task-id>')
|
|
11
26
|
.description('Check if a task ID exists (exit 0=exists, 4=not found)')
|
|
12
|
-
.option('--
|
|
13
|
-
.option('--verbose', 'Show which file contains the task')
|
|
27
|
+
.option('--verbose', 'Show task title and status when found')
|
|
14
28
|
.action(async (taskId, opts) => {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
});
|
|
20
|
-
if (!response.success) {
|
|
21
|
-
handleRawError(response, { command: 'exists', operation: 'tasks.exists' });
|
|
29
|
+
const cwd = resolveProjectRoot();
|
|
30
|
+
let task;
|
|
31
|
+
try {
|
|
32
|
+
task = await getTask(taskId, cwd);
|
|
22
33
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
34
|
+
catch (err) {
|
|
35
|
+
console.error(`exists: ${err instanceof Error ? err.message : String(err)}`);
|
|
36
|
+
process.exit(ExitCode.GENERAL_ERROR);
|
|
26
37
|
}
|
|
27
|
-
|
|
28
|
-
|
|
38
|
+
if (!task) {
|
|
39
|
+
const data = { exists: false, taskId };
|
|
40
|
+
cliOutput(data, { command: 'exists', operation: 'tasks.exists' });
|
|
29
41
|
process.exit(ExitCode.NOT_FOUND);
|
|
30
42
|
}
|
|
43
|
+
const data = { exists: true, taskId };
|
|
44
|
+
if (opts['verbose']) {
|
|
45
|
+
data['title'] = task.title;
|
|
46
|
+
data['status'] = task.status;
|
|
47
|
+
}
|
|
48
|
+
cliOutput(data, { command: 'exists', operation: 'tasks.exists' });
|
|
31
49
|
});
|
|
32
50
|
}
|
|
33
51
|
//# sourceMappingURL=exists.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exists.js","sourceRoot":"","sources":["../../../src/cli/commands/exists.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"exists.js","sourceRoot":"","sources":["../../../src/cli/commands/exists.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAA6B,EAAE,EAAE;QAC9D,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;QACjC,IAAI,IAAyC,CAAC;QAE9C,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YACvC,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC/D,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,CAAC;QAED,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
* CLI issue command - file bug reports, feature requests, or questions to CLEO GitHub.
|
|
3
3
|
* Supports subcommands: bug, feature, help, diagnostics.
|
|
4
4
|
*
|
|
5
|
+
* Fix #63: Calls addIssue() from core directly instead of dispatching through
|
|
6
|
+
* MCP (the tools.issue.add.* operations were removed from the registry in T5615).
|
|
7
|
+
*
|
|
5
8
|
* @task T4555
|
|
6
9
|
* @epic T4545
|
|
7
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/issue.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/issue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAKnE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4D3D"}
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
* CLI issue command - file bug reports, feature requests, or questions to CLEO GitHub.
|
|
3
3
|
* Supports subcommands: bug, feature, help, diagnostics.
|
|
4
4
|
*
|
|
5
|
+
* Fix #63: Calls addIssue() from core directly instead of dispatching through
|
|
6
|
+
* MCP (the tools.issue.add.* operations were removed from the registry in T5615).
|
|
7
|
+
*
|
|
5
8
|
* @task T4555
|
|
6
9
|
* @epic T4545
|
|
7
10
|
*/
|
|
8
11
|
import { execFileSync } from 'node:child_process';
|
|
9
|
-
import { BUILD_CONFIG } from '@cleocode/core/internal';
|
|
10
|
-
import { dispatchFromCli
|
|
12
|
+
import { addIssue, BUILD_CONFIG } from '@cleocode/core/internal';
|
|
13
|
+
import { dispatchFromCli } from '../../dispatch/adapters/cli.js';
|
|
11
14
|
import { cliOutput } from '../renderers/index.js';
|
|
12
15
|
const CLEO_REPO = BUILD_CONFIG.repository.fullName;
|
|
13
16
|
/**
|
|
@@ -67,30 +70,29 @@ export function registerIssueCommand(program) {
|
|
|
67
70
|
}
|
|
68
71
|
/**
|
|
69
72
|
* Handle issue creation for a subcommand type (bug, feature, help).
|
|
70
|
-
*
|
|
73
|
+
* Calls addIssue() from core directly (Fix #63: MCP operations were removed in T5615).
|
|
71
74
|
* @task T4555
|
|
72
75
|
*/
|
|
73
76
|
async function handleIssueType(issueType, opts) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
77
|
+
let result;
|
|
78
|
+
try {
|
|
79
|
+
result = addIssue({
|
|
80
|
+
issueType,
|
|
81
|
+
title: opts['title'],
|
|
82
|
+
body: opts['body'],
|
|
83
|
+
severity: opts['severity'],
|
|
84
|
+
area: opts['area'],
|
|
85
|
+
dryRun: !!opts['dryRun'],
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
console.error(`Failed to create issue: ${err instanceof Error ? err.message : String(err)}`);
|
|
90
|
+
process.exitCode = 1;
|
|
88
91
|
return;
|
|
89
92
|
}
|
|
90
|
-
const result = response.data;
|
|
91
93
|
// Handle browser open if requested
|
|
92
|
-
if (opts['open'] && typeof result
|
|
93
|
-
const issueNumber = result
|
|
94
|
+
if (opts['open'] && typeof result.url === 'string' && result.url.startsWith('https://')) {
|
|
95
|
+
const issueNumber = result.url.match(/(\d+)$/)?.[1] ?? 'unknown';
|
|
94
96
|
try {
|
|
95
97
|
execFileSync('gh', ['issue', 'view', issueNumber, '--repo', CLEO_REPO, '--web'], {
|
|
96
98
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
@@ -100,6 +102,6 @@ async function handleIssueType(issueType, opts) {
|
|
|
100
102
|
// Browser open is non-fatal
|
|
101
103
|
}
|
|
102
104
|
}
|
|
103
|
-
cliOutput(result, { command: 'issue', operation: `tools.${
|
|
105
|
+
cliOutput(result, { command: 'issue', operation: `tools.issue.add.${issueType}` });
|
|
104
106
|
}
|
|
105
107
|
//# sourceMappingURL=issue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../src/cli/commands/issue.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../src/cli/commands/issue.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export function registerLabelsCommand(program) {
|
|
|
14
14
|
.command('labels')
|
|
15
15
|
.description('List all labels with counts or show tasks with specific label');
|
|
16
16
|
labels
|
|
17
|
-
.command('list')
|
|
17
|
+
.command('list', { isDefault: true })
|
|
18
18
|
.description('List all labels with task counts (default)')
|
|
19
19
|
.action(async () => {
|
|
20
20
|
await dispatchFromCli('query', 'tasks', 'label.list', {}, { command: 'labels' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../../src/cli/commands/labels.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+DAA+D,CAAC,CAAC;IAEhF,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../../src/cli/commands/labels.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+DAA+D,CAAC,CAAC;IAEhF,MAAM;SACH,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SACpC,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE;QAC9B,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,kEAAkE;QAClE,yEAAyE;QACzE,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEL,wBAAwB;IACxB,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -14,7 +14,7 @@ export function registerPhasesCommand(program) {
|
|
|
14
14
|
.description('List phases with progress bars and statistics');
|
|
15
15
|
// T5326: Migrated to dispatch
|
|
16
16
|
phases
|
|
17
|
-
.command('list')
|
|
17
|
+
.command('list', { isDefault: true })
|
|
18
18
|
.description('List all phases with progress (default)')
|
|
19
19
|
.action(async () => {
|
|
20
20
|
await dispatchFromCli('query', 'pipeline', 'phase.list', {}, { command: 'phases' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phases.js","sourceRoot":"","sources":["../../../src/cli/commands/phases.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+CAA+C,CAAC,CAAC;IAEhE,8BAA8B;IAC9B,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"phases.js","sourceRoot":"","sources":["../../../src/cli/commands/phases.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+CAA+C,CAAC,CAAC;IAEhE,8BAA8B;IAC9B,MAAM;SACH,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SACpC,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEL,8BAA8B;IAC9B,MAAM;SACH,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE;QAC9B,MAAM,eAAe,CACnB,OAAO,EACP,UAAU,EACV,YAAY,EACZ,EAAE,OAAO,EAAE,KAAK,EAAE,EAClB,EAAE,OAAO,EAAE,QAAQ,EAAE,CACtB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,8BAA8B;IAC9B,MAAM;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI reason command group — reasoning and intelligence operations.
|
|
3
|
+
*
|
|
4
|
+
* Surfaces BRAIN memory reasoning and task dependency intelligence as
|
|
5
|
+
* first-class CLI commands, providing parity with MCP-only operations.
|
|
6
|
+
*
|
|
7
|
+
* Commands:
|
|
8
|
+
* cleo reason why <taskId> — causal trace through dependency chains
|
|
9
|
+
* cleo reason similar <taskId> — find semantically similar BRAIN entries
|
|
10
|
+
* cleo reason impact --change <text> — predict impact of a free-text change (T043)
|
|
11
|
+
* cleo reason impact <taskId> — downstream dependency impact for a known task
|
|
12
|
+
* cleo reason timeline <taskId> — task history and audit trail
|
|
13
|
+
*
|
|
14
|
+
* @task T043
|
|
15
|
+
* @task T044
|
|
16
|
+
* @epic T038
|
|
17
|
+
*/
|
|
18
|
+
import type { ShimCommand as Command } from '../commander-shim.js';
|
|
19
|
+
/**
|
|
20
|
+
* Register the `cleo reason` command group and its subcommands.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* Adds `why`, `similar`, `impact`, and `timeline` subcommands that
|
|
24
|
+
* dispatch to the intelligence and tasks domains.
|
|
25
|
+
*
|
|
26
|
+
* @param program - Root CLI program instance (commander shim).
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* registerReasonCommand(rootCommand);
|
|
31
|
+
* // Adds: cleo reason why|similar|impact|timeline
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function registerReasonCommand(program: Command): void;
|
|
35
|
+
//# sourceMappingURL=reason.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reason.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/reason.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0G5D"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI reason command group — reasoning and intelligence operations.
|
|
3
|
+
*
|
|
4
|
+
* Surfaces BRAIN memory reasoning and task dependency intelligence as
|
|
5
|
+
* first-class CLI commands, providing parity with MCP-only operations.
|
|
6
|
+
*
|
|
7
|
+
* Commands:
|
|
8
|
+
* cleo reason why <taskId> — causal trace through dependency chains
|
|
9
|
+
* cleo reason similar <taskId> — find semantically similar BRAIN entries
|
|
10
|
+
* cleo reason impact --change <text> — predict impact of a free-text change (T043)
|
|
11
|
+
* cleo reason impact <taskId> — downstream dependency impact for a known task
|
|
12
|
+
* cleo reason timeline <taskId> — task history and audit trail
|
|
13
|
+
*
|
|
14
|
+
* @task T043
|
|
15
|
+
* @task T044
|
|
16
|
+
* @epic T038
|
|
17
|
+
*/
|
|
18
|
+
import { dispatchFromCli } from '../../dispatch/adapters/cli.js';
|
|
19
|
+
/**
|
|
20
|
+
* Register the `cleo reason` command group and its subcommands.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* Adds `why`, `similar`, `impact`, and `timeline` subcommands that
|
|
24
|
+
* dispatch to the intelligence and tasks domains.
|
|
25
|
+
*
|
|
26
|
+
* @param program - Root CLI program instance (commander shim).
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* registerReasonCommand(rootCommand);
|
|
31
|
+
* // Adds: cleo reason why|similar|impact|timeline
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function registerReasonCommand(program) {
|
|
35
|
+
const reason = program
|
|
36
|
+
.command('reason')
|
|
37
|
+
.description('Reasoning and intelligence operations (why, similar, impact, timeline)');
|
|
38
|
+
// -- why --
|
|
39
|
+
reason
|
|
40
|
+
.command('why <taskId>')
|
|
41
|
+
.description('Explain why a task exists via causal trace through dependency chains')
|
|
42
|
+
.option('--json', 'Output raw JSON envelope')
|
|
43
|
+
.action(async (taskId) => {
|
|
44
|
+
await dispatchFromCli('query', 'memory', 'reason.why', { taskId }, { command: 'reason', operation: 'memory.reason.why' });
|
|
45
|
+
});
|
|
46
|
+
// -- similar --
|
|
47
|
+
reason
|
|
48
|
+
.command('similar <taskId>')
|
|
49
|
+
.description('Find BRAIN entries semantically similar to a task or observation ID')
|
|
50
|
+
.option('--limit <n>', 'Maximum number of results to return', parseInt)
|
|
51
|
+
.option('--json', 'Output raw JSON envelope')
|
|
52
|
+
.action(async (taskId, opts) => {
|
|
53
|
+
await dispatchFromCli('query', 'memory', 'reason.similar', {
|
|
54
|
+
entryId: taskId,
|
|
55
|
+
limit: opts['limit'],
|
|
56
|
+
}, { command: 'reason', operation: 'memory.reason.similar' });
|
|
57
|
+
});
|
|
58
|
+
// -- impact --
|
|
59
|
+
// Two modes:
|
|
60
|
+
// cleo reason impact --change "Modify X" → free-text prediction (T043)
|
|
61
|
+
// cleo reason impact <taskId> → dependency graph impact for known task
|
|
62
|
+
reason
|
|
63
|
+
.command('impact [taskId]')
|
|
64
|
+
.description('Predict impact of a change. Use --change for free-text prediction, or pass a taskId for graph-based analysis.')
|
|
65
|
+
.option('--change <description>', 'Free-text description of the proposed change (T043)')
|
|
66
|
+
.option('--limit <n>', 'Maximum seed tasks to match when using --change (default: 5)', '5')
|
|
67
|
+
.option('--depth <n>', 'Maximum traversal depth when using taskId (default: 10)', '10')
|
|
68
|
+
.option('--json', 'Output raw JSON envelope')
|
|
69
|
+
.action(async (taskId, opts) => {
|
|
70
|
+
const change = opts['change'];
|
|
71
|
+
if (change) {
|
|
72
|
+
// Free-text impact prediction (T043): tasks.impact
|
|
73
|
+
await dispatchFromCli('query', 'tasks', 'impact', {
|
|
74
|
+
change,
|
|
75
|
+
matchLimit: parseInt(opts['limit'], 10),
|
|
76
|
+
}, { command: 'reason', operation: 'tasks.impact' });
|
|
77
|
+
}
|
|
78
|
+
else if (taskId) {
|
|
79
|
+
// Graph-based impact for a specific known task: tasks.depends
|
|
80
|
+
await dispatchFromCli('query', 'tasks', 'depends', {
|
|
81
|
+
taskId,
|
|
82
|
+
action: 'impact',
|
|
83
|
+
depth: parseInt(opts['depth'], 10),
|
|
84
|
+
}, { command: 'reason', operation: 'tasks.depends' });
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
process.stderr.write('Error: reason impact requires either --change <description> or a <taskId>\n');
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
// -- timeline --
|
|
92
|
+
reason
|
|
93
|
+
.command('timeline <taskId>')
|
|
94
|
+
.description('Show history and audit trail for a task')
|
|
95
|
+
.option('--limit <n>', 'Maximum number of history entries', parseInt)
|
|
96
|
+
.option('--json', 'Output raw JSON envelope')
|
|
97
|
+
.action(async (taskId, opts) => {
|
|
98
|
+
await dispatchFromCli('query', 'tasks', 'history', {
|
|
99
|
+
taskId,
|
|
100
|
+
limit: opts['limit'],
|
|
101
|
+
}, { command: 'reason', operation: 'tasks.history' });
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=reason.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reason.js","sourceRoot":"","sources":["../../../src/cli/commands/reason.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGnE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGnE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2O7D"}
|
|
@@ -106,6 +106,21 @@ export function registerSessionCommand(program) {
|
|
|
106
106
|
sessionId,
|
|
107
107
|
}, { command: 'session', operation: 'session.resume' });
|
|
108
108
|
});
|
|
109
|
+
session
|
|
110
|
+
.command('find')
|
|
111
|
+
.description('Find sessions (lightweight discovery — minimal fields, low context cost)')
|
|
112
|
+
.option('--status <status>', 'Filter by status (active|ended|orphaned)')
|
|
113
|
+
.option('--scope <scope>', 'Filter by scope (e.g. "epic:T001" or "global")')
|
|
114
|
+
.option('--query <query>', 'Fuzzy match on session name or ID')
|
|
115
|
+
.option('--limit <n>', 'Max results', parseInt)
|
|
116
|
+
.action(async (opts) => {
|
|
117
|
+
await dispatchFromCli('query', 'session', 'find', {
|
|
118
|
+
status: opts['status'],
|
|
119
|
+
scope: opts['scope'],
|
|
120
|
+
query: opts['query'],
|
|
121
|
+
limit: opts['limit'],
|
|
122
|
+
}, { command: 'session', operation: 'session.find' });
|
|
123
|
+
});
|
|
109
124
|
session
|
|
110
125
|
.command('list')
|
|
111
126
|
.description('List sessions')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/cli/commands/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/cli/commands/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/stats.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEnE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/stats.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEnE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoC3D"}
|
|
@@ -9,7 +9,7 @@ import { dispatchFromCli } from '../../dispatch/adapters/cli.js';
|
|
|
9
9
|
* @task T4535
|
|
10
10
|
*/
|
|
11
11
|
export function registerStatsCommand(program) {
|
|
12
|
-
program
|
|
12
|
+
const stats = program
|
|
13
13
|
.command('stats')
|
|
14
14
|
.description('Project statistics (counts, completion rates, velocity)')
|
|
15
15
|
.option('-p, --period <period>', 'Analysis period: today/week/month/quarter/year or days', '30')
|
|
@@ -19,5 +19,17 @@ export function registerStatsCommand(program) {
|
|
|
19
19
|
period: opts['period'] ? Number(opts['period']) : 30,
|
|
20
20
|
}, { command: 'stats', operation: 'admin.stats' });
|
|
21
21
|
});
|
|
22
|
+
// T065: Workflow compliance subcommand — `cleo stats compliance`
|
|
23
|
+
stats
|
|
24
|
+
.command('compliance')
|
|
25
|
+
.description('Agent workflow compliance dashboard (WF-001 through WF-005)')
|
|
26
|
+
.option('--since <date>', 'Filter to tasks/events from this date (ISO 8601)')
|
|
27
|
+
.option('--json', 'Output raw JSON instead of formatted dashboard')
|
|
28
|
+
.action(async (opts) => {
|
|
29
|
+
await dispatchFromCli('query', 'check', 'workflow.compliance', {
|
|
30
|
+
since: opts['since'],
|
|
31
|
+
json: opts['json'],
|
|
32
|
+
}, { command: 'stats compliance', operation: 'check.workflow.compliance' });
|
|
33
|
+
});
|
|
22
34
|
}
|
|
23
35
|
//# sourceMappingURL=stats.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/cli/commands/stats.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/cli/commands/stats.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,yDAAyD,CAAC;SACtE,MAAM,CAAC,uBAAuB,EAAE,wDAAwD,EAAE,IAAI,CAAC;SAC/F,MAAM,CAAC,eAAe,EAAE,uCAAuC,CAAC;SAChE,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,EAAE;QAC9C,MAAM,eAAe,CACnB,OAAO,EACP,OAAO,EACP,OAAO,EACP;YACE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;SACrD,EACD,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAC/C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,iEAAiE;IACjE,KAAK;SACF,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,gBAAgB,EAAE,kDAAkD,CAAC;SAC5E,MAAM,CAAC,QAAQ,EAAE,gDAAgD,CAAC;SAClE,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,EAAE;QAC9C,MAAM,eAAe,CACnB,OAAO,EACP,OAAO,EACP,qBAAqB,EACrB;YACE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;YACpB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;SACnB,EACD,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,2BAA2B,EAAE,CACxE,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEnE;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEnE;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmE5D"}
|
|
@@ -26,11 +26,12 @@ export function registerUpdateCommand(program) {
|
|
|
26
26
|
.option('--add-depends <ids>', 'Add dependencies (comma-separated)')
|
|
27
27
|
.option('--remove-depends <ids>', 'Remove dependencies (comma-separated)')
|
|
28
28
|
.option('--notes <note>', 'Add a note')
|
|
29
|
-
.option('--acceptance <criteria>', 'Set acceptance criteria (
|
|
29
|
+
.option('--acceptance <criteria>', 'Set acceptance criteria (pipe-separated, e.g. "AC1|AC2|AC3")')
|
|
30
30
|
.option('--files <files>', 'Set files (comma-separated)')
|
|
31
31
|
.option('--blocked-by <reason>', 'Set blocked-by reason')
|
|
32
32
|
.option('--parent <id>', 'Set parent ID')
|
|
33
33
|
.option('--no-auto-complete', 'Disable auto-complete for epic')
|
|
34
|
+
.option('--pipeline-stage <stage>', 'Set pipeline stage (forward-only: research|consensus|architecture_decision|specification|decomposition|implementation|validation|testing|release|contribution)')
|
|
34
35
|
.action(async (taskId, opts) => {
|
|
35
36
|
const params = { taskId };
|
|
36
37
|
if (opts['title'] !== undefined)
|
|
@@ -62,7 +63,10 @@ export function registerUpdateCommand(program) {
|
|
|
62
63
|
if (opts['notes'] !== undefined)
|
|
63
64
|
params['notes'] = opts['notes'];
|
|
64
65
|
if (opts['acceptance'])
|
|
65
|
-
params['acceptance'] = opts['acceptance']
|
|
66
|
+
params['acceptance'] = opts['acceptance']
|
|
67
|
+
.split('|')
|
|
68
|
+
.map((s) => s.trim())
|
|
69
|
+
.filter(Boolean);
|
|
66
70
|
if (opts['files'])
|
|
67
71
|
params['files'] = opts['files'].split(',').map((s) => s.trim());
|
|
68
72
|
if (opts['blockedBy'] !== undefined)
|
|
@@ -71,6 +75,8 @@ export function registerUpdateCommand(program) {
|
|
|
71
75
|
params['parent'] = opts['parent'];
|
|
72
76
|
if (opts['autoComplete'] === false)
|
|
73
77
|
params['noAutoComplete'] = true;
|
|
78
|
+
if (opts['pipelineStage'] !== undefined)
|
|
79
|
+
params['pipelineStage'] = opts['pipelineStage'];
|
|
74
80
|
await dispatchFromCli('mutate', 'tasks', 'update', params, { command: 'update' });
|
|
75
81
|
});
|
|
76
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,eAAe,CAAC;SAC5B,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC;SACtC,MAAM,CAAC,uBAAuB,EAAE,YAAY,CAAC;SAC7C,MAAM,CAAC,2BAA2B,EAAE,cAAc,CAAC;SACnD,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC;SACvC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC;SACnC,MAAM,CAAC,qBAAqB,EAAE,WAAW,CAAC;SAC1C,MAAM,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;SACrD,MAAM,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;SAC/D,MAAM,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;SAC/D,MAAM,CAAC,0BAA0B,EAAE,iCAAiC,CAAC;SACrE,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;SACnE,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;SACnE,MAAM,CAAC,wBAAwB,EAAE,uCAAuC,CAAC;SACzE,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC;SACtC,MAAM,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,eAAe,CAAC;SAC5B,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC;SACtC,MAAM,CAAC,uBAAuB,EAAE,YAAY,CAAC;SAC7C,MAAM,CAAC,2BAA2B,EAAE,cAAc,CAAC;SACnD,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC;SACvC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC;SACnC,MAAM,CAAC,qBAAqB,EAAE,WAAW,CAAC;SAC1C,MAAM,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;SACrD,MAAM,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;SAC/D,MAAM,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;SAC/D,MAAM,CAAC,0BAA0B,EAAE,iCAAiC,CAAC;SACrE,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;SACnE,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;SACnE,MAAM,CAAC,wBAAwB,EAAE,uCAAuC,CAAC;SACzE,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC;SACtC,MAAM,CACL,yBAAyB,EACzB,8DAA8D,CAC/D;SACA,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;SACxD,MAAM,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;SACxD,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC;SACxC,MAAM,CAAC,oBAAoB,EAAE,gCAAgC,CAAC;SAC9D,MAAM,CACL,0BAA0B,EAC1B,gKAAgK,CACjK;SACA,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAA6B,EAAE,EAAE;QAC9D,MAAM,MAAM,GAA4B,EAAE,MAAM,EAAE,CAAC;QAEnD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,QAAQ,CAAC;YAChB,MAAM,CAAC,QAAQ,CAAC,GAAI,IAAI,CAAC,QAAQ,CAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,IAAI,IAAI,CAAC,WAAW,CAAC;YACnB,MAAM,CAAC,WAAW,CAAC,GAAI,IAAI,CAAC,WAAW,CAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtF,IAAI,IAAI,CAAC,cAAc,CAAC;YACtB,MAAM,CAAC,cAAc,CAAC,GAAI,IAAI,CAAC,cAAc,CAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,IAAI,CAAC,SAAS,CAAC;YACjB,MAAM,CAAC,SAAS,CAAC,GAAI,IAAI,CAAC,SAAS,CAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,YAAY,CAAC;YACpB,MAAM,CAAC,YAAY,CAAC,GAAI,IAAI,CAAC,YAAY,CAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxF,IAAI,IAAI,CAAC,eAAe,CAAC;YACvB,MAAM,CAAC,eAAe,CAAC,GAAI,IAAI,CAAC,eAAe,CAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,YAAY,CAAC;YACpB,MAAM,CAAC,YAAY,CAAC,GAAI,IAAI,CAAC,YAAY,CAAY;iBAClD,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC;YACf,MAAM,CAAC,OAAO,CAAC,GAAI,IAAI,CAAC,OAAO,CAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK;YAAE,MAAM,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;QACpE,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;QAEzF,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;AACP,CAAC"}
|