@newpeak/barista-cli 0.2.301 → 0.2.306

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 (55) hide show
  1. package/dist/commands/liberica/runner/images/copy.d.ts +3 -0
  2. package/dist/commands/liberica/runner/images/copy.d.ts.map +1 -0
  3. package/dist/commands/liberica/runner/images/copy.js +84 -0
  4. package/dist/commands/liberica/runner/images/copy.js.map +1 -0
  5. package/dist/commands/liberica/runner/images/index.d.ts.map +1 -1
  6. package/dist/commands/liberica/runner/images/index.js +4 -0
  7. package/dist/commands/liberica/runner/images/index.js.map +1 -1
  8. package/dist/commands/liberica/runner/images/options.d.ts +3 -0
  9. package/dist/commands/liberica/runner/images/options.d.ts.map +1 -0
  10. package/dist/commands/liberica/runner/images/options.js +64 -0
  11. package/dist/commands/liberica/runner/images/options.js.map +1 -0
  12. package/dist/commands/liberica/teams/plans/helpers.d.ts +1 -0
  13. package/dist/commands/liberica/teams/plans/helpers.d.ts.map +1 -1
  14. package/dist/commands/liberica/teams/plans/helpers.js +11 -0
  15. package/dist/commands/liberica/teams/plans/helpers.js.map +1 -1
  16. package/dist/commands/liberica/teams/plans/index.d.ts.map +1 -1
  17. package/dist/commands/liberica/teams/plans/index.js +2 -0
  18. package/dist/commands/liberica/teams/plans/index.js.map +1 -1
  19. package/dist/commands/liberica/teams/plans/items/edit.d.ts.map +1 -1
  20. package/dist/commands/liberica/teams/plans/items/edit.js +12 -7
  21. package/dist/commands/liberica/teams/plans/items/edit.js.map +1 -1
  22. package/dist/commands/liberica/teams/plans/items/import.d.ts.map +1 -1
  23. package/dist/commands/liberica/teams/plans/items/import.js +10 -0
  24. package/dist/commands/liberica/teams/plans/items/import.js.map +1 -1
  25. package/dist/commands/liberica/teams/plans/items/merge.d.ts +22 -0
  26. package/dist/commands/liberica/teams/plans/items/merge.d.ts.map +1 -0
  27. package/dist/commands/liberica/teams/plans/items/merge.js +141 -0
  28. package/dist/commands/liberica/teams/plans/items/merge.js.map +1 -0
  29. package/dist/commands/liberica/teams/plans/notify/index.d.ts +3 -0
  30. package/dist/commands/liberica/teams/plans/notify/index.d.ts.map +1 -0
  31. package/dist/commands/liberica/teams/plans/notify/index.js +9 -0
  32. package/dist/commands/liberica/teams/plans/notify/index.js.map +1 -0
  33. package/dist/commands/liberica/teams/plans/notify/preview.d.ts +3 -0
  34. package/dist/commands/liberica/teams/plans/notify/preview.d.ts.map +1 -0
  35. package/dist/commands/liberica/teams/plans/notify/preview.js +65 -0
  36. package/dist/commands/liberica/teams/plans/notify/preview.js.map +1 -0
  37. package/dist/commands/liberica/teams/plans/update.d.ts.map +1 -1
  38. package/dist/commands/liberica/teams/plans/update.js +34 -3
  39. package/dist/commands/liberica/teams/plans/update.js.map +1 -1
  40. package/dist/commands/liberica/teams/projects/update.d.ts.map +1 -1
  41. package/dist/commands/liberica/teams/projects/update.js +17 -1
  42. package/dist/commands/liberica/teams/projects/update.js.map +1 -1
  43. package/dist/core/api/client.d.ts +4 -1
  44. package/dist/core/api/client.d.ts.map +1 -1
  45. package/dist/core/api/client.js +55 -0
  46. package/dist/core/api/client.js.map +1 -1
  47. package/dist/types/runner.d.ts +4 -0
  48. package/dist/types/runner.d.ts.map +1 -1
  49. package/dist/types/team-plan.d.ts +38 -0
  50. package/dist/types/team-plan.d.ts.map +1 -1
  51. package/dist/types/team-project.d.ts +10 -0
  52. package/dist/types/team-project.d.ts.map +1 -1
  53. package/package.json +1 -1
  54. package/skills/barista-cli/data/commands.json +22 -1
  55. package/skills/barista-cli/data/commands.yaml +15 -1
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createRunnerImageCopyCommand(): Command;
3
+ //# sourceMappingURL=copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/runner/images/copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,wBAAgB,4BAA4B,IAAI,OAAO,CAuEtD"}
@@ -0,0 +1,84 @@
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
+ const NAME_DUPLICATE_HINT = '可先使用 images edit 改名或 images delete 删除旧行';
6
+ function buildErrorMessage(code, message) {
7
+ if (code === 'A985005' && !/edit|delete/i.test(message)) {
8
+ return `${message}(${NAME_DUPLICATE_HINT})`;
9
+ }
10
+ return message;
11
+ }
12
+ export function createRunnerImageCopyCommand() {
13
+ const copyCommand = new Command('copy');
14
+ copyCommand.description('Copy a platform default agent image to the current tenant');
15
+ copyCommand
16
+ .argument('<id>', 'Platform default agent image ID (from "images defaults")')
17
+ .option('--dry-run', 'Preview without making API call')
18
+ .option('--json', 'Output as JSON')
19
+ .action(async (id, options) => {
20
+ const context = configManager.getCurrentContext();
21
+ const environment = options.env || context.environment;
22
+ const tenant = options.tenant || context.tenant;
23
+ const dryRun = options.dryRun === true;
24
+ const jsonOutput = options.json === true;
25
+ if (!id.trim()) {
26
+ if (jsonOutput) {
27
+ console.log(JSON.stringify({ success: false, error: { code: 'MISSING_ID', message: 'Agent image ID is required' } }));
28
+ }
29
+ else {
30
+ console.error(chalk.red('\n✗ Error: Agent image ID is required\n'));
31
+ }
32
+ process.exit(1);
33
+ }
34
+ if (dryRun) {
35
+ if (jsonOutput) {
36
+ console.log(JSON.stringify({ success: true, dryRun: true, data: { agentImageId: id, action: 'copy' } }, null, 2));
37
+ }
38
+ else {
39
+ console.log(chalk.bold('\n🔍 Dry-Run Mode: No changes will be made\n'));
40
+ console.log(` Platform image to be copied: ${id}`);
41
+ console.log();
42
+ }
43
+ return;
44
+ }
45
+ if (!jsonOutput) {
46
+ console.log(chalk.bold('\n📝 Copying Agent Image\n'));
47
+ }
48
+ const response = await apiClient.copyAgentImage(environment, tenant, id);
49
+ if (!response.success) {
50
+ const rawMessage = response.error?.message || 'Failed to copy agent image';
51
+ const errorCode = response.error?.code || 'COPY_AGENT_IMAGE_ERROR';
52
+ const errorMsg = buildErrorMessage(errorCode, rawMessage);
53
+ if (jsonOutput) {
54
+ console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
55
+ }
56
+ else {
57
+ console.error(chalk.red(`\n✗ Failed to copy agent image: ${errorMsg}`));
58
+ if (response.error?.code)
59
+ console.error(chalk.gray(` Error code: ${response.error.code}`));
60
+ console.error();
61
+ }
62
+ process.exit(1);
63
+ }
64
+ const image = response.data;
65
+ if (jsonOutput) {
66
+ console.log(JSON.stringify({ success: true, data: image }, null, 2));
67
+ }
68
+ else {
69
+ console.log(chalk.green('✓ Agent image copied successfully\n'));
70
+ if (image?.agentImageId)
71
+ console.log(` ${chalk.gray('Image ID:')} ${image.agentImageId}`);
72
+ if (image?.imageName)
73
+ console.log(` ${chalk.gray('Name:')} ${image.imageName}`);
74
+ if (image?.imageUrl)
75
+ console.log(` ${chalk.gray('URL:')} ${image.imageUrl}`);
76
+ if (image?.imageTag)
77
+ console.log(` ${chalk.gray('Tag:')} ${image.imageTag}`);
78
+ console.log(` ${chalk.gray('Source:')} ${image?.source || 'TENANT'}`);
79
+ console.log();
80
+ }
81
+ });
82
+ return copyCommand;
83
+ }
84
+ //# sourceMappingURL=copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/runner/images/copy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/runner/images/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,yBAAyB,IAAI,OAAO,CAWnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/runner/images/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,yBAAyB,IAAI,OAAO,CAanD"}
@@ -4,6 +4,8 @@ import { createRunnerImageAddCommand } from './add.js';
4
4
  import { createRunnerImageEditCommand } from './edit.js';
