@volley/recognition-client-sdk 0.1.670 → 0.1.707
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 +59 -2
- package/dist/config-builder.d.ts +14 -1
- package/dist/config-builder.d.ts.map +1 -1
- package/dist/index.bundled.d.ts +118 -48
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +66 -4
- package/dist/index.js.map +3 -3
- package/dist/recog-client-sdk.browser.js +43 -4
- 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 +7 -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 +4 -0
- package/dist/utils/url-builder.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/config-builder.ts +26 -0
- package/src/index.ts +1 -0
- package/src/recognition-client.ts +7 -1
- package/src/recognition-client.types.ts +10 -0
- package/src/utils/message-handler.ts +7 -1
- package/src/utils/url-builder.ts +14 -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,10 @@ 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';
|
|
98
|
+
/** Explicit major version for ASR config selection (e.g. 1, 3). Takes precedence over experimentCohort. */
|
|
99
|
+
experimentMajorVersion?: number;
|
|
96
100
|
/** Callback when transcript is received */
|
|
97
101
|
onTranscript?: (result: TranscriptionResultV1) => void;
|
|
98
102
|
/**
|
|
@@ -102,6 +106,8 @@ export interface IRecognitionClientConfig {
|
|
|
102
106
|
onFunctionCall?: (result: FunctionCallResultV1) => void;
|
|
103
107
|
/** Callback when metadata is received. Only once after transcription is complete.*/
|
|
104
108
|
onMetadata?: (metadata: MetadataResultV1) => void;
|
|
109
|
+
/** Callback when session is configured with actual ASR provider/model (optional) */
|
|
110
|
+
onSessionConfigured?: (config: SessionConfiguredV1) => void;
|
|
105
111
|
/** Callback when error occurs */
|
|
106
112
|
onError?: (error: ErrorResultV1) => void;
|
|
107
113
|
/** 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,10 @@ 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';
|
|
23
|
+
/** Explicit major version for ASR config selection */
|
|
24
|
+
experimentMajorVersion?: number;
|
|
21
25
|
}
|
|
22
26
|
/**
|
|
23
27
|
* 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;IAC3C,sDAAsD;IACtD,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAuElE"}
|
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.707",
|
|
4
4
|
"description": "Recognition Service TypeScript/Node.js Client SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -54,10 +54,10 @@
|
|
|
54
54
|
"semantic-release": "25.0.1",
|
|
55
55
|
"ts-jest": "29.2.5",
|
|
56
56
|
"typescript": "5.1.6",
|
|
57
|
-
"@recog/shared-config": "1.0.0",
|
|
58
57
|
"@recog/shared-types": "1.0.0",
|
|
58
|
+
"@recog/websocket": "1.0.0",
|
|
59
59
|
"@recog/shared-utils": "1.0.0",
|
|
60
|
-
"@recog/
|
|
60
|
+
"@recog/shared-config": "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,23 @@ 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
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Set explicit major version for ASR config selection.
|
|
165
|
+
* Takes precedence over experimentCohort-based version resolution.
|
|
166
|
+
*/
|
|
167
|
+
experimentMajorVersion(version: number): this {
|
|
168
|
+
this.config.experimentMajorVersion = version;
|
|
169
|
+
return this;
|
|
170
|
+
}
|
|
171
|
+
|
|
154
172
|
/**
|
|
155
173
|
* Set transcript callback
|
|
156
174
|
*/
|
|
@@ -167,6 +185,14 @@ export class ConfigBuilder {
|
|
|
167
185
|
return this;
|
|
168
186
|
}
|
|
169
187
|
|
|
188
|
+
/**
|
|
189
|
+
* Set session configured callback (optional)
|
|
190
|
+
*/
|
|
191
|
+
onSessionConfigured(callback: (config: SessionConfiguredV1) => void): this {
|
|
192
|
+
this.config.onSessionConfigured = callback;
|
|
193
|
+
return this;
|
|
194
|
+
}
|
|
195
|
+
|
|
170
196
|
/**
|
|
171
197
|
* Set error callback
|
|
172
198
|
*/
|
package/src/index.ts
CHANGED
|
@@ -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,9 @@ 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 }),
|
|
200
|
+
...(config.experimentMajorVersion !== undefined && { experimentMajorVersion: config.experimentMajorVersion })
|
|
197
201
|
});
|
|
198
202
|
|
|
199
203
|
// Initialize base WebSocketAudioClient
|
|
@@ -218,6 +222,7 @@ export class RealTimeTwoWayWebSocketRecognitionClient
|
|
|
218
222
|
onTranscript: config.onTranscript || (() => {}),
|
|
219
223
|
onFunctionCall: config.onFunctionCall || (() => {}),
|
|
220
224
|
onMetadata: config.onMetadata || (() => {}),
|
|
225
|
+
onSessionConfigured: config.onSessionConfigured,
|
|
221
226
|
onError: config.onError || (() => {}),
|
|
222
227
|
onConnected: config.onConnected || (() => {}),
|
|
223
228
|
onDisconnected: config.onDisconnected || (() => {}),
|
|
@@ -246,6 +251,7 @@ export class RealTimeTwoWayWebSocketRecognitionClient
|
|
|
246
251
|
onMetadata: this.config.onMetadata,
|
|
247
252
|
onError: this.config.onError,
|
|
248
253
|
onControlMessage: this.handleControlMessage.bind(this),
|
|
254
|
+
onSessionConfigured: this.config.onSessionConfigured,
|
|
249
255
|
...(this.config.logger && { logger: this.config.logger })
|
|
250
256
|
});
|
|
251
257
|
}
|
|
@@ -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,12 @@ 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
|
+
|
|
134
|
+
/** Explicit major version for ASR config selection (e.g. 1, 3). Takes precedence over experimentCohort. */
|
|
135
|
+
experimentMajorVersion?: number;
|
|
136
|
+
|
|
130
137
|
/** Callback when transcript is received */
|
|
131
138
|
onTranscript?: (result: TranscriptionResultV1) => void;
|
|
132
139
|
|
|
@@ -139,6 +146,9 @@ export interface IRecognitionClientConfig {
|
|
|
139
146
|
/** Callback when metadata is received. Only once after transcription is complete.*/
|
|
140
147
|
onMetadata?: (metadata: MetadataResultV1) => void;
|
|
141
148
|
|
|
149
|
+
/** Callback when session is configured with actual ASR provider/model (optional) */
|
|
150
|
+
onSessionConfigured?: (config: SessionConfiguredV1) => void;
|
|
151
|
+
|
|
142
152
|
/** Callback when error occurs */
|
|
143
153
|
onError?: (error: ErrorResultV1) => void;
|
|
144
154
|
|
|
@@ -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,10 @@ 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';
|
|
26
|
+
/** Explicit major version for ASR config selection */
|
|
27
|
+
experimentMajorVersion?: number;
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
/**
|
|
@@ -88,5 +92,15 @@ export function buildWebSocketUrl(config: UrlBuilderConfig): string {
|
|
|
88
92
|
url.searchParams.set('gamePhase', config.gameContext.gamePhase);
|
|
89
93
|
}
|
|
90
94
|
|
|
95
|
+
// Add experiment cohort if provided (defaults to 'control' on server if not set)
|
|
96
|
+
if (config.experimentCohort) {
|
|
97
|
+
url.searchParams.set('experimentCohort', config.experimentCohort);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Add explicit major version if provided
|
|
101
|
+
if (config.experimentMajorVersion !== undefined) {
|
|
102
|
+
url.searchParams.set('experimentMajorVersion', String(config.experimentMajorVersion));
|
|
103
|
+
}
|
|
104
|
+
|
|
91
105
|
return url.toString();
|
|
92
106
|
}
|