@coval/sdk 0.4.6 → 0.5.0

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 (118) hide show
  1. package/dist/generated/apis/ConversationsApi.d.ts +27 -5
  2. package/dist/generated/apis/ConversationsApi.d.ts.map +1 -1
  3. package/dist/generated/apis/ConversationsApi.js +22 -2
  4. package/dist/generated/apis/ConversationsApi.js.map +1 -1
  5. package/dist/generated/apis/MetricOutputsApi.d.ts +11 -0
  6. package/dist/generated/apis/MetricOutputsApi.d.ts.map +1 -1
  7. package/dist/generated/apis/MetricOutputsApi.js +10 -0
  8. package/dist/generated/apis/MetricOutputsApi.js.map +1 -1
  9. package/dist/generated/apis/MetricsApi.d.ts +12 -12
  10. package/dist/generated/apis/MetricsApi.js +6 -6
  11. package/dist/generated/apis/SimulationsApi.d.ts +4 -4
  12. package/dist/generated/apis/SimulationsApi.js +2 -2
  13. package/dist/generated/models/CovalAgentsAPISimulatorType.d.ts +2 -0
  14. package/dist/generated/models/CovalAgentsAPISimulatorType.d.ts.map +1 -1
  15. package/dist/generated/models/CovalAgentsAPISimulatorType.js +3 -1
  16. package/dist/generated/models/CovalAgentsAPISimulatorType.js.map +1 -1
  17. package/dist/generated/models/CovalConversationsAPIFilteredSubmitResponse.d.ts +47 -0
  18. package/dist/generated/models/CovalConversationsAPIFilteredSubmitResponse.d.ts.map +1 -0
  19. package/dist/generated/models/CovalConversationsAPIFilteredSubmitResponse.js +52 -0
  20. package/dist/generated/models/CovalConversationsAPIFilteredSubmitResponse.js.map +1 -0
  21. package/dist/generated/models/CovalConversationsAPISubmitConversationRequest.d.ts +6 -0
  22. package/dist/generated/models/CovalConversationsAPISubmitConversationRequest.d.ts.map +1 -1
  23. package/dist/generated/models/CovalConversationsAPISubmitConversationRequest.js.map +1 -1
  24. package/dist/generated/models/CovalDashboardsAPIChartWidgetConfig.d.ts +6 -0
  25. package/dist/generated/models/CovalDashboardsAPIChartWidgetConfig.d.ts.map +1 -1
  26. package/dist/generated/models/CovalDashboardsAPIChartWidgetConfig.js +2 -0
  27. package/dist/generated/models/CovalDashboardsAPIChartWidgetConfig.js.map +1 -1
  28. package/dist/generated/models/CovalDashboardsAPITableWidgetConfig.d.ts +6 -0
  29. package/dist/generated/models/CovalDashboardsAPITableWidgetConfig.d.ts.map +1 -1
  30. package/dist/generated/models/CovalDashboardsAPITableWidgetConfig.js +2 -0
  31. package/dist/generated/models/CovalDashboardsAPITableWidgetConfig.js.map +1 -1
  32. package/dist/generated/models/CovalDashboardsAPIUpdateWidgetRequest.d.ts +1 -1
  33. package/dist/generated/models/CovalDashboardsAPIWidgetConfig.d.ts +6 -0
  34. package/dist/generated/models/CovalDashboardsAPIWidgetConfig.d.ts.map +1 -1
  35. package/dist/generated/models/CovalDashboardsAPIWidgetConfig.js +2 -0
  36. package/dist/generated/models/CovalDashboardsAPIWidgetConfig.js.map +1 -1
  37. package/dist/generated/models/CovalMetricsAPICreateMetricRequest.d.ts +127 -1
  38. package/dist/generated/models/CovalMetricsAPICreateMetricRequest.d.ts.map +1 -1
  39. package/dist/generated/models/CovalMetricsAPICreateMetricRequest.js +71 -1
  40. package/dist/generated/models/CovalMetricsAPICreateMetricRequest.js.map +1 -1
  41. package/dist/generated/models/CovalMetricsAPICreateMetricRequestExpectedBody.d.ts +24 -0
  42. package/dist/generated/models/CovalMetricsAPICreateMetricRequestExpectedBody.d.ts.map +1 -0
  43. package/dist/generated/models/CovalMetricsAPICreateMetricRequestExpectedBody.js +38 -0
  44. package/dist/generated/models/CovalMetricsAPICreateMetricRequestExpectedBody.js.map +1 -0
  45. package/dist/generated/models/CovalMetricsAPIMetricResource.d.ts +125 -1
  46. package/dist/generated/models/CovalMetricsAPIMetricResource.d.ts.map +1 -1
  47. package/dist/generated/models/CovalMetricsAPIMetricResource.js +69 -1
  48. package/dist/generated/models/CovalMetricsAPIMetricResource.js.map +1 -1
  49. package/dist/generated/models/CovalMetricsAPIMetricResourceExpectedBody.d.ts +24 -0
  50. package/dist/generated/models/CovalMetricsAPIMetricResourceExpectedBody.d.ts.map +1 -0
  51. package/dist/generated/models/CovalMetricsAPIMetricResourceExpectedBody.js +38 -0
  52. package/dist/generated/models/CovalMetricsAPIMetricResourceExpectedBody.js.map +1 -0
  53. package/dist/generated/models/CovalMetricsAPIMetricThresholdResource.d.ts +6 -0
  54. package/dist/generated/models/CovalMetricsAPIMetricThresholdResource.d.ts.map +1 -1
  55. package/dist/generated/models/CovalMetricsAPIMetricThresholdResource.js +4 -0
  56. package/dist/generated/models/CovalMetricsAPIMetricThresholdResource.js.map +1 -1
  57. package/dist/generated/models/CovalMetricsAPIMetricType.d.ts +10 -0
  58. package/dist/generated/models/CovalMetricsAPIMetricType.d.ts.map +1 -1
  59. package/dist/generated/models/CovalMetricsAPIMetricType.js +11 -1
  60. package/dist/generated/models/CovalMetricsAPIMetricType.js.map +1 -1
  61. package/dist/generated/models/CovalMetricsAPIUpdateMetricRequest.d.ts +126 -0
  62. package/dist/generated/models/CovalMetricsAPIUpdateMetricRequest.d.ts.map +1 -1
  63. package/dist/generated/models/CovalMetricsAPIUpdateMetricRequest.js +71 -1
  64. package/dist/generated/models/CovalMetricsAPIUpdateMetricRequest.js.map +1 -1
  65. package/dist/generated/models/CovalPersonasAPIAudioDegradationConfig.d.ts +57 -0
  66. package/dist/generated/models/CovalPersonasAPIAudioDegradationConfig.d.ts.map +1 -0
  67. package/dist/generated/models/CovalPersonasAPIAudioDegradationConfig.js +54 -0
  68. package/dist/generated/models/CovalPersonasAPIAudioDegradationConfig.js.map +1 -0
  69. package/dist/generated/models/CovalPersonasAPICreatePersonaRequest.d.ts +11 -0
  70. package/dist/generated/models/CovalPersonasAPICreatePersonaRequest.d.ts.map +1 -1
  71. package/dist/generated/models/CovalPersonasAPICreatePersonaRequest.js +3 -0
  72. package/dist/generated/models/CovalPersonasAPICreatePersonaRequest.js.map +1 -1
  73. package/dist/generated/models/CovalPersonasAPIPersonaResource.d.ts +7 -0
  74. package/dist/generated/models/CovalPersonasAPIPersonaResource.d.ts.map +1 -1
  75. package/dist/generated/models/CovalPersonasAPIPersonaResource.js +3 -0
  76. package/dist/generated/models/CovalPersonasAPIPersonaResource.js.map +1 -1
  77. package/dist/generated/models/CovalPersonasAPIUpdatePersonaRequest.d.ts +12 -0
  78. package/dist/generated/models/CovalPersonasAPIUpdatePersonaRequest.d.ts.map +1 -1
  79. package/dist/generated/models/CovalPersonasAPIUpdatePersonaRequest.js +3 -0
  80. package/dist/generated/models/CovalPersonasAPIUpdatePersonaRequest.js.map +1 -1
  81. package/dist/generated/models/CovalSimulationsAPIErrorInfo.d.ts +1 -0
  82. package/dist/generated/models/CovalSimulationsAPIErrorInfo.d.ts.map +1 -1
  83. package/dist/generated/models/CovalSimulationsAPIErrorInfo.js +1 -0
  84. package/dist/generated/models/CovalSimulationsAPIErrorInfo.js.map +1 -1
  85. package/dist/generated/models/SubmitConversation200Response.d.ts +24 -0
  86. package/dist/generated/models/SubmitConversation200Response.d.ts.map +1 -0
  87. package/dist/generated/models/SubmitConversation200Response.js +52 -0
  88. package/dist/generated/models/SubmitConversation200Response.js.map +1 -0
  89. package/dist/generated/models/index.d.ts +5 -0
  90. package/dist/generated/models/index.d.ts.map +1 -1
  91. package/dist/generated/models/index.js +5 -0
  92. package/dist/generated/models/index.js.map +1 -1
  93. package/package.json +1 -1
  94. package/src/generated/apis/ConversationsApi.ts +40 -10
  95. package/src/generated/apis/MetricOutputsApi.ts +16 -0
  96. package/src/generated/apis/MetricsApi.ts +12 -12
  97. package/src/generated/apis/SimulationsApi.ts +4 -4
  98. package/src/generated/models/CovalAgentsAPISimulatorType.ts +3 -1
  99. package/src/generated/models/CovalConversationsAPIFilteredSubmitResponse.ts +86 -0
  100. package/src/generated/models/CovalConversationsAPISubmitConversationRequest.ts +6 -0
  101. package/src/generated/models/CovalDashboardsAPIChartWidgetConfig.ts +8 -0
  102. package/src/generated/models/CovalDashboardsAPITableWidgetConfig.ts +8 -0
  103. package/src/generated/models/CovalDashboardsAPIUpdateWidgetRequest.ts +1 -1
  104. package/src/generated/models/CovalDashboardsAPIWidgetConfig.ts +8 -0
  105. package/src/generated/models/CovalMetricsAPICreateMetricRequest.ts +164 -2
  106. package/src/generated/models/CovalMetricsAPICreateMetricRequestExpectedBody.ts +49 -0
  107. package/src/generated/models/CovalMetricsAPIMetricResource.ts +161 -1
  108. package/src/generated/models/CovalMetricsAPIMetricResourceExpectedBody.ts +49 -0
  109. package/src/generated/models/CovalMetricsAPIMetricThresholdResource.ts +9 -0
  110. package/src/generated/models/CovalMetricsAPIMetricType.ts +11 -1
  111. package/src/generated/models/CovalMetricsAPIUpdateMetricRequest.ts +163 -1
  112. package/src/generated/models/CovalPersonasAPIAudioDegradationConfig.ts +95 -0
  113. package/src/generated/models/CovalPersonasAPICreatePersonaRequest.ts +20 -0
  114. package/src/generated/models/CovalPersonasAPIPersonaResource.ts +16 -0
  115. package/src/generated/models/CovalPersonasAPIUpdatePersonaRequest.ts +21 -0
  116. package/src/generated/models/CovalSimulationsAPIErrorInfo.ts +1 -0
  117. package/src/generated/models/SubmitConversation200Response.ts +76 -0
  118. package/src/generated/models/index.ts +5 -0
