@newpeak/barista-cli 0.2.199 → 0.2.200

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.
@@ -1 +1 @@
1
- {"version":3,"file":"fp-actual.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-actual.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,qBAAqB,IAAI,OAAO,CA8D/C"}
1
+ {"version":3,"file":"fp-actual.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-actual.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,qBAAqB,IAAI,OAAO,CA0D/C"}
@@ -5,41 +5,37 @@ import { apiClient } from '../../../../core/api/client.js';
5
5
  import { shouldUseJson } from '../../../../utils/output.js';
6
6
  export function createFpActualCommand() {
7
7
  const cmd = new Command('fp-actual');
8
- cmd.description('Submit actual FP counts');
9
- cmd.option('--evaluation-id <id>', 'FP evaluation ID');
10
- cmd.option('--actual-fp <number>', 'Actual function points');
11
- cmd.option('--notes <text>', 'Additional notes');
8
+ cmd.description('Submit actual FP counts for a team issue');
9
+ cmd.option('--issue-id <id>', 'Team issue ID (required)');
10
+ cmd.option('--post-fp <number>', 'Actual function points');
11
+ cmd.option('--detail-json <json>', 'FP detail JSON');
12
+ cmd.option('--auditor <name>', 'Auditor name');
12
13
  cmd.option('--json', 'Output as JSON');
13
14
  cmd.action(async (options) => {
14
15
  const context = configManager.getCurrentContext();
15
16
  const environment = options.env || context.environment;
16
17
  const tenant = options.tenant || context.tenant;
17
18
  const outputJson = shouldUseJson(options);
18
- if (!options.evaluationId) {
19
+ if (!options.issueId) {
19
20
  if (outputJson) {
20
- console.log(JSON.stringify({ success: false, error: { code: 'MISSING_EVALUATION_ID', message: '--evaluation-id is required' } }));
21
+ console.log(JSON.stringify({ success: false, error: { code: 'MISSING_ISSUE_ID', message: '--issue-id is required' } }));
21
22
  }
22
23
  else {
23
- console.error(chalk.red('\n✗ Error: --evaluation-id is required\n'));
24
- }
25
- process.exit(1);
26
- }
27
- if (!options.actualFp) {
28
- if (outputJson) {
29
- console.log(JSON.stringify({ success: false, error: { code: 'MISSING_ACTUAL_FP', message: '--actual-fp is required' } }));
30
- }
31
- else {
32
- console.error(chalk.red('\n✗ Error: --actual-fp is required\n'));
24
+ console.error(chalk.red('\n✗ Error: --issue-id is required\n'));
33
25
  }
34
26
  process.exit(1);
35
27
  }
36
28
  const data = {
37
- fpEvaluationId: options.evaluationId,
38
- actualFunctionPoints: parseInt(options.actualFp, 10),
39
- actualComponents: [],
29
+ teamIssueId: options.issueId,
40
30
  };
41
- if (options.notes) {
42
- data.notes = options.notes;
31
+ if (options.postFp !== undefined) {
32
+ data.postFpActual = parseInt(options.postFp, 10);
33
+ }
34
+ if (options.detailJson) {
35
+ data.postFpDetailJson = options.detailJson;
36
+ }
37
+ if (options.auditor) {
38
+ data.postFpAuditor = options.auditor;
43
39
  }
44
40
  const response = await apiClient.fpActual(environment, tenant, data);
45
41
  if (!response.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"fp-actual.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-actual.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fp-actual.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-actual.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fp-estimate.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-estimate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,uBAAuB,IAAI,OAAO,CA0EjD"}
1
+ {"version":3,"file":"fp-estimate.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-estimate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,uBAAuB,IAAI,OAAO,CA0DjD"}
@@ -5,49 +5,38 @@ import { apiClient } from '../../../../core/api/client.js';
5
5
  import { shouldUseJson } from '../../../../utils/output.js';
6
6
  export function createFpEstimateCommand() {
7
7
  const cmd = new Command('fp-estimate');
8
- cmd.description('Submit an FP estimate');
9
- cmd.option('--project-id <id>', 'Project ID');
10
- cmd.option('--estimate-name <name>', 'Estimate name');
11
- cmd.option('--method-type <type>', 'Method type: INDICATIVE | ESTIMATED | DETAILED');
8
+ cmd.description('Submit an FP estimate for a team issue');
9
+ cmd.option('--issue-id <id>', 'Team issue ID (required)');
10
+ cmd.option('--pre-fp <number>', 'Estimated function points');
11
+ cmd.option('--detail-json <json>', 'FP detail JSON (e.g. [{"componentType":"EI","count":10,"fp":30}])');
12
+ cmd.option('--estimator <name>', 'Estimator name');
12
13
  cmd.option('--json', 'Output as JSON');
13
14
  cmd.action(async (options) => {
14
15
  const context = configManager.getCurrentContext();
15
16
  const environment = options.env || context.environment;
16
17
  const tenant = options.tenant || context.tenant;
17
18
  const outputJson = shouldUseJson(options);
18
- if (!options.projectId) {
19
+ if (!options.issueId) {
19
20
  if (outputJson) {
20
- console.log(JSON.stringify({ success: false, error: { code: 'MISSING_PROJECT_ID', message: '--project-id is required' } }));
21
+ console.log(JSON.stringify({ success: false, error: { code: 'MISSING_ISSUE_ID', message: '--issue-id is required' } }));
21
22
  }
22
23
  else {
23
- console.error(chalk.red('\n✗ Error: --project-id is required\n'));
24
- }
25
- process.exit(1);
26
- }
27
- if (!options.estimateName) {
28
- if (outputJson) {
29
- console.log(JSON.stringify({ success: false, error: { code: 'MISSING_ESTIMATE_NAME', message: '--estimate-name is required' } }));
30
- }
31
- else {
32
- console.error(chalk.red('\n✗ Error: --estimate-name is required\n'));
33
- }
34
- process.exit(1);
35
- }
36
- if (!options.methodType) {
37
- if (outputJson) {
38
- console.log(JSON.stringify({ success: false, error: { code: 'MISSING_METHOD_TYPE', message: '--method-type is required' } }));
39
- }
40
- else {
41
- console.error(chalk.red('\n✗ Error: --method-type is required\n'));
24
+ console.error(chalk.red('\n✗ Error: --issue-id is required\n'));
42
25
  }
43
26
  process.exit(1);
44
27
  }
45
28
  const data = {
46
- projectId: options.projectId,
47
- estimateName: options.estimateName,
48
- methodType: options.methodType,
49
- components: [],
29
+ teamIssueId: options.issueId,
50
30
  };
31
+ if (options.preFp !== undefined) {
32
+ data.preFpEstimate = parseInt(options.preFp, 10);
33
+ }
34
+ if (options.detailJson) {
35
+ data.preFpDetailJson = options.detailJson;
36
+ }
37
+ if (options.estimator) {
38
+ data.preFpEstimator = options.estimator;
39
+ }
51
40
  const response = await apiClient.fpEstimate(environment, tenant, data);
52
41
  if (!response.success) {
53
42
  if (outputJson) {
@@ -63,12 +52,6 @@ export function createFpEstimateCommand() {
63
52
  }
64
53
  else {
65
54
  console.log(chalk.green('\n✓ FP estimate submitted successfully\n'));
66
- if (response.data && 'fpEvaluationId' in response.data) {
67
- console.log(` ID: ${response.data.fpEvaluationId}`);
68
- if ('totalFunctionPoints' in response.data) {
69
- console.log(` Total FP: ${response.data.totalFunctionPoints}`);
70
- }
71
- }
72
55
  }
73
56
  });
74
57
  return cmd;
@@ -1 +1 @@
1
- {"version":3,"file":"fp-estimate.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-estimate.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;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,GAAG,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAEzC,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;IAC9C,GAAG,CAAC,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC,CAAC;IACtD,GAAG,CAAC,MAAM,CAAC,sBAAsB,EAAE,gDAAgD,CAAC,CAAC;IACrF,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEvC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;QACvD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAChD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9H,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,6BAA6B,EAAE,EAAE,CAAC,CAAC,CAAC;YACpI,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC,CAAC;YAChI,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAA4B;YACpC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAA0B;YAC9C,UAAU,EAAE,EAAE;SACf,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEvE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,IAAI,CAAC,CAAC,CAAC;YACzF,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACrE,IAAI,QAAQ,CAAC,IAAI,IAAI,gBAAgB,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACrD,IAAI,qBAAqB,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"fp-estimate.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-estimate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fp-review.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,qBAAqB,IAAI,OAAO,CAuE/C"}
1
+ {"version":3,"file":"fp-review.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,qBAAqB,IAAI,OAAO,CA2E/C"}
@@ -5,22 +5,23 @@ import { apiClient } from '../../../../core/api/client.js';
5
5
  import { shouldUseJson } from '../../../../utils/output.js';
6
6
  export function createFpReviewCommand() {
7
7
  const cmd = new Command('fp-review');
8
- cmd.description('Review an FP estimate');
9
- cmd.option('--evaluation-id <id>', 'FP evaluation ID');
8
+ cmd.description('Review (approve/reject) an FP estimate for a team issue');
9
+ cmd.option('--issue-id <id>', 'Team issue ID (required)');
10
10
  cmd.option('--status <status>', 'Review status: APPROVED | REJECTED');
11
- cmd.option('--comment <text>', 'Review comment');
11
+ cmd.option('--note <text>', 'Review note');
12
+ cmd.option('--reviewer <name>', 'Reviewer name');
12
13
  cmd.option('--json', 'Output as JSON');
13
14
  cmd.action(async (options) => {
14
15
  const context = configManager.getCurrentContext();
15
16
  const environment = options.env || context.environment;
16
17
  const tenant = options.tenant || context.tenant;
17
18
  const outputJson = shouldUseJson(options);
18
- if (!options.evaluationId) {
19
+ if (!options.issueId) {
19
20
  if (outputJson) {
20
- console.log(JSON.stringify({ success: false, error: { code: 'MISSING_EVALUATION_ID', message: '--evaluation-id is required' } }));
21
+ console.log(JSON.stringify({ success: false, error: { code: 'MISSING_ISSUE_ID', message: '--issue-id is required' } }));
21
22
  }
22
23
  else {
23
- console.error(chalk.red('\n✗ Error: --evaluation-id is required\n'));
24
+ console.error(chalk.red('\n✗ Error: --issue-id is required\n'));
24
25
  }
25
26
  process.exit(1);
26
27
  }
@@ -44,11 +45,14 @@ export function createFpReviewCommand() {
44
45
  process.exit(1);
45
46
  }
46
47
  const data = {
47
- fpEvaluationId: options.evaluationId,
48
- status: options.status,
48
+ teamIssueId: options.issueId,
49
+ fpReviewStatus: options.status,
49
50
  };
50
- if (options.comment) {
51
- data.reviewComment = options.comment;
51
+ if (options.note) {
52
+ data.fpReviewNote = options.note;
53
+ }
54
+ if (options.reviewer) {
55
+ data.fpReviewer = options.reviewer;
52
56
  }
53
57
  const response = await apiClient.fpReview(environment, tenant, data);
54
58
  if (!response.success) {
@@ -64,7 +68,7 @@ export function createFpReviewCommand() {
64
68
  console.log(JSON.stringify(response, null, 2));
65
69
  }
66
70
  else {
67
- console.log(chalk.green(`\n✓ FP estimate ${options.status.toLowerCase()} successfully\n`));
71
+ console.log(chalk.green(`\n✓ FP ${options.status === 'APPROVED' ? 'approved' : 'rejected'} successfully\n`));
68
72
  }
69
73
  });
70
74
  return cmd;
@@ -1 +1 @@
1
- {"version":3,"file":"fp-review.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fp-review.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-review.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fp-summary.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,sBAAsB,IAAI,OAAO,CAgDhD"}
1
+ {"version":3,"file":"fp-summary.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,sBAAsB,IAAI,OAAO,CA6ChD"}
@@ -5,26 +5,26 @@ import { apiClient } from '../../../../core/api/client.js';
5
5
  import { shouldUseJson } from '../../../../utils/output.js';
6
6
  export function createFpSummaryCommand() {
7
7
  const cmd = new Command('fp-summary');
8
- cmd.description('Get FP summary statistics');
9
- cmd.option('--project-id <id>', 'Filter by project ID');
10
- cmd.option('--start-date <date>', 'Start date');
11
- cmd.option('--end-date <date>', 'End date');
12
- cmd.option('--method-type <type>', 'Filter by method type');
8
+ cmd.description('Get FP summary for a team issue');
9
+ cmd.option('--issue-id <id>', 'Team issue ID (required)');
13
10
  cmd.option('--json', 'Output as JSON');
14
11
  cmd.action(async (options) => {
15
12
  const context = configManager.getCurrentContext();
16
13
  const environment = options.env || context.environment;
17
14
  const tenant = options.tenant || context.tenant;
18
15
  const outputJson = shouldUseJson(options);
19
- const params = {};
20
- if (options.projectId)
21
- params.projectId = options.projectId;
22
- if (options.startDate)
23
- params.startDate = options.startDate;
24
- if (options.endDate)
25
- params.endDate = options.endDate;
26
- if (options.methodType)
27
- params.methodType = options.methodType;
16
+ if (!options.issueId) {
17
+ if (outputJson) {
18
+ console.log(JSON.stringify({ success: false, error: { code: 'MISSING_ISSUE_ID', message: '--issue-id is required' } }));
19
+ }
20
+ else {
21
+ console.error(chalk.red('\n✗ Error: --issue-id is required\n'));
22
+ }
23
+ process.exit(1);
24
+ }
25
+ const params = {
26
+ teamIssueId: options.issueId,
27
+ };
28
28
  const response = await apiClient.fpSummary(environment, tenant, params);
29
29
  if (!response.success) {
30
30
  if (outputJson) {
@@ -39,15 +39,7 @@ export function createFpSummaryCommand() {
39
39
  console.log(JSON.stringify(response, null, 2));
40
40
  }
41
41
  else {
42
- if (response.data && 'totalEstimates' in response.data) {
43
- console.log(chalk.bold('\nFP Summary'));
44
- console.log(` Total Projects: ${response.data.totalProjects}`);
45
- console.log(` Total Estimates: ${response.data.totalEstimates}`);
46
- console.log(` Total Function Points: ${response.data.totalFunctionPoints}`);
47
- }
48
- else {
49
- console.log(chalk.green('\n✓ FP summary retrieved\n'));
50
- }
42
+ console.log(chalk.green('\n✓ FP summary retrieved successfully\n'));
51
43
  }
52
44
  });
53
45
  return cmd;
@@ -1 +1 @@
1
- {"version":3,"file":"fp-summary.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fp-summary.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/fp-summary.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;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,GAAG,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC;IAEnD,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAC;IAC1D,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEvC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;QACvD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAChD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1H,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAyB;YACnC,WAAW,EAAE,OAAO,CAAC,OAAO;SAC7B,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAExE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,IAAI,CAAC,CAAC,CAAC;YACzF,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -66,7 +66,7 @@ import { ShiftQueryParams, ShiftApiResponse, ShiftCreateRequest, ShiftUpdateRequ
66
66
  import { WorkerGroupQueryParams, WorkerGroupApiResponse, WorkerGroupCreateRequest, WorkerGroupUpdateRequest } from '../../types/worker-group.js';
67
67
  import { JobTypeApiResponse } from '../../types/job-type.js';
68
68
  import { LeaderboardApiResponse, MappingApiResponse, EntryApiResponse, CalculateApiResponse, LeaderboardQueryParams, MappingQueryParams, CreateLeaderboardRequest, UpdateLeaderboardRequest, AddMappingRequest, ImportEntriesRequest } from '../../types/leaderboard.js';
69
- import type { FpEvaluationApiResponse, CreateFpEstimateRequest, FpActualRequest, FpReviewRequest, FpSummaryQueryParams, FpStatsQueryParams } from '../../types/fp-evaluation.js';
69
+ import type { FpApiResponse, FpEstimateRequest, FpActualRequest, FpReviewRequest, FpSummaryQueryParams, FpStatsQueryParams } from '../../types/fp-evaluation.js';
70
70
  export interface LoginResponse {
71
71
  token: string;
72
72
  expiresAt?: string;
@@ -960,11 +960,11 @@ export declare const apiClient: {
960
960
  getDruidDataSourceStat(environment: Environment, tenant: string): Promise<APIResponse<any>>;
961
961
  getDruidSqlStat(environment: Environment, tenant: string): Promise<APIResponse<any>>;
962
962
  getDruidUriStat(environment: Environment, tenant: string): Promise<APIResponse<any>>;
963
- fpEstimate(environment: Environment, tenant: string, data: CreateFpEstimateRequest): Promise<FpEvaluationApiResponse>;
964
- fpActual(environment: Environment, tenant: string, data: FpActualRequest): Promise<FpEvaluationApiResponse>;
965
- fpReview(environment: Environment, tenant: string, data: FpReviewRequest): Promise<FpEvaluationApiResponse>;
966
- fpSummary(environment: Environment, tenant: string, params?: FpSummaryQueryParams): Promise<FpEvaluationApiResponse>;
967
- fpStats(environment: Environment, tenant: string, params?: FpStatsQueryParams): Promise<FpEvaluationApiResponse>;
963
+ fpEstimate(environment: Environment, tenant: string, data: FpEstimateRequest): Promise<FpApiResponse>;
964
+ fpActual(environment: Environment, tenant: string, data: FpActualRequest): Promise<FpApiResponse>;
965
+ fpReview(environment: Environment, tenant: string, data: FpReviewRequest): Promise<FpApiResponse>;
966
+ fpSummary(environment: Environment, tenant: string, params?: FpSummaryQueryParams): Promise<FpApiResponse>;
967
+ fpStats(environment: Environment, tenant: string, params?: FpStatsQueryParams): Promise<FpApiResponse>;
968
968
  };
969
969
  interface ExtractApiErrorContext {
970
970
  tenant?: string;