@volley/recognition-client-sdk 0.1.622 → 0.1.689
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/browser.bundled.d.ts +79 -4
- package/dist/config-builder.d.ts +9 -1
- package/dist/config-builder.d.ts.map +1 -1
- package/dist/index.bundled.d.ts +88 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +73 -10
- package/dist/index.js.map +3 -3
- package/dist/recog-client-sdk.browser.js +56 -10
- package/dist/recog-client-sdk.browser.js.map +3 -3
- package/dist/recognition-client.d.ts.map +1 -1
- package/dist/recognition-client.types.d.ts +5 -1
- package/dist/recognition-client.types.d.ts.map +1 -1
- package/dist/utils/message-handler.d.ts +2 -1
- package/dist/utils/message-handler.d.ts.map +1 -1
- package/dist/utils/url-builder.d.ts +2 -0
- package/dist/utils/url-builder.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/config-builder.ts +17 -0
- package/src/index.spec.ts +11 -0
- package/src/index.ts +3 -0
- package/src/recognition-client.ts +10 -5
- package/src/recognition-client.types.ts +7 -0
- package/src/utils/message-handler.ts +8 -2
- package/src/utils/url-builder.ts +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recognition-client.d.ts","sourceRoot":"","sources":["../src/recognition-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAML,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"recognition-client.d.ts","sourceRoot":"","sources":["../src/recognition-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Type definitions and interfaces for the recognition client SDK.
|
|
5
5
|
* These interfaces enable dependency injection, testing, and alternative implementations.
|
|
6
6
|
*/
|
|
7
|
-
import { TranscriptionResultV1, FunctionCallResultV1, MetadataResultV1, ErrorResultV1, ASRRequestConfig, GameContextV1, Stage } from '@recog/shared-types';
|
|
7
|
+
import { TranscriptionResultV1, FunctionCallResultV1, MetadataResultV1, ErrorResultV1, SessionConfiguredV1, ASRRequestConfig, GameContextV1, Stage } from '@recog/shared-types';
|
|
8
8
|
/**
|
|
9
9
|
* Client connection state enum
|
|
10
10
|
* Represents the various states a recognition client can be in during its lifecycle
|
|
@@ -93,6 +93,8 @@ export interface IRecognitionClientConfig {
|
|
|
93
93
|
questionAnswerId?: string;
|
|
94
94
|
/** Platform for audio recording device (optional, e.g., 'ios', 'android', 'web', 'unity') */
|
|
95
95
|
platform?: string;
|
|
96
|
+
/** Experiment cohort (optional). Defaults to 'control' if not provided. */
|
|
97
|
+
experimentCohort?: 'treatment' | 'control';
|
|
96
98
|
/** Callback when transcript is received */
|
|
97
99
|
onTranscript?: (result: TranscriptionResultV1) => void;
|
|
98
100
|
/**
|
|
@@ -102,6 +104,8 @@ export interface IRecognitionClientConfig {
|
|
|
102
104
|
onFunctionCall?: (result: FunctionCallResultV1) => void;
|
|
103
105
|
/** Callback when metadata is received. Only once after transcription is complete.*/
|
|
104
106
|
onMetadata?: (metadata: MetadataResultV1) => void;
|
|
107
|
+
/** Callback when session is configured with actual ASR provider/model (optional) */
|
|
108
|
+
onSessionConfigured?: (config: SessionConfiguredV1) => void;
|
|
105
109
|
/** Callback when error occurs */
|
|
106
110
|
onError?: (error: ErrorResultV1) => void;
|
|
107
111
|
/** Callback when connected to WebSocket */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recognition-client.types.d.ts","sourceRoot":"","sources":["../src/recognition-client.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recognition-client.types.d.ts","sourceRoot":"","sources":["../src/recognition-client.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
* Message Handler for Recognition Client
|
|
3
3
|
* Routes incoming WebSocket messages to appropriate callbacks
|
|
4
4
|
*/
|
|
5
|
-
import { type TranscriptionResultV1, type FunctionCallResultV1, type MetadataResultV1, type ErrorResultV1, type ClientControlMessageV1 } from '@recog/shared-types';
|
|
5
|
+
import { type TranscriptionResultV1, type FunctionCallResultV1, type MetadataResultV1, type ErrorResultV1, type ClientControlMessageV1, type SessionConfiguredV1 } from '@recog/shared-types';
|
|
6
6
|
export interface MessageHandlerCallbacks {
|
|
7
7
|
onTranscript: (result: TranscriptionResultV1) => void;
|
|
8
8
|
onFunctionCall: (result: FunctionCallResultV1) => void;
|
|
9
9
|
onMetadata: (metadata: MetadataResultV1) => void;
|
|
10
10
|
onError: (error: ErrorResultV1) => void;
|
|
11
11
|
onControlMessage: (msg: ClientControlMessageV1) => void;
|
|
12
|
+
onSessionConfigured?: ((config: SessionConfiguredV1) => void) | undefined;
|
|
12
13
|
logger?: (level: 'debug' | 'info' | 'warn' | 'error', message: string, data?: any) => void;
|
|
13
14
|
}
|
|
14
15
|
export declare class MessageHandler {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-handler.d.ts","sourceRoot":"","sources":["../../src/utils/message-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,sBAAsB,
|
|
1
|
+
{"version":3,"file":"message-handler.d.ts","sourceRoot":"","sources":["../../src/utils/message-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACtD,cAAc,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACvD,UAAU,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjD,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,gBAAgB,EAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACxD,mBAAmB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1E,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAC5F;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,SAAS,CAA0B;gBAE/B,SAAS,EAAE,uBAAuB;IAI9C;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIvC;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI;IA0DhE;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,UAAU;;;;;CAUX"}
|
|
@@ -18,6 +18,8 @@ export interface UrlBuilderConfig {
|
|
|
18
18
|
gameContext?: GameContextV1;
|
|
19
19
|
/** Standalone gameId - takes precedence over gameContext.gameId if both provided */
|
|
20
20
|
gameId?: string;
|
|
21
|
+
/** Experiment cohort - defaults to 'control' if not provided */
|
|
22
|
+
experimentCohort?: 'treatment' | 'control';
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
23
25
|
* Build WebSocket URL with all query parameters
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-builder.d.ts","sourceRoot":"","sources":["../../src/utils/url-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"url-builder.d.ts","sourceRoot":"","sources":["../../src/utils/url-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAkElE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volley/recognition-client-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.689",
|
|
4
4
|
"description": "Recognition Service TypeScript/Node.js Client SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
"typescript": "5.1.6",
|
|
57
57
|
"@recog/shared-config": "1.0.0",
|
|
58
58
|
"@recog/shared-types": "1.0.0",
|
|
59
|
-
"@recog/
|
|
60
|
-
"@recog/
|
|
59
|
+
"@recog/shared-utils": "1.0.0",
|
|
60
|
+
"@recog/websocket": "1.0.0"
|
|
61
61
|
},
|
|
62
62
|
"keywords": [
|
|
63
63
|
"recognition",
|
package/src/config-builder.ts
CHANGED
|
@@ -13,6 +13,7 @@ import type {
|
|
|
13
13
|
GameContextV1,
|
|
14
14
|
TranscriptionResultV1,
|
|
15
15
|
MetadataResultV1,
|
|
16
|
+
SessionConfiguredV1,
|
|
16
17
|
ErrorResultV1,
|
|
17
18
|
Stage
|
|
18
19
|
} from '@recog/shared-types';
|
|
@@ -151,6 +152,14 @@ export class ConfigBuilder {
|
|
|
151
152
|
return this;
|
|
152
153
|
}
|
|
153
154
|
|
|
155
|
+
/**
|
|
156
|
+
* Set experiment cohort (optional, defaults to 'control')
|
|
157
|
+
*/
|
|
158
|
+
experimentCohort(cohort: 'treatment' | 'control'): this {
|
|
159
|
+
this.config.experimentCohort = cohort;
|
|
160
|
+
return this;
|
|
161
|
+
}
|
|
162
|
+
|
|
154
163
|
/**
|
|
155
164
|
* Set transcript callback
|
|
156
165
|
*/
|
|
@@ -167,6 +176,14 @@ export class ConfigBuilder {
|
|
|
167
176
|
return this;
|
|
168
177
|
}
|
|
169
178
|
|
|
179
|
+
/**
|
|
180
|
+
* Set session configured callback (optional)
|
|
181
|
+
*/
|
|
182
|
+
onSessionConfigured(callback: (config: SessionConfiguredV1) => void): this {
|
|
183
|
+
this.config.onSessionConfigured = callback;
|
|
184
|
+
return this;
|
|
185
|
+
}
|
|
186
|
+
|
|
170
187
|
/**
|
|
171
188
|
* Set error callback
|
|
172
189
|
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CartesiaModel, RecognitionProvider, SelfServeVllmModel } from './index.js';
|
|
2
|
+
|
|
3
|
+
describe('SDK top-level exports', () => {
|
|
4
|
+
it('should export Cartesia and self-serve-vllm enums for downstream imports', () => {
|
|
5
|
+
expect(RecognitionProvider.CARTESIA).toBe('cartesia');
|
|
6
|
+
expect(RecognitionProvider.SELF_SERVE_VLLM).toBe('self-serve-vllm');
|
|
7
|
+
expect(CartesiaModel.INK_WHISPER).toBe('ink-whisper');
|
|
8
|
+
expect(CartesiaModel.INK_WHISPER_20250604).toBe('ink-whisper-2025-06-04');
|
|
9
|
+
expect(SelfServeVllmModel.QWEN3_ASR_1_7B).toBe('qwen3-asr-1.7b');
|
|
10
|
+
});
|
|
11
|
+
});
|
package/src/index.ts
CHANGED
|
@@ -100,11 +100,14 @@ export {
|
|
|
100
100
|
DeepgramModel,
|
|
101
101
|
ElevenLabsModel,
|
|
102
102
|
FireworksModel,
|
|
103
|
+
GladiaModel,
|
|
103
104
|
GoogleModel,
|
|
104
105
|
GeminiModel,
|
|
105
106
|
OpenAIModel,
|
|
107
|
+
SelfServeVllmModel,
|
|
106
108
|
OpenAIRealtimeModel,
|
|
107
109
|
MistralVoxtralModel,
|
|
110
|
+
CartesiaModel,
|
|
108
111
|
DashScopeModel,
|
|
109
112
|
Language,
|
|
110
113
|
SampleRate,
|
|
@@ -45,6 +45,7 @@ import {
|
|
|
45
45
|
type MetadataResultV1,
|
|
46
46
|
type ErrorResultV1,
|
|
47
47
|
type ClientControlMessageV1,
|
|
48
|
+
type SessionConfiguredV1,
|
|
48
49
|
type ASRRequestConfig,
|
|
49
50
|
type ASRRequestV1,
|
|
50
51
|
type GameContextV1,
|
|
@@ -127,6 +128,7 @@ interface InternalConfig {
|
|
|
127
128
|
onTranscript: (result: TranscriptionResultV1) => void;
|
|
128
129
|
onFunctionCall: (result: FunctionCallResultV1) => void;
|
|
129
130
|
onMetadata: (metadata: MetadataResultV1) => void;
|
|
131
|
+
onSessionConfigured?: ((config: SessionConfiguredV1) => void) | undefined;
|
|
130
132
|
onError: (error: ErrorResultV1) => void;
|
|
131
133
|
onConnected: () => void;
|
|
132
134
|
onDisconnected: (code: number, reason: string) => void;
|
|
@@ -193,7 +195,8 @@ export class RealTimeTwoWayWebSocketRecognitionClient
|
|
|
193
195
|
...(config.questionAnswerId && { questionAnswerId: config.questionAnswerId }),
|
|
194
196
|
...(config.platform && { platform: config.platform }),
|
|
195
197
|
...(config.gameContext && { gameContext: config.gameContext }),
|
|
196
|
-
...(config.gameId && { gameId: config.gameId })
|
|
198
|
+
...(config.gameId && { gameId: config.gameId }),
|
|
199
|
+
...(config.experimentCohort && { experimentCohort: config.experimentCohort })
|
|
197
200
|
});
|
|
198
201
|
|
|
199
202
|
// Initialize base WebSocketAudioClient
|
|
@@ -218,6 +221,7 @@ export class RealTimeTwoWayWebSocketRecognitionClient
|
|
|
218
221
|
onTranscript: config.onTranscript || (() => {}),
|
|
219
222
|
onFunctionCall: config.onFunctionCall || (() => {}),
|
|
220
223
|
onMetadata: config.onMetadata || (() => {}),
|
|
224
|
+
onSessionConfigured: config.onSessionConfigured,
|
|
221
225
|
onError: config.onError || (() => {}),
|
|
222
226
|
onConnected: config.onConnected || (() => {}),
|
|
223
227
|
onDisconnected: config.onDisconnected || (() => {}),
|
|
@@ -246,6 +250,7 @@ export class RealTimeTwoWayWebSocketRecognitionClient
|
|
|
246
250
|
onMetadata: this.config.onMetadata,
|
|
247
251
|
onError: this.config.onError,
|
|
248
252
|
onControlMessage: this.handleControlMessage.bind(this),
|
|
253
|
+
onSessionConfigured: this.config.onSessionConfigured,
|
|
249
254
|
...(this.config.logger && { logger: this.config.logger })
|
|
250
255
|
});
|
|
251
256
|
}
|
|
@@ -468,7 +473,7 @@ export class RealTimeTwoWayWebSocketRecognitionClient
|
|
|
468
473
|
this.sendAudioInternal(arrayBuffer);
|
|
469
474
|
})
|
|
470
475
|
.catch((error) => {
|
|
471
|
-
this.log('
|
|
476
|
+
this.log('warn', 'Failed to convert Blob to ArrayBuffer', error);
|
|
472
477
|
});
|
|
473
478
|
return;
|
|
474
479
|
}
|
|
@@ -522,7 +527,7 @@ export class RealTimeTwoWayWebSocketRecognitionClient
|
|
|
522
527
|
|
|
523
528
|
async stopRecording(): Promise<void> {
|
|
524
529
|
if (this.state !== ClientState.READY) {
|
|
525
|
-
this.log('
|
|
530
|
+
this.log('info', 'stopRecording called but not in READY state', { state: this.state });
|
|
526
531
|
return;
|
|
527
532
|
}
|
|
528
533
|
|
|
@@ -756,7 +761,7 @@ export class RealTimeTwoWayWebSocketRecognitionClient
|
|
|
756
761
|
this.state === ClientState.READY ||
|
|
757
762
|
this.state === ClientState.CONNECTING
|
|
758
763
|
) {
|
|
759
|
-
this.log('
|
|
764
|
+
this.log('warn', '[DIAGNOSTIC] Unexpected disconnection', {
|
|
760
765
|
code,
|
|
761
766
|
codeDescription: closeCodeDescription,
|
|
762
767
|
reason: reason || '(empty)',
|
|
@@ -908,7 +913,7 @@ export class RealTimeTwoWayWebSocketRecognitionClient
|
|
|
908
913
|
this.sendPrefixAudioInternal(arrayBuffer);
|
|
909
914
|
})
|
|
910
915
|
.catch((error) => {
|
|
911
|
-
this.log('
|
|
916
|
+
this.log('warn', 'Failed to convert Blob to ArrayBuffer for prefix audio', error);
|
|
912
917
|
});
|
|
913
918
|
return;
|
|
914
919
|
}
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
FunctionCallResultV1,
|
|
11
11
|
MetadataResultV1,
|
|
12
12
|
ErrorResultV1,
|
|
13
|
+
SessionConfiguredV1,
|
|
13
14
|
ASRRequestConfig,
|
|
14
15
|
GameContextV1,
|
|
15
16
|
Stage
|
|
@@ -127,6 +128,9 @@ export interface IRecognitionClientConfig {
|
|
|
127
128
|
/** Platform for audio recording device (optional, e.g., 'ios', 'android', 'web', 'unity') */
|
|
128
129
|
platform?: string;
|
|
129
130
|
|
|
131
|
+
/** Experiment cohort (optional). Defaults to 'control' if not provided. */
|
|
132
|
+
experimentCohort?: 'treatment' | 'control';
|
|
133
|
+
|
|
130
134
|
/** Callback when transcript is received */
|
|
131
135
|
onTranscript?: (result: TranscriptionResultV1) => void;
|
|
132
136
|
|
|
@@ -139,6 +143,9 @@ export interface IRecognitionClientConfig {
|
|
|
139
143
|
/** Callback when metadata is received. Only once after transcription is complete.*/
|
|
140
144
|
onMetadata?: (metadata: MetadataResultV1) => void;
|
|
141
145
|
|
|
146
|
+
/** Callback when session is configured with actual ASR provider/model (optional) */
|
|
147
|
+
onSessionConfigured?: (config: SessionConfiguredV1) => void;
|
|
148
|
+
|
|
142
149
|
/** Callback when error occurs */
|
|
143
150
|
onError?: (error: ErrorResultV1) => void;
|
|
144
151
|
|
|
@@ -10,7 +10,8 @@ import {
|
|
|
10
10
|
type FunctionCallResultV1,
|
|
11
11
|
type MetadataResultV1,
|
|
12
12
|
type ErrorResultV1,
|
|
13
|
-
type ClientControlMessageV1
|
|
13
|
+
type ClientControlMessageV1,
|
|
14
|
+
type SessionConfiguredV1
|
|
14
15
|
} from '@recog/shared-types';
|
|
15
16
|
|
|
16
17
|
export interface MessageHandlerCallbacks {
|
|
@@ -19,6 +20,7 @@ export interface MessageHandlerCallbacks {
|
|
|
19
20
|
onMetadata: (metadata: MetadataResultV1) => void;
|
|
20
21
|
onError: (error: ErrorResultV1) => void;
|
|
21
22
|
onControlMessage: (msg: ClientControlMessageV1) => void;
|
|
23
|
+
onSessionConfigured?: ((config: SessionConfiguredV1) => void) | undefined;
|
|
22
24
|
logger?: (level: 'debug' | 'info' | 'warn' | 'error', message: string, data?: any) => void;
|
|
23
25
|
}
|
|
24
26
|
|
|
@@ -55,7 +57,7 @@ export class MessageHandler {
|
|
|
55
57
|
// Log error if we receive primitive data (indicates server issue)
|
|
56
58
|
if (msg.data && typeof msg.data !== 'object') {
|
|
57
59
|
if (this.callbacks.logger) {
|
|
58
|
-
this.callbacks.logger('
|
|
60
|
+
this.callbacks.logger('warn', '[RecogSDK] Received primitive msg.data from server', {
|
|
59
61
|
dataType: typeof msg.data,
|
|
60
62
|
data: msg.data,
|
|
61
63
|
fullMessage: msg
|
|
@@ -87,6 +89,10 @@ export class MessageHandler {
|
|
|
87
89
|
this.callbacks.onControlMessage(msgData as ClientControlMessageV1);
|
|
88
90
|
break;
|
|
89
91
|
|
|
92
|
+
case RecognitionResultTypeV1.SESSION_CONFIGURED:
|
|
93
|
+
this.callbacks.onSessionConfigured?.(msgData as SessionConfiguredV1);
|
|
94
|
+
break;
|
|
95
|
+
|
|
90
96
|
default:
|
|
91
97
|
// Unknown message type - log if logger available
|
|
92
98
|
if (this.callbacks.logger) {
|
package/src/utils/url-builder.ts
CHANGED
|
@@ -21,6 +21,8 @@ export interface UrlBuilderConfig {
|
|
|
21
21
|
gameContext?: GameContextV1;
|
|
22
22
|
/** Standalone gameId - takes precedence over gameContext.gameId if both provided */
|
|
23
23
|
gameId?: string;
|
|
24
|
+
/** Experiment cohort - defaults to 'control' if not provided */
|
|
25
|
+
experimentCohort?: 'treatment' | 'control';
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
/**
|
|
@@ -88,5 +90,10 @@ export function buildWebSocketUrl(config: UrlBuilderConfig): string {
|
|
|
88
90
|
url.searchParams.set('gamePhase', config.gameContext.gamePhase);
|
|
89
91
|
}
|
|
90
92
|
|
|
93
|
+
// Add experiment cohort if provided (defaults to 'control' on server if not set)
|
|
94
|
+
if (config.experimentCohort) {
|
|
95
|
+
url.searchParams.set('experimentCohort', config.experimentCohort);
|
|
96
|
+
}
|
|
97
|
+
|
|
91
98
|
return url.toString();
|
|
92
99
|
}
|