@newpeak/barista-cli 0.1.27 → 0.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/dist/commands/liberica/bom/copy.d.ts +3 -0
  2. package/dist/commands/liberica/bom/copy.d.ts.map +1 -0
  3. package/dist/commands/liberica/bom/copy.js +121 -0
  4. package/dist/commands/liberica/bom/copy.js.map +1 -0
  5. package/dist/commands/liberica/bom/create.d.ts +3 -0
  6. package/dist/commands/liberica/bom/create.d.ts.map +1 -0
  7. package/dist/commands/liberica/bom/create.js +242 -0
  8. package/dist/commands/liberica/bom/create.js.map +1 -0
  9. package/dist/commands/liberica/bom/delete.d.ts +3 -0
  10. package/dist/commands/liberica/bom/delete.d.ts.map +1 -0
  11. package/dist/commands/liberica/bom/delete.js +114 -0
  12. package/dist/commands/liberica/bom/delete.js.map +1 -0
  13. package/dist/commands/liberica/bom/disable.d.ts +3 -0
  14. package/dist/commands/liberica/bom/disable.d.ts.map +1 -0
  15. package/dist/commands/liberica/bom/disable.js +141 -0
  16. package/dist/commands/liberica/bom/disable.js.map +1 -0
  17. package/dist/commands/liberica/bom/enable.d.ts +3 -0
  18. package/dist/commands/liberica/bom/enable.d.ts.map +1 -0
  19. package/dist/commands/liberica/bom/enable.js +141 -0
  20. package/dist/commands/liberica/bom/enable.js.map +1 -0
  21. package/dist/commands/liberica/bom/get.d.ts +3 -0
  22. package/dist/commands/liberica/bom/get.d.ts.map +1 -0
  23. package/dist/commands/liberica/bom/get.js +79 -0
  24. package/dist/commands/liberica/bom/get.js.map +1 -0
  25. package/dist/commands/liberica/bom/history.d.ts +3 -0
  26. package/dist/commands/liberica/bom/history.d.ts.map +1 -0
  27. package/dist/commands/liberica/bom/history.js +101 -0
  28. package/dist/commands/liberica/bom/history.js.map +1 -0
  29. package/dist/commands/liberica/bom/index.d.ts +3 -0
  30. package/dist/commands/liberica/bom/index.d.ts.map +1 -0
  31. package/dist/commands/liberica/bom/index.js +29 -0
  32. package/dist/commands/liberica/bom/index.js.map +1 -0
  33. package/dist/commands/liberica/bom/list.d.ts +3 -0
  34. package/dist/commands/liberica/bom/list.d.ts.map +1 -0
  35. package/dist/commands/liberica/bom/list.js +104 -0
  36. package/dist/commands/liberica/bom/list.js.map +1 -0
  37. package/dist/commands/liberica/bom/review.d.ts +3 -0
  38. package/dist/commands/liberica/bom/review.d.ts.map +1 -0
  39. package/dist/commands/liberica/bom/review.js +141 -0
  40. package/dist/commands/liberica/bom/review.js.map +1 -0
  41. package/dist/commands/liberica/bom/unReview.d.ts +3 -0
  42. package/dist/commands/liberica/bom/unReview.d.ts.map +1 -0
  43. package/dist/commands/liberica/bom/unReview.js +141 -0
  44. package/dist/commands/liberica/bom/unReview.js.map +1 -0
  45. package/dist/commands/liberica/bom/update.d.ts +3 -0
  46. package/dist/commands/liberica/bom/update.d.ts.map +1 -0
  47. package/dist/commands/liberica/bom/update.js +171 -0
  48. package/dist/commands/liberica/bom/update.js.map +1 -0
  49. package/dist/commands/liberica/index.d.ts.map +1 -1
  50. package/dist/commands/liberica/index.js +6 -0
  51. package/dist/commands/liberica/index.js.map +1 -1
  52. package/dist/commands/liberica/materials/create.d.ts.map +1 -1
  53. package/dist/commands/liberica/materials/create.js +53 -0
  54. package/dist/commands/liberica/materials/create.js.map +1 -1
  55. package/dist/commands/liberica/materials/update.d.ts.map +1 -1
  56. package/dist/commands/liberica/materials/update.js +34 -0
  57. package/dist/commands/liberica/materials/update.js.map +1 -1
  58. package/dist/commands/liberica/routing/compute.d.ts +3 -0
  59. package/dist/commands/liberica/routing/compute.d.ts.map +1 -0
  60. package/dist/commands/liberica/routing/compute.js +117 -0
  61. package/dist/commands/liberica/routing/compute.js.map +1 -0
  62. package/dist/commands/liberica/routing/copy.d.ts +3 -0
  63. package/dist/commands/liberica/routing/copy.d.ts.map +1 -0
  64. package/dist/commands/liberica/routing/copy.js +130 -0
  65. package/dist/commands/liberica/routing/copy.js.map +1 -0
  66. package/dist/commands/liberica/routing/create.d.ts +3 -0
  67. package/dist/commands/liberica/routing/create.d.ts.map +1 -0
  68. package/dist/commands/liberica/routing/create.js +116 -0
  69. package/dist/commands/liberica/routing/create.js.map +1 -0
  70. package/dist/commands/liberica/routing/delete.d.ts +3 -0
  71. package/dist/commands/liberica/routing/delete.d.ts.map +1 -0
  72. package/dist/commands/liberica/routing/delete.js +129 -0
  73. package/dist/commands/liberica/routing/delete.js.map +1 -0
  74. package/dist/commands/liberica/routing/disable.d.ts +3 -0
  75. package/dist/commands/liberica/routing/disable.d.ts.map +1 -0
  76. package/dist/commands/liberica/routing/disable.js +101 -0
  77. package/dist/commands/liberica/routing/disable.js.map +1 -0
  78. package/dist/commands/liberica/routing/enable.d.ts +3 -0
  79. package/dist/commands/liberica/routing/enable.d.ts.map +1 -0
  80. package/dist/commands/liberica/routing/enable.js +93 -0
  81. package/dist/commands/liberica/routing/enable.js.map +1 -0
  82. package/dist/commands/liberica/routing/get.d.ts +3 -0
  83. package/dist/commands/liberica/routing/get.d.ts.map +1 -0
  84. package/dist/commands/liberica/routing/get.js +119 -0
  85. package/dist/commands/liberica/routing/get.js.map +1 -0
  86. package/dist/commands/liberica/routing/history.d.ts +3 -0
  87. package/dist/commands/liberica/routing/history.d.ts.map +1 -0
  88. package/dist/commands/liberica/routing/history.js +90 -0
  89. package/dist/commands/liberica/routing/history.js.map +1 -0
  90. package/dist/commands/liberica/routing/index.d.ts +3 -0
  91. package/dist/commands/liberica/routing/index.d.ts.map +1 -0
  92. package/dist/commands/liberica/routing/index.js +31 -0
  93. package/dist/commands/liberica/routing/index.js.map +1 -0
  94. package/dist/commands/liberica/routing/list.d.ts +3 -0
  95. package/dist/commands/liberica/routing/list.d.ts.map +1 -0
  96. package/dist/commands/liberica/routing/list.js +119 -0
  97. package/dist/commands/liberica/routing/list.js.map +1 -0
  98. package/dist/commands/liberica/routing/review.d.ts +3 -0
  99. package/dist/commands/liberica/routing/review.d.ts.map +1 -0
  100. package/dist/commands/liberica/routing/review.js +101 -0
  101. package/dist/commands/liberica/routing/review.js.map +1 -0
  102. package/dist/commands/liberica/routing/unReview.d.ts +3 -0
  103. package/dist/commands/liberica/routing/unReview.d.ts.map +1 -0
  104. package/dist/commands/liberica/routing/unReview.js +101 -0
  105. package/dist/commands/liberica/routing/unReview.js.map +1 -0
  106. package/dist/commands/liberica/routing/update.d.ts +3 -0
  107. package/dist/commands/liberica/routing/update.d.ts.map +1 -0
  108. package/dist/commands/liberica/routing/update.js +137 -0
  109. package/dist/commands/liberica/routing/update.js.map +1 -0
  110. package/dist/commands/liberica/teams/issues/create.d.ts.map +1 -1
  111. package/dist/commands/liberica/teams/issues/create.js +3 -4
  112. package/dist/commands/liberica/teams/issues/create.js.map +1 -1
  113. package/dist/commands/liberica/teams/projects/update.d.ts.map +1 -1
  114. package/dist/commands/liberica/teams/projects/update.js +6 -1
  115. package/dist/commands/liberica/teams/projects/update.js.map +1 -1
  116. package/dist/commands/liberica/teams/tasks/create.d.ts.map +1 -1
  117. package/dist/commands/liberica/teams/tasks/create.js +9 -5
  118. package/dist/commands/liberica/teams/tasks/create.js.map +1 -1
  119. package/dist/commands/liberica/teams/work-logs/create.d.ts.map +1 -1
  120. package/dist/commands/liberica/teams/work-logs/create.js +15 -1
  121. package/dist/commands/liberica/teams/work-logs/create.js.map +1 -1
  122. package/dist/core/api/client.d.ts +27 -0
  123. package/dist/core/api/client.d.ts.map +1 -1
  124. package/dist/core/api/client.js +485 -0
  125. package/dist/core/api/client.js.map +1 -1
  126. package/dist/index.js +1 -1
  127. package/dist/types/bom.d.ts +91 -0
  128. package/dist/types/bom.d.ts.map +1 -0
  129. package/dist/types/bom.js +2 -0
  130. package/dist/types/bom.js.map +1 -0
  131. package/dist/types/index.d.ts +2 -0
  132. package/dist/types/index.d.ts.map +1 -1
  133. package/dist/types/routing.d.ts +69 -0
  134. package/dist/types/routing.d.ts.map +1 -0
  135. package/dist/types/routing.js +2 -0
  136. package/dist/types/routing.js.map +1 -0
  137. package/dist/types/team-issue.d.ts +1 -1
  138. package/dist/types/team-issue.d.ts.map +1 -1
  139. package/dist/types/team-project.d.ts +1 -0
  140. package/dist/types/team-project.d.ts.map +1 -1
  141. package/dist/types/team-task.d.ts +1 -1
  142. package/dist/types/team-task.d.ts.map +1 -1
  143. package/package.json +1 -1
