@speakai/shared 2.1.3 → 2.1.5
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/dist/enums/index.d.ts +1 -0
- package/dist/enums/index.d.ts.map +1 -1
- package/dist/enums/index.js +1 -0
- package/dist/enums/index.js.map +1 -1
- package/dist/enums/menu.d.ts +38 -0
- package/dist/enums/menu.d.ts.map +1 -0
- package/dist/enums/menu.js +56 -0
- package/dist/enums/menu.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/voice/enums/agent.d.ts +19 -0
- package/dist/voice/enums/agent.d.ts.map +1 -0
- package/dist/voice/enums/agent.js +18 -0
- package/dist/voice/enums/agent.js.map +1 -0
- package/dist/voice/enums/auth.d.ts +19 -0
- package/dist/voice/enums/auth.d.ts.map +1 -0
- package/dist/voice/enums/auth.js +21 -0
- package/dist/voice/enums/auth.js.map +1 -0
- package/dist/voice/enums/avatar.d.ts +6 -0
- package/dist/voice/enums/avatar.d.ts.map +1 -0
- package/dist/voice/enums/avatar.js +5 -0
- package/dist/voice/enums/avatar.js.map +1 -0
- package/dist/voice/enums/billing.d.ts +26 -0
- package/dist/voice/enums/billing.d.ts.map +1 -0
- package/dist/voice/enums/billing.js +29 -0
- package/dist/voice/enums/billing.js.map +1 -0
- package/dist/voice/enums/conversation.d.ts +62 -0
- package/dist/voice/enums/conversation.d.ts.map +1 -0
- package/dist/voice/enums/conversation.js +73 -0
- package/dist/voice/enums/conversation.js.map +1 -0
- package/dist/voice/enums/dataCollection.d.ts +54 -0
- package/dist/voice/enums/dataCollection.d.ts.map +1 -0
- package/dist/voice/enums/dataCollection.js +59 -0
- package/dist/voice/enums/dataCollection.js.map +1 -0
- package/dist/voice/enums/index.d.ts +22 -0
- package/dist/voice/enums/index.d.ts.map +1 -0
- package/dist/voice/enums/index.js +22 -0
- package/dist/voice/enums/index.js.map +1 -0
- package/dist/voice/enums/integration.d.ts +80 -0
- package/dist/voice/enums/integration.d.ts.map +1 -0
- package/dist/voice/enums/integration.js +96 -0
- package/dist/voice/enums/integration.js.map +1 -0
- package/dist/voice/enums/livekit.d.ts +26 -0
- package/dist/voice/enums/livekit.d.ts.map +1 -0
- package/dist/voice/enums/livekit.js +35 -0
- package/dist/voice/enums/livekit.js.map +1 -0
- package/dist/voice/enums/notification.d.ts +6 -0
- package/dist/voice/enums/notification.d.ts.map +1 -0
- package/dist/voice/enums/notification.js +5 -0
- package/dist/voice/enums/notification.js.map +1 -0
- package/dist/voice/enums/organization.d.ts +11 -0
- package/dist/voice/enums/organization.d.ts.map +1 -0
- package/dist/voice/enums/organization.js +12 -0
- package/dist/voice/enums/organization.js.map +1 -0
- package/dist/voice/enums/providers.d.ts +28 -0
- package/dist/voice/enums/providers.d.ts.map +1 -0
- package/dist/voice/enums/providers.js +35 -0
- package/dist/voice/enums/providers.js.map +1 -0
- package/dist/voice/enums/structuredOutput.d.ts +15 -0
- package/dist/voice/enums/structuredOutput.d.ts.map +1 -0
- package/dist/voice/enums/structuredOutput.js +16 -0
- package/dist/voice/enums/structuredOutput.js.map +1 -0
- package/dist/voice/enums/telephony.d.ts +6 -0
- package/dist/voice/enums/telephony.d.ts.map +1 -0
- package/dist/voice/enums/telephony.js +5 -0
- package/dist/voice/enums/telephony.js.map +1 -0
- package/dist/voice/enums/voice.d.ts +6 -0
- package/dist/voice/enums/voice.d.ts.map +1 -0
- package/dist/voice/enums/voice.js +5 -0
- package/dist/voice/enums/voice.js.map +1 -0
- package/dist/voice/index.d.ts +11 -0
- package/dist/voice/index.d.ts.map +1 -0
- package/dist/voice/index.js +11 -0
- package/dist/voice/index.js.map +1 -0
- package/dist/voice/interfaces/agent.d.ts +246 -0
- package/dist/voice/interfaces/agent.d.ts.map +1 -0
- package/dist/voice/interfaces/agent.js +12 -0
- package/dist/voice/interfaces/agent.js.map +1 -0
- package/dist/voice/interfaces/analytics.d.ts +45 -0
- package/dist/voice/interfaces/analytics.d.ts.map +1 -0
- package/dist/voice/interfaces/analytics.js +6 -0
- package/dist/voice/interfaces/analytics.js.map +1 -0
- package/dist/voice/interfaces/avatar.d.ts +60 -0
- package/dist/voice/interfaces/avatar.d.ts.map +1 -0
- package/dist/voice/interfaces/avatar.js +5 -0
- package/dist/voice/interfaces/avatar.js.map +1 -0
- package/dist/voice/interfaces/billing.d.ts +130 -0
- package/dist/voice/interfaces/billing.d.ts.map +1 -0
- package/dist/voice/interfaces/billing.js +6 -0
- package/dist/voice/interfaces/billing.js.map +1 -0
- package/dist/voice/interfaces/conversation.d.ts +132 -0
- package/dist/voice/interfaces/conversation.d.ts.map +1 -0
- package/dist/voice/interfaces/conversation.js +6 -0
- package/dist/voice/interfaces/conversation.js.map +1 -0
- package/dist/voice/interfaces/dataCollection.d.ts +173 -0
- package/dist/voice/interfaces/dataCollection.d.ts.map +1 -0
- package/dist/voice/interfaces/dataCollection.js +6 -0
- package/dist/voice/interfaces/dataCollection.js.map +1 -0
- package/dist/voice/interfaces/index.d.ts +23 -0
- package/dist/voice/interfaces/index.d.ts.map +1 -0
- package/dist/voice/interfaces/index.js +23 -0
- package/dist/voice/interfaces/index.js.map +1 -0
- package/dist/voice/interfaces/integration.d.ts +146 -0
- package/dist/voice/interfaces/integration.d.ts.map +1 -0
- package/dist/voice/interfaces/integration.js +2 -0
- package/dist/voice/interfaces/integration.js.map +1 -0
- package/dist/voice/interfaces/kbGap.d.ts +21 -0
- package/dist/voice/interfaces/kbGap.d.ts.map +1 -0
- package/dist/voice/interfaces/kbGap.js +2 -0
- package/dist/voice/interfaces/kbGap.js.map +1 -0
- package/dist/voice/interfaces/knowledgeBase.d.ts +24 -0
- package/dist/voice/interfaces/knowledgeBase.d.ts.map +1 -0
- package/dist/voice/interfaces/knowledgeBase.js +6 -0
- package/dist/voice/interfaces/knowledgeBase.js.map +1 -0
- package/dist/voice/interfaces/livekit.d.ts +29 -0
- package/dist/voice/interfaces/livekit.d.ts.map +1 -0
- package/dist/voice/interfaces/livekit.js +5 -0
- package/dist/voice/interfaces/livekit.js.map +1 -0
- package/dist/voice/interfaces/notification.d.ts +19 -0
- package/dist/voice/interfaces/notification.d.ts.map +1 -0
- package/dist/voice/interfaces/notification.js +5 -0
- package/dist/voice/interfaces/notification.js.map +1 -0
- package/dist/voice/interfaces/organization.d.ts +49 -0
- package/dist/voice/interfaces/organization.d.ts.map +1 -0
- package/dist/voice/interfaces/organization.js +9 -0
- package/dist/voice/interfaces/organization.js.map +1 -0
- package/dist/voice/interfaces/structuredOutput.d.ts +75 -0
- package/dist/voice/interfaces/structuredOutput.d.ts.map +1 -0
- package/dist/voice/interfaces/structuredOutput.js +6 -0
- package/dist/voice/interfaces/structuredOutput.js.map +1 -0
- package/dist/voice/interfaces/telephony.d.ts +116 -0
- package/dist/voice/interfaces/telephony.d.ts.map +1 -0
- package/dist/voice/interfaces/telephony.js +5 -0
- package/dist/voice/interfaces/telephony.js.map +1 -0
- package/dist/voice/interfaces/testing.d.ts +141 -0
- package/dist/voice/interfaces/testing.d.ts.map +1 -0
- package/dist/voice/interfaces/testing.js +6 -0
- package/dist/voice/interfaces/testing.js.map +1 -0
- package/dist/voice/interfaces/voice.d.ts +34 -0
- package/dist/voice/interfaces/voice.d.ts.map +1 -0
- package/dist/voice/interfaces/voice.js +5 -0
- package/dist/voice/interfaces/voice.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversation Types
|
|
3
|
+
* Shared types for conversation tracking and events
|
|
4
|
+
*/
|
|
5
|
+
import { UsageMetrics, CostBreakdown } from "./billing.js";
|
|
6
|
+
import { CallType, RecordingStatus, ConversationStatus } from "../enums/billing.js";
|
|
7
|
+
import { PhoneCallMetadata, HandoffMetadata } from "./telephony.js";
|
|
8
|
+
import { StructuredOutputsMap } from "./structuredOutput.js";
|
|
9
|
+
import { CanonicalEndReason, SentimentType } from "../enums/conversation.js";
|
|
10
|
+
export interface TranscriptMessage {
|
|
11
|
+
role: "user" | "agent";
|
|
12
|
+
message: string;
|
|
13
|
+
timestamp: string;
|
|
14
|
+
messageId?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface ConversationMetadata {
|
|
17
|
+
systemPrompt?: string;
|
|
18
|
+
agentName?: string;
|
|
19
|
+
voiceProvider?: string;
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
}
|
|
22
|
+
export interface WordTimestamp {
|
|
23
|
+
word: string;
|
|
24
|
+
start?: number;
|
|
25
|
+
end?: number;
|
|
26
|
+
confidence?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface ConversationSummaryMeta {
|
|
29
|
+
model: string;
|
|
30
|
+
inputTokens: number;
|
|
31
|
+
outputTokens: number;
|
|
32
|
+
costUsd: number;
|
|
33
|
+
}
|
|
34
|
+
export interface ConversationSummary {
|
|
35
|
+
text: string;
|
|
36
|
+
sentiment: SentimentType;
|
|
37
|
+
keyTopics: string[];
|
|
38
|
+
actionItems: string[];
|
|
39
|
+
generatedAt: string;
|
|
40
|
+
meta: ConversationSummaryMeta;
|
|
41
|
+
}
|
|
42
|
+
export interface ConversationAnalysis {
|
|
43
|
+
structuredData?: Record<string, any>;
|
|
44
|
+
structuredOutputs?: StructuredOutputsMap;
|
|
45
|
+
successEvaluation?: string;
|
|
46
|
+
summary?: ConversationSummary;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Full Conversation interface
|
|
50
|
+
* Used by client and backend
|
|
51
|
+
*/
|
|
52
|
+
export interface Conversation {
|
|
53
|
+
conversationId: string;
|
|
54
|
+
agentId: string;
|
|
55
|
+
agentName?: string;
|
|
56
|
+
userId: string;
|
|
57
|
+
widgetSessionId?: string;
|
|
58
|
+
participants: string[];
|
|
59
|
+
sessionId: string;
|
|
60
|
+
transcript: TranscriptMessage[];
|
|
61
|
+
status: ConversationStatus;
|
|
62
|
+
duration: number;
|
|
63
|
+
usage?: UsageMetrics;
|
|
64
|
+
costs?: CostBreakdown;
|
|
65
|
+
startedAt: string;
|
|
66
|
+
endedAt?: string;
|
|
67
|
+
analysis?: ConversationAnalysis;
|
|
68
|
+
/** Post-call feedback submitted by the end user (rating is 1-5; submittedAt is ISO). */
|
|
69
|
+
feedback?: {
|
|
70
|
+
rating?: number;
|
|
71
|
+
comment?: string;
|
|
72
|
+
submittedAt?: string;
|
|
73
|
+
};
|
|
74
|
+
endedReason?: CanonicalEndReason;
|
|
75
|
+
recordingUrls?: {
|
|
76
|
+
mixed?: string;
|
|
77
|
+
user?: string;
|
|
78
|
+
agent?: string;
|
|
79
|
+
};
|
|
80
|
+
recordingStatus?: RecordingStatus;
|
|
81
|
+
metadata?: Record<string, any>;
|
|
82
|
+
callType?: CallType;
|
|
83
|
+
phone?: PhoneCallMetadata;
|
|
84
|
+
handoff?: HandoffMetadata;
|
|
85
|
+
callerId?: string;
|
|
86
|
+
createdAt: string;
|
|
87
|
+
}
|
|
88
|
+
export interface ConversationEvent {
|
|
89
|
+
eventId: string;
|
|
90
|
+
conversationId: string;
|
|
91
|
+
agentId?: string;
|
|
92
|
+
userId?: string;
|
|
93
|
+
eventType: string;
|
|
94
|
+
timestamp: string;
|
|
95
|
+
cost?: number;
|
|
96
|
+
platformCost?: number;
|
|
97
|
+
data: Record<string, unknown>;
|
|
98
|
+
metadata?: {
|
|
99
|
+
turnNumber?: number;
|
|
100
|
+
requestId?: string;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
export interface ConversationSearchEvent {
|
|
104
|
+
type: "kb" | "web";
|
|
105
|
+
query: string;
|
|
106
|
+
resultCount: number;
|
|
107
|
+
durationMs: number;
|
|
108
|
+
topUrl?: string;
|
|
109
|
+
avgScore?: number;
|
|
110
|
+
failed?: boolean;
|
|
111
|
+
}
|
|
112
|
+
export interface ConversationTurn {
|
|
113
|
+
turnNumber: number;
|
|
114
|
+
userMessage?: {
|
|
115
|
+
text: string;
|
|
116
|
+
timestamp: number;
|
|
117
|
+
};
|
|
118
|
+
agentMessage?: {
|
|
119
|
+
text: string;
|
|
120
|
+
timestamp: number;
|
|
121
|
+
};
|
|
122
|
+
searches: ConversationSearchEvent[];
|
|
123
|
+
errors: Array<{
|
|
124
|
+
service: string;
|
|
125
|
+
message: string;
|
|
126
|
+
}>;
|
|
127
|
+
attribution: {
|
|
128
|
+
primarySource: "kb" | "web" | "none";
|
|
129
|
+
sources: Array<"kb" | "web">;
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=conversation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/voice/interfaces/conversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/voice/interfaces/conversation.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data Collection Interfaces
|
|
3
|
+
* Shared types for data collection templates and fields
|
|
4
|
+
*/
|
|
5
|
+
import { DataCollectionFieldType, DataCollectionCategory, CollectionMethod, NoResponseBehavior } from "../enums/dataCollection.js";
|
|
6
|
+
/**
|
|
7
|
+
* Validation configuration for a field
|
|
8
|
+
*/
|
|
9
|
+
export interface ValidationConfig {
|
|
10
|
+
pattern?: string;
|
|
11
|
+
minLength?: number;
|
|
12
|
+
maxLength?: number;
|
|
13
|
+
min?: number;
|
|
14
|
+
max?: number;
|
|
15
|
+
allowedValues?: string[];
|
|
16
|
+
customValidation?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Field configuration (template defaults or agent overrides)
|
|
20
|
+
*/
|
|
21
|
+
export interface FieldConfig {
|
|
22
|
+
displayLabel: string;
|
|
23
|
+
promptText: string;
|
|
24
|
+
confirmationText?: string;
|
|
25
|
+
validationPrompt?: string;
|
|
26
|
+
inputPlaceholder?: string;
|
|
27
|
+
validation?: ValidationConfig;
|
|
28
|
+
allowTextInput: boolean;
|
|
29
|
+
allowSkip: boolean;
|
|
30
|
+
showInlineInput: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Data Collection Template (global, reusable)
|
|
34
|
+
*/
|
|
35
|
+
export interface DataCollectionTemplate {
|
|
36
|
+
templateId: string;
|
|
37
|
+
userId?: string;
|
|
38
|
+
name: string;
|
|
39
|
+
description: string;
|
|
40
|
+
category: DataCollectionCategory;
|
|
41
|
+
fieldType: DataCollectionFieldType;
|
|
42
|
+
defaultConfig: FieldConfig;
|
|
43
|
+
isSystemTemplate: boolean;
|
|
44
|
+
isPublic: boolean;
|
|
45
|
+
tags: string[];
|
|
46
|
+
usageCount: number;
|
|
47
|
+
createdAt: string;
|
|
48
|
+
updatedAt: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Custom configuration (agent-level overrides)
|
|
52
|
+
*/
|
|
53
|
+
export interface CustomFieldConfig {
|
|
54
|
+
displayLabel?: string;
|
|
55
|
+
promptText?: string;
|
|
56
|
+
confirmationText?: string;
|
|
57
|
+
validationPrompt?: string;
|
|
58
|
+
inputPlaceholder?: string;
|
|
59
|
+
validation?: Partial<ValidationConfig>;
|
|
60
|
+
allowTextInput?: boolean;
|
|
61
|
+
allowSkip?: boolean;
|
|
62
|
+
showInlineInput?: boolean;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Agent Data Collection Field (mapping template to agent)
|
|
66
|
+
*/
|
|
67
|
+
export interface AgentDataCollectionField {
|
|
68
|
+
fieldId: string;
|
|
69
|
+
agentId: string;
|
|
70
|
+
templateId: string;
|
|
71
|
+
customConfig?: CustomFieldConfig;
|
|
72
|
+
required: boolean;
|
|
73
|
+
maxPromptAttempts: number;
|
|
74
|
+
noResponseBehavior: NoResponseBehavior;
|
|
75
|
+
triggerCondition?: string;
|
|
76
|
+
order: number;
|
|
77
|
+
enabled: boolean;
|
|
78
|
+
createdAt: string;
|
|
79
|
+
updatedAt: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Resolved Data Collection Field (template + agent config merged)
|
|
83
|
+
*/
|
|
84
|
+
export interface ResolvedDataCollectionField {
|
|
85
|
+
fieldId: string;
|
|
86
|
+
agentId: string;
|
|
87
|
+
templateId: string;
|
|
88
|
+
template: DataCollectionTemplate;
|
|
89
|
+
resolvedConfig: FieldConfig;
|
|
90
|
+
required: boolean;
|
|
91
|
+
maxPromptAttempts: number;
|
|
92
|
+
noResponseBehavior: NoResponseBehavior;
|
|
93
|
+
triggerCondition?: string;
|
|
94
|
+
order: number;
|
|
95
|
+
enabled: boolean;
|
|
96
|
+
hasCustomizations: boolean;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Collection event stored in conversation metadata
|
|
100
|
+
*/
|
|
101
|
+
export interface CollectionEvent {
|
|
102
|
+
fieldId?: string;
|
|
103
|
+
fieldName: string;
|
|
104
|
+
value: any;
|
|
105
|
+
method: CollectionMethod;
|
|
106
|
+
timestamp: string;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Collected data entry
|
|
110
|
+
*/
|
|
111
|
+
export interface CollectedFieldData {
|
|
112
|
+
value: any;
|
|
113
|
+
collectedAt: string;
|
|
114
|
+
method: CollectionMethod;
|
|
115
|
+
confirmed: boolean;
|
|
116
|
+
attempts: number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Collection state for a conversation
|
|
120
|
+
*/
|
|
121
|
+
export interface CollectionState {
|
|
122
|
+
[fieldName: string]: CollectedFieldData;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Request to add field to agent
|
|
126
|
+
*/
|
|
127
|
+
export interface AddFieldToAgentRequest {
|
|
128
|
+
templateId: string;
|
|
129
|
+
customConfig?: CustomFieldConfig;
|
|
130
|
+
required?: boolean;
|
|
131
|
+
maxPromptAttempts?: number;
|
|
132
|
+
noResponseBehavior?: NoResponseBehavior;
|
|
133
|
+
triggerCondition?: string;
|
|
134
|
+
order?: number;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Request to update agent field
|
|
138
|
+
*/
|
|
139
|
+
export interface UpdateAgentFieldRequest {
|
|
140
|
+
customConfig?: CustomFieldConfig;
|
|
141
|
+
required?: boolean;
|
|
142
|
+
maxPromptAttempts?: number;
|
|
143
|
+
noResponseBehavior?: NoResponseBehavior;
|
|
144
|
+
triggerCondition?: string;
|
|
145
|
+
order?: number;
|
|
146
|
+
enabled?: boolean;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Request to reorder fields
|
|
150
|
+
*/
|
|
151
|
+
export interface ReorderFieldsRequest {
|
|
152
|
+
fieldOrders: Array<{
|
|
153
|
+
fieldId: string;
|
|
154
|
+
order: number;
|
|
155
|
+
}>;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Validation result
|
|
159
|
+
*/
|
|
160
|
+
export interface ValidationResult {
|
|
161
|
+
valid: boolean;
|
|
162
|
+
message?: string;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Collection progress
|
|
166
|
+
*/
|
|
167
|
+
export interface CollectionProgress {
|
|
168
|
+
totalFields: number;
|
|
169
|
+
collectedFields: number;
|
|
170
|
+
missingRequired: string[];
|
|
171
|
+
percentComplete: number;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=dataCollection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataCollection.d.ts","sourceRoot":"","sources":["../../../src/voice/interfaces/dataCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataCollection.js","sourceRoot":"","sources":["../../../src/voice/interfaces/dataCollection.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice Agent Interfaces Index
|
|
3
|
+
* Client-facing Voice Agent domain interfaces. The prospect/demo domain and
|
|
4
|
+
* supervision types are intentionally NOT re-exported here — they remain
|
|
5
|
+
* private to speak-server.
|
|
6
|
+
*/
|
|
7
|
+
export * from "./agent.js";
|
|
8
|
+
export * from "./avatar.js";
|
|
9
|
+
export * from "./voice.js";
|
|
10
|
+
export * from "./livekit.js";
|
|
11
|
+
export * from "./conversation.js";
|
|
12
|
+
export * from "./dataCollection.js";
|
|
13
|
+
export * from "./structuredOutput.js";
|
|
14
|
+
export * from "./telephony.js";
|
|
15
|
+
export * from "./billing.js";
|
|
16
|
+
export * from "./knowledgeBase.js";
|
|
17
|
+
export * from "./analytics.js";
|
|
18
|
+
export * from "./integration.js";
|
|
19
|
+
export * from "./kbGap.js";
|
|
20
|
+
export * from "./notification.js";
|
|
21
|
+
export * from "./organization.js";
|
|
22
|
+
export * from "./testing.js";
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/voice/interfaces/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice Agent Interfaces Index
|
|
3
|
+
* Client-facing Voice Agent domain interfaces. The prospect/demo domain and
|
|
4
|
+
* supervision types are intentionally NOT re-exported here — they remain
|
|
5
|
+
* private to speak-server.
|
|
6
|
+
*/
|
|
7
|
+
export * from "./agent.js";
|
|
8
|
+
export * from "./avatar.js";
|
|
9
|
+
export * from "./voice.js";
|
|
10
|
+
export * from "./livekit.js";
|
|
11
|
+
export * from "./conversation.js";
|
|
12
|
+
export * from "./dataCollection.js";
|
|
13
|
+
export * from "./structuredOutput.js";
|
|
14
|
+
export * from "./telephony.js";
|
|
15
|
+
export * from "./billing.js";
|
|
16
|
+
export * from "./knowledgeBase.js";
|
|
17
|
+
export * from "./analytics.js";
|
|
18
|
+
export * from "./integration.js";
|
|
19
|
+
export * from "./kbGap.js";
|
|
20
|
+
export * from "./notification.js";
|
|
21
|
+
export * from "./organization.js";
|
|
22
|
+
export * from "./testing.js";
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/voice/interfaces/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { IntegrationSlug, VoiceIntegrationAuthType, IntegrationStatus, RuleConditionField, RuleOperator } from "../enums/integration.js";
|
|
2
|
+
/**
|
|
3
|
+
* Org-level integration record as returned by the backend `GET /integrations`
|
|
4
|
+
* list endpoint. Represents a single connected (or connecting) integration for
|
|
5
|
+
* the organization — distinct from `ConnectedIntegration`, which is scoped to a
|
|
6
|
+
* specific agent.
|
|
7
|
+
*/
|
|
8
|
+
export interface OrgIntegration {
|
|
9
|
+
integrationId: string;
|
|
10
|
+
orgId: string;
|
|
11
|
+
slug: IntegrationSlug;
|
|
12
|
+
status: IntegrationStatus;
|
|
13
|
+
/**
|
|
14
|
+
* Provider-side account identifier (Composio connected-account id). Required:
|
|
15
|
+
* uniquely identifies which connected account this org integration maps to,
|
|
16
|
+
* enabling multiple accounts per provider.
|
|
17
|
+
*/
|
|
18
|
+
providerAccountId: string;
|
|
19
|
+
/**
|
|
20
|
+
* Best-effort account email. OPTIONAL — Composio's list API does NOT expose
|
|
21
|
+
* the email, so this is frequently absent; the human-facing label is
|
|
22
|
+
* primarily driven by `accountLabel`.
|
|
23
|
+
*/
|
|
24
|
+
accountEmail?: string;
|
|
25
|
+
/** User-provided human label distinguishing this account from others on the same provider. */
|
|
26
|
+
accountLabel?: string;
|
|
27
|
+
/** User id of the org member who connected this account. */
|
|
28
|
+
connectedByUserId?: string;
|
|
29
|
+
connectedAt?: string | Date;
|
|
30
|
+
error?: string | null;
|
|
31
|
+
createdAt: string | Date;
|
|
32
|
+
updatedAt: string | Date;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A tool descriptor as returned by the backend `GET /:slug/tools`
|
|
36
|
+
* endpoint. Describes a single callable tool exposed by an integration.
|
|
37
|
+
*/
|
|
38
|
+
export interface ToolDescriptor {
|
|
39
|
+
toolName: string;
|
|
40
|
+
displayName: string;
|
|
41
|
+
description: string;
|
|
42
|
+
paramsSchema: Record<string, any>;
|
|
43
|
+
destructive: boolean;
|
|
44
|
+
/** Optional icon URL for the tool/provider, surfaced in the picker UI. */
|
|
45
|
+
iconUrl?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface ConnectedIntegration {
|
|
48
|
+
integrationId: string;
|
|
49
|
+
agentId: string;
|
|
50
|
+
orgId: string;
|
|
51
|
+
slug: IntegrationSlug;
|
|
52
|
+
status: IntegrationStatus;
|
|
53
|
+
config?: Record<string, any>;
|
|
54
|
+
connectedAt?: string;
|
|
55
|
+
lastSyncedAt?: string;
|
|
56
|
+
error?: string | null;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Describes a single credential field the user must supply when connecting an
|
|
60
|
+
* API-key integration. The backend is the source of truth for these specs
|
|
61
|
+
* (per-provider field names come from the provider's connect-account schema);
|
|
62
|
+
* the client renders a form from `VoiceConnectFieldsResponse.fields`.
|
|
63
|
+
*/
|
|
64
|
+
export interface VoiceCredentialFieldSpec {
|
|
65
|
+
/** Provider-specific field key sent back in `VoiceConnectKeyRequest.fields`. */
|
|
66
|
+
name: string;
|
|
67
|
+
/** Human-facing label for the input. */
|
|
68
|
+
label: string;
|
|
69
|
+
/** Input type — `password` masks the value in the UI. */
|
|
70
|
+
type: "text" | "password";
|
|
71
|
+
required: boolean;
|
|
72
|
+
/** Optional placeholder shown in the empty input. */
|
|
73
|
+
placeholder?: string;
|
|
74
|
+
/** Optional "where do I find this?" help link. */
|
|
75
|
+
helpUrl?: string;
|
|
76
|
+
/** Optional longer-form description / hint for the field. */
|
|
77
|
+
description?: string;
|
|
78
|
+
/** When true, the value is a secret (never echoed back, never logged). */
|
|
79
|
+
secret?: boolean;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Response shape for `GET /integrations/:slug/connect-fields`. Tells the client
|
|
83
|
+
* which auth flow a provider uses and, for API-key providers, the fields to
|
|
84
|
+
* render in the connect form.
|
|
85
|
+
*/
|
|
86
|
+
export interface VoiceConnectFieldsResponse {
|
|
87
|
+
slug: IntegrationSlug;
|
|
88
|
+
authType: VoiceIntegrationAuthType;
|
|
89
|
+
fields: VoiceCredentialFieldSpec[];
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Request body for `POST /integrations/:slug/connect-key`. Maps each
|
|
93
|
+
* `VoiceCredentialFieldSpec.name` to the user-entered value. Pass-through only —
|
|
94
|
+
* the secret is never persisted by our backend.
|
|
95
|
+
*/
|
|
96
|
+
export interface VoiceConnectKeyRequest {
|
|
97
|
+
fields: Record<string, string>;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Response shape for `POST /integrations/:slug/connect-key`. On success the
|
|
101
|
+
* connected account summary is returned; on failure `reason` carries a
|
|
102
|
+
* machine-readable code (e.g. failed key verification).
|
|
103
|
+
*/
|
|
104
|
+
export interface VoiceConnectKeyResponse {
|
|
105
|
+
status: "connected" | "failed";
|
|
106
|
+
reason?: string;
|
|
107
|
+
account?: {
|
|
108
|
+
providerAccountId: string;
|
|
109
|
+
status: string;
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
export interface CallSyncPayload {
|
|
113
|
+
conversationId: string;
|
|
114
|
+
agentId: string;
|
|
115
|
+
summary?: string;
|
|
116
|
+
sentiment?: string;
|
|
117
|
+
transcript: string;
|
|
118
|
+
structuredOutputs: Record<string, any>;
|
|
119
|
+
durationSeconds: number;
|
|
120
|
+
callerPhone?: string;
|
|
121
|
+
[key: string]: any;
|
|
122
|
+
}
|
|
123
|
+
export interface RuleCondition {
|
|
124
|
+
field: RuleConditionField;
|
|
125
|
+
operator: RuleOperator;
|
|
126
|
+
value?: string | number;
|
|
127
|
+
outputKey?: string;
|
|
128
|
+
}
|
|
129
|
+
export interface RuleAction {
|
|
130
|
+
slug: IntegrationSlug;
|
|
131
|
+
action: string;
|
|
132
|
+
params?: Record<string, any>;
|
|
133
|
+
}
|
|
134
|
+
export interface AutomationRule {
|
|
135
|
+
ruleId: string;
|
|
136
|
+
agentId: string;
|
|
137
|
+
orgId: string;
|
|
138
|
+
name: string;
|
|
139
|
+
enabled: boolean;
|
|
140
|
+
conditionLogic: "AND" | "OR";
|
|
141
|
+
conditions: RuleCondition[];
|
|
142
|
+
actions: RuleAction[];
|
|
143
|
+
createdAt: string;
|
|
144
|
+
updatedAt: string;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=integration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../src/voice/interfaces/integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration.js","sourceRoot":"","sources":["../../../src/voice/interfaces/integration.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface KbGapSuggestion {
|
|
2
|
+
gapId: string;
|
|
3
|
+
agentId: string;
|
|
4
|
+
query: string;
|
|
5
|
+
context: string;
|
|
6
|
+
avgRetrievalScore: number;
|
|
7
|
+
conversationId: string;
|
|
8
|
+
suggestedAnswer: string;
|
|
9
|
+
suggestedTitle: string;
|
|
10
|
+
status: "pending" | "added" | "dismissed";
|
|
11
|
+
severity: "low" | "medium" | "high";
|
|
12
|
+
createdAt: string;
|
|
13
|
+
resolvedAt?: string | null;
|
|
14
|
+
}
|
|
15
|
+
export interface KbGapReport {
|
|
16
|
+
agentId: string;
|
|
17
|
+
gaps: KbGapSuggestion[];
|
|
18
|
+
lastAnalyzedAt: string | null;
|
|
19
|
+
conversationsSampled: number;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=kbGap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kbGap.d.ts","sourceRoot":"","sources":["../../../src/voice/interfaces/kbGap.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IAC1C,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kbGap.js","sourceRoot":"","sources":["../../../src/voice/interfaces/kbGap.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge Base Interfaces
|
|
3
|
+
* Shared across backend and client
|
|
4
|
+
*/
|
|
5
|
+
export type KnowledgeBaseStatusType = "pending" | "uploading" | "processing" | "generating-embeddings" | "teaching-agent" | "completed" | "failed";
|
|
6
|
+
/** A file in a knowledge base. Backend and API use s3Key for the object-storage key. */
|
|
7
|
+
export interface KnowledgeBaseFile {
|
|
8
|
+
fileId: string;
|
|
9
|
+
name: string;
|
|
10
|
+
s3Key: string;
|
|
11
|
+
url: string;
|
|
12
|
+
size: number;
|
|
13
|
+
type: string;
|
|
14
|
+
status: string;
|
|
15
|
+
region?: string;
|
|
16
|
+
metadata?: Record<string, any>;
|
|
17
|
+
}
|
|
18
|
+
export interface KnowledgeBaseStatus {
|
|
19
|
+
status: KnowledgeBaseStatusType;
|
|
20
|
+
processingStage: string;
|
|
21
|
+
progress: number;
|
|
22
|
+
files: KnowledgeBaseFile[];
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=knowledgeBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledgeBase.d.ts","sourceRoot":"","sources":["../../../src/voice/interfaces/knowledgeBase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,uBAAuB,GAC/B,SAAS,GACT,WAAW,GACX,YAAY,GACZ,uBAAuB,GACvB,gBAAgB,GAChB,WAAW,GACX,QAAQ,CAAC;AAEb,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,uBAAuB,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledgeBase.js","sourceRoot":"","sources":["../../../src/voice/interfaces/knowledgeBase.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LiveKit Interfaces
|
|
3
|
+
*/
|
|
4
|
+
import { LiveKitMessageType } from "../enums/livekit.js";
|
|
5
|
+
export interface LiveKitDataMessage {
|
|
6
|
+
type: LiveKitMessageType;
|
|
7
|
+
text: string;
|
|
8
|
+
streaming?: boolean;
|
|
9
|
+
isFinal?: boolean;
|
|
10
|
+
reason?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface LiveKitRoomState {
|
|
13
|
+
isConnected: boolean;
|
|
14
|
+
error: string | null;
|
|
15
|
+
}
|
|
16
|
+
export interface TavusConversation {
|
|
17
|
+
conversation_id: string;
|
|
18
|
+
conversation_name?: string;
|
|
19
|
+
status: string;
|
|
20
|
+
created_at?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface CreateConversationParams {
|
|
23
|
+
replicaId: string;
|
|
24
|
+
personaId: string;
|
|
25
|
+
livekitWsUrl: string;
|
|
26
|
+
livekitRoomToken: string;
|
|
27
|
+
conversationName?: string;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=livekit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"livekit.d.ts","sourceRoot":"","sources":["../../../src/voice/interfaces/livekit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|