@volley/recognition-client-sdk 0.1.670 → 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 +46 -1
- package/dist/config-builder.d.ts +9 -1
- package/dist/config-builder.d.ts.map +1 -1
- package/dist/index.bundled.d.ts +54 -1
- package/dist/index.js +46 -4
- package/dist/index.js.map +2 -2
- package/dist/recog-client-sdk.browser.js +32 -4
- package/dist/recog-client-sdk.browser.js.map +2 -2
- 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 +1 -1
- package/src/config-builder.ts +17 -0
- package/src/recognition-client.ts +6 -1
- package/src/recognition-client.types.ts +7 -0
- package/src/utils/message-handler.ts +7 -1
- 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
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
|
*/
|
|
@@ -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
|
}
|
|
@@ -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
|
|
|
@@ -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
|
}
|