5
5
  import { createRunnerImageDeleteCommand } from './delete.js';
6
6
  import { createRunnerImagesDefaultsCommand } from './defaults.js';
7
+ import { createRunnerImagesOptionsCommand } from './options.js';
8
+ import { createRunnerImageCopyCommand } from './copy.js';
7
9
  export function createRunnerImagesCommand() {
8
10
  const imagesCommand = new Command('images');
9
11
  imagesCommand.description('Manage agent images');
@@ -12,6 +14,8 @@ export function createRunnerImagesCommand() {
12
14
  imagesCommand.addCommand(createRunnerImageEditCommand());
13
15
  imagesCommand.addCommand(createRunnerImageDeleteCommand());
14
16
  imagesCommand.addCommand(createRunnerImagesDefaultsCommand());
17
+ imagesCommand.addCommand(createRunnerImagesOptionsCommand());
18
+ imagesCommand.addCommand(createRunnerImageCopyCommand());
15
19
  return imagesCommand;
16
20
  }
17
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/runner/images/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAElE,MAAM,UAAU,yBAAyB;IACvC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,aAAa,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAEjD,aAAa,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAC1D,aAAa,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACxD,aAAa,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC,CAAC;IACzD,aAAa,CAAC,UAAU,CAAC,8BAA8B,EAAE,CAAC,CAAC;IAC3D,aAAa,CAAC,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAE9D,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/runner/images/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAEzD,MAAM,UAAU,yBAAyB;IACvC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,aAAa,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAEjD,aAAa,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAC1D,aAAa,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACxD,aAAa,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC,CAAC;IACzD,aAAa,CAAC,UAAU,CAAC,8BAA8B,EAAE,CAAC,CAAC;IAC3D,aAAa,CAAC,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAC9D,aAAa,CAAC,UAAU,CAAC,gCAAgC,EAAE,CAAC,CAAC;IAC7D,aAAa,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAEzD,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createRunnerImagesOptionsCommand(): Command;
3
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/runner/images/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,gCAAgC,IAAI,OAAO,CAkE1D"}
@@ -0,0 +1,64 @@
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 createRunnerImagesOptionsCommand() {
7
+ const optionsCommand = new Command('options');
8
+ optionsCommand.description('List selectable agent images (platform + tenant, ACTIVE, deduped by name)');
9
+ optionsCommand
10
+ .option('--json', 'Output as JSON')
11
+ .action(async (options) => {
12
+ const context = configManager.getCurrentContext();
13
+ const environment = options.env || context.environment;
14
+ const tenant = options.tenant || context.tenant;
15
+ const jsonOutput = options.json === true;
16
+ const response = await apiClient.listAgentImageOptions(environment, tenant);
17
+ if (!response.success) {
18
+ const errorMsg = response.error?.message || 'Unknown error';
19
+ const errorCode = response.error?.code || 'LIST_AGENT_IMAGE_OPTIONS_ERROR';
20
+ if (jsonOutput) {
21
+ console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
22
+ }
23
+ else {
24
+ console.error(chalk.red(`\n✗ Failed to list selectable agent images: ${errorMsg}`));
25
+ if (response.error?.code)
26
+ console.error(chalk.gray(` Error code: ${response.error.code}`));
27
+ console.error();
28
+ }
29
+ process.exit(1);
30
+ }
31
+ const images = response.data || [];
32
+ if (jsonOutput) {
33
+ console.log(JSON.stringify({ success: true, data: { items: images, totalRows: images.length } }, null, 2));
34
+ return;
35
+ }
36
+ if (images.length === 0) {
37
+ console.log(chalk.bold('\n📋 Selectable Agent Images\n'));
38
+ console.log(chalk.gray(' No agent images found\n'));
39
+ return;
40
+ }
41
+ console.log(chalk.bold('\n📋 Selectable Agent Images\n'));
42
+ const table = new Table({
43
+ head: [chalk.bold('ID'), chalk.bold('Name'), chalk.bold('Tag'), chalk.bold('Source'), chalk.bold('Status'), chalk.bold('Memory(MB)'), chalk.bold('CPU')],
44
+ colWidths: [14, 18, 14, 10, 10, 12, 8],
45
+ style: { head: [], border: [] },
46
+ });
47
+ for (const image of images) {
48
+ const statusColor = image.status === 'ACTIVE' ? chalk.green : image.status === 'DISABLED' ? chalk.gray : chalk.yellow;
49
+ table.push([
50
+ image.agentImageId,
51
+ image.imageName || '-',
52
+ image.imageTag || '-',
53
+ image.source || '-',
54
+ statusColor(image.status || '-'),
55
+ image.memoryMb !== undefined ? String(image.memoryMb) : '-',
56
+ image.cpuShares !== undefined ? String(image.cpuShares) : '-',
57
+ ]);
58
+ }
59
+ console.log(table.toString());
60
+ console.log();
61
+ });
62
+ return optionsCommand;
63
+ }
64
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/runner/images/options.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export declare function parseNumberOption(value: unknown, optionName: string, js
12
12
  export declare function parseIntegerOption(value: unknown, optionName: string, json: boolean): number;
13
13
  export declare function optionalNumber(value: unknown): number | undefined;
14
14
  export declare function optionalInteger(value: unknown): number | undefined;
15
+ export declare function optionalBoolean(value: unknown): boolean | undefined;
15
16
  export declare function printDryRun(data: unknown, json: boolean): void;
16
17
  export declare function handleResponse(response: TeamPlanApiResponse, json: boolean, render: (data: unknown) => void): void;
17
18
  export declare function printRows(data: unknown): void;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/plans/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,wBAAgB,cAAc,CAAC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG;IACrE,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,CAMA;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE9C;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,CAQxE;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GACZ,MAAM,CAKR;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKjE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GACZ,MAAM,CAOR;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GACZ,MAAM,CAOR;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMjE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMlE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAQ9D;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAC9B,IAAI,CAaN;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAiB7C"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/plans/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,wBAAgB,cAAc,CAAC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG;IACrE,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,CAMA;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE9C;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,CAQxE;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GACZ,MAAM,CAKR;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKjE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GACZ,MAAM,CAOR;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GACZ,MAAM,CAOR;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMjE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMlE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAQnE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAQ9D;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAC9B,IAAI,CAaN;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAiB7C"}
@@ -62,6 +62,17 @@ export function optionalInteger(value) {
62
62
  const parsed = Number.parseInt(String(value), 10);
63
63
  return Number.isInteger(parsed) ? parsed : undefined;
64
64
  }
65
+ export function optionalBoolean(value) {
66
+ if (value === undefined || value === null || String(value).trim() === '') {
67
+ return undefined;
68
+ }
69
+ const normalized = String(value).trim().toLowerCase();
70
+ if (normalized === 'true' || normalized === '1')
71
+ return true;
72
+ if (normalized === 'false' || normalized === '0')
73
+ return false;
74
+ return undefined;
75
+ }
65
76
  export function printDryRun(data, json) {
66
77
  if (json) {
67
78
  printJson({ success: true, dryRun: true, data });
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/plans/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/plans/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/plans/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,sBAAsB,IAAI,OAAO,CAiBhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/plans/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,sBAAsB,IAAI,OAAO,CAkBhD"}
@@ -10,6 +10,7 @@ import { createTeamPlanRollupCommand } from './rollup.js';
10
10
  import { createTeamPlanExportCommand } from './export.js';
11
11
  import { createTeamPlanScenariosCommand } from './scenarios/index.js';
12
12
  import { createTeamPlanWeekCommand } from './week/index.js';
13
+ import { createTeamPlanNotifyCommand } from './notify/index.js';
13
14
  export function createTeamPlansCommand() {
14
15
  const plans = new Command('plans');
15
16
  plans.description('Manage team plans (WBS, capacity, scenarios, weekly sprints)');
@@ -24,6 +25,7 @@ export function createTeamPlansCommand() {
24
25
  plans.addCommand(createTeamPlanExportCommand());
25
26
  plans.addCommand(createTeamPlanScenariosCommand());
26
27
  plans.addCommand(createTeamPlanWeekCommand());
28
+ plans.addCommand(createTeamPlanNotifyCommand());
27
29
  return plans;
28
30
  }
29
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/plans/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,UAAU,sBAAsB;IACpC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,WAAW,CAAC,8DAA8D,CAAC,CAAC;IAElF,KAAK,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC9C,KAAK,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC7C,KAAK,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,UAAU,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAC/C,KAAK,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,UAAU,CAAC,8BAA8B,EAAE,CAAC,CAAC;IACnD,KAAK,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAE9C,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/plans/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,UAAU,sBAAsB;IACpC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,WAAW,CAAC,8DAA8D,CAAC,CAAC;IAElF,KAAK,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC9C,KAAK,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC7C,KAAK,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,UAAU,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAC/C,KAAK,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,UAAU,CAAC,8BAA8B,EAAE,CAAC,CAAC;IACnD,KAAK,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC9C,KAAK,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAEhD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,6BAA6B,IAAI,OAAO,CAiFvD"}
1
+ {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,wBAAgB,6BAA6B,IAAI,OAAO,CA4FvD"}
@@ -2,6 +2,7 @@ import { Command } from 'commander';
2
2
  import chalk from 'chalk';
3
3
  import { apiClient } from '../../../../../core/api/client.js';
4
4
  import { handleResponse, optionalInteger, optionalNumber, optionalString, printDryRun, requireOption, resolveContext, } from '../helpers.js';
5
+ import { findTeamPlanItem, mergeEditItem } from './merge.js';
5
6
  export function createTeamPlanItemEditCommand() {
6
7
  const command = new Command('edit');
7
8
  command.description('Edit a plan item');
@@ -32,9 +33,11 @@ export function createTeamPlanItemEditCommand() {
32
33
  command.action(async (planId, options) => {
33
34
  const { environment, tenant } = resolveContext(options);
34
35
  const json = options.json === true;
35
- const data = {
36
- planId: requireOption(planId, '<plan-id>', json),
37
- planItemId: requireOption(options.itemId, '--item-id', json),
36
+ const id = requireOption(planId, '<plan-id>', json);
37
+ const planItemId = requireOption(options.itemId, '--item-id', json);
38
+ const overrides = {
39
+ planId: id,
40
+ planItemId,
38
41
  };
39
42
  const optionalFields = [
40
43
  ['phaseCode', optionalString(options.phaseCode)],
@@ -55,18 +58,20 @@ export function createTeamPlanItemEditCommand() {
55
58
  ];
56
59
  for (const [key, value] of optionalFields) {
57
60
  if (value !== undefined) {
58
- data[key] = value;
61
+ overrides[key] = value;
59
62
  }
60
63
  }
61
64
  const fp = optionalNumber(options.fp);
62
65
  if (fp !== undefined)
63
- data.fp = fp;
66
+ overrides.fp = fp;
64
67
  const personDays = optionalNumber(options.personDays);
65
68
  if (personDays !== undefined)
66
- data.personDays = personDays;
69
+ overrides.personDays = personDays;
67
70
  const optimisticLock = optionalInteger(options.optimisticLock);
68
71
  if (optimisticLock !== undefined)
69
- data.optimisticLock = optimisticLock;
72
+ overrides.optimisticLock = optimisticLock;
73
+ const existing = await findTeamPlanItem(environment, tenant, id, planItemId, json);
74
+ const data = mergeEditItem(overrides, existing);
70
75
  if (options.dryRun) {
71
76
  printDryRun(data, json);
72
77
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/edit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyDpC,wBAAgB,+BAA+B,IAAI,OAAO,CA6DzD"}
1
+ {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+DpC,wBAAgB,+BAA+B,IAAI,OAAO,CA0EzD"}
@@ -3,6 +3,7 @@ import chalk from 'chalk';
3
3
  import { readFileSync } from 'fs';
4
4
  import { apiClient } from '../../../../../core/api/client.js';
5
5
  import { fail, handleResponse, optionalString, printDryRun, requireOption, resolveContext, } from '../helpers.js';
6
+ import { buildTeamPlanItemIndex, fetchAllTeamPlanItems, findExistingImportItem, mergeImportRow, } from './merge.js';
6
7
  function parseRows(raw, json) {
7
8
  let parsed;
8
9
  try {
@@ -44,6 +45,7 @@ export function createTeamPlanItemImportCommand() {
44
45
  .option('--custom-project-code <string>', 'Custom project code used by --from-issues')
45
46
  .option('--rows <json>', 'Inline JSON array (or {rows:[]}) of items')
46
47
  .option('--rows-file <path>', 'Path to a JSON file containing items')
48
+ .option('--reset-execution', 'Allow import to reset progress / itemStatus / delayed execution state')
47
49
  .option('--dry-run', 'Print the request body without calling the API')
48
50
  .option('--confirm', 'Confirm the write operation')
49
51
  .option('--json', 'Output as JSON');
@@ -66,6 +68,14 @@ export function createTeamPlanItemImportCommand() {
66
68
  if (!options.fromIssues && !rows) {
67
69
  fail('MISSING_OPTION', 'Provide --from-issues or --rows/--rows-file', json);
68
70
  }
71
+ if (rows && options.resetExecution !== true) {
72
+ const existingItems = await fetchAllTeamPlanItems(environment, tenant, id, json);
73
+ const index = buildTeamPlanItemIndex(existingItems);
74
+ rows = rows.map((row) => {
75
+ const existing = findExistingImportItem(row, index);
76
+ return existing ? mergeImportRow(row, existing) : row;
77
+ });
78
+ }
69
79
  const data = {
70
80
  planId: id,
71
81
  fromIssues: options.fromIssues === true,
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/import.ts"],"names":[],"mappings":"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"}
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,22 @@
1
+ import { Environment } from '../../../../../types/index.js';
2
+ import { TeamPlanItem, TeamPlanImportRow, UpdateTeamPlanItemRequest } from '../../../../../types/team-plan.js';
3
+ export interface TeamPlanItemIndex {
4
+ byPlanItemId: Map<string, TeamPlanItem>;
5
+ byIssueId: Map<string, TeamPlanItem>;
6
+ byIssueCode: Map<string, TeamPlanItem>;
7
+ }
8
+ export declare function isMissing(value: unknown): boolean;
9
+ export declare function buildTeamPlanItemIndex(items: TeamPlanItem[]): TeamPlanItemIndex;
10
+ export declare function findExistingImportItem(row: TeamPlanImportRow, index: TeamPlanItemIndex): TeamPlanItem | undefined;
11
+ /**
12
+ * 用现值回填导入行缺失的字段,避免后端 applyRow 把执行态重置为默认值。
13
+ * fp / itemTitle 是导入必填项,不会被回填。
14
+ */
15
+ export declare function mergeImportRow(row: TeamPlanImportRow, existing: TeamPlanItem): TeamPlanImportRow;
16
+ /**
17
+ * 用现值 + 显式覆盖构造 edit 请求;未传字段保持现值,避免后端对空 fp 兜底为 0。
18
+ */
19
+ export declare function mergeEditItem(overrides: Partial<UpdateTeamPlanItemRequest>, existing: TeamPlanItem): UpdateTeamPlanItemRequest;
20
+ export declare function fetchAllTeamPlanItems(environment: Environment, tenant: string, planId: string, json: boolean): Promise<TeamPlanItem[]>;
21
+ export declare function findTeamPlanItem(environment: Environment, tenant: string, planId: string, planItemId: string, json: boolean): Promise<TeamPlanItem>;
22
+ //# sourceMappingURL=merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/teams/plans/items/merge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,mCAAmC,CAAC;AA8C3C,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACrC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACxC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMjD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,iBAAiB,CAkB/E;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,iBAAiB,GACvB,YAAY,GAAG,SAAS,CAS1B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,YAAY,GACrB,iBAAiB,CAgBnB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC7C,QAAQ,EAAE,YAAY,GACrB,yBAAyB,CAe3B;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,YAAY,EAAE,CAAC,CA2BzB;AAED,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,YAAY,CAAC,CAWvB"}
@@ -0,0 +1,141 @@
1
+ import { apiClient } from '../../../../../core/api/client.js';
2
+ import { pageItems, pageTotal } from '../../../../../utils/pagination.js';
3
+ import { fail } from '../helpers.js';
4
+ const PAGE_SIZE = 100;
5
+ const MAX_PAGES = 100;
6
+ const IMPORT_INHERIT_FIELDS = [
7
+ 'phaseCode',
8
+ 'batchCode',
9
+ 'weekCode',
10
+ 'issueId',
11
+ 'issueCode',
12
+ 'moduleCode',
13
+ 'itemType',
14
+ 'priority',
15
+ 'ownerId',
16
+ 'ownerName',
17
+ 'acceptorId',
18
+ 'acceptorName',
19
+ 'planStartDate',
20
+ 'planEndDate',
21
+ 'itemStatus',
22
+ 'progress',
23
+ ];
24
+ const EDIT_INHERIT_FIELDS = [
25
+ 'phaseCode',
26
+ 'batchCode',
27
+ 'weekCode',
28
+ 'issueId',
29
+ 'issueCode',
30
+ 'itemTitle',
31
+ 'moduleCode',
32
+ 'itemType',
33
+ 'fp',
34
+ 'personDays',
35
+ 'priority',
36
+ 'ownerId',
37
+ 'ownerName',
38
+ 'acceptorId',
39
+ 'acceptorName',
40
+ 'planStartDate',
41
+ 'planEndDate',
42
+ ];
43
+ export function isMissing(value) {
44
+ return (value === undefined ||
45
+ value === null ||
46
+ (typeof value === 'string' && value.trim() === ''));
47
+ }
48
+ export function buildTeamPlanItemIndex(items) {
49
+ const index = {
50
+ byPlanItemId: new Map(),
51
+ byIssueId: new Map(),
52
+ byIssueCode: new Map(),
53
+ };
54
+ for (const item of items) {
55
+ if (!isMissing(item.planItemId)) {
56
+ index.byPlanItemId.set(String(item.planItemId), item);
57
+ }
58
+ if (!isMissing(item.issueId)) {
59
+ index.byIssueId.set(String(item.issueId), item);
60
+ }
61
+ if (!isMissing(item.issueCode)) {
62
+ index.byIssueCode.set(String(item.issueCode), item);
63
+ }
64
+ }
65
+ return index;
66
+ }
67
+ export function findExistingImportItem(row, index) {
68
+ if (!isMissing(row.issueId)) {
69
+ const byId = index.byIssueId.get(String(row.issueId));
70
+ if (byId)
71
+ return byId;
72
+ }
73
+ if (!isMissing(row.issueCode)) {
74
+ return index.byIssueCode.get(String(row.issueCode));
75
+ }
76
+ return undefined;
77
+ }
78
+ /**
79
+ * 用现值回填导入行缺失的字段,避免后端 applyRow 把执行态重置为默认值。
80
+ * fp / itemTitle 是导入必填项,不会被回填。
81
+ */
82
+ export function mergeImportRow(row, existing) {
83
+ const merged = { ...row };
84
+ const source = existing;
85
+ for (const field of IMPORT_INHERIT_FIELDS) {
86
+ if (isMissing(merged[field]) && !isMissing(source[field])) {
87
+ merged[field] = source[field];
88
+ }
89
+ }
90
+ const fpChanged = Number(merged.fp) !== Number(existing.fp);
91
+ if (isMissing(merged.personDays) && !fpChanged && !isMissing(source.personDays)) {
92
+ merged.personDays = source.personDays;
93
+ }
94
+ return merged;
95
+ }
96
+ /**
97
+ * 用现值 + 显式覆盖构造 edit 请求;未传字段保持现值,避免后端对空 fp 兜底为 0。
98
+ */
99
+ export function mergeEditItem(overrides, existing) {
100
+ const source = existing;
101
+ const merged = {
102
+ planId: overrides.planId,
103
+ planItemId: overrides.planItemId,
104
+ };
105
+ for (const field of EDIT_INHERIT_FIELDS) {
106
+ const override = overrides[field];
107
+ merged[field] = isMissing(override) ? source[field] : override;
108
+ }
109
+ merged.optimisticLock = overrides.optimisticLock ?? existing.optimisticLock;
110
+ return merged;
111
+ }
112
+ export async function fetchAllTeamPlanItems(environment, tenant, planId, json) {
113
+ const items = [];
114
+ for (let pageNo = 1; pageNo <= MAX_PAGES; pageNo += 1) {
115
+ const response = await apiClient.listTeamPlanItems(environment, tenant, {
116
+ planId,
117
+ pageNo,
118
+ pageSize: PAGE_SIZE,
119
+ });
120
+ if (!response.success) {
121
+ fail(response.error?.code || 'LIST_PLAN_ITEMS_ERROR', response.error?.message || `Unable to list items for plan ${planId}`, json);
122
+ }
123
+ const page = pageItems(response.data);
124
+ items.push(...page);
125
+ const total = pageTotal(response.data);
126
+ if (page.length === 0 || page.length < PAGE_SIZE)
127
+ break;
128
+ if (total > 0 && items.length >= total)
129
+ break;
130
+ }
131
+ return items;
132
+ }
133
+ export async function findTeamPlanItem(environment, tenant, planId, planItemId, json) {
134
+ const items = await fetchAllTeamPlanItems(environment, tenant, planId, json);
135
+ const item = buildTeamPlanItemIndex(items).byPlanItemId.get(String(planItemId));
136
+ if (!item) {
137
+ fail('PLAN_ITEM_NOT_FOUND', `Plan item ${planItemId} was not found in plan ${planId}`, json);
138
+ }
139
+ return item;
140
+ }
141
+ //# sourceMappingURL=merge.js.map