@roarkanalytics/sdk 4.15.0 → 4.17.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 +24 -0
- package/package.json +1 -1
- package/resources/config.d.mts +925 -13
- package/resources/config.d.mts.map +1 -1
- package/resources/config.d.ts +925 -13
- package/resources/config.d.ts.map +1 -1
- package/resources/config.js +9 -8
- package/resources/config.js.map +1 -1
- package/resources/config.mjs +9 -8
- package/resources/config.mjs.map +1 -1
- package/resources/simulation-job.d.mts +10 -0
- package/resources/simulation-job.d.mts.map +1 -1
- package/resources/simulation-job.d.ts +10 -0
- package/resources/simulation-job.d.ts.map +1 -1
- package/src/resources/config.ts +2469 -525
- package/src/resources/simulation-job.ts +12 -0
- package/src/version.ts +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/config.d.ts
CHANGED
|
@@ -4,10 +4,12 @@ import { APIPromise } from "../core/api-promise.js";
|
|
|
4
4
|
import { RequestOptions } from "../internal/request-options.js";
|
|
5
5
|
export declare class Config extends APIResource {
|
|
6
6
|
/**
|
|
7
|
-
* Reconcile a config-as-code bundle
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* Reconcile a config-as-code bundle. With a PROJECT API key, submit project-scoped
|
|
8
|
+
* resources (agents, personas, flows, collectors, metrics, ...). With an
|
|
9
|
+
* ORGANIZATION API key, submit `kind: project` resources, each optionally carrying
|
|
10
|
+
* its members and its own nested `resources`. Submit the full desired set; managed
|
|
11
|
+
* resources are updated, new ones created, and (unless prune is false) managed
|
|
12
|
+
* resources absent from the bundle are deleted. Identity is by name.
|
|
11
13
|
*
|
|
12
14
|
* @example
|
|
13
15
|
* ```ts
|
|
@@ -18,10 +20,9 @@ export declare class Config extends APIResource {
|
|
|
18
20
|
*/
|
|
19
21
|
apply(body: ConfigApplyParams, options?: RequestOptions): APIPromise<ConfigApplyResponse>;
|
|
20
22
|
/**
|
|
21
|
-
* Dry run for
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* this before apply to preview what would change.
|
|
23
|
+
* Dry run for an apply: returns the projected changes (create / update / delete)
|
|
24
|
+
* for the submitted bundle without writing anything. Works for both project and
|
|
25
|
+
* organization keys.
|
|
25
26
|
*
|
|
26
27
|
* @example
|
|
27
28
|
* ```ts
|
|
@@ -33,7 +34,7 @@ export declare class Config extends APIResource {
|
|
|
33
34
|
diff(body: ConfigDiffParams, options?: RequestOptions): APIPromise<ConfigDiffResponse>;
|
|
34
35
|
}
|
|
35
36
|
export interface Bundle {
|
|
36
|
-
resources: Array<Bundle.AgentConfig | Bundle.HTTPRequestDefinitionConfig | Bundle.PersonaConfig | Bundle.ImprovFlowConfig | Bundle.ScriptedFlowConfig | Bundle.CollectorConfig | Bundle.MetricConfig | Bundle.SimulationPlanConfig | Bundle.QaSimulationPlanConfig | Bundle.AlertConfig | Bundle.ToolConfig>;
|
|
37
|
+
resources: Array<Bundle.AgentConfig | Bundle.HTTPRequestDefinitionConfig | Bundle.PersonaConfig | Bundle.ImprovFlowConfig | Bundle.ScriptedFlowConfig | Bundle.CollectorConfig | Bundle.MetricConfig | Bundle.SimulationPlanConfig | Bundle.QaSimulationPlanConfig | Bundle.AlertConfig | Bundle.ToolConfig | Bundle.ProjectConfig>;
|
|
37
38
|
prune?: boolean;
|
|
38
39
|
}
|
|
39
40
|
export declare namespace Bundle {
|
|
@@ -324,6 +325,309 @@ export declare namespace Bundle {
|
|
|
324
325
|
[key: string]: 'string' | 'number' | 'boolean';
|
|
325
326
|
};
|
|
326
327
|
}
|
|
328
|
+
interface ProjectConfig {
|
|
329
|
+
kind: 'project';
|
|
330
|
+
name: string;
|
|
331
|
+
category?: 'HEALTHCARE' | 'FINANCIAL' | 'RETAIL' | 'HOSPITALITY' | 'AUTOMOTIVE' | 'GOVERNMENT' | 'EDUCATION' | 'REAL_ESTATE' | 'OTHER';
|
|
332
|
+
dataStorageRegion?: 'US_EAST_1' | 'EU_WEST_1';
|
|
333
|
+
description?: string;
|
|
334
|
+
displayName?: string;
|
|
335
|
+
members?: Array<ProjectConfig.Member>;
|
|
336
|
+
resources?: Array<ProjectConfig.AgentConfig | ProjectConfig.HTTPRequestDefinitionConfig | ProjectConfig.PersonaConfig | ProjectConfig.ImprovFlowConfig | ProjectConfig.ScriptedFlowConfig | ProjectConfig.CollectorConfig | ProjectConfig.MetricConfig | ProjectConfig.SimulationPlanConfig | ProjectConfig.QaSimulationPlanConfig | ProjectConfig.AlertConfig | ProjectConfig.ToolConfig>;
|
|
337
|
+
}
|
|
338
|
+
namespace ProjectConfig {
|
|
339
|
+
interface Member {
|
|
340
|
+
email: string;
|
|
341
|
+
role: 'OWNER' | 'ADMIN' | 'MEMBER' | 'VIEWER';
|
|
342
|
+
}
|
|
343
|
+
interface AgentConfig {
|
|
344
|
+
kind: 'agent';
|
|
345
|
+
name: string;
|
|
346
|
+
customId?: string | null;
|
|
347
|
+
description?: string | null;
|
|
348
|
+
displayName?: string;
|
|
349
|
+
endpoints?: Array<AgentConfig.Endpoint>;
|
|
350
|
+
prompt?: string | null;
|
|
351
|
+
}
|
|
352
|
+
namespace AgentConfig {
|
|
353
|
+
interface Endpoint {
|
|
354
|
+
value: string;
|
|
355
|
+
direction?: 'INCOMING' | 'OUTGOING' | 'INCOMING_AND_OUTGOING';
|
|
356
|
+
environment?: string;
|
|
357
|
+
outboundDialHttpRequestDefinition?: string;
|
|
358
|
+
outboundDialType?: 'NONE' | 'HTTP_REQUEST';
|
|
359
|
+
type?: 'PHONE' | 'WEBSOCKET';
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
interface HTTPRequestDefinitionConfig {
|
|
363
|
+
kind: 'httpRequestDefinition';
|
|
364
|
+
name: string;
|
|
365
|
+
url: string;
|
|
366
|
+
body?: string;
|
|
367
|
+
description?: string | null;
|
|
368
|
+
headers?: {
|
|
369
|
+
[key: string]: string;
|
|
370
|
+
};
|
|
371
|
+
method?: 'POST' | 'PUT' | 'PATCH' | 'GET';
|
|
372
|
+
}
|
|
373
|
+
interface PersonaConfig {
|
|
374
|
+
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';
|
|
375
|
+
gender: 'MALE' | 'FEMALE';
|
|
376
|
+
kind: 'persona';
|
|
377
|
+
language: 'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE';
|
|
378
|
+
name: string;
|
|
379
|
+
age?: 'CHILD' | 'TEENAGER' | 'ADULT' | 'ELDERLY';
|
|
380
|
+
backgroundNoise?: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'CONSTRUCTION' | 'CRYING_BABY' | 'DRIVING' | 'LIBRARY' | 'OFFICE' | 'THUNDERSTORM' | 'TRAIN';
|
|
381
|
+
backstoryPrompt?: string | null;
|
|
382
|
+
baseEmotion?: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED' | 'ANGRY' | 'ANXIOUS' | 'SAD';
|
|
383
|
+
confirmationStyle?: 'EXPLICIT' | 'VAGUE';
|
|
384
|
+
description?: string | null;
|
|
385
|
+
displayName?: string;
|
|
386
|
+
hasDisfluencies?: boolean;
|
|
387
|
+
idleMessageMaxSpokenCount?: number;
|
|
388
|
+
idleMessageResetCountOnUserSpeechEnabled?: boolean;
|
|
389
|
+
idleMessages?: Array<string> | null;
|
|
390
|
+
idleTimeoutSeconds?: number;
|
|
391
|
+
intentClarity?: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
392
|
+
interruption?: 'OFF' | 'BACKCHANNEL' | 'OCCASIONAL' | 'HEAVY';
|
|
393
|
+
memoryReliability?: 'HIGH' | 'LOW';
|
|
394
|
+
properties?: {
|
|
395
|
+
[key: string]: unknown;
|
|
396
|
+
};
|
|
397
|
+
responseTiming?: 'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN';
|
|
398
|
+
secondaryLanguage?: 'EN';
|
|
399
|
+
speechClarity?: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
400
|
+
speechPace?: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
401
|
+
understoodLanguages?: Array<'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE'>;
|
|
402
|
+
}
|
|
403
|
+
interface ImprovFlowConfig {
|
|
404
|
+
agents: Array<string>;
|
|
405
|
+
happyPath: ImprovFlowConfig.HappyPath;
|
|
406
|
+
kind: 'flow';
|
|
407
|
+
name: string;
|
|
408
|
+
type: 'improv';
|
|
409
|
+
description?: string | null;
|
|
410
|
+
edgeCases?: Array<ImprovFlowConfig.EdgeCase>;
|
|
411
|
+
expectations?: Array<string>;
|
|
412
|
+
title?: string;
|
|
413
|
+
}
|
|
414
|
+
namespace ImprovFlowConfig {
|
|
415
|
+
interface HappyPath {
|
|
416
|
+
environment: string;
|
|
417
|
+
persona: string;
|
|
418
|
+
expectations?: Array<string>;
|
|
419
|
+
prompt?: string;
|
|
420
|
+
title?: string;
|
|
421
|
+
}
|
|
422
|
+
interface EdgeCase {
|
|
423
|
+
name: string;
|
|
424
|
+
environment?: string;
|
|
425
|
+
expectations?: Array<string>;
|
|
426
|
+
persona?: string;
|
|
427
|
+
prompt?: string;
|
|
428
|
+
title?: string;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
interface ScriptedFlowConfig {
|
|
432
|
+
graph: Array<ConfigAPI.ConfigFlowStep>;
|
|
433
|
+
kind: 'flow';
|
|
434
|
+
name: string;
|
|
435
|
+
type: 'scripted';
|
|
436
|
+
adherence?: 'LOOSE' | 'STRICT';
|
|
437
|
+
agents?: Array<string>;
|
|
438
|
+
branchingMode?: 'DETERMINISTIC' | 'ADAPTIVE';
|
|
439
|
+
description?: string | null;
|
|
440
|
+
expectations?: Array<string>;
|
|
441
|
+
offScript?: ScriptedFlowConfig.OffScript;
|
|
442
|
+
title?: string;
|
|
443
|
+
}
|
|
444
|
+
namespace ScriptedFlowConfig {
|
|
445
|
+
interface OffScript {
|
|
446
|
+
maxAttempts?: number;
|
|
447
|
+
reaction?: 'STAY_SILENT' | 'REPEAT' | 'RESPOND' | 'SAY';
|
|
448
|
+
sayLine?: string;
|
|
449
|
+
then?: 'HANG_UP' | 'MOVE_ON' | 'ADAPT' | 'HANG_UP_INVALIDATE';
|
|
450
|
+
waitSeconds?: number;
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
interface CollectorConfig {
|
|
454
|
+
kind: 'collector';
|
|
455
|
+
metrics: Array<string>;
|
|
456
|
+
modality: 'call' | 'chat';
|
|
457
|
+
name: string;
|
|
458
|
+
displayName?: string;
|
|
459
|
+
filters?: Array<CollectorConfig.Filter>;
|
|
460
|
+
status?: 'ACTIVE' | 'INACTIVE';
|
|
461
|
+
}
|
|
462
|
+
namespace CollectorConfig {
|
|
463
|
+
interface Filter {
|
|
464
|
+
conditions: Array<Filter.Condition>;
|
|
465
|
+
}
|
|
466
|
+
namespace Filter {
|
|
467
|
+
interface Condition {
|
|
468
|
+
key: string;
|
|
469
|
+
type: 'AGENT' | 'CALL_SOURCE' | 'CALL_PROPERTY' | 'INTEGRATION';
|
|
470
|
+
operator?: 'EQUALS' | 'NOT_EQUALS' | 'CONTAINS' | 'STARTS_WITH' | 'GREATER_THAN' | 'LESS_THAN' | 'GREATER_THAN_OR_EQUALS' | 'LESS_THAN_OR_EQUALS';
|
|
471
|
+
value?: string;
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
interface MetricConfig {
|
|
476
|
+
kind: 'metric';
|
|
477
|
+
name: string;
|
|
478
|
+
prompt: string;
|
|
479
|
+
type: 'BOOLEAN' | 'SCALE' | 'NUMERIC' | 'TEXT' | 'CLASSIFICATION';
|
|
480
|
+
contexts?: Array<'CALL' | 'SEGMENT' | 'TURN'>;
|
|
481
|
+
displayName?: string;
|
|
482
|
+
falseLabel?: string;
|
|
483
|
+
maxSelections?: number;
|
|
484
|
+
options?: Array<MetricConfig.Option>;
|
|
485
|
+
participantRole?: 'AGENT' | 'CUSTOMER';
|
|
486
|
+
scaleLabels?: Array<MetricConfig.ScaleLabel>;
|
|
487
|
+
scaleMax?: number;
|
|
488
|
+
scaleMin?: number;
|
|
489
|
+
scope?: 'GLOBAL' | 'PER_PARTICIPANT';
|
|
490
|
+
trueLabel?: string;
|
|
491
|
+
}
|
|
492
|
+
namespace MetricConfig {
|
|
493
|
+
interface Option {
|
|
494
|
+
displayOrder: number;
|
|
495
|
+
label: string;
|
|
496
|
+
description?: string;
|
|
497
|
+
}
|
|
498
|
+
interface ScaleLabel {
|
|
499
|
+
displayOrder: number;
|
|
500
|
+
label: string;
|
|
501
|
+
rangeMax: number;
|
|
502
|
+
rangeMin: number;
|
|
503
|
+
colorHex?: string;
|
|
504
|
+
description?: string;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
interface SimulationPlanConfig {
|
|
508
|
+
agentEndpoints: Array<SimulationPlanConfig.AgentEndpoint>;
|
|
509
|
+
direction: 'INBOUND' | 'OUTBOUND';
|
|
510
|
+
flows: Array<SimulationPlanConfig.Flow>;
|
|
511
|
+
kind: 'simulationPlan';
|
|
512
|
+
maxDurationSeconds: number;
|
|
513
|
+
metrics: Array<string>;
|
|
514
|
+
name: string;
|
|
515
|
+
description?: string | null;
|
|
516
|
+
endCallPhrases?: Array<string>;
|
|
517
|
+
endCallReasons?: Array<string>;
|
|
518
|
+
enrichWithLiveConversation?: boolean;
|
|
519
|
+
executionMode?: 'PARALLEL' | 'SEQUENTIAL_SAME_RUN_PLAN' | 'SEQUENTIAL_PROJECT';
|
|
520
|
+
includeAutomaticMetrics?: boolean;
|
|
521
|
+
includeFlowMetrics?: boolean;
|
|
522
|
+
iterations?: number;
|
|
523
|
+
maxConcurrentJobs?: number;
|
|
524
|
+
silenceTimeoutSeconds?: number;
|
|
525
|
+
template?: 'manual';
|
|
526
|
+
}
|
|
527
|
+
namespace SimulationPlanConfig {
|
|
528
|
+
interface AgentEndpoint {
|
|
529
|
+
agent: string;
|
|
530
|
+
direction?: 'INCOMING' | 'OUTGOING' | 'INCOMING_AND_OUTGOING';
|
|
531
|
+
value?: string;
|
|
532
|
+
}
|
|
533
|
+
interface Flow {
|
|
534
|
+
edgeCases?: Array<string>;
|
|
535
|
+
flow?: string;
|
|
536
|
+
happyPath?: boolean;
|
|
537
|
+
personaOverride?: string;
|
|
538
|
+
system?: string;
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
interface QaSimulationPlanConfig {
|
|
542
|
+
agentEndpoints: Array<QaSimulationPlanConfig.AgentEndpoint>;
|
|
543
|
+
direction: 'INBOUND' | 'OUTBOUND';
|
|
544
|
+
environment: string;
|
|
545
|
+
kind: 'simulationPlan';
|
|
546
|
+
maxDurationSeconds: number;
|
|
547
|
+
name: string;
|
|
548
|
+
persona: string;
|
|
549
|
+
questions: Array<QaSimulationPlanConfig.Question>;
|
|
550
|
+
template: 'question-answer-check';
|
|
551
|
+
description?: string | null;
|
|
552
|
+
endCallPhrases?: Array<string>;
|
|
553
|
+
endCallReasons?: Array<string>;
|
|
554
|
+
enrichWithLiveConversation?: boolean;
|
|
555
|
+
executionMode?: 'PARALLEL' | 'SEQUENTIAL_SAME_RUN_PLAN' | 'SEQUENTIAL_PROJECT';
|
|
556
|
+
gradeWithKnowledgeBase?: boolean;
|
|
557
|
+
includeAutomaticMetrics?: boolean;
|
|
558
|
+
includeFlowMetrics?: boolean;
|
|
559
|
+
iterations?: number;
|
|
560
|
+
maxConcurrentJobs?: number;
|
|
561
|
+
metrics?: Array<string>;
|
|
562
|
+
silenceTimeoutSeconds?: number;
|
|
563
|
+
}
|
|
564
|
+
namespace QaSimulationPlanConfig {
|
|
565
|
+
interface AgentEndpoint {
|
|
566
|
+
agent: string;
|
|
567
|
+
direction?: 'INCOMING' | 'OUTGOING' | 'INCOMING_AND_OUTGOING';
|
|
568
|
+
value?: string;
|
|
569
|
+
}
|
|
570
|
+
interface Question {
|
|
571
|
+
ask: string;
|
|
572
|
+
expect?: string;
|
|
573
|
+
name?: string;
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
interface AlertConfig {
|
|
577
|
+
kind: 'alert';
|
|
578
|
+
name: string;
|
|
579
|
+
trigger: AlertConfig.AlertThresholdTrigger | AlertConfig.AlertEventTrigger | AlertConfig.AlertSimulationTrigger;
|
|
580
|
+
actions?: AlertConfig.Actions;
|
|
581
|
+
displayName?: string;
|
|
582
|
+
enabled?: boolean;
|
|
583
|
+
}
|
|
584
|
+
namespace AlertConfig {
|
|
585
|
+
interface AlertThresholdTrigger {
|
|
586
|
+
aggregation: 'COUNT' | 'RATE_PER_MINUTE' | 'MEAN';
|
|
587
|
+
metric: string;
|
|
588
|
+
operator: 'GT' | 'GTE' | 'LT' | 'LTE';
|
|
589
|
+
thresholdValue: number;
|
|
590
|
+
type: 'threshold';
|
|
591
|
+
windowMinutes: number;
|
|
592
|
+
consecutiveOpen?: number;
|
|
593
|
+
consecutiveResolve?: number;
|
|
594
|
+
grouping?: 'NONE' | 'BY_AGENT';
|
|
595
|
+
metricVariant?: string;
|
|
596
|
+
minSampleSize?: number;
|
|
597
|
+
}
|
|
598
|
+
interface AlertEventTrigger {
|
|
599
|
+
events: Array<'CALL_ANALYSIS_COMPLETED' | 'CALL_ANALYSIS_FAILED' | 'CALL_ANALYSIS_CANCELLED' | 'SIMULATION_RUN_PLAN_JOB_STARTED' | 'SIMULATION_RUN_PLAN_JOB_COMPLETED' | 'SIMULATION_RUN_PLAN_JOB_FAILED' | 'SIMULATION_RUN_PLAN_JOB_CANCELLED' | 'SIMULATION_JOB_STARTED' | 'SIMULATION_JOB_COMPLETED' | 'SIMULATION_JOB_FAILED' | 'SIMULATION_JOB_CANCELLED' | 'METRIC_COLLECTION_JOB_COMPLETED' | 'METRIC_COLLECTION_JOB_FAILED' | 'CHAT_ANALYSIS_COMPLETED' | 'CHAT_ANALYSIS_FAILED' | 'ISSUE_OPENED' | 'ISSUE_RESOLVED'>;
|
|
600
|
+
type: 'event';
|
|
601
|
+
}
|
|
602
|
+
interface AlertSimulationTrigger {
|
|
603
|
+
conditions: Array<'SUCCESS' | 'FAILURE' | 'THRESHOLD_FAILED'>;
|
|
604
|
+
type: 'simulation';
|
|
605
|
+
deliveryFormat?: 'MESSAGE' | 'PDF';
|
|
606
|
+
plan?: string;
|
|
607
|
+
}
|
|
608
|
+
interface Actions {
|
|
609
|
+
slack?: Array<Actions.Slack>;
|
|
610
|
+
webhooks?: Array<string>;
|
|
611
|
+
}
|
|
612
|
+
namespace Actions {
|
|
613
|
+
interface Slack {
|
|
614
|
+
channelId: string;
|
|
615
|
+
channelName: string;
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
interface ToolConfig {
|
|
620
|
+
kind: 'tool';
|
|
621
|
+
name: string;
|
|
622
|
+
agent?: string;
|
|
623
|
+
description?: string | null;
|
|
624
|
+
expectedResult?: string | null;
|
|
625
|
+
invocationCriteria?: string | null;
|
|
626
|
+
parameters?: {
|
|
627
|
+
[key: string]: 'string' | 'number' | 'boolean';
|
|
628
|
+
};
|
|
629
|
+
}
|
|
630
|
+
}
|
|
327
631
|
}
|
|
328
632
|
export interface ConfigFlowStep {
|
|
329
633
|
type: 'AGENT_TURN' | 'CUSTOMER_TURN' | 'CUSTOMER_FIRST_MESSAGE' | 'CUSTOMER_VERBATIM_TURN' | 'CUSTOMER_SILENCE' | 'CUSTOMER_DTMF' | 'AGENT_DTMF' | 'VOICEMAIL' | 'SCENARIO_LINK' | 'CUSTOMER_HANDOFF';
|
|
@@ -367,13 +671,14 @@ export declare namespace ConfigApplyResponse {
|
|
|
367
671
|
namespace Data {
|
|
368
672
|
interface Change {
|
|
369
673
|
configKey: string;
|
|
370
|
-
kind: 'agent' | 'persona' | 'httpRequestDefinition' | 'flow' | 'collector' | 'metric' | 'simulationPlan' | 'alert' | 'tool';
|
|
674
|
+
kind: 'agent' | 'persona' | 'httpRequestDefinition' | 'flow' | 'collector' | 'metric' | 'simulationPlan' | 'alert' | 'tool' | 'project' | 'member';
|
|
371
675
|
name: string;
|
|
372
676
|
op: 'create' | 'update' | 'delete' | 'noop';
|
|
373
677
|
status: 'applied' | 'skipped' | 'failed';
|
|
374
678
|
id?: string;
|
|
375
679
|
detail?: string;
|
|
376
680
|
error?: string;
|
|
681
|
+
project?: string;
|
|
377
682
|
signingSecret?: string;
|
|
378
683
|
}
|
|
379
684
|
interface Summary {
|
|
@@ -396,10 +701,11 @@ export declare namespace ConfigDiffResponse {
|
|
|
396
701
|
namespace Data {
|
|
397
702
|
interface Change {
|
|
398
703
|
configKey: string;
|
|
399
|
-
kind: 'agent' | 'persona' | 'httpRequestDefinition' | 'flow' | 'collector' | 'metric' | 'simulationPlan' | 'alert' | 'tool';
|
|
704
|
+
kind: 'agent' | 'persona' | 'httpRequestDefinition' | 'flow' | 'collector' | 'metric' | 'simulationPlan' | 'alert' | 'tool' | 'project' | 'member';
|
|
400
705
|
name: string;
|
|
401
706
|
op: 'create' | 'update' | 'delete' | 'noop';
|
|
402
707
|
detail?: string;
|
|
708
|
+
project?: string;
|
|
403
709
|
}
|
|
404
710
|
interface Summary {
|
|
405
711
|
create: number;
|
|
@@ -410,7 +716,7 @@ export declare namespace ConfigDiffResponse {
|
|
|
410
716
|
}
|
|
411
717
|
}
|
|
412
718
|
export interface ConfigApplyParams {
|
|
413
|
-
resources: Array<ConfigApplyParams.AgentConfig | ConfigApplyParams.HTTPRequestDefinitionConfig | ConfigApplyParams.PersonaConfig | ConfigApplyParams.ImprovFlowConfig | ConfigApplyParams.ScriptedFlowConfig | ConfigApplyParams.CollectorConfig | ConfigApplyParams.MetricConfig | ConfigApplyParams.SimulationPlanConfig | ConfigApplyParams.QaSimulationPlanConfig | ConfigApplyParams.AlertConfig | ConfigApplyParams.ToolConfig>;
|
|
719
|
+
resources: Array<ConfigApplyParams.AgentConfig | ConfigApplyParams.HTTPRequestDefinitionConfig | ConfigApplyParams.PersonaConfig | ConfigApplyParams.ImprovFlowConfig | ConfigApplyParams.ScriptedFlowConfig | ConfigApplyParams.CollectorConfig | ConfigApplyParams.MetricConfig | ConfigApplyParams.SimulationPlanConfig | ConfigApplyParams.QaSimulationPlanConfig | ConfigApplyParams.AlertConfig | ConfigApplyParams.ToolConfig | ConfigApplyParams.ProjectConfig>;
|
|
414
720
|
prune?: boolean;
|
|
415
721
|
}
|
|
416
722
|
export declare namespace ConfigApplyParams {
|
|
@@ -701,9 +1007,312 @@ export declare namespace ConfigApplyParams {
|
|
|
701
1007
|
[key: string]: 'string' | 'number' | 'boolean';
|
|
702
1008
|
};
|
|
703
1009
|
}
|
|
1010
|
+
interface ProjectConfig {
|
|
1011
|
+
kind: 'project';
|
|
1012
|
+
name: string;
|
|
1013
|
+
category?: 'HEALTHCARE' | 'FINANCIAL' | 'RETAIL' | 'HOSPITALITY' | 'AUTOMOTIVE' | 'GOVERNMENT' | 'EDUCATION' | 'REAL_ESTATE' | 'OTHER';
|
|
1014
|
+
dataStorageRegion?: 'US_EAST_1' | 'EU_WEST_1';
|
|
1015
|
+
description?: string;
|
|
1016
|
+
displayName?: string;
|
|
1017
|
+
members?: Array<ProjectConfig.Member>;
|
|
1018
|
+
resources?: Array<ProjectConfig.AgentConfig | ProjectConfig.HTTPRequestDefinitionConfig | ProjectConfig.PersonaConfig | ProjectConfig.ImprovFlowConfig | ProjectConfig.ScriptedFlowConfig | ProjectConfig.CollectorConfig | ProjectConfig.MetricConfig | ProjectConfig.SimulationPlanConfig | ProjectConfig.QaSimulationPlanConfig | ProjectConfig.AlertConfig | ProjectConfig.ToolConfig>;
|
|
1019
|
+
}
|
|
1020
|
+
namespace ProjectConfig {
|
|
1021
|
+
interface Member {
|
|
1022
|
+
email: string;
|
|
1023
|
+
role: 'OWNER' | 'ADMIN' | 'MEMBER' | 'VIEWER';
|
|
1024
|
+
}
|
|
1025
|
+
interface AgentConfig {
|
|
1026
|
+
kind: 'agent';
|
|
1027
|
+
name: string;
|
|
1028
|
+
customId?: string | null;
|
|
1029
|
+
description?: string | null;
|
|
1030
|
+
displayName?: string;
|
|
1031
|
+
endpoints?: Array<AgentConfig.Endpoint>;
|
|
1032
|
+
prompt?: string | null;
|
|
1033
|
+
}
|
|
1034
|
+
namespace AgentConfig {
|
|
1035
|
+
interface Endpoint {
|
|
1036
|
+
value: string;
|
|
1037
|
+
direction?: 'INCOMING' | 'OUTGOING' | 'INCOMING_AND_OUTGOING';
|
|
1038
|
+
environment?: string;
|
|
1039
|
+
outboundDialHttpRequestDefinition?: string;
|
|
1040
|
+
outboundDialType?: 'NONE' | 'HTTP_REQUEST';
|
|
1041
|
+
type?: 'PHONE' | 'WEBSOCKET';
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
interface HTTPRequestDefinitionConfig {
|
|
1045
|
+
kind: 'httpRequestDefinition';
|
|
1046
|
+
name: string;
|
|
1047
|
+
url: string;
|
|
1048
|
+
body?: string;
|
|
1049
|
+
description?: string | null;
|
|
1050
|
+
headers?: {
|
|
1051
|
+
[key: string]: string;
|
|
1052
|
+
};
|
|
1053
|
+
method?: 'POST' | 'PUT' | 'PATCH' | 'GET';
|
|
1054
|
+
}
|
|
1055
|
+
interface PersonaConfig {
|
|
1056
|
+
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';
|
|
1057
|
+
gender: 'MALE' | 'FEMALE';
|
|
1058
|
+
kind: 'persona';
|
|
1059
|
+
language: 'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE';
|
|
1060
|
+
name: string;
|
|
1061
|
+
age?: 'CHILD' | 'TEENAGER' | 'ADULT' | 'ELDERLY';
|
|
1062
|
+
backgroundNoise?: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'CONSTRUCTION' | 'CRYING_BABY' | 'DRIVING' | 'LIBRARY' | 'OFFICE' | 'THUNDERSTORM' | 'TRAIN';
|
|
1063
|
+
backstoryPrompt?: string | null;
|
|
1064
|
+
baseEmotion?: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED' | 'ANGRY' | 'ANXIOUS' | 'SAD';
|
|
1065
|
+
confirmationStyle?: 'EXPLICIT' | 'VAGUE';
|
|
1066
|
+
description?: string | null;
|
|
1067
|
+
displayName?: string;
|
|
1068
|
+
hasDisfluencies?: boolean;
|
|
1069
|
+
idleMessageMaxSpokenCount?: number;
|
|
1070
|
+
idleMessageResetCountOnUserSpeechEnabled?: boolean;
|
|
1071
|
+
idleMessages?: Array<string> | null;
|
|
1072
|
+
idleTimeoutSeconds?: number;
|
|
1073
|
+
intentClarity?: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
1074
|
+
interruption?: 'OFF' | 'BACKCHANNEL' | 'OCCASIONAL' | 'HEAVY';
|
|
1075
|
+
memoryReliability?: 'HIGH' | 'LOW';
|
|
1076
|
+
properties?: {
|
|
1077
|
+
[key: string]: unknown;
|
|
1078
|
+
};
|
|
1079
|
+
responseTiming?: 'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN';
|
|
1080
|
+
secondaryLanguage?: 'EN';
|
|
1081
|
+
speechClarity?: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
1082
|
+
speechPace?: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
1083
|
+
understoodLanguages?: Array<'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE'>;
|
|
1084
|
+
}
|
|
1085
|
+
interface ImprovFlowConfig {
|
|
1086
|
+
agents: Array<string>;
|
|
1087
|
+
happyPath: ImprovFlowConfig.HappyPath;
|
|
1088
|
+
kind: 'flow';
|
|
1089
|
+
name: string;
|
|
1090
|
+
type: 'improv';
|
|
1091
|
+
description?: string | null;
|
|
1092
|
+
edgeCases?: Array<ImprovFlowConfig.EdgeCase>;
|
|
1093
|
+
expectations?: Array<string>;
|
|
1094
|
+
title?: string;
|
|
1095
|
+
}
|
|
1096
|
+
namespace ImprovFlowConfig {
|
|
1097
|
+
interface HappyPath {
|
|
1098
|
+
environment: string;
|
|
1099
|
+
persona: string;
|
|
1100
|
+
expectations?: Array<string>;
|
|
1101
|
+
prompt?: string;
|
|
1102
|
+
title?: string;
|
|
1103
|
+
}
|
|
1104
|
+
interface EdgeCase {
|
|
1105
|
+
name: string;
|
|
1106
|
+
environment?: string;
|
|
1107
|
+
expectations?: Array<string>;
|
|
1108
|
+
persona?: string;
|
|
1109
|
+
prompt?: string;
|
|
1110
|
+
title?: string;
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
interface ScriptedFlowConfig {
|
|
1114
|
+
graph: Array<ConfigFlowStep>;
|
|
1115
|
+
kind: 'flow';
|
|
1116
|
+
name: string;
|
|
1117
|
+
type: 'scripted';
|
|
1118
|
+
adherence?: 'LOOSE' | 'STRICT';
|
|
1119
|
+
agents?: Array<string>;
|
|
1120
|
+
branchingMode?: 'DETERMINISTIC' | 'ADAPTIVE';
|
|
1121
|
+
description?: string | null;
|
|
1122
|
+
expectations?: Array<string>;
|
|
1123
|
+
offScript?: ScriptedFlowConfig.OffScript;
|
|
1124
|
+
title?: string;
|
|
1125
|
+
}
|
|
1126
|
+
namespace ScriptedFlowConfig {
|
|
1127
|
+
interface OffScript {
|
|
1128
|
+
maxAttempts?: number;
|
|
1129
|
+
reaction?: 'STAY_SILENT' | 'REPEAT' | 'RESPOND' | 'SAY';
|
|
1130
|
+
sayLine?: string;
|
|
1131
|
+
then?: 'HANG_UP' | 'MOVE_ON' | 'ADAPT' | 'HANG_UP_INVALIDATE';
|
|
1132
|
+
waitSeconds?: number;
|
|
1133
|
+
}
|
|
1134
|
+
}
|
|
1135
|
+
interface CollectorConfig {
|
|
1136
|
+
kind: 'collector';
|
|
1137
|
+
metrics: Array<string>;
|
|
1138
|
+
modality: 'call' | 'chat';
|
|
1139
|
+
name: string;
|
|
1140
|
+
displayName?: string;
|
|
1141
|
+
filters?: Array<CollectorConfig.Filter>;
|
|
1142
|
+
status?: 'ACTIVE' | 'INACTIVE';
|
|
1143
|
+
}
|
|
1144
|
+
namespace CollectorConfig {
|
|
1145
|
+
interface Filter {
|
|
1146
|
+
conditions: Array<Filter.Condition>;
|
|
1147
|
+
}
|
|
1148
|
+
namespace Filter {
|
|
1149
|
+
interface Condition {
|
|
1150
|
+
key: string;
|
|
1151
|
+
type: 'AGENT' | 'CALL_SOURCE' | 'CALL_PROPERTY' | 'INTEGRATION';
|
|
1152
|
+
operator?: 'EQUALS' | 'NOT_EQUALS' | 'CONTAINS' | 'STARTS_WITH' | 'GREATER_THAN' | 'LESS_THAN' | 'GREATER_THAN_OR_EQUALS' | 'LESS_THAN_OR_EQUALS';
|
|
1153
|
+
value?: string;
|
|
1154
|
+
}
|
|
1155
|
+
}
|
|
1156
|
+
}
|
|
1157
|
+
interface MetricConfig {
|
|
1158
|
+
kind: 'metric';
|
|
1159
|
+
name: string;
|
|
1160
|
+
prompt: string;
|
|
1161
|
+
type: 'BOOLEAN' | 'SCALE' | 'NUMERIC' | 'TEXT' | 'CLASSIFICATION';
|
|
1162
|
+
contexts?: Array<'CALL' | 'SEGMENT' | 'TURN'>;
|
|
1163
|
+
displayName?: string;
|
|
1164
|
+
falseLabel?: string;
|
|
1165
|
+
maxSelections?: number;
|
|
1166
|
+
options?: Array<MetricConfig.Option>;
|
|
1167
|
+
participantRole?: 'AGENT' | 'CUSTOMER';
|
|
1168
|
+
scaleLabels?: Array<MetricConfig.ScaleLabel>;
|
|
1169
|
+
scaleMax?: number;
|
|
1170
|
+
scaleMin?: number;
|
|
1171
|
+
scope?: 'GLOBAL' | 'PER_PARTICIPANT';
|
|
1172
|
+
trueLabel?: string;
|
|
1173
|
+
}
|
|
1174
|
+
namespace MetricConfig {
|
|
1175
|
+
interface Option {
|
|
1176
|
+
displayOrder: number;
|
|
1177
|
+
label: string;
|
|
1178
|
+
description?: string;
|
|
1179
|
+
}
|
|
1180
|
+
interface ScaleLabel {
|
|
1181
|
+
displayOrder: number;
|
|
1182
|
+
label: string;
|
|
1183
|
+
rangeMax: number;
|
|
1184
|
+
rangeMin: number;
|
|
1185
|
+
colorHex?: string;
|
|
1186
|
+
description?: string;
|
|
1187
|
+
}
|
|
1188
|
+
}
|
|
1189
|
+
interface SimulationPlanConfig {
|
|
1190
|
+
agentEndpoints: Array<SimulationPlanConfig.AgentEndpoint>;
|
|
1191
|
+
direction: 'INBOUND' | 'OUTBOUND';
|
|
1192
|
+
flows: Array<SimulationPlanConfig.Flow>;
|
|
1193
|
+
kind: 'simulationPlan';
|
|
1194
|
+
maxDurationSeconds: number;
|
|
1195
|
+
metrics: Array<string>;
|
|
1196
|
+
name: string;
|
|
1197
|
+
description?: string | null;
|
|
1198
|
+
endCallPhrases?: Array<string>;
|
|
1199
|
+
endCallReasons?: Array<string>;
|
|
1200
|
+
enrichWithLiveConversation?: boolean;
|
|
1201
|
+
executionMode?: 'PARALLEL' | 'SEQUENTIAL_SAME_RUN_PLAN' | 'SEQUENTIAL_PROJECT';
|
|
1202
|
+
includeAutomaticMetrics?: boolean;
|
|
1203
|
+
includeFlowMetrics?: boolean;
|
|
1204
|
+
iterations?: number;
|
|
1205
|
+
maxConcurrentJobs?: number;
|
|
1206
|
+
silenceTimeoutSeconds?: number;
|
|
1207
|
+
template?: 'manual';
|
|
1208
|
+
}
|
|
1209
|
+
namespace SimulationPlanConfig {
|
|
1210
|
+
interface AgentEndpoint {
|
|
1211
|
+
agent: string;
|
|
1212
|
+
direction?: 'INCOMING' | 'OUTGOING' | 'INCOMING_AND_OUTGOING';
|
|
1213
|
+
value?: string;
|
|
1214
|
+
}
|
|
1215
|
+
interface Flow {
|
|
1216
|
+
edgeCases?: Array<string>;
|
|
1217
|
+
flow?: string;
|
|
1218
|
+
happyPath?: boolean;
|
|
1219
|
+
personaOverride?: string;
|
|
1220
|
+
system?: string;
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
interface QaSimulationPlanConfig {
|
|
1224
|
+
agentEndpoints: Array<QaSimulationPlanConfig.AgentEndpoint>;
|
|
1225
|
+
direction: 'INBOUND' | 'OUTBOUND';
|
|
1226
|
+
environment: string;
|
|
1227
|
+
kind: 'simulationPlan';
|
|
1228
|
+
maxDurationSeconds: number;
|
|
1229
|
+
name: string;
|
|
1230
|
+
persona: string;
|
|
1231
|
+
questions: Array<QaSimulationPlanConfig.Question>;
|
|
1232
|
+
template: 'question-answer-check';
|
|
1233
|
+
description?: string | null;
|
|
1234
|
+
endCallPhrases?: Array<string>;
|
|
1235
|
+
endCallReasons?: Array<string>;
|
|
1236
|
+
enrichWithLiveConversation?: boolean;
|
|
1237
|
+
executionMode?: 'PARALLEL' | 'SEQUENTIAL_SAME_RUN_PLAN' | 'SEQUENTIAL_PROJECT';
|
|
1238
|
+
gradeWithKnowledgeBase?: boolean;
|
|
1239
|
+
includeAutomaticMetrics?: boolean;
|
|
1240
|
+
includeFlowMetrics?: boolean;
|
|
1241
|
+
iterations?: number;
|
|
1242
|
+
maxConcurrentJobs?: number;
|
|
1243
|
+
metrics?: Array<string>;
|
|
1244
|
+
silenceTimeoutSeconds?: number;
|
|
1245
|
+
}
|
|
1246
|
+
namespace QaSimulationPlanConfig {
|
|
1247
|
+
interface AgentEndpoint {
|
|
1248
|
+
agent: string;
|
|
1249
|
+
direction?: 'INCOMING' | 'OUTGOING' | 'INCOMING_AND_OUTGOING';
|
|
1250
|
+
value?: string;
|
|
1251
|
+
}
|
|
1252
|
+
interface Question {
|
|
1253
|
+
ask: string;
|
|
1254
|
+
expect?: string;
|
|
1255
|
+
name?: string;
|
|
1256
|
+
}
|
|
1257
|
+
}
|
|
1258
|
+
interface AlertConfig {
|
|
1259
|
+
kind: 'alert';
|
|
1260
|
+
name: string;
|
|
1261
|
+
trigger: AlertConfig.AlertThresholdTrigger | AlertConfig.AlertEventTrigger | AlertConfig.AlertSimulationTrigger;
|
|
1262
|
+
actions?: AlertConfig.Actions;
|
|
1263
|
+
displayName?: string;
|
|
1264
|
+
enabled?: boolean;
|
|
1265
|
+
}
|
|
1266
|
+
namespace AlertConfig {
|
|
1267
|
+
interface AlertThresholdTrigger {
|
|
1268
|
+
aggregation: 'COUNT' | 'RATE_PER_MINUTE' | 'MEAN';
|
|
1269
|
+
metric: string;
|
|
1270
|
+
operator: 'GT' | 'GTE' | 'LT' | 'LTE';
|
|
1271
|
+
thresholdValue: number;
|
|
1272
|
+
type: 'threshold';
|
|
1273
|
+
windowMinutes: number;
|
|
1274
|
+
consecutiveOpen?: number;
|
|
1275
|
+
consecutiveResolve?: number;
|
|
1276
|
+
grouping?: 'NONE' | 'BY_AGENT';
|
|
1277
|
+
metricVariant?: string;
|
|
1278
|
+
minSampleSize?: number;
|
|
1279
|
+
}
|
|
1280
|
+
interface AlertEventTrigger {
|
|
1281
|
+
events: Array<'CALL_ANALYSIS_COMPLETED' | 'CALL_ANALYSIS_FAILED' | 'CALL_ANALYSIS_CANCELLED' | 'SIMULATION_RUN_PLAN_JOB_STARTED' | 'SIMULATION_RUN_PLAN_JOB_COMPLETED' | 'SIMULATION_RUN_PLAN_JOB_FAILED' | 'SIMULATION_RUN_PLAN_JOB_CANCELLED' | 'SIMULATION_JOB_STARTED' | 'SIMULATION_JOB_COMPLETED' | 'SIMULATION_JOB_FAILED' | 'SIMULATION_JOB_CANCELLED' | 'METRIC_COLLECTION_JOB_COMPLETED' | 'METRIC_COLLECTION_JOB_FAILED' | 'CHAT_ANALYSIS_COMPLETED' | 'CHAT_ANALYSIS_FAILED' | 'ISSUE_OPENED' | 'ISSUE_RESOLVED'>;
|
|
1282
|
+
type: 'event';
|
|
1283
|
+
}
|
|
1284
|
+
interface AlertSimulationTrigger {
|
|
1285
|
+
conditions: Array<'SUCCESS' | 'FAILURE' | 'THRESHOLD_FAILED'>;
|
|
1286
|
+
type: 'simulation';
|
|
1287
|
+
deliveryFormat?: 'MESSAGE' | 'PDF';
|
|
1288
|
+
plan?: string;
|
|
1289
|
+
}
|
|
1290
|
+
interface Actions {
|
|
1291
|
+
slack?: Array<Actions.Slack>;
|
|
1292
|
+
webhooks?: Array<string>;
|
|
1293
|
+
}
|
|
1294
|
+
namespace Actions {
|
|
1295
|
+
interface Slack {
|
|
1296
|
+
channelId: string;
|
|
1297
|
+
channelName: string;
|
|
1298
|
+
}
|
|
1299
|
+
}
|
|
1300
|
+
}
|
|
1301
|
+
interface ToolConfig {
|
|
1302
|
+
kind: 'tool';
|
|
1303
|
+
name: string;
|
|
1304
|
+
agent?: string;
|
|
1305
|
+
description?: string | null;
|
|
1306
|
+
expectedResult?: string | null;
|
|
1307
|
+
invocationCriteria?: string | null;
|
|
1308
|
+
parameters?: {
|
|
1309
|
+
[key: string]: 'string' | 'number' | 'boolean';
|
|
1310
|
+
};
|
|
1311
|
+
}
|
|
1312
|
+
}
|
|
704
1313
|
}
|
|
705
1314
|
export interface ConfigDiffParams {
|
|
706
|
-
resources: Array<ConfigDiffParams.AgentConfig | ConfigDiffParams.HTTPRequestDefinitionConfig | ConfigDiffParams.PersonaConfig | ConfigDiffParams.ImprovFlowConfig | ConfigDiffParams.ScriptedFlowConfig | ConfigDiffParams.CollectorConfig | ConfigDiffParams.MetricConfig | ConfigDiffParams.SimulationPlanConfig | ConfigDiffParams.QaSimulationPlanConfig | ConfigDiffParams.AlertConfig | ConfigDiffParams.ToolConfig>;
|
|
1315
|
+
resources: Array<ConfigDiffParams.AgentConfig | ConfigDiffParams.HTTPRequestDefinitionConfig | ConfigDiffParams.PersonaConfig | ConfigDiffParams.ImprovFlowConfig | ConfigDiffParams.ScriptedFlowConfig | ConfigDiffParams.CollectorConfig | ConfigDiffParams.MetricConfig | ConfigDiffParams.SimulationPlanConfig | ConfigDiffParams.QaSimulationPlanConfig | ConfigDiffParams.AlertConfig | ConfigDiffParams.ToolConfig | ConfigDiffParams.ProjectConfig>;
|
|
707
1316
|
prune?: boolean;
|
|
708
1317
|
}
|
|
709
1318
|
export declare namespace ConfigDiffParams {
|
|
@@ -994,6 +1603,309 @@ export declare namespace ConfigDiffParams {
|
|
|
994
1603
|
[key: string]: 'string' | 'number' | 'boolean';
|
|
995
1604
|
};
|
|
996
1605
|
}
|
|
1606
|
+
interface ProjectConfig {
|
|
1607
|
+
kind: 'project';
|
|
1608
|
+
name: string;
|
|
1609
|
+
category?: 'HEALTHCARE' | 'FINANCIAL' | 'RETAIL' | 'HOSPITALITY' | 'AUTOMOTIVE' | 'GOVERNMENT' | 'EDUCATION' | 'REAL_ESTATE' | 'OTHER';
|
|
1610
|
+
dataStorageRegion?: 'US_EAST_1' | 'EU_WEST_1';
|
|
1611
|
+
description?: string;
|
|
1612
|
+
displayName?: string;
|
|
1613
|
+
members?: Array<ProjectConfig.Member>;
|
|
1614
|
+
resources?: Array<ProjectConfig.AgentConfig | ProjectConfig.HTTPRequestDefinitionConfig | ProjectConfig.PersonaConfig | ProjectConfig.ImprovFlowConfig | ProjectConfig.ScriptedFlowConfig | ProjectConfig.CollectorConfig | ProjectConfig.MetricConfig | ProjectConfig.SimulationPlanConfig | ProjectConfig.QaSimulationPlanConfig | ProjectConfig.AlertConfig | ProjectConfig.ToolConfig>;
|
|
1615
|
+
}
|
|
1616
|
+
namespace ProjectConfig {
|
|
1617
|
+
interface Member {
|
|
1618
|
+
email: string;
|
|
1619
|
+
role: 'OWNER' | 'ADMIN' | 'MEMBER' | 'VIEWER';
|
|
1620
|
+
}
|
|
1621
|
+
interface AgentConfig {
|
|
1622
|
+
kind: 'agent';
|
|
1623
|
+
name: string;
|
|
1624
|
+
customId?: string | null;
|
|
1625
|
+
description?: string | null;
|
|
1626
|
+
displayName?: string;
|
|
1627
|
+
endpoints?: Array<AgentConfig.Endpoint>;
|
|
1628
|
+
prompt?: string | null;
|
|
1629
|
+
}
|
|
1630
|
+
namespace AgentConfig {
|
|
1631
|
+
interface Endpoint {
|
|
1632
|
+
value: string;
|
|
1633
|
+
direction?: 'INCOMING' | 'OUTGOING' | 'INCOMING_AND_OUTGOING';
|
|
1634
|
+
environment?: string;
|
|
1635
|
+
outboundDialHttpRequestDefinition?: string;
|
|
1636
|
+
outboundDialType?: 'NONE' | 'HTTP_REQUEST';
|
|
1637
|
+
type?: 'PHONE' | 'WEBSOCKET';
|
|
1638
|
+
}
|
|
1639
|
+
}
|
|
1640
|
+
interface HTTPRequestDefinitionConfig {
|
|
1641
|
+
kind: 'httpRequestDefinition';
|
|
1642
|
+
name: string;
|
|
1643
|
+
url: string;
|
|
1644
|
+
body?: string;
|
|
1645
|
+
description?: string | null;
|
|
1646
|
+
headers?: {
|
|
1647
|
+
[key: string]: string;
|
|
1648
|
+
};
|
|
1649
|
+
method?: 'POST' | 'PUT' | 'PATCH' | 'GET';
|
|
1650
|
+
}
|
|
1651
|
+
interface PersonaConfig {
|
|
1652
|
+
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';
|
|
1653
|
+
gender: 'MALE' | 'FEMALE';
|
|
1654
|
+
kind: 'persona';
|
|
1655
|
+
language: 'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE';
|
|
1656
|
+
name: string;
|
|
1657
|
+
age?: 'CHILD' | 'TEENAGER' | 'ADULT' | 'ELDERLY';
|
|
1658
|
+
backgroundNoise?: 'NONE' | 'AIRPORT' | 'CHILDREN_PLAYING' | 'CITY' | 'COFFEE_SHOP' | 'CONSTRUCTION' | 'CRYING_BABY' | 'DRIVING' | 'LIBRARY' | 'OFFICE' | 'THUNDERSTORM' | 'TRAIN';
|
|
1659
|
+
backstoryPrompt?: string | null;
|
|
1660
|
+
baseEmotion?: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED' | 'ANGRY' | 'ANXIOUS' | 'SAD';
|
|
1661
|
+
confirmationStyle?: 'EXPLICIT' | 'VAGUE';
|
|
1662
|
+
description?: string | null;
|
|
1663
|
+
displayName?: string;
|
|
1664
|
+
hasDisfluencies?: boolean;
|
|
1665
|
+
idleMessageMaxSpokenCount?: number;
|
|
1666
|
+
idleMessageResetCountOnUserSpeechEnabled?: boolean;
|
|
1667
|
+
idleMessages?: Array<string> | null;
|
|
1668
|
+
idleTimeoutSeconds?: number;
|
|
1669
|
+
intentClarity?: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
1670
|
+
interruption?: 'OFF' | 'BACKCHANNEL' | 'OCCASIONAL' | 'HEAVY';
|
|
1671
|
+
memoryReliability?: 'HIGH' | 'LOW';
|
|
1672
|
+
properties?: {
|
|
1673
|
+
[key: string]: unknown;
|
|
1674
|
+
};
|
|
1675
|
+
responseTiming?: 'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN';
|
|
1676
|
+
secondaryLanguage?: 'EN';
|
|
1677
|
+
speechClarity?: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
1678
|
+
speechPace?: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
1679
|
+
understoodLanguages?: Array<'EN' | 'ES' | 'DE' | 'HI' | 'FR' | 'NL' | 'AR' | 'EL' | 'IT' | 'ID' | 'TH' | 'JA' | 'TL' | 'MS' | 'ZH' | 'TR' | 'PT' | 'HE'>;
|
|
1680
|
+
}
|
|
1681
|
+
interface ImprovFlowConfig {
|
|
1682
|
+
agents: Array<string>;
|
|
1683
|
+
happyPath: ImprovFlowConfig.HappyPath;
|
|
1684
|
+
kind: 'flow';
|
|
1685
|
+
name: string;
|
|
1686
|
+
type: 'improv';
|
|
1687
|
+
description?: string | null;
|
|
1688
|
+
edgeCases?: Array<ImprovFlowConfig.EdgeCase>;
|
|
1689
|
+
expectations?: Array<string>;
|
|
1690
|
+
title?: string;
|
|
1691
|
+
}
|
|
1692
|
+
namespace ImprovFlowConfig {
|
|
1693
|
+
interface HappyPath {
|
|
1694
|
+
environment: string;
|
|
1695
|
+
persona: string;
|
|
1696
|
+
expectations?: Array<string>;
|
|
1697
|
+
prompt?: string;
|
|
1698
|
+
title?: string;
|
|
1699
|
+
}
|
|
1700
|
+
interface EdgeCase {
|
|
1701
|
+
name: string;
|
|
1702
|
+
environment?: string;
|
|
1703
|
+
expectations?: Array<string>;
|
|
1704
|
+
persona?: string;
|
|
1705
|
+
prompt?: string;
|
|
1706
|
+
title?: string;
|
|
1707
|
+
}
|
|
1708
|
+
}
|
|
1709
|
+
interface ScriptedFlowConfig {
|
|
1710
|
+
graph: Array<ConfigFlowStep>;
|
|
1711
|
+
kind: 'flow';
|
|
1712
|
+
name: string;
|
|
1713
|
+
type: 'scripted';
|
|
1714
|
+
adherence?: 'LOOSE' | 'STRICT';
|
|
1715
|
+
agents?: Array<string>;
|
|
1716
|
+
branchingMode?: 'DETERMINISTIC' | 'ADAPTIVE';
|
|
1717
|
+
description?: string | null;
|
|
1718
|
+
expectations?: Array<string>;
|
|
1719
|
+
offScript?: ScriptedFlowConfig.OffScript;
|
|
1720
|
+
title?: string;
|
|
1721
|
+
}
|
|
1722
|
+
namespace ScriptedFlowConfig {
|
|
1723
|
+
interface OffScript {
|
|
1724
|
+
maxAttempts?: number;
|
|
1725
|
+
reaction?: 'STAY_SILENT' | 'REPEAT' | 'RESPOND' | 'SAY';
|
|
1726
|
+
sayLine?: string;
|
|
1727
|
+
then?: 'HANG_UP' | 'MOVE_ON' | 'ADAPT' | 'HANG_UP_INVALIDATE';
|
|
1728
|
+
waitSeconds?: number;
|
|
1729
|
+
}
|
|
1730
|
+
}
|
|
1731
|
+
interface CollectorConfig {
|
|
1732
|
+
kind: 'collector';
|
|
1733
|
+
metrics: Array<string>;
|
|
1734
|
+
modality: 'call' | 'chat';
|
|
1735
|
+
name: string;
|
|
1736
|
+
displayName?: string;
|
|
1737
|
+
filters?: Array<CollectorConfig.Filter>;
|
|
1738
|
+
status?: 'ACTIVE' | 'INACTIVE';
|
|
1739
|
+
}
|
|
1740
|
+
namespace CollectorConfig {
|
|
1741
|
+
interface Filter {
|
|
1742
|
+
conditions: Array<Filter.Condition>;
|
|
1743
|
+
}
|
|
1744
|
+
namespace Filter {
|
|
1745
|
+
interface Condition {
|
|
1746
|
+
key: string;
|
|
1747
|
+
type: 'AGENT' | 'CALL_SOURCE' | 'CALL_PROPERTY' | 'INTEGRATION';
|
|
1748
|
+
operator?: 'EQUALS' | 'NOT_EQUALS' | 'CONTAINS' | 'STARTS_WITH' | 'GREATER_THAN' | 'LESS_THAN' | 'GREATER_THAN_OR_EQUALS' | 'LESS_THAN_OR_EQUALS';
|
|
1749
|
+
value?: string;
|
|
1750
|
+
}
|
|
1751
|
+
}
|
|
1752
|
+
}
|
|
1753
|
+
interface MetricConfig {
|
|
1754
|
+
kind: 'metric';
|
|
1755
|
+
name: string;
|
|
1756
|
+
prompt: string;
|
|
1757
|
+
type: 'BOOLEAN' | 'SCALE' | 'NUMERIC' | 'TEXT' | 'CLASSIFICATION';
|
|
1758
|
+
contexts?: Array<'CALL' | 'SEGMENT' | 'TURN'>;
|
|
1759
|
+
displayName?: string;
|
|
1760
|
+
falseLabel?: string;
|
|
1761
|
+
maxSelections?: number;
|
|
1762
|
+
options?: Array<MetricConfig.Option>;
|
|
1763
|
+
participantRole?: 'AGENT' | 'CUSTOMER';
|
|
1764
|
+
scaleLabels?: Array<MetricConfig.ScaleLabel>;
|
|
1765
|
+
scaleMax?: number;
|
|
1766
|
+
scaleMin?: number;
|
|
1767
|
+
scope?: 'GLOBAL' | 'PER_PARTICIPANT';
|
|
1768
|
+
trueLabel?: string;
|
|
1769
|
+
}
|
|
1770
|
+
namespace MetricConfig {
|
|
1771
|
+
interface Option {
|
|
1772
|
+
displayOrder: number;
|
|
1773
|
+
label: string;
|
|
1774
|
+
description?: string;
|
|
1775
|
+
}
|
|
1776
|
+
interface ScaleLabel {
|
|
1777
|
+
displayOrder: number;
|
|
1778
|
+
label: string;
|
|
1779
|
+
rangeMax: number;
|
|
1780
|
+
rangeMin: number;
|
|
1781
|
+
colorHex?: string;
|
|
1782
|
+
description?: string;
|
|
1783
|
+
}
|
|
1784
|
+
}
|
|
1785
|
+
interface SimulationPlanConfig {
|
|
1786
|
+
agentEndpoints: Array<SimulationPlanConfig.AgentEndpoint>;
|
|
1787
|
+
direction: 'INBOUND' | 'OUTBOUND';
|
|
1788
|
+
flows: Array<SimulationPlanConfig.Flow>;
|
|
1789
|
+
kind: 'simulationPlan';
|
|
1790
|
+
maxDurationSeconds: number;
|
|
1791
|
+
metrics: Array<string>;
|
|
1792
|
+
name: string;
|
|
1793
|
+
description?: string | null;
|
|
1794
|
+
endCallPhrases?: Array<string>;
|
|
1795
|
+
endCallReasons?: Array<string>;
|
|
1796
|
+
enrichWithLiveConversation?: boolean;
|
|
1797
|
+
executionMode?: 'PARALLEL' | 'SEQUENTIAL_SAME_RUN_PLAN' | 'SEQUENTIAL_PROJECT';
|
|
1798
|
+
includeAutomaticMetrics?: boolean;
|
|
1799
|
+
includeFlowMetrics?: boolean;
|
|
1800
|
+
iterations?: number;
|
|
1801
|
+
maxConcurrentJobs?: number;
|
|
1802
|
+
silenceTimeoutSeconds?: number;
|
|
1803
|
+
template?: 'manual';
|
|
1804
|
+
}
|
|
1805
|
+
namespace SimulationPlanConfig {
|
|
1806
|
+
interface AgentEndpoint {
|
|
1807
|
+
agent: string;
|
|
1808
|
+
direction?: 'INCOMING' | 'OUTGOING' | 'INCOMING_AND_OUTGOING';
|
|
1809
|
+
value?: string;
|
|
1810
|
+
}
|
|
1811
|
+
interface Flow {
|
|
1812
|
+
edgeCases?: Array<string>;
|
|
1813
|
+
flow?: string;
|
|
1814
|
+
happyPath?: boolean;
|
|
1815
|
+
personaOverride?: string;
|
|
1816
|
+
system?: string;
|
|
1817
|
+
}
|
|
1818
|
+
}
|
|
1819
|
+
interface QaSimulationPlanConfig {
|
|
1820
|
+
agentEndpoints: Array<QaSimulationPlanConfig.AgentEndpoint>;
|
|
1821
|
+
direction: 'INBOUND' | 'OUTBOUND';
|
|
1822
|
+
environment: string;
|
|
1823
|
+
kind: 'simulationPlan';
|
|
1824
|
+
maxDurationSeconds: number;
|
|
1825
|
+
name: string;
|
|
1826
|
+
persona: string;
|
|
1827
|
+
questions: Array<QaSimulationPlanConfig.Question>;
|
|
1828
|
+
template: 'question-answer-check';
|
|
1829
|
+
description?: string | null;
|
|
1830
|
+
endCallPhrases?: Array<string>;
|
|
1831
|
+
endCallReasons?: Array<string>;
|
|
1832
|
+
enrichWithLiveConversation?: boolean;
|
|
1833
|
+
executionMode?: 'PARALLEL' | 'SEQUENTIAL_SAME_RUN_PLAN' | 'SEQUENTIAL_PROJECT';
|
|
1834
|
+
gradeWithKnowledgeBase?: boolean;
|
|
1835
|
+
includeAutomaticMetrics?: boolean;
|
|
1836
|
+
includeFlowMetrics?: boolean;
|
|
1837
|
+
iterations?: number;
|
|
1838
|
+
maxConcurrentJobs?: number;
|
|
1839
|
+
metrics?: Array<string>;
|
|
1840
|
+
silenceTimeoutSeconds?: number;
|
|
1841
|
+
}
|
|
1842
|
+
namespace QaSimulationPlanConfig {
|
|
1843
|
+
interface AgentEndpoint {
|
|
1844
|
+
agent: string;
|
|
1845
|
+
direction?: 'INCOMING' | 'OUTGOING' | 'INCOMING_AND_OUTGOING';
|
|
1846
|
+
value?: string;
|
|
1847
|
+
}
|
|
1848
|
+
interface Question {
|
|
1849
|
+
ask: string;
|
|
1850
|
+
expect?: string;
|
|
1851
|
+
name?: string;
|
|
1852
|
+
}
|
|
1853
|
+
}
|
|
1854
|
+
interface AlertConfig {
|
|
1855
|
+
kind: 'alert';
|
|
1856
|
+
name: string;
|
|
1857
|
+
trigger: AlertConfig.AlertThresholdTrigger | AlertConfig.AlertEventTrigger | AlertConfig.AlertSimulationTrigger;
|
|
1858
|
+
actions?: AlertConfig.Actions;
|
|
1859
|
+
displayName?: string;
|
|
1860
|
+
enabled?: boolean;
|
|
1861
|
+
}
|
|
1862
|
+
namespace AlertConfig {
|
|
1863
|
+
interface AlertThresholdTrigger {
|
|
1864
|
+
aggregation: 'COUNT' | 'RATE_PER_MINUTE' | 'MEAN';
|
|
1865
|
+
metric: string;
|
|
1866
|
+
operator: 'GT' | 'GTE' | 'LT' | 'LTE';
|
|
1867
|
+
thresholdValue: number;
|
|
1868
|
+
type: 'threshold';
|
|
1869
|
+
windowMinutes: number;
|
|
1870
|
+
consecutiveOpen?: number;
|
|
1871
|
+
consecutiveResolve?: number;
|
|
1872
|
+
grouping?: 'NONE' | 'BY_AGENT';
|
|
1873
|
+
metricVariant?: string;
|
|
1874
|
+
minSampleSize?: number;
|
|
1875
|
+
}
|
|
1876
|
+
interface AlertEventTrigger {
|
|
1877
|
+
events: Array<'CALL_ANALYSIS_COMPLETED' | 'CALL_ANALYSIS_FAILED' | 'CALL_ANALYSIS_CANCELLED' | 'SIMULATION_RUN_PLAN_JOB_STARTED' | 'SIMULATION_RUN_PLAN_JOB_COMPLETED' | 'SIMULATION_RUN_PLAN_JOB_FAILED' | 'SIMULATION_RUN_PLAN_JOB_CANCELLED' | 'SIMULATION_JOB_STARTED' | 'SIMULATION_JOB_COMPLETED' | 'SIMULATION_JOB_FAILED' | 'SIMULATION_JOB_CANCELLED' | 'METRIC_COLLECTION_JOB_COMPLETED' | 'METRIC_COLLECTION_JOB_FAILED' | 'CHAT_ANALYSIS_COMPLETED' | 'CHAT_ANALYSIS_FAILED' | 'ISSUE_OPENED' | 'ISSUE_RESOLVED'>;
|
|
1878
|
+
type: 'event';
|
|
1879
|
+
}
|
|
1880
|
+
interface AlertSimulationTrigger {
|
|
1881
|
+
conditions: Array<'SUCCESS' | 'FAILURE' | 'THRESHOLD_FAILED'>;
|
|
1882
|
+
type: 'simulation';
|
|
1883
|
+
deliveryFormat?: 'MESSAGE' | 'PDF';
|
|
1884
|
+
plan?: string;
|
|
1885
|
+
}
|
|
1886
|
+
interface Actions {
|
|
1887
|
+
slack?: Array<Actions.Slack>;
|
|
1888
|
+
webhooks?: Array<string>;
|
|
1889
|
+
}
|
|
1890
|
+
namespace Actions {
|
|
1891
|
+
interface Slack {
|
|
1892
|
+
channelId: string;
|
|
1893
|
+
channelName: string;
|
|
1894
|
+
}
|
|
1895
|
+
}
|
|
1896
|
+
}
|
|
1897
|
+
interface ToolConfig {
|
|
1898
|
+
kind: 'tool';
|
|
1899
|
+
name: string;
|
|
1900
|
+
agent?: string;
|
|
1901
|
+
description?: string | null;
|
|
1902
|
+
expectedResult?: string | null;
|
|
1903
|
+
invocationCriteria?: string | null;
|
|
1904
|
+
parameters?: {
|
|
1905
|
+
[key: string]: 'string' | 'number' | 'boolean';
|
|
1906
|
+
};
|
|
1907
|
+
}
|
|
1908
|
+
}
|
|
997
1909
|
}
|
|
998
1910
|
export declare namespace Config {
|
|
999
1911
|
export { type Bundle as Bundle, type ConfigFlowStep as ConfigFlowStep, type ConfigApplyResponse as ConfigApplyResponse, type ConfigDiffResponse as ConfigDiffResponse, type ConfigApplyParams as ConfigApplyParams, type ConfigDiffParams as ConfigDiffParams, };
|