@roarkanalytics/sdk 2.30.0 → 2.33.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.
- package/CHANGELOG.md +74 -0
- package/api-promise.d.mts +1 -0
- package/api-promise.d.mts.map +1 -1
- package/api-promise.d.ts +1 -0
- package/api-promise.d.ts.map +1 -1
- package/api-promise.mjs +1 -0
- package/api-promise.mjs.map +1 -1
- package/client.d.mts +17 -5
- package/client.d.mts.map +1 -1
- package/client.d.ts +17 -5
- package/client.d.ts.map +1 -1
- package/client.js +35 -4
- package/client.js.map +1 -1
- package/client.mjs +35 -4
- package/client.mjs.map +1 -1
- package/core/api-promise.d.mts.map +1 -1
- package/core/api-promise.d.ts.map +1 -1
- package/core/api-promise.mjs.map +1 -1
- package/core/error.mjs.map +1 -1
- package/core/resource.d.mts.map +1 -1
- package/core/resource.d.ts.map +1 -1
- package/core/uploads.d.mts.map +1 -1
- package/core/uploads.d.ts.map +1 -1
- package/core/uploads.mjs.map +1 -1
- package/error.d.mts +1 -0
- package/error.d.mts.map +1 -1
- package/error.d.ts +1 -0
- package/error.d.ts.map +1 -1
- package/error.mjs +1 -0
- package/error.mjs.map +1 -1
- package/index.d.mts.map +1 -1
- package/index.d.ts.map +1 -1
- package/index.mjs.map +1 -1
- package/internal/detect-platform.mjs.map +1 -1
- package/internal/headers.mjs.map +1 -1
- package/internal/parse.d.mts.map +1 -1
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.mjs.map +1 -1
- package/internal/qs/formats.d.mts.map +1 -1
- package/internal/qs/formats.d.ts.map +1 -1
- package/internal/qs/index.d.mts +2 -2
- package/internal/qs/index.d.mts.map +1 -1
- package/internal/qs/index.d.ts +2 -2
- package/internal/qs/index.d.ts.map +1 -1
- package/internal/qs/index.mjs.map +1 -1
- package/internal/qs/stringify.d.mts.map +1 -1
- package/internal/qs/stringify.d.ts.map +1 -1
- package/internal/qs/stringify.mjs.map +1 -1
- package/internal/qs/utils.d.mts.map +1 -1
- package/internal/qs/utils.d.ts.map +1 -1
- package/internal/qs/utils.mjs.map +1 -1
- package/internal/request-options.d.mts.map +1 -1
- package/internal/request-options.d.ts.map +1 -1
- package/internal/shims.d.mts +6 -0
- package/internal/shims.d.mts.map +1 -1
- package/internal/shims.d.ts +6 -0
- package/internal/shims.d.ts.map +1 -1
- package/internal/to-file.d.mts.map +1 -1
- package/internal/to-file.d.ts.map +1 -1
- package/internal/to-file.mjs.map +1 -1
- package/internal/types.d.mts +10 -10
- package/internal/types.d.mts.map +1 -1
- package/internal/types.d.ts +10 -10
- package/internal/types.d.ts.map +1 -1
- package/internal/uploads.d.mts.map +1 -1
- package/internal/uploads.d.ts.map +1 -1
- package/internal/uploads.mjs.map +1 -1
- package/internal/utils/base64.mjs.map +1 -1
- package/internal/utils/log.d.mts.map +1 -1
- package/internal/utils/log.d.ts.map +1 -1
- package/internal/utils/log.js +2 -0
- package/internal/utils/log.js.map +1 -1
- package/internal/utils/log.mjs +2 -0
- package/internal/utils/log.mjs.map +1 -1
- package/internal/utils/path.mjs.map +1 -1
- package/internal/utils/query.mjs.map +1 -1
- package/internal/utils/values.mjs.map +1 -1
- package/internal/utils.d.mts.map +1 -1
- package/internal/utils.d.ts.map +1 -1
- package/internal/utils.mjs.map +1 -1
- package/package.json +1 -1
- package/resource.d.mts +1 -0
- package/resource.d.mts.map +1 -1
- package/resource.d.ts +1 -0
- package/resource.d.ts.map +1 -1
- package/resource.mjs +1 -0
- package/resource.mjs.map +1 -1
- package/resources/agent-endpoint.d.mts +4 -4
- package/resources/agent-endpoint.d.mts.map +1 -1
- package/resources/agent-endpoint.d.ts +4 -4
- package/resources/agent-endpoint.d.ts.map +1 -1
- package/resources/agent-endpoint.mjs.map +1 -1
- package/resources/agent.d.mts.map +1 -1
- package/resources/agent.d.ts.map +1 -1
- package/resources/agent.mjs.map +1 -1
- package/resources/call.d.mts +310 -162
- package/resources/call.d.mts.map +1 -1
- package/resources/call.d.ts +310 -162
- package/resources/call.d.ts.map +1 -1
- package/resources/call.js +6 -7
- package/resources/call.js.map +1 -1
- package/resources/call.mjs +6 -7
- package/resources/call.mjs.map +1 -1
- package/resources/config.d.mts +535 -0
- package/resources/config.d.mts.map +1 -0
- package/resources/config.d.ts +535 -0
- package/resources/config.d.ts.map +1 -0
- package/resources/config.js +28 -0
- package/resources/config.js.map +1 -0
- package/resources/config.mjs +24 -0
- package/resources/config.mjs.map +1 -0
- package/resources/customer-flow-edge-case.d.mts +1742 -0
- package/resources/customer-flow-edge-case.d.mts.map +1 -0
- package/resources/customer-flow-edge-case.d.ts +1742 -0
- package/resources/customer-flow-edge-case.d.ts.map +1 -0
- package/resources/customer-flow-edge-case.js +50 -0
- package/resources/customer-flow-edge-case.js.map +1 -0
- package/resources/customer-flow-edge-case.mjs +46 -0
- package/resources/customer-flow-edge-case.mjs.map +1 -0
- package/resources/customer-flow.d.mts +7163 -0
- package/resources/customer-flow.d.mts.map +1 -0
- package/resources/customer-flow.d.ts +7163 -0
- package/resources/customer-flow.d.ts.map +1 -0
- package/resources/customer-flow.js +87 -0
- package/resources/customer-flow.js.map +1 -0
- package/resources/customer-flow.mjs +83 -0
- package/resources/customer-flow.mjs.map +1 -0
- package/resources/health.d.mts.map +1 -1
- package/resources/health.d.ts.map +1 -1
- package/resources/health.mjs.map +1 -1
- package/resources/http-request-definition.d.mts.map +1 -1
- package/resources/http-request-definition.d.ts.map +1 -1
- package/resources/http-request-definition.mjs.map +1 -1
- package/resources/index.d.mts +6 -2
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +6 -2
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +11 -3
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +5 -1
- package/resources/index.mjs.map +1 -1
- package/resources/metric-collection-job.d.mts +5 -3
- package/resources/metric-collection-job.d.mts.map +1 -1
- package/resources/metric-collection-job.d.ts +5 -3
- package/resources/metric-collection-job.d.ts.map +1 -1
- package/resources/metric-collection-job.mjs.map +1 -1
- package/resources/metric-policy.d.mts.map +1 -1
- package/resources/metric-policy.d.ts.map +1 -1
- package/resources/metric-policy.mjs.map +1 -1
- package/resources/metric.d.mts +804 -109
- package/resources/metric.d.mts.map +1 -1
- package/resources/metric.d.ts +804 -109
- package/resources/metric.d.ts.map +1 -1
- package/resources/metric.js +6 -7
- package/resources/metric.js.map +1 -1
- package/resources/metric.mjs +6 -7
- package/resources/metric.mjs.map +1 -1
- package/resources/simulation-environment.d.mts +95 -0
- package/resources/simulation-environment.d.mts.map +1 -0
- package/resources/simulation-environment.d.ts +95 -0
- package/resources/simulation-environment.d.ts.map +1 -0
- package/resources/simulation-environment.js +24 -0
- package/resources/simulation-environment.js.map +1 -0
- package/resources/simulation-environment.mjs +20 -0
- package/resources/simulation-environment.mjs.map +1 -0
- package/resources/simulation-job.d.mts +58 -10
- package/resources/simulation-job.d.mts.map +1 -1
- package/resources/simulation-job.d.ts +58 -10
- package/resources/simulation-job.d.ts.map +1 -1
- package/resources/simulation-job.mjs.map +1 -1
- package/resources/simulation-persona.d.mts +60 -24
- package/resources/simulation-persona.d.mts.map +1 -1
- package/resources/simulation-persona.d.ts +60 -24
- package/resources/simulation-persona.d.ts.map +1 -1
- package/resources/simulation-persona.mjs.map +1 -1
- package/resources/simulation-run-plan-job.d.mts +73 -32
- package/resources/simulation-run-plan-job.d.mts.map +1 -1
- package/resources/simulation-run-plan-job.d.ts +73 -32
- package/resources/simulation-run-plan-job.d.ts.map +1 -1
- package/resources/simulation-run-plan-job.js +7 -8
- package/resources/simulation-run-plan-job.js.map +1 -1
- package/resources/simulation-run-plan-job.mjs +7 -8
- package/resources/simulation-run-plan-job.mjs.map +1 -1
- package/resources/simulation-run-plan.d.mts +408 -39
- package/resources/simulation-run-plan.d.mts.map +1 -1
- package/resources/simulation-run-plan.d.ts +408 -39
- package/resources/simulation-run-plan.d.ts.map +1 -1
- package/resources/simulation-run-plan.js +6 -11
- package/resources/simulation-run-plan.js.map +1 -1
- package/resources/simulation-run-plan.mjs +6 -11
- package/resources/simulation-run-plan.mjs.map +1 -1
- package/resources/simulation.d.mts +379 -0
- package/resources/simulation.d.mts.map +1 -0
- package/resources/simulation.d.ts +379 -0
- package/resources/simulation.d.ts.map +1 -0
- package/resources/simulation.js +33 -0
- package/resources/simulation.js.map +1 -0
- package/resources/simulation.mjs +29 -0
- package/resources/simulation.mjs.map +1 -0
- package/resources/webhook.d.mts +4 -4
- package/resources/webhook.d.mts.map +1 -1
- package/resources/webhook.d.ts +4 -4
- package/resources/webhook.d.ts.map +1 -1
- package/resources/webhook.mjs.map +1 -1
- package/resources.d.mts.map +1 -1
- package/resources.d.ts.map +1 -1
- package/resources.mjs.map +1 -1
- package/src/client.ts +124 -28
- package/src/internal/types.ts +6 -8
- package/src/internal/utils/log.ts +2 -0
- package/src/resources/agent-endpoint.ts +36 -4
- package/src/resources/call.ts +333 -176
- package/src/resources/config.ts +1162 -0
- package/src/resources/customer-flow-edge-case.ts +2884 -0
- package/src/resources/customer-flow.ts +11713 -0
- package/src/resources/index.ts +42 -12
- package/src/resources/metric-collection-job.ts +5 -3
- package/src/resources/metric.ts +1057 -115
- package/src/resources/simulation-environment.ts +147 -0
- package/src/resources/simulation-job.ts +122 -10
- package/src/resources/simulation-persona.ts +192 -24
- package/src/resources/simulation-run-plan-job.ts +109 -27
- package/src/resources/simulation-run-plan.ts +445 -40
- package/src/resources/simulation.ts +444 -0
- package/src/resources/webhook.ts +8 -0
- package/src/version.ts +1 -1
- package/uploads.d.mts +1 -0
- package/uploads.d.mts.map +1 -1
- package/uploads.d.ts +1 -0
- package/uploads.d.ts.map +1 -1
- package/uploads.mjs +1 -0
- package/uploads.mjs.map +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/resources/simulation-scenario.d.mts +0 -424
- package/resources/simulation-scenario.d.mts.map +0 -1
- package/resources/simulation-scenario.d.ts +0 -424
- package/resources/simulation-scenario.d.ts.map +0 -1
- package/resources/simulation-scenario.js +0 -40
- package/resources/simulation-scenario.js.map +0 -1
- package/resources/simulation-scenario.mjs +0 -36
- package/resources/simulation-scenario.mjs.map +0 -1
- package/src/resources/simulation-scenario.ts +0 -602
|
@@ -0,0 +1,1742 @@
|
|
|
1
|
+
import { APIResource } from "../core/resource.mjs";
|
|
2
|
+
import * as CustomerFlowAPI from "./customer-flow.mjs";
|
|
3
|
+
import { APIPromise } from "../core/api-promise.mjs";
|
|
4
|
+
import { RequestOptions } from "../internal/request-options.mjs";
|
|
5
|
+
export declare class CustomerFlowEdgeCase extends APIResource {
|
|
6
|
+
/**
|
|
7
|
+
* Updates an edge case's title, persona, environment, brief, preceded-by link or
|
|
8
|
+
* expectations. Omitted fields are left alone; `additionalExpectations` replaces
|
|
9
|
+
* the set wholesale rather than appending. Promoting it to the happy path is a
|
|
10
|
+
* separate call, since that also demotes the incumbent.
|
|
11
|
+
*/
|
|
12
|
+
update(edgeCaseID: string, params: CustomerFlowEdgeCaseUpdateParams, options?: RequestOptions): APIPromise<CustomerFlowEdgeCaseUpdateResponse>;
|
|
13
|
+
/**
|
|
14
|
+
* Adds a variant to an IMPROV flow.
|
|
15
|
+
*
|
|
16
|
+
* A scripted flow's variants are owned by the path engine, one per path through
|
|
17
|
+
* the graph, so they are created by editing the graph through PUT
|
|
18
|
+
* /v1/customer-flow/{flowId}/graph rather than here.
|
|
19
|
+
*
|
|
20
|
+
* Leave personaOverrideId or environmentId unset to inherit the happy path's.
|
|
21
|
+
*/
|
|
22
|
+
add(flowID: string, body: CustomerFlowEdgeCaseAddParams, options?: RequestOptions): APIPromise<CustomerFlowEdgeCaseAddResponse>;
|
|
23
|
+
/**
|
|
24
|
+
* Makes this edge case the flow's happy path, and the outgoing happy path an edge
|
|
25
|
+
* case. Its persona and environment are baked into it first, so edge cases that
|
|
26
|
+
* were inheriting keep the configuration they had.
|
|
27
|
+
*/
|
|
28
|
+
promote(edgeCaseID: string, params: CustomerFlowEdgeCasePromoteParams, options?: RequestOptions): APIPromise<CustomerFlowEdgeCasePromoteResponse>;
|
|
29
|
+
/**
|
|
30
|
+
* Soft-deletes a variant. On a scripted flow the path engine re-creates a variant
|
|
31
|
+
* for any path still in the graph, so remove the path through PUT /graph instead
|
|
32
|
+
* if that is what you meant.
|
|
33
|
+
*/
|
|
34
|
+
remove(edgeCaseID: string, params: CustomerFlowEdgeCaseRemoveParams, options?: RequestOptions): APIPromise<CustomerFlowEdgeCaseRemoveResponse>;
|
|
35
|
+
}
|
|
36
|
+
export interface CustomerFlowEdgeCaseUpdateResponse {
|
|
37
|
+
/**
|
|
38
|
+
* One way of running a customer flow.
|
|
39
|
+
*/
|
|
40
|
+
data: CustomerFlowEdgeCaseUpdateResponse.ScriptedFlowVariant | CustomerFlowEdgeCaseUpdateResponse.ImprovFlowVariant | CustomerFlowEdgeCaseUpdateResponse.VoicemailFlowVariant;
|
|
41
|
+
}
|
|
42
|
+
export declare namespace CustomerFlowEdgeCaseUpdateResponse {
|
|
43
|
+
/**
|
|
44
|
+
* One path through a scripted flow. The path engine owns which paths exist, so
|
|
45
|
+
* editing the graph is what creates and removes these.
|
|
46
|
+
*/
|
|
47
|
+
interface ScriptedFlowVariant {
|
|
48
|
+
id: string;
|
|
49
|
+
/**
|
|
50
|
+
* Graded on top of the flow's own expectations, for this variant only.
|
|
51
|
+
*/
|
|
52
|
+
additionalExpectations: Array<ScriptedFlowVariant.AdditionalExpectation>;
|
|
53
|
+
/**
|
|
54
|
+
* Creation timestamp in ISO 8601 format
|
|
55
|
+
*/
|
|
56
|
+
createdAt: string;
|
|
57
|
+
/**
|
|
58
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
59
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
60
|
+
* project.
|
|
61
|
+
*/
|
|
62
|
+
environment: ScriptedFlowVariant.Environment | null;
|
|
63
|
+
isGenerated: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
66
|
+
*/
|
|
67
|
+
personaOverride: ScriptedFlowVariant.PersonaOverride | null;
|
|
68
|
+
precededByCustomerFlowId: string | null;
|
|
69
|
+
precededByCustomerFlowVariantId: string | null;
|
|
70
|
+
/**
|
|
71
|
+
* The one path through the graph this variant runs, in order. Linear by
|
|
72
|
+
* construction, so these steps never nest.
|
|
73
|
+
*/
|
|
74
|
+
steps: Array<CustomerFlowAPI.FlowStep>;
|
|
75
|
+
title: string;
|
|
76
|
+
type: 'SCRIPTED';
|
|
77
|
+
/**
|
|
78
|
+
* Last update timestamp in ISO 8601 format
|
|
79
|
+
*/
|
|
80
|
+
updatedAt: string;
|
|
81
|
+
}
|
|
82
|
+
namespace ScriptedFlowVariant {
|
|
83
|
+
/**
|
|
84
|
+
* One thing the agent under test is graded against.
|
|
85
|
+
*/
|
|
86
|
+
interface AdditionalExpectation {
|
|
87
|
+
id: string;
|
|
88
|
+
/**
|
|
89
|
+
* What the agent under test is graded against.
|
|
90
|
+
*/
|
|
91
|
+
prompt: string;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
95
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
96
|
+
* project.
|
|
97
|
+
*/
|
|
98
|
+
interface Environment {
|
|
99
|
+
id: string;
|
|
100
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
101
|
+
/**
|
|
102
|
+
* Creation timestamp in ISO 8601 format
|
|
103
|
+
*/
|
|
104
|
+
createdAt: string;
|
|
105
|
+
name: string;
|
|
106
|
+
/**
|
|
107
|
+
* Last update timestamp in ISO 8601 format
|
|
108
|
+
*/
|
|
109
|
+
updatedAt: string;
|
|
110
|
+
description?: string | null;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
114
|
+
*/
|
|
115
|
+
interface PersonaOverride {
|
|
116
|
+
/**
|
|
117
|
+
* Unique identifier of the persona
|
|
118
|
+
*/
|
|
119
|
+
id: string;
|
|
120
|
+
/**
|
|
121
|
+
* Accent of the persona, defined using ISO 3166-1 alpha-2 country codes with
|
|
122
|
+
* optional variants
|
|
123
|
+
*/
|
|
124
|
+
accent: 'US' | 'US_X_SOUTH' | 'GB' | 'ES' | 'DE' | 'IN' | 'FR' | 'NL' | 'SA' | 'GR' | 'AU' | 'IT' | 'ID' | 'TH' | 'JP' | 'NZ' | 'PH' | 'SG' | 'MY' | 'HK' | 'TR' | 'PT' | 'IL';
|
|
125
|
+
/**
|
|
126
|
+
* Background noise setting
|
|
127
|
+
*/
|
|
128
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
129
|
+
/**
|
|
130
|
+
* Base emotional state of the persona
|
|
131
|
+
*/
|
|
132
|
+
baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
|
|
133
|
+
/**
|
|
134
|
+
* How the persona confirms information
|
|
135
|
+
*/
|
|
136
|
+
confirmationStyle: 'EXPLICIT' | 'VAGUE';
|
|
137
|
+
/**
|
|
138
|
+
* Creation timestamp
|
|
139
|
+
*/
|
|
140
|
+
createdAt: string;
|
|
141
|
+
/**
|
|
142
|
+
* Gender of the persona
|
|
143
|
+
*/
|
|
144
|
+
gender: 'MALE' | 'FEMALE';
|
|
145
|
+
/**
|
|
146
|
+
* Whether the persona uses filler words like "um" and "uh"
|
|
147
|
+
*/
|
|
148
|
+
hasDisfluencies: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Maximum number of idle messages the persona will send before giving up
|
|
151
|
+
*/
|
|
152
|
+
idleMessageMaxSpokenCount: number;
|
|
153
|
+
/**
|
|
154
|
+
* Whether the idle message counter resets when the agent speaks
|
|
155
|
+
*/
|
|
156
|
+
idleMessageResetCountOnUserSpeechEnabled: boolean;
|
|
157
|
+
/**
|
|
158
|
+
* Messages the persona will say when the agent goes silent during a call. null =
|
|
159
|
+
* "Automatic": language-appropriate defaults are used at call time.
|
|
160
|
+
*/
|
|
161
|
+
idleMessages: Array<string> | null;
|
|
162
|
+
/**
|
|
163
|
+
* Seconds of silence before the persona sends an idle message
|
|
164
|
+
*/
|
|
165
|
+
idleTimeoutSeconds: number;
|
|
166
|
+
/**
|
|
167
|
+
* How clearly the persona expresses their intentions
|
|
168
|
+
*/
|
|
169
|
+
intentClarity: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
170
|
+
/**
|
|
171
|
+
* Primary language ISO 639-1 code for the persona
|
|
172
|
+
*/
|
|
173
|
+
language: 'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE';
|
|
174
|
+
/**
|
|
175
|
+
* How reliable the persona's memory is
|
|
176
|
+
*/
|
|
177
|
+
memoryReliability: 'HIGH' | 'LOW';
|
|
178
|
+
/**
|
|
179
|
+
* The name the agent will identify as during conversations
|
|
180
|
+
*/
|
|
181
|
+
name: string;
|
|
182
|
+
/**
|
|
183
|
+
* Additional custom properties about the persona
|
|
184
|
+
*/
|
|
185
|
+
properties: {
|
|
186
|
+
[key: string]: unknown;
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* Controls how quickly the persona responds to pauses in conversation (QUICK,
|
|
190
|
+
* NORMAL, RELAXED)
|
|
191
|
+
*/
|
|
192
|
+
responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
|
|
193
|
+
/**
|
|
194
|
+
* Speech clarity of the persona
|
|
195
|
+
*/
|
|
196
|
+
speechClarity: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
197
|
+
/**
|
|
198
|
+
* Speech pace of the persona
|
|
199
|
+
*/
|
|
200
|
+
speechPace: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
201
|
+
/**
|
|
202
|
+
* Languages the persona can understand. Multilingual combinations are limited by
|
|
203
|
+
* multilingual speech recognition support.
|
|
204
|
+
*/
|
|
205
|
+
understoodLanguages: Array<'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE'>;
|
|
206
|
+
/**
|
|
207
|
+
* Last update timestamp
|
|
208
|
+
*/
|
|
209
|
+
updatedAt: string;
|
|
210
|
+
/**
|
|
211
|
+
* Background story and behavioral patterns for the persona
|
|
212
|
+
*/
|
|
213
|
+
backstoryPrompt?: string | null;
|
|
214
|
+
/**
|
|
215
|
+
* Human-readable description of the persona
|
|
216
|
+
*/
|
|
217
|
+
description?: string | null;
|
|
218
|
+
/**
|
|
219
|
+
* Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
|
|
220
|
+
*/
|
|
221
|
+
secondaryLanguage?: 'EN' | null;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* One brief to run an improv flow with.
|
|
226
|
+
*/
|
|
227
|
+
interface ImprovFlowVariant {
|
|
228
|
+
id: string;
|
|
229
|
+
/**
|
|
230
|
+
* Graded on top of the flow's own expectations, for this variant only.
|
|
231
|
+
*/
|
|
232
|
+
additionalExpectations: Array<ImprovFlowVariant.AdditionalExpectation>;
|
|
233
|
+
/**
|
|
234
|
+
* Creation timestamp in ISO 8601 format
|
|
235
|
+
*/
|
|
236
|
+
createdAt: string;
|
|
237
|
+
/**
|
|
238
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
239
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
240
|
+
* project.
|
|
241
|
+
*/
|
|
242
|
+
environment: ImprovFlowVariant.Environment | null;
|
|
243
|
+
isGenerated: boolean;
|
|
244
|
+
/**
|
|
245
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
246
|
+
*/
|
|
247
|
+
personaOverride: ImprovFlowVariant.PersonaOverride | null;
|
|
248
|
+
precededByCustomerFlowId: string | null;
|
|
249
|
+
precededByCustomerFlowVariantId: string | null;
|
|
250
|
+
title: string;
|
|
251
|
+
type: 'IMPROV';
|
|
252
|
+
/**
|
|
253
|
+
* Last update timestamp in ISO 8601 format
|
|
254
|
+
*/
|
|
255
|
+
updatedAt: string;
|
|
256
|
+
/**
|
|
257
|
+
* The brief the simulated customer improvises from.
|
|
258
|
+
*/
|
|
259
|
+
prompt?: string | null;
|
|
260
|
+
}
|
|
261
|
+
namespace ImprovFlowVariant {
|
|
262
|
+
/**
|
|
263
|
+
* One thing the agent under test is graded against.
|
|
264
|
+
*/
|
|
265
|
+
interface AdditionalExpectation {
|
|
266
|
+
id: string;
|
|
267
|
+
/**
|
|
268
|
+
* What the agent under test is graded against.
|
|
269
|
+
*/
|
|
270
|
+
prompt: string;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
274
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
275
|
+
* project.
|
|
276
|
+
*/
|
|
277
|
+
interface Environment {
|
|
278
|
+
id: string;
|
|
279
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
280
|
+
/**
|
|
281
|
+
* Creation timestamp in ISO 8601 format
|
|
282
|
+
*/
|
|
283
|
+
createdAt: string;
|
|
284
|
+
name: string;
|
|
285
|
+
/**
|
|
286
|
+
* Last update timestamp in ISO 8601 format
|
|
287
|
+
*/
|
|
288
|
+
updatedAt: string;
|
|
289
|
+
description?: string | null;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
293
|
+
*/
|
|
294
|
+
interface PersonaOverride {
|
|
295
|
+
/**
|
|
296
|
+
* Unique identifier of the persona
|
|
297
|
+
*/
|
|
298
|
+
id: string;
|
|
299
|
+
/**
|
|
300
|
+
* Accent of the persona, defined using ISO 3166-1 alpha-2 country codes with
|
|
301
|
+
* optional variants
|
|
302
|
+
*/
|
|
303
|
+
accent: 'US' | 'US_X_SOUTH' | 'GB' | 'ES' | 'DE' | 'IN' | 'FR' | 'NL' | 'SA' | 'GR' | 'AU' | 'IT' | 'ID' | 'TH' | 'JP' | 'NZ' | 'PH' | 'SG' | 'MY' | 'HK' | 'TR' | 'PT' | 'IL';
|
|
304
|
+
/**
|
|
305
|
+
* Background noise setting
|
|
306
|
+
*/
|
|
307
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
308
|
+
/**
|
|
309
|
+
* Base emotional state of the persona
|
|
310
|
+
*/
|
|
311
|
+
baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
|
|
312
|
+
/**
|
|
313
|
+
* How the persona confirms information
|
|
314
|
+
*/
|
|
315
|
+
confirmationStyle: 'EXPLICIT' | 'VAGUE';
|
|
316
|
+
/**
|
|
317
|
+
* Creation timestamp
|
|
318
|
+
*/
|
|
319
|
+
createdAt: string;
|
|
320
|
+
/**
|
|
321
|
+
* Gender of the persona
|
|
322
|
+
*/
|
|
323
|
+
gender: 'MALE' | 'FEMALE';
|
|
324
|
+
/**
|
|
325
|
+
* Whether the persona uses filler words like "um" and "uh"
|
|
326
|
+
*/
|
|
327
|
+
hasDisfluencies: boolean;
|
|
328
|
+
/**
|
|
329
|
+
* Maximum number of idle messages the persona will send before giving up
|
|
330
|
+
*/
|
|
331
|
+
idleMessageMaxSpokenCount: number;
|
|
332
|
+
/**
|
|
333
|
+
* Whether the idle message counter resets when the agent speaks
|
|
334
|
+
*/
|
|
335
|
+
idleMessageResetCountOnUserSpeechEnabled: boolean;
|
|
336
|
+
/**
|
|
337
|
+
* Messages the persona will say when the agent goes silent during a call. null =
|
|
338
|
+
* "Automatic": language-appropriate defaults are used at call time.
|
|
339
|
+
*/
|
|
340
|
+
idleMessages: Array<string> | null;
|
|
341
|
+
/**
|
|
342
|
+
* Seconds of silence before the persona sends an idle message
|
|
343
|
+
*/
|
|
344
|
+
idleTimeoutSeconds: number;
|
|
345
|
+
/**
|
|
346
|
+
* How clearly the persona expresses their intentions
|
|
347
|
+
*/
|
|
348
|
+
intentClarity: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
349
|
+
/**
|
|
350
|
+
* Primary language ISO 639-1 code for the persona
|
|
351
|
+
*/
|
|
352
|
+
language: 'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE';
|
|
353
|
+
/**
|
|
354
|
+
* How reliable the persona's memory is
|
|
355
|
+
*/
|
|
356
|
+
memoryReliability: 'HIGH' | 'LOW';
|
|
357
|
+
/**
|
|
358
|
+
* The name the agent will identify as during conversations
|
|
359
|
+
*/
|
|
360
|
+
name: string;
|
|
361
|
+
/**
|
|
362
|
+
* Additional custom properties about the persona
|
|
363
|
+
*/
|
|
364
|
+
properties: {
|
|
365
|
+
[key: string]: unknown;
|
|
366
|
+
};
|
|
367
|
+
/**
|
|
368
|
+
* Controls how quickly the persona responds to pauses in conversation (QUICK,
|
|
369
|
+
* NORMAL, RELAXED)
|
|
370
|
+
*/
|
|
371
|
+
responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
|
|
372
|
+
/**
|
|
373
|
+
* Speech clarity of the persona
|
|
374
|
+
*/
|
|
375
|
+
speechClarity: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
376
|
+
/**
|
|
377
|
+
* Speech pace of the persona
|
|
378
|
+
*/
|
|
379
|
+
speechPace: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
380
|
+
/**
|
|
381
|
+
* Languages the persona can understand. Multilingual combinations are limited by
|
|
382
|
+
* multilingual speech recognition support.
|
|
383
|
+
*/
|
|
384
|
+
understoodLanguages: Array<'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE'>;
|
|
385
|
+
/**
|
|
386
|
+
* Last update timestamp
|
|
387
|
+
*/
|
|
388
|
+
updatedAt: string;
|
|
389
|
+
/**
|
|
390
|
+
* Background story and behavioral patterns for the persona
|
|
391
|
+
*/
|
|
392
|
+
backstoryPrompt?: string | null;
|
|
393
|
+
/**
|
|
394
|
+
* Human-readable description of the persona
|
|
395
|
+
*/
|
|
396
|
+
description?: string | null;
|
|
397
|
+
/**
|
|
398
|
+
* Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
|
|
399
|
+
*/
|
|
400
|
+
secondaryLanguage?: 'EN' | null;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* One voicemail greeting.
|
|
405
|
+
*/
|
|
406
|
+
interface VoicemailFlowVariant {
|
|
407
|
+
id: string;
|
|
408
|
+
/**
|
|
409
|
+
* Graded on top of the flow's own expectations, for this variant only.
|
|
410
|
+
*/
|
|
411
|
+
additionalExpectations: Array<VoicemailFlowVariant.AdditionalExpectation>;
|
|
412
|
+
/**
|
|
413
|
+
* Creation timestamp in ISO 8601 format
|
|
414
|
+
*/
|
|
415
|
+
createdAt: string;
|
|
416
|
+
/**
|
|
417
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
418
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
419
|
+
* project.
|
|
420
|
+
*/
|
|
421
|
+
environment: VoicemailFlowVariant.Environment | null;
|
|
422
|
+
isGenerated: boolean;
|
|
423
|
+
/**
|
|
424
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
425
|
+
*/
|
|
426
|
+
personaOverride: VoicemailFlowVariant.PersonaOverride | null;
|
|
427
|
+
precededByCustomerFlowId: string | null;
|
|
428
|
+
precededByCustomerFlowVariantId: string | null;
|
|
429
|
+
title: string;
|
|
430
|
+
type: 'VOICEMAIL';
|
|
431
|
+
/**
|
|
432
|
+
* Last update timestamp in ISO 8601 format
|
|
433
|
+
*/
|
|
434
|
+
updatedAt: string;
|
|
435
|
+
}
|
|
436
|
+
namespace VoicemailFlowVariant {
|
|
437
|
+
/**
|
|
438
|
+
* One thing the agent under test is graded against.
|
|
439
|
+
*/
|
|
440
|
+
interface AdditionalExpectation {
|
|
441
|
+
id: string;
|
|
442
|
+
/**
|
|
443
|
+
* What the agent under test is graded against.
|
|
444
|
+
*/
|
|
445
|
+
prompt: string;
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
449
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
450
|
+
* project.
|
|
451
|
+
*/
|
|
452
|
+
interface Environment {
|
|
453
|
+
id: string;
|
|
454
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
455
|
+
/**
|
|
456
|
+
* Creation timestamp in ISO 8601 format
|
|
457
|
+
*/
|
|
458
|
+
createdAt: string;
|
|
459
|
+
name: string;
|
|
460
|
+
/**
|
|
461
|
+
* Last update timestamp in ISO 8601 format
|
|
462
|
+
*/
|
|
463
|
+
updatedAt: string;
|
|
464
|
+
description?: string | null;
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
468
|
+
*/
|
|
469
|
+
interface PersonaOverride {
|
|
470
|
+
/**
|
|
471
|
+
* Unique identifier of the persona
|
|
472
|
+
*/
|
|
473
|
+
id: string;
|
|
474
|
+
/**
|
|
475
|
+
* Accent of the persona, defined using ISO 3166-1 alpha-2 country codes with
|
|
476
|
+
* optional variants
|
|
477
|
+
*/
|
|
478
|
+
accent: 'US' | 'US_X_SOUTH' | 'GB' | 'ES' | 'DE' | 'IN' | 'FR' | 'NL' | 'SA' | 'GR' | 'AU' | 'IT' | 'ID' | 'TH' | 'JP' | 'NZ' | 'PH' | 'SG' | 'MY' | 'HK' | 'TR' | 'PT' | 'IL';
|
|
479
|
+
/**
|
|
480
|
+
* Background noise setting
|
|
481
|
+
*/
|
|
482
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
483
|
+
/**
|
|
484
|
+
* Base emotional state of the persona
|
|
485
|
+
*/
|
|
486
|
+
baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
|
|
487
|
+
/**
|
|
488
|
+
* How the persona confirms information
|
|
489
|
+
*/
|
|
490
|
+
confirmationStyle: 'EXPLICIT' | 'VAGUE';
|
|
491
|
+
/**
|
|
492
|
+
* Creation timestamp
|
|
493
|
+
*/
|
|
494
|
+
createdAt: string;
|
|
495
|
+
/**
|
|
496
|
+
* Gender of the persona
|
|
497
|
+
*/
|
|
498
|
+
gender: 'MALE' | 'FEMALE';
|
|
499
|
+
/**
|
|
500
|
+
* Whether the persona uses filler words like "um" and "uh"
|
|
501
|
+
*/
|
|
502
|
+
hasDisfluencies: boolean;
|
|
503
|
+
/**
|
|
504
|
+
* Maximum number of idle messages the persona will send before giving up
|
|
505
|
+
*/
|
|
506
|
+
idleMessageMaxSpokenCount: number;
|
|
507
|
+
/**
|
|
508
|
+
* Whether the idle message counter resets when the agent speaks
|
|
509
|
+
*/
|
|
510
|
+
idleMessageResetCountOnUserSpeechEnabled: boolean;
|
|
511
|
+
/**
|
|
512
|
+
* Messages the persona will say when the agent goes silent during a call. null =
|
|
513
|
+
* "Automatic": language-appropriate defaults are used at call time.
|
|
514
|
+
*/
|
|
515
|
+
idleMessages: Array<string> | null;
|
|
516
|
+
/**
|
|
517
|
+
* Seconds of silence before the persona sends an idle message
|
|
518
|
+
*/
|
|
519
|
+
idleTimeoutSeconds: number;
|
|
520
|
+
/**
|
|
521
|
+
* How clearly the persona expresses their intentions
|
|
522
|
+
*/
|
|
523
|
+
intentClarity: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
524
|
+
/**
|
|
525
|
+
* Primary language ISO 639-1 code for the persona
|
|
526
|
+
*/
|
|
527
|
+
language: 'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE';
|
|
528
|
+
/**
|
|
529
|
+
* How reliable the persona's memory is
|
|
530
|
+
*/
|
|
531
|
+
memoryReliability: 'HIGH' | 'LOW';
|
|
532
|
+
/**
|
|
533
|
+
* The name the agent will identify as during conversations
|
|
534
|
+
*/
|
|
535
|
+
name: string;
|
|
536
|
+
/**
|
|
537
|
+
* Additional custom properties about the persona
|
|
538
|
+
*/
|
|
539
|
+
properties: {
|
|
540
|
+
[key: string]: unknown;
|
|
541
|
+
};
|
|
542
|
+
/**
|
|
543
|
+
* Controls how quickly the persona responds to pauses in conversation (QUICK,
|
|
544
|
+
* NORMAL, RELAXED)
|
|
545
|
+
*/
|
|
546
|
+
responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
|
|
547
|
+
/**
|
|
548
|
+
* Speech clarity of the persona
|
|
549
|
+
*/
|
|
550
|
+
speechClarity: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
551
|
+
/**
|
|
552
|
+
* Speech pace of the persona
|
|
553
|
+
*/
|
|
554
|
+
speechPace: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
555
|
+
/**
|
|
556
|
+
* Languages the persona can understand. Multilingual combinations are limited by
|
|
557
|
+
* multilingual speech recognition support.
|
|
558
|
+
*/
|
|
559
|
+
understoodLanguages: Array<'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE'>;
|
|
560
|
+
/**
|
|
561
|
+
* Last update timestamp
|
|
562
|
+
*/
|
|
563
|
+
updatedAt: string;
|
|
564
|
+
/**
|
|
565
|
+
* Background story and behavioral patterns for the persona
|
|
566
|
+
*/
|
|
567
|
+
backstoryPrompt?: string | null;
|
|
568
|
+
/**
|
|
569
|
+
* Human-readable description of the persona
|
|
570
|
+
*/
|
|
571
|
+
description?: string | null;
|
|
572
|
+
/**
|
|
573
|
+
* Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
|
|
574
|
+
*/
|
|
575
|
+
secondaryLanguage?: 'EN' | null;
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
export interface CustomerFlowEdgeCaseAddResponse {
|
|
580
|
+
/**
|
|
581
|
+
* One way of running a customer flow.
|
|
582
|
+
*/
|
|
583
|
+
data: CustomerFlowEdgeCaseAddResponse.ScriptedFlowVariant | CustomerFlowEdgeCaseAddResponse.ImprovFlowVariant | CustomerFlowEdgeCaseAddResponse.VoicemailFlowVariant;
|
|
584
|
+
}
|
|
585
|
+
export declare namespace CustomerFlowEdgeCaseAddResponse {
|
|
586
|
+
/**
|
|
587
|
+
* One path through a scripted flow. The path engine owns which paths exist, so
|
|
588
|
+
* editing the graph is what creates and removes these.
|
|
589
|
+
*/
|
|
590
|
+
interface ScriptedFlowVariant {
|
|
591
|
+
id: string;
|
|
592
|
+
/**
|
|
593
|
+
* Graded on top of the flow's own expectations, for this variant only.
|
|
594
|
+
*/
|
|
595
|
+
additionalExpectations: Array<ScriptedFlowVariant.AdditionalExpectation>;
|
|
596
|
+
/**
|
|
597
|
+
* Creation timestamp in ISO 8601 format
|
|
598
|
+
*/
|
|
599
|
+
createdAt: string;
|
|
600
|
+
/**
|
|
601
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
602
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
603
|
+
* project.
|
|
604
|
+
*/
|
|
605
|
+
environment: ScriptedFlowVariant.Environment | null;
|
|
606
|
+
isGenerated: boolean;
|
|
607
|
+
/**
|
|
608
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
609
|
+
*/
|
|
610
|
+
personaOverride: ScriptedFlowVariant.PersonaOverride | null;
|
|
611
|
+
precededByCustomerFlowId: string | null;
|
|
612
|
+
precededByCustomerFlowVariantId: string | null;
|
|
613
|
+
/**
|
|
614
|
+
* The one path through the graph this variant runs, in order. Linear by
|
|
615
|
+
* construction, so these steps never nest.
|
|
616
|
+
*/
|
|
617
|
+
steps: Array<CustomerFlowAPI.FlowStep>;
|
|
618
|
+
title: string;
|
|
619
|
+
type: 'SCRIPTED';
|
|
620
|
+
/**
|
|
621
|
+
* Last update timestamp in ISO 8601 format
|
|
622
|
+
*/
|
|
623
|
+
updatedAt: string;
|
|
624
|
+
}
|
|
625
|
+
namespace ScriptedFlowVariant {
|
|
626
|
+
/**
|
|
627
|
+
* One thing the agent under test is graded against.
|
|
628
|
+
*/
|
|
629
|
+
interface AdditionalExpectation {
|
|
630
|
+
id: string;
|
|
631
|
+
/**
|
|
632
|
+
* What the agent under test is graded against.
|
|
633
|
+
*/
|
|
634
|
+
prompt: string;
|
|
635
|
+
}
|
|
636
|
+
/**
|
|
637
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
638
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
639
|
+
* project.
|
|
640
|
+
*/
|
|
641
|
+
interface Environment {
|
|
642
|
+
id: string;
|
|
643
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
644
|
+
/**
|
|
645
|
+
* Creation timestamp in ISO 8601 format
|
|
646
|
+
*/
|
|
647
|
+
createdAt: string;
|
|
648
|
+
name: string;
|
|
649
|
+
/**
|
|
650
|
+
* Last update timestamp in ISO 8601 format
|
|
651
|
+
*/
|
|
652
|
+
updatedAt: string;
|
|
653
|
+
description?: string | null;
|
|
654
|
+
}
|
|
655
|
+
/**
|
|
656
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
657
|
+
*/
|
|
658
|
+
interface PersonaOverride {
|
|
659
|
+
/**
|
|
660
|
+
* Unique identifier of the persona
|
|
661
|
+
*/
|
|
662
|
+
id: string;
|
|
663
|
+
/**
|
|
664
|
+
* Accent of the persona, defined using ISO 3166-1 alpha-2 country codes with
|
|
665
|
+
* optional variants
|
|
666
|
+
*/
|
|
667
|
+
accent: 'US' | 'US_X_SOUTH' | 'GB' | 'ES' | 'DE' | 'IN' | 'FR' | 'NL' | 'SA' | 'GR' | 'AU' | 'IT' | 'ID' | 'TH' | 'JP' | 'NZ' | 'PH' | 'SG' | 'MY' | 'HK' | 'TR' | 'PT' | 'IL';
|
|
668
|
+
/**
|
|
669
|
+
* Background noise setting
|
|
670
|
+
*/
|
|
671
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
672
|
+
/**
|
|
673
|
+
* Base emotional state of the persona
|
|
674
|
+
*/
|
|
675
|
+
baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
|
|
676
|
+
/**
|
|
677
|
+
* How the persona confirms information
|
|
678
|
+
*/
|
|
679
|
+
confirmationStyle: 'EXPLICIT' | 'VAGUE';
|
|
680
|
+
/**
|
|
681
|
+
* Creation timestamp
|
|
682
|
+
*/
|
|
683
|
+
createdAt: string;
|
|
684
|
+
/**
|
|
685
|
+
* Gender of the persona
|
|
686
|
+
*/
|
|
687
|
+
gender: 'MALE' | 'FEMALE';
|
|
688
|
+
/**
|
|
689
|
+
* Whether the persona uses filler words like "um" and "uh"
|
|
690
|
+
*/
|
|
691
|
+
hasDisfluencies: boolean;
|
|
692
|
+
/**
|
|
693
|
+
* Maximum number of idle messages the persona will send before giving up
|
|
694
|
+
*/
|
|
695
|
+
idleMessageMaxSpokenCount: number;
|
|
696
|
+
/**
|
|
697
|
+
* Whether the idle message counter resets when the agent speaks
|
|
698
|
+
*/
|
|
699
|
+
idleMessageResetCountOnUserSpeechEnabled: boolean;
|
|
700
|
+
/**
|
|
701
|
+
* Messages the persona will say when the agent goes silent during a call. null =
|
|
702
|
+
* "Automatic": language-appropriate defaults are used at call time.
|
|
703
|
+
*/
|
|
704
|
+
idleMessages: Array<string> | null;
|
|
705
|
+
/**
|
|
706
|
+
* Seconds of silence before the persona sends an idle message
|
|
707
|
+
*/
|
|
708
|
+
idleTimeoutSeconds: number;
|
|
709
|
+
/**
|
|
710
|
+
* How clearly the persona expresses their intentions
|
|
711
|
+
*/
|
|
712
|
+
intentClarity: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
713
|
+
/**
|
|
714
|
+
* Primary language ISO 639-1 code for the persona
|
|
715
|
+
*/
|
|
716
|
+
language: 'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE';
|
|
717
|
+
/**
|
|
718
|
+
* How reliable the persona's memory is
|
|
719
|
+
*/
|
|
720
|
+
memoryReliability: 'HIGH' | 'LOW';
|
|
721
|
+
/**
|
|
722
|
+
* The name the agent will identify as during conversations
|
|
723
|
+
*/
|
|
724
|
+
name: string;
|
|
725
|
+
/**
|
|
726
|
+
* Additional custom properties about the persona
|
|
727
|
+
*/
|
|
728
|
+
properties: {
|
|
729
|
+
[key: string]: unknown;
|
|
730
|
+
};
|
|
731
|
+
/**
|
|
732
|
+
* Controls how quickly the persona responds to pauses in conversation (QUICK,
|
|
733
|
+
* NORMAL, RELAXED)
|
|
734
|
+
*/
|
|
735
|
+
responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
|
|
736
|
+
/**
|
|
737
|
+
* Speech clarity of the persona
|
|
738
|
+
*/
|
|
739
|
+
speechClarity: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
740
|
+
/**
|
|
741
|
+
* Speech pace of the persona
|
|
742
|
+
*/
|
|
743
|
+
speechPace: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
744
|
+
/**
|
|
745
|
+
* Languages the persona can understand. Multilingual combinations are limited by
|
|
746
|
+
* multilingual speech recognition support.
|
|
747
|
+
*/
|
|
748
|
+
understoodLanguages: Array<'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE'>;
|
|
749
|
+
/**
|
|
750
|
+
* Last update timestamp
|
|
751
|
+
*/
|
|
752
|
+
updatedAt: string;
|
|
753
|
+
/**
|
|
754
|
+
* Background story and behavioral patterns for the persona
|
|
755
|
+
*/
|
|
756
|
+
backstoryPrompt?: string | null;
|
|
757
|
+
/**
|
|
758
|
+
* Human-readable description of the persona
|
|
759
|
+
*/
|
|
760
|
+
description?: string | null;
|
|
761
|
+
/**
|
|
762
|
+
* Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
|
|
763
|
+
*/
|
|
764
|
+
secondaryLanguage?: 'EN' | null;
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
/**
|
|
768
|
+
* One brief to run an improv flow with.
|
|
769
|
+
*/
|
|
770
|
+
interface ImprovFlowVariant {
|
|
771
|
+
id: string;
|
|
772
|
+
/**
|
|
773
|
+
* Graded on top of the flow's own expectations, for this variant only.
|
|
774
|
+
*/
|
|
775
|
+
additionalExpectations: Array<ImprovFlowVariant.AdditionalExpectation>;
|
|
776
|
+
/**
|
|
777
|
+
* Creation timestamp in ISO 8601 format
|
|
778
|
+
*/
|
|
779
|
+
createdAt: string;
|
|
780
|
+
/**
|
|
781
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
782
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
783
|
+
* project.
|
|
784
|
+
*/
|
|
785
|
+
environment: ImprovFlowVariant.Environment | null;
|
|
786
|
+
isGenerated: boolean;
|
|
787
|
+
/**
|
|
788
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
789
|
+
*/
|
|
790
|
+
personaOverride: ImprovFlowVariant.PersonaOverride | null;
|
|
791
|
+
precededByCustomerFlowId: string | null;
|
|
792
|
+
precededByCustomerFlowVariantId: string | null;
|
|
793
|
+
title: string;
|
|
794
|
+
type: 'IMPROV';
|
|
795
|
+
/**
|
|
796
|
+
* Last update timestamp in ISO 8601 format
|
|
797
|
+
*/
|
|
798
|
+
updatedAt: string;
|
|
799
|
+
/**
|
|
800
|
+
* The brief the simulated customer improvises from.
|
|
801
|
+
*/
|
|
802
|
+
prompt?: string | null;
|
|
803
|
+
}
|
|
804
|
+
namespace ImprovFlowVariant {
|
|
805
|
+
/**
|
|
806
|
+
* One thing the agent under test is graded against.
|
|
807
|
+
*/
|
|
808
|
+
interface AdditionalExpectation {
|
|
809
|
+
id: string;
|
|
810
|
+
/**
|
|
811
|
+
* What the agent under test is graded against.
|
|
812
|
+
*/
|
|
813
|
+
prompt: string;
|
|
814
|
+
}
|
|
815
|
+
/**
|
|
816
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
817
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
818
|
+
* project.
|
|
819
|
+
*/
|
|
820
|
+
interface Environment {
|
|
821
|
+
id: string;
|
|
822
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
823
|
+
/**
|
|
824
|
+
* Creation timestamp in ISO 8601 format
|
|
825
|
+
*/
|
|
826
|
+
createdAt: string;
|
|
827
|
+
name: string;
|
|
828
|
+
/**
|
|
829
|
+
* Last update timestamp in ISO 8601 format
|
|
830
|
+
*/
|
|
831
|
+
updatedAt: string;
|
|
832
|
+
description?: string | null;
|
|
833
|
+
}
|
|
834
|
+
/**
|
|
835
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
836
|
+
*/
|
|
837
|
+
interface PersonaOverride {
|
|
838
|
+
/**
|
|
839
|
+
* Unique identifier of the persona
|
|
840
|
+
*/
|
|
841
|
+
id: string;
|
|
842
|
+
/**
|
|
843
|
+
* Accent of the persona, defined using ISO 3166-1 alpha-2 country codes with
|
|
844
|
+
* optional variants
|
|
845
|
+
*/
|
|
846
|
+
accent: 'US' | 'US_X_SOUTH' | 'GB' | 'ES' | 'DE' | 'IN' | 'FR' | 'NL' | 'SA' | 'GR' | 'AU' | 'IT' | 'ID' | 'TH' | 'JP' | 'NZ' | 'PH' | 'SG' | 'MY' | 'HK' | 'TR' | 'PT' | 'IL';
|
|
847
|
+
/**
|
|
848
|
+
* Background noise setting
|
|
849
|
+
*/
|
|
850
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
851
|
+
/**
|
|
852
|
+
* Base emotional state of the persona
|
|
853
|
+
*/
|
|
854
|
+
baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
|
|
855
|
+
/**
|
|
856
|
+
* How the persona confirms information
|
|
857
|
+
*/
|
|
858
|
+
confirmationStyle: 'EXPLICIT' | 'VAGUE';
|
|
859
|
+
/**
|
|
860
|
+
* Creation timestamp
|
|
861
|
+
*/
|
|
862
|
+
createdAt: string;
|
|
863
|
+
/**
|
|
864
|
+
* Gender of the persona
|
|
865
|
+
*/
|
|
866
|
+
gender: 'MALE' | 'FEMALE';
|
|
867
|
+
/**
|
|
868
|
+
* Whether the persona uses filler words like "um" and "uh"
|
|
869
|
+
*/
|
|
870
|
+
hasDisfluencies: boolean;
|
|
871
|
+
/**
|
|
872
|
+
* Maximum number of idle messages the persona will send before giving up
|
|
873
|
+
*/
|
|
874
|
+
idleMessageMaxSpokenCount: number;
|
|
875
|
+
/**
|
|
876
|
+
* Whether the idle message counter resets when the agent speaks
|
|
877
|
+
*/
|
|
878
|
+
idleMessageResetCountOnUserSpeechEnabled: boolean;
|
|
879
|
+
/**
|
|
880
|
+
* Messages the persona will say when the agent goes silent during a call. null =
|
|
881
|
+
* "Automatic": language-appropriate defaults are used at call time.
|
|
882
|
+
*/
|
|
883
|
+
idleMessages: Array<string> | null;
|
|
884
|
+
/**
|
|
885
|
+
* Seconds of silence before the persona sends an idle message
|
|
886
|
+
*/
|
|
887
|
+
idleTimeoutSeconds: number;
|
|
888
|
+
/**
|
|
889
|
+
* How clearly the persona expresses their intentions
|
|
890
|
+
*/
|
|
891
|
+
intentClarity: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
892
|
+
/**
|
|
893
|
+
* Primary language ISO 639-1 code for the persona
|
|
894
|
+
*/
|
|
895
|
+
language: 'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE';
|
|
896
|
+
/**
|
|
897
|
+
* How reliable the persona's memory is
|
|
898
|
+
*/
|
|
899
|
+
memoryReliability: 'HIGH' | 'LOW';
|
|
900
|
+
/**
|
|
901
|
+
* The name the agent will identify as during conversations
|
|
902
|
+
*/
|
|
903
|
+
name: string;
|
|
904
|
+
/**
|
|
905
|
+
* Additional custom properties about the persona
|
|
906
|
+
*/
|
|
907
|
+
properties: {
|
|
908
|
+
[key: string]: unknown;
|
|
909
|
+
};
|
|
910
|
+
/**
|
|
911
|
+
* Controls how quickly the persona responds to pauses in conversation (QUICK,
|
|
912
|
+
* NORMAL, RELAXED)
|
|
913
|
+
*/
|
|
914
|
+
responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
|
|
915
|
+
/**
|
|
916
|
+
* Speech clarity of the persona
|
|
917
|
+
*/
|
|
918
|
+
speechClarity: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
919
|
+
/**
|
|
920
|
+
* Speech pace of the persona
|
|
921
|
+
*/
|
|
922
|
+
speechPace: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
923
|
+
/**
|
|
924
|
+
* Languages the persona can understand. Multilingual combinations are limited by
|
|
925
|
+
* multilingual speech recognition support.
|
|
926
|
+
*/
|
|
927
|
+
understoodLanguages: Array<'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE'>;
|
|
928
|
+
/**
|
|
929
|
+
* Last update timestamp
|
|
930
|
+
*/
|
|
931
|
+
updatedAt: string;
|
|
932
|
+
/**
|
|
933
|
+
* Background story and behavioral patterns for the persona
|
|
934
|
+
*/
|
|
935
|
+
backstoryPrompt?: string | null;
|
|
936
|
+
/**
|
|
937
|
+
* Human-readable description of the persona
|
|
938
|
+
*/
|
|
939
|
+
description?: string | null;
|
|
940
|
+
/**
|
|
941
|
+
* Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
|
|
942
|
+
*/
|
|
943
|
+
secondaryLanguage?: 'EN' | null;
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
/**
|
|
947
|
+
* One voicemail greeting.
|
|
948
|
+
*/
|
|
949
|
+
interface VoicemailFlowVariant {
|
|
950
|
+
id: string;
|
|
951
|
+
/**
|
|
952
|
+
* Graded on top of the flow's own expectations, for this variant only.
|
|
953
|
+
*/
|
|
954
|
+
additionalExpectations: Array<VoicemailFlowVariant.AdditionalExpectation>;
|
|
955
|
+
/**
|
|
956
|
+
* Creation timestamp in ISO 8601 format
|
|
957
|
+
*/
|
|
958
|
+
createdAt: string;
|
|
959
|
+
/**
|
|
960
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
961
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
962
|
+
* project.
|
|
963
|
+
*/
|
|
964
|
+
environment: VoicemailFlowVariant.Environment | null;
|
|
965
|
+
isGenerated: boolean;
|
|
966
|
+
/**
|
|
967
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
968
|
+
*/
|
|
969
|
+
personaOverride: VoicemailFlowVariant.PersonaOverride | null;
|
|
970
|
+
precededByCustomerFlowId: string | null;
|
|
971
|
+
precededByCustomerFlowVariantId: string | null;
|
|
972
|
+
title: string;
|
|
973
|
+
type: 'VOICEMAIL';
|
|
974
|
+
/**
|
|
975
|
+
* Last update timestamp in ISO 8601 format
|
|
976
|
+
*/
|
|
977
|
+
updatedAt: string;
|
|
978
|
+
}
|
|
979
|
+
namespace VoicemailFlowVariant {
|
|
980
|
+
/**
|
|
981
|
+
* One thing the agent under test is graded against.
|
|
982
|
+
*/
|
|
983
|
+
interface AdditionalExpectation {
|
|
984
|
+
id: string;
|
|
985
|
+
/**
|
|
986
|
+
* What the agent under test is graded against.
|
|
987
|
+
*/
|
|
988
|
+
prompt: string;
|
|
989
|
+
}
|
|
990
|
+
/**
|
|
991
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
992
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
993
|
+
* project.
|
|
994
|
+
*/
|
|
995
|
+
interface Environment {
|
|
996
|
+
id: string;
|
|
997
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
998
|
+
/**
|
|
999
|
+
* Creation timestamp in ISO 8601 format
|
|
1000
|
+
*/
|
|
1001
|
+
createdAt: string;
|
|
1002
|
+
name: string;
|
|
1003
|
+
/**
|
|
1004
|
+
* Last update timestamp in ISO 8601 format
|
|
1005
|
+
*/
|
|
1006
|
+
updatedAt: string;
|
|
1007
|
+
description?: string | null;
|
|
1008
|
+
}
|
|
1009
|
+
/**
|
|
1010
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
1011
|
+
*/
|
|
1012
|
+
interface PersonaOverride {
|
|
1013
|
+
/**
|
|
1014
|
+
* Unique identifier of the persona
|
|
1015
|
+
*/
|
|
1016
|
+
id: string;
|
|
1017
|
+
/**
|
|
1018
|
+
* Accent of the persona, defined using ISO 3166-1 alpha-2 country codes with
|
|
1019
|
+
* optional variants
|
|
1020
|
+
*/
|
|
1021
|
+
accent: 'US' | 'US_X_SOUTH' | 'GB' | 'ES' | 'DE' | 'IN' | 'FR' | 'NL' | 'SA' | 'GR' | 'AU' | 'IT' | 'ID' | 'TH' | 'JP' | 'NZ' | 'PH' | 'SG' | 'MY' | 'HK' | 'TR' | 'PT' | 'IL';
|
|
1022
|
+
/**
|
|
1023
|
+
* Background noise setting
|
|
1024
|
+
*/
|
|
1025
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
1026
|
+
/**
|
|
1027
|
+
* Base emotional state of the persona
|
|
1028
|
+
*/
|
|
1029
|
+
baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
|
|
1030
|
+
/**
|
|
1031
|
+
* How the persona confirms information
|
|
1032
|
+
*/
|
|
1033
|
+
confirmationStyle: 'EXPLICIT' | 'VAGUE';
|
|
1034
|
+
/**
|
|
1035
|
+
* Creation timestamp
|
|
1036
|
+
*/
|
|
1037
|
+
createdAt: string;
|
|
1038
|
+
/**
|
|
1039
|
+
* Gender of the persona
|
|
1040
|
+
*/
|
|
1041
|
+
gender: 'MALE' | 'FEMALE';
|
|
1042
|
+
/**
|
|
1043
|
+
* Whether the persona uses filler words like "um" and "uh"
|
|
1044
|
+
*/
|
|
1045
|
+
hasDisfluencies: boolean;
|
|
1046
|
+
/**
|
|
1047
|
+
* Maximum number of idle messages the persona will send before giving up
|
|
1048
|
+
*/
|
|
1049
|
+
idleMessageMaxSpokenCount: number;
|
|
1050
|
+
/**
|
|
1051
|
+
* Whether the idle message counter resets when the agent speaks
|
|
1052
|
+
*/
|
|
1053
|
+
idleMessageResetCountOnUserSpeechEnabled: boolean;
|
|
1054
|
+
/**
|
|
1055
|
+
* Messages the persona will say when the agent goes silent during a call. null =
|
|
1056
|
+
* "Automatic": language-appropriate defaults are used at call time.
|
|
1057
|
+
*/
|
|
1058
|
+
idleMessages: Array<string> | null;
|
|
1059
|
+
/**
|
|
1060
|
+
* Seconds of silence before the persona sends an idle message
|
|
1061
|
+
*/
|
|
1062
|
+
idleTimeoutSeconds: number;
|
|
1063
|
+
/**
|
|
1064
|
+
* How clearly the persona expresses their intentions
|
|
1065
|
+
*/
|
|
1066
|
+
intentClarity: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
1067
|
+
/**
|
|
1068
|
+
* Primary language ISO 639-1 code for the persona
|
|
1069
|
+
*/
|
|
1070
|
+
language: 'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE';
|
|
1071
|
+
/**
|
|
1072
|
+
* How reliable the persona's memory is
|
|
1073
|
+
*/
|
|
1074
|
+
memoryReliability: 'HIGH' | 'LOW';
|
|
1075
|
+
/**
|
|
1076
|
+
* The name the agent will identify as during conversations
|
|
1077
|
+
*/
|
|
1078
|
+
name: string;
|
|
1079
|
+
/**
|
|
1080
|
+
* Additional custom properties about the persona
|
|
1081
|
+
*/
|
|
1082
|
+
properties: {
|
|
1083
|
+
[key: string]: unknown;
|
|
1084
|
+
};
|
|
1085
|
+
/**
|
|
1086
|
+
* Controls how quickly the persona responds to pauses in conversation (QUICK,
|
|
1087
|
+
* NORMAL, RELAXED)
|
|
1088
|
+
*/
|
|
1089
|
+
responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
|
|
1090
|
+
/**
|
|
1091
|
+
* Speech clarity of the persona
|
|
1092
|
+
*/
|
|
1093
|
+
speechClarity: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
1094
|
+
/**
|
|
1095
|
+
* Speech pace of the persona
|
|
1096
|
+
*/
|
|
1097
|
+
speechPace: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
1098
|
+
/**
|
|
1099
|
+
* Languages the persona can understand. Multilingual combinations are limited by
|
|
1100
|
+
* multilingual speech recognition support.
|
|
1101
|
+
*/
|
|
1102
|
+
understoodLanguages: Array<'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE'>;
|
|
1103
|
+
/**
|
|
1104
|
+
* Last update timestamp
|
|
1105
|
+
*/
|
|
1106
|
+
updatedAt: string;
|
|
1107
|
+
/**
|
|
1108
|
+
* Background story and behavioral patterns for the persona
|
|
1109
|
+
*/
|
|
1110
|
+
backstoryPrompt?: string | null;
|
|
1111
|
+
/**
|
|
1112
|
+
* Human-readable description of the persona
|
|
1113
|
+
*/
|
|
1114
|
+
description?: string | null;
|
|
1115
|
+
/**
|
|
1116
|
+
* Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
|
|
1117
|
+
*/
|
|
1118
|
+
secondaryLanguage?: 'EN' | null;
|
|
1119
|
+
}
|
|
1120
|
+
}
|
|
1121
|
+
}
|
|
1122
|
+
export interface CustomerFlowEdgeCasePromoteResponse {
|
|
1123
|
+
/**
|
|
1124
|
+
* One way of running a customer flow.
|
|
1125
|
+
*/
|
|
1126
|
+
data: CustomerFlowEdgeCasePromoteResponse.ScriptedFlowVariant | CustomerFlowEdgeCasePromoteResponse.ImprovFlowVariant | CustomerFlowEdgeCasePromoteResponse.VoicemailFlowVariant;
|
|
1127
|
+
}
|
|
1128
|
+
export declare namespace CustomerFlowEdgeCasePromoteResponse {
|
|
1129
|
+
/**
|
|
1130
|
+
* One path through a scripted flow. The path engine owns which paths exist, so
|
|
1131
|
+
* editing the graph is what creates and removes these.
|
|
1132
|
+
*/
|
|
1133
|
+
interface ScriptedFlowVariant {
|
|
1134
|
+
id: string;
|
|
1135
|
+
/**
|
|
1136
|
+
* Graded on top of the flow's own expectations, for this variant only.
|
|
1137
|
+
*/
|
|
1138
|
+
additionalExpectations: Array<ScriptedFlowVariant.AdditionalExpectation>;
|
|
1139
|
+
/**
|
|
1140
|
+
* Creation timestamp in ISO 8601 format
|
|
1141
|
+
*/
|
|
1142
|
+
createdAt: string;
|
|
1143
|
+
/**
|
|
1144
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
1145
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
1146
|
+
* project.
|
|
1147
|
+
*/
|
|
1148
|
+
environment: ScriptedFlowVariant.Environment | null;
|
|
1149
|
+
isGenerated: boolean;
|
|
1150
|
+
/**
|
|
1151
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
1152
|
+
*/
|
|
1153
|
+
personaOverride: ScriptedFlowVariant.PersonaOverride | null;
|
|
1154
|
+
precededByCustomerFlowId: string | null;
|
|
1155
|
+
precededByCustomerFlowVariantId: string | null;
|
|
1156
|
+
/**
|
|
1157
|
+
* The one path through the graph this variant runs, in order. Linear by
|
|
1158
|
+
* construction, so these steps never nest.
|
|
1159
|
+
*/
|
|
1160
|
+
steps: Array<CustomerFlowAPI.FlowStep>;
|
|
1161
|
+
title: string;
|
|
1162
|
+
type: 'SCRIPTED';
|
|
1163
|
+
/**
|
|
1164
|
+
* Last update timestamp in ISO 8601 format
|
|
1165
|
+
*/
|
|
1166
|
+
updatedAt: string;
|
|
1167
|
+
}
|
|
1168
|
+
namespace ScriptedFlowVariant {
|
|
1169
|
+
/**
|
|
1170
|
+
* One thing the agent under test is graded against.
|
|
1171
|
+
*/
|
|
1172
|
+
interface AdditionalExpectation {
|
|
1173
|
+
id: string;
|
|
1174
|
+
/**
|
|
1175
|
+
* What the agent under test is graded against.
|
|
1176
|
+
*/
|
|
1177
|
+
prompt: string;
|
|
1178
|
+
}
|
|
1179
|
+
/**
|
|
1180
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
1181
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
1182
|
+
* project.
|
|
1183
|
+
*/
|
|
1184
|
+
interface Environment {
|
|
1185
|
+
id: string;
|
|
1186
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
1187
|
+
/**
|
|
1188
|
+
* Creation timestamp in ISO 8601 format
|
|
1189
|
+
*/
|
|
1190
|
+
createdAt: string;
|
|
1191
|
+
name: string;
|
|
1192
|
+
/**
|
|
1193
|
+
* Last update timestamp in ISO 8601 format
|
|
1194
|
+
*/
|
|
1195
|
+
updatedAt: string;
|
|
1196
|
+
description?: string | null;
|
|
1197
|
+
}
|
|
1198
|
+
/**
|
|
1199
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
1200
|
+
*/
|
|
1201
|
+
interface PersonaOverride {
|
|
1202
|
+
/**
|
|
1203
|
+
* Unique identifier of the persona
|
|
1204
|
+
*/
|
|
1205
|
+
id: string;
|
|
1206
|
+
/**
|
|
1207
|
+
* Accent of the persona, defined using ISO 3166-1 alpha-2 country codes with
|
|
1208
|
+
* optional variants
|
|
1209
|
+
*/
|
|
1210
|
+
accent: 'US' | 'US_X_SOUTH' | 'GB' | 'ES' | 'DE' | 'IN' | 'FR' | 'NL' | 'SA' | 'GR' | 'AU' | 'IT' | 'ID' | 'TH' | 'JP' | 'NZ' | 'PH' | 'SG' | 'MY' | 'HK' | 'TR' | 'PT' | 'IL';
|
|
1211
|
+
/**
|
|
1212
|
+
* Background noise setting
|
|
1213
|
+
*/
|
|
1214
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
1215
|
+
/**
|
|
1216
|
+
* Base emotional state of the persona
|
|
1217
|
+
*/
|
|
1218
|
+
baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
|
|
1219
|
+
/**
|
|
1220
|
+
* How the persona confirms information
|
|
1221
|
+
*/
|
|
1222
|
+
confirmationStyle: 'EXPLICIT' | 'VAGUE';
|
|
1223
|
+
/**
|
|
1224
|
+
* Creation timestamp
|
|
1225
|
+
*/
|
|
1226
|
+
createdAt: string;
|
|
1227
|
+
/**
|
|
1228
|
+
* Gender of the persona
|
|
1229
|
+
*/
|
|
1230
|
+
gender: 'MALE' | 'FEMALE';
|
|
1231
|
+
/**
|
|
1232
|
+
* Whether the persona uses filler words like "um" and "uh"
|
|
1233
|
+
*/
|
|
1234
|
+
hasDisfluencies: boolean;
|
|
1235
|
+
/**
|
|
1236
|
+
* Maximum number of idle messages the persona will send before giving up
|
|
1237
|
+
*/
|
|
1238
|
+
idleMessageMaxSpokenCount: number;
|
|
1239
|
+
/**
|
|
1240
|
+
* Whether the idle message counter resets when the agent speaks
|
|
1241
|
+
*/
|
|
1242
|
+
idleMessageResetCountOnUserSpeechEnabled: boolean;
|
|
1243
|
+
/**
|
|
1244
|
+
* Messages the persona will say when the agent goes silent during a call. null =
|
|
1245
|
+
* "Automatic": language-appropriate defaults are used at call time.
|
|
1246
|
+
*/
|
|
1247
|
+
idleMessages: Array<string> | null;
|
|
1248
|
+
/**
|
|
1249
|
+
* Seconds of silence before the persona sends an idle message
|
|
1250
|
+
*/
|
|
1251
|
+
idleTimeoutSeconds: number;
|
|
1252
|
+
/**
|
|
1253
|
+
* How clearly the persona expresses their intentions
|
|
1254
|
+
*/
|
|
1255
|
+
intentClarity: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
1256
|
+
/**
|
|
1257
|
+
* Primary language ISO 639-1 code for the persona
|
|
1258
|
+
*/
|
|
1259
|
+
language: 'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE';
|
|
1260
|
+
/**
|
|
1261
|
+
* How reliable the persona's memory is
|
|
1262
|
+
*/
|
|
1263
|
+
memoryReliability: 'HIGH' | 'LOW';
|
|
1264
|
+
/**
|
|
1265
|
+
* The name the agent will identify as during conversations
|
|
1266
|
+
*/
|
|
1267
|
+
name: string;
|
|
1268
|
+
/**
|
|
1269
|
+
* Additional custom properties about the persona
|
|
1270
|
+
*/
|
|
1271
|
+
properties: {
|
|
1272
|
+
[key: string]: unknown;
|
|
1273
|
+
};
|
|
1274
|
+
/**
|
|
1275
|
+
* Controls how quickly the persona responds to pauses in conversation (QUICK,
|
|
1276
|
+
* NORMAL, RELAXED)
|
|
1277
|
+
*/
|
|
1278
|
+
responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
|
|
1279
|
+
/**
|
|
1280
|
+
* Speech clarity of the persona
|
|
1281
|
+
*/
|
|
1282
|
+
speechClarity: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
1283
|
+
/**
|
|
1284
|
+
* Speech pace of the persona
|
|
1285
|
+
*/
|
|
1286
|
+
speechPace: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
1287
|
+
/**
|
|
1288
|
+
* Languages the persona can understand. Multilingual combinations are limited by
|
|
1289
|
+
* multilingual speech recognition support.
|
|
1290
|
+
*/
|
|
1291
|
+
understoodLanguages: Array<'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE'>;
|
|
1292
|
+
/**
|
|
1293
|
+
* Last update timestamp
|
|
1294
|
+
*/
|
|
1295
|
+
updatedAt: string;
|
|
1296
|
+
/**
|
|
1297
|
+
* Background story and behavioral patterns for the persona
|
|
1298
|
+
*/
|
|
1299
|
+
backstoryPrompt?: string | null;
|
|
1300
|
+
/**
|
|
1301
|
+
* Human-readable description of the persona
|
|
1302
|
+
*/
|
|
1303
|
+
description?: string | null;
|
|
1304
|
+
/**
|
|
1305
|
+
* Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
|
|
1306
|
+
*/
|
|
1307
|
+
secondaryLanguage?: 'EN' | null;
|
|
1308
|
+
}
|
|
1309
|
+
}
|
|
1310
|
+
/**
|
|
1311
|
+
* One brief to run an improv flow with.
|
|
1312
|
+
*/
|
|
1313
|
+
interface ImprovFlowVariant {
|
|
1314
|
+
id: string;
|
|
1315
|
+
/**
|
|
1316
|
+
* Graded on top of the flow's own expectations, for this variant only.
|
|
1317
|
+
*/
|
|
1318
|
+
additionalExpectations: Array<ImprovFlowVariant.AdditionalExpectation>;
|
|
1319
|
+
/**
|
|
1320
|
+
* Creation timestamp in ISO 8601 format
|
|
1321
|
+
*/
|
|
1322
|
+
createdAt: string;
|
|
1323
|
+
/**
|
|
1324
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
1325
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
1326
|
+
* project.
|
|
1327
|
+
*/
|
|
1328
|
+
environment: ImprovFlowVariant.Environment | null;
|
|
1329
|
+
isGenerated: boolean;
|
|
1330
|
+
/**
|
|
1331
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
1332
|
+
*/
|
|
1333
|
+
personaOverride: ImprovFlowVariant.PersonaOverride | null;
|
|
1334
|
+
precededByCustomerFlowId: string | null;
|
|
1335
|
+
precededByCustomerFlowVariantId: string | null;
|
|
1336
|
+
title: string;
|
|
1337
|
+
type: 'IMPROV';
|
|
1338
|
+
/**
|
|
1339
|
+
* Last update timestamp in ISO 8601 format
|
|
1340
|
+
*/
|
|
1341
|
+
updatedAt: string;
|
|
1342
|
+
/**
|
|
1343
|
+
* The brief the simulated customer improvises from.
|
|
1344
|
+
*/
|
|
1345
|
+
prompt?: string | null;
|
|
1346
|
+
}
|
|
1347
|
+
namespace ImprovFlowVariant {
|
|
1348
|
+
/**
|
|
1349
|
+
* One thing the agent under test is graded against.
|
|
1350
|
+
*/
|
|
1351
|
+
interface AdditionalExpectation {
|
|
1352
|
+
id: string;
|
|
1353
|
+
/**
|
|
1354
|
+
* What the agent under test is graded against.
|
|
1355
|
+
*/
|
|
1356
|
+
prompt: string;
|
|
1357
|
+
}
|
|
1358
|
+
/**
|
|
1359
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
1360
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
1361
|
+
* project.
|
|
1362
|
+
*/
|
|
1363
|
+
interface Environment {
|
|
1364
|
+
id: string;
|
|
1365
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
1366
|
+
/**
|
|
1367
|
+
* Creation timestamp in ISO 8601 format
|
|
1368
|
+
*/
|
|
1369
|
+
createdAt: string;
|
|
1370
|
+
name: string;
|
|
1371
|
+
/**
|
|
1372
|
+
* Last update timestamp in ISO 8601 format
|
|
1373
|
+
*/
|
|
1374
|
+
updatedAt: string;
|
|
1375
|
+
description?: string | null;
|
|
1376
|
+
}
|
|
1377
|
+
/**
|
|
1378
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
1379
|
+
*/
|
|
1380
|
+
interface PersonaOverride {
|
|
1381
|
+
/**
|
|
1382
|
+
* Unique identifier of the persona
|
|
1383
|
+
*/
|
|
1384
|
+
id: string;
|
|
1385
|
+
/**
|
|
1386
|
+
* Accent of the persona, defined using ISO 3166-1 alpha-2 country codes with
|
|
1387
|
+
* optional variants
|
|
1388
|
+
*/
|
|
1389
|
+
accent: 'US' | 'US_X_SOUTH' | 'GB' | 'ES' | 'DE' | 'IN' | 'FR' | 'NL' | 'SA' | 'GR' | 'AU' | 'IT' | 'ID' | 'TH' | 'JP' | 'NZ' | 'PH' | 'SG' | 'MY' | 'HK' | 'TR' | 'PT' | 'IL';
|
|
1390
|
+
/**
|
|
1391
|
+
* Background noise setting
|
|
1392
|
+
*/
|
|
1393
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
1394
|
+
/**
|
|
1395
|
+
* Base emotional state of the persona
|
|
1396
|
+
*/
|
|
1397
|
+
baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
|
|
1398
|
+
/**
|
|
1399
|
+
* How the persona confirms information
|
|
1400
|
+
*/
|
|
1401
|
+
confirmationStyle: 'EXPLICIT' | 'VAGUE';
|
|
1402
|
+
/**
|
|
1403
|
+
* Creation timestamp
|
|
1404
|
+
*/
|
|
1405
|
+
createdAt: string;
|
|
1406
|
+
/**
|
|
1407
|
+
* Gender of the persona
|
|
1408
|
+
*/
|
|
1409
|
+
gender: 'MALE' | 'FEMALE';
|
|
1410
|
+
/**
|
|
1411
|
+
* Whether the persona uses filler words like "um" and "uh"
|
|
1412
|
+
*/
|
|
1413
|
+
hasDisfluencies: boolean;
|
|
1414
|
+
/**
|
|
1415
|
+
* Maximum number of idle messages the persona will send before giving up
|
|
1416
|
+
*/
|
|
1417
|
+
idleMessageMaxSpokenCount: number;
|
|
1418
|
+
/**
|
|
1419
|
+
* Whether the idle message counter resets when the agent speaks
|
|
1420
|
+
*/
|
|
1421
|
+
idleMessageResetCountOnUserSpeechEnabled: boolean;
|
|
1422
|
+
/**
|
|
1423
|
+
* Messages the persona will say when the agent goes silent during a call. null =
|
|
1424
|
+
* "Automatic": language-appropriate defaults are used at call time.
|
|
1425
|
+
*/
|
|
1426
|
+
idleMessages: Array<string> | null;
|
|
1427
|
+
/**
|
|
1428
|
+
* Seconds of silence before the persona sends an idle message
|
|
1429
|
+
*/
|
|
1430
|
+
idleTimeoutSeconds: number;
|
|
1431
|
+
/**
|
|
1432
|
+
* How clearly the persona expresses their intentions
|
|
1433
|
+
*/
|
|
1434
|
+
intentClarity: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
1435
|
+
/**
|
|
1436
|
+
* Primary language ISO 639-1 code for the persona
|
|
1437
|
+
*/
|
|
1438
|
+
language: 'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE';
|
|
1439
|
+
/**
|
|
1440
|
+
* How reliable the persona's memory is
|
|
1441
|
+
*/
|
|
1442
|
+
memoryReliability: 'HIGH' | 'LOW';
|
|
1443
|
+
/**
|
|
1444
|
+
* The name the agent will identify as during conversations
|
|
1445
|
+
*/
|
|
1446
|
+
name: string;
|
|
1447
|
+
/**
|
|
1448
|
+
* Additional custom properties about the persona
|
|
1449
|
+
*/
|
|
1450
|
+
properties: {
|
|
1451
|
+
[key: string]: unknown;
|
|
1452
|
+
};
|
|
1453
|
+
/**
|
|
1454
|
+
* Controls how quickly the persona responds to pauses in conversation (QUICK,
|
|
1455
|
+
* NORMAL, RELAXED)
|
|
1456
|
+
*/
|
|
1457
|
+
responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
|
|
1458
|
+
/**
|
|
1459
|
+
* Speech clarity of the persona
|
|
1460
|
+
*/
|
|
1461
|
+
speechClarity: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
1462
|
+
/**
|
|
1463
|
+
* Speech pace of the persona
|
|
1464
|
+
*/
|
|
1465
|
+
speechPace: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
1466
|
+
/**
|
|
1467
|
+
* Languages the persona can understand. Multilingual combinations are limited by
|
|
1468
|
+
* multilingual speech recognition support.
|
|
1469
|
+
*/
|
|
1470
|
+
understoodLanguages: Array<'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE'>;
|
|
1471
|
+
/**
|
|
1472
|
+
* Last update timestamp
|
|
1473
|
+
*/
|
|
1474
|
+
updatedAt: string;
|
|
1475
|
+
/**
|
|
1476
|
+
* Background story and behavioral patterns for the persona
|
|
1477
|
+
*/
|
|
1478
|
+
backstoryPrompt?: string | null;
|
|
1479
|
+
/**
|
|
1480
|
+
* Human-readable description of the persona
|
|
1481
|
+
*/
|
|
1482
|
+
description?: string | null;
|
|
1483
|
+
/**
|
|
1484
|
+
* Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
|
|
1485
|
+
*/
|
|
1486
|
+
secondaryLanguage?: 'EN' | null;
|
|
1487
|
+
}
|
|
1488
|
+
}
|
|
1489
|
+
/**
|
|
1490
|
+
* One voicemail greeting.
|
|
1491
|
+
*/
|
|
1492
|
+
interface VoicemailFlowVariant {
|
|
1493
|
+
id: string;
|
|
1494
|
+
/**
|
|
1495
|
+
* Graded on top of the flow's own expectations, for this variant only.
|
|
1496
|
+
*/
|
|
1497
|
+
additionalExpectations: Array<VoicemailFlowVariant.AdditionalExpectation>;
|
|
1498
|
+
/**
|
|
1499
|
+
* Creation timestamp in ISO 8601 format
|
|
1500
|
+
*/
|
|
1501
|
+
createdAt: string;
|
|
1502
|
+
/**
|
|
1503
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
1504
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
1505
|
+
* project.
|
|
1506
|
+
*/
|
|
1507
|
+
environment: VoicemailFlowVariant.Environment | null;
|
|
1508
|
+
isGenerated: boolean;
|
|
1509
|
+
/**
|
|
1510
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
1511
|
+
*/
|
|
1512
|
+
personaOverride: VoicemailFlowVariant.PersonaOverride | null;
|
|
1513
|
+
precededByCustomerFlowId: string | null;
|
|
1514
|
+
precededByCustomerFlowVariantId: string | null;
|
|
1515
|
+
title: string;
|
|
1516
|
+
type: 'VOICEMAIL';
|
|
1517
|
+
/**
|
|
1518
|
+
* Last update timestamp in ISO 8601 format
|
|
1519
|
+
*/
|
|
1520
|
+
updatedAt: string;
|
|
1521
|
+
}
|
|
1522
|
+
namespace VoicemailFlowVariant {
|
|
1523
|
+
/**
|
|
1524
|
+
* One thing the agent under test is graded against.
|
|
1525
|
+
*/
|
|
1526
|
+
interface AdditionalExpectation {
|
|
1527
|
+
id: string;
|
|
1528
|
+
/**
|
|
1529
|
+
* What the agent under test is graded against.
|
|
1530
|
+
*/
|
|
1531
|
+
prompt: string;
|
|
1532
|
+
}
|
|
1533
|
+
/**
|
|
1534
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
1535
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
1536
|
+
* project.
|
|
1537
|
+
*/
|
|
1538
|
+
interface Environment {
|
|
1539
|
+
id: string;
|
|
1540
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
1541
|
+
/**
|
|
1542
|
+
* Creation timestamp in ISO 8601 format
|
|
1543
|
+
*/
|
|
1544
|
+
createdAt: string;
|
|
1545
|
+
name: string;
|
|
1546
|
+
/**
|
|
1547
|
+
* Last update timestamp in ISO 8601 format
|
|
1548
|
+
*/
|
|
1549
|
+
updatedAt: string;
|
|
1550
|
+
description?: string | null;
|
|
1551
|
+
}
|
|
1552
|
+
/**
|
|
1553
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
1554
|
+
*/
|
|
1555
|
+
interface PersonaOverride {
|
|
1556
|
+
/**
|
|
1557
|
+
* Unique identifier of the persona
|
|
1558
|
+
*/
|
|
1559
|
+
id: string;
|
|
1560
|
+
/**
|
|
1561
|
+
* Accent of the persona, defined using ISO 3166-1 alpha-2 country codes with
|
|
1562
|
+
* optional variants
|
|
1563
|
+
*/
|
|
1564
|
+
accent: 'US' | 'US_X_SOUTH' | 'GB' | 'ES' | 'DE' | 'IN' | 'FR' | 'NL' | 'SA' | 'GR' | 'AU' | 'IT' | 'ID' | 'TH' | 'JP' | 'NZ' | 'PH' | 'SG' | 'MY' | 'HK' | 'TR' | 'PT' | 'IL';
|
|
1565
|
+
/**
|
|
1566
|
+
* Background noise setting
|
|
1567
|
+
*/
|
|
1568
|
+
backgroundNoise: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'DRIVING' | 'OFFICE' | 'THUNDERSTORM';
|
|
1569
|
+
/**
|
|
1570
|
+
* Base emotional state of the persona
|
|
1571
|
+
*/
|
|
1572
|
+
baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
|
|
1573
|
+
/**
|
|
1574
|
+
* How the persona confirms information
|
|
1575
|
+
*/
|
|
1576
|
+
confirmationStyle: 'EXPLICIT' | 'VAGUE';
|
|
1577
|
+
/**
|
|
1578
|
+
* Creation timestamp
|
|
1579
|
+
*/
|
|
1580
|
+
createdAt: string;
|
|
1581
|
+
/**
|
|
1582
|
+
* Gender of the persona
|
|
1583
|
+
*/
|
|
1584
|
+
gender: 'MALE' | 'FEMALE';
|
|
1585
|
+
/**
|
|
1586
|
+
* Whether the persona uses filler words like "um" and "uh"
|
|
1587
|
+
*/
|
|
1588
|
+
hasDisfluencies: boolean;
|
|
1589
|
+
/**
|
|
1590
|
+
* Maximum number of idle messages the persona will send before giving up
|
|
1591
|
+
*/
|
|
1592
|
+
idleMessageMaxSpokenCount: number;
|
|
1593
|
+
/**
|
|
1594
|
+
* Whether the idle message counter resets when the agent speaks
|
|
1595
|
+
*/
|
|
1596
|
+
idleMessageResetCountOnUserSpeechEnabled: boolean;
|
|
1597
|
+
/**
|
|
1598
|
+
* Messages the persona will say when the agent goes silent during a call. null =
|
|
1599
|
+
* "Automatic": language-appropriate defaults are used at call time.
|
|
1600
|
+
*/
|
|
1601
|
+
idleMessages: Array<string> | null;
|
|
1602
|
+
/**
|
|
1603
|
+
* Seconds of silence before the persona sends an idle message
|
|
1604
|
+
*/
|
|
1605
|
+
idleTimeoutSeconds: number;
|
|
1606
|
+
/**
|
|
1607
|
+
* How clearly the persona expresses their intentions
|
|
1608
|
+
*/
|
|
1609
|
+
intentClarity: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
1610
|
+
/**
|
|
1611
|
+
* Primary language ISO 639-1 code for the persona
|
|
1612
|
+
*/
|
|
1613
|
+
language: 'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE';
|
|
1614
|
+
/**
|
|
1615
|
+
* How reliable the persona's memory is
|
|
1616
|
+
*/
|
|
1617
|
+
memoryReliability: 'HIGH' | 'LOW';
|
|
1618
|
+
/**
|
|
1619
|
+
* The name the agent will identify as during conversations
|
|
1620
|
+
*/
|
|
1621
|
+
name: string;
|
|
1622
|
+
/**
|
|
1623
|
+
* Additional custom properties about the persona
|
|
1624
|
+
*/
|
|
1625
|
+
properties: {
|
|
1626
|
+
[key: string]: unknown;
|
|
1627
|
+
};
|
|
1628
|
+
/**
|
|
1629
|
+
* Controls how quickly the persona responds to pauses in conversation (QUICK,
|
|
1630
|
+
* NORMAL, RELAXED)
|
|
1631
|
+
*/
|
|
1632
|
+
responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
|
|
1633
|
+
/**
|
|
1634
|
+
* Speech clarity of the persona
|
|
1635
|
+
*/
|
|
1636
|
+
speechClarity: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
1637
|
+
/**
|
|
1638
|
+
* Speech pace of the persona
|
|
1639
|
+
*/
|
|
1640
|
+
speechPace: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
1641
|
+
/**
|
|
1642
|
+
* Languages the persona can understand. Multilingual combinations are limited by
|
|
1643
|
+
* multilingual speech recognition support.
|
|
1644
|
+
*/
|
|
1645
|
+
understoodLanguages: Array<'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE'>;
|
|
1646
|
+
/**
|
|
1647
|
+
* Last update timestamp
|
|
1648
|
+
*/
|
|
1649
|
+
updatedAt: string;
|
|
1650
|
+
/**
|
|
1651
|
+
* Background story and behavioral patterns for the persona
|
|
1652
|
+
*/
|
|
1653
|
+
backstoryPrompt?: string | null;
|
|
1654
|
+
/**
|
|
1655
|
+
* Human-readable description of the persona
|
|
1656
|
+
*/
|
|
1657
|
+
description?: string | null;
|
|
1658
|
+
/**
|
|
1659
|
+
* Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
|
|
1660
|
+
*/
|
|
1661
|
+
secondaryLanguage?: 'EN' | null;
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
}
|
|
1665
|
+
export interface CustomerFlowEdgeCaseRemoveResponse {
|
|
1666
|
+
data: CustomerFlowEdgeCaseRemoveResponse.Data;
|
|
1667
|
+
}
|
|
1668
|
+
export declare namespace CustomerFlowEdgeCaseRemoveResponse {
|
|
1669
|
+
interface Data {
|
|
1670
|
+
/**
|
|
1671
|
+
* Whether the variant was deleted
|
|
1672
|
+
*/
|
|
1673
|
+
deleted: boolean;
|
|
1674
|
+
}
|
|
1675
|
+
}
|
|
1676
|
+
export interface CustomerFlowEdgeCaseUpdateParams {
|
|
1677
|
+
/**
|
|
1678
|
+
* Path param
|
|
1679
|
+
*/
|
|
1680
|
+
flowId: string;
|
|
1681
|
+
/**
|
|
1682
|
+
* Body param: Replaces the expectations that apply to this variant on top of the
|
|
1683
|
+
* flow's. Omit to leave them alone, send [] to clear. Improv flows only: a
|
|
1684
|
+
* scripted variant's expectations come from the agent turns on its path and are
|
|
1685
|
+
* rewritten on the next graph edit.
|
|
1686
|
+
*/
|
|
1687
|
+
additionalExpectations?: Array<CustomerFlowEdgeCaseUpdateParams.AdditionalExpectation>;
|
|
1688
|
+
/**
|
|
1689
|
+
* Body param
|
|
1690
|
+
*/
|
|
1691
|
+
environmentId?: string | null;
|
|
1692
|
+
/**
|
|
1693
|
+
* Body param: The persona this runs as. Null on an edge case inherits the happy
|
|
1694
|
+
* path's.
|
|
1695
|
+
*/
|
|
1696
|
+
personaOverrideId?: string | null;
|
|
1697
|
+
/**
|
|
1698
|
+
* Body param
|
|
1699
|
+
*/
|
|
1700
|
+
precededByCustomerFlowId?: string | null;
|
|
1701
|
+
/**
|
|
1702
|
+
* Body param
|
|
1703
|
+
*/
|
|
1704
|
+
precededByCustomerFlowVariantId?: string | null;
|
|
1705
|
+
/**
|
|
1706
|
+
* Body param
|
|
1707
|
+
*/
|
|
1708
|
+
prompt?: string | null;
|
|
1709
|
+
/**
|
|
1710
|
+
* Body param
|
|
1711
|
+
*/
|
|
1712
|
+
title?: string;
|
|
1713
|
+
}
|
|
1714
|
+
export declare namespace CustomerFlowEdgeCaseUpdateParams {
|
|
1715
|
+
interface AdditionalExpectation {
|
|
1716
|
+
/**
|
|
1717
|
+
* What the agent under test is graded against.
|
|
1718
|
+
*/
|
|
1719
|
+
prompt: string;
|
|
1720
|
+
}
|
|
1721
|
+
}
|
|
1722
|
+
export interface CustomerFlowEdgeCaseAddParams {
|
|
1723
|
+
title: string;
|
|
1724
|
+
environmentId?: string | null;
|
|
1725
|
+
/**
|
|
1726
|
+
* The persona this runs as. Omit to inherit the happy path's.
|
|
1727
|
+
*/
|
|
1728
|
+
personaOverrideId?: string | null;
|
|
1729
|
+
precededByCustomerFlowId?: string | null;
|
|
1730
|
+
precededByCustomerFlowVariantId?: string | null;
|
|
1731
|
+
prompt?: string | null;
|
|
1732
|
+
}
|
|
1733
|
+
export interface CustomerFlowEdgeCasePromoteParams {
|
|
1734
|
+
flowId: string;
|
|
1735
|
+
}
|
|
1736
|
+
export interface CustomerFlowEdgeCaseRemoveParams {
|
|
1737
|
+
flowId: string;
|
|
1738
|
+
}
|
|
1739
|
+
export declare namespace CustomerFlowEdgeCase {
|
|
1740
|
+
export { type CustomerFlowEdgeCaseUpdateResponse as CustomerFlowEdgeCaseUpdateResponse, type CustomerFlowEdgeCaseAddResponse as CustomerFlowEdgeCaseAddResponse, type CustomerFlowEdgeCasePromoteResponse as CustomerFlowEdgeCasePromoteResponse, type CustomerFlowEdgeCaseRemoveResponse as CustomerFlowEdgeCaseRemoveResponse, type CustomerFlowEdgeCaseUpdateParams as CustomerFlowEdgeCaseUpdateParams, type CustomerFlowEdgeCaseAddParams as CustomerFlowEdgeCaseAddParams, type CustomerFlowEdgeCasePromoteParams as CustomerFlowEdgeCasePromoteParams, type CustomerFlowEdgeCaseRemoveParams as CustomerFlowEdgeCaseRemoveParams, };
|
|
1741
|
+
}
|
|
1742
|
+
//# sourceMappingURL=customer-flow-edge-case.d.mts.map
|