@volley/recognition-client-sdk-node22 0.1.424
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/README.md +344 -0
- package/dist/browser.bundled.d.ts +1280 -0
- package/dist/browser.d.ts +10 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/config-builder.d.ts +134 -0
- package/dist/config-builder.d.ts.map +1 -0
- package/dist/errors.d.ts +41 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/factory.d.ts +36 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/index.bundled.d.ts +2572 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10199 -0
- package/dist/index.js.map +7 -0
- package/dist/recog-client-sdk.browser.d.ts +10 -0
- package/dist/recog-client-sdk.browser.d.ts.map +1 -0
- package/dist/recog-client-sdk.browser.js +5746 -0
- package/dist/recog-client-sdk.browser.js.map +7 -0
- package/dist/recognition-client.d.ts +128 -0
- package/dist/recognition-client.d.ts.map +1 -0
- package/dist/recognition-client.types.d.ts +271 -0
- package/dist/recognition-client.types.d.ts.map +1 -0
- package/dist/simplified-vgf-recognition-client.d.ts +178 -0
- package/dist/simplified-vgf-recognition-client.d.ts.map +1 -0
- package/dist/utils/audio-ring-buffer.d.ts +69 -0
- package/dist/utils/audio-ring-buffer.d.ts.map +1 -0
- package/dist/utils/message-handler.d.ts +45 -0
- package/dist/utils/message-handler.d.ts.map +1 -0
- package/dist/utils/url-builder.d.ts +28 -0
- package/dist/utils/url-builder.d.ts.map +1 -0
- package/dist/vgf-recognition-mapper.d.ts +66 -0
- package/dist/vgf-recognition-mapper.d.ts.map +1 -0
- package/dist/vgf-recognition-state.d.ts +91 -0
- package/dist/vgf-recognition-state.d.ts.map +1 -0
- package/package.json +74 -0
- package/src/browser.ts +24 -0
- package/src/config-builder.spec.ts +265 -0
- package/src/config-builder.ts +240 -0
- package/src/errors.ts +84 -0
- package/src/factory.spec.ts +215 -0
- package/src/factory.ts +47 -0
- package/src/index.ts +127 -0
- package/src/recognition-client.spec.ts +889 -0
- package/src/recognition-client.ts +844 -0
- package/src/recognition-client.types.ts +338 -0
- package/src/simplified-vgf-recognition-client.integration.spec.ts +718 -0
- package/src/simplified-vgf-recognition-client.spec.ts +1525 -0
- package/src/simplified-vgf-recognition-client.ts +524 -0
- package/src/utils/audio-ring-buffer.spec.ts +335 -0
- package/src/utils/audio-ring-buffer.ts +170 -0
- package/src/utils/message-handler.spec.ts +311 -0
- package/src/utils/message-handler.ts +131 -0
- package/src/utils/url-builder.spec.ts +252 -0
- package/src/utils/url-builder.ts +92 -0
- package/src/vgf-recognition-mapper.spec.ts +78 -0
- package/src/vgf-recognition-mapper.ts +232 -0
- package/src/vgf-recognition-state.ts +102 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-only entry point for Recognition SDK
|
|
3
|
+
* Excludes server-side dependencies
|
|
4
|
+
*
|
|
5
|
+
* Note: This file directly imports browser-compatible modules only,
|
|
6
|
+
* avoiding Node.js-specific code like the ws package.
|
|
7
|
+
*/
|
|
8
|
+
export { RealTimeTwoWayWebSocketRecognitionClient, type RealTimeTwoWayWebSocketRecognitionClientConfig, type TranscriptionResult } from './recognition-client.js';
|
|
9
|
+
export { AudioEncoding, ControlSignalTypeV1 as ControlSignal, type GameContextV1, RecognitionContextTypeV1 } from '@recog/shared-types';
|
|
10
|
+
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EACL,wCAAwC,EACxC,KAAK,8CAA8C,EACnD,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,aAAa,EACb,mBAAmB,IAAI,aAAa,EACpC,KAAK,aAAa,EAClB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Builder for Recognition Client
|
|
3
|
+
*
|
|
4
|
+
* Simple builder pattern for RealTimeTwoWayWebSocketRecognitionClientConfig
|
|
5
|
+
*/
|
|
6
|
+
import type { RealTimeTwoWayWebSocketRecognitionClientConfig, RecognitionCallbackUrl } from './recognition-client.types.js';
|
|
7
|
+
import type { ASRRequestConfig, GameContextV1, TranscriptionResultV1, MetadataResultV1, ErrorResultV1, Stage } from '@recog/shared-types';
|
|
8
|
+
/**
|
|
9
|
+
* Builder for RealTimeTwoWayWebSocketRecognitionClientConfig
|
|
10
|
+
*
|
|
11
|
+
* Provides a fluent API for building client configurations.
|
|
12
|
+
*
|
|
13
|
+
* Example:
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import { STAGES } from '@recog/shared-types';
|
|
16
|
+
*
|
|
17
|
+
* const config = new ConfigBuilder()
|
|
18
|
+
* .stage(STAGES.STAGING) // Recommended: automatic environment selection
|
|
19
|
+
* .asrRequestConfig({
|
|
20
|
+
* provider: RecognitionProvider.DEEPGRAM,
|
|
21
|
+
* model: 'nova-2-general'
|
|
22
|
+
* })
|
|
23
|
+
* .onTranscript((result) => console.log(result))
|
|
24
|
+
* .build();
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare class ConfigBuilder {
|
|
28
|
+
private config;
|
|
29
|
+
/**
|
|
30
|
+
* Set the WebSocket URL (advanced usage)
|
|
31
|
+
* For standard environments, use stage() instead
|
|
32
|
+
*/
|
|
33
|
+
url(url: string): this;
|
|
34
|
+
/**
|
|
35
|
+
* Set the stage for automatic environment selection (recommended)
|
|
36
|
+
* @param stage - STAGES.LOCAL | STAGES.DEV | STAGES.STAGING | STAGES.PRODUCTION
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* import { STAGES } from '@recog/shared-types';
|
|
40
|
+
* builder.stage(STAGES.STAGING)
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
stage(stage: Stage | string): this;
|
|
44
|
+
/**
|
|
45
|
+
* Set ASR request configuration
|
|
46
|
+
*/
|
|
47
|
+
asrRequestConfig(config: ASRRequestConfig): this;
|
|
48
|
+
/**
|
|
49
|
+
* Set game context
|
|
50
|
+
*/
|
|
51
|
+
gameContext(context: GameContextV1): this;
|
|
52
|
+
/**
|
|
53
|
+
* Set game ID directly (takes precedence over gameContext.gameId)
|
|
54
|
+
* Use this when you only need to identify the game without full context.
|
|
55
|
+
*/
|
|
56
|
+
gameId(id: string): this;
|
|
57
|
+
/**
|
|
58
|
+
* Set audio utterance ID
|
|
59
|
+
*/
|
|
60
|
+
audioUtteranceId(id: string): this;
|
|
61
|
+
/**
|
|
62
|
+
* Set callback URLs
|
|
63
|
+
*/
|
|
64
|
+
callbackUrls(urls: RecognitionCallbackUrl[]): this;
|
|
65
|
+
/**
|
|
66
|
+
* Set user ID
|
|
67
|
+
*/
|
|
68
|
+
userId(id: string): this;
|
|
69
|
+
/**
|
|
70
|
+
* Set game session ID
|
|
71
|
+
*/
|
|
72
|
+
gameSessionId(id: string): this;
|
|
73
|
+
/**
|
|
74
|
+
* Set device ID
|
|
75
|
+
*/
|
|
76
|
+
deviceId(id: string): this;
|
|
77
|
+
/**
|
|
78
|
+
* Set account ID
|
|
79
|
+
*/
|
|
80
|
+
accountId(id: string): this;
|
|
81
|
+
/**
|
|
82
|
+
* Set question answer ID
|
|
83
|
+
*/
|
|
84
|
+
questionAnswerId(id: string): this;
|
|
85
|
+
/**
|
|
86
|
+
* Set platform
|
|
87
|
+
*/
|
|
88
|
+
platform(platform: string): this;
|
|
89
|
+
/**
|
|
90
|
+
* Set transcript callback
|
|
91
|
+
*/
|
|
92
|
+
onTranscript(callback: (result: TranscriptionResultV1) => void): this;
|
|
93
|
+
/**
|
|
94
|
+
* Set metadata callback
|
|
95
|
+
*/
|
|
96
|
+
onMetadata(callback: (metadata: MetadataResultV1) => void): this;
|
|
97
|
+
/**
|
|
98
|
+
* Set error callback
|
|
99
|
+
*/
|
|
100
|
+
onError(callback: (error: ErrorResultV1) => void): this;
|
|
101
|
+
/**
|
|
102
|
+
* Set connected callback
|
|
103
|
+
*/
|
|
104
|
+
onConnected(callback: () => void): this;
|
|
105
|
+
/**
|
|
106
|
+
* Set disconnected callback
|
|
107
|
+
*/
|
|
108
|
+
onDisconnected(callback: (code: number, reason: string) => void): this;
|
|
109
|
+
/**
|
|
110
|
+
* Set high water mark
|
|
111
|
+
*/
|
|
112
|
+
highWaterMark(bytes: number): this;
|
|
113
|
+
/**
|
|
114
|
+
* Set low water mark
|
|
115
|
+
*/
|
|
116
|
+
lowWaterMark(bytes: number): this;
|
|
117
|
+
/**
|
|
118
|
+
* Set max buffer duration in seconds
|
|
119
|
+
*/
|
|
120
|
+
maxBufferDurationSec(seconds: number): this;
|
|
121
|
+
/**
|
|
122
|
+
* Set chunks per second
|
|
123
|
+
*/
|
|
124
|
+
chunksPerSecond(chunks: number): this;
|
|
125
|
+
/**
|
|
126
|
+
* Set logger function
|
|
127
|
+
*/
|
|
128
|
+
logger(logger: (level: 'debug' | 'info' | 'warn' | 'error', message: string, data?: any) => void): this;
|
|
129
|
+
/**
|
|
130
|
+
* Build the configuration
|
|
131
|
+
*/
|
|
132
|
+
build(): RealTimeTwoWayWebSocketRecognitionClientConfig;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=config-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-builder.d.ts","sourceRoot":"","sources":["../src/config-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,8CAA8C,EAC9C,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,KAAK,EACN,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA+D;IAE7E;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKtB;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAKhD;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAKzC;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxB;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAKlD;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxB;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK/B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKhC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,GAAG,IAAI;IAKrE;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAKhE;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAKvD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAKvC;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAKtE;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKjC;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK3C;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKrC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAKvG;;OAEG;IACH,KAAK,IAAI,8CAA8C;CAGxD"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK Error Classes
|
|
3
|
+
*
|
|
4
|
+
* Typed error classes that extend native Error with recognition-specific metadata
|
|
5
|
+
*/
|
|
6
|
+
import { ErrorTypeV1 } from '@recog/shared-types';
|
|
7
|
+
/**
|
|
8
|
+
* Base class for all recognition SDK errors
|
|
9
|
+
*/
|
|
10
|
+
export declare class RecognitionError extends Error {
|
|
11
|
+
readonly errorType: ErrorTypeV1;
|
|
12
|
+
readonly timestamp: number;
|
|
13
|
+
constructor(errorType: ErrorTypeV1, message: string);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Connection error - thrown when WebSocket connection fails after all retry attempts
|
|
17
|
+
*/
|
|
18
|
+
export declare class ConnectionError extends RecognitionError {
|
|
19
|
+
readonly attempts: number;
|
|
20
|
+
readonly url: string;
|
|
21
|
+
readonly underlyingError?: Error;
|
|
22
|
+
constructor(message: string, attempts: number, url: string, underlyingError?: Error);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Timeout error - thrown when operations exceed timeout limits
|
|
26
|
+
*/
|
|
27
|
+
export declare class TimeoutError extends RecognitionError {
|
|
28
|
+
readonly timeoutMs: number;
|
|
29
|
+
readonly operation: string;
|
|
30
|
+
constructor(message: string, timeoutMs: number, operation: string);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Validation error - thrown when invalid configuration or input is provided
|
|
34
|
+
*/
|
|
35
|
+
export declare class ValidationError extends RecognitionError {
|
|
36
|
+
readonly field?: string;
|
|
37
|
+
readonly expected?: string;
|
|
38
|
+
readonly received?: string;
|
|
39
|
+
constructor(message: string, field?: string, expected?: string, received?: string);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAgB,SAAS,EAAE,WAAW,CAAC;IACvC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;CAWpD;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,eAAe,CAAC,EAAE,KAAK,CAAC;gBAE5B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,KAAK;CASpF;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAMlE;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAalF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory function for creating Recognition Client instances
|
|
3
|
+
*/
|
|
4
|
+
import { ConfigBuilder } from './config-builder.js';
|
|
5
|
+
import type { IRecognitionClient, RealTimeTwoWayWebSocketRecognitionClientConfig } from './recognition-client.types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Create a recognition client from a configuration object
|
|
8
|
+
*
|
|
9
|
+
* Example:
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const client = createClient({
|
|
12
|
+
* url: 'ws://localhost:3101/ws/v1/recognize',
|
|
13
|
+
* audioUtteranceId: 'unique-id',
|
|
14
|
+
* onTranscript: (result) => console.log(result)
|
|
15
|
+
* });
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @param config - Client configuration
|
|
19
|
+
* @returns Configured recognition client instance
|
|
20
|
+
*/
|
|
21
|
+
export declare function createClient(config: RealTimeTwoWayWebSocketRecognitionClientConfig): IRecognitionClient;
|
|
22
|
+
/**
|
|
23
|
+
* Create a recognition client using the builder pattern
|
|
24
|
+
*
|
|
25
|
+
* Example:
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const client = createClientWithBuilder((builder) =>
|
|
28
|
+
* builder
|
|
29
|
+
* .url('ws://localhost:3101/ws/v1/recognize')
|
|
30
|
+
* .onTranscript((result) => console.log(result))
|
|
31
|
+
* .onError((error) => console.error(error))
|
|
32
|
+
* );
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare function createClientWithBuilder(configure: (builder: ConfigBuilder) => ConfigBuilder): IRecognitionClient;
|
|
36
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,8CAA8C,EAAE,MAAM,+BAA+B,CAAC;AAExH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,8CAA8C,GAAG,kBAAkB,CAEvG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,aAAa,GACnD,kBAAkB,CAIpB"}
|