catalist-support-agent 1.0.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/dist/admin-portal.d.ts +43 -0
- package/dist/admin-portal.d.ts.map +1 -0
- package/dist/admin-portal.js +166 -0
- package/dist/admin-portal.js.map +1 -0
- package/dist/analysis/entities.d.ts +73 -0
- package/dist/analysis/entities.d.ts.map +1 -0
- package/dist/analysis/entities.js +378 -0
- package/dist/analysis/entities.js.map +1 -0
- package/dist/analysis/index.d.ts +44 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +243 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/analysis/intent.d.ts +49 -0
- package/dist/analysis/intent.d.ts.map +1 -0
- package/dist/analysis/intent.js +320 -0
- package/dist/analysis/intent.js.map +1 -0
- package/dist/analysis/sentiment.d.ts +57 -0
- package/dist/analysis/sentiment.d.ts.map +1 -0
- package/dist/analysis/sentiment.js +351 -0
- package/dist/analysis/sentiment.js.map +1 -0
- package/dist/brand/compliance.d.ts +122 -0
- package/dist/brand/compliance.d.ts.map +1 -0
- package/dist/brand/compliance.js +378 -0
- package/dist/brand/compliance.js.map +1 -0
- package/dist/brand/forbidden-terms.d.ts +99 -0
- package/dist/brand/forbidden-terms.d.ts.map +1 -0
- package/dist/brand/forbidden-terms.js +265 -0
- package/dist/brand/forbidden-terms.js.map +1 -0
- package/dist/brand/index.d.ts +10 -0
- package/dist/brand/index.d.ts.map +1 -0
- package/dist/brand/index.js +12 -0
- package/dist/brand/index.js.map +1 -0
- package/dist/config.d.ts +325 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +492 -0
- package/dist/config.js.map +1 -0
- package/dist/delivery/index.d.ts +84 -0
- package/dist/delivery/index.d.ts.map +1 -0
- package/dist/delivery/index.js +435 -0
- package/dist/delivery/index.js.map +1 -0
- package/dist/embeddings/cache.d.ts +96 -0
- package/dist/embeddings/cache.d.ts.map +1 -0
- package/dist/embeddings/cache.js +193 -0
- package/dist/embeddings/cache.js.map +1 -0
- package/dist/embeddings/index.d.ts +152 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/index.js +337 -0
- package/dist/embeddings/index.js.map +1 -0
- package/dist/embeddings/openai-client.d.ts +67 -0
- package/dist/embeddings/openai-client.d.ts.map +1 -0
- package/dist/embeddings/openai-client.js +190 -0
- package/dist/embeddings/openai-client.js.map +1 -0
- package/dist/errors.d.ts +302 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +508 -0
- package/dist/errors.js.map +1 -0
- package/dist/escalation/index.d.ts +93 -0
- package/dist/escalation/index.d.ts.map +1 -0
- package/dist/escalation/index.js +436 -0
- package/dist/escalation/index.js.map +1 -0
- package/dist/extraction/deduplication.d.ts +97 -0
- package/dist/extraction/deduplication.d.ts.map +1 -0
- package/dist/extraction/deduplication.js +271 -0
- package/dist/extraction/deduplication.js.map +1 -0
- package/dist/extraction/gmail-extractor.d.ts +160 -0
- package/dist/extraction/gmail-extractor.d.ts.map +1 -0
- package/dist/extraction/gmail-extractor.js +396 -0
- package/dist/extraction/gmail-extractor.js.map +1 -0
- package/dist/extraction/gmail-token-manager.d.ts +36 -0
- package/dist/extraction/gmail-token-manager.d.ts.map +1 -0
- package/dist/extraction/gmail-token-manager.js +146 -0
- package/dist/extraction/gmail-token-manager.js.map +1 -0
- package/dist/extraction/index.d.ts +13 -0
- package/dist/extraction/index.d.ts.map +1 -0
- package/dist/extraction/index.js +20 -0
- package/dist/extraction/index.js.map +1 -0
- package/dist/extraction/pii-handler.d.ts +100 -0
- package/dist/extraction/pii-handler.d.ts.map +1 -0
- package/dist/extraction/pii-handler.js +295 -0
- package/dist/extraction/pii-handler.js.map +1 -0
- package/dist/extraction/pipeline.d.ts +94 -0
- package/dist/extraction/pipeline.d.ts.map +1 -0
- package/dist/extraction/pipeline.js +380 -0
- package/dist/extraction/pipeline.js.map +1 -0
- package/dist/extraction/quality-filter.d.ts +99 -0
- package/dist/extraction/quality-filter.d.ts.map +1 -0
- package/dist/extraction/quality-filter.js +370 -0
- package/dist/extraction/quality-filter.js.map +1 -0
- package/dist/extraction/rate-limiter.d.ts +90 -0
- package/dist/extraction/rate-limiter.d.ts.map +1 -0
- package/dist/extraction/rate-limiter.js +242 -0
- package/dist/extraction/rate-limiter.js.map +1 -0
- package/dist/extraction/state-manager.d.ts +126 -0
- package/dist/extraction/state-manager.d.ts.map +1 -0
- package/dist/extraction/state-manager.js +344 -0
- package/dist/extraction/state-manager.js.map +1 -0
- package/dist/generation/index.d.ts +75 -0
- package/dist/generation/index.d.ts.map +1 -0
- package/dist/generation/index.js +641 -0
- package/dist/generation/index.js.map +1 -0
- package/dist/index.d.ts +96 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +233 -0
- package/dist/index.js.map +1 -0
- package/dist/intake/index.d.ts +15 -0
- package/dist/intake/index.d.ts.map +1 -0
- package/dist/intake/index.js +19 -0
- package/dist/intake/index.js.map +1 -0
- package/dist/intake/normalizer.d.ts +163 -0
- package/dist/intake/normalizer.d.ts.map +1 -0
- package/dist/intake/normalizer.js +309 -0
- package/dist/intake/normalizer.js.map +1 -0
- package/dist/intake/postmark.d.ts +72 -0
- package/dist/intake/postmark.d.ts.map +1 -0
- package/dist/intake/postmark.js +276 -0
- package/dist/intake/postmark.js.map +1 -0
- package/dist/intake/slack.d.ts +106 -0
- package/dist/intake/slack.d.ts.map +1 -0
- package/dist/intake/slack.js +378 -0
- package/dist/intake/slack.js.map +1 -0
- package/dist/intake/twilio.d.ts +86 -0
- package/dist/intake/twilio.d.ts.map +1 -0
- package/dist/intake/twilio.js +283 -0
- package/dist/intake/twilio.js.map +1 -0
- package/dist/knowledge/index.d.ts +100 -0
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/index.js +516 -0
- package/dist/knowledge/index.js.map +1 -0
- package/dist/knowledge/invoice-resolver.d.ts +62 -0
- package/dist/knowledge/invoice-resolver.d.ts.map +1 -0
- package/dist/knowledge/invoice-resolver.js +267 -0
- package/dist/knowledge/invoice-resolver.js.map +1 -0
- package/dist/types.d.ts +535 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +48 -0
- package/dist/types.js.map +1 -0
- package/ga-service-account.json +13 -0
- package/gmail-knowledge-migration.sql +149 -0
- package/nul +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embeddings/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Embedding Client
|
|
3
|
+
*
|
|
4
|
+
* Wrapper for OpenAI's embedding API with retry logic and error handling.
|
|
5
|
+
* Uses text-embedding-3-small model (1536 dimensions) for cost efficiency.
|
|
6
|
+
*/
|
|
7
|
+
export interface EmbeddingResponse {
|
|
8
|
+
embedding: number[];
|
|
9
|
+
model: string;
|
|
10
|
+
usage: {
|
|
11
|
+
promptTokens: number;
|
|
12
|
+
totalTokens: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export interface BatchEmbeddingResponse {
|
|
16
|
+
embeddings: number[][];
|
|
17
|
+
model: string;
|
|
18
|
+
usage: {
|
|
19
|
+
promptTokens: number;
|
|
20
|
+
totalTokens: number;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface OpenAIEmbeddingConfig {
|
|
24
|
+
apiKey: string;
|
|
25
|
+
model?: string;
|
|
26
|
+
dimensions?: number;
|
|
27
|
+
maxRetries?: number;
|
|
28
|
+
baseDelayMs?: number;
|
|
29
|
+
}
|
|
30
|
+
export declare class OpenAIEmbeddingClient {
|
|
31
|
+
private readonly apiKey;
|
|
32
|
+
private readonly model;
|
|
33
|
+
private readonly dimensions;
|
|
34
|
+
private readonly maxRetries;
|
|
35
|
+
private readonly baseDelayMs;
|
|
36
|
+
private readonly apiUrl;
|
|
37
|
+
constructor(config: OpenAIEmbeddingConfig);
|
|
38
|
+
/**
|
|
39
|
+
* Generate embedding for a single text
|
|
40
|
+
*/
|
|
41
|
+
embed(text: string): Promise<EmbeddingResponse>;
|
|
42
|
+
/**
|
|
43
|
+
* Generate embeddings for multiple texts in a batch
|
|
44
|
+
* OpenAI supports batching up to 2048 inputs
|
|
45
|
+
*/
|
|
46
|
+
embedBatch(texts: string[]): Promise<BatchEmbeddingResponse>;
|
|
47
|
+
/**
|
|
48
|
+
* Call with exponential backoff retry
|
|
49
|
+
*/
|
|
50
|
+
private callWithRetry;
|
|
51
|
+
/**
|
|
52
|
+
* Check if error is retryable
|
|
53
|
+
*/
|
|
54
|
+
private isRetryableError;
|
|
55
|
+
/**
|
|
56
|
+
* Helper to delay execution
|
|
57
|
+
*/
|
|
58
|
+
private delay;
|
|
59
|
+
/**
|
|
60
|
+
* Get client configuration info
|
|
61
|
+
*/
|
|
62
|
+
getConfig(): {
|
|
63
|
+
model: string;
|
|
64
|
+
dimensions: number;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=openai-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-client.d.ts","sourceRoot":"","sources":["../../src/embeddings/openai-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;gBAErD,MAAM,EAAE,qBAAqB;IAYzC;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA+CrD;;;OAGG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+ElE;;OAEG;YACW,aAAa;IA6B3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;OAEG;IACH,SAAS,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;CAMnD"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Embedding Client
|
|
3
|
+
*
|
|
4
|
+
* Wrapper for OpenAI's embedding API with retry logic and error handling.
|
|
5
|
+
* Uses text-embedding-3-small model (1536 dimensions) for cost efficiency.
|
|
6
|
+
*/
|
|
7
|
+
import { EmbeddingError } from '../errors.js';
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// OpenAI Embedding Client
|
|
10
|
+
// =============================================================================
|
|
11
|
+
export class OpenAIEmbeddingClient {
|
|
12
|
+
apiKey;
|
|
13
|
+
model;
|
|
14
|
+
dimensions;
|
|
15
|
+
maxRetries;
|
|
16
|
+
baseDelayMs;
|
|
17
|
+
apiUrl = 'https://api.openai.com/v1/embeddings';
|
|
18
|
+
constructor(config) {
|
|
19
|
+
if (!config.apiKey) {
|
|
20
|
+
throw new Error('OpenAI API key is required for embedding generation');
|
|
21
|
+
}
|
|
22
|
+
this.apiKey = config.apiKey;
|
|
23
|
+
this.model = config.model || 'text-embedding-3-small';
|
|
24
|
+
this.dimensions = config.dimensions || 1536;
|
|
25
|
+
this.maxRetries = config.maxRetries ?? 3;
|
|
26
|
+
this.baseDelayMs = config.baseDelayMs ?? 1000;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Generate embedding for a single text
|
|
30
|
+
*/
|
|
31
|
+
async embed(text) {
|
|
32
|
+
if (!text || text.trim().length === 0) {
|
|
33
|
+
throw new EmbeddingError('Cannot generate embedding for empty text', 'validation');
|
|
34
|
+
}
|
|
35
|
+
// Truncate if too long (8191 tokens max for text-embedding-3-small)
|
|
36
|
+
// Approximate: 1 token ~= 4 characters for English
|
|
37
|
+
const maxChars = 32000; // Conservative limit
|
|
38
|
+
const truncatedText = text.length > maxChars ? text.substring(0, maxChars) : text;
|
|
39
|
+
const result = await this.callWithRetry(async () => {
|
|
40
|
+
const response = await fetch(this.apiUrl, {
|
|
41
|
+
method: 'POST',
|
|
42
|
+
headers: {
|
|
43
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
44
|
+
'Content-Type': 'application/json',
|
|
45
|
+
},
|
|
46
|
+
body: JSON.stringify({
|
|
47
|
+
model: this.model,
|
|
48
|
+
input: truncatedText,
|
|
49
|
+
dimensions: this.dimensions,
|
|
50
|
+
}),
|
|
51
|
+
});
|
|
52
|
+
if (!response.ok) {
|
|
53
|
+
const errorData = await response.json().catch(() => ({}));
|
|
54
|
+
const errorMessage = errorData.error?.message || `HTTP ${response.status}`;
|
|
55
|
+
throw new EmbeddingError(`OpenAI embedding API error: ${errorMessage}`, 'api_error', { context: { status: response.status, error: errorData } });
|
|
56
|
+
}
|
|
57
|
+
return response.json();
|
|
58
|
+
});
|
|
59
|
+
return {
|
|
60
|
+
embedding: result.data[0].embedding,
|
|
61
|
+
model: result.model,
|
|
62
|
+
usage: {
|
|
63
|
+
promptTokens: result.usage.prompt_tokens,
|
|
64
|
+
totalTokens: result.usage.total_tokens,
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Generate embeddings for multiple texts in a batch
|
|
70
|
+
* OpenAI supports batching up to 2048 inputs
|
|
71
|
+
*/
|
|
72
|
+
async embedBatch(texts) {
|
|
73
|
+
if (!texts || texts.length === 0) {
|
|
74
|
+
throw new EmbeddingError('Cannot generate embeddings for empty batch', 'validation');
|
|
75
|
+
}
|
|
76
|
+
// Filter out empty texts and truncate long ones
|
|
77
|
+
const maxChars = 32000;
|
|
78
|
+
const processedTexts = texts
|
|
79
|
+
.filter((t) => t && t.trim().length > 0)
|
|
80
|
+
.map((t) => (t.length > maxChars ? t.substring(0, maxChars) : t));
|
|
81
|
+
if (processedTexts.length === 0) {
|
|
82
|
+
throw new EmbeddingError('No valid texts in batch after filtering', 'validation');
|
|
83
|
+
}
|
|
84
|
+
// OpenAI batch limit
|
|
85
|
+
const batchSize = 100;
|
|
86
|
+
const allEmbeddings = [];
|
|
87
|
+
let totalPromptTokens = 0;
|
|
88
|
+
let totalTokens = 0;
|
|
89
|
+
let model = '';
|
|
90
|
+
// Process in chunks
|
|
91
|
+
for (let i = 0; i < processedTexts.length; i += batchSize) {
|
|
92
|
+
const chunk = processedTexts.slice(i, i + batchSize);
|
|
93
|
+
const result = await this.callWithRetry(async () => {
|
|
94
|
+
const response = await fetch(this.apiUrl, {
|
|
95
|
+
method: 'POST',
|
|
96
|
+
headers: {
|
|
97
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
98
|
+
'Content-Type': 'application/json',
|
|
99
|
+
},
|
|
100
|
+
body: JSON.stringify({
|
|
101
|
+
model: this.model,
|
|
102
|
+
input: chunk,
|
|
103
|
+
dimensions: this.dimensions,
|
|
104
|
+
}),
|
|
105
|
+
});
|
|
106
|
+
if (!response.ok) {
|
|
107
|
+
const errorData = await response.json().catch(() => ({}));
|
|
108
|
+
const errorMessage = errorData.error?.message || `HTTP ${response.status}`;
|
|
109
|
+
throw new EmbeddingError(`OpenAI embedding API error: ${errorMessage}`, 'api_error', { context: { status: response.status, error: errorData } });
|
|
110
|
+
}
|
|
111
|
+
return response.json();
|
|
112
|
+
});
|
|
113
|
+
// Sort by index to maintain order
|
|
114
|
+
const sortedData = result.data.sort((a, b) => a.index - b.index);
|
|
115
|
+
allEmbeddings.push(...sortedData.map((d) => d.embedding));
|
|
116
|
+
totalPromptTokens += result.usage.prompt_tokens;
|
|
117
|
+
totalTokens += result.usage.total_tokens;
|
|
118
|
+
model = result.model;
|
|
119
|
+
// Small delay between chunks to avoid rate limits
|
|
120
|
+
if (i + batchSize < processedTexts.length) {
|
|
121
|
+
await this.delay(100);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
embeddings: allEmbeddings,
|
|
126
|
+
model,
|
|
127
|
+
usage: {
|
|
128
|
+
promptTokens: totalPromptTokens,
|
|
129
|
+
totalTokens: totalTokens,
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Call with exponential backoff retry
|
|
135
|
+
*/
|
|
136
|
+
async callWithRetry(fn) {
|
|
137
|
+
let lastError = null;
|
|
138
|
+
for (let attempt = 0; attempt < this.maxRetries; attempt++) {
|
|
139
|
+
try {
|
|
140
|
+
return await fn();
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
144
|
+
// Check if retryable
|
|
145
|
+
if (!this.isRetryableError(error)) {
|
|
146
|
+
throw error;
|
|
147
|
+
}
|
|
148
|
+
// Exponential backoff with jitter
|
|
149
|
+
const delayMs = this.baseDelayMs * Math.pow(2, attempt) * (0.5 + Math.random() * 0.5);
|
|
150
|
+
console.warn(`OpenAI embedding request failed (attempt ${attempt + 1}/${this.maxRetries}), ` +
|
|
151
|
+
`retrying in ${Math.round(delayMs)}ms: ${lastError.message}`);
|
|
152
|
+
await this.delay(delayMs);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
throw lastError || new EmbeddingError('Max retries exceeded', 'api_error');
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Check if error is retryable
|
|
159
|
+
*/
|
|
160
|
+
isRetryableError(error) {
|
|
161
|
+
if (error instanceof EmbeddingError) {
|
|
162
|
+
const status = error.context?.status;
|
|
163
|
+
// Retry on rate limits (429) and server errors (5xx)
|
|
164
|
+
if (typeof status === 'number') {
|
|
165
|
+
return status === 429 || (status >= 500 && status < 600);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
// Retry on network errors
|
|
169
|
+
if (error instanceof TypeError && error.message.includes('fetch')) {
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Helper to delay execution
|
|
176
|
+
*/
|
|
177
|
+
delay(ms) {
|
|
178
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Get client configuration info
|
|
182
|
+
*/
|
|
183
|
+
getConfig() {
|
|
184
|
+
return {
|
|
185
|
+
model: this.model,
|
|
186
|
+
dimensions: this.dimensions,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=openai-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-client.js","sourceRoot":"","sources":["../../src/embeddings/openai-client.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Support Agent Error Hierarchy
|
|
3
|
+
*
|
|
4
|
+
* Custom error classes for the Support AI Agent SDK.
|
|
5
|
+
* Enables type-safe error handling, consistent error codes,
|
|
6
|
+
* and better recovery strategies.
|
|
7
|
+
*
|
|
8
|
+
* Error Categories:
|
|
9
|
+
* - IntakeError: Message reception and normalization failures
|
|
10
|
+
* - AnalysisError: Intent/sentiment/entity extraction failures
|
|
11
|
+
* - KnowledgeError: Customer/product data retrieval failures
|
|
12
|
+
* - GenerationError: Response generation failures
|
|
13
|
+
* - DeliveryError: Message delivery failures
|
|
14
|
+
* - EscalationError: Human escalation failures
|
|
15
|
+
* - BrandComplianceError: Brand rule violations
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Base error class for all support agent errors
|
|
19
|
+
*/
|
|
20
|
+
export declare class SupportAgentError extends Error {
|
|
21
|
+
readonly code: string;
|
|
22
|
+
readonly context?: Record<string, unknown>;
|
|
23
|
+
readonly timestamp: Date;
|
|
24
|
+
readonly recoverable: boolean;
|
|
25
|
+
readonly conversationId?: string;
|
|
26
|
+
readonly messageId?: string;
|
|
27
|
+
constructor(message: string, code: string, options?: {
|
|
28
|
+
context?: Record<string, unknown>;
|
|
29
|
+
recoverable?: boolean;
|
|
30
|
+
cause?: Error;
|
|
31
|
+
conversationId?: string;
|
|
32
|
+
messageId?: string;
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Serialize error for logging and storage
|
|
36
|
+
*/
|
|
37
|
+
toJSON(): Record<string, unknown>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Error during message intake (webhook reception, parsing, normalization)
|
|
41
|
+
*/
|
|
42
|
+
export declare class IntakeError extends SupportAgentError {
|
|
43
|
+
readonly channel: 'email' | 'sms' | 'slack';
|
|
44
|
+
readonly stage: 'webhook' | 'validation' | 'normalization' | 'deduplication' | 'threading';
|
|
45
|
+
constructor(message: string, channel: 'email' | 'sms' | 'slack', stage: IntakeError['stage'], options?: {
|
|
46
|
+
context?: Record<string, unknown>;
|
|
47
|
+
cause?: Error;
|
|
48
|
+
conversationId?: string;
|
|
49
|
+
messageId?: string;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Error when webhook signature validation fails
|
|
54
|
+
*/
|
|
55
|
+
export declare class WebhookValidationError extends IntakeError {
|
|
56
|
+
constructor(channel: 'email' | 'sms' | 'slack', options?: {
|
|
57
|
+
context?: Record<string, unknown>;
|
|
58
|
+
cause?: Error;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Error when a duplicate message is detected
|
|
63
|
+
*/
|
|
64
|
+
export declare class DuplicateMessageError extends IntakeError {
|
|
65
|
+
readonly originalMessageId: string;
|
|
66
|
+
constructor(channel: 'email' | 'sms' | 'slack', originalMessageId: string, options?: {
|
|
67
|
+
context?: Record<string, unknown>;
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Error during message analysis (intent, sentiment, entities)
|
|
72
|
+
*/
|
|
73
|
+
export declare class AnalysisError extends SupportAgentError {
|
|
74
|
+
readonly analysisType: 'intent' | 'sentiment' | 'entities' | 'urgency' | 'compliance';
|
|
75
|
+
constructor(message: string, analysisType: AnalysisError['analysisType'], options?: {
|
|
76
|
+
context?: Record<string, unknown>;
|
|
77
|
+
cause?: Error;
|
|
78
|
+
conversationId?: string;
|
|
79
|
+
messageId?: string;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Error when intent classification fails or returns low confidence
|
|
84
|
+
*/
|
|
85
|
+
export declare class IntentClassificationError extends AnalysisError {
|
|
86
|
+
readonly confidence: number;
|
|
87
|
+
constructor(message: string, confidence: number, options?: {
|
|
88
|
+
context?: Record<string, unknown>;
|
|
89
|
+
cause?: Error;
|
|
90
|
+
conversationId?: string;
|
|
91
|
+
messageId?: string;
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Error during knowledge retrieval (customer data, products, policies)
|
|
96
|
+
*/
|
|
97
|
+
export declare class KnowledgeError extends SupportAgentError {
|
|
98
|
+
readonly knowledgeType: 'customer' | 'product' | 'policy' | 'similar_conversations' | 'templates';
|
|
99
|
+
constructor(message: string, knowledgeType: KnowledgeError['knowledgeType'], options?: {
|
|
100
|
+
context?: Record<string, unknown>;
|
|
101
|
+
cause?: Error;
|
|
102
|
+
conversationId?: string;
|
|
103
|
+
messageId?: string;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Error when customer cannot be identified or found
|
|
108
|
+
*/
|
|
109
|
+
export declare class CustomerNotFoundError extends KnowledgeError {
|
|
110
|
+
readonly identifiers: {
|
|
111
|
+
email?: string;
|
|
112
|
+
phone?: string;
|
|
113
|
+
slackId?: string;
|
|
114
|
+
};
|
|
115
|
+
constructor(identifiers: CustomerNotFoundError['identifiers'], options?: {
|
|
116
|
+
context?: Record<string, unknown>;
|
|
117
|
+
conversationId?: string;
|
|
118
|
+
messageId?: string;
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Error during response generation
|
|
123
|
+
*/
|
|
124
|
+
export declare class GenerationError extends SupportAgentError {
|
|
125
|
+
readonly stage: 'context_assembly' | 'prompt_construction' | 'llm_call' | 'post_processing';
|
|
126
|
+
constructor(message: string, stage: GenerationError['stage'], options?: {
|
|
127
|
+
context?: Record<string, unknown>;
|
|
128
|
+
cause?: Error;
|
|
129
|
+
conversationId?: string;
|
|
130
|
+
messageId?: string;
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Error when response quality check fails
|
|
135
|
+
*/
|
|
136
|
+
export declare class ResponseQualityError extends GenerationError {
|
|
137
|
+
readonly qualityScore: number;
|
|
138
|
+
readonly issues: string[];
|
|
139
|
+
constructor(qualityScore: number, issues: string[], options?: {
|
|
140
|
+
context?: Record<string, unknown>;
|
|
141
|
+
conversationId?: string;
|
|
142
|
+
messageId?: string;
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
export type DeliveryChannel = 'email' | 'sms' | 'slack';
|
|
146
|
+
/**
|
|
147
|
+
* Error during message delivery
|
|
148
|
+
*/
|
|
149
|
+
export declare class DeliveryError extends SupportAgentError {
|
|
150
|
+
readonly channel: DeliveryChannel;
|
|
151
|
+
readonly deliveryStage: 'preparation' | 'sending' | 'confirmation';
|
|
152
|
+
constructor(message: string, channel: DeliveryChannel, deliveryStage: DeliveryError['deliveryStage'], options?: {
|
|
153
|
+
context?: Record<string, unknown>;
|
|
154
|
+
cause?: Error;
|
|
155
|
+
conversationId?: string;
|
|
156
|
+
messageId?: string;
|
|
157
|
+
recoverable?: boolean;
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Error when message bounces or permanently fails
|
|
162
|
+
*/
|
|
163
|
+
export declare class PermanentDeliveryFailure extends DeliveryError {
|
|
164
|
+
readonly failureReason: 'bounced' | 'invalid_recipient' | 'blocked' | 'unsubscribed';
|
|
165
|
+
constructor(channel: DeliveryChannel, failureReason: PermanentDeliveryFailure['failureReason'], options?: {
|
|
166
|
+
context?: Record<string, unknown>;
|
|
167
|
+
conversationId?: string;
|
|
168
|
+
messageId?: string;
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
export type EscalationChannel = 'email' | 'sms' | 'slack';
|
|
172
|
+
/**
|
|
173
|
+
* Error during escalation to human agents
|
|
174
|
+
*/
|
|
175
|
+
export declare class EscalationError extends SupportAgentError {
|
|
176
|
+
readonly escalationChannel?: EscalationChannel;
|
|
177
|
+
constructor(message: string, options?: {
|
|
178
|
+
channel?: EscalationChannel;
|
|
179
|
+
context?: Record<string, unknown>;
|
|
180
|
+
cause?: Error;
|
|
181
|
+
conversationId?: string;
|
|
182
|
+
messageId?: string;
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Error when ALL escalation channels have failed
|
|
187
|
+
* Not recoverable via retry - requires fallback handling
|
|
188
|
+
*/
|
|
189
|
+
export declare class AllEscalationChannelsFailedError extends SupportAgentError {
|
|
190
|
+
readonly channelErrors: Array<{
|
|
191
|
+
channel: EscalationChannel;
|
|
192
|
+
error: string;
|
|
193
|
+
}>;
|
|
194
|
+
readonly escalationId?: number;
|
|
195
|
+
constructor(channelErrors: AllEscalationChannelsFailedError['channelErrors'], options?: {
|
|
196
|
+
escalationId?: number;
|
|
197
|
+
context?: Record<string, unknown>;
|
|
198
|
+
conversationId?: string;
|
|
199
|
+
messageId?: string;
|
|
200
|
+
});
|
|
201
|
+
getSummary(): string;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Error when brand compliance rules are violated
|
|
205
|
+
* These errors ALWAYS require escalation - never recoverable by retry
|
|
206
|
+
*/
|
|
207
|
+
export declare class BrandComplianceError extends SupportAgentError {
|
|
208
|
+
readonly violationType: 'forbidden_term_detected' | 'tone_violation' | 'terminology_violation' | 'pre_send_validation_failed';
|
|
209
|
+
readonly detectedTerms?: string[];
|
|
210
|
+
readonly complianceScore?: number;
|
|
211
|
+
constructor(message: string, violationType: BrandComplianceError['violationType'], options?: {
|
|
212
|
+
detectedTerms?: string[];
|
|
213
|
+
complianceScore?: number;
|
|
214
|
+
context?: Record<string, unknown>;
|
|
215
|
+
conversationId?: string;
|
|
216
|
+
messageId?: string;
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Error when forbidden terms are detected in incoming or outgoing messages
|
|
221
|
+
*/
|
|
222
|
+
export declare class ForbiddenTermsDetectedError extends BrandComplianceError {
|
|
223
|
+
readonly terms: string[];
|
|
224
|
+
readonly source: 'inbound_message' | 'generated_response';
|
|
225
|
+
constructor(terms: string[], source: ForbiddenTermsDetectedError['source'], options?: {
|
|
226
|
+
context?: Record<string, unknown>;
|
|
227
|
+
conversationId?: string;
|
|
228
|
+
messageId?: string;
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Database operation errors
|
|
233
|
+
*/
|
|
234
|
+
export declare class DatabaseError extends SupportAgentError {
|
|
235
|
+
readonly operation: 'query' | 'insert' | 'update' | 'delete';
|
|
236
|
+
readonly table?: string;
|
|
237
|
+
constructor(message: string, operation: DatabaseError['operation'], options?: {
|
|
238
|
+
table?: string;
|
|
239
|
+
context?: Record<string, unknown>;
|
|
240
|
+
cause?: Error;
|
|
241
|
+
conversationId?: string;
|
|
242
|
+
messageId?: string;
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
export type EmbeddingErrorType = 'api_error' | 'validation' | 'rate_limit' | 'timeout';
|
|
246
|
+
/**
|
|
247
|
+
* Error during embedding generation
|
|
248
|
+
*/
|
|
249
|
+
export declare class EmbeddingError extends SupportAgentError {
|
|
250
|
+
readonly errorType: EmbeddingErrorType;
|
|
251
|
+
constructor(message: string, errorType: EmbeddingErrorType, options?: {
|
|
252
|
+
context?: Record<string, unknown>;
|
|
253
|
+
cause?: Error;
|
|
254
|
+
conversationId?: string;
|
|
255
|
+
messageId?: string;
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Operation timeout errors
|
|
260
|
+
*/
|
|
261
|
+
export declare class TimeoutError extends SupportAgentError {
|
|
262
|
+
readonly operationType: string;
|
|
263
|
+
readonly timeoutMs: number;
|
|
264
|
+
constructor(operationType: string, timeoutMs: number, options?: {
|
|
265
|
+
context?: Record<string, unknown>;
|
|
266
|
+
cause?: Error;
|
|
267
|
+
conversationId?: string;
|
|
268
|
+
messageId?: string;
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
export declare function isSupportAgentError(error: unknown): error is SupportAgentError;
|
|
272
|
+
export declare function isIntakeError(error: unknown): error is IntakeError;
|
|
273
|
+
export declare function isAnalysisError(error: unknown): error is AnalysisError;
|
|
274
|
+
export declare function isKnowledgeError(error: unknown): error is KnowledgeError;
|
|
275
|
+
export declare function isGenerationError(error: unknown): error is GenerationError;
|
|
276
|
+
export declare function isDeliveryError(error: unknown): error is DeliveryError;
|
|
277
|
+
export declare function isEscalationError(error: unknown): error is EscalationError;
|
|
278
|
+
export declare function isBrandComplianceError(error: unknown): error is BrandComplianceError;
|
|
279
|
+
export declare function isDatabaseError(error: unknown): error is DatabaseError;
|
|
280
|
+
export declare function isTimeoutError(error: unknown): error is TimeoutError;
|
|
281
|
+
export declare function isEmbeddingError(error: unknown): error is EmbeddingError;
|
|
282
|
+
export declare function isRecoverableError(error: unknown): boolean;
|
|
283
|
+
/**
|
|
284
|
+
* Convert unknown error to SupportAgentError
|
|
285
|
+
*/
|
|
286
|
+
export declare function toSupportAgentError(error: unknown, options?: {
|
|
287
|
+
conversationId?: string;
|
|
288
|
+
messageId?: string;
|
|
289
|
+
}): SupportAgentError;
|
|
290
|
+
/**
|
|
291
|
+
* Extract error message from any error type
|
|
292
|
+
*/
|
|
293
|
+
export declare function getErrorMessage(error: unknown): string;
|
|
294
|
+
/**
|
|
295
|
+
* Check if an error should trigger a retry
|
|
296
|
+
*/
|
|
297
|
+
export declare function shouldRetry(error: unknown, attemptCount: number, maxAttempts: number): boolean;
|
|
298
|
+
/**
|
|
299
|
+
* Check if an error requires immediate escalation
|
|
300
|
+
*/
|
|
301
|
+
export declare function requiresImmediateEscalation(error: unknown): boolean;
|
|
302
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,SAAgB,SAAS,EAAE,IAAI,CAAC;IAChC,SAAgB,WAAW,EAAE,OAAO,CAAC;IACrC,SAAgB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxC,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAGjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IAeH;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAclC;AAMD;;GAEG;AACH,qBAAa,WAAY,SAAQ,iBAAiB;IAChD,SAAgB,OAAO,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;IACnD,SAAgB,KAAK,EAAE,SAAS,GAAG,YAAY,GAAG,eAAe,GAAG,eAAe,GAAG,WAAW,CAAC;gBAGhG,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,EAClC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,EAC3B,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAcJ;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,WAAW;gBAEnD,OAAO,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,EAClC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,KAAK,CAAC;KACf;CASJ;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,SAAgB,iBAAiB,EAAE,MAAM,CAAC;gBAGxC,OAAO,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,EAClC,iBAAiB,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC;CASJ;AAMD;;GAEG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,SAAgB,YAAY,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;gBAG3F,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,EAC3C,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAaJ;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,aAAa;IAC1D,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAGjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAUJ;AAMD;;GAEG;AACH,qBAAa,cAAe,SAAQ,iBAAiB;IACnD,SAAgB,aAAa,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,uBAAuB,GAAG,WAAW,CAAC;gBAGvG,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,cAAc,CAAC,eAAe,CAAC,EAC9C,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAaJ;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;IACvD,SAAgB,WAAW,EAAE;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;gBAGA,WAAW,EAAE,qBAAqB,CAAC,aAAa,CAAC,EACjD,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAUJ;AAMD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,SAAgB,KAAK,EAAE,kBAAkB,GAAG,qBAAqB,GAAG,UAAU,GAAG,iBAAiB,CAAC;gBAGjG,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAaJ;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,MAAM,EAAE,MAAM,EAAE,CAAC;gBAG/B,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAWJ;AAMD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;AAExD;;GAEG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,SAAgB,OAAO,EAAE,eAAe,CAAC;IACzC,SAAgB,aAAa,EAAE,aAAa,GAAG,SAAS,GAAG,cAAc,CAAC;gBAGxE,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,EAC7C,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;CAcJ;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,aAAa;IACzD,SAAgB,aAAa,EAAE,SAAS,GAAG,mBAAmB,GAAG,SAAS,GAAG,cAAc,CAAC;gBAG1F,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,wBAAwB,CAAC,eAAe,CAAC,EACxD,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAWJ;AAMD,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;AAE1D;;GAEG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,SAAgB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;gBAGpD,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,iBAAiB,CAAC;QAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAaJ;AAED;;;GAGG;AACH,qBAAa,gCAAiC,SAAQ,iBAAiB;IACrE,SAAgB,aAAa,EAAE,KAAK,CAAC;QACnC,OAAO,EAAE,iBAAiB,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,SAAgB,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGpC,aAAa,EAAE,gCAAgC,CAAC,eAAe,CAAC,EAChE,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IAcH,UAAU,IAAI,MAAM;CAGrB;AAMD;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,SAAgB,aAAa,EACzB,yBAAyB,GACzB,gBAAgB,GAChB,uBAAuB,GACvB,4BAA4B,CAAC;IACjC,SAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzC,SAAgB,eAAe,CAAC,EAAE,MAAM,CAAC;gBAGvC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,oBAAoB,CAAC,eAAe,CAAC,EACpD,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAmBJ;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,oBAAoB;IACnE,SAAgB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChC,SAAgB,MAAM,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;gBAG/D,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,2BAA2B,CAAC,QAAQ,CAAC,EAC7C,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAgBJ;AAMD;;GAEG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,SAAgB,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpE,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;gBAG7B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,EACrC,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAcJ;AAMD,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,CAAC;AAEvF;;GAEG;AACH,qBAAa,cAAe,SAAQ,iBAAiB;IACnD,SAAgB,SAAS,EAAE,kBAAkB,CAAC;gBAG5C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,kBAAkB,EAC7B,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAaJ;AAMD;;GAEG;AACH,qBAAa,YAAa,SAAQ,iBAAiB;IACjD,SAAgB,aAAa,EAAE,MAAM,CAAC;IACtC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAGhC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CAcJ;AAMD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAEpF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK1D;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;IACR,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,iBAAiB,CAmBnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAU9F;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAUnE"}
|