@coval/sdk 0.4.0 → 0.4.2
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/README.md +42 -0
- package/dist/CovalClient.d.ts +12 -0
- package/dist/CovalClient.d.ts.map +1 -1
- package/dist/CovalClient.js +13 -1
- package/dist/CovalClient.js.map +1 -1
- package/dist/generated/apis/ConversationsApi.d.ts +8 -8
- package/dist/generated/apis/ConversationsApi.js +4 -4
- package/dist/generated/apis/ReportsApi.d.ts +17 -14
- package/dist/generated/apis/ReportsApi.d.ts.map +1 -1
- package/dist/generated/apis/ReportsApi.js +9 -6
- package/dist/generated/apis/ReportsApi.js.map +1 -1
- package/dist/generated/apis/TracesApi.d.ts +40 -0
- package/dist/generated/apis/TracesApi.d.ts.map +1 -1
- package/dist/generated/apis/TracesApi.js +38 -0
- package/dist/generated/apis/TracesApi.js.map +1 -1
- package/dist/generated/models/CovalAgentsAPICreateAgentRequest.d.ts +23 -0
- package/dist/generated/models/CovalAgentsAPICreateAgentRequest.d.ts.map +1 -1
- package/dist/generated/models/CovalAgentsAPICreateAgentRequest.js.map +1 -1
- package/dist/generated/models/CovalAgentsAPISimulatorType.d.ts +4 -0
- package/dist/generated/models/CovalAgentsAPISimulatorType.d.ts.map +1 -1
- package/dist/generated/models/CovalAgentsAPISimulatorType.js +4 -0
- package/dist/generated/models/CovalAgentsAPISimulatorType.js.map +1 -1
- package/dist/generated/models/CovalConversationsAPIPatchConversationRequest.d.ts +27 -4
- package/dist/generated/models/CovalConversationsAPIPatchConversationRequest.d.ts.map +1 -1
- package/dist/generated/models/CovalConversationsAPIPatchConversationRequest.js +2 -0
- package/dist/generated/models/CovalConversationsAPIPatchConversationRequest.js.map +1 -1
- package/dist/generated/models/CovalOrganizationAPIConversationMetricRule.d.ts +2 -1
- package/dist/generated/models/CovalOrganizationAPIConversationMetricRule.d.ts.map +1 -1
- package/dist/generated/models/CovalOrganizationAPIConversationMetricRule.js +2 -1
- package/dist/generated/models/CovalOrganizationAPIConversationMetricRule.js.map +1 -1
- package/dist/generated/models/CovalOrganizationAPIConversationMetricRuleMetadataValue.d.ts +1 -1
- package/dist/generated/models/CovalReportsAPIError.d.ts +1 -0
- package/dist/generated/models/CovalReportsAPIError.d.ts.map +1 -1
- package/dist/generated/models/CovalReportsAPIError.js +1 -0
- package/dist/generated/models/CovalReportsAPIError.js.map +1 -1
- package/dist/generated/models/CovalReportsAPIGetReportResponse.d.ts +3 -3
- package/dist/generated/models/CovalReportsAPIGetReportResponse.d.ts.map +1 -1
- package/dist/generated/models/CovalReportsAPIGetReportResponse.js +3 -3
- package/dist/generated/models/CovalReportsAPIGetReportResponse.js.map +1 -1
- package/dist/generated/models/CovalReportsAPIMonitoringFiltersConfiguration.d.ts +45 -0
- package/dist/generated/models/CovalReportsAPIMonitoringFiltersConfiguration.d.ts.map +1 -0
- package/dist/generated/models/CovalReportsAPIMonitoringFiltersConfiguration.js +52 -0
- package/dist/generated/models/CovalReportsAPIMonitoringFiltersConfiguration.js.map +1 -0
- package/dist/generated/models/CovalReportsAPIMonitoringFiltersPatch.d.ts +45 -0
- package/dist/generated/models/CovalReportsAPIMonitoringFiltersPatch.d.ts.map +1 -0
- package/dist/generated/models/CovalReportsAPIMonitoringFiltersPatch.js +46 -0
- package/dist/generated/models/CovalReportsAPIMonitoringFiltersPatch.js.map +1 -0
- package/dist/generated/models/CovalReportsAPIReportDetail.d.ts +126 -0
- package/dist/generated/models/CovalReportsAPIReportDetail.d.ts.map +1 -0
- package/dist/generated/models/CovalReportsAPIReportDetail.js +104 -0
- package/dist/generated/models/CovalReportsAPIReportDetail.js.map +1 -0
- package/dist/generated/models/CovalReportsAPIReportMetricConfigurationEntry.d.ts +40 -0
- package/dist/generated/models/CovalReportsAPIReportMetricConfigurationEntry.d.ts.map +1 -0
- package/dist/generated/models/CovalReportsAPIReportMetricConfigurationEntry.js +46 -0
- package/dist/generated/models/CovalReportsAPIReportMetricConfigurationEntry.js.map +1 -0
- package/dist/generated/models/CovalReportsAPIReportMetricOutput.d.ts +1 -1
- package/dist/generated/models/CovalReportsAPIReportMetricOutput.d.ts.map +1 -1
- package/dist/generated/models/CovalReportsAPIReportMetricOutputValue.d.ts +3 -8
- package/dist/generated/models/CovalReportsAPIReportMetricOutputValue.d.ts.map +1 -1
- package/dist/generated/models/CovalReportsAPIReportMetricOutputValue.js +30 -8
- package/dist/generated/models/CovalReportsAPIReportMetricOutputValue.js.map +1 -1
- package/dist/generated/models/CovalReportsAPIReportViewConfiguration.d.ts +104 -0
- package/dist/generated/models/CovalReportsAPIReportViewConfiguration.d.ts.map +1 -0
- package/dist/generated/models/CovalReportsAPIReportViewConfiguration.js +100 -0
- package/dist/generated/models/CovalReportsAPIReportViewConfiguration.js.map +1 -0
- package/dist/generated/models/CovalReportsAPIReportViewConfigurationPatch.d.ts +104 -0
- package/dist/generated/models/CovalReportsAPIReportViewConfigurationPatch.d.ts.map +1 -0
- package/dist/generated/models/CovalReportsAPIReportViewConfigurationPatch.js +84 -0
- package/dist/generated/models/CovalReportsAPIReportViewConfigurationPatch.js.map +1 -0
- package/dist/generated/models/CovalReportsAPIUpdateReportRequest.d.ts +10 -0
- package/dist/generated/models/CovalReportsAPIUpdateReportRequest.d.ts.map +1 -1
- package/dist/generated/models/CovalReportsAPIUpdateReportRequest.js +3 -0
- package/dist/generated/models/CovalReportsAPIUpdateReportRequest.js.map +1 -1
- package/dist/generated/models/CovalReportsAPIUpdateReportResponse.d.ts +3 -3
- package/dist/generated/models/CovalReportsAPIUpdateReportResponse.d.ts.map +1 -1
- package/dist/generated/models/CovalReportsAPIUpdateReportResponse.js +3 -3
- package/dist/generated/models/CovalReportsAPIUpdateReportResponse.js.map +1 -1
- package/dist/generated/models/TracesAPITraceSearchAggregateStats.d.ts +39 -0
- package/dist/generated/models/TracesAPITraceSearchAggregateStats.d.ts.map +1 -0
- package/dist/generated/models/TracesAPITraceSearchAggregateStats.js +48 -0
- package/dist/generated/models/TracesAPITraceSearchAggregateStats.js.map +1 -0
- package/dist/generated/models/TracesAPITraceSearchAttributeFilter.d.ts +58 -0
- package/dist/generated/models/TracesAPITraceSearchAttributeFilter.d.ts.map +1 -0
- package/dist/generated/models/TracesAPITraceSearchAttributeFilter.js +60 -0
- package/dist/generated/models/TracesAPITraceSearchAttributeFilter.js.map +1 -0
- package/dist/generated/models/TracesAPITraceSearchCallResult.d.ts +120 -0
- package/dist/generated/models/TracesAPITraceSearchCallResult.d.ts.map +1 -0
- package/dist/generated/models/TracesAPITraceSearchCallResult.js +96 -0
- package/dist/generated/models/TracesAPITraceSearchCallResult.js.map +1 -0
- package/dist/generated/models/TracesAPITraceSearchFilters.d.ts +113 -0
- package/dist/generated/models/TracesAPITraceSearchFilters.d.ts.map +1 -0
- package/dist/generated/models/TracesAPITraceSearchFilters.js +80 -0
- package/dist/generated/models/TracesAPITraceSearchFilters.js.map +1 -0
- package/dist/generated/models/TracesAPITraceSearchRequest.d.ts +46 -0
- package/dist/generated/models/TracesAPITraceSearchRequest.d.ts.map +1 -0
- package/dist/generated/models/TracesAPITraceSearchRequest.js +47 -0
- package/dist/generated/models/TracesAPITraceSearchRequest.js.map +1 -0
- package/dist/generated/models/TracesAPITraceSearchResponse.d.ts +53 -0
- package/dist/generated/models/TracesAPITraceSearchResponse.d.ts.map +1 -0
- package/dist/generated/models/TracesAPITraceSearchResponse.js +56 -0
- package/dist/generated/models/TracesAPITraceSearchResponse.js.map +1 -0
- package/dist/generated/models/index.d.ts +12 -0
- package/dist/generated/models/index.d.ts.map +1 -1
- package/dist/generated/models/index.js +12 -0
- package/dist/generated/models/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/retry.d.ts +5 -0
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +20 -0
- package/dist/retry.js.map +1 -1
- package/dist/stats.d.ts +13 -0
- package/dist/stats.d.ts.map +1 -0
- package/dist/stats.js +13 -0
- package/dist/stats.js.map +1 -0
- package/package.json +1 -1
- package/src/CovalClient.ts +20 -1
- package/src/generated/apis/ConversationsApi.ts +8 -8
- package/src/generated/apis/ReportsApi.ts +21 -14
- package/src/generated/apis/TracesApi.ts +84 -0
- package/src/generated/models/CovalAgentsAPICreateAgentRequest.ts +23 -0
- package/src/generated/models/CovalAgentsAPISimulatorType.ts +4 -0
- package/src/generated/models/CovalConversationsAPIPatchConversationRequest.ts +27 -4
- package/src/generated/models/CovalOrganizationAPIConversationMetricRule.ts +3 -2
- package/src/generated/models/CovalOrganizationAPIConversationMetricRuleMetadataValue.ts +1 -1
- package/src/generated/models/CovalReportsAPIError.ts +1 -0
- package/src/generated/models/CovalReportsAPIGetReportResponse.ts +10 -10
- package/src/generated/models/CovalReportsAPIMonitoringFiltersConfiguration.ts +84 -0
- package/src/generated/models/CovalReportsAPIMonitoringFiltersPatch.ts +81 -0
- package/src/generated/models/CovalReportsAPIReportDetail.ts +204 -0
- package/src/generated/models/CovalReportsAPIReportMetricConfigurationEntry.ts +76 -0
- package/src/generated/models/CovalReportsAPIReportMetricOutput.ts +1 -1
- package/src/generated/models/CovalReportsAPIReportMetricOutputValue.ts +33 -14
- package/src/generated/models/CovalReportsAPIReportViewConfiguration.ts +167 -0
- package/src/generated/models/CovalReportsAPIReportViewConfigurationPatch.ts +158 -0
- package/src/generated/models/CovalReportsAPIUpdateReportRequest.ts +18 -0
- package/src/generated/models/CovalReportsAPIUpdateReportResponse.ts +10 -10
- package/src/generated/models/TracesAPITraceSearchAggregateStats.ts +75 -0
- package/src/generated/models/TracesAPITraceSearchAttributeFilter.ts +98 -0
- package/src/generated/models/TracesAPITraceSearchCallResult.ts +191 -0
- package/src/generated/models/TracesAPITraceSearchFilters.ts +176 -0
- package/src/generated/models/TracesAPITraceSearchRequest.ts +89 -0
- package/src/generated/models/TracesAPITraceSearchResponse.ts +107 -0
- package/src/generated/models/index.ts +12 -0
- package/src/index.ts +2 -0
- package/src/retry.ts +24 -0
- package/src/stats.ts +25 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Coval Agents API
|
|
5
|
+
* Manage configurations for simulations and evaluations.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
* Contact: support@coval.dev
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime.js';
|
|
16
|
+
import type { TracesAPITraceSearchAttributeFilter } from './TracesAPITraceSearchAttributeFilter.js';
|
|
17
|
+
import {
|
|
18
|
+
TracesAPITraceSearchAttributeFilterFromJSON,
|
|
19
|
+
TracesAPITraceSearchAttributeFilterFromJSONTyped,
|
|
20
|
+
TracesAPITraceSearchAttributeFilterToJSON,
|
|
21
|
+
TracesAPITraceSearchAttributeFilterToJSONTyped,
|
|
22
|
+
} from './TracesAPITraceSearchAttributeFilter.js';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @export
|
|
27
|
+
* @interface TracesAPITraceSearchFilters
|
|
28
|
+
*/
|
|
29
|
+
export interface TracesAPITraceSearchFilters {
|
|
30
|
+
/**
|
|
31
|
+
* Include spans at or after this ISO 8601 timestamp.
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof TracesAPITraceSearchFilters
|
|
34
|
+
*/
|
|
35
|
+
start_date?: string | null;
|
|
36
|
+
/**
|
|
37
|
+
* Include spans at or before this ISO 8601 timestamp.
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof TracesAPITraceSearchFilters
|
|
40
|
+
*/
|
|
41
|
+
end_date?: string | null;
|
|
42
|
+
/**
|
|
43
|
+
* Case-insensitive substring match on span name.
|
|
44
|
+
* @type {string}
|
|
45
|
+
* @memberof TracesAPITraceSearchFilters
|
|
46
|
+
*/
|
|
47
|
+
span_name?: string | null;
|
|
48
|
+
/**
|
|
49
|
+
* Case-insensitive substring match on detected provider.
|
|
50
|
+
* @type {string}
|
|
51
|
+
* @memberof TracesAPITraceSearchFilters
|
|
52
|
+
*/
|
|
53
|
+
provider?: string | null;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @type {TracesAPITraceSearchFiltersStatusEnum}
|
|
57
|
+
* @memberof TracesAPITraceSearchFilters
|
|
58
|
+
*/
|
|
59
|
+
status?: TracesAPITraceSearchFiltersStatusEnum | null;
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* @type {Array<TracesAPITraceSearchAttributeFilter>}
|
|
63
|
+
* @memberof TracesAPITraceSearchFilters
|
|
64
|
+
*/
|
|
65
|
+
attribute_filters?: Array<TracesAPITraceSearchAttributeFilter> | null;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @type {number}
|
|
69
|
+
* @memberof TracesAPITraceSearchFilters
|
|
70
|
+
*/
|
|
71
|
+
duration_ms_min?: number | null;
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
* @type {number}
|
|
75
|
+
* @memberof TracesAPITraceSearchFilters
|
|
76
|
+
*/
|
|
77
|
+
duration_ms_max?: number | null;
|
|
78
|
+
/**
|
|
79
|
+
*
|
|
80
|
+
* @type {TracesAPITraceSearchFiltersSortByEnum}
|
|
81
|
+
* @memberof TracesAPITraceSearchFilters
|
|
82
|
+
*/
|
|
83
|
+
sort_by?: TracesAPITraceSearchFiltersSortByEnum | null;
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
* @type {string}
|
|
87
|
+
* @memberof TracesAPITraceSearchFilters
|
|
88
|
+
*/
|
|
89
|
+
agent_id?: string | null;
|
|
90
|
+
/**
|
|
91
|
+
*
|
|
92
|
+
* @type {string}
|
|
93
|
+
* @memberof TracesAPITraceSearchFilters
|
|
94
|
+
*/
|
|
95
|
+
test_set_id?: string | null;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* @export
|
|
101
|
+
*/
|
|
102
|
+
export const TracesAPITraceSearchFiltersStatusEnum = {
|
|
103
|
+
Error: 'ERROR',
|
|
104
|
+
Ok: 'OK',
|
|
105
|
+
Unset: 'UNSET'
|
|
106
|
+
} as const;
|
|
107
|
+
export type TracesAPITraceSearchFiltersStatusEnum = typeof TracesAPITraceSearchFiltersStatusEnum[keyof typeof TracesAPITraceSearchFiltersStatusEnum];
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* @export
|
|
111
|
+
*/
|
|
112
|
+
export const TracesAPITraceSearchFiltersSortByEnum = {
|
|
113
|
+
Newest: 'newest',
|
|
114
|
+
Oldest: 'oldest',
|
|
115
|
+
Slowest: 'slowest',
|
|
116
|
+
Fastest: 'fastest'
|
|
117
|
+
} as const;
|
|
118
|
+
export type TracesAPITraceSearchFiltersSortByEnum = typeof TracesAPITraceSearchFiltersSortByEnum[keyof typeof TracesAPITraceSearchFiltersSortByEnum];
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Check if a given object implements the TracesAPITraceSearchFilters interface.
|
|
123
|
+
*/
|
|
124
|
+
export function instanceOfTracesAPITraceSearchFilters(value: object): value is TracesAPITraceSearchFilters {
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export function TracesAPITraceSearchFiltersFromJSON(json: any): TracesAPITraceSearchFilters {
|
|
129
|
+
return TracesAPITraceSearchFiltersFromJSONTyped(json, false);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export function TracesAPITraceSearchFiltersFromJSONTyped(json: any, ignoreDiscriminator: boolean): TracesAPITraceSearchFilters {
|
|
133
|
+
if (json == null) {
|
|
134
|
+
return json;
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
|
|
138
|
+
'start_date': json['start_date'] == null ? undefined : json['start_date'],
|
|
139
|
+
'end_date': json['end_date'] == null ? undefined : json['end_date'],
|
|
140
|
+
'span_name': json['span_name'] == null ? undefined : json['span_name'],
|
|
141
|
+
'provider': json['provider'] == null ? undefined : json['provider'],
|
|
142
|
+
'status': json['status'] == null ? undefined : json['status'],
|
|
143
|
+
'attribute_filters': json['attribute_filters'] == null ? undefined : ((json['attribute_filters'] as Array<any>).map(TracesAPITraceSearchAttributeFilterFromJSON)),
|
|
144
|
+
'duration_ms_min': json['duration_ms_min'] == null ? undefined : json['duration_ms_min'],
|
|
145
|
+
'duration_ms_max': json['duration_ms_max'] == null ? undefined : json['duration_ms_max'],
|
|
146
|
+
'sort_by': json['sort_by'] == null ? undefined : json['sort_by'],
|
|
147
|
+
'agent_id': json['agent_id'] == null ? undefined : json['agent_id'],
|
|
148
|
+
'test_set_id': json['test_set_id'] == null ? undefined : json['test_set_id'],
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export function TracesAPITraceSearchFiltersToJSON(json: any): TracesAPITraceSearchFilters {
|
|
153
|
+
return TracesAPITraceSearchFiltersToJSONTyped(json, false);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export function TracesAPITraceSearchFiltersToJSONTyped(value?: TracesAPITraceSearchFilters | null, ignoreDiscriminator: boolean = false): any {
|
|
157
|
+
if (value == null) {
|
|
158
|
+
return value;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return {
|
|
162
|
+
|
|
163
|
+
'start_date': value['start_date'],
|
|
164
|
+
'end_date': value['end_date'],
|
|
165
|
+
'span_name': value['span_name'],
|
|
166
|
+
'provider': value['provider'],
|
|
167
|
+
'status': value['status'],
|
|
168
|
+
'attribute_filters': value['attribute_filters'] == null ? undefined : ((value['attribute_filters'] as Array<any>).map(TracesAPITraceSearchAttributeFilterToJSON)),
|
|
169
|
+
'duration_ms_min': value['duration_ms_min'],
|
|
170
|
+
'duration_ms_max': value['duration_ms_max'],
|
|
171
|
+
'sort_by': value['sort_by'],
|
|
172
|
+
'agent_id': value['agent_id'],
|
|
173
|
+
'test_set_id': value['test_set_id'],
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Coval Agents API
|
|
5
|
+
* Manage configurations for simulations and evaluations.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
* Contact: support@coval.dev
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime.js';
|
|
16
|
+
import type { TracesAPITraceSearchFilters } from './TracesAPITraceSearchFilters.js';
|
|
17
|
+
import {
|
|
18
|
+
TracesAPITraceSearchFiltersFromJSON,
|
|
19
|
+
TracesAPITraceSearchFiltersFromJSONTyped,
|
|
20
|
+
TracesAPITraceSearchFiltersToJSON,
|
|
21
|
+
TracesAPITraceSearchFiltersToJSONTyped,
|
|
22
|
+
} from './TracesAPITraceSearchFilters.js';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @export
|
|
27
|
+
* @interface TracesAPITraceSearchRequest
|
|
28
|
+
*/
|
|
29
|
+
export interface TracesAPITraceSearchRequest {
|
|
30
|
+
/**
|
|
31
|
+
* Opaque cursor returned as `next_cursor` by the previous page.
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof TracesAPITraceSearchRequest
|
|
34
|
+
*/
|
|
35
|
+
cursor?: string | null;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {number}
|
|
39
|
+
* @memberof TracesAPITraceSearchRequest
|
|
40
|
+
*/
|
|
41
|
+
limit?: number;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @type {TracesAPITraceSearchFilters}
|
|
45
|
+
* @memberof TracesAPITraceSearchRequest
|
|
46
|
+
*/
|
|
47
|
+
filters?: TracesAPITraceSearchFilters;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Check if a given object implements the TracesAPITraceSearchRequest interface.
|
|
52
|
+
*/
|
|
53
|
+
export function instanceOfTracesAPITraceSearchRequest(value: object): value is TracesAPITraceSearchRequest {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function TracesAPITraceSearchRequestFromJSON(json: any): TracesAPITraceSearchRequest {
|
|
58
|
+
return TracesAPITraceSearchRequestFromJSONTyped(json, false);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function TracesAPITraceSearchRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): TracesAPITraceSearchRequest {
|
|
62
|
+
if (json == null) {
|
|
63
|
+
return json;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
|
|
67
|
+
'cursor': json['cursor'] == null ? undefined : json['cursor'],
|
|
68
|
+
'limit': json['limit'] == null ? undefined : json['limit'],
|
|
69
|
+
'filters': json['filters'] == null ? undefined : TracesAPITraceSearchFiltersFromJSON(json['filters']),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function TracesAPITraceSearchRequestToJSON(json: any): TracesAPITraceSearchRequest {
|
|
74
|
+
return TracesAPITraceSearchRequestToJSONTyped(json, false);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function TracesAPITraceSearchRequestToJSONTyped(value?: TracesAPITraceSearchRequest | null, ignoreDiscriminator: boolean = false): any {
|
|
78
|
+
if (value == null) {
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return {
|
|
83
|
+
|
|
84
|
+
'cursor': value['cursor'],
|
|
85
|
+
'limit': value['limit'],
|
|
86
|
+
'filters': TracesAPITraceSearchFiltersToJSON(value['filters']),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Coval Agents API
|
|
5
|
+
* Manage configurations for simulations and evaluations.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.0.0
|
|
8
|
+
* Contact: support@coval.dev
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime.js';
|
|
16
|
+
import type { TracesAPITraceSearchCallResult } from './TracesAPITraceSearchCallResult.js';
|
|
17
|
+
import {
|
|
18
|
+
TracesAPITraceSearchCallResultFromJSON,
|
|
19
|
+
TracesAPITraceSearchCallResultFromJSONTyped,
|
|
20
|
+
TracesAPITraceSearchCallResultToJSON,
|
|
21
|
+
TracesAPITraceSearchCallResultToJSONTyped,
|
|
22
|
+
} from './TracesAPITraceSearchCallResult.js';
|
|
23
|
+
import type { TracesAPITraceSearchAggregateStats } from './TracesAPITraceSearchAggregateStats.js';
|
|
24
|
+
import {
|
|
25
|
+
TracesAPITraceSearchAggregateStatsFromJSON,
|
|
26
|
+
TracesAPITraceSearchAggregateStatsFromJSONTyped,
|
|
27
|
+
TracesAPITraceSearchAggregateStatsToJSON,
|
|
28
|
+
TracesAPITraceSearchAggregateStatsToJSONTyped,
|
|
29
|
+
} from './TracesAPITraceSearchAggregateStats.js';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @export
|
|
34
|
+
* @interface TracesAPITraceSearchResponse
|
|
35
|
+
*/
|
|
36
|
+
export interface TracesAPITraceSearchResponse {
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @type {Array<TracesAPITraceSearchCallResult>}
|
|
40
|
+
* @memberof TracesAPITraceSearchResponse
|
|
41
|
+
*/
|
|
42
|
+
items: Array<TracesAPITraceSearchCallResult>;
|
|
43
|
+
/**
|
|
44
|
+
*
|
|
45
|
+
* @type {number}
|
|
46
|
+
* @memberof TracesAPITraceSearchResponse
|
|
47
|
+
*/
|
|
48
|
+
total_count: number;
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* @type {string}
|
|
52
|
+
* @memberof TracesAPITraceSearchResponse
|
|
53
|
+
*/
|
|
54
|
+
next_cursor?: string | null;
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* @type {TracesAPITraceSearchAggregateStats}
|
|
58
|
+
* @memberof TracesAPITraceSearchResponse
|
|
59
|
+
*/
|
|
60
|
+
aggregate_stats: TracesAPITraceSearchAggregateStats;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Check if a given object implements the TracesAPITraceSearchResponse interface.
|
|
65
|
+
*/
|
|
66
|
+
export function instanceOfTracesAPITraceSearchResponse(value: object): value is TracesAPITraceSearchResponse {
|
|
67
|
+
if (!('items' in value) || value['items'] === undefined) return false;
|
|
68
|
+
if (!('total_count' in value) || value['total_count'] === undefined) return false;
|
|
69
|
+
if (!('aggregate_stats' in value) || value['aggregate_stats'] === undefined) return false;
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function TracesAPITraceSearchResponseFromJSON(json: any): TracesAPITraceSearchResponse {
|
|
74
|
+
return TracesAPITraceSearchResponseFromJSONTyped(json, false);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function TracesAPITraceSearchResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): TracesAPITraceSearchResponse {
|
|
78
|
+
if (json == null) {
|
|
79
|
+
return json;
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
|
|
83
|
+
'items': ((json['items'] as Array<any>).map(TracesAPITraceSearchCallResultFromJSON)),
|
|
84
|
+
'total_count': json['total_count'],
|
|
85
|
+
'next_cursor': json['next_cursor'] == null ? undefined : json['next_cursor'],
|
|
86
|
+
'aggregate_stats': TracesAPITraceSearchAggregateStatsFromJSON(json['aggregate_stats']),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export function TracesAPITraceSearchResponseToJSON(json: any): TracesAPITraceSearchResponse {
|
|
91
|
+
return TracesAPITraceSearchResponseToJSONTyped(json, false);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export function TracesAPITraceSearchResponseToJSONTyped(value?: TracesAPITraceSearchResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
95
|
+
if (value == null) {
|
|
96
|
+
return value;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return {
|
|
100
|
+
|
|
101
|
+
'items': ((value['items'] as Array<any>).map(TracesAPITraceSearchCallResultToJSON)),
|
|
102
|
+
'total_count': value['total_count'],
|
|
103
|
+
'next_cursor': value['next_cursor'],
|
|
104
|
+
'aggregate_stats': TracesAPITraceSearchAggregateStatsToJSON(value['aggregate_stats']),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
@@ -228,11 +228,17 @@ export * from './CovalReportsAPIErrorResponse.js';
|
|
|
228
228
|
export * from './CovalReportsAPIGetReportResponse.js';
|
|
229
229
|
export * from './CovalReportsAPIListReportRowsResponse.js';
|
|
230
230
|
export * from './CovalReportsAPIListReportsResponse.js';
|
|
231
|
+
export * from './CovalReportsAPIMonitoringFiltersConfiguration.js';
|
|
232
|
+
export * from './CovalReportsAPIMonitoringFiltersPatch.js';
|
|
231
233
|
export * from './CovalReportsAPIReport.js';
|
|
234
|
+
export * from './CovalReportsAPIReportDetail.js';
|
|
235
|
+
export * from './CovalReportsAPIReportMetricConfigurationEntry.js';
|
|
232
236
|
export * from './CovalReportsAPIReportMetricOutput.js';
|
|
233
237
|
export * from './CovalReportsAPIReportMetricOutputValue.js';
|
|
234
238
|
export * from './CovalReportsAPIReportPermission.js';
|
|
235
239
|
export * from './CovalReportsAPIReportRowResource.js';
|
|
240
|
+
export * from './CovalReportsAPIReportViewConfiguration.js';
|
|
241
|
+
export * from './CovalReportsAPIReportViewConfigurationPatch.js';
|
|
236
242
|
export * from './CovalReportsAPIUpdateReportRequest.js';
|
|
237
243
|
export * from './CovalReportsAPIUpdateReportResponse.js';
|
|
238
244
|
export * from './CovalReviewsAPIAnnotationPriority.js';
|
|
@@ -399,3 +405,9 @@ export * from './TracesAPIErrorResponseErrorDetailsInner.js';
|
|
|
399
405
|
export * from './TracesAPISimulationTracesResponse.js';
|
|
400
406
|
export * from './TracesAPITraceQualitySummary.js';
|
|
401
407
|
export * from './TracesAPITraceQualitySummaryExportLag.js';
|
|
408
|
+
export * from './TracesAPITraceSearchAggregateStats.js';
|
|
409
|
+
export * from './TracesAPITraceSearchAttributeFilter.js';
|
|
410
|
+
export * from './TracesAPITraceSearchCallResult.js';
|
|
411
|
+
export * from './TracesAPITraceSearchFilters.js';
|
|
412
|
+
export * from './TracesAPITraceSearchRequest.js';
|
|
413
|
+
export * from './TracesAPITraceSearchResponse.js';
|
package/src/index.ts
CHANGED
|
@@ -9,6 +9,8 @@ export type { PaginateOptions } from './pagination.js';
|
|
|
9
9
|
export { apiKeyAuthMiddleware } from './auth.js';
|
|
10
10
|
export { createRetryingFetch } from './retry.js';
|
|
11
11
|
export type { RetryOptions } from './retry.js';
|
|
12
|
+
export { createTransportStats, formatTransportStats } from './stats.js';
|
|
13
|
+
export type { CovalTransportStats } from './stats.js';
|
|
12
14
|
|
|
13
15
|
// Re-export the entire generated surface so callers can reach for request
|
|
14
16
|
// types, model types, and individual API classes if they want to bypass the
|
package/src/retry.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import { CovalNetworkError } from './errors.js';
|
|
10
10
|
import type { FetchAPI } from './generated/runtime.js';
|
|
11
|
+
import type { CovalTransportStats } from './stats.js';
|
|
11
12
|
|
|
12
13
|
const RETRYABLE_STATUSES = new Set([408, 429, 500, 502, 503, 504]);
|
|
13
14
|
const RETRYABLE_METHODS = new Set(['GET', 'HEAD', 'OPTIONS']);
|
|
@@ -30,6 +31,10 @@ export interface RetryOptions {
|
|
|
30
31
|
export interface RetryDeps {
|
|
31
32
|
fetch?: FetchAPI;
|
|
32
33
|
sleep?: (ms: number) => Promise<void>;
|
|
34
|
+
/** Counters mutated in place so the client can expose a live view. */
|
|
35
|
+
stats?: CovalTransportStats;
|
|
36
|
+
/** Called with a human-readable line on each retry or network error. */
|
|
37
|
+
onDebug?: (message: string) => void;
|
|
33
38
|
}
|
|
34
39
|
|
|
35
40
|
export function createRetryingFetch(options: RetryOptions = {}, deps: RetryDeps = {}): FetchAPI {
|
|
@@ -41,16 +46,22 @@ export function createRetryingFetch(options: RetryOptions = {}, deps: RetryDeps
|
|
|
41
46
|
const retryableMethods = options.retryableMethods ?? RETRYABLE_METHODS;
|
|
42
47
|
const innerFetch: FetchAPI = deps.fetch ?? (globalThis.fetch as FetchAPI);
|
|
43
48
|
const sleep = deps.sleep ?? ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
49
|
+
const stats = deps.stats;
|
|
50
|
+
const debug = deps.onDebug;
|
|
44
51
|
|
|
45
52
|
return async function retryingFetch(input, init) {
|
|
46
53
|
let lastError: unknown;
|
|
47
54
|
const method = (init?.method ?? 'GET').toUpperCase();
|
|
48
55
|
const url = typeof input === 'string' ? input : input instanceof URL ? input.toString() : input.url;
|
|
56
|
+
if (stats) stats.calls += 1;
|
|
49
57
|
|
|
50
58
|
if (!retryableMethods.has(method)) {
|
|
51
59
|
try {
|
|
60
|
+
if (stats) stats.requests += 1;
|
|
52
61
|
return await innerFetch(input, init);
|
|
53
62
|
} catch (err) {
|
|
63
|
+
if (stats) stats.networkErrors += 1;
|
|
64
|
+
debug?.(`coval-sdk: ${method} ${url} failed in transit (not retried): ${stringifyError(err)}`);
|
|
54
65
|
throw new CovalNetworkError({
|
|
55
66
|
message: `Coval API request failed: ${stringifyError(err)}`,
|
|
56
67
|
url,
|
|
@@ -63,15 +74,24 @@ export function createRetryingFetch(options: RetryOptions = {}, deps: RetryDeps
|
|
|
63
74
|
|
|
64
75
|
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
65
76
|
try {
|
|
77
|
+
if (stats) stats.requests += 1;
|
|
66
78
|
const response = await innerFetch(input, init);
|
|
67
79
|
if (!retryable.has(response.status) || attempt === maxAttempts) {
|
|
68
80
|
return response;
|
|
69
81
|
}
|
|
70
82
|
const wait = computeDelay({ attempt, baseDelay, maxDelay, jitter, response });
|
|
83
|
+
if (stats) stats.retries += 1;
|
|
84
|
+
debug?.(
|
|
85
|
+
`coval-sdk: ${method} ${url} returned ${response.status}, retrying in ${wait}ms (attempt ${attempt}/${maxAttempts})`,
|
|
86
|
+
);
|
|
71
87
|
await sleep(wait);
|
|
72
88
|
} catch (err) {
|
|
73
89
|
lastError = err;
|
|
90
|
+
if (stats) stats.networkErrors += 1;
|
|
74
91
|
if (attempt === maxAttempts) {
|
|
92
|
+
debug?.(
|
|
93
|
+
`coval-sdk: ${method} ${url} failed in transit after ${attempt} attempts: ${stringifyError(err)}`,
|
|
94
|
+
);
|
|
75
95
|
throw new CovalNetworkError({
|
|
76
96
|
message: `Coval API request failed after ${attempt} attempt${attempt > 1 ? 's' : ''}: ${stringifyError(err)}`,
|
|
77
97
|
url,
|
|
@@ -81,6 +101,10 @@ export function createRetryingFetch(options: RetryOptions = {}, deps: RetryDeps
|
|
|
81
101
|
});
|
|
82
102
|
}
|
|
83
103
|
const wait = computeDelay({ attempt, baseDelay, maxDelay, jitter });
|
|
104
|
+
if (stats) stats.retries += 1;
|
|
105
|
+
debug?.(
|
|
106
|
+
`coval-sdk: ${method} ${url} failed in transit (${stringifyError(err)}), retrying in ${wait}ms (attempt ${attempt}/${maxAttempts})`,
|
|
107
|
+
);
|
|
84
108
|
await sleep(wait);
|
|
85
109
|
}
|
|
86
110
|
}
|
package/src/stats.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Transport counters for diagnosing intermittent failures.
|
|
2
|
+
//
|
|
3
|
+
// A request that dies in transit never reaches the API, so there is no
|
|
4
|
+
// server-side trace of it. These counters are often the only evidence available
|
|
5
|
+
// when a caller reports sporadic timeouts. Mirrors `connection_stats` in the
|
|
6
|
+
// Python SDK.
|
|
7
|
+
|
|
8
|
+
export interface CovalTransportStats {
|
|
9
|
+
/** Logical API calls started. */
|
|
10
|
+
calls: number;
|
|
11
|
+
/** fetch invocations, including retries — exceeds `calls` when retries fire. */
|
|
12
|
+
requests: number;
|
|
13
|
+
/** Retry attempts beyond the initial request. */
|
|
14
|
+
retries: number;
|
|
15
|
+
/** fetch rejections: DNS failure, reset, abort, or a stranded pooled socket. */
|
|
16
|
+
networkErrors: number;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function createTransportStats(): CovalTransportStats {
|
|
20
|
+
return { calls: 0, requests: 0, retries: 0, networkErrors: 0 };
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function formatTransportStats(stats: CovalTransportStats): string {
|
|
24
|
+
return `CovalTransportStats(calls=${stats.calls}, requests=${stats.requests}, retries=${stats.retries}, networkErrors=${stats.networkErrors})`;
|
|
25
|
+
}
|