@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.
Files changed (149) hide show
  1. package/README.md +42 -0
  2. package/dist/CovalClient.d.ts +12 -0
  3. package/dist/CovalClient.d.ts.map +1 -1
  4. package/dist/CovalClient.js +13 -1
  5. package/dist/CovalClient.js.map +1 -1
  6. package/dist/generated/apis/ConversationsApi.d.ts +8 -8
  7. package/dist/generated/apis/ConversationsApi.js +4 -4
  8. package/dist/generated/apis/ReportsApi.d.ts +17 -14
  9. package/dist/generated/apis/ReportsApi.d.ts.map +1 -1
  10. package/dist/generated/apis/ReportsApi.js +9 -6
  11. package/dist/generated/apis/ReportsApi.js.map +1 -1
  12. package/dist/generated/apis/TracesApi.d.ts +40 -0
  13. package/dist/generated/apis/TracesApi.d.ts.map +1 -1
  14. package/dist/generated/apis/TracesApi.js +38 -0
  15. package/dist/generated/apis/TracesApi.js.map +1 -1
  16. package/dist/generated/models/CovalAgentsAPICreateAgentRequest.d.ts +23 -0
  17. package/dist/generated/models/CovalAgentsAPICreateAgentRequest.d.ts.map +1 -1
  18. package/dist/generated/models/CovalAgentsAPICreateAgentRequest.js.map +1 -1
  19. package/dist/generated/models/CovalAgentsAPISimulatorType.d.ts +4 -0
  20. package/dist/generated/models/CovalAgentsAPISimulatorType.d.ts.map +1 -1
  21. package/dist/generated/models/CovalAgentsAPISimulatorType.js +4 -0
  22. package/dist/generated/models/CovalAgentsAPISimulatorType.js.map +1 -1
  23. package/dist/generated/models/CovalConversationsAPIPatchConversationRequest.d.ts +27 -4
  24. package/dist/generated/models/CovalConversationsAPIPatchConversationRequest.d.ts.map +1 -1
  25. package/dist/generated/models/CovalConversationsAPIPatchConversationRequest.js +2 -0
  26. package/dist/generated/models/CovalConversationsAPIPatchConversationRequest.js.map +1 -1
  27. package/dist/generated/models/CovalOrganizationAPIConversationMetricRule.d.ts +2 -1
  28. package/dist/generated/models/CovalOrganizationAPIConversationMetricRule.d.ts.map +1 -1
  29. package/dist/generated/models/CovalOrganizationAPIConversationMetricRule.js +2 -1
  30. package/dist/generated/models/CovalOrganizationAPIConversationMetricRule.js.map +1 -1
  31. package/dist/generated/models/CovalOrganizationAPIConversationMetricRuleMetadataValue.d.ts +1 -1
  32. package/dist/generated/models/CovalReportsAPIError.d.ts +1 -0
  33. package/dist/generated/models/CovalReportsAPIError.d.ts.map +1 -1
  34. package/dist/generated/models/CovalReportsAPIError.js +1 -0
  35. package/dist/generated/models/CovalReportsAPIError.js.map +1 -1
  36. package/dist/generated/models/CovalReportsAPIGetReportResponse.d.ts +3 -3
  37. package/dist/generated/models/CovalReportsAPIGetReportResponse.d.ts.map +1 -1
  38. package/dist/generated/models/CovalReportsAPIGetReportResponse.js +3 -3
  39. package/dist/generated/models/CovalReportsAPIGetReportResponse.js.map +1 -1
  40. package/dist/generated/models/CovalReportsAPIMonitoringFiltersConfiguration.d.ts +45 -0
  41. package/dist/generated/models/CovalReportsAPIMonitoringFiltersConfiguration.d.ts.map +1 -0
  42. package/dist/generated/models/CovalReportsAPIMonitoringFiltersConfiguration.js +52 -0
  43. package/dist/generated/models/CovalReportsAPIMonitoringFiltersConfiguration.js.map +1 -0
  44. package/dist/generated/models/CovalReportsAPIMonitoringFiltersPatch.d.ts +45 -0
  45. package/dist/generated/models/CovalReportsAPIMonitoringFiltersPatch.d.ts.map +1 -0
  46. package/dist/generated/models/CovalReportsAPIMonitoringFiltersPatch.js +46 -0
  47. package/dist/generated/models/CovalReportsAPIMonitoringFiltersPatch.js.map +1 -0
  48. package/dist/generated/models/CovalReportsAPIReportDetail.d.ts +126 -0
  49. package/dist/generated/models/CovalReportsAPIReportDetail.d.ts.map +1 -0
  50. package/dist/generated/models/CovalReportsAPIReportDetail.js +104 -0
  51. package/dist/generated/models/CovalReportsAPIReportDetail.js.map +1 -0
  52. package/dist/generated/models/CovalReportsAPIReportMetricConfigurationEntry.d.ts +40 -0
  53. package/dist/generated/models/CovalReportsAPIReportMetricConfigurationEntry.d.ts.map +1 -0
  54. package/dist/generated/models/CovalReportsAPIReportMetricConfigurationEntry.js +46 -0
  55. package/dist/generated/models/CovalReportsAPIReportMetricConfigurationEntry.js.map +1 -0
  56. package/dist/generated/models/CovalReportsAPIReportMetricOutput.d.ts +1 -1
  57. package/dist/generated/models/CovalReportsAPIReportMetricOutput.d.ts.map +1 -1
  58. package/dist/generated/models/CovalReportsAPIReportMetricOutputValue.d.ts +3 -8
  59. package/dist/generated/models/CovalReportsAPIReportMetricOutputValue.d.ts.map +1 -1
  60. package/dist/generated/models/CovalReportsAPIReportMetricOutputValue.js +30 -8
  61. package/dist/generated/models/CovalReportsAPIReportMetricOutputValue.js.map +1 -1
  62. package/dist/generated/models/CovalReportsAPIReportViewConfiguration.d.ts +104 -0
  63. package/dist/generated/models/CovalReportsAPIReportViewConfiguration.d.ts.map +1 -0
  64. package/dist/generated/models/CovalReportsAPIReportViewConfiguration.js +100 -0
  65. package/dist/generated/models/CovalReportsAPIReportViewConfiguration.js.map +1 -0
  66. package/dist/generated/models/CovalReportsAPIReportViewConfigurationPatch.d.ts +104 -0
  67. package/dist/generated/models/CovalReportsAPIReportViewConfigurationPatch.d.ts.map +1 -0
  68. package/dist/generated/models/CovalReportsAPIReportViewConfigurationPatch.js +84 -0
  69. package/dist/generated/models/CovalReportsAPIReportViewConfigurationPatch.js.map +1 -0
  70. package/dist/generated/models/CovalReportsAPIUpdateReportRequest.d.ts +10 -0
  71. package/dist/generated/models/CovalReportsAPIUpdateReportRequest.d.ts.map +1 -1
  72. package/dist/generated/models/CovalReportsAPIUpdateReportRequest.js +3 -0
  73. package/dist/generated/models/CovalReportsAPIUpdateReportRequest.js.map +1 -1
  74. package/dist/generated/models/CovalReportsAPIUpdateReportResponse.d.ts +3 -3
  75. package/dist/generated/models/CovalReportsAPIUpdateReportResponse.d.ts.map +1 -1
  76. package/dist/generated/models/CovalReportsAPIUpdateReportResponse.js +3 -3
  77. package/dist/generated/models/CovalReportsAPIUpdateReportResponse.js.map +1 -1
  78. package/dist/generated/models/TracesAPITraceSearchAggregateStats.d.ts +39 -0
  79. package/dist/generated/models/TracesAPITraceSearchAggregateStats.d.ts.map +1 -0
  80. package/dist/generated/models/TracesAPITraceSearchAggregateStats.js +48 -0
  81. package/dist/generated/models/TracesAPITraceSearchAggregateStats.js.map +1 -0
  82. package/dist/generated/models/TracesAPITraceSearchAttributeFilter.d.ts +58 -0
  83. package/dist/generated/models/TracesAPITraceSearchAttributeFilter.d.ts.map +1 -0
  84. package/dist/generated/models/TracesAPITraceSearchAttributeFilter.js +60 -0
  85. package/dist/generated/models/TracesAPITraceSearchAttributeFilter.js.map +1 -0
  86. package/dist/generated/models/TracesAPITraceSearchCallResult.d.ts +120 -0
  87. package/dist/generated/models/TracesAPITraceSearchCallResult.d.ts.map +1 -0
  88. package/dist/generated/models/TracesAPITraceSearchCallResult.js +96 -0
  89. package/dist/generated/models/TracesAPITraceSearchCallResult.js.map +1 -0
  90. package/dist/generated/models/TracesAPITraceSearchFilters.d.ts +113 -0
  91. package/dist/generated/models/TracesAPITraceSearchFilters.d.ts.map +1 -0
  92. package/dist/generated/models/TracesAPITraceSearchFilters.js +80 -0
  93. package/dist/generated/models/TracesAPITraceSearchFilters.js.map +1 -0
  94. package/dist/generated/models/TracesAPITraceSearchRequest.d.ts +46 -0
  95. package/dist/generated/models/TracesAPITraceSearchRequest.d.ts.map +1 -0
  96. package/dist/generated/models/TracesAPITraceSearchRequest.js +47 -0
  97. package/dist/generated/models/TracesAPITraceSearchRequest.js.map +1 -0
  98. package/dist/generated/models/TracesAPITraceSearchResponse.d.ts +53 -0
  99. package/dist/generated/models/TracesAPITraceSearchResponse.d.ts.map +1 -0
  100. package/dist/generated/models/TracesAPITraceSearchResponse.js +56 -0
  101. package/dist/generated/models/TracesAPITraceSearchResponse.js.map +1 -0
  102. package/dist/generated/models/index.d.ts +12 -0
  103. package/dist/generated/models/index.d.ts.map +1 -1
  104. package/dist/generated/models/index.js +12 -0
  105. package/dist/generated/models/index.js.map +1 -1
  106. package/dist/index.d.ts +2 -0
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +1 -0
  109. package/dist/index.js.map +1 -1
  110. package/dist/retry.d.ts +5 -0
  111. package/dist/retry.d.ts.map +1 -1
  112. package/dist/retry.js +20 -0
  113. package/dist/retry.js.map +1 -1
  114. package/dist/stats.d.ts +13 -0
  115. package/dist/stats.d.ts.map +1 -0
  116. package/dist/stats.js +13 -0
  117. package/dist/stats.js.map +1 -0
  118. package/package.json +1 -1
  119. package/src/CovalClient.ts +20 -1
  120. package/src/generated/apis/ConversationsApi.ts +8 -8
  121. package/src/generated/apis/ReportsApi.ts +21 -14
  122. package/src/generated/apis/TracesApi.ts +84 -0
  123. package/src/generated/models/CovalAgentsAPICreateAgentRequest.ts +23 -0
  124. package/src/generated/models/CovalAgentsAPISimulatorType.ts +4 -0
  125. package/src/generated/models/CovalConversationsAPIPatchConversationRequest.ts +27 -4
  126. package/src/generated/models/CovalOrganizationAPIConversationMetricRule.ts +3 -2
  127. package/src/generated/models/CovalOrganizationAPIConversationMetricRuleMetadataValue.ts +1 -1
  128. package/src/generated/models/CovalReportsAPIError.ts +1 -0
  129. package/src/generated/models/CovalReportsAPIGetReportResponse.ts +10 -10
  130. package/src/generated/models/CovalReportsAPIMonitoringFiltersConfiguration.ts +84 -0
  131. package/src/generated/models/CovalReportsAPIMonitoringFiltersPatch.ts +81 -0
  132. package/src/generated/models/CovalReportsAPIReportDetail.ts +204 -0
  133. package/src/generated/models/CovalReportsAPIReportMetricConfigurationEntry.ts +76 -0
  134. package/src/generated/models/CovalReportsAPIReportMetricOutput.ts +1 -1
  135. package/src/generated/models/CovalReportsAPIReportMetricOutputValue.ts +33 -14
  136. package/src/generated/models/CovalReportsAPIReportViewConfiguration.ts +167 -0
  137. package/src/generated/models/CovalReportsAPIReportViewConfigurationPatch.ts +158 -0
  138. package/src/generated/models/CovalReportsAPIUpdateReportRequest.ts +18 -0
  139. package/src/generated/models/CovalReportsAPIUpdateReportResponse.ts +10 -10
  140. package/src/generated/models/TracesAPITraceSearchAggregateStats.ts +75 -0
  141. package/src/generated/models/TracesAPITraceSearchAttributeFilter.ts +98 -0
  142. package/src/generated/models/TracesAPITraceSearchCallResult.ts +191 -0
  143. package/src/generated/models/TracesAPITraceSearchFilters.ts +176 -0
  144. package/src/generated/models/TracesAPITraceSearchRequest.ts +89 -0
  145. package/src/generated/models/TracesAPITraceSearchResponse.ts +107 -0
  146. package/src/generated/models/index.ts +12 -0
  147. package/src/index.ts +2 -0
  148. package/src/retry.ts +24 -0
  149. 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
+ }