@harnessio/react-sei-panorama-service-client 0.25.16 → 0.25.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetRawMetricsQuery.d.ts +5 -4
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetRawMetricsQuery.js +5 -4
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetReworkSummaryMutation.d.ts +42 -0
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetReworkSummaryMutation.js +34 -0
- package/dist/sei-panorama-service/src/services/index.d.ts +6 -0
- package/dist/sei-panorama-service/src/services/index.js +1 -0
- package/dist/sei-panorama-service/src/services/schemas/AiRawMetricsRequestDto.d.ts +2 -2
- package/dist/sei-panorama-service/src/services/schemas/AiReworkSummaryResponseDto.d.ts +39 -0
- package/dist/sei-panorama-service/src/services/schemas/AiReworkSummaryResponseDto.js +1 -0
- package/dist/sei-panorama-service/src/services/schemas/CursorMetrics.d.ts +11 -0
- package/dist/sei-panorama-service/src/services/schemas/IntegrationReworkSummary.d.ts +10 -0
- package/dist/sei-panorama-service/src/services/schemas/IntegrationReworkSummary.js +1 -0
- package/dist/sei-panorama-service/src/services/schemas/OverallMetrics.d.ts +43 -3
- package/dist/sei-panorama-service/src/services/schemas/ReworkSummaryBreakdown.d.ts +31 -0
- package/dist/sei-panorama-service/src/services/schemas/ReworkSummaryBreakdown.js +1 -0
- package/dist/sei-panorama-service/src/services/schemas/ReworkSummaryMetrics.d.ts +65 -0
- package/dist/sei-panorama-service/src/services/schemas/ReworkSummaryMetrics.js +1 -0
- package/dist/sei-panorama-service/src/services/schemas/TrendDataPoint.d.ts +2 -2
- package/dist/sei-panorama-service/src/services/schemas/WindsurfMetrics.d.ts +17 -0
- package/package.json +1 -1
package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetRawMetricsQuery.d.ts
CHANGED
|
@@ -20,12 +20,13 @@ export declare function aiInsightsControllerGetRawMetrics(props: AiInsightsContr
|
|
|
20
20
|
* Retrieves detailed user-level metrics with pagination and sorting support.
|
|
21
21
|
*
|
|
22
22
|
* **Type Parameter:**
|
|
23
|
-
* - `
|
|
24
|
-
* - `
|
|
25
|
-
* - `
|
|
23
|
+
* - `all` (default when absent): Returns integration + productivity data for all user types
|
|
24
|
+
* - `active`: Returns integration + productivity data only for active users (those with AI activity)
|
|
25
|
+
* - `inactive`: Returns productivity data only for inactive users (licensed but no AI activity) - cursor/windsurf fields are empty
|
|
26
|
+
* - `unassigned`: Returns productivity data only for unassigned users (not licensed for AI tools) - cursor/windsurf fields are empty
|
|
26
27
|
*
|
|
27
28
|
* **Productivity Metrics:**
|
|
28
|
-
* For
|
|
29
|
+
* For all types, includes productivity metrics:
|
|
29
30
|
* - prMerged: Number of PRs merged
|
|
30
31
|
* - defectsResolved: Number of defects resolved
|
|
31
32
|
* - featuresDelivered: Number of features delivered
|
package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetRawMetricsQuery.js
CHANGED
|
@@ -10,12 +10,13 @@ export function aiInsightsControllerGetRawMetrics(props) {
|
|
|
10
10
|
* Retrieves detailed user-level metrics with pagination and sorting support.
|
|
11
11
|
*
|
|
12
12
|
* **Type Parameter:**
|
|
13
|
-
* - `
|
|
14
|
-
* - `
|
|
15
|
-
* - `
|
|
13
|
+
* - `all` (default when absent): Returns integration + productivity data for all user types
|
|
14
|
+
* - `active`: Returns integration + productivity data only for active users (those with AI activity)
|
|
15
|
+
* - `inactive`: Returns productivity data only for inactive users (licensed but no AI activity) - cursor/windsurf fields are empty
|
|
16
|
+
* - `unassigned`: Returns productivity data only for unassigned users (not licensed for AI tools) - cursor/windsurf fields are empty
|
|
16
17
|
*
|
|
17
18
|
* **Productivity Metrics:**
|
|
18
|
-
* For
|
|
19
|
+
* For all types, includes productivity metrics:
|
|
19
20
|
* - prMerged: Number of PRs merged
|
|
20
21
|
* - defectsResolved: Number of defects resolved
|
|
21
22
|
* - featuresDelivered: Number of features delivered
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { UseMutationOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { AiReworkSummaryResponseDto } from '../schemas/AiReworkSummaryResponseDto';
|
|
3
|
+
import type { ApiError } from '../schemas/ApiError';
|
|
4
|
+
import type { AiprVelocitySummaryRequestDto } from '../schemas/AiprVelocitySummaryRequestDto';
|
|
5
|
+
import type { ResponseWithPagination } from '../helpers';
|
|
6
|
+
import { FetcherOptions } from '../../../../fetcher/index.js';
|
|
7
|
+
export interface AiInsightsControllerGetReworkSummaryMutationQueryParams {
|
|
8
|
+
projectIdentifier: string;
|
|
9
|
+
orgIdentifier: string;
|
|
10
|
+
}
|
|
11
|
+
export type AiInsightsControllerGetReworkSummaryRequestBody = AiprVelocitySummaryRequestDto;
|
|
12
|
+
export type AiInsightsControllerGetReworkSummaryOkResponse = ResponseWithPagination<AiReworkSummaryResponseDto>;
|
|
13
|
+
export type AiInsightsControllerGetReworkSummaryErrorResponse = ApiError;
|
|
14
|
+
export interface AiInsightsControllerGetReworkSummaryProps extends Omit<FetcherOptions<AiInsightsControllerGetReworkSummaryMutationQueryParams, AiInsightsControllerGetReworkSummaryRequestBody>, 'url'> {
|
|
15
|
+
queryParams: AiInsightsControllerGetReworkSummaryMutationQueryParams;
|
|
16
|
+
body: AiInsightsControllerGetReworkSummaryRequestBody;
|
|
17
|
+
}
|
|
18
|
+
export declare function aiInsightsControllerGetReworkSummary(props: AiInsightsControllerGetReworkSummaryProps): Promise<AiInsightsControllerGetReworkSummaryOkResponse>;
|
|
19
|
+
/**
|
|
20
|
+
* Analyzes the correlation between AI coding assistant usage (Cursor/Windsurf) and code rework patterns.
|
|
21
|
+
*
|
|
22
|
+
* **Key Metrics:**
|
|
23
|
+
* - `reworkPercentPerDeveloper` - Average rework percentage per developer
|
|
24
|
+
* - `totalReworkLoc` - Total lines of reworked code
|
|
25
|
+
* - `totalLoc` - Total lines of code changed
|
|
26
|
+
* - `trendPercentage` - Percentage change from previous period
|
|
27
|
+
*
|
|
28
|
+
* **Rework Calculation:**
|
|
29
|
+
* Based on productivity v4 rework logic:
|
|
30
|
+
* - Legacy Rework: Changes to code modified ≥30 days ago
|
|
31
|
+
* - Recent Rework: Changes to code modified <30 days ago
|
|
32
|
+
* - Rework Amount: LEAST(additions, deletions) for files with both adds and deletes
|
|
33
|
+
*
|
|
34
|
+
* **User Categories:**
|
|
35
|
+
* - Single Integration: active, inactive, unassigned users
|
|
36
|
+
* - Multi Integration: cursor_active, windsurf_active, combined_active, no_ai_tool
|
|
37
|
+
*
|
|
38
|
+
* **Response Structure:**
|
|
39
|
+
* Returns metrics breakdown by AI tool adoption status with trend analysis comparing current vs previous period.
|
|
40
|
+
*
|
|
41
|
+
*/
|
|
42
|
+
export declare function useAiInsightsControllerGetReworkSummaryMutation(options?: Omit<UseMutationOptions<AiInsightsControllerGetReworkSummaryOkResponse, AiInsightsControllerGetReworkSummaryErrorResponse, AiInsightsControllerGetReworkSummaryProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<AiInsightsControllerGetReworkSummaryOkResponse, ApiError, AiInsightsControllerGetReworkSummaryProps, unknown>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// This code is autogenerated using @harnessio/oats-cli.
|
|
3
|
+
// Please do not modify this code directly.
|
|
4
|
+
import { useMutation } from '@tanstack/react-query';
|
|
5
|
+
import { fetcher } from '../../../../fetcher/index.js';
|
|
6
|
+
export function aiInsightsControllerGetReworkSummary(props) {
|
|
7
|
+
return fetcher(Object.assign({ url: `/v2/insights/coding-assistant/rework/summary`, method: 'POST' }, props));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Analyzes the correlation between AI coding assistant usage (Cursor/Windsurf) and code rework patterns.
|
|
11
|
+
*
|
|
12
|
+
* **Key Metrics:**
|
|
13
|
+
* - `reworkPercentPerDeveloper` - Average rework percentage per developer
|
|
14
|
+
* - `totalReworkLoc` - Total lines of reworked code
|
|
15
|
+
* - `totalLoc` - Total lines of code changed
|
|
16
|
+
* - `trendPercentage` - Percentage change from previous period
|
|
17
|
+
*
|
|
18
|
+
* **Rework Calculation:**
|
|
19
|
+
* Based on productivity v4 rework logic:
|
|
20
|
+
* - Legacy Rework: Changes to code modified ≥30 days ago
|
|
21
|
+
* - Recent Rework: Changes to code modified <30 days ago
|
|
22
|
+
* - Rework Amount: LEAST(additions, deletions) for files with both adds and deletes
|
|
23
|
+
*
|
|
24
|
+
* **User Categories:**
|
|
25
|
+
* - Single Integration: active, inactive, unassigned users
|
|
26
|
+
* - Multi Integration: cursor_active, windsurf_active, combined_active, no_ai_tool
|
|
27
|
+
*
|
|
28
|
+
* **Response Structure:**
|
|
29
|
+
* Returns metrics breakdown by AI tool adoption status with trend analysis comparing current vs previous period.
|
|
30
|
+
*
|
|
31
|
+
*/
|
|
32
|
+
export function useAiInsightsControllerGetReworkSummaryMutation(options) {
|
|
33
|
+
return useMutation((mutateProps) => aiInsightsControllerGetReworkSummary(mutateProps), options);
|
|
34
|
+
}
|
|
@@ -11,6 +11,8 @@ export type { AiInsightsControllerGetPrVelocitySummaryErrorResponse, AiInsightsC
|
|
|
11
11
|
export { aiInsightsControllerGetPrVelocitySummary, useAiInsightsControllerGetPrVelocitySummaryQuery, } from './hooks/useAiInsightsControllerGetPrVelocitySummaryQuery';
|
|
12
12
|
export type { AiInsightsControllerGetRawMetricsErrorResponse, AiInsightsControllerGetRawMetricsOkResponse, AiInsightsControllerGetRawMetricsProps, AiInsightsControllerGetRawMetricsQueryQueryParams, AiInsightsControllerGetRawMetricsRequestBody, } from './hooks/useAiInsightsControllerGetRawMetricsQuery';
|
|
13
13
|
export { aiInsightsControllerGetRawMetrics, useAiInsightsControllerGetRawMetricsQuery, } from './hooks/useAiInsightsControllerGetRawMetricsQuery';
|
|
14
|
+
export type { AiInsightsControllerGetReworkSummaryErrorResponse, AiInsightsControllerGetReworkSummaryMutationQueryParams, AiInsightsControllerGetReworkSummaryOkResponse, AiInsightsControllerGetReworkSummaryProps, AiInsightsControllerGetReworkSummaryRequestBody, } from './hooks/useAiInsightsControllerGetReworkSummaryMutation';
|
|
15
|
+
export { aiInsightsControllerGetReworkSummary, useAiInsightsControllerGetReworkSummaryMutation, } from './hooks/useAiInsightsControllerGetReworkSummaryMutation';
|
|
14
16
|
export type { AiInsightsControllerGetTeamBreakdownErrorResponse, AiInsightsControllerGetTeamBreakdownOkResponse, AiInsightsControllerGetTeamBreakdownProps, AiInsightsControllerGetTeamBreakdownQueryQueryParams, AiInsightsControllerGetTeamBreakdownRequestBody, } from './hooks/useAiInsightsControllerGetTeamBreakdownQuery';
|
|
15
17
|
export { aiInsightsControllerGetTeamBreakdown, useAiInsightsControllerGetTeamBreakdownQuery, } from './hooks/useAiInsightsControllerGetTeamBreakdownQuery';
|
|
16
18
|
export type { AiInsightsControllerGetToolUsersSummaryErrorResponse, AiInsightsControllerGetToolUsersSummaryOkResponse, AiInsightsControllerGetToolUsersSummaryProps, AiInsightsControllerGetToolUsersSummaryQueryQueryParams, AiInsightsControllerGetToolUsersSummaryRequestBody, } from './hooks/useAiInsightsControllerGetToolUsersSummaryQuery';
|
|
@@ -383,6 +385,7 @@ export type { AiCombinedInsightsRequestDto } from './schemas/AiCombinedInsightsR
|
|
|
383
385
|
export type { AiMetrics } from './schemas/AiMetrics';
|
|
384
386
|
export type { AiRawMetricsRequestDto } from './schemas/AiRawMetricsRequestDto';
|
|
385
387
|
export type { AiRawMetricsResponseDto } from './schemas/AiRawMetricsResponseDto';
|
|
388
|
+
export type { AiReworkSummaryResponseDto } from './schemas/AiReworkSummaryResponseDto';
|
|
386
389
|
export type { AiSummary } from './schemas/AiSummary';
|
|
387
390
|
export type { AiSummaryRequestDto } from './schemas/AiSummaryRequestDto';
|
|
388
391
|
export type { AiSummaryResponseDto } from './schemas/AiSummaryResponseDto';
|
|
@@ -529,6 +532,7 @@ export type { IntegrationIdsDto } from './schemas/IntegrationIdsDto';
|
|
|
529
532
|
export type { IntegrationObject } from './schemas/IntegrationObject';
|
|
530
533
|
export type { IntegrationPrVelocitySummary } from './schemas/IntegrationPrVelocitySummary';
|
|
531
534
|
export type { IntegrationResponseDto } from './schemas/IntegrationResponseDto';
|
|
535
|
+
export type { IntegrationReworkSummary } from './schemas/IntegrationReworkSummary';
|
|
532
536
|
export type { IntegrationStatsDto } from './schemas/IntegrationStatsDto';
|
|
533
537
|
export type { IntegrationSummary } from './schemas/IntegrationSummary';
|
|
534
538
|
export type { IntegrationUser } from './schemas/IntegrationUser';
|
|
@@ -619,6 +623,8 @@ export type { RatingLevel } from './schemas/RatingLevel';
|
|
|
619
623
|
export type { RefIdDto } from './schemas/RefIdDto';
|
|
620
624
|
export type { ReleaseIssueDto } from './schemas/ReleaseIssueDto';
|
|
621
625
|
export type { ReleaseIssuesResponseWrapper } from './schemas/ReleaseIssuesResponseWrapper';
|
|
626
|
+
export type { ReworkSummaryBreakdown } from './schemas/ReworkSummaryBreakdown';
|
|
627
|
+
export type { ReworkSummaryMetrics } from './schemas/ReworkSummaryMetrics';
|
|
622
628
|
export type { ScmStatsRequest } from './schemas/ScmStatsRequest';
|
|
623
629
|
export type { SectionDto } from './schemas/SectionDto';
|
|
624
630
|
export type { SecurityProfileCreateRequestDto } from './schemas/SecurityProfileCreateRequestDto';
|
|
@@ -4,6 +4,7 @@ export { aiInsightsControllerGetAdoptionSummary, useAiInsightsControllerGetAdopt
|
|
|
4
4
|
export { aiInsightsControllerGetFeatureMetrics, useAiInsightsControllerGetFeatureMetricsQuery, } from './hooks/useAiInsightsControllerGetFeatureMetricsQuery';
|
|
5
5
|
export { aiInsightsControllerGetPrVelocitySummary, useAiInsightsControllerGetPrVelocitySummaryQuery, } from './hooks/useAiInsightsControllerGetPrVelocitySummaryQuery';
|
|
6
6
|
export { aiInsightsControllerGetRawMetrics, useAiInsightsControllerGetRawMetricsQuery, } from './hooks/useAiInsightsControllerGetRawMetricsQuery';
|
|
7
|
+
export { aiInsightsControllerGetReworkSummary, useAiInsightsControllerGetReworkSummaryMutation, } from './hooks/useAiInsightsControllerGetReworkSummaryMutation';
|
|
7
8
|
export { aiInsightsControllerGetTeamBreakdown, useAiInsightsControllerGetTeamBreakdownQuery, } from './hooks/useAiInsightsControllerGetTeamBreakdownQuery';
|
|
8
9
|
export { aiInsightsControllerGetToolUsersSummary, useAiInsightsControllerGetToolUsersSummaryQuery, } from './hooks/useAiInsightsControllerGetToolUsersSummaryQuery';
|
|
9
10
|
export { aiInsightsControllerGetTopLanguages, useAiInsightsControllerGetTopLanguagesQuery, } from './hooks/useAiInsightsControllerGetTopLanguagesQuery';
|
|
@@ -4,6 +4,7 @@ import type { PaginationRequest } from '../schemas/PaginationRequest';
|
|
|
4
4
|
*/
|
|
5
5
|
export interface AiRawMetricsRequestDto {
|
|
6
6
|
active?: boolean;
|
|
7
|
+
all?: boolean;
|
|
7
8
|
cursorRequested?: boolean;
|
|
8
9
|
/**
|
|
9
10
|
* End date of the analysis period
|
|
@@ -55,8 +56,7 @@ export interface AiRawMetricsRequestDto {
|
|
|
55
56
|
*/
|
|
56
57
|
teamRefId: number;
|
|
57
58
|
/**
|
|
58
|
-
* Type of users to retrieve: 'active', 'inactive', or '
|
|
59
|
-
* @default "active"
|
|
59
|
+
* Type of users to retrieve: 'active', 'inactive', 'unassigned', or 'all'. When absent, defaults to 'all'
|
|
60
60
|
* @example "active"
|
|
61
61
|
*/
|
|
62
62
|
type?: string;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ReworkSummaryBreakdown } from '../schemas/ReworkSummaryBreakdown';
|
|
2
|
+
import type { OverallMetrics } from '../schemas/OverallMetrics';
|
|
3
|
+
/**
|
|
4
|
+
* AI Rework summary analytics response
|
|
5
|
+
*/
|
|
6
|
+
export interface AiReworkSummaryResponseDto {
|
|
7
|
+
/**
|
|
8
|
+
* Breakdown by AI tool usage categories
|
|
9
|
+
*/
|
|
10
|
+
breakdown?: ReworkSummaryBreakdown;
|
|
11
|
+
/**
|
|
12
|
+
* End date of the analysis period
|
|
13
|
+
* @format date-time
|
|
14
|
+
*/
|
|
15
|
+
endDate?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Integration types analyzed
|
|
18
|
+
*/
|
|
19
|
+
integrationType?: Array<'all_assistants' | 'cursor' | 'windsurf'>;
|
|
20
|
+
/**
|
|
21
|
+
* Overall team rework metrics
|
|
22
|
+
*/
|
|
23
|
+
overall?: OverallMetrics;
|
|
24
|
+
/**
|
|
25
|
+
* Start date of the analysis period
|
|
26
|
+
* @format date-time
|
|
27
|
+
*/
|
|
28
|
+
startDate?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Team reference ID
|
|
31
|
+
* @format int32
|
|
32
|
+
*/
|
|
33
|
+
teamRefId?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Total developers in the team
|
|
36
|
+
* @format int32
|
|
37
|
+
*/
|
|
38
|
+
totalDevelopers?: number;
|
|
39
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
* Cursor AI metrics data
|
|
3
3
|
*/
|
|
4
4
|
export interface CursorMetrics {
|
|
5
|
+
/**
|
|
6
|
+
* Number of active days within the date range
|
|
7
|
+
* @format int32
|
|
8
|
+
* @example 15
|
|
9
|
+
*/
|
|
10
|
+
activeDays?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Whether the user was active during the date range
|
|
13
|
+
* @example true
|
|
14
|
+
*/
|
|
15
|
+
isActive?: boolean;
|
|
5
16
|
/**
|
|
6
17
|
* Last active date
|
|
7
18
|
* @format date-time
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,12 +1,52 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Overall
|
|
2
|
+
* Overall rework metrics
|
|
3
3
|
*/
|
|
4
4
|
export interface OverallMetrics {
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Legacy rework lines of code (≥30 days old)
|
|
7
7
|
* @format double
|
|
8
8
|
*/
|
|
9
|
-
|
|
9
|
+
legacyReworkLoc?: number;
|
|
10
|
+
/**
|
|
11
|
+
* Legacy rework percentage
|
|
12
|
+
* @format double
|
|
13
|
+
*/
|
|
14
|
+
legacyReworkPercent?: number;
|
|
15
|
+
/**
|
|
16
|
+
* New work lines of code (no rework)
|
|
17
|
+
* @format double
|
|
18
|
+
*/
|
|
19
|
+
newWorkLoc?: number;
|
|
20
|
+
/**
|
|
21
|
+
* New work percentage
|
|
22
|
+
* @format double
|
|
23
|
+
*/
|
|
24
|
+
newWorkPercent?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Recent rework lines of code (<30 days old)
|
|
27
|
+
* @format double
|
|
28
|
+
*/
|
|
29
|
+
recentReworkLoc?: number;
|
|
30
|
+
/**
|
|
31
|
+
* Recent rework percentage
|
|
32
|
+
* @format double
|
|
33
|
+
*/
|
|
34
|
+
recentReworkPercent?: number;
|
|
35
|
+
/**
|
|
36
|
+
* Average rework percentage per developer
|
|
37
|
+
* @format double
|
|
38
|
+
*/
|
|
39
|
+
reworkPercentPerDeveloper?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Total lines of code
|
|
42
|
+
* @format double
|
|
43
|
+
*/
|
|
44
|
+
totalLoc?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Total rework lines of code
|
|
47
|
+
* @format double
|
|
48
|
+
*/
|
|
49
|
+
totalReworkLoc?: number;
|
|
10
50
|
/**
|
|
11
51
|
* Trend percentage
|
|
12
52
|
* @format double
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ReworkSummaryMetrics } from '../schemas/ReworkSummaryMetrics';
|
|
2
|
+
import type { IntegrationReworkSummary } from '../schemas/IntegrationReworkSummary';
|
|
3
|
+
/**
|
|
4
|
+
* Breakdown by AI tool usage categories
|
|
5
|
+
*/
|
|
6
|
+
export interface ReworkSummaryBreakdown {
|
|
7
|
+
/**
|
|
8
|
+
* Active users metrics (single integration)
|
|
9
|
+
*/
|
|
10
|
+
active?: ReworkSummaryMetrics;
|
|
11
|
+
/**
|
|
12
|
+
* Combined active users metrics (multiple integration)
|
|
13
|
+
*/
|
|
14
|
+
combined?: IntegrationReworkSummary;
|
|
15
|
+
/**
|
|
16
|
+
* Cursor integration metrics (multiple integration)
|
|
17
|
+
*/
|
|
18
|
+
cursor?: IntegrationReworkSummary;
|
|
19
|
+
/**
|
|
20
|
+
* Inactive users metrics (single integration)
|
|
21
|
+
*/
|
|
22
|
+
inactive?: ReworkSummaryMetrics;
|
|
23
|
+
/**
|
|
24
|
+
* Unassigned users metrics
|
|
25
|
+
*/
|
|
26
|
+
unassigned?: ReworkSummaryMetrics;
|
|
27
|
+
/**
|
|
28
|
+
* Windsurf integration metrics (multiple integration)
|
|
29
|
+
*/
|
|
30
|
+
windsurf?: IntegrationReworkSummary;
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { TrendDataPoint } from '../schemas/TrendDataPoint';
|
|
2
|
+
/**
|
|
3
|
+
* Rework metrics for a category
|
|
4
|
+
*/
|
|
5
|
+
export interface ReworkSummaryMetrics {
|
|
6
|
+
/**
|
|
7
|
+
* Number of developers
|
|
8
|
+
* @format int32
|
|
9
|
+
*/
|
|
10
|
+
developerCount?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Legacy rework lines of code (≥30 days old)
|
|
13
|
+
* @format double
|
|
14
|
+
*/
|
|
15
|
+
legacyReworkLoc?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Legacy rework percentage
|
|
18
|
+
* @format double
|
|
19
|
+
*/
|
|
20
|
+
legacyReworkPercent?: number;
|
|
21
|
+
/**
|
|
22
|
+
* New work lines of code (no rework)
|
|
23
|
+
* @format double
|
|
24
|
+
*/
|
|
25
|
+
newWorkLoc?: number;
|
|
26
|
+
/**
|
|
27
|
+
* New work percentage
|
|
28
|
+
* @format double
|
|
29
|
+
*/
|
|
30
|
+
newWorkPercent?: number;
|
|
31
|
+
/**
|
|
32
|
+
* Recent rework lines of code (<30 days old)
|
|
33
|
+
* @format double
|
|
34
|
+
*/
|
|
35
|
+
recentReworkLoc?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Recent rework percentage
|
|
38
|
+
* @format double
|
|
39
|
+
*/
|
|
40
|
+
recentReworkPercent?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Average rework percentage per developer
|
|
43
|
+
* @format double
|
|
44
|
+
*/
|
|
45
|
+
reworkPercentPerDeveloper?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Total lines of code
|
|
48
|
+
* @format double
|
|
49
|
+
*/
|
|
50
|
+
totalLoc?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Total rework lines of code
|
|
53
|
+
* @format double
|
|
54
|
+
*/
|
|
55
|
+
totalReworkLoc?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Trend data points with time series
|
|
58
|
+
*/
|
|
59
|
+
trendData?: TrendDataPoint[];
|
|
60
|
+
/**
|
|
61
|
+
* Trend percentage
|
|
62
|
+
* @format double
|
|
63
|
+
*/
|
|
64
|
+
trendPercentage?: number;
|
|
65
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -8,10 +8,10 @@ export interface TrendDataPoint {
|
|
|
8
8
|
*/
|
|
9
9
|
endDate?: string;
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Rework percentage per developer for this period
|
|
12
12
|
* @format double
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
reworkPercentPerDeveloper?: number;
|
|
15
15
|
/**
|
|
16
16
|
* Start date of the period
|
|
17
17
|
* @format date-time
|
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
* Windsurf AI metrics data
|
|
3
3
|
*/
|
|
4
4
|
export interface WindsurfMetrics {
|
|
5
|
+
/**
|
|
6
|
+
* Number of active days within the date range
|
|
7
|
+
* @format int32
|
|
8
|
+
* @example 12
|
|
9
|
+
*/
|
|
10
|
+
activeDays?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Whether the user was active during the date range
|
|
13
|
+
* @example true
|
|
14
|
+
*/
|
|
15
|
+
isActive?: boolean;
|
|
5
16
|
/**
|
|
6
17
|
* Line accept percentage
|
|
7
18
|
* @format double
|
|
@@ -20,4 +31,10 @@ export interface WindsurfMetrics {
|
|
|
20
31
|
* @example 6886
|
|
21
32
|
*/
|
|
22
33
|
linesSuggested?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Total active days across all time
|
|
36
|
+
* @format int32
|
|
37
|
+
* @example 45
|
|
38
|
+
*/
|
|
39
|
+
totalActiveDays?: number;
|
|
23
40
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@harnessio/react-sei-panorama-service-client",
|
|
3
|
-
"version": "0.25.
|
|
3
|
+
"version": "0.25.17",
|
|
4
4
|
"description": "Harness React sei panorama service client - SEI Panorama APIs integrated with react hooks for Panorama project",
|
|
5
5
|
"author": "Harness Inc",
|
|
6
6
|
"license": "MIT",
|