tci-client-node 0.1.1 → 0.2.0

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 (41) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +33 -13
  3. package/dist/audio/index.cjs +63 -20
  4. package/dist/audio/index.cjs.map +1 -1
  5. package/dist/audio/index.d.cts +18 -3
  6. package/dist/audio/index.d.ts +18 -3
  7. package/dist/audio/index.js +63 -20
  8. package/dist/audio/index.js.map +1 -1
  9. package/dist/dialect/index.cjs +331 -0
  10. package/dist/dialect/index.cjs.map +1 -0
  11. package/dist/dialect/index.d.cts +29 -0
  12. package/dist/dialect/index.d.ts +29 -0
  13. package/dist/dialect/index.js +292 -0
  14. package/dist/dialect/index.js.map +1 -0
  15. package/dist/{index-CK3XdXP3.d.cts → index-lbK6NGY4.d.cts} +1 -1
  16. package/dist/{index-Dfmrk2MR.d.ts → index-paj1AOJY.d.ts} +1 -1
  17. package/dist/index.cjs +890 -224
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +54 -12
  20. package/dist/index.d.ts +54 -12
  21. package/dist/index.js +876 -224
  22. package/dist/index.js.map +1 -1
  23. package/dist/protocol/index.cjs.map +1 -1
  24. package/dist/protocol/index.d.cts +1 -1
  25. package/dist/protocol/index.d.ts +1 -1
  26. package/dist/protocol/index.js.map +1 -1
  27. package/dist/testing/index.cjs +77 -25
  28. package/dist/testing/index.cjs.map +1 -1
  29. package/dist/testing/index.d.cts +2 -0
  30. package/dist/testing/index.d.ts +2 -0
  31. package/dist/testing/index.js +77 -25
  32. package/dist/testing/index.js.map +1 -1
  33. package/dist/transport/index.cjs +175 -0
  34. package/dist/transport/index.cjs.map +1 -0
  35. package/dist/transport/index.d.cts +37 -0
  36. package/dist/transport/index.d.ts +37 -0
  37. package/dist/transport/index.js +138 -0
  38. package/dist/transport/index.js.map +1 -0
  39. package/dist/types-9seY9Th-.d.ts +63 -0
  40. package/dist/types-xRotf9gW.d.cts +63 -0
  41. package/package.json +15 -1
package/dist/index.d.cts CHANGED
@@ -1,11 +1,17 @@
1
- import { Q as QueueCommandOptions, T as TciError } from './index-CK3XdXP3.cjs';
2
- export { a as QueuedCommandResult, b as TciCommandMatcher, c as TciCommandQueue, d as TciCommandQueueOptions, e as TciErrorCode, t as toTciError } from './index-CK3XdXP3.cjs';
1
+ import { Q as QueueCommandOptions, T as TciError } from './index-lbK6NGY4.cjs';
2
+ export { a as QueuedCommandResult, b as TciCommandMatcher, c as TciCommandQueue, d as TciCommandQueueOptions, e as TciErrorCode, t as toTciError } from './index-lbK6NGY4.cjs';
3
3
  import { EventEmitter } from 'eventemitter3';
4
4
  import WebSocket from 'ws';
5
5
  import { TciSampleType, TciSampleTypeName, TciStreamFrame, BuildTxAudioFrameOptions } from './audio/index.cjs';
6
- export { BuildStreamFrameOptions, TCI_STREAM_HEADER_BYTES, TciStreamType, buildStreamFrame, buildTxAudioFrame, deinterleaveChannels, float32ToPcm16, mixToMono, normalizeSampleType, normalizeStreamType, parseStreamFrame, payloadToFloat32, pcm16ToFloat32, sampleTypeBytes, sampleTypeName, samplesToPayload } from './audio/index.cjs';
6
+ export { BuildStreamFrameOptions, ParseStreamFrameOptions, TCI_STREAM_HEADER_BYTES, TciStreamType, buildStreamFrame, buildTxAudioFrame, deinterleaveChannels, float32ToPcm16, mixToMono, normalizeSampleType, normalizeStreamType, parseStreamFrame, payloadToFloat32, pcm16ToFloat32, sampleTypeBytes, sampleTypeName, samplesToPayload } from './audio/index.cjs';
7
7
  import { T as TciCommand } from './text-BwCWY1k1.cjs';
8
8
  export { a as TciCommandInput, c as commandKey, e as escapeTciText, f as formatTciCommand, i as isCommandReplyTo, n as normalizeCommandName, p as parseTciCommand, b as parseTciText, u as unescapeTciText } from './text-BwCWY1k1.cjs';