@@ -41,6 +41,13 @@ import {
41
41
  CovalMetricsAPIMetadataFieldTypeToJSON,
42
42
  CovalMetricsAPIMetadataFieldTypeToJSONTyped,
43
43
  } from './CovalMetricsAPIMetadataFieldType.js';
44
+ import type { CovalMetricsAPIMetricResourceExpectedBody } from './CovalMetricsAPIMetricResourceExpectedBody.js';
45
+ import {
46
+ CovalMetricsAPIMetricResourceExpectedBodyFromJSON,
47
+ CovalMetricsAPIMetricResourceExpectedBodyFromJSONTyped,
48
+ CovalMetricsAPIMetricResourceExpectedBodyToJSON,
49
+ CovalMetricsAPIMetricResourceExpectedBodyToJSONTyped,
50
+ } from './CovalMetricsAPIMetricResourceExpectedBody.js';
44
51
  import type { CovalMetricsAPIMetricType } from './CovalMetricsAPIMetricType.js';
45
52
  import {
46
53
  CovalMetricsAPIMetricTypeFromJSON,
@@ -139,6 +146,84 @@ export interface CovalMetricsAPIMetricResource {
139
146
  * @memberof CovalMetricsAPIMetricResource
140
147
  */
141
148
  min_pause_duration_seconds?: number | null;
149
+ /**
150
+ *
151
+ * @type {number}
152
+ * @memberof CovalMetricsAPIMetricResource
153
+ */
154
+ max_silence_duration_seconds?: number | null;
155
+ /**
156
+ *
157
+ * @type {number}
158
+ * @memberof CovalMetricsAPIMetricResource
159
+ */
160
+ min_silence_gap_seconds?: number | null;
161
+ /**
162
+ *
163
+ * @type {number}
164
+ * @memberof CovalMetricsAPIMetricResource
165
+ */
166
+ frequency_threshold?: number | null;
167
+ /**
168
+ *
169
+ * @type {CovalMetricsAPIMetricResourceDirectionEnum}
170
+ * @memberof CovalMetricsAPIMetricResource
171
+ */
172
+ direction?: CovalMetricsAPIMetricResourceDirectionEnum | null;
173
+ /**
174
+ *
175
+ * @type {Array<CovalMetricsAPIMetricResourceSuccessSentimentsEnum>}
176
+ * @memberof CovalMetricsAPIMetricResource
177
+ */
178
+ success_sentiments?: Array<CovalMetricsAPIMetricResourceSuccessSentimentsEnum> | null;
179
+ /**
180
+ *
181
+ * @type {number}
182
+ * @memberof CovalMetricsAPIMetricResource
183
+ */
184
+ percent_above?: number | null;
185
+ /**
186
+ *
187
+ * @type {Array<CovalMetricsAPIMetricResourceSuccessEndReasonsEnum>}
188
+ * @memberof CovalMetricsAPIMetricResource
189
+ */
190
+ success_end_reasons?: Array<CovalMetricsAPIMetricResourceSuccessEndReasonsEnum> | null;
191
+ /**
192
+ *
193
+ * @type {string}
194
+ * @memberof CovalMetricsAPIMetricResource
195
+ */
196
+ observation_name?: string | null;
197
+ /**
198
+ *
199
+ * @type {CovalMetricsAPIMetricResourceExpectedBody}
200
+ * @memberof CovalMetricsAPIMetricResource
201
+ */
202
+ expected_body?: CovalMetricsAPIMetricResourceExpectedBody | null;
203
+ /**
204
+ * Optional dot path; brackets contain an integer index or comma-separated key=value filters.
205
+ * @type {string}
206
+ * @memberof CovalMetricsAPIMetricResource
207
+ */
208
+ match_path?: string | null;
209
+ /**
210
+ *
211
+ * @type {number}
212
+ * @memberof CovalMetricsAPIMetricResource
213
+ */
214
+ min_volume_change_for_pitch_misalignment?: number | null;
215
+ /**
216
+ *
217
+ * @type {number}
218
+ * @memberof CovalMetricsAPIMetricResource
219
+ */
220
+ threshold?: number | null;
221
+ /**
222
+ *
223
+ * @type {CovalMetricsAPIMetricResourceOperatorEnum}
224
+ * @memberof CovalMetricsAPIMetricResource
225
+ */
226
+ operator?: CovalMetricsAPIMetricResourceOperatorEnum | null;
142
227
  /**
143
228
  * SQL query that defines the metric (for METRIC_SQL_FLOAT)
144
229
  * @type {string}
@@ -239,10 +324,59 @@ export interface CovalMetricsAPIMetricResource {
239
324
  */
240
325
  export const CovalMetricsAPIMetricResourceRoleEnum = {
241
326
  Agent: 'agent',
242
- User: 'user'
327
+ Persona: 'persona'
243
328
  } as const;
244
329
  export type CovalMetricsAPIMetricResourceRoleEnum = typeof CovalMetricsAPIMetricResourceRoleEnum[keyof typeof CovalMetricsAPIMetricResourceRoleEnum];
245
330
 
331
+ /**
332
+ * @export
333
+ */
334
+ export const CovalMetricsAPIMetricResourceDirectionEnum = {
335
+ Above: 'above',
336
+ Below: 'below'
337
+ } as const;
338
+ export type CovalMetricsAPIMetricResourceDirectionEnum = typeof CovalMetricsAPIMetricResourceDirectionEnum[keyof typeof CovalMetricsAPIMetricResourceDirectionEnum];
339
+
340
+ /**
341
+ * @export
342
+ */
343
+ export const CovalMetricsAPIMetricResourceSuccessSentimentsEnum = {
344
+ Neutral: 'Neutral',
345
+ Happy: 'Happy',
346
+ Angry: 'Angry',
347
+ Sad: 'Sad'
348
+ } as const;
349
+ export type CovalMetricsAPIMetricResourceSuccessSentimentsEnum = typeof CovalMetricsAPIMetricResourceSuccessSentimentsEnum[keyof typeof CovalMetricsAPIMetricResourceSuccessSentimentsEnum];
350
+
351
+ /**
352
+ * @export
353
+ */
354
+ export const CovalMetricsAPIMetricResourceSuccessEndReasonsEnum = {
355
+ Unknown: 'UNKNOWN',
356
+ IdleTimeout: 'IDLE_TIMEOUT',
357
+ PersonaDisconnected: 'PERSONA_DISCONNECTED',
358
+ AgentDisconnected: 'AGENT_DISCONNECTED',
359
+ PipelineError: 'PIPELINE_ERROR',
360
+ RepetitionLoop: 'REPETITION_LOOP',
361
+ AudioUploadPlaybackCompleted: 'AUDIO_UPLOAD_PLAYBACK_COMPLETED',
362
+ ScriptCompleted: 'SCRIPT_COMPLETED',
363
+ ScriptDiverged: 'SCRIPT_DIVERGED'
364
+ } as const;
365
+ export type CovalMetricsAPIMetricResourceSuccessEndReasonsEnum = typeof CovalMetricsAPIMetricResourceSuccessEndReasonsEnum[keyof typeof CovalMetricsAPIMetricResourceSuccessEndReasonsEnum];
366
+
367
+ /**
368
+ * @export
369
+ */
370
+ export const CovalMetricsAPIMetricResourceOperatorEnum = {
371
+ LessThan: '<',
372
+ LessThanOrEqualTo: '<=',
373
+ GreaterThan: '>',
374
+ GreaterThanOrEqualTo: '>=',
375
+ DoubleEqual: '==',
376
+ NotEqual: '!='
377
+ } as const;
378
+ export type CovalMetricsAPIMetricResourceOperatorEnum = typeof CovalMetricsAPIMetricResourceOperatorEnum[keyof typeof CovalMetricsAPIMetricResourceOperatorEnum];
379
+
246
380
  /**
247
381
  * @export
248
382
  */
@@ -295,6 +429,19 @@ export function CovalMetricsAPIMetricResourceFromJSONTyped(json: any, ignoreDisc
295
429
  'regex_pattern': json['regex_pattern'] == null ? undefined : json['regex_pattern'],
296
430
  'role': json['role'] == null ? undefined : json['role'],
297
431
  'min_pause_duration_seconds': json['min_pause_duration_seconds'] == null ? undefined : json['min_pause_duration_seconds'],
432
+ 'max_silence_duration_seconds': json['max_silence_duration_seconds'] == null ? undefined : json['max_silence_duration_seconds'],
433
+ 'min_silence_gap_seconds': json['min_silence_gap_seconds'] == null ? undefined : json['min_silence_gap_seconds'],
434
+ 'frequency_threshold': json['frequency_threshold'] == null ? undefined : json['frequency_threshold'],
435
+ 'direction': json['direction'] == null ? undefined : json['direction'],
436
+ 'success_sentiments': json['success_sentiments'] == null ? undefined : json['success_sentiments'],
437
+ 'percent_above': json['percent_above'] == null ? undefined : json['percent_above'],
438
+ 'success_end_reasons': json['success_end_reasons'] == null ? undefined : json['success_end_reasons'],
439
+ 'observation_name': json['observation_name'] == null ? undefined : json['observation_name'],
440
+ 'expected_body': json['expected_body'] == null ? undefined : CovalMetricsAPIMetricResourceExpectedBodyFromJSON(json['expected_body']),
441
+ 'match_path': json['match_path'] == null ? undefined : json['match_path'],
442
+ 'min_volume_change_for_pitch_misalignment': json['min_volume_change_for_pitch_misalignment'] == null ? undefined : json['min_volume_change_for_pitch_misalignment'],
443
+ 'threshold': json['threshold'] == null ? undefined : json['threshold'],
444
+ 'operator': json['operator'] == null ? undefined : json['operator'],
298
445
  'sql_query': json['sql_query'] == null ? undefined : json['sql_query'],
299
446
  'criteria_source': json['criteria_source'] == null ? undefined : json['criteria_source'],
300
447
  'criteria_path': json['criteria_path'] == null ? undefined : json['criteria_path'],
@@ -337,6 +484,19 @@ export function CovalMetricsAPIMetricResourceToJSONTyped(value?: CovalMetricsAPI
337
484
  'regex_pattern': value['regex_pattern'],
338
485
  'role': value['role'],
339
486
  'min_pause_duration_seconds': value['min_pause_duration_seconds'],
487
+ 'max_silence_duration_seconds': value['max_silence_duration_seconds'],
488
+ 'min_silence_gap_seconds': value['min_silence_gap_seconds'],
489
+ 'frequency_threshold': value['frequency_threshold'],
490
+ 'direction': value['direction'],
491
+ 'success_sentiments': value['success_sentiments'],
492
+ 'percent_above': value['percent_above'],
493
+ 'success_end_reasons': value['success_end_reasons'],
494
+ 'observation_name': value['observation_name'],
495
+ 'expected_body': CovalMetricsAPIMetricResourceExpectedBodyToJSON(value['expected_body']),
496
+ 'match_path': value['match_path'],
497
+ 'min_volume_change_for_pitch_misalignment': value['min_volume_change_for_pitch_misalignment'],
498
+ 'threshold': value['threshold'],
499
+ 'operator': value['operator'],
340
500
  'sql_query': value['sql_query'],
341
501
  'criteria_source': value['criteria_source'],
342
502
  'criteria_path': value['criteria_path'],
@@ -0,0 +1,49 @@
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
+ /**
16
+ * @type CovalMetricsAPIMetricResourceExpectedBody
17
+ *
18
+ * @export
19
+ */
20
+ export type CovalMetricsAPIMetricResourceExpectedBody = string | { [key: string]: any; };
21
+
22
+ export function CovalMetricsAPIMetricResourceExpectedBodyFromJSON(json: any): CovalMetricsAPIMetricResourceExpectedBody {
23
+ return CovalMetricsAPIMetricResourceExpectedBodyFromJSONTyped(json, false);
24
+ }
25
+
26
+ export function CovalMetricsAPIMetricResourceExpectedBodyFromJSONTyped(json: any, ignoreDiscriminator: boolean): CovalMetricsAPIMetricResourceExpectedBody {
27
+ if (json == null) {
28
+ return json;
29
+ }
30
+ if (typeof json === 'string') {
31
+ return json;
32
+ }
33
+ return {} as any;
34
+ }
35
+
36
+ export function CovalMetricsAPIMetricResourceExpectedBodyToJSON(json: any): any {
37
+ return CovalMetricsAPIMetricResourceExpectedBodyToJSONTyped(json, false);
38
+ }
39
+
40
+ export function CovalMetricsAPIMetricResourceExpectedBodyToJSONTyped(value?: CovalMetricsAPIMetricResourceExpectedBody | null, ignoreDiscriminator: boolean = false): any {
41
+ if (value == null) {
42
+ return value;
43
+ }
44
+ if (typeof value === 'string') {
45
+ return value;
46
+ }
47
+ return {};
48
+ }
49
+
@@ -34,6 +34,12 @@ import {
34
34
  * @interface CovalMetricsAPIMetricThresholdResource
35
35
  */
36
36
  export interface CovalMetricsAPIMetricThresholdResource {
37
+ /**
38
+ * 26-character threshold ULID; null when no threshold is configured
39
+ * @type {string}
40
+ * @memberof CovalMetricsAPIMetricThresholdResource
41
+ */
42
+ id: string | null;
37
43
  /**
38
44
  * Resource name: "metrics/{metric_id}/threshold"
39
45
  * @type {string}
@@ -90,6 +96,7 @@ export interface CovalMetricsAPIMetricThresholdResource {
90
96
  * Check if a given object implements the CovalMetricsAPIMetricThresholdResource interface.
91
97
  */
92
98
  export function instanceOfCovalMetricsAPIMetricThresholdResource(value: object): value is CovalMetricsAPIMetricThresholdResource {
99
+ if (!('id' in value) || value['id'] === undefined) return false;
93
100
  return true;
94
101
  }
95
102
 
@@ -103,6 +110,7 @@ export function CovalMetricsAPIMetricThresholdResourceFromJSONTyped(json: any, i
103
110
  }
104
111
  return {
105
112
 
113
+ 'id': json['id'],
106
114
  'name': json['name'] == null ? undefined : json['name'],
107
115
  'comparison_operator': json['comparison_operator'] == null ? undefined : CovalMetricsAPIComparisonOperatorFromJSON(json['comparison_operator']),
108
116
  'target_float_upper': json['target_float_upper'] == null ? undefined : json['target_float_upper'],
@@ -125,6 +133,7 @@ export function CovalMetricsAPIMetricThresholdResourceToJSONTyped(value?: CovalM
125
133
 
126
134
  return {
127
135
 
136
+ 'id': value['id'],
128
137
  'name': value['name'],
129
138
  'comparison_operator': CovalMetricsAPIComparisonOperatorToJSON(value['comparison_operator']),
130
139
  'target_float_upper': value['target_float_upper'],
@@ -44,7 +44,17 @@ export const CovalMetricsAPIMetricType = {
44
44
  MetricTranscriptRegex: 'METRIC_TRANSCRIPT_REGEX',
45
45
  MetricPauseAnalysis: 'METRIC_PAUSE_ANALYSIS',
46
46
  MetricSqlFloat: 'METRIC_SQL_FLOAT',
47
- MetricCompositeEvaluation: 'METRIC_COMPOSITE_EVALUATION'
47
+ MetricCompositeEvaluation: 'METRIC_COMPOSITE_EVALUATION',
48
+ MetricCustomAgentFailsToRespond: 'METRIC_CUSTOM_AGENT_FAILS_TO_RESPOND',
49
+ MetricCustomAgentNeedsReprompting: 'METRIC_CUSTOM_AGENT_NEEDS_REPROMPTING',
50
+ MetricCustomAudioFrequency: 'METRIC_CUSTOM_AUDIO_FREQUENCY',
51
+ MetricCustomAudioSentiment: 'METRIC_CUSTOM_AUDIO_SENTIMENT',
52
+ MetricCustomEndReason: 'METRIC_CUSTOM_END_REASON',
53
+ MetricMatchExpectedOutput: 'METRIC_MATCH_EXPECTED_OUTPUT',
54
+ MetricSpeakingTimePercentage: 'METRIC_SPEAKING_TIME_PERCENTAGE',
55
+ MetricSpectrogramPitchAnalysis: 'METRIC_SPECTROGRAM_PITCH_ANALYSIS',
56
+ MetricVolumePitchMisalignment: 'METRIC_VOLUME_PITCH_MISALIGNMENT',
57
+ MetricWordsPerMessageWithThreshold: 'METRIC_WORDS_PER_MESSAGE_WITH_THRESHOLD'
48
58
  } as const;
49
59
  export type CovalMetricsAPIMetricType = typeof CovalMetricsAPIMetricType[keyof typeof CovalMetricsAPIMetricType];
50
60
 
@@ -20,6 +20,13 @@ import {
20
20
  CovalMetricsAPIMetricRuntimeConfigToJSON,
21
21
  CovalMetricsAPIMetricRuntimeConfigToJSONTyped,
22
22
  } from './CovalMetricsAPIMetricRuntimeConfig.js';
23
+ import type { CovalMetricsAPICreateMetricRequestExpectedBody } from './CovalMetricsAPICreateMetricRequestExpectedBody.js';
24
+ import {
25
+ CovalMetricsAPICreateMetricRequestExpectedBodyFromJSON,
26
+ CovalMetricsAPICreateMetricRequestExpectedBodyFromJSONTyped,
27
+ CovalMetricsAPICreateMetricRequestExpectedBodyToJSON,
28
+ CovalMetricsAPICreateMetricRequestExpectedBodyToJSONTyped,
29
+ } from './CovalMetricsAPICreateMetricRequestExpectedBody.js';
23
30
  import type { CovalMetricsAPITargetCondition } from './CovalMetricsAPITargetCondition.js';
24
31
  import {
25
32
  CovalMetricsAPITargetConditionFromJSON,
@@ -120,6 +127,84 @@ export interface CovalMetricsAPIUpdateMetricRequest {
120
127
  * @memberof CovalMetricsAPIUpdateMetricRequest
121
128
  */
122
129
  min_pause_duration_seconds?: number;
130
+ /**
131
+ *
132
+ * @type {number}
133
+ * @memberof CovalMetricsAPIUpdateMetricRequest
134
+ */
135
+ max_silence_duration_seconds?: number;
136
+ /**
137
+ *
138
+ * @type {number}
139
+ * @memberof CovalMetricsAPIUpdateMetricRequest
140
+ */
141
+ min_silence_gap_seconds?: number;
142
+ /**
143
+ *
144
+ * @type {number}
145
+ * @memberof CovalMetricsAPIUpdateMetricRequest
146
+ */
147
+ frequency_threshold?: number;
148
+ /**
149
+ *
150
+ * @type {CovalMetricsAPIUpdateMetricRequestDirectionEnum}
151
+ * @memberof CovalMetricsAPIUpdateMetricRequest
152
+ */
153
+ direction?: CovalMetricsAPIUpdateMetricRequestDirectionEnum;
154
+ /**
155
+ *
156
+ * @type {Array<CovalMetricsAPIUpdateMetricRequestSuccessSentimentsEnum>}
157
+ * @memberof CovalMetricsAPIUpdateMetricRequest
158
+ */
159
+ success_sentiments?: Array<CovalMetricsAPIUpdateMetricRequestSuccessSentimentsEnum>;
160
+ /**
161
+ *
162
+ * @type {number}
163
+ * @memberof CovalMetricsAPIUpdateMetricRequest
164
+ */
165
+ percent_above?: number;
166
+ /**
167
+ *
168
+ * @type {Array<CovalMetricsAPIUpdateMetricRequestSuccessEndReasonsEnum>}
169
+ * @memberof CovalMetricsAPIUpdateMetricRequest
170
+ */
171
+ success_end_reasons?: Array<CovalMetricsAPIUpdateMetricRequestSuccessEndReasonsEnum>;
172
+ /**
173
+ *
174
+ * @type {string}
175
+ * @memberof CovalMetricsAPIUpdateMetricRequest
176
+ */
177
+ observation_name?: string;
178
+ /**
179
+ *
180
+ * @type {CovalMetricsAPICreateMetricRequestExpectedBody}
181
+ * @memberof CovalMetricsAPIUpdateMetricRequest
182
+ */
183
+ expected_body?: CovalMetricsAPICreateMetricRequestExpectedBody;
184
+ /**
185
+ * Optional dot path; brackets must contain an integer index or comma-separated key=value filters.
186
+ * @type {string}
187
+ * @memberof CovalMetricsAPIUpdateMetricRequest
188
+ */
189
+ match_path?: string;
190
+ /**
191
+ *
192
+ * @type {number}
193
+ * @memberof CovalMetricsAPIUpdateMetricRequest
194
+ */
195
+ min_volume_change_for_pitch_misalignment?: number;
196
+ /**
197
+ *
198
+ * @type {number}
199
+ * @memberof CovalMetricsAPIUpdateMetricRequest
200
+ */
201
+ threshold?: number;
202
+ /**
203
+ *
204
+ * @type {CovalMetricsAPIUpdateMetricRequestOperatorEnum}
205
+ * @memberof CovalMetricsAPIUpdateMetricRequest
206
+ */
207
+ operator?: CovalMetricsAPIUpdateMetricRequestOperatorEnum;
123
208
  /**
124
209
  * SQL query that defines the metric (for METRIC_SQL_FLOAT).
125
210
  * @type {string}
@@ -197,10 +282,61 @@ export interface CovalMetricsAPIUpdateMetricRequest {
197
282
  */
198
283
  export const CovalMetricsAPIUpdateMetricRequestRoleEnum = {
199
284
  Agent: 'agent',
200
- User: 'user'
285
+ Persona: 'persona',
286
+ User: 'user',
287
+ Assistant: 'assistant'
201
288
  } as const;
202
289
  export type CovalMetricsAPIUpdateMetricRequestRoleEnum = typeof CovalMetricsAPIUpdateMetricRequestRoleEnum[keyof typeof CovalMetricsAPIUpdateMetricRequestRoleEnum];
203
290
 
291
+ /**
292
+ * @export
293
+ */
294
+ export const CovalMetricsAPIUpdateMetricRequestDirectionEnum = {
295
+ Above: 'above',
296
+ Below: 'below'
297
+ } as const;
298
+ export type CovalMetricsAPIUpdateMetricRequestDirectionEnum = typeof CovalMetricsAPIUpdateMetricRequestDirectionEnum[keyof typeof CovalMetricsAPIUpdateMetricRequestDirectionEnum];
299
+
300
+ /**
301
+ * @export
302
+ */
303
+ export const CovalMetricsAPIUpdateMetricRequestSuccessSentimentsEnum = {
304
+ Neutral: 'Neutral',
305
+ Happy: 'Happy',
306
+ Angry: 'Angry',
307
+ Sad: 'Sad'
308
+ } as const;
309
+ export type CovalMetricsAPIUpdateMetricRequestSuccessSentimentsEnum = typeof CovalMetricsAPIUpdateMetricRequestSuccessSentimentsEnum[keyof typeof CovalMetricsAPIUpdateMetricRequestSuccessSentimentsEnum];
310
+
311
+ /**
312
+ * @export
313
+ */
314
+ export const CovalMetricsAPIUpdateMetricRequestSuccessEndReasonsEnum = {
315
+ Unknown: 'UNKNOWN',
316
+ IdleTimeout: 'IDLE_TIMEOUT',
317
+ PersonaDisconnected: 'PERSONA_DISCONNECTED',
318
+ AgentDisconnected: 'AGENT_DISCONNECTED',
319
+ PipelineError: 'PIPELINE_ERROR',
320
+ RepetitionLoop: 'REPETITION_LOOP',
321
+ AudioUploadPlaybackCompleted: 'AUDIO_UPLOAD_PLAYBACK_COMPLETED',
322
+ ScriptCompleted: 'SCRIPT_COMPLETED',
323
+ ScriptDiverged: 'SCRIPT_DIVERGED'
324
+ } as const;
325
+ export type CovalMetricsAPIUpdateMetricRequestSuccessEndReasonsEnum = typeof CovalMetricsAPIUpdateMetricRequestSuccessEndReasonsEnum[keyof typeof CovalMetricsAPIUpdateMetricRequestSuccessEndReasonsEnum];
326
+
327
+ /**
328
+ * @export
329
+ */
330
+ export const CovalMetricsAPIUpdateMetricRequestOperatorEnum = {
331
+ LessThan: '<',
332
+ LessThanOrEqualTo: '<=',
333
+ GreaterThan: '>',
334
+ GreaterThanOrEqualTo: '>=',
335
+ DoubleEqual: '==',
336
+ NotEqual: '!='
337
+ } as const;
338
+ export type CovalMetricsAPIUpdateMetricRequestOperatorEnum = typeof CovalMetricsAPIUpdateMetricRequestOperatorEnum[keyof typeof CovalMetricsAPIUpdateMetricRequestOperatorEnum];
339
+
204
340
  /**
205
341
  * @export
206
342
  */
@@ -251,6 +387,19 @@ export function CovalMetricsAPIUpdateMetricRequestFromJSONTyped(json: any, ignor
251
387
  'regex_pattern': json['regex_pattern'] == null ? undefined : json['regex_pattern'],
252
388
  'role': json['role'] == null ? undefined : json['role'],
253
389
  'min_pause_duration_seconds': json['min_pause_duration_seconds'] == null ? undefined : json['min_pause_duration_seconds'],
390
+ 'max_silence_duration_seconds': json['max_silence_duration_seconds'] == null ? undefined : json['max_silence_duration_seconds'],
391
+ 'min_silence_gap_seconds': json['min_silence_gap_seconds'] == null ? undefined : json['min_silence_gap_seconds'],
392
+ 'frequency_threshold': json['frequency_threshold'] == null ? undefined : json['frequency_threshold'],
393
+ 'direction': json['direction'] == null ? undefined : json['direction'],
394
+ 'success_sentiments': json['success_sentiments'] == null ? undefined : json['success_sentiments'],
395
+ 'percent_above': json['percent_above'] == null ? undefined : json['percent_above'],
396
+ 'success_end_reasons': json['success_end_reasons'] == null ? undefined : json['success_end_reasons'],
397
+ 'observation_name': json['observation_name'] == null ? undefined : json['observation_name'],
398
+ 'expected_body': json['expected_body'] == null ? undefined : CovalMetricsAPICreateMetricRequestExpectedBodyFromJSON(json['expected_body']),
399
+ 'match_path': json['match_path'] == null ? undefined : json['match_path'],
400
+ 'min_volume_change_for_pitch_misalignment': json['min_volume_change_for_pitch_misalignment'] == null ? undefined : json['min_volume_change_for_pitch_misalignment'],
401
+ 'threshold': json['threshold'] == null ? undefined : json['threshold'],
402
+ 'operator': json['operator'] == null ? undefined : json['operator'],
254
403
  'sql_query': json['sql_query'] == null ? undefined : json['sql_query'],
255
404
  'criteria_source': json['criteria_source'] == null ? undefined : json['criteria_source'],
256
405
  'criteria_path': json['criteria_path'] == null ? undefined : json['criteria_path'],
@@ -287,6 +436,19 @@ export function CovalMetricsAPIUpdateMetricRequestToJSONTyped(value?: CovalMetri
287
436
  'regex_pattern': value['regex_pattern'],
288
437
  'role': value['role'],
289
438
  'min_pause_duration_seconds': value['min_pause_duration_seconds'],
439
+ 'max_silence_duration_seconds': value['max_silence_duration_seconds'],
440
+ 'min_silence_gap_seconds': value['min_silence_gap_seconds'],
441
+ 'frequency_threshold': value['frequency_threshold'],
442
+ 'direction': value['direction'],
443
+ 'success_sentiments': value['success_sentiments'],
444
+ 'percent_above': value['percent_above'],
445
+ 'success_end_reasons': value['success_end_reasons'],
446
+ 'observation_name': value['observation_name'],
447
+ 'expected_body': CovalMetricsAPICreateMetricRequestExpectedBodyToJSON(value['expected_body']),
448
+ 'match_path': value['match_path'],
449
+ 'min_volume_change_for_pitch_misalignment': value['min_volume_change_for_pitch_misalignment'],
450
+ 'threshold': value['threshold'],
451
+ 'operator': value['operator'],
290
452
  'sql_query': value['sql_query'],
291
453
  'criteria_source': value['criteria_source'],
292
454
  'criteria_path': value['criteria_path'],
@@ -0,0 +1,95 @@
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
+ /**
17
+ * Channel degradation preset selection. `preset_version` pins the selection to a specific
18
+ * preset calibration, so that stored personas and any reference results captured against
19
+ * them stay tied to the tuning that produced them even if the preset is recalibrated later.
20
+ *
21
+ * @export
22
+ * @interface CovalPersonasAPIAudioDegradationConfig
23
+ */
24
+ export interface CovalPersonasAPIAudioDegradationConfig {
25
+ /**
26
+ * Channel degradation preset id.
27
+ * - landline: clean, narrowband landline channel.
28
+ * - cell-poor: light, intermittent burst loss typical of a weak but stable cellular connection.
29
+ * - cell-handoff: heavier, more frequent burst loss as during a tower handoff.
30
+ *
31
+ * @type {CovalPersonasAPIAudioDegradationConfigPresetEnum}
32
+ * @memberof CovalPersonasAPIAudioDegradationConfig
33
+ */
34
+ preset: CovalPersonasAPIAudioDegradationConfigPresetEnum;
35
+ /**
36
+ * Calibration version of the preset. When omitted, the server uses the selected
37
+ * preset's current catalog version and stores that concrete version on the persona.
38
+ *
39
+ * @type {number}
40
+ * @memberof CovalPersonasAPIAudioDegradationConfig
41
+ */
42
+ preset_version?: number;
43
+ }
44
+
45
+
46
+ /**
47
+ * @export
48
+ */
49
+ export const CovalPersonasAPIAudioDegradationConfigPresetEnum = {
50
+ Landline: 'landline',
51
+ CellPoor: 'cell-poor',
52
+ CellHandoff: 'cell-handoff'
53
+ } as const;
54
+ export type CovalPersonasAPIAudioDegradationConfigPresetEnum = typeof CovalPersonasAPIAudioDegradationConfigPresetEnum[keyof typeof CovalPersonasAPIAudioDegradationConfigPresetEnum];
55
+
56
+
57
+ /**
58
+ * Check if a given object implements the CovalPersonasAPIAudioDegradationConfig interface.
59
+ */
60
+ export function instanceOfCovalPersonasAPIAudioDegradationConfig(value: object): value is CovalPersonasAPIAudioDegradationConfig {
61
+ if (!('preset' in value) || value['preset'] === undefined) return false;
62
+ return true;
63
+ }
64
+
65
+ export function CovalPersonasAPIAudioDegradationConfigFromJSON(json: any): CovalPersonasAPIAudioDegradationConfig {
66
+ return CovalPersonasAPIAudioDegradationConfigFromJSONTyped(json, false);
67
+ }
68
+
69
+ export function CovalPersonasAPIAudioDegradationConfigFromJSONTyped(json: any, ignoreDiscriminator: boolean): CovalPersonasAPIAudioDegradationConfig {
70
+ if (json == null) {
71
+ return json;
72
+ }
73
+ return {
74
+
75
+ 'preset': json['preset'],
76
+ 'preset_version': json['preset_version'] == null ? undefined : json['preset_version'],
77
+ };
78
+ }
79
+
80
+ export function CovalPersonasAPIAudioDegradationConfigToJSON(json: any): CovalPersonasAPIAudioDegradationConfig {
81
+ return CovalPersonasAPIAudioDegradationConfigToJSONTyped(json, false);
82
+ }
83
+
84
+ export function CovalPersonasAPIAudioDegradationConfigToJSONTyped(value?: CovalPersonasAPIAudioDegradationConfig | null, ignoreDiscriminator: boolean = false): any {
85
+ if (value == null) {
86
+ return value;
87
+ }
88
+
89
+ return {
90
+
91
+ 'preset': value['preset'],
92
+ 'preset_version': value['preset_version'],
93
+ };
94
+ }
95
+
@@ -13,6 +13,14 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime.js';
16
+ import type { CovalPersonasAPIAudioDegradationConfig } from './CovalPersonasAPIAudioDegradationConfig.js';
17
+ import {
18
+ CovalPersonasAPIAudioDegradationConfigFromJSON,
19
+ CovalPersonasAPIAudioDegradationConfigFromJSONTyped,
20
+ CovalPersonasAPIAudioDegradationConfigToJSON,
21
+ CovalPersonasAPIAudioDegradationConfigToJSONTyped,
22
+ } from './CovalPersonasAPIAudioDegradationConfig.js';
23
+
16
24
  /**
17
25
  *
18
26
  * @export
@@ -107,6 +115,16 @@ export interface CovalPersonasAPICreatePersonaRequest {
107
115
  * @memberof CovalPersonasAPICreatePersonaRequest
108
116
  */
109
117
  situate_speaker?: CovalPersonasAPICreatePersonaRequestSituateSpeakerEnum | null;
118
+ /**
119
+ * Channel degradation preset. Mutually exclusive with situate_speaker. 'cell-poor' and
120
+ * 'cell-handoff' additionally require background_sound to be something other than
121
+ * 'off', to give their target SNR a noise bed to apply against; 'landline' has no
122
+ * target SNR and carries no such requirement.
123
+ *
124
+ * @type {CovalPersonasAPIAudioDegradationConfig}
125
+ * @memberof CovalPersonasAPICreatePersonaRequest
126
+ */
127
+ audio_degradation?: CovalPersonasAPIAudioDegradationConfig | null;
110
128
  /**
111
129
  * Tags to associate with this persona. Null or omitted creates the persona with no tags. Pass [] for an empty tag list.
112
130
  * @type {Array<string>}
@@ -168,6 +186,7 @@ export function CovalPersonasAPICreatePersonaRequestFromJSONTyped(json: any, ign
168
186
  'multi_language_stt': json['multi_language_stt'] == null ? undefined : json['multi_language_stt'],
169
187
  'hold_music_timeout_seconds': json['hold_music_timeout_seconds'] == null ? undefined : json['hold_music_timeout_seconds'],
170
188
  'situate_speaker': json['situate_speaker'] == null ? undefined : json['situate_speaker'],
189
+ 'audio_degradation': json['audio_degradation'] == null ? undefined : CovalPersonasAPIAudioDegradationConfigFromJSON(json['audio_degradation']),
171
190
  'tags': json['tags'] == null ? undefined : json['tags'],
172
191
  };
173
192
  }
@@ -196,6 +215,7 @@ export function CovalPersonasAPICreatePersonaRequestToJSONTyped(value?: CovalPer
196
215
  'multi_language_stt': value['multi_language_stt'],
197
216
  'hold_music_timeout_seconds': value['hold_music_timeout_seconds'],
198
217
  'situate_speaker': value['situate_speaker'],
218
+ 'audio_degradation': CovalPersonasAPIAudioDegradationConfigToJSON(value['audio_degradation']),
199
219
  'tags': value['tags'],
200
220
  };
201
221
  }