@harnessio/react-sei-panorama-service-client 0.25.4 → 0.25.5
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/useAiInsightsControllerGetAdoptionBreakdownQuery.d.ts +57 -0
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetAdoptionBreakdownQuery.js +49 -0
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetAdoptionMetricsQuery.d.ts +52 -0
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetAdoptionMetricsQuery.js +44 -0
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetAdoptionSummaryQuery.d.ts +51 -0
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetAdoptionSummaryQuery.js +43 -0
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetFeatureMetricsQuery.d.ts +27 -8
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetFeatureMetricsQuery.js +22 -2
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetRawMetricsQuery.d.ts +103 -0
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetRawMetricsQuery.js +95 -0
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetTeamBreakdownQuery.d.ts +50 -0
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetTeamBreakdownQuery.js +42 -0
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetToolUsersSummaryQuery.d.ts +44 -0
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetToolUsersSummaryQuery.js +36 -0
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetTopLanguagesQuery.d.ts +30 -6
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetTopLanguagesQuery.js +26 -2
- package/dist/sei-panorama-service/src/services/index.d.ts +38 -18
- package/dist/sei-panorama-service/src/services/index.js +6 -2
- package/dist/sei-panorama-service/src/services/schemas/AdoptionDataPoint.d.ts +35 -0
- package/dist/sei-panorama-service/src/services/schemas/AdoptionPeriodData.d.ts +35 -0
- package/dist/sei-panorama-service/src/services/schemas/AiAdoptionBreakdownRequestDto.d.ts +38 -0
- package/dist/sei-panorama-service/src/services/schemas/AiAdoptionBreakdownResponseDto.d.ts +30 -0
- package/dist/sei-panorama-service/src/services/schemas/AiAdoptionMetricsRequestDto.d.ts +34 -0
- package/dist/sei-panorama-service/src/services/schemas/AiAdoptionMetricsResponseDto.d.ts +35 -0
- package/dist/sei-panorama-service/src/services/schemas/AiAdoptionSummaryRequestDto.d.ts +32 -0
- package/dist/sei-panorama-service/src/services/schemas/AiAdoptionSummaryResponseDto.d.ts +30 -0
- package/dist/sei-panorama-service/src/services/schemas/AiCombinedInsightsRequestDto.d.ts +37 -0
- package/dist/sei-panorama-service/src/services/schemas/AiMetrics.d.ts +40 -0
- package/dist/sei-panorama-service/src/services/schemas/AiRawMetricsRequestDto.d.ts +66 -0
- package/dist/sei-panorama-service/src/services/schemas/AiRawMetricsResponseDto.d.ts +30 -0
- package/dist/sei-panorama-service/src/services/schemas/AiTeamBreakdownDataPoint.d.ts +31 -0
- package/dist/sei-panorama-service/src/services/schemas/AiTeamBreakdownDataPoint.js +4 -0
- package/dist/sei-panorama-service/src/services/schemas/AiTeamBreakdownRequestDto.d.ts +16 -0
- package/dist/sei-panorama-service/src/services/schemas/AiTeamBreakdownRequestDto.js +4 -0
- package/dist/sei-panorama-service/src/services/schemas/AiTeamBreakdownResponseDto.d.ts +14 -0
- package/dist/sei-panorama-service/src/services/schemas/AiToolUsersSummaryRequestDto.d.ts +28 -0
- package/dist/sei-panorama-service/src/services/schemas/AiToolUsersSummaryRequestDto.js +4 -0
- package/dist/sei-panorama-service/src/services/schemas/AiToolUsersSummaryResponseDto.d.ts +31 -0
- package/dist/sei-panorama-service/src/services/schemas/AiTopLanguagesRequestDto.d.ts +28 -0
- package/dist/sei-panorama-service/src/services/schemas/AiTopLanguagesRequestDto.js +4 -0
- package/dist/sei-panorama-service/src/services/schemas/ApiError.d.ts +31 -0
- package/dist/sei-panorama-service/src/services/schemas/ApiError.js +1 -0
- package/dist/sei-panorama-service/src/services/schemas/IntegrationAdoptionSummary.d.ts +14 -0
- package/dist/sei-panorama-service/src/services/schemas/IntegrationAdoptionSummary.js +1 -0
- package/dist/sei-panorama-service/src/services/schemas/IntegrationRawMetrics.d.ts +15 -0
- package/dist/sei-panorama-service/src/services/schemas/IntegrationRawMetrics.js +1 -0
- package/dist/sei-panorama-service/src/services/schemas/IntegrationSummary.d.ts +10 -4
- package/dist/sei-panorama-service/src/services/schemas/IntegrationSummary.js +0 -3
- package/dist/sei-panorama-service/src/services/schemas/LanguageCount.d.ts +1 -1
- package/dist/sei-panorama-service/src/services/schemas/PaginationInfo.d.ts +14 -4
- package/dist/sei-panorama-service/src/services/schemas/PaginationParams.d.ts +19 -0
- package/dist/sei-panorama-service/src/services/schemas/PaginationParams.js +4 -0
- package/dist/sei-panorama-service/src/services/schemas/TeamPeriodData.d.ts +46 -0
- package/dist/sei-panorama-service/src/services/schemas/TeamPeriodData.js +4 -0
- package/dist/sei-panorama-service/src/services/schemas/ToolSummary.d.ts +53 -0
- package/dist/sei-panorama-service/src/services/schemas/ToolSummary.js +4 -0
- package/dist/sei-panorama-service/src/services/schemas/UserMetrics.d.ts +25 -0
- package/dist/sei-panorama-service/src/services/schemas/UserMetrics.js +1 -0
- package/dist/sei-panorama-service/src/services/schemas/ValidationError.d.ts +19 -0
- package/dist/sei-panorama-service/src/services/schemas/ValidationError.js +4 -0
- package/package.json +1 -1
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetDailyActiveUsersDrilldownQuery.d.ts +0 -22
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetDailyActiveUsersDrilldownQuery.js +0 -14
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetTeamAdoptionQuery.d.ts +0 -22
- package/dist/sei-panorama-service/src/services/hooks/useAiInsightsControllerGetTeamAdoptionQuery.js +0 -14
- package/dist/sei-panorama-service/src/services/schemas/AiDailyActiveUsersDrilldownRequestDto.d.ts +0 -34
- package/dist/sei-panorama-service/src/services/schemas/AiDailyActiveUsersDrilldownResponseDto.d.ts +0 -58
- package/dist/sei-panorama-service/src/services/schemas/AiFeatureDataPoint.d.ts +0 -14
- package/dist/sei-panorama-service/src/services/schemas/AiFeatureDataResponseDto.d.ts +0 -22
- package/dist/sei-panorama-service/src/services/schemas/AiInsightsRequestDto.d.ts +0 -17
- package/dist/sei-panorama-service/src/services/schemas/AiTeamAdoptionRequestDto.d.ts +0 -34
- package/dist/sei-panorama-service/src/services/schemas/AiTeamAdoptionResponseDto.d.ts +0 -35
- package/dist/sei-panorama-service/src/services/schemas/AiTeamAdoptionUserDto.d.ts +0 -30
- package/dist/sei-panorama-service/src/services/schemas/CursorDrilldownDataDto.d.ts +0 -27
- package/dist/sei-panorama-service/src/services/schemas/CursorDrilldownOptions.d.ts +0 -12
- package/dist/sei-panorama-service/src/services/schemas/CursorDrilldownUserDto.d.ts +0 -52
- package/dist/sei-panorama-service/src/services/schemas/WindsurfDrilldownDataDto.d.ts +0 -17
- package/dist/sei-panorama-service/src/services/schemas/WindsurfDrilldownOptions.d.ts +0 -12
- package/dist/sei-panorama-service/src/services/schemas/WindsurfDrilldownUserDto.d.ts +0 -60
- /package/dist/sei-panorama-service/src/services/schemas/{AiFeatureDataPoint.js → AdoptionDataPoint.js} +0 -0
- /package/dist/sei-panorama-service/src/services/schemas/{AiInsightsRequestDto.js → AdoptionPeriodData.js} +0 -0
- /package/dist/sei-panorama-service/src/services/schemas/{AiTeamAdoptionUserDto.js → AiAdoptionBreakdownRequestDto.js} +0 -0
- /package/dist/sei-panorama-service/src/services/schemas/{AiDailyActiveUsersDrilldownRequestDto.js → AiAdoptionBreakdownResponseDto.js} +0 -0
- /package/dist/sei-panorama-service/src/services/schemas/{CursorDrilldownOptions.js → AiAdoptionMetricsRequestDto.js} +0 -0
- /package/dist/sei-panorama-service/src/services/schemas/{AiDailyActiveUsersDrilldownResponseDto.js → AiAdoptionMetricsResponseDto.js} +0 -0
- /package/dist/sei-panorama-service/src/services/schemas/{CursorDrilldownUserDto.js → AiAdoptionSummaryRequestDto.js} +0 -0
- /package/dist/sei-panorama-service/src/services/schemas/{AiFeatureDataResponseDto.js → AiAdoptionSummaryResponseDto.js} +0 -0
- /package/dist/sei-panorama-service/src/services/schemas/{WindsurfDrilldownOptions.js → AiCombinedInsightsRequestDto.js} +0 -0
- /package/dist/sei-panorama-service/src/services/schemas/{WindsurfDrilldownUserDto.js → AiMetrics.js} +0 -0
- /package/dist/sei-panorama-service/src/services/schemas/{AiTeamAdoptionRequestDto.js → AiRawMetricsRequestDto.js} +0 -0
- /package/dist/sei-panorama-service/src/services/schemas/{AiTeamAdoptionResponseDto.js → AiRawMetricsResponseDto.js} +0 -0
- /package/dist/sei-panorama-service/src/services/schemas/{CursorDrilldownDataDto.js → AiTeamBreakdownResponseDto.js} +0 -0
- /package/dist/sei-panorama-service/src/services/schemas/{WindsurfDrilldownDataDto.js → AiToolUsersSummaryResponseDto.js} +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface AiCombinedInsightsRequestDto {
|
|
2
|
+
/**
|
|
3
|
+
* End date for the metrics
|
|
4
|
+
* @format date-time
|
|
5
|
+
* @example "2025-12-07"
|
|
6
|
+
*/
|
|
7
|
+
endDate: string;
|
|
8
|
+
/**
|
|
9
|
+
* Granularity for data aggregation (DAILY, WEEKLY, MONTHLY)
|
|
10
|
+
* @example "WEEKLY"
|
|
11
|
+
*/
|
|
12
|
+
granularity: 'DAILY' | 'MONTHLY' | 'WEEKLY';
|
|
13
|
+
/**
|
|
14
|
+
* Array of integration types or comma-separated string (e.g., ['windsurf','cursor'] or 'windsurf,cursor' or 'all')
|
|
15
|
+
* @example ["windsurf","cursor"]
|
|
16
|
+
*/
|
|
17
|
+
integrationType: {
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Metric type to fetch
|
|
22
|
+
* @example "DAILY_ACTIVE_USERS"
|
|
23
|
+
*/
|
|
24
|
+
metricType: 'acceptanceRatePercentage' | 'addedVsDeletedLinesRatio' | 'aiShareOfNewCode' | 'aiSpendPer1KLineOfEdit' | 'linesAccepted' | 'linesAddedPerContributor' | 'linesSuggested';
|
|
25
|
+
/**
|
|
26
|
+
* Start date for the metrics
|
|
27
|
+
* @format date-time
|
|
28
|
+
* @example "2025-11-10"
|
|
29
|
+
*/
|
|
30
|
+
startDate: string;
|
|
31
|
+
/**
|
|
32
|
+
* Team reference ID
|
|
33
|
+
* @format int32
|
|
34
|
+
* @example 203128
|
|
35
|
+
*/
|
|
36
|
+
teamRefId: number;
|
|
37
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI metrics data
|
|
3
|
+
*/
|
|
4
|
+
export interface AiMetrics {
|
|
5
|
+
/**
|
|
6
|
+
* Last active date (Cursor only)
|
|
7
|
+
* @format date-time
|
|
8
|
+
* @example "2025-11-21"
|
|
9
|
+
*/
|
|
10
|
+
lastActiveDate?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Line accept percentage
|
|
13
|
+
* @format double
|
|
14
|
+
* @example 74.7
|
|
15
|
+
*/
|
|
16
|
+
linesAcceptPercent?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Lines accepted
|
|
19
|
+
* @format int64
|
|
20
|
+
* @example 40248
|
|
21
|
+
*/
|
|
22
|
+
linesAccepted?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Lines suggested
|
|
25
|
+
* @format int64
|
|
26
|
+
* @example 53844
|
|
27
|
+
*/
|
|
28
|
+
linesSuggested?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Primary programming language (Cursor only)
|
|
31
|
+
* @example "Java"
|
|
32
|
+
*/
|
|
33
|
+
primaryLanguage?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Total active days (Cursor only)
|
|
36
|
+
* @format int32
|
|
37
|
+
* @example 11
|
|
38
|
+
*/
|
|
39
|
+
totalActiveDays?: number;
|
|
40
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { PaginationParams } from '../schemas/PaginationParams';
|
|
2
|
+
/**
|
|
3
|
+
* Request for AI raw metrics with pagination
|
|
4
|
+
*/
|
|
5
|
+
export interface AiRawMetricsRequestDto {
|
|
6
|
+
active?: boolean;
|
|
7
|
+
cursorRequested?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* End date of the analysis period
|
|
10
|
+
* @format date-time
|
|
11
|
+
* @example "2025-12-07"
|
|
12
|
+
*/
|
|
13
|
+
endDate: string;
|
|
14
|
+
inactive?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* List of integration types to include
|
|
17
|
+
* @example ["cursor","windsurf"]
|
|
18
|
+
*/
|
|
19
|
+
integrationType: Array<'cursor' | 'windsurf'>;
|
|
20
|
+
integrationTypeList?: Array<'cursor' | 'windsurf'>;
|
|
21
|
+
/**
|
|
22
|
+
* @format int32
|
|
23
|
+
*/
|
|
24
|
+
pageNumber?: number;
|
|
25
|
+
/**
|
|
26
|
+
* @format int32
|
|
27
|
+
*/
|
|
28
|
+
pageSize?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Pagination parameters
|
|
31
|
+
*/
|
|
32
|
+
pagination?: PaginationParams;
|
|
33
|
+
/**
|
|
34
|
+
* Field to sort by (camelCase will be auto-converted to snake_case). For inactive: defaults to user_name. For active: defaults to lines_accept_percent. Supported fields vary by type - see endpoint documentation for details.
|
|
35
|
+
* @example "linesAcceptPercent"
|
|
36
|
+
*/
|
|
37
|
+
sortBy?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Sort criteria: ASC or DESC. Defaults to DESC.
|
|
40
|
+
* @example "DESC"
|
|
41
|
+
*/
|
|
42
|
+
sortByCriteria?: string;
|
|
43
|
+
sortByCriteriaOrDefault?: string;
|
|
44
|
+
sortByOrDefault?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Start date of the analysis period
|
|
47
|
+
* @format date-time
|
|
48
|
+
* @example "2025-11-10"
|
|
49
|
+
*/
|
|
50
|
+
startDate: string;
|
|
51
|
+
/**
|
|
52
|
+
* Team reference ID
|
|
53
|
+
* @format int32
|
|
54
|
+
* @example 203128
|
|
55
|
+
*/
|
|
56
|
+
teamRefId: number;
|
|
57
|
+
/**
|
|
58
|
+
* Type of users to retrieve: 'active', 'inactive', or 'unassigned'
|
|
59
|
+
* @default "active"
|
|
60
|
+
* @example "active"
|
|
61
|
+
*/
|
|
62
|
+
type?: string;
|
|
63
|
+
typeOrDefault?: string;
|
|
64
|
+
unassigned?: boolean;
|
|
65
|
+
windsurfRequested?: boolean;
|
|
66
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { IntegrationRawMetrics } from '../schemas/IntegrationRawMetrics';
|
|
2
|
+
/**
|
|
3
|
+
* AI raw metrics with pagination
|
|
4
|
+
*/
|
|
5
|
+
export interface AiRawMetricsResponseDto {
|
|
6
|
+
/**
|
|
7
|
+
* Cursor raw metrics data
|
|
8
|
+
*/
|
|
9
|
+
cursor?: IntegrationRawMetrics;
|
|
10
|
+
/**
|
|
11
|
+
* Combined Cursor and Windsurf raw metrics data
|
|
12
|
+
*/
|
|
13
|
+
cursorAndWindsurf?: IntegrationRawMetrics;
|
|
14
|
+
/**
|
|
15
|
+
* End date of the analysis period
|
|
16
|
+
* @format date-time
|
|
17
|
+
* @example "2025-10-12"
|
|
18
|
+
*/
|
|
19
|
+
endDate?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Start date of the analysis period
|
|
22
|
+
* @format date-time
|
|
23
|
+
* @example "2025-10-10"
|
|
24
|
+
*/
|
|
25
|
+
startDate?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Windsurf raw metrics data
|
|
28
|
+
*/
|
|
29
|
+
windsurf?: IntegrationRawMetrics;
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface AiTeamBreakdownDataPoint {
|
|
2
|
+
/**
|
|
3
|
+
* @format int32
|
|
4
|
+
*/
|
|
5
|
+
activeUsers?: number;
|
|
6
|
+
/**
|
|
7
|
+
* @format date-time
|
|
8
|
+
*/
|
|
9
|
+
endDate?: string;
|
|
10
|
+
/**
|
|
11
|
+
* @format int32
|
|
12
|
+
*/
|
|
13
|
+
inactiveUsers?: number;
|
|
14
|
+
/**
|
|
15
|
+
* @format date-time
|
|
16
|
+
*/
|
|
17
|
+
startDate?: string;
|
|
18
|
+
/**
|
|
19
|
+
* @format int32
|
|
20
|
+
*/
|
|
21
|
+
teamId?: number;
|
|
22
|
+
teamName?: string;
|
|
23
|
+
/**
|
|
24
|
+
* @format int32
|
|
25
|
+
*/
|
|
26
|
+
unAssigned?: number;
|
|
27
|
+
/**
|
|
28
|
+
* @format double
|
|
29
|
+
*/
|
|
30
|
+
value?: number;
|
|
31
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface AiTeamBreakdownRequestDto {
|
|
2
|
+
/**
|
|
3
|
+
* @format date-time
|
|
4
|
+
*/
|
|
5
|
+
endDate?: string;
|
|
6
|
+
integrationType?: Array<'cursor' | 'windsurf'>;
|
|
7
|
+
metricType?: 'acceptanceRatePercentage' | 'addedVsDeletedLinesRatio' | 'aiShareOfNewCode' | 'aiSpendPer1KLineOfEdit' | 'linesAccepted' | 'linesAddedPerContributor' | 'linesSuggested';
|
|
8
|
+
/**
|
|
9
|
+
* @format date-time
|
|
10
|
+
*/
|
|
11
|
+
startDate?: string;
|
|
12
|
+
/**
|
|
13
|
+
* @format int32
|
|
14
|
+
*/
|
|
15
|
+
teamRefId?: number;
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AiTeamBreakdownDataPoint } from '../schemas/AiTeamBreakdownDataPoint';
|
|
2
|
+
export interface AiTeamBreakdownResponseDto {
|
|
3
|
+
cursor?: AiTeamBreakdownDataPoint[];
|
|
4
|
+
/**
|
|
5
|
+
* @format date-time
|
|
6
|
+
*/
|
|
7
|
+
endDate?: string;
|
|
8
|
+
metricType?: 'acceptanceRatePercentage' | 'addedVsDeletedLinesRatio' | 'aiShareOfNewCode' | 'aiSpendPer1KLineOfEdit' | 'linesAccepted' | 'linesAddedPerContributor' | 'linesSuggested';
|
|
9
|
+
/**
|
|
10
|
+
* @format date-time
|
|
11
|
+
*/
|
|
12
|
+
startDate?: string;
|
|
13
|
+
windsurf?: AiTeamBreakdownDataPoint[];
|
|
14
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request for AI tool users summary statistics
|
|
3
|
+
*/
|
|
4
|
+
export interface AiToolUsersSummaryRequestDto {
|
|
5
|
+
/**
|
|
6
|
+
* End date of the analysis period
|
|
7
|
+
* @format date-time
|
|
8
|
+
* @example "2025-12-10"
|
|
9
|
+
*/
|
|
10
|
+
endDate: string;
|
|
11
|
+
/**
|
|
12
|
+
* List of AI integration types to include in the summary
|
|
13
|
+
* @example ["windsurf","cursor"]
|
|
14
|
+
*/
|
|
15
|
+
integrationType: Array<'cursor' | 'windsurf'>;
|
|
16
|
+
/**
|
|
17
|
+
* Start date of the analysis period
|
|
18
|
+
* @format date-time
|
|
19
|
+
* @example "2025-10-10"
|
|
20
|
+
*/
|
|
21
|
+
startDate: string;
|
|
22
|
+
/**
|
|
23
|
+
* Team reference ID
|
|
24
|
+
* @format int32
|
|
25
|
+
* @example 203128
|
|
26
|
+
*/
|
|
27
|
+
teamRefId: number;
|
|
28
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { IntegrationSummary } from '../schemas/IntegrationSummary';
|
|
2
|
+
/**
|
|
3
|
+
* AI Tool Users Summary with statistics for both Cursor and Windsurf
|
|
4
|
+
*/
|
|
5
|
+
export interface AiToolUsersSummaryResponseDto {
|
|
6
|
+
/**
|
|
7
|
+
* Cursor tool summary with current and previous period data
|
|
8
|
+
*/
|
|
9
|
+
cursor?: IntegrationSummary;
|
|
10
|
+
/**
|
|
11
|
+
* End date of the current analysis period
|
|
12
|
+
* @format date-time
|
|
13
|
+
* @example "2025-12-10"
|
|
14
|
+
*/
|
|
15
|
+
endDate?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Start date of the current analysis period
|
|
18
|
+
* @format date-time
|
|
19
|
+
* @example "2025-10-10"
|
|
20
|
+
*/
|
|
21
|
+
startDate?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Team reference ID
|
|
24
|
+
* @format int32
|
|
25
|
+
*/
|
|
26
|
+
teamRefId?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Windsurf tool summary with current and previous period data
|
|
29
|
+
*/
|
|
30
|
+
windsurf?: IntegrationSummary;
|
|
31
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request for top programming languages data
|
|
3
|
+
*/
|
|
4
|
+
export interface AiTopLanguagesRequestDto {
|
|
5
|
+
/**
|
|
6
|
+
* End date for the query period
|
|
7
|
+
* @format date-time
|
|
8
|
+
* @example "2025-01-31"
|
|
9
|
+
*/
|
|
10
|
+
endDate: string;
|
|
11
|
+
/**
|
|
12
|
+
* Integration type (cursor or windsurf)
|
|
13
|
+
* @example ["cursor"]
|
|
14
|
+
*/
|
|
15
|
+
integrationType: Array<'cursor' | 'windsurf'>;
|
|
16
|
+
/**
|
|
17
|
+
* Start date for the query period
|
|
18
|
+
* @format date-time
|
|
19
|
+
* @example "2025-01-01"
|
|
20
|
+
*/
|
|
21
|
+
startDate: string;
|
|
22
|
+
/**
|
|
23
|
+
* Team reference ID
|
|
24
|
+
* @format int32
|
|
25
|
+
* @example 123
|
|
26
|
+
*/
|
|
27
|
+
teamRefId: number;
|
|
28
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ValidationError } from '../schemas/ValidationError';
|
|
2
|
+
/**
|
|
3
|
+
* Standard error response
|
|
4
|
+
*/
|
|
5
|
+
export interface ApiError {
|
|
6
|
+
/**
|
|
7
|
+
* Machine-readable error code
|
|
8
|
+
* @example "INVALID_REQUEST"
|
|
9
|
+
*/
|
|
10
|
+
errorCode?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Human-readable error message
|
|
13
|
+
* @example "Integration type is required"
|
|
14
|
+
*/
|
|
15
|
+
message?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Unique request identifier for tracing
|
|
18
|
+
* @example "req_1234567890abcdef"
|
|
19
|
+
*/
|
|
20
|
+
requestId?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Error timestamp in ISO 8601 format
|
|
23
|
+
* @format date-time
|
|
24
|
+
* @example "2025-12-11T10:30:00Z"
|
|
25
|
+
*/
|
|
26
|
+
timestamp?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Detailed validation errors (for 400 Bad Request)
|
|
29
|
+
*/
|
|
30
|
+
validationErrors?: ValidationError[];
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AdoptionPeriodData } from '../schemas/AdoptionPeriodData';
|
|
2
|
+
/**
|
|
3
|
+
* Integration adoption summary with current and previous period comparison
|
|
4
|
+
*/
|
|
5
|
+
export interface IntegrationAdoptionSummary {
|
|
6
|
+
/**
|
|
7
|
+
* Current period adoption data
|
|
8
|
+
*/
|
|
9
|
+
currentPeriod?: AdoptionPeriodData;
|
|
10
|
+
/**
|
|
11
|
+
* Previous period adoption data
|
|
12
|
+
*/
|
|
13
|
+
previousPeriod?: AdoptionPeriodData;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PaginationInfo } from '../schemas/PaginationInfo';
|
|
2
|
+
import type { UserMetrics } from '../schemas/UserMetrics';
|
|
3
|
+
/**
|
|
4
|
+
* Integration raw metrics with pagination
|
|
5
|
+
*/
|
|
6
|
+
export interface IntegrationRawMetrics {
|
|
7
|
+
/**
|
|
8
|
+
* Pagination information
|
|
9
|
+
*/
|
|
10
|
+
pagination?: PaginationInfo;
|
|
11
|
+
/**
|
|
12
|
+
* List of user metrics
|
|
13
|
+
*/
|
|
14
|
+
users?: UserMetrics[];
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import type { ToolSummary } from '../schemas/ToolSummary';
|
|
2
|
+
/**
|
|
3
|
+
* Integration summary containing current and previous period data
|
|
4
|
+
*/
|
|
1
5
|
export interface IntegrationSummary {
|
|
2
|
-
applicationType?: string;
|
|
3
6
|
/**
|
|
4
|
-
*
|
|
7
|
+
* Current period tool usage summary
|
|
5
8
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
9
|
+
currentPeriod?: ToolSummary;
|
|
10
|
+
/**
|
|
11
|
+
* Previous period tool usage summary
|
|
12
|
+
*/
|
|
13
|
+
previousPeriod?: ToolSummary;
|
|
8
14
|
}
|
|
@@ -1,19 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pagination information
|
|
3
|
+
*/
|
|
1
4
|
export interface PaginationInfo {
|
|
2
5
|
/**
|
|
6
|
+
* Current page number
|
|
3
7
|
* @format int32
|
|
8
|
+
* @example 0
|
|
4
9
|
*/
|
|
5
10
|
currentPage?: number;
|
|
6
|
-
hasMore?: boolean;
|
|
7
11
|
/**
|
|
12
|
+
* Page size
|
|
8
13
|
* @format int32
|
|
14
|
+
* @example 10
|
|
9
15
|
*/
|
|
10
16
|
pageSize?: number;
|
|
11
17
|
/**
|
|
12
|
-
*
|
|
18
|
+
* Total number of pages
|
|
19
|
+
* @format int32
|
|
20
|
+
* @example 12
|
|
13
21
|
*/
|
|
14
|
-
|
|
22
|
+
totalPages?: number;
|
|
15
23
|
/**
|
|
24
|
+
* Total number of records
|
|
16
25
|
* @format int64
|
|
26
|
+
* @example 120
|
|
17
27
|
*/
|
|
18
|
-
|
|
28
|
+
totalRecords?: number;
|
|
19
29
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pagination parameters
|
|
3
|
+
*/
|
|
4
|
+
export interface PaginationParams {
|
|
5
|
+
/**
|
|
6
|
+
* Maximum page size (1-100)
|
|
7
|
+
* @format int32
|
|
8
|
+
* @default "10"
|
|
9
|
+
* @example 10
|
|
10
|
+
*/
|
|
11
|
+
maxPageSize?: number;
|
|
12
|
+
/**
|
|
13
|
+
* Page number (0-indexed)
|
|
14
|
+
* @format int32
|
|
15
|
+
* @default "0"
|
|
16
|
+
* @example 0
|
|
17
|
+
*/
|
|
18
|
+
pageNumber?: number;
|
|
19
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adoption metrics for a team in a specific time period
|
|
3
|
+
*/
|
|
4
|
+
export interface TeamPeriodData {
|
|
5
|
+
/**
|
|
6
|
+
* Number of active users in this period
|
|
7
|
+
* @format int32
|
|
8
|
+
* @example 42
|
|
9
|
+
*/
|
|
10
|
+
activeUsers?: number;
|
|
11
|
+
/**
|
|
12
|
+
* End date of the period
|
|
13
|
+
* @format date-time
|
|
14
|
+
* @example "2025-11-16"
|
|
15
|
+
*/
|
|
16
|
+
endDate?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Number of inactive licensed users in this period
|
|
19
|
+
* @format int32
|
|
20
|
+
* @example 8
|
|
21
|
+
*/
|
|
22
|
+
inactiveUsers?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Start date of the period
|
|
25
|
+
* @format date-time
|
|
26
|
+
* @example "2025-11-10"
|
|
27
|
+
*/
|
|
28
|
+
startDate?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Team name
|
|
31
|
+
* @example "Engineering Team"
|
|
32
|
+
*/
|
|
33
|
+
teamName?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Team reference ID
|
|
36
|
+
* @format int32
|
|
37
|
+
* @example 12345
|
|
38
|
+
*/
|
|
39
|
+
teamRefId?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Number of users without license in this period
|
|
42
|
+
* @format int32
|
|
43
|
+
* @example 15
|
|
44
|
+
*/
|
|
45
|
+
unAssigned?: number;
|
|
46
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Summary statistics for an AI tool
|
|
3
|
+
*/
|
|
4
|
+
export interface ToolSummary {
|
|
5
|
+
/**
|
|
6
|
+
* Acceptance rate percentage (lines accepted / lines suggested * 100)
|
|
7
|
+
* @format double
|
|
8
|
+
* @example 85.5
|
|
9
|
+
*/
|
|
10
|
+
acceptanceRate?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Number of active users in this period
|
|
13
|
+
* @format int32
|
|
14
|
+
* @example 165
|
|
15
|
+
*/
|
|
16
|
+
activeUsers?: number;
|
|
17
|
+
/**
|
|
18
|
+
* End date of this period
|
|
19
|
+
* @format date-time
|
|
20
|
+
* @example "2025-12-10"
|
|
21
|
+
*/
|
|
22
|
+
endDate?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Number of inactive users (licensed but not active)
|
|
25
|
+
* @format int32
|
|
26
|
+
* @example 4
|
|
27
|
+
*/
|
|
28
|
+
inactiveUsers?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Total lines added (accepted) across all team members
|
|
31
|
+
* @format int64
|
|
32
|
+
* @example 12550
|
|
33
|
+
*/
|
|
34
|
+
linesAccepted?: number;
|
|
35
|
+
/**
|
|
36
|
+
* Total lines suggested across all team members
|
|
37
|
+
* @format int64
|
|
38
|
+
* @example 25000
|
|
39
|
+
*/
|
|
40
|
+
linesSuggested?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Start date of this period
|
|
43
|
+
* @format date-time
|
|
44
|
+
* @example "2025-10-10"
|
|
45
|
+
*/
|
|
46
|
+
startDate?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Number of unassigned users (not licensed)
|
|
49
|
+
* @format int32
|
|
50
|
+
* @example 371
|
|
51
|
+
*/
|
|
52
|
+
unAssigned?: number;
|
|
53
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AiMetrics } from '../schemas/AiMetrics';
|
|
2
|
+
/**
|
|
3
|
+
* User metrics data
|
|
4
|
+
*/
|
|
5
|
+
export interface UserMetrics {
|
|
6
|
+
/**
|
|
7
|
+
* AI metrics data
|
|
8
|
+
*/
|
|
9
|
+
ai?: AiMetrics;
|
|
10
|
+
/**
|
|
11
|
+
* Team name
|
|
12
|
+
* @example "Engineering Team"
|
|
13
|
+
*/
|
|
14
|
+
team?: string;
|
|
15
|
+
/**
|
|
16
|
+
* User email
|
|
17
|
+
* @example "sunil.gattupalle@harness.io"
|
|
18
|
+
*/
|
|
19
|
+
userEmail?: string;
|
|
20
|
+
/**
|
|
21
|
+
* User name
|
|
22
|
+
* @example "sunil gattupalle"
|
|
23
|
+
*/
|
|
24
|
+
userName?: string;
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|