@volley/recognition-client-sdk 0.1.254 → 0.1.287

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.
Files changed (38) hide show
  1. package/dist/browser.d.ts +10 -0
  2. package/dist/browser.d.ts.map +1 -0
  3. package/dist/config-builder.d.ts +129 -0
  4. package/dist/config-builder.d.ts.map +1 -0
  5. package/dist/errors.d.ts +41 -0
  6. package/dist/errors.d.ts.map +1 -0
  7. package/dist/factory.d.ts +36 -0
  8. package/dist/factory.d.ts.map +1 -0
  9. package/dist/index.d.ts +15 -1079
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +9764 -2105
  12. package/dist/index.js.map +7 -1
  13. package/dist/recog-client-sdk.browser.d.ts +10 -2
  14. package/dist/recog-client-sdk.browser.d.ts.map +1 -0
  15. package/dist/recog-client-sdk.browser.js +4608 -704
  16. package/dist/recog-client-sdk.browser.js.map +7 -1
  17. package/dist/recognition-client.d.ts +119 -0
  18. package/dist/recognition-client.d.ts.map +1 -0
  19. package/dist/recognition-client.types.d.ts +247 -0
  20. package/dist/recognition-client.types.d.ts.map +1 -0
  21. package/dist/simplified-vgf-recognition-client.d.ts +155 -0
  22. package/dist/simplified-vgf-recognition-client.d.ts.map +1 -0
  23. package/dist/utils/audio-ring-buffer.d.ts +69 -0
  24. package/dist/utils/audio-ring-buffer.d.ts.map +1 -0
  25. package/dist/utils/message-handler.d.ts +45 -0
  26. package/dist/utils/message-handler.d.ts.map +1 -0
  27. package/dist/utils/url-builder.d.ts +26 -0
  28. package/dist/utils/url-builder.d.ts.map +1 -0
  29. package/dist/vgf-recognition-mapper.d.ts +53 -0
  30. package/dist/vgf-recognition-mapper.d.ts.map +1 -0
  31. package/dist/vgf-recognition-state.d.ts +81 -0
  32. package/dist/vgf-recognition-state.d.ts.map +1 -0
  33. package/package.json +8 -9
  34. package/src/index.ts +4 -0
  35. package/src/recognition-client.spec.ts +19 -14
  36. package/src/recognition-client.ts +13 -6
  37. package/src/utils/url-builder.spec.ts +5 -3
  38. package/dist/browser-BZs4BL_w.d.ts +0 -1118
@@ -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,129 @@
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 audio utterance ID
54
+ */
55
+ audioUtteranceId(id: string): this;
56
+ /**
57
+ * Set callback URLs
58
+ */
59
+ callbackUrls(urls: RecognitionCallbackUrl[]): this;
60
+ /**
61
+ * Set user ID
62
+ */
63
+ userId(id: string): this;
64
+ /**
65
+ * Set game session ID
66
+ */
67
+ gameSessionId(id: string): this;
68
+ /**
69
+ * Set device ID
70
+ */
71
+ deviceId(id: string): this;
72
+ /**
73
+ * Set account ID
74
+ */
75
+ accountId(id: string): this;
76
+ /**
77
+ * Set question answer ID
78
+ */
79
+ questionAnswerId(id: string): this;
80
+ /**
81
+ * Set platform
82
+ */
83
+ platform(platform: string): this;
84
+ /**
85
+ * Set transcript callback
86
+ */
87
+ onTranscript(callback: (result: TranscriptionResultV1) => void): this;
88
+ /**
89
+ * Set metadata callback
90
+ */
91
+ onMetadata(callback: (metadata: MetadataResultV1) => void): this;
92
+ /**
93
+ * Set error callback
94
+ */
95
+ onError(callback: (error: ErrorResultV1) => void): this;
96
+ /**
97
+ * Set connected callback
98
+ */
99
+ onConnected(callback: () => void): this;
100
+ /**
101
+ * Set disconnected callback
102
+ */
103
+ onDisconnected(callback: (code: number, reason: string) => void): this;
104
+ /**
105
+ * Set high water mark
106
+ */
107
+ highWaterMark(bytes: number): this;
108
+ /**
109
+ * Set low water mark
110
+ */
111
+ lowWaterMark(bytes: number): this;
112
+ /**
113
+ * Set max buffer duration in seconds
114
+ */
115
+ maxBufferDurationSec(seconds: number): this;
116
+ /**
117
+ * Set chunks per second
118
+ */
119
+ chunksPerSecond(chunks: number): this;
120
+ /**
121
+ * Set logger function
122
+ */
123
+ logger(logger: (level: 'debug' | 'info' | 'warn' | 'error', message: string, data?: any) => void): this;
124
+ /**
125
+ * Build the configuration
126
+ */
127
+ build(): RealTimeTwoWayWebSocketRecognitionClientConfig;
128
+ }
129
+ //# 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;;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"}
@@ -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"}