@newpeak/barista-cli 0.1.491 → 0.1.496

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 (105) hide show
  1. package/dist/commands/liberica/files/index.d.ts +3 -0
  2. package/dist/commands/liberica/files/index.d.ts.map +1 -0
  3. package/dist/commands/liberica/files/index.js +9 -0
  4. package/dist/commands/liberica/files/index.js.map +1 -0
  5. package/dist/commands/liberica/files/upload.d.ts +3 -0
  6. package/dist/commands/liberica/files/upload.d.ts.map +1 -0
  7. package/dist/commands/liberica/files/upload.js +105 -0
  8. package/dist/commands/liberica/files/upload.js.map +1 -0
  9. package/dist/commands/liberica/finance/fixed-asset/capitalise.d.ts +3 -0
  10. package/dist/commands/liberica/finance/fixed-asset/capitalise.d.ts.map +1 -0
  11. package/dist/commands/liberica/finance/fixed-asset/capitalise.js +44 -0
  12. package/dist/commands/liberica/finance/fixed-asset/capitalise.js.map +1 -0
  13. package/dist/commands/liberica/finance/fixed-asset/category/create.d.ts +3 -0
  14. package/dist/commands/liberica/finance/fixed-asset/category/create.d.ts.map +1 -0
  15. package/dist/commands/liberica/finance/fixed-asset/category/create.js +70 -0
  16. package/dist/commands/liberica/finance/fixed-asset/category/create.js.map +1 -0
  17. package/dist/commands/liberica/finance/fixed-asset/category/index.d.ts +3 -0
  18. package/dist/commands/liberica/finance/fixed-asset/category/index.d.ts.map +1 -0
  19. package/dist/commands/liberica/finance/fixed-asset/category/index.js +11 -0
  20. package/dist/commands/liberica/finance/fixed-asset/category/index.js.map +1 -0
  21. package/dist/commands/liberica/finance/fixed-asset/category/list.d.ts +3 -0
  22. package/dist/commands/liberica/finance/fixed-asset/category/list.d.ts.map +1 -0
  23. package/dist/commands/liberica/finance/fixed-asset/category/list.js +59 -0
  24. package/dist/commands/liberica/finance/fixed-asset/category/list.js.map +1 -0
  25. package/dist/commands/liberica/finance/fixed-asset/create.d.ts +3 -0
  26. package/dist/commands/liberica/finance/fixed-asset/create.d.ts.map +1 -0
  27. package/dist/commands/liberica/finance/fixed-asset/create.js +89 -0
  28. package/dist/commands/liberica/finance/fixed-asset/create.js.map +1 -0
  29. package/dist/commands/liberica/finance/fixed-asset/depreciate.d.ts +3 -0
  30. package/dist/commands/liberica/finance/fixed-asset/depreciate.d.ts.map +1 -0
  31. package/dist/commands/liberica/finance/fixed-asset/depreciate.js +51 -0
  32. package/dist/commands/liberica/finance/fixed-asset/depreciate.js.map +1 -0
  33. package/dist/commands/liberica/finance/fixed-asset/depreciation-schedule.d.ts +3 -0
  34. package/dist/commands/liberica/finance/fixed-asset/depreciation-schedule.d.ts.map +1 -0
  35. package/dist/commands/liberica/finance/fixed-asset/depreciation-schedule.js +61 -0
  36. package/dist/commands/liberica/finance/fixed-asset/depreciation-schedule.js.map +1 -0
  37. package/dist/commands/liberica/finance/fixed-asset/dispose.d.ts +3 -0
  38. package/dist/commands/liberica/finance/fixed-asset/dispose.d.ts.map +1 -0
  39. package/dist/commands/liberica/finance/fixed-asset/dispose.js +61 -0
  40. package/dist/commands/liberica/finance/fixed-asset/dispose.js.map +1 -0
  41. package/dist/commands/liberica/finance/fixed-asset/get.d.ts +3 -0
  42. package/dist/commands/liberica/finance/fixed-asset/get.d.ts.map +1 -0
  43. package/dist/commands/liberica/finance/fixed-asset/get.js +73 -0
  44. package/dist/commands/liberica/finance/fixed-asset/get.js.map +1 -0
  45. package/dist/commands/liberica/finance/fixed-asset/impairment.d.ts +3 -0
  46. package/dist/commands/liberica/finance/fixed-asset/impairment.d.ts.map +1 -0
  47. package/dist/commands/liberica/finance/fixed-asset/impairment.js +93 -0
  48. package/dist/commands/liberica/finance/fixed-asset/impairment.js.map +1 -0
  49. package/dist/commands/liberica/finance/fixed-asset/index.d.ts +3 -0
  50. package/dist/commands/liberica/finance/fixed-asset/index.d.ts.map +1 -0
  51. package/dist/commands/liberica/finance/fixed-asset/index.js +27 -0
  52. package/dist/commands/liberica/finance/fixed-asset/index.js.map +1 -0
  53. package/dist/commands/liberica/finance/fixed-asset/list.d.ts +3 -0
  54. package/dist/commands/liberica/finance/fixed-asset/list.d.ts.map +1 -0
  55. package/dist/commands/liberica/finance/fixed-asset/list.js +84 -0
  56. package/dist/commands/liberica/finance/fixed-asset/list.js.map +1 -0
  57. package/dist/commands/liberica/finance/fixed-asset/update.d.ts +3 -0
  58. package/dist/commands/liberica/finance/fixed-asset/update.d.ts.map +1 -0
  59. package/dist/commands/liberica/finance/fixed-asset/update.js +54 -0
  60. package/dist/commands/liberica/finance/fixed-asset/update.js.map +1 -0
  61. package/dist/commands/liberica/finance/index.d.ts.map +1 -1
  62. package/dist/commands/liberica/finance/index.js +3 -1
  63. package/dist/commands/liberica/finance/index.js.map +1 -1
  64. package/dist/commands/liberica/finance/voucher/audit-trail.d.ts +3 -0
  65. package/dist/commands/liberica/finance/voucher/audit-trail.d.ts.map +1 -0
  66. package/dist/commands/liberica/finance/voucher/audit-trail.js +68 -0
  67. package/dist/commands/liberica/finance/voucher/audit-trail.js.map +1 -0
  68. package/dist/commands/liberica/finance/voucher/gaps.d.ts +3 -0
  69. package/dist/commands/liberica/finance/voucher/gaps.d.ts.map +1 -0
  70. package/dist/commands/liberica/finance/voucher/gaps.js +64 -0
  71. package/dist/commands/liberica/finance/voucher/gaps.js.map +1 -0
  72. package/dist/commands/liberica/finance/voucher/index.d.ts.map +1 -1
  73. package/dist/commands/liberica/finance/voucher/index.js +5 -1
  74. package/dist/commands/liberica/finance/voucher/index.js.map +1 -1
  75. package/dist/commands/liberica/index.d.ts.map +1 -1
  76. package/dist/commands/liberica/index.js +2 -0
  77. package/dist/commands/liberica/index.js.map +1 -1
  78. package/dist/commands/liberica/issue/index.d.ts.map +1 -1
  79. package/dist/commands/liberica/issue/index.js +2 -0
  80. package/dist/commands/liberica/issue/index.js.map +1 -1
  81. package/dist/commands/liberica/issue/submit.d.ts.map +1 -1
  82. package/dist/commands/liberica/issue/submit.js +22 -0
  83. package/dist/commands/liberica/issue/submit.js.map +1 -1
  84. package/dist/commands/liberica/issue/upload.d.ts +3 -0
  85. package/dist/commands/liberica/issue/upload.d.ts.map +1 -0
  86. package/dist/commands/liberica/issue/upload.js +91 -0
  87. package/dist/commands/liberica/issue/upload.js.map +1 -0
  88. package/dist/commands/liberica/sales-orders/create.d.ts.map +1 -1
  89. package/dist/commands/liberica/sales-orders/create.js +11 -0
  90. package/dist/commands/liberica/sales-orders/create.js.map +1 -1
  91. package/dist/core/api/client.d.ts +16 -0
  92. package/dist/core/api/client.d.ts.map +1 -1
  93. package/dist/core/api/client.js +272 -0
  94. package/dist/core/api/client.js.map +1 -1
  95. package/dist/types/file.d.ts +26 -0
  96. package/dist/types/file.d.ts.map +1 -0
  97. package/dist/types/file.js +2 -0
  98. package/dist/types/file.js.map +1 -0
  99. package/dist/types/finance.d.ts +130 -0
  100. package/dist/types/finance.d.ts.map +1 -1
  101. package/dist/types/issue-report.d.ts +6 -0
  102. package/dist/types/issue-report.d.ts.map +1 -1
  103. package/package.json +1 -1
  104. package/skills/barista-cli/data/commands.json +84 -2
  105. package/skills/barista-cli/data/commands.yaml +59 -2
