@bobfrankston/lxlan 0.1.7 → 0.1.9

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/.hintrc ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "extends": [
3
+ "development"
4
+ ],
5
+ "browserslist": [
6
+ "defaults",
7
+ "not ie 11",
8
+ "not ios_saf <= 15.8"
9
+ ],
10
+ "hints": {
11
+ "compat-api/html": [
12
+ "default",
13
+ {
14
+ "ignore": [
15
+ "meta[name=theme-color]"
16
+ ]
17
+ }
18
+ ]
19
+ }
20
+ }
package/README.md ADDED
@@ -0,0 +1,159 @@
1
+ # @bobfrankston/lxlan
2
+
3
+ Core LIFX LAN protocol library. Transport-agnostic implementation of the LIFX LAN protocol for controlling LIFX devices over local networks.
4
+
5
+ ## Purpose
6
+
7
+ This package provides the **protocol-level implementation** for LIFX device control. It knows:
8
+ - ✅ LIFX protocol messages (SetPower, SetColor, GetState, etc.)
9
+ - ✅ Message encoding/decoding (binary packet format)
10
+ - ✅ Device state management (power, color, label, etc.)
11
+ - ✅ Event emission patterns (device discovery, state updates)
12
+
13
+ It does **NOT** know:
14
+ - ❌ How to send UDP packets (no Node.js dgram)
15
+ - ❌ How to open WebSockets (no browser APIs)
16
+ - ❌ Any specific transport implementation
17
+
18
+ ## Architecture Factoring
19
+
20
+ ```
21
+ ┌─────────────────────────────────────────────────┐
22
+ │ Application (your code) │
23
+ ├─────────────────────────────────────────────────┤
24
+ │ @bobfrankston/lxlan (this package) │
25
+ │ • LxClient - device discovery & management │
26
+ │ • LxDevice - individual device control │
27
+ │ • LxProtocol - message encode/decode │
28
+ │ • LxTransport - INTERFACE ONLY │
29
+ ├─────────────────────────────────────────────────┤
30
+ │ Transport Implementation (pick one): │
31
+ │ • @bobfrankston/lxlan-node → rmfudp │
32
+ │ • @bobfrankston/lxlan-browser → httpudp-client│
33
+ └─────────────────────────────────────────────────┘
34
+ ```
35
+
36
+ ## Transport Abstraction
37
+
38
+ The package exports `LxTransport` interface that must be implemented by transport layers:
39
+
40
+ ```typescript
41
+ export interface LxTransport {
42
+ bind(): Promise<void>;
43
+ close(): void;
44
+ send(ip: string, port: number, data: Buffer): void;
45
+ broadcast(data: Buffer, port: number, addresses: string[]): void;
46
+ onMessage(handler: (data: Buffer, rinfo: RemoteInfo) => void): void;
47
+ onError(handler: (err: Error) => void): void;
48
+ }
49
+ ```
50
+
51
+ **Implementations:**
52
+ - **Node.js**: `@bobfrankston/lxlan-node` provides `rmfudp`-based transport
53
+ - **Browser**: `@bobfrankston/lxlan-browser` provides `httpudp-client`-based transport
54
+
55
+ ## Installation
56
+
57
+ This package is typically installed as a dependency of the platform-specific wrappers:
58
+
59
+ ```bash
60
+ # For Node.js projects
61
+ npm install @bobfrankston/lxlan-node
62
+
63
+ # For browser projects
64
+ npm install @bobfrankston/lxlan-browser
65
+ ```
66
+
67
+ Direct usage (if providing your own transport):
68
+
69
+ ```bash
70
+ npm install @bobfrankston/lxlan
71
+ ```
72
+
73
+ ## Direct Usage (Advanced)
74
+
75
+ If you're implementing your own transport:
76
+
77
+ ```typescript
78
+ import { LxClient } from '@bobfrankston/lxlan';
79
+ import { MyCustomTransport } from './my-transport';
80
+
81
+ const transport = new MyCustomTransport();
82
+ const client = new LxClient({ transport });
83
+
84
+ await client.start();
85
+
86
+ client.on('device', (device) => {
87
+ console.log('Found:', device.label);
88
+ device.setPower(true);
89
+ device.setColor({ h: 120, s: 100, b: 50 });
90
+ });
91
+ ```
92
+
93
+ ## Features
94
+
95
+ - 🎯 Full LIFX LAN protocol support
96
+ - 🔍 Automatic device discovery
97
+ - 🎨 Color control (HSB, RGB, Kelvin)
98
+ - 💡 Power control
99
+ - 📊 Device state caching
100
+ - 📡 Event-driven architecture
101
+ - 🔄 Automatic retry with configurable timeouts
102
+ - 📝 Comprehensive device info (firmware, WiFi, uptime)
103
+
104
+ ## Device Control
105
+
106
+ ```typescript
107
+ // Power control
108
+ device.setPower(true);
109
+ device.setPower(false);
110
+
111
+ // Color control
112
+ device.setColor({ h: 180, s: 100, b: 75 }); // HSB
113
+ device.setColor({ r: 255, g: 0, b: 0 }); // RGB
114
+ device.setColor({ kelvin: 3500 }); // White temperature
115
+
116
+ // Get comprehensive device info
117
+ device.getDeviceInfo(); // Triggers 'deviceInfo' event
118
+
119
+ // State queries
120
+ console.log(device.label, device.power, device.color);
121
+ ```
122
+
123
+ ## Events
124
+
125
+ ```typescript
126
+ client.on('device', (device) => {
127
+ // New device discovered
128
+ });
129
+
130
+ client.on('state', (device) => {
131
+ // Device state updated
132
+ });
133
+
134
+ client.on('deviceInfo', (device) => {
135
+ // Complete device info received (firmware, signal, uptime)
136
+ console.log(device.firmwareVersion, device.signal, device.uptime);
137
+ });
138
+ ```
139
+
140
+ ## Dependencies
141
+
142
+ - `@bobfrankston/colorlib` - Color space conversions (HSB ↔ RGB ↔ Kelvin)
143
+
144
+ ## Related Packages
145
+
146
+ - **[@bobfrankston/lxlan-node](../lxlan-node)** - Node.js transport wrapper
147
+ - **[@bobfrankston/lxlan-browser](../lxlan-browser)** - Browser transport wrapper
148
+ - **[@bobfrankston/rmfudp](../../../../utils/udp/rmfudp)** - Node.js UDP transport
149
+ - **[@bobfrankston/httpudp-client](../../../../utils/udp/httpudp-client)** - Browser WebSocket UDP client
150
+ - **[@bobfrankston/httpudp](../../../../utils/udp/httpudp)** - WebSocket-to-UDP proxy server
151
+ - **[@bobfrankston/colorlib](../../../../utils/colorlib)** - Color utilities
152
+
153
+ ## TypeScript Configuration
154
+
155
+ This package uses `strictNullChecks: false` - undefined is treated as a first-class value throughout the codebase.
156
+
157
+ ## License
158
+
159
+ MIT
package/client.d.ts CHANGED
@@ -7,8 +7,6 @@ import { LxDevice } from './device.js';
7
7
  export interface LxClientOptions {
8
8
  /** Transport layer implementation (required) */
9
9
  transport: LxTransport;
10
- /** Broadcast addresses for discovery */
11
- broadcastAddresses: string[];
12
10
  /** Event emitter implementation (required - use Node EventEmitter or browser equivalent) */
13
11
  eventEmitter: LxEventEmitter;
14
12
  /** LIFX port (default 56700) */
@@ -40,7 +38,6 @@ export declare class LxClient {
40
38
  private emitter;
41
39
  private transport;
42
40
  private port;
43
- private broadcastAddresses;
44
41
  private discoveryTimer?;
45
42
  /** Cached devices by MAC address (lowercase) */
46
43
  devices: Map<string, LxDevice>;
package/client.js CHANGED
@@ -26,7 +26,6 @@ export class LxClient {
26
26
  emitter;
27
27
  transport;
28
28
  port;
29
- broadcastAddresses;
30
29
  discoveryTimer; // NodeJS.Timeout in Node, number in browser
31
30
  /** Cached devices by MAC address (lowercase) */
32
31
  devices = new Map();
@@ -34,9 +33,10 @@ export class LxClient {
34
33
  this.emitter = options.eventEmitter;
35
34
  this.transport = options.transport;
36
35
  this.port = options.port ?? LIFX_PORT;
37
- this.broadcastAddresses = options.broadcastAddresses;
38
36
  this.transport.onMessage((data, rinfo) => {
39
- this.handleMessage(data, rinfo.address, rinfo.port);
37
+ // Ensure data is Uint8Array for protocol decoder
38
+ const buf = data instanceof Uint8Array ? data : new Uint8Array(data);
39
+ this.handleMessage(buf, rinfo.address, rinfo.port);
40
40
  });
41
41
  this.transport.onError((err) => {
42
42
  this.emitter.emit('error', err);
@@ -80,7 +80,7 @@ export class LxClient {
80
80
  type: MessageType.GetService,
81
81
  tagged: true
82
82
  });
83
- this.transport.broadcast(msg, this.port, this.broadcastAddresses);
83
+ this.transport.broadcast(msg, this.port);
84
84
  }
85
85
  /**
86
86
  * Get device by MAC address
@@ -152,6 +152,7 @@ export class LxClient {
152
152
  case MessageType.StateService: {
153
153
  const info = decodeStateService(msg.payload);
154
154
  device.port = info.port;
155
+ device.markResponseReceived(MessageType.GetService);
155
156
  break;
156
157
  }
157
158
  case MessageType.State: {
@@ -159,16 +160,23 @@ export class LxClient {
159
160
  device.color = hsbk16ToHsbk(state.hsbk);
160
161
  device.power = state.power > 0;
161
162
  device.label = state.label;
163
+ device.markResponseReceived(MessageType.Get);
164
+ // State messages also respond to SetPower and SetColor
165
+ device.markResponseReceived(MessageType.SetPower);
166
+ device.markResponseReceived(MessageType.SetColor);
162
167
  this.emit('state', device);
163
168
  break;
164
169
  }
165
170
  case MessageType.StatePower: {
166
171
  device.power = decodeStatePower(msg.payload);
172
+ device.markResponseReceived(MessageType.GetPower);
173
+ device.markResponseReceived(MessageType.SetPower);
167
174
  this.emit('power', device);
168
175
  break;
169
176
  }
170
177
  case MessageType.StateLabel: {
171
178
  device.label = decodeStateLabel(msg.payload);
179
+ device.markResponseReceived(MessageType.GetLabel);
172
180
  this.emit('label', device);
173
181
  break;
174
182
  }
@@ -176,16 +184,19 @@ export class LxClient {
176
184
  const ver = decodeStateVersion(msg.payload);
177
185
  device.vendor = ver.vendor;
178
186
  device.product = ver.product;
187
+ device.markResponseReceived(MessageType.GetVersion);
179
188
  this.emit('version', device);
180
189
  break;
181
190
  }
182
191
  case MessageType.StateGroup: {
183
192
  device.group = decodeStateGroup(msg.payload);
193
+ device.markResponseReceived(MessageType.GetGroup);
184
194
  this.emit('group', device);
185
195
  break;
186
196
  }
187
197
  case MessageType.StateLocation: {
188
198
  device.location = decodeStateGroup(msg.payload);
199
+ device.markResponseReceived(MessageType.GetLocation);
189
200
  this.emit('location', device);
190
201
  break;
191
202
  }
@@ -193,6 +204,7 @@ export class LxClient {
193
204
  const info = decodeStateHostInfo(msg.payload);
194
205
  device.signal = info.signal;
195
206
  device.rssi = Math.round(10 * Math.log10(info.signal));
207
+ device.markResponseReceived(MessageType.GetHostInfo);
196
208
  this.emit('hostInfo', device);
197
209
  this.checkDeviceInfoComplete(device);
198
210
  break;
@@ -200,6 +212,7 @@ export class LxClient {
200
212
  case MessageType.StateHostFirmware: {
201
213
  const fw = decodeStateHostFirmware(msg.payload);
202
214
  device.firmwareVersion = fw.version;
215
+ device.markResponseReceived(MessageType.GetHostFirmware);
203
216
  this.emit('hostFirmware', device);
204
217
  this.checkDeviceInfoComplete(device);
205
218
  break;
@@ -208,6 +221,7 @@ export class LxClient {
208
221
  const info = decodeStateWifiInfo(msg.payload);
209
222
  device.signal = info.signal;
210
223
  device.rssi = Math.round(10 * Math.log10(info.signal));
224
+ device.markResponseReceived(MessageType.GetWifiInfo);
211
225
  this.emit('wifiInfo', device);
212
226
  this.checkDeviceInfoComplete(device);
213
227
  break;
@@ -216,6 +230,7 @@ export class LxClient {
216
230
  const info = decodeStateInfo(msg.payload);
217
231
  device.uptime = info.uptime;
218
232
  device.downtime = info.downtime;
233
+ device.markResponseReceived(MessageType.GetInfo);
219
234
  this.emit('info', device);
220
235
  this.checkDeviceInfoComplete(device);
221
236
  break;
package/device.d.ts CHANGED
@@ -47,6 +47,10 @@ export declare class LxDevice {
47
47
  /** Recent message sequences for deduplication (sequence -> timestamp) */
48
48
  private recentSequences;
49
49
  private transport?;
50
+ /** Pending requests awaiting responses (message type -> timeout) */
51
+ private pendingRequests;
52
+ /** Default timeout for requests in milliseconds */
53
+ private requestTimeout;
50
54
  /**
51
55
  * Create a LIFX device
52
56
  *
@@ -69,8 +73,18 @@ export declare class LxDevice {
69
73
  setTransport(transport: LxTransport): void;
70
74
  /** Send raw message to device */
71
75
  send(type: number, payload?: Buffer): void;
76
+ /** Start tracking a request with timeout */
77
+ private startRequestTimeout;
78
+ /** Clear request timeout when response received */
79
+ private clearRequestTimeout;
72
80
  /** Set power on/off */
73
81
  setPower(on: boolean): void;
82
+ /**
83
+ * Set brightness while keeping current color
84
+ * @param brightness - Brightness 0-100
85
+ * @param duration - Transition time in milliseconds (default 0)
86
+ */
87
+ setBrightness(brightness: number, duration?: number): void;
74
88
  /**
75
89
  * Set color - accepts flexible input formats
76
90
  * @param color - Color as hex "#ff0000", RGB {r,g,b}, HSL {h,s,l}, HSB {h,s,b}, HSBK {h,s,b,k}, or Kelvin number
@@ -118,6 +132,8 @@ export declare class LxDevice {
118
132
  getDeviceInfo(): void;
119
133
  /** Update last seen timestamp and online status */
120
134
  markSeen(): void;
135
+ /** Notify that a response was received for a message type */
136
+ markResponseReceived(messageType: number): void;
121
137
  /**
122
138
  * Check if message is a duplicate based on sequence number.
123
139
  * LIFX devices sometimes send duplicate responses.
package/device.js CHANGED
@@ -47,6 +47,10 @@ export class LxDevice {
47
47
  /** Recent message sequences for deduplication (sequence -> timestamp) */
48
48
  recentSequences = new Map();
49
49
  transport;
50
+ /** Pending requests awaiting responses (message type -> timeout) */
51
+ pendingRequests = new Map();
52
+ /** Default timeout for requests in milliseconds */
53
+ requestTimeout = 1000;
50
54
  /**
51
55
  * Create a LIFX device
52
56
  *
@@ -92,6 +96,27 @@ export class LxDevice {
92
96
  resRequired: true
93
97
  });
94
98
  this.transport.send(this.ip, this.port, msg);
99
+ // Track this request with a timeout
100
+ this.startRequestTimeout(type);
101
+ }
102
+ /** Start tracking a request with timeout */
103
+ startRequestTimeout(messageType) {
104
+ // Clear any existing timeout for this message type
105
+ this.clearRequestTimeout(messageType);
106
+ // Set new timeout
107
+ const timeout = setTimeout(() => {
108
+ this.online = false;
109
+ this.pendingRequests.delete(messageType);
110
+ }, this.requestTimeout);
111
+ this.pendingRequests.set(messageType, timeout);
112
+ }
113
+ /** Clear request timeout when response received */
114
+ clearRequestTimeout(messageType) {
115
+ const timeout = this.pendingRequests.get(messageType);
116
+ if (timeout) {
117
+ clearTimeout(timeout);
118
+ this.pendingRequests.delete(messageType);
119
+ }
95
120
  }
96
121
  /** Set power on/off */
97
122
  setPower(on) {
@@ -103,6 +128,19 @@ export class LxDevice {
103
128
  ackRequired: true
104
129
  });
105
130
  this.transport.send(this.ip, this.port, msg);
131
+ // Track this request with a timeout
132
+ this.startRequestTimeout(MessageType.SetPower);
133
+ }
134
+ /**
135
+ * Set brightness while keeping current color
136
+ * @param brightness - Brightness 0-100
137
+ * @param duration - Transition time in milliseconds (default 0)
138
+ */
139
+ setBrightness(brightness, duration = 0) {
140
+ this.requireTransport();
141
+ // Keep current hue/saturation/kelvin, just change brightness
142
+ const newColor = { ...this.color, b: brightness };
143
+ this.setColor(newColor, duration);
106
144
  }
107
145
  /**
108
146
  * Set color - accepts flexible input formats
@@ -120,6 +158,8 @@ export class LxDevice {
120
158
  ackRequired: true
121
159
  });
122
160
  this.transport.send(this.ip, this.port, msg);
161
+ // Track this request with a timeout
162
+ this.startRequestTimeout(MessageType.SetColor);
123
163
  }
124
164
  /**
125
165
  * Set white color temperature
@@ -140,7 +180,6 @@ export class LxDevice {
140
180
  }
141
181
  /** Set label */
142
182
  setLabel(label) {
143
- this.requireTransport();
144
183
  const msg = encodeMessage({
145
184
  type: MessageType.SetLabel,
146
185
  target: this.mac,
@@ -155,7 +194,6 @@ export class LxDevice {
155
194
  }
156
195
  /** Set group */
157
196
  setGroup(id, label) {
158
- this.requireTransport();
159
197
  const msg = encodeMessage({
160
198
  type: MessageType.SetGroup,
161
199
  target: this.mac,
@@ -170,7 +208,6 @@ export class LxDevice {
170
208
  }
171
209
  /** Set location */
172
210
  setLocation(id, label) {
173
- this.requireTransport();
174
211
  const msg = encodeMessage({
175
212
  type: MessageType.SetLocation,
176
213
  target: this.mac,
@@ -223,6 +260,10 @@ export class LxDevice {
223
260
  this.lastSeen = Date.now();
224
261
  this.online = true;
225
262
  }
263
+ /** Notify that a response was received for a message type */
264
+ markResponseReceived(messageType) {
265
+ this.clearRequestTimeout(messageType);
266
+ }
226
267
  /**
227
268
  * Check if message is a duplicate based on sequence number.
228
269
  * LIFX devices sometimes send duplicate responses.
package/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export * from './types.js';
2
2
  export { LxDevice } from './device.js';
3
3
  export { LxClient, LxClientOptions } from './client.js';
4
- export { LxTransport, RemoteInfo } from './transport.js';
4
+ export { UdpTransport, LxTransport, RemoteInfo } from './transport.js';
5
5
  export { LxEventEmitter, LxEventEmitterBase } from './events.js';
6
6
  export { encodeMessage, decodeMessage } from './protocol.js';
7
7
  //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/lxlan",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "LIFX LAN protocol library for device control via UDP",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -15,8 +15,8 @@
15
15
  "build": "tsc",
16
16
  "watch": "tsc -w",
17
17
  "preversion": "npm run build",
18
- "postversion": "git push && git push --tags && npm publish --loglevel=error",
19
- "release": "git add -A && git diff-index --quiet HEAD || git commit -m 'Build for release' && npm version patch"
18
+ "release": "git add -A && git diff-index --quiet HEAD || git commit -m 'Build for release' && npm version patch",
19
+ "postversion": "git push && git push --tags && npm publish --loglevel=error"
20
20
  },
21
21
  "keywords": [
22
22
  "lifx",
@@ -31,9 +31,14 @@
31
31
  "url": "https://github.com/BobFrankston/lxlan.git"
32
32
  },
33
33
  "dependencies": {
34
- "@bobfrankston/colorlib": "file:../../../../utils/colorlib"
34
+ "@bobfrankston/colorlib": "^0.1.6",
35
+ "@bobfrankston/udp-transport": "^1.0.0"
35
36
  },
36
37
  "devDependencies": {
37
- "@types/node": "^25.0.6"
38
+ "@types/node": "^25.0.9"
39
+ },
40
+ ".dependencies": {
41
+ "@bobfrankston/colorlib": "file:../../../../utils/colorlib",
42
+ "@bobfrankston/udp-transport": "file:../../../../utils/udp/udp-transport"
38
43
  }
39
44
  }
package/protocol.d.ts CHANGED
@@ -4,76 +4,78 @@ import { LxMessage } from './types.js';
4
4
  export declare function nextSequence(): number;
5
5
  /** Get global source ID */
6
6
  export declare function getSource(): number;
7
- /** Encode LIFX message to buffer */
7
+ /** Encode LIFX message to Uint8Array */
8
8
  export declare function encodeMessage(options: {
9
9
  type: number;
10
- target?: string; /** MAC address, empty for broadcast */
11
- payload?: Buffer;
10
+ target?: string;
11
+ payload?: Uint8Array;
12
12
  tagged?: boolean;
13
13
  ackRequired?: boolean;
14
14
  resRequired?: boolean;
15
15
  sequence?: number;
16
- }): Buffer;
17
- /** Decode LIFX message from buffer */
18
- export declare function decodeMessage(buf: Buffer): LxMessage;
16
+ }): Uint8Array;
17
+ /** Decode LIFX message from Uint8Array */
18
+ export declare function decodeMessage(buf: Uint8Array): LxMessage;
19
19
  /** Encode SetPower payload */
20
- export declare function encodeSetPower(on: boolean): Buffer;
20
+ export declare function encodeSetPower(level: boolean): Uint8Array;
21
21
  /** Encode SetColor payload */
22
- export declare function encodeSetColor(hsbk: HSBK16, duration?: number): Buffer;
22
+ export declare function encodeSetColor(hsbk: HSBK16, duration?: number): Uint8Array;
23
23
  /** Encode SetLabel payload */
24
- export declare function encodeSetLabel(label: string): Buffer;
24
+ export declare function encodeSetLabel(label: string): Uint8Array;
25
25
  /** Encode SetGroup payload */
26
- export declare function encodeSetGroup(id: string, label: string): Buffer;
26
+ export declare function encodeSetGroup(id: string, label: string): Uint8Array;
27
27
  /** Encode SetLocation payload (same format as SetGroup) */
28
- export declare function encodeSetLocation(id: string, label: string): Buffer;
28
+ export declare function encodeSetLocation(id: string, label: string): Uint8Array;
29
29
  /** Decode State (107) payload - light state */
30
- export declare function decodeState(payload: Buffer): {
30
+ export declare function decodeState(payload: Uint8Array): {
31
31
  hsbk: HSBK16;
32
32
  power: number;
33
33
  label: string;
34
34
  };
35
35
  /** Decode StatePower (22) payload */
36
- export declare function decodeStatePower(payload: Buffer): boolean;
36
+ export declare function decodeStatePower(payload: Uint8Array): boolean;
37
37
  /** Decode StateLabel (25) payload */
38
- export declare function decodeStateLabel(payload: Buffer): string;
38
+ export declare function decodeStateLabel(payload: Uint8Array): string;
39
39
  /** Decode StateVersion (33) payload */
40
- export declare function decodeStateVersion(payload: Buffer): {
40
+ export declare function decodeStateVersion(payload: Uint8Array): {
41
41
  vendor: number;
42
42
  product: number;
43
43
  version: number;
44
44
  };
45
45
  /** Decode StateGroup (53) or StateLocation (50) payload */
46
- export declare function decodeStateGroup(payload: Buffer): {
46
+ export declare function decodeStateGroup(payload: Uint8Array): {
47
47
  id: string;
48
48
  label: string;
49
49
  updatedAt: number;
50
50
  };
51
51
  /** Decode StateService (3) payload */
52
- export declare function decodeStateService(payload: Buffer): {
52
+ export declare function decodeStateService(payload: Uint8Array): {
53
53
  service: number;
54
54
  port: number;
55
55
  };
56
56
  /** Decode StateHostInfo (13) payload */
57
- export declare function decodeStateHostInfo(payload: Buffer): {
57
+ export declare function decodeStateHostInfo(payload: Uint8Array): {
58
58
  signal: number;
59
59
  tx: number;
60
60
  rx: number;
61
61
  };
62
62
  /** Decode StateHostFirmware (15) payload */
63
- export declare function decodeStateHostFirmware(payload: Buffer): {
63
+ export declare function decodeStateHostFirmware(payload: Uint8Array): {
64
64
  build: number;
65
65
  version: number;
66
66
  };
67
67
  /** Decode StateWifiInfo (17) payload - same format as StateHostInfo */
68
- export declare function decodeStateWifiInfo(payload: Buffer): {
68
+ export declare function decodeStateWifiInfo(payload: Uint8Array): {
69
69
  signal: number;
70
70
  tx: number;
71
71
  rx: number;
72
72
  };
73
73
  /** Decode StateInfo (35) payload */
74
- export declare function decodeStateInfo(payload: Buffer): {
74
+ export declare function decodeStateInfo(payload: Uint8Array): {
75
75
  time: number;
76
76
  uptime: number;
77
77
  downtime: number;
78
78
  };
79
+ /** Encode GetService payload (empty) */
80
+ export declare function encodeGetService(): Uint8Array;
79
81
  //# sourceMappingURL=protocol.d.ts.map
package/protocol.js CHANGED
@@ -10,9 +10,9 @@ export function nextSequence() {
10
10
  export function getSource() {
11
11
  return globalSource;
12
12
  }
13
- /** MAC string to 8-byte buffer (6 bytes MAC + 2 padding) */
13
+ /** MAC string to 8-byte Uint8Array (6 bytes MAC + 2 padding) */
14
14
  function macToBuffer(mac) {
15
- const buf = Buffer.alloc(8);
15
+ const buf = new Uint8Array(8);
16
16
  if (mac && mac !== '00:00:00:00:00:00') {
17
17
  const bytes = mac.split(':').map(b => parseInt(b, 16));
18
18
  for (let i = 0; i < 6; i++)
@@ -20,7 +20,7 @@ function macToBuffer(mac) {
20
20
  }
21
21
  return buf;
22
22
  }
23
- /** Buffer to MAC string */
23
+ /** Uint8Array to MAC string */
24
24
  function bufferToMac(buf, offset = 0) {
25
25
  const parts = [];
26
26
  for (let i = 0; i < 6; i++) {
@@ -28,51 +28,90 @@ function bufferToMac(buf, offset = 0) {
28
28
  }
29
29
  return parts.join(':');
30
30
  }
31
- /** Encode LIFX message to buffer */
31
+ // Helper for writing values to Uint8Array
32
+ function writeUInt16LE(buf, value, offset) {
33
+ buf[offset] = value & 0xFF;
34
+ buf[offset + 1] = (value >> 8) & 0xFF;
35
+ }
36
+ function writeUInt32LE(buf, value, offset) {
37
+ buf[offset] = value & 0xFF;
38
+ buf[offset + 1] = (value >> 8) & 0xFF;
39
+ buf[offset + 2] = (value >> 16) & 0xFF;
40
+ buf[offset + 3] = (value >> 24) & 0xFF;
41
+ }
42
+ function writeBigUInt64LE(buf, value, offset) {
43
+ for (let i = 0; i < 8; i++) {
44
+ buf[offset + i] = Number((value >> BigInt(i * 8)) & BigInt(0xFF));
45
+ }
46
+ }
47
+ function readUInt16LE(buf, offset) {
48
+ return buf[offset] | (buf[offset + 1] << 8);
49
+ }
50
+ function readUInt32LE(buf, offset) {
51
+ return (buf[offset] | (buf[offset + 1] << 8) | (buf[offset + 2] << 16) | (buf[offset + 3] << 24)) >>> 0;
52
+ }
53
+ function readBigUInt64LE(buf, offset) {
54
+ let result = BigInt(0);
55
+ for (let i = 0; i < 8; i++) {
56
+ result |= BigInt(buf[offset + i]) << BigInt(i * 8);
57
+ }
58
+ return result;
59
+ }
60
+ function readFloatLE(buf, offset) {
61
+ const view = new DataView(buf.buffer, buf.byteOffset + offset, 4);
62
+ return view.getFloat32(0, true);
63
+ }
64
+ function utf8Decode(buf, start, end) {
65
+ const decoder = new TextDecoder('utf-8');
66
+ return decoder.decode(buf.subarray(start, end)).replace(/\0+$/, '');
67
+ }
68
+ function utf8Encode(str, buf, offset, maxLen) {
69
+ const encoder = new TextEncoder();
70
+ const encoded = encoder.encode(str.substring(0, maxLen));
71
+ buf.set(encoded, offset);
72
+ }
73
+ /** Encode LIFX message to Uint8Array */
32
74
  export function encodeMessage(options) {
33
- const payload = options.payload ?? Buffer.alloc(0);
75
+ const payload = options.payload ?? new Uint8Array(0);
34
76
  const size = HEADER_SIZE + payload.length;
35
- const buf = Buffer.alloc(size);
77
+ const buf = new Uint8Array(size);
36
78
  const tagged = options.tagged ?? !options.target;
37
79
  const target = options.target ?? '00:00:00:00:00:00';
38
80
  const sequence = options.sequence ?? nextSequence();
39
81
  // Frame (8 bytes)
40
- buf.writeUInt16LE(size, 0); // size
41
- const protocol = 1024 | (tagged ? 0x2000 : 0) | 0x1000; // addressable=1, protocol=1024
42
- buf.writeUInt16LE(protocol, 2);
43
- buf.writeUInt32LE(globalSource, 4); // source
82
+ writeUInt16LE(buf, size, 0);
83
+ const protocol = 1024 | (tagged ? 0x2000 : 0) | 0x1000;
84
+ writeUInt16LE(buf, protocol, 2);
85
+ writeUInt32LE(buf, globalSource, 4);
44
86
  // Frame Address (16 bytes)
45
- macToBuffer(target).copy(buf, 8); // target (8 bytes)
46
- // reserved (6 bytes at offset 16)
87
+ buf.set(macToBuffer(target), 8);
47
88
  const flags = (options.resRequired ? 0x01 : 0) | (options.ackRequired ? 0x02 : 0);
48
89
  buf[22] = flags;
49
90
  buf[23] = sequence;
50
91
  // Protocol Header (12 bytes)
51
- // reserved (8 bytes at offset 24)
52
- buf.writeUInt16LE(options.type, 32); // type
53
- // reserved (2 bytes at offset 34)
92
+ writeUInt16LE(buf, options.type, 32);
54
93
  // Payload
55
94
  if (payload.length > 0) {
56
- payload.copy(buf, HEADER_SIZE);
95
+ buf.set(payload, HEADER_SIZE);
57
96
  }
58
97
  return buf;
59
98
  }
60
- /** Decode LIFX message from buffer */
99
+ /** Decode LIFX message from Uint8Array */
61
100
  export function decodeMessage(buf) {
62
101
  if (buf.length < HEADER_SIZE) {
63
102
  throw new Error(`Buffer too small: ${buf.length} < ${HEADER_SIZE}`);
64
103
  }
65
- const size = buf.readUInt16LE(0);
66
- const protocolBits = buf.readUInt16LE(2);
104
+ const size = readUInt16LE(buf, 0);
105
+ const protocolBits = readUInt16LE(buf, 2);
67
106
  const tagged = (protocolBits & 0x2000) !== 0;
68
107
  const addressable = (protocolBits & 0x1000) !== 0;
69
108
  const protocol = protocolBits & 0xFFF;
70
- const source = buf.readUInt32LE(4);
109
+ const source = readUInt32LE(buf, 4);
71
110
  const target = bufferToMac(buf, 8);
72
111
  const flags = buf[22];
73
112
  const sequence = buf[23];
74
- const type = buf.readUInt16LE(32);
75
- const payload = buf.length > HEADER_SIZE ? buf.subarray(HEADER_SIZE) : Buffer.alloc(0);
113
+ const type = readUInt16LE(buf, 32);
114
+ const payload = buf.length > HEADER_SIZE ? buf.subarray(HEADER_SIZE) : new Uint8Array(0);
76
115
  return {
77
116
  size,
78
117
  protocol,
@@ -88,39 +127,43 @@ export function decodeMessage(buf) {
88
127
  };
89
128
  }
90
129
  /** Encode SetPower payload */
91
- export function encodeSetPower(on) {
92
- const buf = Buffer.alloc(2);
93
- buf.writeUInt16LE(on ? 0xFFFF : 0, 0);
130
+ export function encodeSetPower(level) {
131
+ const buf = new Uint8Array(2);
132
+ writeUInt16LE(buf, level ? 0xFFFF : 0, 0);
94
133
  return buf;
95
134
  }
96
135
  /** Encode SetColor payload */
97
136
  export function encodeSetColor(hsbk, duration = 0) {
98
- const buf = Buffer.alloc(13);
99
- buf[0] = 0; // reserved
100
- buf.writeUInt16LE(hsbk.h, 1);
101
- buf.writeUInt16LE(hsbk.s, 3);
102
- buf.writeUInt16LE(hsbk.b, 5);
103
- buf.writeUInt16LE(hsbk.k, 7);
104
- buf.writeUInt32LE(duration, 9);
137
+ const buf = new Uint8Array(13);
138
+ buf[0] = 0;
139
+ writeUInt16LE(buf, hsbk.h, 1);
140
+ writeUInt16LE(buf, hsbk.s, 3);
141
+ writeUInt16LE(buf, hsbk.b, 5);
142
+ writeUInt16LE(buf, hsbk.k, 7);
143
+ writeUInt32LE(buf, duration, 9);
105
144
  return buf;
106
145
  }
107
146
  /** Encode SetLabel payload */
108
147
  export function encodeSetLabel(label) {
109
- const buf = Buffer.alloc(32);
110
- buf.write(label.substring(0, 32), 0, 'utf8');
148
+ const buf = new Uint8Array(32);
149
+ utf8Encode(label, buf, 0, 32);
111
150
  return buf;
112
151
  }
113
152
  /** Encode SetGroup payload */
114
153
  export function encodeSetGroup(id, label) {
115
- const buf = Buffer.alloc(56);
154
+ const buf = new Uint8Array(56);
116
155
  // 16-byte group ID
117
- const idBytes = Buffer.from(id.replace(/-/g, ''), 'hex');
118
- idBytes.copy(buf, 0, 0, Math.min(16, idBytes.length));
156
+ const idBytes = new Uint8Array(16);
157
+ const hexId = id.replace(/-/g, '');
158
+ for (let i = 0; i < Math.min(16, hexId.length / 2); i++) {
159
+ idBytes[i] = parseInt(hexId.substr(i * 2, 2), 16);
160
+ }
161
+ buf.set(idBytes, 0);
119
162
  // 32-byte label
120
- buf.write(label.substring(0, 32), 16, 'utf8');
163
+ utf8Encode(label, buf, 16, 32);
121
164
  // 8-byte updated_at timestamp (ns since epoch)
122
165
  const now = BigInt(Date.now()) * BigInt(1000000);
123
- buf.writeBigUInt64LE(now, 48);
166
+ writeBigUInt64LE(buf, now, 48);
124
167
  return buf;
125
168
  }
126
169
  /** Encode SetLocation payload (same format as SetGroup) */
@@ -131,59 +174,59 @@ export function encodeSetLocation(id, label) {
131
174
  export function decodeState(payload) {
132
175
  return {
133
176
  hsbk: {
134
- h: payload.readUInt16LE(0),
135
- s: payload.readUInt16LE(2),
136
- b: payload.readUInt16LE(4),
137
- k: payload.readUInt16LE(6)
177
+ h: readUInt16LE(payload, 0),
178
+ s: readUInt16LE(payload, 2),
179
+ b: readUInt16LE(payload, 4),
180
+ k: readUInt16LE(payload, 6)
138
181
  },
139
- power: payload.readUInt16LE(10),
140
- label: payload.toString('utf8', 12, 44).replace(/\0+$/, '')
182
+ power: readUInt16LE(payload, 10),
183
+ label: utf8Decode(payload, 12, 44)
141
184
  };
142
185
  }
143
186
  /** Decode StatePower (22) payload */
144
187
  export function decodeStatePower(payload) {
145
- return payload.readUInt16LE(0) > 0;
188
+ return readUInt16LE(payload, 0) > 0;
146
189
  }
147
190
  /** Decode StateLabel (25) payload */
148
191
  export function decodeStateLabel(payload) {
149
- return payload.toString('utf8', 0, 32).replace(/\0+$/, '');
192
+ return utf8Decode(payload, 0, 32);
150
193
  }
151
194
  /** Decode StateVersion (33) payload */
152
195
  export function decodeStateVersion(payload) {
153
196
  return {
154
- vendor: payload.readUInt32LE(0),
155
- product: payload.readUInt32LE(4),
156
- version: payload.readUInt32LE(8)
197
+ vendor: readUInt32LE(payload, 0),
198
+ product: readUInt32LE(payload, 4),
199
+ version: readUInt32LE(payload, 8)
157
200
  };
158
201
  }
159
202
  /** Decode StateGroup (53) or StateLocation (50) payload */
160
203
  export function decodeStateGroup(payload) {
161
204
  const idBytes = payload.subarray(0, 16);
162
- const id = idBytes.toString('hex');
163
- const label = payload.toString('utf8', 16, 48).replace(/\0+$/, '');
164
- const updatedAt = Number(payload.readBigUInt64LE(48) / BigInt(1000000));
205
+ const id = Array.from(idBytes).map(b => b.toString(16).padStart(2, '0')).join('');
206
+ const label = utf8Decode(payload, 16, 48);
207
+ const updatedAt = Number(readBigUInt64LE(payload, 48) / BigInt(1000000));
165
208
  return { id, label, updatedAt };
166
209
  }
167
210
  /** Decode StateService (3) payload */
168
211
  export function decodeStateService(payload) {
169
212
  return {
170
213
  service: payload[0],
171
- port: payload.readUInt32LE(1)
214
+ port: readUInt32LE(payload, 1)
172
215
  };
173
216
  }
174
217
  /** Decode StateHostInfo (13) payload */
175
218
  export function decodeStateHostInfo(payload) {
176
219
  return {
177
- signal: payload.readFloatLE(0),
178
- tx: payload.readUInt32LE(4),
179
- rx: payload.readUInt32LE(8)
220
+ signal: readFloatLE(payload, 0),
221
+ tx: readUInt32LE(payload, 4),
222
+ rx: readUInt32LE(payload, 8)
180
223
  };
181
224
  }
182
225
  /** Decode StateHostFirmware (15) payload */
183
226
  export function decodeStateHostFirmware(payload) {
184
227
  return {
185
- build: Number(payload.readBigUInt64LE(0)), // nanoseconds since epoch
186
- version: payload.readUInt32LE(8) // encoded as hex: 0x00RRMMPP (major.minor.patch)
228
+ build: Number(readBigUInt64LE(payload, 0)),
229
+ version: readUInt32LE(payload, 8)
187
230
  };
188
231
  }
189
232
  /** Decode StateWifiInfo (17) payload - same format as StateHostInfo */
@@ -193,9 +236,22 @@ export function decodeStateWifiInfo(payload) {
193
236
  /** Decode StateInfo (35) payload */
194
237
  export function decodeStateInfo(payload) {
195
238
  return {
196
- time: Number(payload.readBigUInt64LE(0) / BigInt(1000000)), // ns to ms
197
- uptime: Number(payload.readBigUInt64LE(8) / BigInt(1000000)), // ns to ms
198
- downtime: Number(payload.readBigUInt64LE(16) / BigInt(1000000)) // ns to ms
239
+ time: Number(readBigUInt64LE(payload, 0) / BigInt(1000000)),
240
+ uptime: Number(readBigUInt64LE(payload, 8) / BigInt(1000000)),
241
+ downtime: Number(readBigUInt64LE(payload, 16) / BigInt(1000000))
199
242
  };
200
243
  }
244
+ /** Encode GetService payload (empty) */
245
+ export function encodeGetService() {
246
+ return new Uint8Array(0);
247
+ }
248
+ // Buffer compatibility helper
249
+ const BufferImpl = typeof Buffer !== 'undefined' ? Buffer : class {
250
+ static alloc(size) {
251
+ return new Uint8Array(size);
252
+ }
253
+ static from(data) {
254
+ return new Uint8Array(data);
255
+ }
256
+ };
201
257
  //# sourceMappingURL=protocol.js.map
@@ -0,0 +1,168 @@
1
+ #!/usr/bin/env pwsh
2
+ # Release all LIFX packages in dependency order
3
+ # Automatically handles missing git remotes and GitHub repositories
4
+
5
+ $ErrorActionPreference = "Stop"
6
+
7
+ # Suppress npm color output
8
+ $env:NO_COLOR = "1"
9
+ $env:FORCE_COLOR = "0"
10
+ $env:NPM_CONFIG_COLOR = "false"
11
+
12
+ # Function to ensure git remote and GitHub repo exist
13
+ function Initialize-GitRemote {
14
+ param(
15
+ [string]$RepoPath,
16
+ [string]$RepoName,
17
+ [string]$Owner = "BobFrankston"
18
+ )
19
+
20
+ Push-Location $RepoPath
21
+
22
+ # Check if remote exists
23
+ $remote = git remote 2>$null
24
+
25
+ if (-not $remote -or $remote -notcontains "origin") {
26
+ Write-Host " → Setting up git remote..." -ForegroundColor Yellow
27
+ $remoteUrl = "https://github.com/$Owner/$RepoName.git"
28
+ git remote add origin $remoteUrl 2>$null
29
+ Write-Host " ✓ Added remote: $remoteUrl" -ForegroundColor Green
30
+ }
31
+
32
+ # Check if GitHub repo exists, create if needed
33
+ gh repo view "$Owner/$RepoName" 2>$null | Out-Null
34
+ if ($LASTEXITCODE -ne 0) {
35
+ Write-Host " → Creating GitHub repository..." -ForegroundColor Yellow
36
+ $desc = "Part of LIFX LAN control suite"
37
+ gh repo create "$Owner/$RepoName" --public --description $desc
38
+ if ($LASTEXITCODE -eq 0) {
39
+ Write-Host " ✓ Repository created!" -ForegroundColor Green
40
+ } else {
41
+ Write-Host " ✗ Failed to create repository" -ForegroundColor Red
42
+ Pop-Location
43
+ exit 1
44
+ }
45
+ }
46
+
47
+ # Check if upstream is set
48
+ $upstreamBranch = git rev-parse --abbrev-ref --symbolic-full-name '@{u}' 2>$null
49
+ if (-not $upstreamBranch) {
50
+ Write-Host " → Setting upstream branch..." -ForegroundColor Yellow
51
+ git push --set-upstream origin master 2>&1 | Out-Null
52
+ if ($LASTEXITCODE -eq 0) {
53
+ Write-Host " ✓ Upstream branch set" -ForegroundColor Green
54
+ }
55
+ }
56
+
57
+ Pop-Location
58
+ }
59
+
60
+ Write-Host ""
61
+ Write-Host "=== Releasing LIFX Packages ===" -ForegroundColor Cyan
62
+ Write-Host ""
63
+
64
+ # Base packages (no dependencies on each other)
65
+ Write-Host ">>> Releasing hlib..." -ForegroundColor Yellow
66
+ Initialize-GitRemote -RepoPath "y:\dev\homecontrol\utils\hlib" -RepoName "hlib"
67
+ Set-Location "y:\dev\homecontrol\utils\hlib"
68
+ npm run release
69
+ if ($LASTEXITCODE -ne 0) {
70
+ Write-Host "ERROR: hlib release failed" -ForegroundColor Red
71
+ exit 1
72
+ }
73
+ Write-Host ""
74
+
75
+ Write-Host ">>> Releasing rmfudp..." -ForegroundColor Yellow
76
+ Initialize-GitRemote -RepoPath "y:\dev\homecontrol\utils\rmfudp" -RepoName "rmfudp"
77
+ Set-Location "y:\dev\homecontrol\utils\rmfudp"
78
+ npm run release
79
+ if ($LASTEXITCODE -ne 0) {
80
+ Write-Host "ERROR: rmfudp release failed" -ForegroundColor Red
81
+ exit 1
82
+ }
83
+ Write-Host ""
84
+
85
+ Write-Host ">>> Releasing colorlib..." -ForegroundColor Yellow
86
+ Initialize-GitRemote -RepoPath "y:\dev\homecontrol\utils\colorlib" -RepoName "colorlib"
87
+ Set-Location "y:\dev\homecontrol\utils\colorlib"
88
+ npm run release
89
+ if ($LASTEXITCODE -ne 0) {
90
+ Write-Host "ERROR: colorlib release failed" -ForegroundColor Red
91
+ exit 1
92
+ }
93
+ Write-Host ""
94
+
95
+ Write-Host ">>> Releasing lxlan..." -ForegroundColor Yellow
96
+ Initialize-GitRemote -RepoPath "y:\dev\homecontrol\Others\LifX\Apps\lxlan" -RepoName "lxlan"
97
+ Set-Location "y:\dev\homecontrol\Others\LifX\Apps\lxlan"
98
+ npm run release
99
+ if ($LASTEXITCODE -ne 0) {
100
+ Write-Host "ERROR: lxlan release failed" -ForegroundColor Red
101
+ exit 1
102
+ }
103
+ Write-Host ""
104
+
105
+ # Update dependencies after base packages
106
+ Write-Host ">>> Updating lxlan-node dependencies..." -ForegroundColor Yellow
107
+ Initialize-GitRemote -RepoPath "y:\dev\homecontrol\Others\LifX\Apps\lxlan-node" -RepoName "lxlan-node"
108
+ Set-Location "y:\dev\homecontrol\Others\LifX\Apps\lxlan-node"
109
+ npm install
110
+ if ($LASTEXITCODE -ne 0) {
111
+ Write-Host "ERROR: lxlan-node npm install failed" -ForegroundColor Red
112
+ exit 1
113
+ }
114
+
115
+ Write-Host ">>> Releasing lxlan-node..." -ForegroundColor Yellow
116
+ npm run release
117
+ if ($LASTEXITCODE -ne 0) {
118
+ Write-Host "ERROR: lxlan-node release failed" -ForegroundColor Red
119
+ exit 1
120
+ }
121
+ Write-Host ""
122
+
123
+ # Update lifxer dependencies
124
+ Write-Host ">>> Updating lifxer dependencies..." -ForegroundColor Yellow
125
+ Initialize-GitRemote -RepoPath "y:\dev\homecontrol\Others\LifX\Apps\lifxer" -RepoName "lifxer"
126
+ Set-Location "y:\dev\homecontrol\Others\LifX\Apps\lifxer"
127
+ npm install
128
+ if ($LASTEXITCODE -ne 0) {
129
+ Write-Host "ERROR: lifxer npm install failed" -ForegroundColor Red
130
+ exit 1
131
+ }
132
+
133
+ Write-Host ">>> Releasing lifxer..." -ForegroundColor Yellow
134
+ npm run release
135
+ if ($LASTEXITCODE -ne 0) {
136
+ Write-Host "ERROR: lifxer release failed" -ForegroundColor Red
137
+ exit 1
138
+ }
139
+ Write-Host ""
140
+
141
+ # lxtest
142
+ Write-Host ">>> Updating lxtest dependencies..." -ForegroundColor Yellow
143
+ Initialize-GitRemote -RepoPath "y:\dev\homecontrol\Others\LifX\Apps\lxtest" -RepoName "lxtest"
144
+ Set-Location "y:\dev\homecontrol\Others\LifX\Apps\lxtest"
145
+ npm install
146
+ if ($LASTEXITCODE -ne 0) {
147
+ Write-Host "ERROR: lxtest npm install failed" -ForegroundColor Red
148
+ exit 1
149
+ }
150
+
151
+ Write-Host ">>> Releasing lxtest..." -ForegroundColor Yellow
152
+ npm run release
153
+ if ($LASTEXITCODE -ne 0) {
154
+ Write-Host "ERROR: lxtest release failed" -ForegroundColor Red
155
+ exit 1
156
+ }
157
+ Write-Host ""
158
+
159
+ Write-Host "=== All releases completed successfully! ===" -ForegroundColor Green
160
+ Write-Host ""
161
+ Write-Host "Released packages:"
162
+ Write-Host " - @bobfrankston/hlib"
163
+ Write-Host " - @bobfrankston/rmfudp"
164
+ Write-Host " - @bobfrankston/colorlib"
165
+ Write-Host " - @bobfrankston/lxlan"
166
+ Write-Host " - @bobfrankston/lxlan-node"
167
+ Write-Host " - @bobfrankston/lifxer"
168
+ Write-Host " - lxtest"
package/transport.d.ts CHANGED
@@ -1,30 +1,7 @@
1
1
  /**
2
- * Transport abstraction for LIFX LAN protocol
3
- * Allows different implementations:
4
- * - UDP (current: rmfudp)
5
- * - HTTP (future: for web/browser support)
6
- * - WebSocket (future: bidirectional web support)
2
+ * Re-export UDP transport interfaces from @bobfrankston/udp-transport
3
+ * LxTransport is kept as an alias for backwards compatibility
7
4
  */
8
- /** Remote endpoint information */
9
- export interface RemoteInfo {
10
- address: string;
11
- port: number;
12
- }
13
- /** Transport layer interface */
14
- export interface LxTransport {
15
- /** Bind/start the transport */
16
- bind(): Promise<void>;
17
- /** Close/stop the transport */
18
- close(): void;
19
- /** Send data to specific address */
20
- send(ip: string, port: number, data: Buffer): void;
21
- /** Broadcast data to all addresses */
22
- broadcast(data: Buffer, port: number, addresses: string[]): void;
23
- /** Register message handler */
24
- onMessage(handler: (data: Buffer, rinfo: RemoteInfo) => void): void;
25
- /** Register error handler */
26
- onError(handler: (err: Error) => void): void;
27
- /** Register close handler */
28
- onClose(handler: () => void): void;
29
- }
5
+ export { UdpTransport, RemoteInfo } from '@bobfrankston/udp-transport';
6
+ export { UdpTransport as LxTransport } from '@bobfrankston/udp-transport';
30
7
  //# sourceMappingURL=transport.d.ts.map
package/transport.js CHANGED
@@ -1,9 +1,6 @@
1
1
  /**
2
- * Transport abstraction for LIFX LAN protocol
3
- * Allows different implementations:
4
- * - UDP (current: rmfudp)
5
- * - HTTP (future: for web/browser support)
6
- * - WebSocket (future: bidirectional web support)
2
+ * Re-export UDP transport interfaces from @bobfrankston/udp-transport
3
+ * LxTransport is kept as an alias for backwards compatibility
7
4
  */
8
5
  export {};
9
6
  //# sourceMappingURL=transport.js.map
package/types.d.ts CHANGED
@@ -1,4 +1,11 @@
1
1
  import { HSBK } from '@bobfrankston/colorlib';
2
+ /** EventEmitter interface for cross-platform compatibility */
3
+ export interface LxEventEmitter {
4
+ on(event: string, listener: (...args: any[]) => void): this;
5
+ once(event: string, listener: (...args: any[]) => void): this;
6
+ off(event: string, listener: (...args: any[]) => void): this;
7
+ emit(event: string, ...args: any[]): boolean;
8
+ }
2
9
  /** LIFX message types */
3
10
  export declare const MessageType: {
4
11
  readonly GetService: 2;
@@ -30,22 +37,32 @@ export declare const MessageType: {
30
37
  readonly State: 107;
31
38
  };
32
39
  export type MessageTypeValue = typeof MessageType[keyof typeof MessageType];
33
- /** LIFX protocol header */
34
- export interface LxHeader {
40
+ /** LIFX message structure */
41
+ export interface LxMessage {
35
42
  size: number;
36
43
  protocol: number;
37
44
  addressable: boolean;
38
45
  tagged: boolean;
39
46
  source: number;
40
- target: string; /** MAC address as hex string */
47
+ target: string;
41
48
  resRequired: boolean;
42
49
  ackRequired: boolean;
43
50
  sequence: number;
44
51
  type: number;
52
+ payload: Uint8Array;
45
53
  }
46
- /** Full LIFX message */
47
- export interface LxMessage extends LxHeader {
48
- payload: Buffer;
54
+ /** LIFX message header */
55
+ export interface LxHeader {
56
+ size: number;
57
+ protocol: number;
58
+ addressable: boolean;
59
+ tagged: boolean;
60
+ source: number;
61
+ target: string;
62
+ resRequired: boolean;
63
+ ackRequired: boolean;
64
+ sequence: number;
65
+ type: number;
49
66
  }
50
67
  /** Group/Location info */
51
68
  export interface GroupInfo {
package/.gitattributes DELETED
@@ -1,5 +0,0 @@
1
- * text=auto eol=lf
2
- *.ts text eol=lf
3
- *.js text eol=lf
4
- *.json text eol=lf
5
- *.md text eol=lf
package/client.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAiBvC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,gDAAgD;IAChD,SAAS,EAAE,WAAW,CAAC;IACvB,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,4FAA4F;IAC5F,YAAY,EAAE,cAAc,CAAC;IAC7B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,QAAQ;IACjB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,kBAAkB,CAAW;IACrC,OAAO,CAAC,cAAc,CAAC,CAAM;IAE7B,gDAAgD;IAChD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAa;gBAE/B,OAAO,EAAE,eAAe;IAmBpC,8BAA8B;IAC9B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAK3D,uCAAuC;IACvC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAK7D,4BAA4B;IAC5B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAK5D,iBAAiB;IACjB,OAAO,CAAC,IAAI;IAIZ,sBAAsB;IAChB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,uBAAuB;IACvB,IAAI,IAAI,IAAI;IAKZ,4CAA4C;IAC5C,QAAQ,IAAI,IAAI;IAShB;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI5C;;;;;;;;OAQG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,GAAG,QAAQ;IAkBvE,8BAA8B;IAC9B,OAAO,CAAC,aAAa;IA0HrB,iEAAiE;IACjE,OAAO,CAAC,uBAAuB;CAMlC"}
package/client.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAa,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EACH,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EAClB,MAAM,eAAe,CAAC;AAkBvB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,QAAQ;IACT,OAAO,CAAiB;IACxB,SAAS,CAAc;IACvB,IAAI,CAAS;IACb,kBAAkB,CAAW;IAC7B,cAAc,CAAO,CAAE,4CAA4C;IAE3E,gDAAgD;IAChD,OAAO,GAA0B,IAAI,GAAG,EAAE,CAAC;IAE3C,YAAY,OAAwB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAErD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACxF,CAAC;IACL,CAAC;IAED,8BAA8B;IAC9B,EAAE,CAAC,KAAa,EAAE,QAAkC;QAChD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,KAAa,EAAE,QAAkC;QAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,4BAA4B;IAC5B,GAAG,CAAC,KAAa,EAAE,QAAkC;QACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iBAAiB;IACT,IAAI,CAAC,KAAa,EAAE,GAAG,IAAW;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,sBAAsB;IACtB,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,uBAAuB;IACvB,IAAI;QACA,IAAI,IAAI,CAAC,cAAc;YAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,4CAA4C;IAC5C,QAAQ;QACJ,MAAM,GAAG,GAAG,aAAa,CAAC;YACtB,IAAI,EAAE,WAAW,CAAC,UAAU;YAC5B,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,GAAW,EAAE,EAAW,EAAE,OAAe,SAAS;QACxD,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,GAAG,IAAI,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,IAAI,EAAE;gBAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,8BAA8B;IACtB,aAAa,CAAC,IAAY,EAAE,MAAc,EAAE,QAAgB;QAChE,IAAI,GAAc,CAAC;QACnB,IAAI,CAAC;YACD,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5D,OAAO;QACX,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;QACvB,IAAI,GAAG,KAAK,mBAAmB;YAAE,OAAO,CAAE,wCAAwC;QAElF,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC;QAEtB,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC;QACnB,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvB,MAAM,CAAC,QAAQ,EAAE,CAAC;QAElB,uEAAuE;QACvE,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,CAAE,mBAAmB;QAChC,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAElC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC5B,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACxB,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC/B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC3B,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC1B,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC3B,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC1B,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC3B,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC5B,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;gBAC3B,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC7B,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC1B,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC3B,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC7B,MAAM,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC9B,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC7B,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC9C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC5B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC9B,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACjC,MAAM,EAAE,GAAG,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChD,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gBAClC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC7B,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC9C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC5B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC9B,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC5B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC1B,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAED,iEAAiE;IACzD,uBAAuB,CAAC,MAAgB;QAC5C,8DAA8D;QAC9D,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACzF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;CACJ"}
package/device.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["device.ts"],"names":[],"mappings":"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"}
package/device.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["device.ts"],"names":[],"mappings":"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"}
package/events.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC7C,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED;;;GAGG;AACH,8BAAsB,kBAAmB,YAAW,cAAc;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IACpE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IACtE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IACrE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO;IACrD,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;CACpD"}
package/events.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["events.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,MAAM,OAAgB,kBAAkB;CAMvC"}
package/index.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAmB,MAAM,aAAa,CAAC;AAExD,OAAO,EAAkB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
package/protocol.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["protocol.ts"],"names":[],"mappings":"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"}
package/protocol.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["protocol.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["transport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kCAAkC;AAClC,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,gCAAgC;AAChC,MAAM,WAAW,WAAW;IACxB,+BAA+B;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB,+BAA+B;IAC/B,KAAK,IAAI,IAAI,CAAC;IAEd,oCAAoC;IACpC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnD,sCAAsC;IACtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEjE,+BAA+B;IAC/B,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAEpE,6BAA6B;IAC7B,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAE7C,6BAA6B;IAC7B,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACtC"}
package/transport.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["transport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
package/types.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,yBAAyB;AACzB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Bd,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAE5E,2BAA2B;AAC3B,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,CAAE,gCAAgC;IACjD,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,wBAAwB;AACxB,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACvC,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,0BAA0B;AAC1B,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC,CAAE,0BAA0B;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,CAAE,gBAAgB;CACvC;AAED,+BAA+B;AAC/B,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,gBAAgB;AAChB,eAAO,MAAM,SAAS,QAAQ,CAAC;AAE/B,kBAAkB;AAClB,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyD3C,CAAC"}
package/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}