@@ -0,0 +1,141 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { configManager } from '../../../core/config/manager.js';
4
+ import { apiClient } from '../../../core/api/client.js';
5
+ export function createBomDisableCommand() {
6
+ const cmd = new Command('disable');
7
+ cmd
8
+ .description('Disable (deactivate) BOM(s)')
9
+ .option('--ids <ids>', 'Comma-separated BOM IDs for batch operation')
10
+ .option('--force', 'Execute the operation (skip dry-run preview)')
11
+ .option('--dry-run', 'Preview without executing')
12
+ .option('--json', 'Output as JSON')
13
+ .action(async (options) => {
14
+ const context = configManager.getCurrentContext();
15
+ const environment = options.env || context.environment;
16
+ const tenant = options.tenant || context.tenant;
17
+ const force = options.force === true;
18
+ const dryRun = options.dryRun === true;
19
+ const outputJson = options.json === true || process.argv.includes('--json');
20
+ const ids = options.ids
21
+ ? options.ids.split(',').map((id) => id.trim()).filter((id) => id !== '')
22
+ : [];
23
+ if (ids.length === 0) {
24
+ const errMsg = 'No BOM IDs provided. Use --ids with comma-separated IDs.';
25
+ if (outputJson) {
26
+ console.log(JSON.stringify({ success: false, error: { code: 'MISSING_IDS', message: errMsg } }));
27
+ }
28
+ else {
29
+ console.error(chalk.red(`\nāœ— ${errMsg}\n`));
30
+ }
31
+ process.exit(1);
32
+ }
33
+ if (!outputJson) {
34
+ console.log(chalk.bold(`\n↓ Disable BOM(s) (${environment})\n`));
35
+ console.log(chalk.gray(` BOM IDs: ${ids.join(', ')}`));
36
+ }
37
+ if (dryRun || !force) {
38
+ if (outputJson) {
39
+ console.log(JSON.stringify({
40
+ success: true,
41
+ dryRun: true,
42
+ bomIds: ids.map((id) => parseInt(id, 10)),
43
+ message: 'No actual API call will be made',
44
+ }));
45
+ }
46
+ else {
47
+ console.log(chalk.cyan('\nšŸ” Dry-Run Mode: No actual API call will be made\n'));
48
+ console.log(chalk.gray(` This will disable ${ids.length} BOM(s).`));
49
+ console.log(chalk.gray(' To execute, add --force flag.\n'));
50
+ }
51
+ return;
52
+ }
53
+ // Fetch BOMs for confirmation display
54
+ const boms = [];
55
+ for (const id of ids) {
56
+ try {
57
+ const response = await apiClient.getBom(environment, tenant, id);
58
+ if (!response.success || !response.data) {
59
+ const errMsg = `BOM not found: ${id}`;
60
+ if (outputJson) {
61
+ console.log(JSON.stringify({ success: false, error: { code: 'NOT_FOUND', message: errMsg } }));
62
+ }
63
+ else {
64
+ console.error(chalk.red(`\nāœ— ${errMsg}\n`));
65
+ }
66
+ process.exit(1);
67
+ }
68
+ boms.push(response.data);
69
+ }
70
+ catch (error) {
71
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
72
+ if (outputJson) {
73
+ console.log(JSON.stringify({ success: false, error: { code: 'FETCH_ERROR', message: `Failed to fetch BOM ${id}: ${errMsg}` } }));
74
+ }
75
+ else {
76
+ console.error(chalk.red(`\nāœ— Failed to fetch BOM ${id}: ${errMsg}\n`));
77
+ }
78
+ process.exit(1);
79
+ }
80
+ }
81
+ const allAlreadyDisabled = boms.every((b) => b.statusFlag === 2);
82
+ if (allAlreadyDisabled) {
83
+ const names = boms.map((b) => `"${b.bomCode || b.bomVersion}"`).join(', ');
84
+ const errMsg = `BOM(s) ${names} ${boms.length === 1 ? 'is' : 'are'} already disabled`;
85
+ if (outputJson) {
86
+ console.log(JSON.stringify({ success: false, error: { code: 'ALREADY_DISABLED', message: errMsg } }));
87
+ }
88
+ else {
89
+ console.error(chalk.yellow(`\n⚠ ${errMsg}\n`));
90
+ }
91
+ process.exit(1);
92
+ }
93
+ if (!outputJson) {
94
+ for (const [i, b] of boms.entries()) {
95
+ console.log(chalk.gray(` [${i + 1}] ${b.bomCode || b.bomVersion} — ${b.materialCode} ${b.materialName}`));
96
+ }
97
+ console.log();
98
+ }
99
+ const idList = ids.map((id) => parseInt(id, 10));
100
+ const data = { bomIdList: idList };
101
+ try {
102
+ const response = await apiClient.batchDeActiveBom(environment, tenant, data);
103
+ if (response.success) {
104
+ if (outputJson) {
105
+ console.log(JSON.stringify({ success: true, bomIds: idList }));
106
+ }
107
+ else {
108
+ const names = boms.map((b) => b.bomCode || b.bomVersion).join(', ');
109
+ console.log(chalk.green(`\nāœ“ BOM(s) ${names} disabled\n`));
110
+ }
111
+ }
112
+ else {
113
+ const errorMsg = response.error?.message || 'Unknown error';
114
+ const errorCode = response.error?.code || 'DISABLE_ERROR';
115
+ if (outputJson) {
116
+ console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
117
+ }
118
+ else {
119
+ console.error(chalk.red(`\nāœ— Failed to disable BOM(s): ${errorMsg}`));
120
+ if (response.error?.code) {
121
+ console.error(chalk.gray(` Error code: ${response.error.code}`));
122
+ }
123
+ console.error();
124
+ }
125
+ process.exit(1);
126
+ }
127
+ }
128
+ catch (error) {
129
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
130
+ if (outputJson) {
131
+ console.log(JSON.stringify({ success: false, error: { code: 'ERROR', message: errMsg } }));
132
+ }
133
+ else {
134
+ console.error(chalk.red(`\nāœ— Error: ${errMsg}\n`));
135
+ }
136
+ process.exit(1);
137
+ }
138
+ });
139
+ return cmd;
140
+ }
141
+ //# sourceMappingURL=disable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disable.js","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/disable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createBomEnableCommand(): Command;
3
+ //# sourceMappingURL=enable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enable.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/enable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,sBAAsB,IAAI,OAAO,CA2IhD"}
@@ -0,0 +1,141 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { configManager } from '../../../core/config/manager.js';
4
+ import { apiClient } from '../../../core/api/client.js';
5
+ export function createBomEnableCommand() {
6
+ const cmd = new Command('enable');
7
+ cmd
8
+ .description('Enable (activate) BOM(s)')
9
+ .option('--ids <ids>', 'Comma-separated BOM IDs for batch operation')
10
+ .option('--force', 'Execute the operation (skip dry-run preview)')
11
+ .option('--dry-run', 'Preview without executing')
12
+ .option('--json', 'Output as JSON')
13
+ .action(async (options) => {
14
+ const context = configManager.getCurrentContext();
15
+ const environment = options.env || context.environment;
16
+ const tenant = options.tenant || context.tenant;
17
+ const force = options.force === true;
18
+ const dryRun = options.dryRun === true;
19
+ const outputJson = options.json === true || process.argv.includes('--json');
20
+ const ids = options.ids
21
+ ? options.ids.split(',').map((id) => id.trim()).filter((id) => id !== '')
22
+ : [];
23
+ if (ids.length === 0) {
24
+ const errMsg = 'No BOM IDs provided. Use --ids with comma-separated IDs.';
25
+ if (outputJson) {
26
+ console.log(JSON.stringify({ success: false, error: { code: 'MISSING_IDS', message: errMsg } }));
27
+ }
28
+ else {
29
+ console.error(chalk.red(`\nāœ— ${errMsg}\n`));
30
+ }
31
+ process.exit(1);
32
+ }
33
+ if (!outputJson) {
34
+ console.log(chalk.bold(`\nāœ“ Enable BOM(s) (${environment})\n`));
35
+ console.log(chalk.gray(` BOM IDs: ${ids.join(', ')}`));
36
+ }
37
+ if (dryRun || !force) {
38
+ if (outputJson) {
39
+ console.log(JSON.stringify({
40
+ success: true,
41
+ dryRun: true,
42
+ bomIds: ids.map((id) => parseInt(id, 10)),
43
+ message: 'No actual API call will be made',
44
+ }));
45
+ }
46
+ else {
47
+ console.log(chalk.cyan('\nšŸ” Dry-Run Mode: No actual API call will be made\n'));
48
+ console.log(chalk.gray(` This will enable ${ids.length} BOM(s).`));
49
+ console.log(chalk.gray(' To execute, add --force flag.\n'));
50
+ }
51
+ return;
52
+ }
53
+ // Fetch BOMs for confirmation display
54
+ const boms = [];
55
+ for (const id of ids) {
56
+ try {
57
+ const response = await apiClient.getBom(environment, tenant, id);
58
+ if (!response.success || !response.data) {
59
+ const errMsg = `BOM not found: ${id}`;
60
+ if (outputJson) {
61
+ console.log(JSON.stringify({ success: false, error: { code: 'NOT_FOUND', message: errMsg } }));
62
+ }
63
+ else {
64
+ console.error(chalk.red(`\nāœ— ${errMsg}\n`));
65
+ }
66
+ process.exit(1);
67
+ }
68
+ boms.push(response.data);
69
+ }
70
+ catch (error) {
71
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
72
+ if (outputJson) {
73
+ console.log(JSON.stringify({ success: false, error: { code: 'FETCH_ERROR', message: `Failed to fetch BOM ${id}: ${errMsg}` } }));
74
+ }
75
+ else {
76
+ console.error(chalk.red(`\nāœ— Failed to fetch BOM ${id}: ${errMsg}\n`));
77
+ }
78
+ process.exit(1);
79
+ }
80
+ }
81
+ const allAlreadyEnabled = boms.every((b) => b.statusFlag === 1);
82
+ if (allAlreadyEnabled) {
83
+ const names = boms.map((b) => `"${b.bomCode || b.bomVersion}"`).join(', ');
84
+ const errMsg = `BOM(s) ${names} ${boms.length === 1 ? 'is' : 'are'} already enabled`;
85
+ if (outputJson) {
86
+ console.log(JSON.stringify({ success: false, error: { code: 'ALREADY_ENABLED', message: errMsg } }));
87
+ }
88
+ else {
89
+ console.error(chalk.yellow(`\n⚠ ${errMsg}\n`));
90
+ }
91
+ process.exit(1);
92
+ }
93
+ if (!outputJson) {
94
+ for (const [i, b] of boms.entries()) {
95
+ console.log(chalk.gray(` [${i + 1}] ${b.bomCode || b.bomVersion} — ${b.materialCode} ${b.materialName}`));
96
+ }
97
+ console.log();
98
+ }
99
+ const idList = ids.map((id) => parseInt(id, 10));
100
+ const data = { bomIdList: idList };
101
+ try {
102
+ const response = await apiClient.batchActiveBom(environment, tenant, data);
103
+ if (response.success) {
104
+ if (outputJson) {
105
+ console.log(JSON.stringify({ success: true, bomIds: idList }));
106
+ }
107
+ else {
108
+ const names = boms.map((b) => b.bomCode || b.bomVersion).join(', ');
109
+ console.log(chalk.green(`\nāœ“ BOM(s) ${names} enabled\n`));
110
+ }
111
+ }
112
+ else {
113
+ const errorMsg = response.error?.message || 'Unknown error';
114
+ const errorCode = response.error?.code || 'ENABLE_ERROR';
115
+ if (outputJson) {
116
+ console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
117
+ }
118
+ else {
119
+ console.error(chalk.red(`\nāœ— Failed to enable BOM(s): ${errorMsg}`));
120
+ if (response.error?.code) {
121
+ console.error(chalk.gray(` Error code: ${response.error.code}`));
122
+ }
123
+ console.error();
124
+ }
125
+ process.exit(1);
126
+ }
127
+ }
128
+ catch (error) {
129
+ const errMsg = error instanceof Error ? error.message : 'Unknown error';
130
+ if (outputJson) {
131
+ console.log(JSON.stringify({ success: false, error: { code: 'ERROR', message: errMsg } }));
132
+ }
133
+ else {
134
+ console.error(chalk.red(`\nāœ— Error: ${errMsg}\n`));
135
+ }
136
+ process.exit(1);
137
+ }
138
+ });
139
+ return cmd;
140
+ }
141
+ //# sourceMappingURL=enable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enable.js","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/enable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createBomGetCommand(): Command;
3
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,mBAAmB,IAAI,OAAO,CAkF7C"}
@@ -0,0 +1,79 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { configManager } from '../../../core/config/manager.js';
4
+ import { apiClient } from '../../../core/api/client.js';
5
+ export function createBomGetCommand() {
6
+ const cmd = new Command('get');
7
+ cmd.description('Get BOM details by ID');
8
+ cmd.arguments('<bomId>');
9
+ cmd.option('--json', 'Output as JSON');
10
+ cmd.action(async (bomId, options) => {
11
+ const context = configManager.getCurrentContext();
12
+ const environment = options.env || context.environment;
13
+ const tenant = options.tenant || context.tenant;
14
+ if (!bomId || bomId.trim() === '') {
15
+ console.error(chalk.red('\nāœ— Invalid BOM ID.\n'));
16
+ process.exit(1);
17
+ }
18
+ const outputJson = options.json === true || process.argv.includes('--json');
19
+ try {
20
+ const response = await apiClient.getBom(environment, tenant, bomId);
21
+ if (!response.success) {
22
+ const errorCode = response.error?.code || 'UNKNOWN_ERROR';
23
+ const errorMessage = response.error?.message || 'Unknown error';
24
+ if (errorMessage.includes('äøå­˜åœØ')) {
25
+ console.error(chalk.red(`\nāœ— BOM not found: ${bomId}\n`));
26
+ }
27
+ else {
28
+ console.error(chalk.red(`\nāœ— Error: ${errorMessage} (${errorCode})\n`));
29
+ }
30
+ process.exit(1);
31
+ }
32
+ const bom = response.data;
33
+ if (!bom) {
34
+ console.error(chalk.red('\nāœ— BOM not found\n'));
35
+ process.exit(1);
36
+ }
37
+ if (outputJson) {
38
+ console.log(JSON.stringify({ success: true, data: bom }, null, 2));
39
+ return;
40
+ }
41
+ console.log(chalk.bold('\nšŸ“‹ BOM Details\n'));
42
+ console.log(` ${chalk.gray('BOM ID:')} ${bom.bomId || '-'}`);
43
+ console.log(` ${chalk.gray('BOM Code:')} ${bom.bomCode || '-'}`);
44
+ console.log(` ${chalk.gray('Version:')} ${bom.bomVersion || '-'}`);
45
+ console.log(` ${chalk.gray('Material:')} ${bom.materialCode} - ${bom.materialName}`);
46
+ console.log(` ${chalk.gray('UOM:')} ${bom.materialUomCode || '-'}`);
47
+ if (bom.materialNo)
48
+ console.log(` ${chalk.gray('Material No:')} ${bom.materialNo}`);
49
+ if (bom.materialType)
50
+ console.log(` ${chalk.gray('Type:')} ${bom.materialType}`);
51
+ if (bom.materialYieldRate)
52
+ console.log(` ${chalk.gray('Yield Rate:')} ${bom.materialYieldRate}`);
53
+ if (bom.color)
54
+ console.log(` ${chalk.gray('Color:')} ${bom.color}`);
55
+ if (bom.longX)
56
+ console.log(` ${chalk.gray('Length (X):')} ${bom.longX}`);
57
+ if (bom.wideY)
58
+ console.log(` ${chalk.gray('Width (Y):')} ${bom.wideY}`);
59
+ if (bom.highZ)
60
+ console.log(` ${chalk.gray('Height (Z):')} ${bom.highZ}`);
61
+ if (bom.volume)
62
+ console.log(` ${chalk.gray('Volume:')} ${bom.volume}`);
63
+ console.log(` ${chalk.gray('Status:')} ${bom.statusFlag === 1 ? chalk.green('ENABLED') : chalk.gray('DISABLED')}`);
64
+ if (bom.reviewFlag)
65
+ console.log(` ${chalk.gray('Review:')} ${bom.reviewFlag === 'Y' ? chalk.blue('Reviewed') : chalk.yellow('Unreviewed')}`);
66
+ if (bom.reviewerName)
67
+ console.log(` ${chalk.gray('Reviewer:')} ${bom.reviewerName}`);
68
+ if (bom.remark)
69
+ console.log(` ${chalk.gray('Remark:')} ${bom.remark}`);
70
+ console.log();
71
+ }
72
+ catch (error) {
73
+ console.error(chalk.red(`\nāœ— Unexpected error: ${error instanceof Error ? error.message : 'Unknown error'}\n`));
74
+ process.exit(1);
75
+ }
76
+ });
77
+ return cmd;
78
+ }
79
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAIxD,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,GAAG,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IACzC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACzB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEvC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAAgC,EAAE,EAAE;QACnE,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAI,OAAO,CAAC,GAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;QACxE,MAAM,MAAM,GAAI,OAAO,CAAC,MAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;QAE5D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE5E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAEpE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,IAAI,eAAe,CAAC;gBAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;gBAEhE,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,KAAK,IAAI,CAAC,CAAC,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,YAAY,KAAK,SAAS,KAAK,CAAC,CAAC,CAAC;gBAC1E,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,GAAG,GAAG,QAAQ,CAAC,IAA2B,CAAC;YAEjD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnE,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAW,GAAW,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,YAAY,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,CAAC;YAC9E,IAAI,GAAG,CAAC,UAAU;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YACtF,IAAI,GAAG,CAAC,YAAY;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;YAC1F,IAAI,GAAG,CAAC,iBAAiB;gBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAC3E,IAAI,GAAG,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5E,IAAI,GAAG,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5E,IAAI,GAAG,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5E,IAAI,GAAG,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5E,IAAI,GAAG,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAC9G,CAAC;YACF,IAAI,GAAG,CAAC,UAAU;gBAChB,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CACpH,CAAC;YACJ,IAAI,GAAG,CAAC,YAAY;gBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;YACtE,IAAI,GAAG,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,IAAI,CACtF,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createBomHistoryCommand(): Command;
3
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,uBAAuB,IAAI,OAAO,CAmHjD"}
@@ -0,0 +1,101 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import Table from 'cli-table3';
4
+ import { configManager } from '../../../core/config/manager.js';
5
+ import { apiClient } from '../../../core/api/client.js';
6
+ export function createBomHistoryCommand() {
7
+ const cmd = new Command('history');
8
+ cmd
9
+ .description('Get BOM change history')
10
+ .argument('<bomId>', 'BOM ID')
11
+ .option('--json', 'Output as JSON')
12
+ .action(async (bomId, options) => {
13
+ const context = configManager.getCurrentContext();
14
+ const environment = options.env || context.environment;
15
+ const tenant = options.tenant || context.tenant;
16
+ const outputJson = options.json === true || process.argv.includes('--json');
17
+ if (!bomId || bomId.trim() === '') {
18
+ console.error(chalk.red('\nāœ— Invalid BOM ID.\n'));
19
+ process.exit(1);
20
+ }
21
+ if (!outputJson) {
22
+ console.log(chalk.bold(`\nšŸ“œ BOM History (${environment})\n`));
23
+ console.log(chalk.gray(` BOM ID: ${bomId}`));
24
+ }
25
+ try {
26
+ const response = await apiClient.getBomHistory(environment, tenant, bomId);
27
+ if (!response.success) {
28
+ const errorMsg = response.error?.message || 'Unknown error';
29
+ const errorCode = response.error?.code || 'HISTORY_ERROR';
30
+ if (outputJson) {
31
+ console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
32
+ }
33
+ else {
34
+ console.error(chalk.red(`\nāœ— Failed to get BOM history: ${errorMsg}`));
35
+ if (response.error?.code) {
36
+ console.error(chalk.gray(` Error code: ${response.error.code}`));
37
+ }
38
+ console.error();
39
+ }
40
+ process.exit(1);
41
+ }
42
+ const data = response.data;
43
+ // History response can be a list or a single item
44
+ const historyItems = [];
45
+ if (data) {
46
+ if (Array.isArray(data)) {
47
+ historyItems.push(...data);
48
+ }
49
+ else if (data.rows) {
50
+ historyItems.push(...data.rows);
51
+ }
52
+ else if (typeof data === 'object') {
53
+ historyItems.push(data);
54
+ }
55
+ }
56
+ if (outputJson) {
57
+ console.log(JSON.stringify({
58
+ success: true,
59
+ data: historyItems.length === 1 ? historyItems[0] : historyItems,
60
+ }, null, 2));
61
+ return;
62
+ }
63
+ if (historyItems.length === 0) {
64
+ console.log(chalk.yellow('\nNo history records found\n'));
65
+ return;
66
+ }
67
+ console.log(chalk.bold(`\nšŸ“œ BOM History (${historyItems.length} records)\n`));
68
+ const table = new Table({
69
+ head: [
70
+ chalk.bold('#'),
71
+ chalk.bold('BOM Code'),
72
+ chalk.bold('Version'),
73
+ chalk.bold('Material'),
74
+ chalk.bold('Review'),
75
+ chalk.bold('Status'),
76
+ ],
77
+ colWidths: [5, 20, 12, 30, 10, 12],
78
+ });
79
+ historyItems.forEach((item, index) => {
80
+ const reviewText = item.reviewFlag === 'Y' ? chalk.blue('Reviewed') : chalk.gray('Unreviewed');
81
+ const statusText = item.statusFlag === 1 ? chalk.green('ENABLED') : chalk.gray('DISABLED');
82
+ table.push([
83
+ String(index + 1),
84
+ item.bomCode || '-',
85
+ item.bomVersion || '-',
86
+ `${item.materialName || '-'} (${item.materialCode || '-'})`,
87
+ reviewText,
88
+ statusText,
89
+ ]);
90
+ });
91
+ console.log(table.toString());
92
+ console.log();
93
+ }
94
+ catch (error) {
95
+ console.error(chalk.red(`\nāœ— Unexpected error: ${error instanceof Error ? error.message : 'Unknown error'}\n`));
96
+ process.exit(1);
97
+ }
98
+ });
99
+ return cmd;
100
+ }
101
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createBomCommand(): Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,gBAAgB,IAAI,OAAO,CAiB1C"}
@@ -0,0 +1,29 @@
1
+ import { Command } from 'commander';
2
+ import { createBomListCommand } from './list.js';
3
+ import { createBomGetCommand } from './get.js';
4
+ import { createBomCreateCommand } from './create.js';
5
+ import { createBomUpdateCommand } from './update.js';
6
+ import { createBomDeleteCommand } from './delete.js';
7
+ import { createBomCopyCommand } from './copy.js';
8
+ import { createBomEnableCommand } from './enable.js';
9
+ import { createBomDisableCommand } from './disable.js';
10
+ import { createBomReviewCommand } from './review.js';
11
+ import { createBomUnReviewCommand } from './unReview.js';
12
+ import { createBomHistoryCommand } from './history.js';
13
+ export function createBomCommand() {
14
+ const cmd = new Command('bom');
15
+ cmd.description('Manage BOM (Bill of Materials)');
16
+ cmd.addCommand(createBomListCommand());
17
+ cmd.addCommand(createBomGetCommand());
18
+ cmd.addCommand(createBomCreateCommand());
19
+ cmd.addCommand(createBomUpdateCommand());
20
+ cmd.addCommand(createBomDeleteCommand());
21
+ cmd.addCommand(createBomCopyCommand());
22
+ cmd.addCommand(createBomEnableCommand());
23
+ cmd.addCommand(createBomDisableCommand());
24
+ cmd.addCommand(createBomReviewCommand());
25
+ cmd.addCommand(createBomUnReviewCommand());
26
+ cmd.addCommand(createBomHistoryCommand());
27
+ return cmd;
28
+ }
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,GAAG,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAElD,GAAG,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACtC,GAAG,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACzC,GAAG,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACzC,GAAG,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACzC,GAAG,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACzC,GAAG,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC1C,GAAG,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACzC,GAAG,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC3C,GAAG,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE1C,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createBomListCommand(): Command;
3
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/bom/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,oBAAoB,IAAI,OAAO,CA6H9C"}