@@ -0,0 +1,61 @@
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 createFinanceFixedAssetDepreciationScheduleCommand() {
7
+ const cmd = new Command('depreciation-schedule');
8
+ cmd.description('Get depreciation schedule projection');
9
+ cmd
10
+ .requiredOption('--asset-id <string>', 'Asset ID')
11
+ .option('--json', 'Output as JSON')
12
+ .action(async (options) => {
13
+ const context = configManager.getCurrentContext();
14
+ const environment = options.env || context.environment;
15
+ const tenant = options.tenant || context.tenant;
16
+ const assetId = options.assetId;
17
+ const response = await apiClient.getFixedAssetDepreciationSchedule(environment, tenant, assetId);
18
+ if (!response.success) {
19
+ if (options.json) {
20
+ console.log(JSON.stringify({ success: false, error: response.error || { code: 'API_ERROR', message: 'Unknown error' } }, null, 2));
21
+ }
22
+ else {
23
+ console.error(chalk.red(`\n✗ Failed to get depreciation schedule: ${response.error?.message || 'Unknown error'}`));
24
+ if (response.error?.code)
25
+ console.error(chalk.gray(` Error code: ${response.error.code}`));
26
+ }
27
+ console.error();
28
+ process.exit(1);
29
+ return;
30
+ }
31
+ const data = response.data;
32
+ if (options.json) {
33
+ console.log(JSON.stringify({ success: true, data }, null, 2));
34
+ return;
35
+ }
36
+ if (!data || data.length === 0) {
37
+ console.log(chalk.bold('\n📋 Depreciation Schedule\n'));
38
+ console.log(chalk.gray(' No schedule found\n'));
39
+ return;
40
+ }
41
+ console.log(chalk.bold('\n📋 Depreciation Schedule\n'));
42
+ const table = new Table({
43
+ head: [chalk.bold('Period'), chalk.bold('Date'), chalk.bold('Depreciation'), chalk.bold('Accumulated'), chalk.bold('NBV')],
44
+ colWidths: [10, 15, 18, 18, 18],
45
+ style: { head: [], border: [] },
46
+ });
47
+ for (const row of data) {
48
+ table.push([
49
+ row.periodNumber != null ? String(row.periodNumber) : '-',
50
+ row.periodDate || '-',
51
+ row.depreciationAmount != null ? String(row.depreciationAmount) : '-',
52
+ row.accumulatedDepreciation != null ? String(row.accumulatedDepreciation) : '-',
53
+ row.netBookValue != null ? String(row.netBookValue) : '-',
54
+ ]);
55
+ }
56
+ console.log(table.toString());
57
+ console.log();
58
+ });
59
+ return cmd;
60
+ }
61
+ //# sourceMappingURL=depreciation-schedule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depreciation-schedule.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/fixed-asset/depreciation-schedule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createFinanceFixedAssetDisposeCommand(): Command;
3
+ //# sourceMappingURL=dispose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispose.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/fixed-asset/dispose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,qCAAqC,IAAI,OAAO,CA0D/D"}
@@ -0,0 +1,61 @@
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 createFinanceFixedAssetDisposeCommand() {
6
+ const cmd = new Command('dispose');
7
+ cmd.description('Dispose fixed asset');
8
+ cmd
9
+ .requiredOption('--asset-id <string>', 'Asset ID')
10
+ .requiredOption('--disposal-date <number>', 'Disposal date (epoch ms)')
11
+ .requiredOption('--disposal-type <string>', 'Disposal type (SALE|SCRAP|DONATE|TRANSFER_OUT)')
12
+ .requiredOption('--proceeds <number>', 'Disposal proceeds (cents)')
13
+ .option('--disposal-cost <number>', 'Disposal cost (cents, triggers partial disposal if < originalCost)')
14
+ .option('--description <string>', 'Disposal description')
15
+ .option('--force', 'Skip confirmation prompt')
16
+ .option('--json', 'Output as JSON')
17
+ .action(async (options) => {
18
+ const context = configManager.getCurrentContext();
19
+ const environment = options.env || context.environment;
20
+ const tenant = options.tenant || context.tenant;
21
+ const id = options.assetId;
22
+ const data = {
23
+ disposalDate: parseInt(options.disposalDate, 10),
24
+ disposalType: options.disposalType,
25
+ disposalProceeds: parseInt(options.proceeds, 10),
26
+ };
27
+ if (options.disposalCost)
28
+ data.disposalCost = parseInt(options.disposalCost, 10);
29
+ if (options.description)
30
+ data.description = options.description;
31
+ const response = await apiClient.disposeFixedAsset(environment, tenant, id, data);
32
+ if (!response.success) {
33
+ if (options.json) {
34
+ console.log(JSON.stringify({ success: false, error: response.error || { code: 'API_ERROR', message: 'Unknown error' } }, null, 2));
35
+ }
36
+ else {
37
+ console.error(chalk.red(`\n✗ Failed to dispose fixed asset: ${response.error?.message || 'Unknown error'}`));
38
+ if (response.error?.code)
39
+ console.error(chalk.gray(` Error code: ${response.error.code}`));
40
+ }
41
+ console.error();
42
+ process.exit(1);
43
+ return;
44
+ }
45
+ const result = response.data;
46
+ if (options.json) {
47
+ console.log(JSON.stringify({ success: true, data: result }, null, 2));
48
+ return;
49
+ }
50
+ console.log(chalk.green(`\n✓ Fixed asset disposed successfully`));
51
+ if (result) {
52
+ console.log(chalk.gray(` Disposal ID: ${result.disposalId}`));
53
+ console.log(chalk.gray(` Gain/Loss: ${result.gainLossAmount}`));
54
+ if (result.voucherId)
55
+ console.log(chalk.gray(` Voucher ID: ${result.voucherId}`));
56
+ }
57
+ console.log();
58
+ });
59
+ return cmd;
60
+ }
61
+ //# sourceMappingURL=dispose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispose.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/fixed-asset/dispose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAI3D,MAAM,UAAU,qCAAqC;IACnD,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IACnC,GAAG,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAEvC,GAAG;SACA,cAAc,CAAC,qBAAqB,EAAE,UAAU,CAAC;SACjD,cAAc,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;SACtE,cAAc,CAAC,0BAA0B,EAAE,gDAAgD,CAAC;SAC5F,cAAc,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;SAClE,MAAM,CAAC,0BAA0B,EAAE,oEAAoE,CAAC;SACxG,MAAM,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;SACxD,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;SAC7C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAI,OAAO,CAAC,GAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAChD,MAAM,EAAE,GAAG,OAAO,CAAC,OAAiB,CAAC;QAErC,MAAM,IAAI,GAA4B;YACpC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YAChD,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACjD,CAAC;QACF,IAAI,OAAO,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAEhE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAElF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACrI,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC;gBAC7G,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI;oBAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9F,CAAC;YACD,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAyC,CAAC;QAElE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAClE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YACjE,IAAI,MAAM,CAAC,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createFinanceFixedAssetGetCommand(): Command;
3
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/fixed-asset/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,iCAAiC,IAAI,OAAO,CA0E3D"}
@@ -0,0 +1,73 @@
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 createFinanceFixedAssetGetCommand() {
7
+ const getCommand = new Command('get');
8
+ getCommand.description('Get fixed asset detail');
9
+ getCommand
10
+ .requiredOption('--id <string>', 'Asset ID')
11
+ .option('--json', 'Output as JSON')
12
+ .action(async (options) => {
13
+ const context = configManager.getCurrentContext();
14
+ const environment = options.env || context.environment;
15
+ const tenant = options.tenant || context.tenant;
16
+ const id = options.id;
17
+ const response = await apiClient.getFixedAsset(environment, tenant, id);
18
+ if (!response.success) {
19
+ if (options.json) {
20
+ console.log(JSON.stringify({ success: false, error: response.error || { code: 'API_ERROR', message: 'Unknown error' } }, null, 2));
21
+ }
22
+ else {
23
+ console.error(chalk.red(`\n✗ Failed to get fixed asset: ${response.error?.message || 'Unknown error'}`));
24
+ if (response.error?.code)
25
+ console.error(chalk.gray(` Error code: ${response.error.code}`));
26
+ }
27
+ console.error();
28
+ process.exit(1);
29
+ return;
30
+ }
31
+ const data = response.data;
32
+ if (!data) {
33
+ if (options.json) {
34
+ console.log(JSON.stringify({ success: true, data: null }, null, 2));
35
+ }
36
+ else {
37
+ console.log(chalk.bold('\n📋 Fixed Asset Detail\n'));
38
+ console.log(chalk.gray(` No asset found for ID: ${id}\n`));
39
+ }
40
+ return;
41
+ }
42
+ if (options.json) {
43
+ console.log(JSON.stringify({ success: true, data }, null, 2));
44
+ return;
45
+ }
46
+ console.log(chalk.bold('\n📋 Fixed Asset Detail\n'));
47
+ const table = new Table({
48
+ head: [chalk.bold('Field'), chalk.bold('Value')],
49
+ colWidths: [25, 55],
50
+ style: { head: [], border: [] },
51
+ });
52
+ table.push(['ID', data.assetId || '-']);
53
+ table.push(['Code', data.assetCode || '-']);
54
+ table.push(['Name', data.assetName || '-']);
55
+ table.push(['Category', data.categoryName || '-']);
56
+ table.push(['Status', data.assetStatus || '-']);
57
+ table.push(['Acquisition Type', data.acquisitionType || '-']);
58
+ table.push(['Acquisition Date', data.acquisitionDate || '-']);
59
+ table.push(['Original Cost', data.originalCost != null ? String(data.originalCost) : '-']);
60
+ table.push(['Salvage Value', data.salvageValue != null ? String(data.salvageValue) : '-']);
61
+ table.push(['Useful Life (months)', data.usefulLifeMonths != null ? String(data.usefulLifeMonths) : '-']);
62
+ table.push(['Depreciation Method', data.depreciationMethod || '-']);
63
+ table.push(['Accumulated Depreciation', data.accumulatedDepreciation != null ? String(data.accumulatedDepreciation) : '-']);
64
+ table.push(['Impairment Amount', data.impairmentAmount != null ? String(data.impairmentAmount) : '-']);
65
+ table.push(['Net Book Value', data.netBookValue != null ? String(data.netBookValue) : '-']);
66
+ table.push(['Location', data.location || '-']);
67
+ table.push(['Responsible Person', data.responsiblePerson || '-']);
68
+ console.log(table.toString());
69
+ console.log();
70
+ });
71
+ return getCommand;
72
+ }
73
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/fixed-asset/get.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createFinanceFixedAssetImpairmentCommand(): Command;
3
+ //# sourceMappingURL=impairment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impairment.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/fixed-asset/impairment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,wCAAwC,IAAI,OAAO,CAkGlE"}
@@ -0,0 +1,93 @@
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 createFinanceFixedAssetImpairmentCommand() {
6
+ const cmd = new Command('impairment');
7
+ cmd.description('Record or reverse fixed asset impairment');
8
+ const impairmentCmd = new Command('impairment');
9
+ impairmentCmd.description('Record fixed asset impairment');
10
+ impairmentCmd
11
+ .requiredOption('--asset-id <string>', 'Asset ID')
12
+ .requiredOption('--amount <number>', 'Impairment amount (cents, <= net book value)')
13
+ .option('--reason <string>', 'Reason for impairment')
14
+ .option('--json', 'Output as JSON')
15
+ .action(async (options) => {
16
+ const context = configManager.getCurrentContext();
17
+ const environment = options.env || context.environment;
18
+ const tenant = options.tenant || context.tenant;
19
+ const id = options.assetId;
20
+ const data = {
21
+ impairmentAmount: parseInt(options.amount, 10),
22
+ };
23
+ if (options.reason)
24
+ data.reason = options.reason;
25
+ const response = await apiClient.recordFixedAssetImpairment(environment, tenant, id, data);
26
+ if (!response.success) {
27
+ if (options.json) {
28
+ console.log(JSON.stringify({ success: false, error: response.error || { code: 'API_ERROR', message: 'Unknown error' } }, null, 2));
29
+ }
30
+ else {
31
+ console.error(chalk.red(`\n✗ Failed to record impairment: ${response.error?.message || 'Unknown error'}`));
32
+ if (response.error?.code)
33
+ console.error(chalk.gray(` Error code: ${response.error.code}`));
34
+ }
35
+ console.error();
36
+ process.exit(1);
37
+ return;
38
+ }
39
+ const result = response.data;
40
+ if (options.json) {
41
+ console.log(JSON.stringify({ success: true, data: result }, null, 2));
42
+ return;
43
+ }
44
+ console.log(chalk.green(`\n✓ Impairment recorded successfully`));
45
+ if (result) {
46
+ console.log(chalk.gray(` Asset ID: ${result.assetId}`));
47
+ console.log(chalk.gray(` Impairment Amount: ${result.impairmentAmount}`));
48
+ console.log(chalk.gray(` Status: ${result.assetStatus}`));
49
+ }
50
+ console.log();
51
+ });
52
+ const reverseCmd = new Command('reverse-impairment');
53
+ reverseCmd.description('Reverse fixed asset impairment');
54
+ reverseCmd
55
+ .requiredOption('--asset-id <string>', 'Asset ID')
56
+ .option('--reversal-amount <number>', 'Reversal amount (<= accumulated impairment)')
57
+ .option('--json', 'Output as JSON')
58
+ .action(async (options) => {
59
+ const context = configManager.getCurrentContext();
60
+ const environment = options.env || context.environment;
61
+ const tenant = options.tenant || context.tenant;
62
+ const id = options.assetId;
63
+ const response = await apiClient.reverseFixedAssetImpairment(environment, tenant, id, options.reversalAmount);
64
+ if (!response.success) {
65
+ if (options.json) {
66
+ console.log(JSON.stringify({ success: false, error: response.error || { code: 'API_ERROR', message: 'Unknown error' } }, null, 2));
67
+ }
68
+ else {
69
+ console.error(chalk.red(`\n✗ Failed to reverse impairment: ${response.error?.message || 'Unknown error'}`));
70
+ if (response.error?.code)
71
+ console.error(chalk.gray(` Error code: ${response.error.code}`));
72
+ }
73
+ console.error();
74
+ process.exit(1);
75
+ return;
76
+ }
77
+ const result = response.data;
78
+ if (options.json) {
79
+ console.log(JSON.stringify({ success: true, data: result }, null, 2));
80
+ return;
81
+ }
82
+ console.log(chalk.green(`\n✓ Impairment reversed successfully`));
83
+ if (result) {
84
+ console.log(chalk.gray(` Asset ID: ${result.assetId}`));
85
+ console.log(chalk.gray(` Status: ${result.assetStatus}`));
86
+ }
87
+ console.log();
88
+ });
89
+ cmd.addCommand(impairmentCmd);
90
+ cmd.addCommand(reverseCmd);
91
+ return cmd;
92
+ }
93
+ //# sourceMappingURL=impairment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impairment.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/fixed-asset/impairment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createFinanceFixedAssetCommand(): Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/fixed-asset/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,8BAA8B,IAAI,OAAO,CAgBxD"}
@@ -0,0 +1,27 @@
1
+ import { Command } from 'commander';
2
+ import { createFinanceFixedAssetCreateCommand } from './create.js';
3
+ import { createFinanceFixedAssetGetCommand } from './get.js';
4
+ import { createFinanceFixedAssetUpdateCommand } from './update.js';
5
+ import { createFinanceFixedAssetListCommand } from './list.js';
6
+ import { createFinanceFixedAssetCapitaliseCommand } from './capitalise.js';
7
+ import { createFinanceFixedAssetDepreciateCommand } from './depreciate.js';
8
+ import { createFinanceFixedAssetDepreciationScheduleCommand } from './depreciation-schedule.js';
9
+ import { createFinanceFixedAssetImpairmentCommand } from './impairment.js';
10
+ import { createFinanceFixedAssetDisposeCommand } from './dispose.js';
11
+ import { createFinanceFixedAssetCategoryCommand } from './category/index.js';
12
+ export function createFinanceFixedAssetCommand() {
13
+ const fixedAssetCommand = new Command('fixed-asset');
14
+ fixedAssetCommand.description('Manage fixed assets (create/get/list/update/capitalise/depreciate/schedule/impairment/dispose/category)');
15
+ fixedAssetCommand.addCommand(createFinanceFixedAssetCreateCommand());
16
+ fixedAssetCommand.addCommand(createFinanceFixedAssetGetCommand());
17
+ fixedAssetCommand.addCommand(createFinanceFixedAssetListCommand());
18
+ fixedAssetCommand.addCommand(createFinanceFixedAssetUpdateCommand());
19
+ fixedAssetCommand.addCommand(createFinanceFixedAssetCapitaliseCommand());
20
+ fixedAssetCommand.addCommand(createFinanceFixedAssetDepreciateCommand());
21
+ fixedAssetCommand.addCommand(createFinanceFixedAssetDepreciationScheduleCommand());
22
+ fixedAssetCommand.addCommand(createFinanceFixedAssetImpairmentCommand());
23
+ fixedAssetCommand.addCommand(createFinanceFixedAssetDisposeCommand());
24
+ fixedAssetCommand.addCommand(createFinanceFixedAssetCategoryCommand());
25
+ return fixedAssetCommand;
26
+ }
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/fixed-asset/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,iCAAiC,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,kCAAkC,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,wCAAwC,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,wCAAwC,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,kDAAkD,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,EAAE,wCAAwC,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,qCAAqC,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,sCAAsC,EAAE,MAAM,qBAAqB,CAAC;AAE7E,MAAM,UAAU,8BAA8B;IAC5C,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACrD,iBAAiB,CAAC,WAAW,CAAC,yGAAyG,CAAC,CAAC;IAEzI,iBAAiB,CAAC,UAAU,CAAC,oCAAoC,EAAE,CAAC,CAAC;IACrE,iBAAiB,CAAC,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAClE,iBAAiB,CAAC,UAAU,CAAC,kCAAkC,EAAE,CAAC,CAAC;IACnE,iBAAiB,CAAC,UAAU,CAAC,oCAAoC,EAAE,CAAC,CAAC;IACrE,iBAAiB,CAAC,UAAU,CAAC,wCAAwC,EAAE,CAAC,CAAC;IACzE,iBAAiB,CAAC,UAAU,CAAC,wCAAwC,EAAE,CAAC,CAAC;IACzE,iBAAiB,CAAC,UAAU,CAAC,kDAAkD,EAAE,CAAC,CAAC;IACnF,iBAAiB,CAAC,UAAU,CAAC,wCAAwC,EAAE,CAAC,CAAC;IACzE,iBAAiB,CAAC,UAAU,CAAC,qCAAqC,EAAE,CAAC,CAAC;IACtE,iBAAiB,CAAC,UAAU,CAAC,sCAAsC,EAAE,CAAC,CAAC;IAEvE,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createFinanceFixedAssetListCommand(): Command;
3
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/fixed-asset/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,kCAAkC,IAAI,OAAO,CAgF5D"}
@@ -0,0 +1,84 @@
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 createFinanceFixedAssetListCommand() {
7
+ const listCommand = new Command('list');
8
+ listCommand.description('List fixed assets');
9
+ listCommand
10
+ .option('--status <string>', 'Filter by status (PENDING|ACTIVE|DEPRECIATING|IMPAIRED|DISPOSED)')
11
+ .option('--category-id <string>', 'Filter by category ID')
12
+ .option('--code <string>', 'Filter by asset code')
13
+ .option('--name <string>', 'Filter by asset name')
14
+ .option('--start-date <number>', 'Start date filter (epoch ms)')
15
+ .option('--end-date <number>', 'End date filter (epoch ms)')
16
+ .option('--page <number>', 'Page number', '1')
17
+ .option('--size <number>', 'Page size', '20')
18
+ .option('--json', 'Output as JSON')
19
+ .action(async (options) => {
20
+ const context = configManager.getCurrentContext();
21
+ const environment = options.env || context.environment;
22
+ const tenant = options.tenant || context.tenant;
23
+ const params = {
24
+ pageNo: parseInt(options.page, 10),
25
+ pageSize: parseInt(options.size, 10),
26
+ };
27
+ if (options.status)
28
+ params.assetStatus = options.status;
29
+ if (options.categoryId)
30
+ params.categoryId = options.categoryId;
31
+ if (options.code)
32
+ params.assetCode = options.code;
33
+ if (options.name)
34
+ params.assetName = options.name;
35
+ if (options.startDate)
36
+ params.beginDate = parseInt(options.startDate, 10);
37
+ if (options.endDate)
38
+ params.endDate = parseInt(options.endDate, 10);
39
+ const response = await apiClient.listFixedAssets(environment, tenant, params);
40
+ if (!response.success) {
41
+ if (options.json) {
42
+ console.log(JSON.stringify({ success: false, error: response.error || { code: 'API_ERROR', message: 'Unknown error' } }, null, 2));
43
+ }
44
+ else {
45
+ console.error(chalk.red(`\n✗ Failed to list fixed assets: ${response.error?.message || 'Unknown error'}`));
46
+ if (response.error?.code)
47
+ console.error(chalk.gray(` Error code: ${response.error.code}`));
48
+ }
49
+ console.error();
50
+ process.exit(1);
51
+ return;
52
+ }
53
+ if (options.json) {
54
+ console.log(JSON.stringify({ success: true, data: response.data }, null, 2));
55
+ return;
56
+ }
57
+ const rows = response.data?.rows || [];
58
+ if (rows.length === 0) {
59
+ console.log(chalk.bold('\n📋 Fixed Assets\n'));
60
+ console.log(chalk.gray(' No fixed assets found\n'));
61
+ return;
62
+ }
63
+ console.log(chalk.bold('\n📋 Fixed Assets\n'));
64
+ const table = new Table({
65
+ head: [chalk.bold('Code'), chalk.bold('Name'), chalk.bold('Category'), chalk.bold('Status'), chalk.bold('Cost'), chalk.bold('NBV')],
66
+ colWidths: [15, 25, 15, 15, 15, 15],
67
+ style: { head: [], border: [] },
68
+ });
69
+ for (const row of rows) {
70
+ table.push([
71
+ row.assetCode || '-',
72
+ row.assetName || '-',
73
+ row.categoryName || '-',
74
+ row.assetStatus || '-',
75
+ row.originalCost != null ? String(row.originalCost) : '-',
76
+ row.netBookValue != null ? String(row.netBookValue) : '-',
77
+ ]);
78
+ }
79
+ console.log(table.toString());
80
+ console.log();
81
+ });
82
+ return listCommand;
83
+ }
84
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/fixed-asset/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAG3D,MAAM,UAAU,kCAAkC;IAChD,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAE7C,WAAW;SACR,MAAM,CAAC,mBAAmB,EAAE,kEAAkE,CAAC;SAC/F,MAAM,CAAC,wBAAwB,EAAE,uBAAuB,CAAC;SACzD,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;SACjD,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;SACjD,MAAM,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;SAC/D,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;SAC3D,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,GAAG,CAAC;SAC7C,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,IAAI,CAAC;SAC5C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAI,OAAO,CAAC,GAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAEhD,MAAM,MAAM,GAA4B;YACtC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACrC,CAAC;QACF,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;QACxD,IAAI,OAAO,CAAC,UAAU;YAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAC/D,IAAI,OAAO,CAAC,IAAI;YAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;QAClD,IAAI,OAAO,CAAC,IAAI;YAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;QAClD,IAAI,OAAO,CAAC,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEpE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAE9E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACrI,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC;gBAC3G,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI;oBAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9F,CAAC;YACD,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAI,QAAQ,CAAC,IAAY,EAAE,IAAI,IAAI,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;YACtB,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnI,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YACnC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;SAChC,CAAC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,CAAC,SAAS,IAAI,GAAG;gBACpB,GAAG,CAAC,SAAS,IAAI,GAAG;gBACpB,GAAG,CAAC,YAAY,IAAI,GAAG;gBACvB,GAAG,CAAC,WAAW,IAAI,GAAG;gBACtB,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG;gBACzD,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG;aAC1D,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEL,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createFinanceFixedAssetUpdateCommand(): Command;
3
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/fixed-asset/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,oCAAoC,IAAI,OAAO,CAmD9D"}
@@ -0,0 +1,54 @@
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 createFinanceFixedAssetUpdateCommand() {
6
+ const updateCommand = new Command('update');
7
+ updateCommand.description('Update fixed asset (name/location/person — only when PENDING)');
8
+ updateCommand
9
+ .requiredOption('--id <string>', 'Asset ID')
10
+ .option('--name <string>', 'New asset name')
11
+ .option('--location <string>', 'New location')
12
+ .option('--responsible-person <string>', 'New responsible person')
13
+ .option('--json', 'Output as JSON')
14
+ .action(async (options) => {
15
+ const context = configManager.getCurrentContext();
16
+ const environment = options.env || context.environment;
17
+ const tenant = options.tenant || context.tenant;
18
+ const id = options.id;
19
+ const data = {};
20
+ if (options.name)
21
+ data.assetName = options.name;
22
+ if (options.location)
23
+ data.location = options.location;
24
+ if (options.responsiblePerson)
25
+ data.responsiblePerson = options.responsiblePerson;
26
+ const response = await apiClient.updateFixedAsset(environment, tenant, id, data);
27
+ if (!response.success) {
28
+ if (options.json) {
29
+ console.log(JSON.stringify({ success: false, error: response.error || { code: 'API_ERROR', message: 'Unknown error' } }, null, 2));
30
+ }
31
+ else {
32
+ console.error(chalk.red(`\n✗ Failed to update fixed asset: ${response.error?.message || 'Unknown error'}`));
33
+ if (response.error?.code)
34
+ console.error(chalk.gray(` Error code: ${response.error.code}`));
35
+ }
36
+ console.error();
37
+ process.exit(1);
38
+ return;
39
+ }
40
+ const result = response.data;
41
+ if (options.json) {
42
+ console.log(JSON.stringify({ success: true, data: result }, null, 2));
43
+ return;
44
+ }
45
+ console.log(chalk.green(`\n✓ Fixed asset updated successfully`));
46
+ if (result) {
47
+ console.log(chalk.gray(` ID: ${result.assetId}`));
48
+ console.log(chalk.gray(` Name: ${result.assetName}`));
49
+ }
50
+ console.log();
51
+ });
52
+ return updateCommand;
53
+ }
54
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/fixed-asset/update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/finance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,wBAAgB,oBAAoB,IAAI,OAAO,CAsB9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/finance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,oBAAoB,IAAI,OAAO,CAuB9C"}
@@ -15,9 +15,10 @@ import { createFinanceAutoVoucherCommand } from './auto-voucher/index.js';
15
15
  import { createFinanceBankReconciliationCommand } from './bank-reconciliation/index.js';
