@newpeak/barista-cli 0.2.279 ā 0.2.285
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/commands/liberica/index.d.ts.map +1 -1
- package/dist/commands/liberica/index.js +2 -0
- package/dist/commands/liberica/index.js.map +1 -1
- package/dist/commands/liberica/settings/get.d.ts +3 -0
- package/dist/commands/liberica/settings/get.d.ts.map +1 -0
- package/dist/commands/liberica/settings/get.js +88 -0
- package/dist/commands/liberica/settings/get.js.map +1 -0
- package/dist/commands/liberica/settings/index.d.ts +3 -0
- package/dist/commands/liberica/settings/index.d.ts.map +1 -0
- package/dist/commands/liberica/settings/index.js +11 -0
- package/dist/commands/liberica/settings/index.js.map +1 -0
- package/dist/commands/liberica/settings/set.d.ts +3 -0
- package/dist/commands/liberica/settings/set.d.ts.map +1 -0
- package/dist/commands/liberica/settings/set.js +78 -0
- package/dist/commands/liberica/settings/set.js.map +1 -0
- package/dist/commands/liberica/settings/shared.d.ts +12 -0
- package/dist/commands/liberica/settings/shared.d.ts.map +1 -0
- package/dist/commands/liberica/settings/shared.js +23 -0
- package/dist/commands/liberica/settings/shared.js.map +1 -0
- package/dist/commands/liberica/teams/index.d.ts.map +1 -1
- package/dist/commands/liberica/teams/index.js +2 -0
- package/dist/commands/liberica/teams/index.js.map +1 -1
- package/dist/commands/liberica/teams/issues/list.d.ts.map +1 -1
- package/dist/commands/liberica/teams/issues/list.js +11 -0
- package/dist/commands/liberica/teams/issues/list.js.map +1 -1
- package/dist/commands/liberica/teams/plans/create.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/create.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/create.js +61 -0
- package/dist/commands/liberica/teams/plans/create.js.map +1 -0
- package/dist/commands/liberica/teams/plans/delete.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/delete.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/delete.js +43 -0
- package/dist/commands/liberica/teams/plans/delete.js.map +1 -0
- package/dist/commands/liberica/teams/plans/export.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/export.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/export.js +45 -0
- package/dist/commands/liberica/teams/plans/export.js.map +1 -0
- package/dist/commands/liberica/teams/plans/generate.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/generate.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/generate.js +55 -0
- package/dist/commands/liberica/teams/plans/generate.js.map +1 -0
- package/dist/commands/liberica/teams/plans/get.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/get.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/get.js +23 -0
- package/dist/commands/liberica/teams/plans/get.js.map +1 -0
- package/dist/commands/liberica/teams/plans/helpers.d.ts +18 -0
- package/dist/commands/liberica/teams/plans/helpers.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/helpers.js +96 -0
- package/dist/commands/liberica/teams/plans/helpers.js.map +1 -0
- package/dist/commands/liberica/teams/plans/index.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/index.js +29 -0
- package/dist/commands/liberica/teams/plans/index.js.map +1 -0
- package/dist/commands/liberica/teams/plans/items/add.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/items/add.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/items/add.js +73 -0
- package/dist/commands/liberica/teams/plans/items/add.js.map +1 -0
- package/dist/commands/liberica/teams/plans/items/edit.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/items/edit.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/items/edit.js +81 -0
- package/dist/commands/liberica/teams/plans/items/edit.js.map +1 -0
- package/dist/commands/liberica/teams/plans/items/import.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/items/import.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/items/import.js +91 -0
- package/dist/commands/liberica/teams/plans/items/import.js.map +1 -0
- package/dist/commands/liberica/teams/plans/items/index.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/items/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/items/index.js +19 -0
- package/dist/commands/liberica/teams/plans/items/index.js.map +1 -0
- package/dist/commands/liberica/teams/plans/items/list.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/items/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/items/list.js +44 -0
- package/dist/commands/liberica/teams/plans/items/list.js.map +1 -0
- package/dist/commands/liberica/teams/plans/items/moveWeek.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/items/moveWeek.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/items/moveWeek.js +36 -0
- package/dist/commands/liberica/teams/plans/items/moveWeek.js.map +1 -0
- package/dist/commands/liberica/teams/plans/items/remove.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/items/remove.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/items/remove.js +46 -0
- package/dist/commands/liberica/teams/plans/items/remove.js.map +1 -0
- package/dist/commands/liberica/teams/plans/list.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/list.js +41 -0
- package/dist/commands/liberica/teams/plans/list.js.map +1 -0
- package/dist/commands/liberica/teams/plans/rollup.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/rollup.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/rollup.js +30 -0
- package/dist/commands/liberica/teams/plans/rollup.js.map +1 -0
- package/dist/commands/liberica/teams/plans/scenarios/baseline.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/scenarios/baseline.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/scenarios/baseline.js +42 -0
- package/dist/commands/liberica/teams/plans/scenarios/baseline.js.map +1 -0
- package/dist/commands/liberica/teams/plans/scenarios/compare.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/scenarios/compare.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/scenarios/compare.js +39 -0
- package/dist/commands/liberica/teams/plans/scenarios/compare.js.map +1 -0
- package/dist/commands/liberica/teams/plans/scenarios/index.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/scenarios/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/scenarios/index.js +15 -0
- package/dist/commands/liberica/teams/plans/scenarios/index.js.map +1 -0
- package/dist/commands/liberica/teams/plans/scenarios/list.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/scenarios/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/scenarios/list.js +27 -0
- package/dist/commands/liberica/teams/plans/scenarios/list.js.map +1 -0
- package/dist/commands/liberica/teams/plans/scenarios/save.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/scenarios/save.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/scenarios/save.js +57 -0
- package/dist/commands/liberica/teams/plans/scenarios/save.js.map +1 -0
- package/dist/commands/liberica/teams/plans/update.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/update.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/update.js +89 -0
- package/dist/commands/liberica/teams/plans/update.js.map +1 -0
- package/dist/commands/liberica/teams/plans/week/index.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/week/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/week/index.js +9 -0
- package/dist/commands/liberica/teams/plans/week/index.js.map +1 -0
- package/dist/commands/liberica/teams/plans/week/list.d.ts +3 -0
- package/dist/commands/liberica/teams/plans/week/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/plans/week/list.js +27 -0
- package/dist/commands/liberica/teams/plans/week/list.js.map +1 -0
- package/dist/commands/liberica/teams/tasks/list.d.ts.map +1 -1
- package/dist/commands/liberica/teams/tasks/list.js +18 -0
- package/dist/commands/liberica/teams/tasks/list.js.map +1 -1
- package/dist/core/api/client.d.ts +23 -0
- package/dist/core/api/client.d.ts.map +1 -1
- package/dist/core/api/client.js +499 -0
- package/dist/core/api/client.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/settings.d.ts +9 -0
- package/dist/types/settings.d.ts.map +1 -0
- package/dist/types/settings.js +2 -0
- package/dist/types/settings.js.map +1 -0
- package/dist/types/team-issue.d.ts +2 -0
- package/dist/types/team-issue.d.ts.map +1 -1
- package/dist/types/team-plan.d.ts +265 -0
- package/dist/types/team-plan.d.ts.map +1 -0
- package/dist/types/team-plan.js +2 -0
- package/dist/types/team-plan.js.map +1 -0
- package/dist/types/team-task.d.ts +3 -1
- package/dist/types/team-task.d.ts.map +1 -1
- package/package.json +1 -1
- package/skills/barista-cli/data/commands.json +132 -1
- package/skills/barista-cli/data/commands.yaml +86 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { readFileSync } from 'fs';
|
|
4
|
+
import { apiClient } from '../../../../../core/api/client.js';
|
|
5
|
+
import { fail, handleResponse, optionalString, printDryRun, requireOption, resolveContext, } from '../helpers.js';
|
|
6
|
+
function parseRows(raw, json) {
|
|
7
|
+
let parsed;
|
|
8
|
+
try {
|
|
9
|
+
parsed = JSON.parse(raw);
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
fail('INVALID_ROWS_JSON', `Rows JSON is invalid: ${error instanceof Error ? error.message : 'unknown error'}`, json);
|
|
13
|
+
}
|
|
14
|
+
const candidate = parsed && !Array.isArray(parsed) && typeof parsed === 'object' && 'rows' in parsed
|
|
15
|
+
? parsed.rows
|
|
16
|
+
: parsed;
|
|
17
|
+
if (!Array.isArray(candidate)) {
|
|
18
|
+
fail('INVALID_ROWS_JSON', 'Rows JSON must be an array or an object with a rows array', json);
|
|
19
|
+
}
|
|
20
|
+
return candidate.map((row) => {
|
|
21
|
+
if (!row || typeof row !== 'object') {
|
|
22
|
+
fail('INVALID_ROW', 'Each imported row must be an object', json);
|
|
23
|
+
}
|
|
24
|
+
const record = row;
|
|
25
|
+
if (typeof record.itemTitle !== 'string' || record.itemTitle.trim() === '') {
|
|
26
|
+
fail('INVALID_ROW', 'Each imported row requires itemTitle', json);
|
|
27
|
+
}
|
|
28
|
+
if (typeof record.fp !== 'number' && typeof record.fp !== 'string') {
|
|
29
|
+
fail('INVALID_ROW', 'Each imported row requires a numeric fp', json);
|
|
30
|
+
}
|
|
31
|
+
const fp = Number(record.fp);
|
|
32
|
+
if (!Number.isFinite(fp)) {
|
|
33
|
+
fail('INVALID_ROW', `Invalid fp value: ${String(record.fp)}`, json);
|
|
34
|
+
}
|
|
35
|
+
return { ...record, fp };
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
export function createTeamPlanItemImportCommand() {
|
|
39
|
+
const command = new Command('import');
|
|
40
|
+
command.description('Import plan items from issues or a JSON rows payload');
|
|
41
|
+
command.argument('<plan-id>', 'Plan ID');
|
|
42
|
+
command
|
|
43
|
+
.option('--from-issues', 'Import items from Liberica issues')
|
|
44
|
+
.option('--custom-project-code <string>', 'Custom project code used by --from-issues')
|
|
45
|
+
.option('--rows <json>', 'Inline JSON array (or {rows:[]}) of items')
|
|
46
|
+
.option('--rows-file <path>', 'Path to a JSON file containing items')
|
|
47
|
+
.option('--dry-run', 'Print the request body without calling the API')
|
|
48
|
+
.option('--confirm', 'Confirm the write operation')
|
|
49
|
+
.option('--json', 'Output as JSON');
|
|
50
|
+
command.action(async (planId, options) => {
|
|
51
|
+
const { environment, tenant } = resolveContext(options);
|
|
52
|
+
const json = options.json === true;
|
|
53
|
+
const id = requireOption(planId, '<plan-id>', json);
|
|
54
|
+
let rows;
|
|
55
|
+
if (options.rowsFile) {
|
|
56
|
+
try {
|
|
57
|
+
rows = parseRows(readFileSync(String(options.rowsFile), 'utf8'), json);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
fail('ROWS_FILE_ERROR', `Unable to read rows file: ${error instanceof Error ? error.message : 'unknown error'}`, json);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else if (options.rows) {
|
|
64
|
+
rows = parseRows(String(options.rows), json);
|
|
65
|
+
}
|
|
66
|
+
if (!options.fromIssues && !rows) {
|
|
67
|
+
fail('MISSING_OPTION', 'Provide --from-issues or --rows/--rows-file', json);
|
|
68
|
+
}
|
|
69
|
+
const data = {
|
|
70
|
+
planId: id,
|
|
71
|
+
fromIssues: options.fromIssues === true,
|
|
72
|
+
};
|
|
73
|
+
const customProjectCode = optionalString(options.customProjectCode);
|
|
74
|
+
if (customProjectCode)
|
|
75
|
+
data.customProjectCode = customProjectCode;
|
|
76
|
+
if (rows)
|
|
77
|
+
data.rows = rows;
|
|
78
|
+
if (options.dryRun) {
|
|
79
|
+
printDryRun(data, json);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const response = await apiClient.importTeamPlanItems(environment, tenant, data);
|
|
83
|
+
handleResponse(response, json, (result) => {
|
|
84
|
+
console.log(chalk.green('\nā Plan items imported\n'));
|
|
85
|
+
console.log(JSON.stringify(result, null, 2));
|
|
86
|
+
console.log();
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
return command;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/import.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,0BAA0B,IAAI,OAAO,CAYpD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { createTeamPlanItemListCommand } from './list.js';
|
|
3
|
+
import { createTeamPlanItemAddCommand } from './add.js';
|
|
4
|
+
import { createTeamPlanItemEditCommand } from './edit.js';
|
|
5
|
+
import { createTeamPlanItemRemoveCommand } from './remove.js';
|
|
6
|
+
import { createTeamPlanItemMoveWeekCommand } from './moveWeek.js';
|
|
7
|
+
import { createTeamPlanItemImportCommand } from './import.js';
|
|
8
|
+
export function createTeamPlanItemsCommand() {
|
|
9
|
+
const items = new Command('items');
|
|
10
|
+
items.description('Manage team plan items');
|
|
11
|
+
items.addCommand(createTeamPlanItemListCommand());
|
|
12
|
+
items.addCommand(createTeamPlanItemAddCommand());
|
|
13
|
+
items.addCommand(createTeamPlanItemEditCommand());
|
|
14
|
+
items.addCommand(createTeamPlanItemRemoveCommand());
|
|
15
|
+
items.addCommand(createTeamPlanItemMoveWeekCommand());
|
|
16
|
+
items.addCommand(createTeamPlanItemImportCommand());
|
|
17
|
+
return items;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,UAAU,0BAA0B;IACxC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAE5C,KAAK,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC,CAAC;IACjD,KAAK,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,UAAU,CAAC,+BAA+B,EAAE,CAAC,CAAC;IACpD,KAAK,CAAC,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAC;IACtD,KAAK,CAAC,UAAU,CAAC,+BAA+B,EAAE,CAAC,CAAC;IAEpD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,6BAA6B,IAAI,OAAO,CAuCvD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { apiClient } from '../../../../../core/api/client.js';
|
|
4
|
+
import { handleResponse, printRows, requireOption, resolveContext, } from '../helpers.js';
|
|
5
|
+
export function createTeamPlanItemListCommand() {
|
|
6
|
+
const command = new Command('list');
|
|
7
|
+
command.description('List plan items');
|
|
8
|
+
command.argument('<plan-id>', 'Plan ID');
|
|
9
|
+
command
|
|
10
|
+
.option('-p, --page <number>', 'Page number', '1')
|
|
11
|
+
.option('-s, --size <number>', 'Page size', '20')
|
|
12
|
+
.option('--phase <string>', 'Filter by phase code')
|
|
13
|
+
.option('--week <string>', 'Filter by week code')
|
|
14
|
+
.option('--owner-id <string>', 'Filter by owner ID')
|
|
15
|
+
.option('--status <string>', 'Filter by item status')
|
|
16
|
+
.option('--keyword <string>', 'Fuzzy search by title or issue code')
|
|
17
|
+
.option('--json', 'Output as JSON');
|
|
18
|
+
command.action(async (planId, options) => {
|
|
19
|
+
const { environment, tenant } = resolveContext(options);
|
|
20
|
+
const json = options.json === true;
|
|
21
|
+
const params = {
|
|
22
|
+
planId: requireOption(planId, '<plan-id>', json),
|
|
23
|
+
pageNo: parseInt(options.page, 10),
|
|
24
|
+
pageSize: parseInt(options.size, 10),
|
|
25
|
+
};
|
|
26
|
+
if (options.phase)
|
|
27
|
+
params.phaseCode = options.phase;
|
|
28
|
+
if (options.week)
|
|
29
|
+
params.weekCode = options.week;
|
|
30
|
+
if (options.ownerId)
|
|
31
|
+
params.ownerId = options.ownerId;
|
|
32
|
+
if (options.status)
|
|
33
|
+
params.itemStatus = options.status;
|
|
34
|
+
if (options.keyword)
|
|
35
|
+
params.keyword = options.keyword;
|
|
36
|
+
const response = await apiClient.listTeamPlanItems(environment, tenant, params);
|
|
37
|
+
handleResponse(response, json, (data) => {
|
|
38
|
+
console.log(chalk.bold('\nš Team Plan Items\n'));
|
|
39
|
+
printRows(data);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
return command;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,EACL,cAAc,EACd,SAAS,EACT,aAAa,EACb,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,6BAA6B;IAC3C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEzC,OAAO;SACJ,MAAM,CAAC,qBAAqB,EAAE,aAAa,EAAE,GAAG,CAAC;SACjD,MAAM,CAAC,qBAAqB,EAAE,WAAW,EAAE,IAAI,CAAC;SAChD,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;SAClD,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;SAChD,MAAM,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;SACnD,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;SACpD,MAAM,CAAC,oBAAoB,EAAE,qCAAqC,CAAC;SACnE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEtC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE;QAC/C,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;QACnC,MAAM,MAAM,GAA4B;YACtC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC;YAChD,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACrC,CAAC;QAEF,IAAI,OAAO,CAAC,KAAK;YAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;QACpD,IAAI,OAAO,CAAC,IAAI;YAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QACjD,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACtD,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;QACvD,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAEtD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAEhF,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAClD,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moveWeek.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/moveWeek.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,iCAAiC,IAAI,OAAO,CAqC3D"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { apiClient } from '../../../../../core/api/client.js';
|
|
4
|
+
import { handleResponse, printDryRun, requireOption, resolveContext, } from '../helpers.js';
|
|
5
|
+
export function createTeamPlanItemMoveWeekCommand() {
|
|
6
|
+
const command = new Command('moveWeek');
|
|
7
|
+
command.description('Move a plan item to another week');
|
|
8
|
+
command.argument('<plan-id>', 'Plan ID');
|
|
9
|
+
command
|
|
10
|
+
.option('--item-id <string>', 'Plan item ID')
|
|
11
|
+
.option('--week <string>', 'Target week code (e.g. W4)')
|
|
12
|
+
.option('--change-note <string>', 'Reason for the move')
|
|
13
|
+
.option('--dry-run', 'Print the request body without calling the API')
|
|
14
|
+
.option('--confirm', 'Confirm the write operation')
|
|
15
|
+
.option('--json', 'Output as JSON');
|
|
16
|
+
command.action(async (planId, options) => {
|
|
17
|
+
const { environment, tenant } = resolveContext(options);
|
|
18
|
+
const json = options.json === true;
|
|
19
|
+
requireOption(planId, '<plan-id>', json);
|
|
20
|
+
const data = {
|
|
21
|
+
planItemId: requireOption(options.itemId, '--item-id', json),
|
|
22
|
+
weekCode: requireOption(options.week, '--week', json),
|
|
23
|
+
changeNote: requireOption(options.changeNote, '--change-note', json),
|
|
24
|
+
};
|
|
25
|
+
if (options.dryRun) {
|
|
26
|
+
printDryRun(data, json);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const response = await apiClient.moveTeamPlanItemWeek(environment, tenant, data);
|
|
30
|
+
handleResponse(response, json, () => {
|
|
31
|
+
console.log(chalk.green(`\nā Plan item ${data.planItemId} moved to ${data.weekCode}\n`));
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
return command;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=moveWeek.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moveWeek.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/moveWeek.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,iCAAiC;IAC/C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,OAAO,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEzC,OAAO;SACJ,MAAM,CAAC,oBAAoB,EAAE,cAAc,CAAC;SAC5C,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;SACvD,MAAM,CAAC,wBAAwB,EAAE,qBAAqB,CAAC;SACvD,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC;SACrE,MAAM,CAAC,WAAW,EAAE,6BAA6B,CAAC;SAClD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEtC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE;QAC/C,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;QACnC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAEzC,MAAM,IAAI,GAAgC;YACxC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC;YAC5D,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;YACrD,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,EAAE,IAAI,CAAC;SACrE,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEjF,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,+BAA+B,IAAI,OAAO,CA8CzD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { apiClient } from '../../../../../core/api/client.js';
|
|
4
|
+
import { handleResponse, optionalInteger, printDryRun, printJson, requireOption, resolveContext, } from '../helpers.js';
|
|
5
|
+
export function createTeamPlanItemRemoveCommand() {
|
|
6
|
+
const command = new Command('remove');
|
|
7
|
+
command.description('Remove a plan item');
|
|
8
|
+
command.argument('<plan-id>', 'Plan ID');
|
|
9
|
+
command
|
|
10
|
+
.option('--item-id <string>', 'Plan item ID')
|
|
11
|
+
.option('--optimistic-lock <number>', 'Optimistic lock version')
|
|
12
|
+
.option('--confirm', 'Confirm removal')
|
|
13
|
+
.option('--force', 'Alias for --confirm')
|
|
14
|
+
.option('--dry-run', 'Print the request body without calling the API')
|
|
15
|
+
.option('--json', 'Output as JSON');
|
|
16
|
+
command.action(async (planId, options) => {
|
|
17
|
+
const { environment, tenant } = resolveContext(options);
|
|
18
|
+
const json = options.json === true;
|
|
19
|
+
requireOption(planId, '<plan-id>', json);
|
|
20
|
+
const data = {
|
|
21
|
+
planItemId: requireOption(options.itemId, '--item-id', json),
|
|
22
|
+
};
|
|
23
|
+
const optimisticLock = optionalInteger(options.optimisticLock);
|
|
24
|
+
if (optimisticLock !== undefined)
|
|
25
|
+
data.optimisticLock = optimisticLock;
|
|
26
|
+
if (options.dryRun) {
|
|
27
|
+
printDryRun(data, json);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (!options.confirm && !options.force) {
|
|
31
|
+
if (json) {
|
|
32
|
+
printJson({ success: true, dryRun: true, needsConfirm: true, data });
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
console.log(chalk.yellow(`\nā ļø Add --confirm to remove plan item ${data.planItemId}\n`));
|
|
36
|
+
}
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const response = await apiClient.removeTeamPlanItem(environment, tenant, data);
|
|
40
|
+
handleResponse(response, json, () => {
|
|
41
|
+
console.log(chalk.green(`\nā Plan item ${data.planItemId} removed\n`));
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
return command;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=remove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACX,SAAS,EACT,aAAa,EACb,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,+BAA+B;IAC7C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEzC,OAAO;SACJ,MAAM,CAAC,oBAAoB,EAAE,cAAc,CAAC;SAC5C,MAAM,CAAC,4BAA4B,EAAE,yBAAyB,CAAC;SAC/D,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC;SACtC,MAAM,CAAC,SAAS,EAAE,qBAAqB,CAAC;SACxC,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC;SACrE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEtC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE;QAC/C,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;QACnC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAEzC,MAAM,IAAI,GAA8B;YACtC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC;SAC7D,CAAC;QACF,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,cAAc,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAEvE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,IAAI,EAAE,CAAC;gBACT,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2CAA2C,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;YAC5F,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAE/E,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,UAAU,YAAY,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/plans/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,yBAAyB,IAAI,OAAO,CAoCnD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { apiClient } from '../../../../core/api/client.js';
|
|
4
|
+
import { handleResponse, printRows, resolveContext } from './helpers.js';
|
|
5
|
+
export function createTeamPlanListCommand() {
|
|
6
|
+
const command = new Command('list');
|
|
7
|
+
command.description('List team plans with pagination');
|
|
8
|
+
command
|
|
9
|
+
.option('-p, --page <number>', 'Page number', '1')
|
|
10
|
+
.option('-s, --size <number>', 'Page size', '20')
|
|
11
|
+
.option('--plan-id <string>', 'Filter by plan ID')
|
|
12
|
+
.option('--name <string>', 'Filter by plan name')
|
|
13
|
+
.option('--custom-project-code <string>', 'Filter by custom project code')
|
|
14
|
+
.option('--scenario-code <string>', 'Filter by scenario code')
|
|
15
|
+
.option('--baseline', 'Only baseline plans')
|
|
16
|
+
.option('--json', 'Output as JSON');
|
|
17
|
+
command.action(async (options) => {
|
|
18
|
+
const { environment, tenant } = resolveContext(options);
|
|
19
|
+
const params = {
|
|
20
|
+
pageNo: parseInt(options.page, 10),
|
|
21
|
+
pageSize: parseInt(options.size, 10),
|
|
22
|
+
};
|
|
23
|
+
if (options.planId)
|
|
24
|
+
params.planId = options.planId;
|
|
25
|
+
if (options.name)
|
|
26
|
+
params.planName = options.name;
|
|
27
|
+
if (options.customProjectCode)
|
|
28
|
+
params.customProjectCode = options.customProjectCode;
|
|
29
|
+
if (options.scenarioCode)
|
|
30
|
+
params.scenarioCode = options.scenarioCode;
|
|
31
|
+
if (options.baseline)
|
|
32
|
+
params.baselineFlag = true;
|
|
33
|
+
const response = await apiClient.listTeamPlans(environment, tenant, params);
|
|
34
|
+
handleResponse(response, options.json === true, (data) => {
|
|
35
|
+
console.log(chalk.bold('\nš Team Plans\n'));
|
|
36
|
+
printRows(data);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
return command;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/plans/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEzE,MAAM,UAAU,yBAAyB;IACvC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC;IAEvD,OAAO;SACJ,MAAM,CAAC,qBAAqB,EAAE,aAAa,EAAE,GAAG,CAAC;SACjD,MAAM,CAAC,qBAAqB,EAAE,WAAW,EAAE,IAAI,CAAC;SAChD,MAAM,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;SACjD,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;SAChD,MAAM,CAAC,gCAAgC,EAAE,+BAA+B,CAAC;SACzE,MAAM,CAAC,0BAA0B,EAAE,yBAAyB,CAAC;SAC7D,MAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC;SAC3C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEtC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,MAAM,GAAwB;YAClC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACrC,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACnD,IAAI,OAAO,CAAC,IAAI;YAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QACjD,IAAI,OAAO,CAAC,iBAAiB;YAAE,MAAM,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACpF,IAAI,OAAO,CAAC,YAAY;YAAE,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACrE,IAAI,OAAO,CAAC,QAAQ;YAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAEjD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAE5E,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;YACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC7C,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/plans/rollup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,2BAA2B,IAAI,OAAO,CA4BrD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { apiClient } from '../../../../core/api/client.js';
|
|
4
|
+
import { handleResponse, requireOption, resolveContext, } from './helpers.js';
|
|
5
|
+
export function createTeamPlanRollupCommand() {
|
|
6
|
+
const command = new Command('rollup');
|
|
7
|
+
command.description('Recompute plan progress from issues, tasks and releases');
|
|
8
|
+
command.argument('<plan-id>', 'Plan ID');
|
|
9
|
+
command.option('--json', 'Output as JSON');
|
|
10
|
+
command.action(async (planId, options) => {
|
|
11
|
+
const { environment, tenant } = resolveContext(options);
|
|
12
|
+
const json = options.json === true;
|
|
13
|
+
const id = requireOption(planId, '<plan-id>', json);
|
|
14
|
+
const response = await apiClient.rollupTeamPlan(environment, tenant, id);
|
|
15
|
+
handleResponse(response, json, (data) => {
|
|
16
|
+
const result = data;
|
|
17
|
+
console.log(chalk.bold('\nš Plan Rollup\n'));
|
|
18
|
+
if (result) {
|
|
19
|
+
console.log(` ${chalk.gray('Plan ID:')} ${result.planId}`);
|
|
20
|
+
console.log(` ${chalk.gray('Total FP:')} ${result.totalFp}`);
|
|
21
|
+
console.log(` ${chalk.gray('Done FP:')} ${result.doneFp}`);
|
|
22
|
+
console.log(` ${chalk.gray('Progress:')} ${result.progress}%`);
|
|
23
|
+
console.log(` ${chalk.gray('Delayed:')} ${result.delayedCount}`);
|
|
24
|
+
}
|
|
25
|
+
console.log();
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
return command;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=rollup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rollup.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/plans/rollup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,MAAM,UAAU,2BAA2B;IACzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,WAAW,CAAC,yDAAyD,CAAC,CAAC;IAC/E,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAE3C,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAgC,EAAE,EAAE;QACxE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;QACnC,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAEzE,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,IAA6B,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC9C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/scenarios/baseline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,qCAAqC,IAAI,OAAO,CA6C/D"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { apiClient } from '../../../../../core/api/client.js';
|
|
4
|
+
import { handleResponse, printDryRun, printJson, requireOption, resolveContext, } from '../helpers.js';
|
|
5
|
+
export function createTeamPlanScenarioBaselineCommand() {
|
|
6
|
+
const command = new Command('baseline');
|
|
7
|
+
command.description('Set the scenario baseline for a plan');
|
|
8
|
+
command.argument('<plan-id>', 'Plan ID');
|
|
9
|
+
command
|
|
10
|
+
.option('--scenario-code <string>', 'Scenario code')
|
|
11
|
+
.option('--confirm', 'Confirm the baseline change')
|
|
12
|
+
.option('--force', 'Alias for --confirm')
|
|
13
|
+
.option('--dry-run', 'Print the request body without calling the API')
|
|
14
|
+
.option('--json', 'Output as JSON');
|
|
15
|
+
command.action(async (planId, options) => {
|
|
16
|
+
const { environment, tenant } = resolveContext(options);
|
|
17
|
+
const json = options.json === true;
|
|
18
|
+
const data = {
|
|
19
|
+
planId: requireOption(planId, '<plan-id>', json),
|
|
20
|
+
scenarioCode: requireOption(options.scenarioCode, '--scenario-code', json),
|
|
21
|
+
};
|
|
22
|
+
if (options.dryRun) {
|
|
23
|
+
printDryRun(data, json);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (!options.confirm && !options.force) {
|
|
27
|
+
if (json) {
|
|
28
|
+
printJson({ success: true, dryRun: true, needsConfirm: true, data });
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
console.log(chalk.yellow('\nā ļø Add --confirm to switch the scenario baseline\n'));
|
|
32
|
+
}
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const response = await apiClient.setTeamPlanBaseline(environment, tenant, data);
|
|
36
|
+
handleResponse(response, json, () => {
|
|
37
|
+
console.log(chalk.green(`\nā Scenario ${data.scenarioCode} is now the baseline for plan ${data.planId}\n`));
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
return command;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=baseline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/scenarios/baseline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,EACL,cAAc,EACd,WAAW,EACX,SAAS,EACT,aAAa,EACb,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,qCAAqC;IACnD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,OAAO,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEzC,OAAO;SACJ,MAAM,CAAC,0BAA0B,EAAE,eAAe,CAAC;SACnD,MAAM,CAAC,WAAW,EAAE,6BAA6B,CAAC;SAClD,MAAM,CAAC,SAAS,EAAE,qBAAqB,CAAC;SACxC,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC;SACrE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEtC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE;QAC/C,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;QAEnC,MAAM,IAAI,GAA+B;YACvC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC;YAChD,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC;SAC3E,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,IAAI,EAAE,CAAC;gBACT,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;YACrF,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEhF,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;YAClC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,YAAY,iCAAiC,IAAI,CAAC,MAAM,IAAI,CAAC,CAC/F,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/scenarios/compare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,oCAAoC,IAAI,OAAO,CA6C9D"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { apiClient } from '../../../../../core/api/client.js';
|
|
4
|
+
import { handleResponse, printDryRun, requireOption, resolveContext, } from '../helpers.js';
|
|
5
|
+
export function createTeamPlanScenarioCompareCommand() {
|
|
6
|
+
const command = new Command('compare');
|
|
7
|
+
command.description('Compare saved scenarios of a custom project');
|
|
8
|
+
command
|
|
9
|
+
.option('--custom-project-code <string>', 'Custom project code')
|
|
10
|
+
.option('--scenario-codes <codes>', 'Comma-separated scenario codes (e.g. A,B,C)')
|
|
11
|
+
.option('--dry-run', 'Print the request body without calling the API')
|
|
12
|
+
.option('--json', 'Output as JSON');
|
|
13
|
+
command.action(async (options) => {
|
|
14
|
+
const { environment, tenant } = resolveContext(options);
|
|
15
|
+
const json = options.json === true;
|
|
16
|
+
const data = {
|
|
17
|
+
customProjectCode: requireOption(options.customProjectCode, '--custom-project-code', json),
|
|
18
|
+
scenarioCodes: requireOption(options.scenarioCodes, '--scenario-codes', json)
|
|
19
|
+
.split(',')
|
|
20
|
+
.map((code) => code.trim())
|
|
21
|
+
.filter(Boolean),
|
|
22
|
+
};
|
|
23
|
+
if (data.scenarioCodes.length === 0) {
|
|
24
|
+
requireOption(undefined, '--scenario-codes', json);
|
|
25
|
+
}
|
|
26
|
+
if (options.dryRun) {
|
|
27
|
+
printDryRun(data, json);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const response = await apiClient.compareTeamPlanScenarios(environment, tenant, data);
|
|
31
|
+
handleResponse(response, json, (result) => {
|
|
32
|
+
console.log(chalk.bold('\nš Scenario Comparison\n'));
|
|
33
|
+
console.log(JSON.stringify(result, null, 2));
|
|
34
|
+
console.log();
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
return command;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=compare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/scenarios/compare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,oCAAoC;IAClD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,OAAO,CAAC,WAAW,CAAC,6CAA6C,CAAC,CAAC;IAEnE,OAAO;SACJ,MAAM,CAAC,gCAAgC,EAAE,qBAAqB,CAAC;SAC/D,MAAM,CAAC,0BAA0B,EAAE,6CAA6C,CAAC;SACjF,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC;SACrE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEtC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;QAEnC,MAAM,IAAI,GAAoC;YAC5C,iBAAiB,EAAE,aAAa,CAC9B,OAAO,CAAC,iBAAiB,EACzB,uBAAuB,EACvB,IAAI,CACL;YACD,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,kBAAkB,EAAE,IAAI,CAAC;iBAC1E,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBAC1B,MAAM,CAAC,OAAO,CAAC;SACnB,CAAC;QAEF,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,aAAa,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAErF,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/scenarios/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,8BAA8B,IAAI,OAAO,CAUxD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { createTeamPlanScenarioListCommand } from './list.js';
|
|
3
|
+
import { createTeamPlanScenarioSaveCommand } from './save.js';
|
|
4
|
+
import { createTeamPlanScenarioCompareCommand } from './compare.js';
|
|
5
|
+
import { createTeamPlanScenarioBaselineCommand } from './baseline.js';
|
|
6
|
+
export function createTeamPlanScenariosCommand() {
|
|
7
|
+
const scenarios = new Command('scenarios');
|
|
8
|
+
scenarios.description('Manage plan scenarios and baselines');
|
|
9
|
+
scenarios.addCommand(createTeamPlanScenarioListCommand());
|
|
10
|
+
scenarios.addCommand(createTeamPlanScenarioSaveCommand());
|
|
11
|
+
scenarios.addCommand(createTeamPlanScenarioCompareCommand());
|
|
12
|
+
scenarios.addCommand(createTeamPlanScenarioBaselineCommand());
|
|
13
|
+
return scenarios;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/scenarios/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iCAAiC,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,iCAAiC,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,oCAAoC,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,qCAAqC,EAAE,MAAM,eAAe,CAAC;AAEtE,MAAM,UAAU,8BAA8B;IAC5C,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,SAAS,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;IAE7D,SAAS,CAAC,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAC1D,SAAS,CAAC,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAC1D,SAAS,CAAC,UAAU,CAAC,oCAAoC,EAAE,CAAC,CAAC;IAC7D,SAAS,CAAC,UAAU,CAAC,qCAAqC,EAAE,CAAC,CAAC;IAE9D,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/scenarios/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,iCAAiC,IAAI,OAAO,CA0B3D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { apiClient } from '../../../../../core/api/client.js';
|
|
4
|
+
import { handleResponse, resolveContext } from '../helpers.js';
|
|
5
|
+
export function createTeamPlanScenarioListCommand() {
|
|
6
|
+
const command = new Command('list');
|
|
7
|
+
command.description('List saved plan scenarios');
|
|
8
|
+
command
|
|
9
|
+
.option('--plan-id <string>', 'Filter by plan ID')
|
|
10
|
+
.option('--custom-project-code <string>', 'Filter by custom project code')
|
|
11
|
+
.option('--json', 'Output as JSON');
|
|
12
|
+
command.action(async (options) => {
|
|
13
|
+
const { environment, tenant } = resolveContext(options);
|
|
14
|
+
const json = options.json === true;
|
|
15
|
+
const response = await apiClient.listTeamPlanScenarios(environment, tenant, {
|
|
16
|
+
planId: options.planId,
|
|
17
|
+
customProjectCode: options.customProjectCode,
|
|
18
|
+
});
|
|
19
|
+
handleResponse(response, json, (data) => {
|
|
20
|
+
console.log(chalk.bold('\nš Plan Scenarios\n'));
|
|
21
|
+
console.log(JSON.stringify(data, null, 2));
|
|
22
|
+
console.log();
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
return command;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/scenarios/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/D,MAAM,UAAU,iCAAiC;IAC/C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAEjD,OAAO;SACJ,MAAM,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;SACjD,MAAM,CAAC,gCAAgC,EAAE,+BAA+B,CAAC;SACzE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEtC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;QAEnC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE;YAC1E,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC,CAAC;QAEH,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/scenarios/save.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,iCAAiC,IAAI,OAAO,CAwD3D"}
|