@skillhq/concierge 1.10.0 → 1.11.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/lib/call/call-session.d.ts +2 -0
- package/dist/lib/call/call-session.d.ts.map +1 -1
- package/dist/lib/call/call-session.js +29 -6
- package/dist/lib/call/call-session.js.map +1 -1
- package/dist/lib/call/conversation-ai.d.ts +7 -0
- package/dist/lib/call/conversation-ai.d.ts.map +1 -1
- package/dist/lib/call/conversation-ai.js +178 -1
- package/dist/lib/call/conversation-ai.js.map +1 -1
- package/dist/lib/call/echo-suppression.d.ts +9 -0
- package/dist/lib/call/echo-suppression.d.ts.map +1 -0
- package/dist/lib/call/echo-suppression.js +13 -0
- package/dist/lib/call/echo-suppression.js.map +1 -0
- package/dist/lib/call/eval/echo-suppression-test.d.ts +27 -0
- package/dist/lib/call/eval/echo-suppression-test.d.ts.map +1 -0
- package/dist/lib/call/eval/echo-suppression-test.js +85 -0
- package/dist/lib/call/eval/echo-suppression-test.js.map +1 -0
- package/dist/lib/call/eval/eval-runner.js +1 -1
- package/dist/lib/call/eval/index.d.ts +3 -0
- package/dist/lib/call/eval/index.d.ts.map +1 -1
- package/dist/lib/call/eval/index.js +3 -0
- package/dist/lib/call/eval/index.js.map +1 -1
- package/dist/lib/call/eval/integration-test-suite.d.ts +19 -0
- package/dist/lib/call/eval/integration-test-suite.d.ts.map +1 -1
- package/dist/lib/call/eval/integration-test-suite.js +64 -0
- package/dist/lib/call/eval/integration-test-suite.js.map +1 -1
- package/dist/lib/call/eval/streaming-chunk-test.d.ts +21 -0
- package/dist/lib/call/eval/streaming-chunk-test.d.ts.map +1 -0
- package/dist/lib/call/eval/streaming-chunk-test.js +74 -0
- package/dist/lib/call/eval/streaming-chunk-test.js.map +1 -0
- package/dist/lib/call/eval/transcript-regression-test.d.ts +10 -0
- package/dist/lib/call/eval/transcript-regression-test.d.ts.map +1 -0
- package/dist/lib/call/eval/transcript-regression-test.js +275 -0
- package/dist/lib/call/eval/transcript-regression-test.js.map +1 -0
- package/dist/lib/call/eval/turn-taking-test.d.ts.map +1 -1
- package/dist/lib/call/eval/turn-taking-test.js +40 -0
- package/dist/lib/call/eval/turn-taking-test.js.map +1 -1
- package/dist/lib/call/providers/deepgram.js +3 -3
- package/dist/lib/call/providers/deepgram.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { getEchoSuppressionDecision } from '../echo-suppression.js';
|
|
2
|
+
const BASE_TIME_MS = 1_000_000;
|
|
3
|
+
export const ECHO_SUPPRESSION_TEST_CASES = [
|
|
4
|
+
{
|
|
5
|
+
id: 'ignore-while-speaking',
|
|
6
|
+
name: 'Ignore transcripts while speaking',
|
|
7
|
+
params: {
|
|
8
|
+
isSpeaking: true,
|
|
9
|
+
suppressSttUntilMs: BASE_TIME_MS - 1000,
|
|
10
|
+
nowMs: BASE_TIME_MS,
|
|
11
|
+
},
|
|
12
|
+
expectedDecision: 'speaking',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 'ignore-during-suppression',
|
|
16
|
+
name: 'Ignore transcripts during suppression window',
|
|
17
|
+
params: {
|
|
18
|
+
isSpeaking: false,
|
|
19
|
+
suppressSttUntilMs: BASE_TIME_MS + 500,
|
|
20
|
+
nowMs: BASE_TIME_MS,
|
|
21
|
+
},
|
|
22
|
+
expectedDecision: 'suppressed',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: 'ignore-overlap-by-timing',
|
|
26
|
+
name: 'Ignore transcripts that overlap by word timing',
|
|
27
|
+
params: {
|
|
28
|
+
isSpeaking: false,
|
|
29
|
+
suppressSttUntilMs: BASE_TIME_MS + 300,
|
|
30
|
+
transcriptEndMs: BASE_TIME_MS + 100,
|
|
31
|
+
nowMs: BASE_TIME_MS + 600,
|
|
32
|
+
},
|
|
33
|
+
expectedDecision: 'overlap',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: 'overlap-takes-precedence',
|
|
37
|
+
name: 'Overlap decision has precedence over speaking/suppression',
|
|
38
|
+
params: {
|
|
39
|
+
isSpeaking: true,
|
|
40
|
+
suppressSttUntilMs: BASE_TIME_MS + 300,
|
|
41
|
+
transcriptEndMs: BASE_TIME_MS + 100,
|
|
42
|
+
nowMs: BASE_TIME_MS + 200,
|
|
43
|
+
},
|
|
44
|
+
expectedDecision: 'overlap',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: 'allow-normal-transcript',
|
|
48
|
+
name: 'Allow transcripts outside suppression window',
|
|
49
|
+
params: {
|
|
50
|
+
isSpeaking: false,
|
|
51
|
+
suppressSttUntilMs: BASE_TIME_MS - 100,
|
|
52
|
+
transcriptEndMs: BASE_TIME_MS - 50,
|
|
53
|
+
nowMs: BASE_TIME_MS,
|
|
54
|
+
},
|
|
55
|
+
expectedDecision: null,
|
|
56
|
+
},
|
|
57
|
+
];
|
|
58
|
+
export function runEchoSuppressionTest(testCase) {
|
|
59
|
+
const decision = getEchoSuppressionDecision(testCase.params);
|
|
60
|
+
const passed = decision === testCase.expectedDecision;
|
|
61
|
+
return {
|
|
62
|
+
testId: testCase.id,
|
|
63
|
+
testName: testCase.name,
|
|
64
|
+
passed,
|
|
65
|
+
decision,
|
|
66
|
+
expectedDecision: testCase.expectedDecision,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export function runAllEchoSuppressionTests() {
|
|
70
|
+
const results = [];
|
|
71
|
+
let passed = 0;
|
|
72
|
+
let failed = 0;
|
|
73
|
+
for (const testCase of ECHO_SUPPRESSION_TEST_CASES) {
|
|
74
|
+
const result = runEchoSuppressionTest(testCase);
|
|
75
|
+
results.push(result);
|
|
76
|
+
if (result.passed) {
|
|
77
|
+
passed++;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
failed++;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return { passed, failed, results };
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=echo-suppression-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"echo-suppression-test.js","sourceRoot":"","sources":["../../../../src/lib/call/eval/echo-suppression-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAgC,MAAM,wBAAwB,CAAC;AAsBlG,MAAM,YAAY,GAAG,SAAS,CAAC;AAE/B,MAAM,CAAC,MAAM,2BAA2B,GAA8B;IACpE;QACE,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,mCAAmC;QACzC,MAAM,EAAE;YACN,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,YAAY,GAAG,IAAI;YACvC,KAAK,EAAE,YAAY;SACpB;QACD,gBAAgB,EAAE,UAAU;KAC7B;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE;YACN,UAAU,EAAE,KAAK;YACjB,kBAAkB,EAAE,YAAY,GAAG,GAAG;YACtC,KAAK,EAAE,YAAY;SACpB;QACD,gBAAgB,EAAE,YAAY;KAC/B;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,gDAAgD;QACtD,MAAM,EAAE;YACN,UAAU,EAAE,KAAK;YACjB,kBAAkB,EAAE,YAAY,GAAG,GAAG;YACtC,eAAe,EAAE,YAAY,GAAG,GAAG;YACnC,KAAK,EAAE,YAAY,GAAG,GAAG;SAC1B;QACD,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,2DAA2D;QACjE,MAAM,EAAE;YACN,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,YAAY,GAAG,GAAG;YACtC,eAAe,EAAE,YAAY,GAAG,GAAG;YACnC,KAAK,EAAE,YAAY,GAAG,GAAG;SAC1B;QACD,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE;YACN,UAAU,EAAE,KAAK;YACjB,kBAAkB,EAAE,YAAY,GAAG,GAAG;YACtC,eAAe,EAAE,YAAY,GAAG,EAAE;YAClC,KAAK,EAAE,YAAY;SACpB;QACD,gBAAgB,EAAE,IAAI;KACvB;CACF,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,QAAiC;IACtE,MAAM,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,QAAQ,KAAK,QAAQ,CAAC,gBAAgB,CAAC;IAEtD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,EAAE;QACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,MAAM;QACN,QAAQ;QACR,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B;IAKxC,MAAM,OAAO,GAAgC,EAAE,CAAC;IAChD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,QAAQ,IAAI,2BAA2B,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,EAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC"}
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from './codec-test.js';
|
|
5
5
|
export * from './conversation-scripts.js';
|
|
6
|
+
export * from './echo-suppression-test.js';
|
|
6
7
|
export * from './eval-runner.js';
|
|
7
8
|
export * from './integration-test-suite.js';
|
|
9
|
+
export * from './streaming-chunk-test.js';
|
|
10
|
+
export * from './transcript-regression-test.js';
|
|
8
11
|
export * from './turn-taking-test.js';
|
|
9
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/eval/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/eval/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC"}
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from './codec-test.js';
|
|
5
5
|
export * from './conversation-scripts.js';
|
|
6
|
+
export * from './echo-suppression-test.js';
|
|
6
7
|
export * from './eval-runner.js';
|
|
7
8
|
export * from './integration-test-suite.js';
|
|
9
|
+
export * from './streaming-chunk-test.js';
|
|
10
|
+
export * from './transcript-regression-test.js';
|
|
8
11
|
export * from './turn-taking-test.js';
|
|
9
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/call/eval/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/call/eval/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC"}
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
* 3. Conversation flow tests - verify AI behavior
|
|
8
8
|
* 4. End-to-end pipeline tests - full flow without phone
|
|
9
9
|
*/
|
|
10
|
+
import { type EchoSuppressionTestResult } from './echo-suppression-test.js';
|
|
11
|
+
import { type StreamingChunkTestResult } from './streaming-chunk-test.js';
|
|
10
12
|
import { type TurnTakingTestResult } from './turn-taking-test.js';
|
|
11
13
|
export interface IntegrationTestConfig {
|
|
12
14
|
anthropicApiKey: string;
|
|
@@ -30,6 +32,23 @@ export interface TestSuiteResult {
|
|
|
30
32
|
passedCount: number;
|
|
31
33
|
failures: TurnTakingTestResult[];
|
|
32
34
|
};
|
|
35
|
+
streamingChunks: {
|
|
36
|
+
passed: boolean;
|
|
37
|
+
total: number;
|
|
38
|
+
passedCount: number;
|
|
39
|
+
failures: StreamingChunkTestResult[];
|
|
40
|
+
};
|
|
41
|
+
echoSuppression: {
|
|
42
|
+
passed: boolean;
|
|
43
|
+
total: number;
|
|
44
|
+
passedCount: number;
|
|
45
|
+
failures: EchoSuppressionTestResult[];
|
|
46
|
+
};
|
|
47
|
+
transcriptRegression: {
|
|
48
|
+
passed: boolean;
|
|
49
|
+
tests: number;
|
|
50
|
+
failures: string[];
|
|
51
|
+
};
|
|
33
52
|
conversationFlow: {
|
|
34
53
|
passed: boolean;
|
|
35
54
|
tests: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration-test-suite.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/eval/integration-test-suite.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAMzF,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE;QACL,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,UAAU,EAAE;QACV,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;KAClC,CAAC;IACF,gBAAgB,EAAE;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,YAAY,EAAE;QACZ,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,YAAY,EAAE,OAAO,CAAC;QACtB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,eAAe,EAAE;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,mBAAmB,EAAE,MAAM,EAAE,CAAC;KAC/B,CAAC;IACF,eAAe,EAAE;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,YAAY,EAAE;QACZ,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,WAAW,EAAE;QACX,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"integration-test-suite.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/eval/integration-test-suite.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAA8B,KAAK,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACxG,OAAO,EAA6B,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErG,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAMzF,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE;QACL,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,UAAU,EAAE;QACV,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;KAClC,CAAC;IACF,eAAe,EAAE;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,wBAAwB,EAAE,CAAC;KACtC,CAAC;IACF,eAAe,EAAE;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,yBAAyB,EAAE,CAAC;KACvC,CAAC;IACF,oBAAoB,EAAE;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,gBAAgB,EAAE;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,YAAY,EAAE;QACZ,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,YAAY,EAAE,OAAO,CAAC;QACtB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,eAAe,EAAE;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,mBAAmB,EAAE,MAAM,EAAE,CAAC;KAC/B,CAAC;IACF,eAAe,EAAE;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,YAAY,EAAE;QACZ,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,WAAW,EAAE;QACX,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AA4dD;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAsQrG"}
|
|
@@ -11,6 +11,9 @@ import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
|
11
11
|
import { join } from 'node:path';
|
|
12
12
|
import { ConversationAI } from '../conversation-ai.js';
|
|
13
13
|
import { testTTSPipeline } from './codec-test.js';
|
|
14
|
+
import { runAllEchoSuppressionTests } from './echo-suppression-test.js';
|
|
15
|
+
import { runAllStreamingChunkTests } from './streaming-chunk-test.js';
|
|
16
|
+
import { runTranscriptRegressionTests } from './transcript-regression-test.js';
|
|
14
17
|
import { runAllTurnTakingTests } from './turn-taking-test.js';
|
|
15
18
|
function countWords(text) {
|
|
16
19
|
return text.trim().split(/\s+/).filter(Boolean).length;
|
|
@@ -57,6 +60,26 @@ async function runTurnTakingTests() {
|
|
|
57
60
|
failures,
|
|
58
61
|
};
|
|
59
62
|
}
|
|
63
|
+
async function runStreamingChunkTests() {
|
|
64
|
+
const { passed, failed, results } = runAllStreamingChunkTests();
|
|
65
|
+
const failures = results.filter((r) => !r.passed);
|
|
66
|
+
return {
|
|
67
|
+
passed: failed === 0,
|
|
68
|
+
total: passed + failed,
|
|
69
|
+
passedCount: passed,
|
|
70
|
+
failures,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
async function runEchoSuppressionTests() {
|
|
74
|
+
const { passed, failed, results } = runAllEchoSuppressionTests();
|
|
75
|
+
const failures = results.filter((r) => !r.passed);
|
|
76
|
+
return {
|
|
77
|
+
passed: failed === 0,
|
|
78
|
+
total: passed + failed,
|
|
79
|
+
passedCount: passed,
|
|
80
|
+
failures,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
60
83
|
/**
|
|
61
84
|
* Test 3: Conversation Flow
|
|
62
85
|
* Tests AI behavior in various scenarios
|
|
@@ -373,6 +396,17 @@ export async function runIntegrationTestSuite(config) {
|
|
|
373
396
|
console.log('🔄 Running Turn-Taking Tests...');
|
|
374
397
|
const turnTakingResult = await runTurnTakingTests();
|
|
375
398
|
console.log(` ${turnTakingResult.passed ? '✅' : '❌'} ${turnTakingResult.passedCount}/${turnTakingResult.total} passed\n`);
|
|
399
|
+
console.log('🧩 Running Streaming Chunk Tests...');
|
|
400
|
+
const streamingChunkResult = await runStreamingChunkTests();
|
|
401
|
+
console.log(` ${streamingChunkResult.passed ? '✅' : '❌'} ${streamingChunkResult.passedCount}/${streamingChunkResult.total} passed\n`);
|
|
402
|
+
console.log('🔇 Running Echo Suppression Tests...');
|
|
403
|
+
const echoSuppressionResult = await runEchoSuppressionTests();
|
|
404
|
+
console.log(` ${echoSuppressionResult.passed ? '✅' : '❌'} ${echoSuppressionResult.passedCount}/${echoSuppressionResult.total} passed\n`);
|
|
405
|
+
console.log('📝 Running Transcript Regression Tests...');
|
|
406
|
+
const transcriptRegressionResult = await runTranscriptRegressionTests({
|
|
407
|
+
anthropicApiKey: config.anthropicApiKey,
|
|
408
|
+
});
|
|
409
|
+
console.log(` ${transcriptRegressionResult.passed ? '✅' : '❌'} ${transcriptRegressionResult.tests - transcriptRegressionResult.failures.length}/${transcriptRegressionResult.tests} passed\n`);
|
|
376
410
|
console.log('💬 Running Conversation Flow Tests...');
|
|
377
411
|
const conversationResult = await runConversationFlowTests(config);
|
|
378
412
|
console.log(` ${conversationResult.passed ? '✅' : '❌'} ${conversationResult.tests - conversationResult.failures.length}/${conversationResult.tests} passed\n`);
|
|
@@ -394,6 +428,9 @@ export async function runIntegrationTestSuite(config) {
|
|
|
394
428
|
const duration = Date.now() - startTime;
|
|
395
429
|
const overallPassed = codecResult.passed &&
|
|
396
430
|
turnTakingResult.passed &&
|
|
431
|
+
streamingChunkResult.passed &&
|
|
432
|
+
echoSuppressionResult.passed &&
|
|
433
|
+
transcriptRegressionResult.passed &&
|
|
397
434
|
conversationResult.passed &&
|
|
398
435
|
disclosureResult.passed &&
|
|
399
436
|
roleResult.passed &&
|
|
@@ -406,6 +443,9 @@ export async function runIntegrationTestSuite(config) {
|
|
|
406
443
|
overallPassed,
|
|
407
444
|
codec: codecResult,
|
|
408
445
|
turnTaking: turnTakingResult,
|
|
446
|
+
streamingChunks: streamingChunkResult,
|
|
447
|
+
echoSuppression: echoSuppressionResult,
|
|
448
|
+
transcriptRegression: transcriptRegressionResult,
|
|
409
449
|
conversationFlow: conversationResult,
|
|
410
450
|
aiDisclosure: disclosureResult,
|
|
411
451
|
roleConsistency: roleResult,
|
|
@@ -424,6 +464,9 @@ export async function runIntegrationTestSuite(config) {
|
|
|
424
464
|
console.log('╠════════════════════════════════════════════════════════════╣');
|
|
425
465
|
console.log(`║ Codec: ${codecResult.passed ? '✅ PASS' : '❌ FAIL'} ║`);
|
|
426
466
|
console.log(`║ Turn-Taking: ${turnTakingResult.passed ? '✅ PASS' : '❌ FAIL'} ║`);
|
|
467
|
+
console.log(`║ Streaming Chunks:${streamingChunkResult.passed ? '✅ PASS' : '❌ FAIL'} ║`);
|
|
468
|
+
console.log(`║ Echo Suppress: ${echoSuppressionResult.passed ? '✅ PASS' : '❌ FAIL'} ║`);
|
|
469
|
+
console.log(`║ Transcript Reg: ${transcriptRegressionResult.passed ? '✅ PASS' : '❌ FAIL'} ║`);
|
|
427
470
|
console.log(`║ Conversation: ${conversationResult.passed ? '✅ PASS' : '❌ FAIL'} ║`);
|
|
428
471
|
console.log(`║ AI Disclosure: ${disclosureResult.passed ? '✅ PASS' : '❌ FAIL'} ║`);
|
|
429
472
|
console.log(`║ Role Consistency:${roleResult.passed ? '✅ PASS' : '❌ FAIL'} ║`);
|
|
@@ -449,6 +492,27 @@ export async function runIntegrationTestSuite(config) {
|
|
|
449
492
|
}
|
|
450
493
|
console.log('');
|
|
451
494
|
}
|
|
495
|
+
if (!streamingChunkResult.passed) {
|
|
496
|
+
console.log('Streaming chunk failures:');
|
|
497
|
+
for (const f of streamingChunkResult.failures) {
|
|
498
|
+
console.log(` - ${f.testName}: chunk="${f.firstChunk}" (expected "${f.expectedFirstChunk}")`);
|
|
499
|
+
}
|
|
500
|
+
console.log('');
|
|
501
|
+
}
|
|
502
|
+
if (!echoSuppressionResult.passed) {
|
|
503
|
+
console.log('Echo suppression failures:');
|
|
504
|
+
for (const f of echoSuppressionResult.failures) {
|
|
505
|
+
console.log(` - ${f.testName}: decision="${f.decision}" (expected "${f.expectedDecision}")`);
|
|
506
|
+
}
|
|
507
|
+
console.log('');
|
|
508
|
+
}
|
|
509
|
+
if (!transcriptRegressionResult.passed) {
|
|
510
|
+
console.log('Transcript regression failures:');
|
|
511
|
+
for (const f of transcriptRegressionResult.failures) {
|
|
512
|
+
console.log(` - ${f}`);
|
|
513
|
+
}
|
|
514
|
+
console.log('');
|
|
515
|
+
}
|
|
452
516
|
if (!conversationResult.passed) {
|
|
453
517
|
console.log('Conversation flow failures:');
|
|
454
518
|
for (const f of conversationResult.failures) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration-test-suite.js","sourceRoot":"","sources":["../../../../src/lib/call/eval/integration-test-suite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"integration-test-suite.js","sourceRoot":"","sources":["../../../../src/lib/call/eval/integration-test-suite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface StreamingChunkTestCase {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
text: string;
|
|
5
|
+
expectedFirstChunk: string | null;
|
|
6
|
+
}
|
|
7
|
+
export interface StreamingChunkTestResult {
|
|
8
|
+
testId: string;
|
|
9
|
+
testName: string;
|
|
10
|
+
passed: boolean;
|
|
11
|
+
firstChunk: string | null;
|
|
12
|
+
expectedFirstChunk: string | null;
|
|
13
|
+
}
|
|
14
|
+
export declare const STREAMING_CHUNK_TEST_CASES: StreamingChunkTestCase[];
|
|
15
|
+
export declare function runStreamingChunkTest(testCase: StreamingChunkTestCase): StreamingChunkTestResult;
|
|
16
|
+
export declare function runAllStreamingChunkTests(): {
|
|
17
|
+
passed: number;
|
|
18
|
+
failed: number;
|
|
19
|
+
results: StreamingChunkTestResult[];
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=streaming-chunk-test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming-chunk-test.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/eval/streaming-chunk-test.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AASD,eAAO,MAAM,0BAA0B,EAAE,sBAAsB,EAqC9D,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,wBAAwB,CAWhG;AAED,wBAAgB,yBAAyB,IAAI;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,wBAAwB,EAAE,CAAC;CACrC,CAgBA"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { findSentenceBoundary } from '../conversation-ai.js';
|
|
2
|
+
function getFirstChunk(text) {
|
|
3
|
+
const boundary = findSentenceBoundary(text);
|
|
4
|
+
if (boundary === -1)
|
|
5
|
+
return null;
|
|
6
|
+
const chunk = text.slice(0, boundary).trim();
|
|
7
|
+
return chunk.length > 0 ? chunk : null;
|
|
8
|
+
}
|
|
9
|
+
export const STREAMING_CHUNK_TEST_CASES = [
|
|
10
|
+
{
|
|
11
|
+
id: 'sentence-boundary',
|
|
12
|
+
name: 'Sentence boundary splits at punctuation + space',
|
|
13
|
+
text: 'Hello there. How are you?',
|
|
14
|
+
expectedFirstChunk: 'Hello there.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
id: 'question-boundary',
|
|
18
|
+
name: 'Question mark boundary splits correctly',
|
|
19
|
+
text: 'Are you open? We can book now.',
|
|
20
|
+
expectedFirstChunk: 'Are you open?',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 'comma-boundary-long',
|
|
24
|
+
name: 'Comma boundary for long buffers',
|
|
25
|
+
text: 'We are interested in a reservation, for next Tuesday evening.',
|
|
26
|
+
expectedFirstChunk: 'We are interested in a reservation,',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: 'comma-boundary-short',
|
|
30
|
+
name: 'Comma boundary not used for short buffers',
|
|
31
|
+
text: 'Yes, please.',
|
|
32
|
+
expectedFirstChunk: null,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 'no-punctuation',
|
|
36
|
+
name: 'No punctuation yields no boundary',
|
|
37
|
+
text: 'This should not split even though it keeps going without punctuation',
|
|
38
|
+
expectedFirstChunk: null,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: 'punctuation-no-space',
|
|
42
|
+
name: 'Punctuation without space does not split',
|
|
43
|
+
text: 'Thanks!Please hold while I check.',
|
|
44
|
+
expectedFirstChunk: null,
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
export function runStreamingChunkTest(testCase) {
|
|
48
|
+
const firstChunk = getFirstChunk(testCase.text);
|
|
49
|
+
const passed = firstChunk === testCase.expectedFirstChunk;
|
|
50
|
+
return {
|
|
51
|
+
testId: testCase.id,
|
|
52
|
+
testName: testCase.name,
|
|
53
|
+
passed,
|
|
54
|
+
firstChunk,
|
|
55
|
+
expectedFirstChunk: testCase.expectedFirstChunk,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export function runAllStreamingChunkTests() {
|
|
59
|
+
const results = [];
|
|
60
|
+
let passed = 0;
|
|
61
|
+
let failed = 0;
|
|
62
|
+
for (const testCase of STREAMING_CHUNK_TEST_CASES) {
|
|
63
|
+
const result = runStreamingChunkTest(testCase);
|
|
64
|
+
results.push(result);
|
|
65
|
+
if (result.passed) {
|
|
66
|
+
passed++;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
failed++;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return { passed, failed, results };
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=streaming-chunk-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming-chunk-test.js","sourceRoot":"","sources":["../../../../src/lib/call/eval/streaming-chunk-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAiB7D,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAA6B;IAClE;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,iDAAiD;QACvD,IAAI,EAAE,2BAA2B;QACjC,kBAAkB,EAAE,cAAc;KACnC;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,yCAAyC;QAC/C,IAAI,EAAE,gCAAgC;QACtC,kBAAkB,EAAE,eAAe;KACpC;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,iCAAiC;QACvC,IAAI,EAAE,+DAA+D;QACrE,kBAAkB,EAAE,qCAAqC;KAC1D;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,2CAA2C;QACjD,IAAI,EAAE,cAAc;QACpB,kBAAkB,EAAE,IAAI;KACzB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,mCAAmC;QACzC,IAAI,EAAE,sEAAsE;QAC5E,kBAAkB,EAAE,IAAI;KACzB;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,0CAA0C;QAChD,IAAI,EAAE,mCAAmC;QACzC,kBAAkB,EAAE,IAAI;KACzB;CACF,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,QAAgC;IACpE,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,UAAU,KAAK,QAAQ,CAAC,kBAAkB,CAAC;IAE1D,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,EAAE;QACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,MAAM;QACN,UAAU;QACV,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;KAChD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB;IAKvC,MAAM,OAAO,GAA+B,EAAE,CAAC;IAC/C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,QAAQ,IAAI,0BAA0B,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,EAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface TranscriptRegressionConfig {
|
|
2
|
+
anthropicApiKey: string;
|
|
3
|
+
}
|
|
4
|
+
export interface TranscriptRegressionResult {
|
|
5
|
+
passed: boolean;
|
|
6
|
+
tests: number;
|
|
7
|
+
failures: string[];
|
|
8
|
+
}
|
|
9
|
+
export declare function runTranscriptRegressionTests(config: TranscriptRegressionConfig): Promise<TranscriptRegressionResult>;
|
|
10
|
+
//# sourceMappingURL=transcript-regression-test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcript-regression-test.d.ts","sourceRoot":"","sources":["../../../../src/lib/call/eval/transcript-regression-test.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAoGD,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC,CA+KrC"}
|