16
16
  import { createFinanceAmortizationCommand } from './amortization/index.js';
17
17
  import { createFinanceAdjustmentChecklistCommand } from './adjustment-checklist/index.js';
18
+ import { createFinanceFixedAssetCommand } from './fixed-asset/index.js';
18
19
  export function createFinanceCommand() {
19
20
  const financeCommand = new Command('finance');
20
- financeCommand.description('Manage finance (invoices, proceeds, costs, management-fee, production-cost, config, coa, voucher, period, reports, tax, exchange-rate, auto-voucher, bank-reconciliation, amortization, adjustment-checklist)');
21
+ financeCommand.description('Manage finance (invoices, proceeds, costs, management-fee, production-cost, config, coa, voucher, period, reports, tax, exchange-rate, auto-voucher, bank-reconciliation, amortization, adjustment-checklist, fixed-asset)');
21
22
  financeCommand.addCommand(createFinanceInvoicesCommand());
22
23
  financeCommand.addCommand(createFinanceProceedsCommand());
23
24
  financeCommand.addCommand(createFinanceCostCommand());
@@ -34,6 +35,7 @@ export function createFinanceCommand() {
34
35
  financeCommand.addCommand(createFinanceBankReconciliationCommand());
35
36
  financeCommand.addCommand(createFinanceAmortizationCommand());
36
37
  financeCommand.addCommand(createFinanceAdjustmentChecklistCommand());
38
+ financeCommand.addCommand(createFinanceFixedAssetCommand());
37
39
  return financeCommand;
38
40
  }
39
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/liberica/finance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,sCAAsC,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,uCAAuC,EAAE,MAAM,iCAAiC,CAAC;AAE1F,MAAM,UAAU,oBAAoB;IAClC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,cAAc,CAAC,WAAW,CAAC,+MAA+M,CAAC,CAAC;IAE5O,cAAc,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC1D,cAAc,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC1D,cAAc,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACtD,cAAc,CAAC,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAC/D,cAAc,CAAC,UAAU,CAAC,kCAAkC,EAAE,CAAC,CAAC;IAChE,cAAc,CAAC,UAAU,CAAC,0BAA0B,EAAE,CAAC,CAAC;IACxD,cAAc,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACrD,cAAc,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACzD,cAAc,CAAC,UAAU,CAAC,0BAA0B,EAAE,CAAC,CAAC;IACxD,cAAc,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACzD,cAAc,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACrD,cAAc,CAAC,UAAU,CAAC,gCAAgC,EAAE,CAAC,CAAC;IAC9D,cAAc,CAAC,UAAU,CAAC,+BAA+B,EAAE,CAAC,CAAC;IAC7D,cAAc,CAAC,UAAU,CAAC,sCAAsC,EAAE,CAAC,CAAC;IACpE,cAAc,CAAC,UAAU,CAAC,gCAAgC,EAAE,CAAC,CAAC;IAC9D,cAAc,CAAC,UAAU,CAAC,uCAAuC,EAAE,CAAC,CAAC;IAErE,OAAO,cAAc,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/liberica/finance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,sCAAsC,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,uCAAuC,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAExE,MAAM,UAAU,oBAAoB;IAClC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,cAAc,CAAC,WAAW,CAAC,4NAA4N,CAAC,CAAC;IAEzP,cAAc,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC1D,cAAc,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC1D,cAAc,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACtD,cAAc,CAAC,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAC/D,cAAc,CAAC,UAAU,CAAC,kCAAkC,EAAE,CAAC,CAAC;IAChE,cAAc,CAAC,UAAU,CAAC,0BAA0B,EAAE,CAAC,CAAC;IACxD,cAAc,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACrD,cAAc,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACzD,cAAc,CAAC,UAAU,CAAC,0BAA0B,EAAE,CAAC,CAAC;IACxD,cAAc,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACzD,cAAc,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACrD,cAAc,CAAC,UAAU,CAAC,gCAAgC,EAAE,CAAC,CAAC;IAC9D,cAAc,CAAC,UAAU,CAAC,+BAA+B,EAAE,CAAC,CAAC;IAC7D,cAAc,CAAC,UAAU,CAAC,sCAAsC,EAAE,CAAC,CAAC;IACpE,cAAc,CAAC,UAAU,CAAC,gCAAgC,EAAE,CAAC,CAAC;IAC9D,cAAc,CAAC,UAAU,CAAC,uCAAuC,EAAE,CAAC,CAAC;IACrE,cAAc,CAAC,UAAU,CAAC,8BAA8B,EAAE,CAAC,CAAC;IAE5D,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createFinanceVoucherAuditTrailCommand(): Command;
3
+ //# sourceMappingURL=audit-trail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-trail.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/voucher/audit-trail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,qCAAqC,IAAI,OAAO,CAsE/D"}