9
+ import { T as TciDialectId, a as TciHandshakeResult, b as TciDialectSelection, c as TciWriteResult } from './types-xRotf9gW.cjs';
10
+ export { B as BuiltInTciDialectId, d as TciDialect, e as TciDialectDetection, f as TciDialectDetectionContext, g as TciDialectScore, h as TciDriveState, i as TciProtocolIdentity, j as TciStreamLengthSemantics } from './types-xRotf9gW.cjs';
11
+ import { TciDialectRegistry } from './dialect/index.cjs';
12
+ export { aetherSdrDialect, assertValidTciHandshake, builtInDialects, compareTciVersion, defaultTciDialectRegistry, expertSdr14Dialect, expertSdrLegacyDialect, expertSdrModernDialect, genericObservedDialect, parseProtocolIdentity, parseTciVersion, thetisDialect } from './dialect/index.cjs';
13
+ import { TciTransportFactory } from './transport/index.cjs';
14
+ export { TciTransport, TciTransportEvents, WebSocketTciTransport } from './transport/index.cjs';
9
15
 
10
16
  interface TciClientOptions {
11
17
  url: string;
@@ -13,12 +19,16 @@ interface TciClientOptions {
13
19
  trx?: number;
14
20
  vfo?: number;
15
21
  connectTimeoutMs?: number;
22
+ handshakeTimeoutMs?: number;
16
23
  commandTimeoutMs?: number;
17
24
  writeAckMode?: TciWriteAckMode;
18
25
  writeTimeoutMs?: number;
19
26
  writeSettleMs?: number;
20
27
  frequencyWriteSettleMs?: number;
28
+ dialect?: TciDialectSelection;
29
+ dialectRegistry?: TciDialectRegistry;
21
30
  WebSocketImpl?: typeof WebSocket;
31
+ transportFactory?: TciTransportFactory;
22
32
  }
23
33
  interface TciAudioConfig {
24
34
  sampleRate: 8_000 | 12_000 | 24_000 | 48_000 | number;
@@ -47,11 +57,17 @@ interface TciTxChronoRequest {
47
57
  channels: number;
48
58
  sampleType: TciSampleType;
49
59
  sampleCount: number;
60
+ frameCount: number;
50
61
  }
51
62
  interface TciClientState {
52
63
  connected: boolean;
53
64
  ready: boolean;
54
65
  protocol?: string;
66
+ protocolName?: string;
67
+ protocolVersion?: string;
68
+ dialectId?: TciDialectId;
69
+ dialectConfidence?: TciHandshakeResult['dialect']['confidence'];
70
+ dialectWarnings: string[];
55
71
  device?: string;
56
72
  receiveOnly?: boolean;
57
73
  trxCount?: number;
@@ -65,6 +81,7 @@ interface TciClientState {
65
81
  pttSource: Record<string, string | undefined>;
66
82
  tune: Record<string, boolean>;
67
83
  drive: Record<string, number>;
84
+ tuneDrive: Record<string, number>;
68
85
  split: Record<string, boolean>;
69
86
  rxSensors: Record<string, Record<string, number | string | boolean>>;
70
87
  txSensors: Record<string, Record<string, number | string | boolean>>;
@@ -77,6 +94,7 @@ interface TciClientEvents {
77
94
  connected: () => void;
78
95
  disconnected: (reason?: unknown) => void;
79
96
  ready: (state: TciClientState) => void;
97
+ handshake: (result: TciHandshakeResult) => void;
80
98
  state: (state: TciClientState) => void;
81
99
  command: (command: TciCommand) => void;
82
100
  binary: (frame: TciStreamFrame) => void;
@@ -92,16 +110,27 @@ interface SendCommandOptions extends QueueCommandOptions {
92
110
  waitForReply?: boolean;
93
111
  }
94
112
  declare class TciClient extends EventEmitter<TciClientEvents> {
95
- readonly options: Required<Pick<TciClientOptions, 'receiver' | 'trx' | 'vfo' | 'connectTimeoutMs' | 'commandTimeoutMs' | 'writeAckMode' | 'writeTimeoutMs' | 'writeSettleMs' | 'frequencyWriteSettleMs'>> & Pick<TciClientOptions, 'url'>;
113
+ readonly options: Required<Pick<TciClientOptions, 'receiver' | 'trx' | 'vfo' | 'connectTimeoutMs' | 'handshakeTimeoutMs' | 'commandTimeoutMs' | 'writeAckMode' | 'writeTimeoutMs' | 'writeSettleMs' | 'frequencyWriteSettleMs'>> & Pick<TciClientOptions, 'url'> & {
114
+ dialect: TciDialectSelection;
115
+ };
96
116
  private readonly WebSocketImpl;
97
- private ws?;
117
+ private readonly transportFactory;
118
+ private transport?;
98
119
  private readonly queue;
99
120
  private readonly state;
121
+ private readonly stateReducers;
122
+ private readonly dialectRegistry;
123
+ private activeDialect?;
124
+ private handshakeResult?;
125
+ private handshakeError?;
126
+ private initializationCommands;
127
+ private handshakeWaiter?;
100
128
  constructor(options: TciClientOptions);
101
- connect(): Promise<void>;
129
+ connect(): Promise<TciHandshakeResult>;
102
130
  disconnect(code?: number, reason?: string): Promise<void>;
103
131
  isConnected(): boolean;
104
132
  getState(): TciClientState;
133
+ getHandshakeResult(): TciHandshakeResult | undefined;
105
134
  sendCommand(name: string, args?: readonly unknown[], options?: SendCommandOptions): Promise<TciCommand | undefined>;
106
135
  request(name: string, args?: readonly unknown[], options?: QueueCommandOptions): Promise<TciCommand>;
107
136
  sendStateWrite(name: string, args: readonly unknown[], isApplied: (state: TciClientState) => boolean, description?: string, options?: TciWriteOptions): Promise<void>;
@@ -111,31 +140,44 @@ declare class TciClient extends EventEmitter<TciClientEvents> {
111
140
  getMode(receiver?: number): Promise<string | undefined>;
112
141
  setPtt(enabled: boolean, options?: TciPttOptions): Promise<void>;
113
142
  getPtt(trx?: number): Promise<boolean | undefined>;
114
- setTune(enabled: boolean, trx?: number): Promise<void>;
143
+ setTune(enabled: boolean, trx?: number, options?: TciWriteOptions): Promise<void>;
115
144
  setDrive(value: number, trx?: number): Promise<void>;
116
- setSplit(enabled: boolean, trx?: number): Promise<void>;
145
+ setDriveWithResult(value: number, trx?: number, options?: TciWriteOptions): Promise<TciWriteResult<number>>;
146
+ getDrive(trx?: number): Promise<number | undefined>;
147
+ setTuneDrive(value: number, trx?: number, options?: TciWriteOptions): Promise<TciWriteResult<number>>;
148
+ getTuneDrive(trx?: number): Promise<number | undefined>;
149
+ setSplit(enabled: boolean, trx?: number, options?: TciWriteOptions): Promise<void>;
117
150
  configureAudio(config: TciAudioConfig): Promise<void>;
118
151
  startAudio(receiver?: number): Promise<void>;
119
152
  stopAudio(receiver?: number): Promise<void>;
120
153
  sendTxAudio(options: BuildTxAudioFrameOptions): void;
154
+ sendTxAudioForChrono(request: TciTxChronoRequest, samples: Float32Array | readonly number[]): void;
121
155
  setRxSensorsEnabled(enabled: boolean, intervalMs?: number): Promise<void>;
122
156
  setTxSensorsEnabled(enabled: boolean, intervalMs?: number): Promise<void>;
123
157
  sendCwMacro(index: number): Promise<void>;
124
158
  sendCwMessage(message: string): Promise<void>;
125
159
  stopCw(): Promise<void>;
126
160
  private waitForState;
127
- private waitForOpen;
128
- private attachSocket;
161
+ private waitForCommand;
162
+ private resetHandshake;
163
+ private waitForHandshake;
164
+ private finalizeHandshake;
165
+ private rejectHandshake;
166
+ private requireDialect;
167
+ private attachTransport;
129
168
  private sendRaw;
130
169
  private sendRawBinary;
131
- private handleMessage;
170
+ private handleText;
132
171
  private handleBinary;
133
172
  private applyCommand;
173
+ private createStateReducers;
134
174
  private applyVfo;
135
175
  private applyModulation;
136
176
  private applyTrx;
137
177
  private applyBooleanByFirstArg;
138
178
  private applyDrive;
179
+ private applyTuneDrive;
180
+ private updateAudioState;
139
181
  private applyRxChannelSensors;
140
182
  private applyRxSensors;
141
183
  private applyTxSensors;
@@ -145,4 +187,4 @@ declare class TciClient extends EventEmitter<TciClientEvents> {
145
187
  }
146
188
  declare function createTciClient(options: TciClientOptions): TciClient;
147
189
 
148
- export { BuildTxAudioFrameOptions, QueueCommandOptions, type SendCommandOptions, type TciAudioConfig, TciClient, type TciClientEvents, type TciClientOptions, type TciClientState, TciCommand, TciError, type TciPttOptions, TciSampleType, TciSampleTypeName, TciStreamFrame, type TciTxChronoRequest, type TciWriteAckMode, type TciWriteOptions, createTciClient };
190
+ export { BuildTxAudioFrameOptions, QueueCommandOptions, type SendCommandOptions, type TciAudioConfig, TciClient, type TciClientEvents, type TciClientOptions, type TciClientState, TciCommand, TciDialectId, TciDialectRegistry, TciDialectSelection, TciError, TciHandshakeResult, type TciPttOptions, TciSampleType, TciSampleTypeName, TciStreamFrame, TciTransportFactory, type TciTxChronoRequest, type TciWriteAckMode, type TciWriteOptions, TciWriteResult, createTciClient };
package/dist/index.d.ts CHANGED
@@ -1,11 +1,17 @@
1
- import { Q as QueueCommandOptions, T as TciError } from './index-Dfmrk2MR.js';
2
- export { a as QueuedCommandResult, b as TciCommandMatcher, c as TciCommandQueue, d as TciCommandQueueOptions, e as TciErrorCode, t as toTciError } from './index-Dfmrk2MR.js';
1
+ import { Q as QueueCommandOptions, T as TciError } from './index-paj1AOJY.js';
2
+ export { a as QueuedCommandResult, b as TciCommandMatcher, c as TciCommandQueue, d as TciCommandQueueOptions, e as TciErrorCode, t as toTciError } from './index-paj1AOJY.js';
3
3
  import { EventEmitter } from 'eventemitter3';
4
4
  import WebSocket from 'ws';
5
5
  import { TciSampleType, TciSampleTypeName, TciStreamFrame, BuildTxAudioFrameOptions } from './audio/index.js';
6
- export { BuildStreamFrameOptions, TCI_STREAM_HEADER_BYTES, TciStreamType, buildStreamFrame, buildTxAudioFrame, deinterleaveChannels, float32ToPcm16, mixToMono, normalizeSampleType, normalizeStreamType, parseStreamFrame, payloadToFloat32, pcm16ToFloat32, sampleTypeBytes, sampleTypeName, samplesToPayload } from './audio/index.js';
6
+ export { BuildStreamFrameOptions, ParseStreamFrameOptions, TCI_STREAM_HEADER_BYTES, TciStreamType, buildStreamFrame, buildTxAudioFrame, deinterleaveChannels, float32ToPcm16, mixToMono, normalizeSampleType, normalizeStreamType, parseStreamFrame, payloadToFloat32, pcm16ToFloat32, sampleTypeBytes, sampleTypeName, samplesToPayload } from './audio/index.js';
7
7
  import { T as TciCommand } from './text-BwCWY1k1.js';
8
8
  export { a as TciCommandInput, c as commandKey, e as escapeTciText, f as formatTciCommand, i as isCommandReplyTo, n as normalizeCommandName, p as parseTciCommand, b as parseTciText, u as unescapeTciText } from './text-BwCWY1k1.js';
9
+ import { T as TciDialectId, a as TciHandshakeResult, b as TciDialectSelection, c as TciWriteResult } from './types-9seY9Th-.js';
10
+ export { B as BuiltInTciDialectId, d as TciDialect, e as TciDialectDetection, f as TciDialectDetectionContext, g as TciDialectScore, h as TciDriveState, i as TciProtocolIdentity, j as TciStreamLengthSemantics } from './types-9seY9Th-.js';
11
+ import { TciDialectRegistry } from './dialect/index.js';
12
+ export { aetherSdrDialect, assertValidTciHandshake, builtInDialects, compareTciVersion, defaultTciDialectRegistry, expertSdr14Dialect, expertSdrLegacyDialect, expertSdrModernDialect, genericObservedDialect, parseProtocolIdentity, parseTciVersion, thetisDialect } from './dialect/index.js';
13
+ import { TciTransportFactory } from './transport/index.js';
14
+ export { TciTransport, TciTransportEvents, WebSocketTciTransport } from './transport/index.js';
9
15
 
10
16
  interface TciClientOptions {
11
17
  url: string;
@@ -13,12 +19,16 @@ interface TciClientOptions {
13
19
  trx?: number;
14
20
  vfo?: number;
15
21
  connectTimeoutMs?: number;
22
+ handshakeTimeoutMs?: number;
16
23
  commandTimeoutMs?: number;
17
24
  writeAckMode?: TciWriteAckMode;
18
25
  writeTimeoutMs?: number;
19
26
  writeSettleMs?: number;
20
27
  frequencyWriteSettleMs?: number;
28
+ dialect?: TciDialectSelection;
29
+ dialectRegistry?: TciDialectRegistry;
21
30
  WebSocketImpl?: typeof WebSocket;
31
+ transportFactory?: TciTransportFactory;
22
32
  }
23
33
  interface TciAudioConfig {
24
34
  sampleRate: 8_000 | 12_000 | 24_000 | 48_000 | number;
@@ -47,11 +57,17 @@ interface TciTxChronoRequest {
47
57
  channels: number;
48
58
  sampleType: TciSampleType;
49
59
  sampleCount: number;
60
+ frameCount: number;
50
61
  }
51
62
  interface TciClientState {
52
63
  connected: boolean;
53
64
  ready: boolean;
54
65
  protocol?: string;
66
+ protocolName?: string;
67
+ protocolVersion?: string;
68
+ dialectId?: TciDialectId;
69
+ dialectConfidence?: TciHandshakeResult['dialect']['confidence'];
70
+ dialectWarnings: string[];
55
71
  device?: string;
56
72
  receiveOnly?: boolean;
57
73
  trxCount?: number;
@@ -65,6 +81,7 @@ interface TciClientState {
65
81
  pttSource: Record<string, string | undefined>;
66
82
  tune: Record<string, boolean>;
67
83
  drive: Record<string, number>;
84
+ tuneDrive: Record<string, number>;
68
85
  split: Record<string, boolean>;
69
86
  rxSensors: Record<string, Record<string, number | string | boolean>>;
70
87
  txSensors: Record<string, Record<string, number | string | boolean>>;
@@ -77,6 +94,7 @@ interface TciClientEvents {
77
94
  connected: () => void;
78
95
  disconnected: (reason?: unknown) => void;
79
96
  ready: (state: TciClientState) => void;
97
+ handshake: (result: TciHandshakeResult) => void;
80
98
  state: (state: TciClientState) => void;
81
99
  command: (command: TciCommand) => void;
82
100
  binary: (frame: TciStreamFrame) => void;
@@ -92,16 +110,27 @@ interface SendCommandOptions extends QueueCommandOptions {
92
110
  waitForReply?: boolean;
93
111
  }
94
112
  declare class TciClient extends EventEmitter<TciClientEvents> {
95
- readonly options: Required<Pick<TciClientOptions, 'receiver' | 'trx' | 'vfo' | 'connectTimeoutMs' | 'commandTimeoutMs' | 'writeAckMode' | 'writeTimeoutMs' | 'writeSettleMs' | 'frequencyWriteSettleMs'>> & Pick<TciClientOptions, 'url'>;
113
+ readonly options: Required<Pick<TciClientOptions, 'receiver' | 'trx' | 'vfo' | 'connectTimeoutMs' | 'handshakeTimeoutMs' | 'commandTimeoutMs' | 'writeAckMode' | 'writeTimeoutMs' | 'writeSettleMs' | 'frequencyWriteSettleMs'>> & Pick<TciClientOptions, 'url'> & {
114
+ dialect: TciDialectSelection;
115
+ };
96
116
  private readonly WebSocketImpl;
97
- private ws?;
117
+ private readonly transportFactory;
118
+ private transport?;
98
119
  private readonly queue;
99
120
  private readonly state;
121
+ private readonly stateReducers;
122
+ private readonly dialectRegistry;
123
+ private activeDialect?;
124
+ private handshakeResult?;
125
+ private handshakeError?;
126
+ private initializationCommands;
127
+ private handshakeWaiter?;
100
128
  constructor(options: TciClientOptions);
101
- connect(): Promise<void>;
129
+ connect(): Promise<TciHandshakeResult>;
102
130
  disconnect(code?: number, reason?: string): Promise<void>;
103
131
  isConnected(): boolean;
104
132
  getState(): TciClientState;
133
+ getHandshakeResult(): TciHandshakeResult | undefined;
105
134
  sendCommand(name: string, args?: readonly unknown[], options?: SendCommandOptions): Promise<TciCommand | undefined>;
106
135
  request(name: string, args?: readonly unknown[], options?: QueueCommandOptions): Promise<TciCommand>;
107
136
  sendStateWrite(name: string, args: readonly unknown[], isApplied: (state: TciClientState) => boolean, description?: string, options?: TciWriteOptions): Promise<void>;
@@ -111,31 +140,44 @@ declare class TciClient extends EventEmitter<TciClientEvents> {
111
140
  getMode(receiver?: number): Promise<string | undefined>;
112
141
  setPtt(enabled: boolean, options?: TciPttOptions): Promise<void>;
113
142
  getPtt(trx?: number): Promise<boolean | undefined>;
114
- setTune(enabled: boolean, trx?: number): Promise<void>;
143
+ setTune(enabled: boolean, trx?: number, options?: TciWriteOptions): Promise<void>;
115
144
  setDrive(value: number, trx?: number): Promise<void>;
116
- setSplit(enabled: boolean, trx?: number): Promise<void>;
145
+ setDriveWithResult(value: number, trx?: number, options?: TciWriteOptions): Promise<TciWriteResult<number>>;
146
+ getDrive(trx?: number): Promise<number | undefined>;
147
+ setTuneDrive(value: number, trx?: number, options?: TciWriteOptions): Promise<TciWriteResult<number>>;
148
+ getTuneDrive(trx?: number): Promise<number | undefined>;
149
+ setSplit(enabled: boolean, trx?: number, options?: TciWriteOptions): Promise<void>;
117
150
  configureAudio(config: TciAudioConfig): Promise<void>;
118
151
  startAudio(receiver?: number): Promise<void>;
119
152
  stopAudio(receiver?: number): Promise<void>;
120
153
  sendTxAudio(options: BuildTxAudioFrameOptions): void;
154
+ sendTxAudioForChrono(request: TciTxChronoRequest, samples: Float32Array | readonly number[]): void;
121
155
  setRxSensorsEnabled(enabled: boolean, intervalMs?: number): Promise<void>;
122
156
  setTxSensorsEnabled(enabled: boolean, intervalMs?: number): Promise<void>;
123
157
  sendCwMacro(index: number): Promise<void>;
124
158
  sendCwMessage(message: string): Promise<void>;
125
159
  stopCw(): Promise<void>;
126
160
  private waitForState;
127
- private waitForOpen;
128
- private attachSocket;
161
+ private waitForCommand;
162
+ private resetHandshake;
163
+ private waitForHandshake;
164
+ private finalizeHandshake;
165
+ private rejectHandshake;
166
+ private requireDialect;
167
+ private attachTransport;
129
168
  private sendRaw;
130
169
  private sendRawBinary;
131
- private handleMessage;
170
+ private handleText;
132
171
  private handleBinary;
133
172
  private applyCommand;
173
+ private createStateReducers;
134
174
  private applyVfo;
135
175
  private applyModulation;
136
176
  private applyTrx;
137
177
  private applyBooleanByFirstArg;
138
178
  private applyDrive;
179
+ private applyTuneDrive;
180
+ private updateAudioState;
139
181
  private applyRxChannelSensors;
140
182
  private applyRxSensors;
141
183
  private applyTxSensors;
@@ -145,4 +187,4 @@ declare class TciClient extends EventEmitter<TciClientEvents> {
145
187
  }
146
188
  declare function createTciClient(options: TciClientOptions): TciClient;
147
189
 
148
- export { BuildTxAudioFrameOptions, QueueCommandOptions, type SendCommandOptions, type TciAudioConfig, TciClient, type TciClientEvents, type TciClientOptions, type TciClientState, TciCommand, TciError, type TciPttOptions, TciSampleType, TciSampleTypeName, TciStreamFrame, type TciTxChronoRequest, type TciWriteAckMode, type TciWriteOptions, createTciClient };
190
+ export { BuildTxAudioFrameOptions, QueueCommandOptions, type SendCommandOptions, type TciAudioConfig, TciClient, type TciClientEvents, type TciClientOptions, type TciClientState, TciCommand, TciDialectId, TciDialectRegistry, TciDialectSelection, TciError, TciHandshakeResult, type TciPttOptions, TciSampleType, TciSampleTypeName, TciStreamFrame, TciTransportFactory, type TciTxChronoRequest, type TciWriteAckMode, type TciWriteOptions, TciWriteResult, createTciClient };