@voltras/node-sdk 0.1.2 → 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 (158) hide show
  1. package/README.md +122 -31
  2. package/dist/cjs/bluetooth/adapters/native.js +36 -34
  3. package/dist/cjs/bluetooth/adapters/native.js.map +1 -1
  4. package/dist/cjs/bluetooth/adapters/node.js +9 -7
  5. package/dist/cjs/bluetooth/adapters/node.js.map +1 -1
  6. package/dist/cjs/bluetooth/adapters/web-bluetooth-base.js +6 -4
  7. package/dist/cjs/bluetooth/adapters/web-bluetooth-base.js.map +1 -1
  8. package/dist/cjs/bluetooth/adapters/web.js +7 -5
  9. package/dist/cjs/bluetooth/adapters/web.js.map +1 -1
  10. package/dist/cjs/bluetooth/controllers/scanner-controller.js +0 -2
  11. package/dist/cjs/bluetooth/controllers/scanner-controller.js.map +1 -1
  12. package/dist/cjs/index.js +19 -10
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/react/hooks.js +2 -6
  15. package/dist/cjs/react/hooks.js.map +1 -1
  16. package/dist/cjs/sdk/notification-dispatcher.js +47 -0
  17. package/dist/cjs/sdk/notification-dispatcher.js.map +1 -0
  18. package/dist/cjs/sdk/reconnect-handler.js +61 -0
  19. package/dist/cjs/sdk/reconnect-handler.js.map +1 -0
  20. package/dist/cjs/sdk/voltra-client.js +206 -72
  21. package/dist/cjs/sdk/voltra-client.js.map +1 -1
  22. package/dist/cjs/shared/index.js +5 -1
  23. package/dist/cjs/shared/index.js.map +1 -1
  24. package/dist/cjs/shared/logger.js +54 -0
  25. package/dist/cjs/shared/logger.js.map +1 -0
  26. package/dist/cjs/voltra/index.js +15 -12
  27. package/dist/cjs/voltra/index.js.map +1 -1
  28. package/dist/cjs/voltra/models/device.js +13 -0
  29. package/dist/cjs/voltra/models/device.js.map +1 -1
  30. package/dist/cjs/voltra/protocol/commands.js +127 -210
  31. package/dist/cjs/voltra/protocol/commands.js.map +1 -1
  32. package/dist/cjs/voltra/protocol/constants/ble-config.js +24 -0
  33. package/dist/cjs/voltra/protocol/constants/ble-config.js.map +1 -0
  34. package/dist/cjs/voltra/protocol/constants/connection-commands.js +55 -0
  35. package/dist/cjs/voltra/protocol/constants/connection-commands.js.map +1 -0
  36. package/dist/cjs/voltra/protocol/constants/enums.js +117 -0
  37. package/dist/cjs/voltra/protocol/constants/enums.js.map +1 -0
  38. package/dist/cjs/voltra/protocol/constants/index.js +32 -0
  39. package/dist/cjs/voltra/protocol/constants/index.js.map +1 -0
  40. package/dist/cjs/voltra/protocol/constants/message-types.js +70 -0
  41. package/dist/cjs/voltra/protocol/constants/message-types.js.map +1 -0
  42. package/dist/cjs/voltra/protocol/constants/timing.js +21 -0
  43. package/dist/cjs/voltra/protocol/constants/timing.js.map +1 -0
  44. package/dist/cjs/voltra/protocol/data/protocol-data.generated.js +7 -0
  45. package/dist/cjs/voltra/protocol/data/protocol-data.generated.js.map +1 -0
  46. package/dist/cjs/voltra/protocol/telemetry-decoder.js +122 -6
  47. package/dist/cjs/voltra/protocol/telemetry-decoder.js.map +1 -1
  48. package/dist/cjs/voltra/protocol/types.js +9 -0
  49. package/dist/cjs/voltra/protocol/types.js.map +1 -0
  50. package/dist/esm/bluetooth/adapters/native.js +36 -34
  51. package/dist/esm/bluetooth/adapters/native.js.map +1 -1
  52. package/dist/esm/bluetooth/adapters/node.js +9 -7
  53. package/dist/esm/bluetooth/adapters/node.js.map +1 -1
  54. package/dist/esm/bluetooth/adapters/web-bluetooth-base.js +6 -4
  55. package/dist/esm/bluetooth/adapters/web-bluetooth-base.js.map +1 -1
  56. package/dist/esm/bluetooth/adapters/web.js +7 -5
  57. package/dist/esm/bluetooth/adapters/web.js.map +1 -1
  58. package/dist/esm/bluetooth/controllers/scanner-controller.js +0 -2
  59. package/dist/esm/bluetooth/controllers/scanner-controller.js.map +1 -1
  60. package/dist/esm/index.js +3 -6
  61. package/dist/esm/index.js.map +1 -1
  62. package/dist/esm/react/hooks.js +1 -5
  63. package/dist/esm/react/hooks.js.map +1 -1
  64. package/dist/esm/sdk/notification-dispatcher.js +44 -0
  65. package/dist/esm/sdk/notification-dispatcher.js.map +1 -0
  66. package/dist/esm/sdk/reconnect-handler.js +57 -0
  67. package/dist/esm/sdk/reconnect-handler.js.map +1 -0
  68. package/dist/esm/sdk/voltra-client.js +204 -70
  69. package/dist/esm/sdk/voltra-client.js.map +1 -1
  70. package/dist/esm/shared/index.js +1 -0
  71. package/dist/esm/shared/index.js.map +1 -1
  72. package/dist/esm/shared/logger.js +49 -0
  73. package/dist/esm/shared/logger.js.map +1 -0
  74. package/dist/esm/voltra/index.js +3 -8
  75. package/dist/esm/voltra/index.js.map +1 -1
  76. package/dist/esm/voltra/models/device.js +13 -0
  77. package/dist/esm/voltra/models/device.js.map +1 -1
  78. package/dist/esm/voltra/protocol/commands.js +117 -209
  79. package/dist/esm/voltra/protocol/commands.js.map +1 -1
  80. package/dist/esm/voltra/protocol/constants/ble-config.js +18 -0
  81. package/dist/esm/voltra/protocol/constants/ble-config.js.map +1 -0
  82. package/dist/esm/voltra/protocol/constants/connection-commands.js +49 -0
  83. package/dist/esm/voltra/protocol/constants/connection-commands.js.map +1 -0
  84. package/dist/esm/voltra/protocol/constants/enums.js +114 -0
  85. package/dist/esm/voltra/protocol/constants/enums.js.map +1 -0
  86. package/dist/esm/voltra/protocol/constants/index.js +12 -0
  87. package/dist/esm/voltra/protocol/constants/index.js.map +1 -0
  88. package/dist/esm/voltra/protocol/constants/message-types.js +64 -0
  89. package/dist/esm/voltra/protocol/constants/message-types.js.map +1 -0
  90. package/dist/esm/voltra/protocol/constants/timing.js +18 -0
  91. package/dist/esm/voltra/protocol/constants/timing.js.map +1 -0
  92. package/dist/esm/voltra/protocol/data/protocol-data.generated.js +5 -0
  93. package/dist/esm/voltra/protocol/data/protocol-data.generated.js.map +1 -0
  94. package/dist/esm/voltra/protocol/telemetry-decoder.js +124 -8
  95. package/dist/esm/voltra/protocol/telemetry-decoder.js.map +1 -1
  96. package/dist/esm/voltra/protocol/types.js +8 -0
  97. package/dist/esm/voltra/protocol/types.js.map +1 -0
  98. package/dist/types/bluetooth/adapters/native.d.ts.map +1 -1
  99. package/dist/types/bluetooth/adapters/node.d.ts.map +1 -1
  100. package/dist/types/bluetooth/adapters/web-bluetooth-base.d.ts.map +1 -1
  101. package/dist/types/bluetooth/adapters/web.d.ts.map +1 -1
  102. package/dist/types/bluetooth/controllers/scanner-controller.d.ts.map +1 -1
  103. package/dist/types/index.d.ts +4 -3
  104. package/dist/types/index.d.ts.map +1 -1
  105. package/dist/types/react/hooks.d.ts.map +1 -1
  106. package/dist/types/sdk/index.d.ts +2 -1
  107. package/dist/types/sdk/index.d.ts.map +1 -1
  108. package/dist/types/sdk/notification-dispatcher.d.ts +29 -0
  109. package/dist/types/sdk/notification-dispatcher.d.ts.map +1 -0
  110. package/dist/types/sdk/reconnect-handler.d.ts +55 -0
  111. package/dist/types/sdk/reconnect-handler.d.ts.map +1 -0
  112. package/dist/types/sdk/types.d.ts +35 -0
  113. package/dist/types/sdk/types.d.ts.map +1 -1
  114. package/dist/types/sdk/voltra-client.d.ts +77 -2
  115. package/dist/types/sdk/voltra-client.d.ts.map +1 -1
  116. package/dist/types/shared/index.d.ts +1 -0
  117. package/dist/types/shared/index.d.ts.map +1 -1
  118. package/dist/types/shared/logger.d.ts +39 -0
  119. package/dist/types/shared/logger.d.ts.map +1 -0
  120. package/dist/types/voltra/index.d.ts +3 -3
  121. package/dist/types/voltra/index.d.ts.map +1 -1
  122. package/dist/types/voltra/models/device.d.ts +11 -1
  123. package/dist/types/voltra/models/device.d.ts.map +1 -1
  124. package/dist/types/voltra/protocol/commands.d.ts +47 -87
  125. package/dist/types/voltra/protocol/commands.d.ts.map +1 -1
  126. package/dist/types/voltra/protocol/constants/ble-config.d.ts +16 -0
  127. package/dist/types/voltra/protocol/constants/ble-config.d.ts.map +1 -0
  128. package/dist/types/voltra/protocol/constants/connection-commands.d.ts +37 -0
  129. package/dist/types/voltra/protocol/constants/connection-commands.d.ts.map +1 -0
  130. package/dist/types/voltra/protocol/constants/enums.d.ts +72 -0
  131. package/dist/types/voltra/protocol/constants/enums.d.ts.map +1 -0
  132. package/dist/types/voltra/protocol/constants/index.d.ts +12 -0
  133. package/dist/types/voltra/protocol/constants/index.d.ts.map +1 -0
  134. package/dist/types/voltra/protocol/constants/message-types.d.ts +52 -0
  135. package/dist/types/voltra/protocol/constants/message-types.d.ts.map +1 -0
  136. package/dist/types/voltra/protocol/constants/timing.d.ts +18 -0
  137. package/dist/types/voltra/protocol/constants/timing.d.ts.map +1 -0
  138. package/dist/types/voltra/protocol/data/protocol-data.generated.d.ts +3 -0
  139. package/dist/types/voltra/protocol/data/protocol-data.generated.d.ts.map +1 -0
  140. package/dist/types/voltra/protocol/telemetry-decoder.d.ts +15 -2
  141. package/dist/types/voltra/protocol/telemetry-decoder.d.ts.map +1 -1
  142. package/dist/types/voltra/protocol/types.d.ts +247 -0
  143. package/dist/types/voltra/protocol/types.d.ts.map +1 -0
  144. package/package.json +8 -7
  145. package/dist/cjs/voltra/protocol/constants.js +0 -136
  146. package/dist/cjs/voltra/protocol/constants.js.map +0 -1
  147. package/dist/cjs/voltra/protocol/data/chains.json +0 -830
  148. package/dist/cjs/voltra/protocol/data/eccentric.json +0 -1598
  149. package/dist/cjs/voltra/protocol/data/protocol.json +0 -54
  150. package/dist/cjs/voltra/protocol/data/weights.json +0 -62
  151. package/dist/esm/voltra/protocol/constants.js +0 -130
  152. package/dist/esm/voltra/protocol/constants.js.map +0 -1
  153. package/dist/esm/voltra/protocol/data/chains.json +0 -830
  154. package/dist/esm/voltra/protocol/data/eccentric.json +0 -1598
  155. package/dist/esm/voltra/protocol/data/protocol.json +0 -54
  156. package/dist/esm/voltra/protocol/data/weights.json +0 -62
  157. package/dist/types/voltra/protocol/constants.d.ts +0 -103
  158. package/dist/types/voltra/protocol/constants.d.ts.map +0 -1
@@ -18,6 +18,7 @@
18
18
  *
19
19
  * // Configure settings
20
20
  * await client.setWeight(50);
21
+ * await client.setMode(TrainingMode.WeightTraining);
21
22
  *
22
23
  * // Listen for telemetry
23
24
  * client.onFrame((frame) => {
@@ -35,12 +36,14 @@
35
36
  */
36
37
  Object.defineProperty(exports, "__esModule", { value: true });
37
38
  exports.VoltraClient = void 0;
39
+ const device_1 = require("../voltra/models/device");
38
40
  const connection_1 = require("../voltra/models/connection");
39
41
  const device_filter_1 = require("../voltra/models/device-filter");
40
42
  const constants_1 = require("../voltra/protocol/constants");
41
43
  const commands_1 = require("../voltra/protocol/commands");
42
- const telemetry_decoder_1 = require("../voltra/protocol/telemetry-decoder");
43
44
  const utils_1 = require("../shared/utils");
45
+ const notification_dispatcher_1 = require("./notification-dispatcher");
46
+ const reconnect_handler_1 = require("./reconnect-handler");
44
47
  const errors_1 = require("../errors");
45
48
  /**
46
49
  * Default client options.
@@ -50,14 +53,6 @@ const DEFAULT_OPTIONS = {
50
53
  maxReconnectAttempts: 3,
51
54
  reconnectDelayMs: 1000,
52
55
  };
53
- /**
54
- * Default device settings.
55
- */
56
- const DEFAULT_SETTINGS = {
57
- weight: 0,
58
- chains: 0,
59
- eccentric: 0,
60
- };
61
56
  /**
62
57
  * High-level client for connecting to and controlling a Voltra device.
63
58
  */
@@ -67,7 +62,7 @@ class VoltraClient {
67
62
  this._connectionState = 'disconnected';
68
63
  this._connectedDeviceId = null;
69
64
  this._connectedDeviceName = null;
70
- this._settings = { ...DEFAULT_SETTINGS };
65
+ this._settings = { ...device_1.DEFAULT_SETTINGS };
71
66
  this._recordingState = 'idle';
72
67
  this._isReconnecting = false;
73
68
  this._reconnectAttempt = 0;
@@ -78,6 +73,11 @@ class VoltraClient {
78
73
  // Event listeners
79
74
  this.listeners = new Set();
80
75
  this.frameListeners = new Set();
76
+ this.repBoundaryListeners = new Set();
77
+ this.setBoundaryListeners = new Set();
78
+ this.modeConfirmedListeners = new Set();
79
+ this.settingsUpdateListeners = new Set();
80
+ this.batteryUpdateListeners = new Set();
81
81
  // Disposed flag
82
82
  this.disposed = false;
83
83
  this.options = { ...DEFAULT_OPTIONS, ...options };
@@ -226,7 +226,7 @@ class VoltraClient {
226
226
  // Success
227
227
  this._connectedDeviceId = device.id;
228
228
  this._connectedDeviceName = device.name ?? null;
229
- this._settings = { ...DEFAULT_SETTINGS };
229
+ this._settings = { ...device_1.DEFAULT_SETTINGS };
230
230
  this.setConnectionState('connected');
231
231
  this.emit({ type: 'connected', deviceId: device.id, deviceName: device.name ?? null });
232
232
  // Setup disconnect handler for auto-reconnect
@@ -269,13 +269,13 @@ class VoltraClient {
269
269
  /**
270
270
  * Set weight in pounds.
271
271
  *
272
- * @param lbs Weight (5-200 in increments of 5)
272
+ * @param lbs Weight (5-200, any integer value)
273
273
  */
274
274
  async setWeight(lbs) {
275
275
  this.ensureConnected();
276
- const cmd = commands_1.WeightCommands.get(lbs);
276
+ const cmd = (0, commands_1.getWeightCommand)(lbs);
277
277
  if (!cmd) {
278
- throw new errors_1.InvalidSettingError('weight', lbs, commands_1.WeightCommands.getAvailable());
278
+ throw new errors_1.InvalidSettingError('weight', lbs, (0, commands_1.getAvailableWeights)());
279
279
  }
280
280
  try {
281
281
  await this.adapter.write(cmd);
@@ -292,20 +292,40 @@ class VoltraClient {
292
292
  */
293
293
  async setChains(lbs) {
294
294
  this.ensureConnected();
295
- const cmds = commands_1.ChainsCommands.get(lbs);
296
- if (!cmds) {
297
- throw new errors_1.InvalidSettingError('chains', lbs, commands_1.ChainsCommands.getAvailable());
295
+ const cmd = (0, commands_1.getChainsCommand)(lbs);
296
+ if (!cmd) {
297
+ throw new errors_1.InvalidSettingError('chains', lbs, (0, commands_1.getAvailableChains)());
298
298
  }
299
299
  try {
300
- await this.adapter.write(cmds.step1);
301
- await (0, utils_1.delay)(constants_1.Timing.DUAL_COMMAND_DELAY_MS);
302
- await this.adapter.write(cmds.step2);
300
+ await this.adapter.write(cmd);
303
301
  this._settings.chains = lbs;
304
302
  }
305
303
  catch (e) {
306
304
  throw new errors_1.CommandError(`Failed to set chains: ${this.getErrorMessage(e)}`, 'setChains');
307
305
  }
308
306
  }
307
+ /**
308
+ * Set inverse chains weight.
309
+ *
310
+ * Inverse chains reduce resistance during the concentric (lifting) phase
311
+ * and add resistance during the eccentric (lowering) phase - opposite of regular chains.
312
+ *
313
+ * @param lbs Inverse chains weight in pounds (0-100)
314
+ */
315
+ async setInverseChains(lbs) {
316
+ this.ensureConnected();
317
+ const cmd = (0, commands_1.getInverseChainsCommand)(lbs);
318
+ if (!cmd) {
319
+ throw new errors_1.InvalidSettingError('inverseChains', lbs, (0, commands_1.getAvailableInverseChains)());
320
+ }
321
+ try {
322
+ await this.adapter.write(cmd);
323
+ this._settings.inverseChains = lbs;
324
+ }
325
+ catch (e) {
326
+ throw new errors_1.CommandError(`Failed to set inverse chains: ${this.getErrorMessage(e)}`, 'setInverseChains');
327
+ }
328
+ }
309
329
  /**
310
330
  * Set eccentric load adjustment.
311
331
  *
@@ -313,14 +333,12 @@ class VoltraClient {
313
333
  */
314
334
  async setEccentric(percent) {
315
335
  this.ensureConnected();
316
- const cmds = commands_1.EccentricCommands.get(percent);
317
- if (!cmds) {
318
- throw new errors_1.InvalidSettingError('eccentric', percent, commands_1.EccentricCommands.getAvailable());
336
+ const cmd = (0, commands_1.getEccentricCommand)(percent);
337
+ if (!cmd) {
338
+ throw new errors_1.InvalidSettingError('eccentric', percent, (0, commands_1.getAvailableEccentric)());
319
339
  }
320
340
  try {
321
- await this.adapter.write(cmds.step1);
322
- await (0, utils_1.delay)(constants_1.Timing.DUAL_COMMAND_DELAY_MS);
323
- await this.adapter.write(cmds.step2);
341
+ await this.adapter.write(cmd);
324
342
  this._settings.eccentric = percent;
325
343
  }
326
344
  catch (e) {
@@ -331,19 +349,49 @@ class VoltraClient {
331
349
  * Get available weight values.
332
350
  */
333
351
  getAvailableWeights() {
334
- return commands_1.WeightCommands.getAvailable();
352
+ return (0, commands_1.getAvailableWeights)();
335
353
  }
336
354
  /**
337
355
  * Get available chains values.
338
356
  */
339
357
  getAvailableChains() {
340
- return commands_1.ChainsCommands.getAvailable();
358
+ return (0, commands_1.getAvailableChains)();
341
359
  }
342
360
  /**
343
361
  * Get available eccentric values.
344
362
  */
345
363
  getAvailableEccentric() {
346
- return commands_1.EccentricCommands.getAvailable();
364
+ return (0, commands_1.getAvailableEccentric)();
365
+ }
366
+ /**
367
+ * Get available inverse chains values.
368
+ */
369
+ getAvailableInverseChains() {
370
+ return (0, commands_1.getAvailableInverseChains)();
371
+ }
372
+ /**
373
+ * Set training mode.
374
+ *
375
+ * @param mode Training mode to set
376
+ */
377
+ async setMode(mode) {
378
+ this.ensureConnected();
379
+ const cmd = (0, commands_1.getModeCommand)(mode);
380
+ if (!cmd) {
381
+ throw new errors_1.InvalidSettingError('mode', mode, (0, commands_1.getAvailableModes)());
382
+ }
383
+ try {
384
+ await this.adapter.write(cmd);
385
+ }
386
+ catch (e) {
387
+ throw new errors_1.CommandError(`Failed to set mode: ${this.getErrorMessage(e)}`, 'setMode');
388
+ }
389
+ }
390
+ /**
391
+ * Get available training modes.
392
+ */
393
+ getAvailableModes() {
394
+ return (0, commands_1.getAvailableModes)();
347
395
  }
348
396
  // ===========================================================================
349
397
  // Recording
@@ -458,6 +506,61 @@ class VoltraClient {
458
506
  this.listeners.add(wrappedListener);
459
507
  return () => this.listeners.delete(wrappedListener);
460
508
  }
509
+ /**
510
+ * Subscribe to rep boundary events.
511
+ * Called when the device signals a rep completion (end of concentric or eccentric phase).
512
+ *
513
+ * @param listener Rep boundary listener
514
+ * @returns Unsubscribe function
515
+ */
516
+ onRepBoundary(listener) {
517
+ this.repBoundaryListeners.add(listener);
518
+ return () => this.repBoundaryListeners.delete(listener);
519
+ }
520
+ /**
521
+ * Subscribe to set boundary events.
522
+ * Called when the device signals set completion.
523
+ *
524
+ * @param listener Set boundary listener
525
+ * @returns Unsubscribe function
526
+ */
527
+ onSetBoundary(listener) {
528
+ this.setBoundaryListeners.add(listener);
529
+ return () => this.setBoundaryListeners.delete(listener);
530
+ }
531
+ /**
532
+ * Subscribe to mode confirmation events.
533
+ * Called when the device confirms a training mode change.
534
+ *
535
+ * @param listener Mode confirmed listener
536
+ * @returns Unsubscribe function
537
+ */
538
+ onModeConfirmed(listener) {
539
+ this.modeConfirmedListeners.add(listener);
540
+ return () => this.modeConfirmedListeners.delete(listener);
541
+ }
542
+ /**
543
+ * Subscribe to settings update events.
544
+ * Called when the device reports its current settings.
545
+ *
546
+ * @param listener Settings update listener
547
+ * @returns Unsubscribe function
548
+ */
549
+ onSettingsUpdate(listener) {
550
+ this.settingsUpdateListeners.add(listener);
551
+ return () => this.settingsUpdateListeners.delete(listener);
552
+ }
553
+ /**
554
+ * Subscribe to battery update events.
555
+ * Called when the device reports its battery level.
556
+ *
557
+ * @param listener Battery update listener
558
+ * @returns Unsubscribe function
559
+ */
560
+ onBatteryUpdate(listener) {
561
+ this.batteryUpdateListeners.add(listener);
562
+ return () => this.batteryUpdateListeners.delete(listener);
563
+ }
461
564
  // ===========================================================================
462
565
  // Lifecycle
463
566
  // ===========================================================================
@@ -474,9 +577,14 @@ class VoltraClient {
474
577
  if (this.isConnected) {
475
578
  this.disconnect().catch(() => { });
476
579
  }
477
- // Clear listeners
580
+ // Clear all listeners
478
581
  this.listeners.clear();
479
582
  this.frameListeners.clear();
583
+ this.repBoundaryListeners.clear();
584
+ this.setBoundaryListeners.clear();
585
+ this.modeConfirmedListeners.clear();
586
+ this.settingsUpdateListeners.clear();
587
+ this.batteryUpdateListeners.clear();
480
588
  // Cleanup
481
589
  this.cleanup();
482
590
  }
@@ -506,32 +614,45 @@ class VoltraClient {
506
614
  setupNotificationHandler() {
507
615
  if (!this.adapter)
508
616
  return;
509
- const handler = (data) => {
510
- const result = (0, telemetry_decoder_1.decodeNotification)(data);
511
- if (!result)
512
- return;
513
- if (result.type === 'frame') {
514
- this.emit({ type: 'frame', frame: result.frame });
515
- this.frameListeners.forEach((listener) => listener(result.frame));
516
- }
517
- };
617
+ const handler = (0, notification_dispatcher_1.createNotificationHandler)({
618
+ onFrame: (frame) => {
619
+ this.emit({ type: 'frame', frame });
620
+ this.frameListeners.forEach((listener) => listener(frame));
621
+ },
622
+ onRepBoundary: () => {
623
+ this.emit({ type: 'repBoundary' });
624
+ this.repBoundaryListeners.forEach((listener) => listener());
625
+ },
626
+ onSetBoundary: () => {
627
+ this.emit({ type: 'setBoundary' });
628
+ this.setBoundaryListeners.forEach((listener) => listener());
629
+ },
630
+ onModeConfirmed: (mode) => {
631
+ this.emit({ type: 'modeConfirmed', mode });
632
+ this.modeConfirmedListeners.forEach((listener) => listener(mode));
633
+ },
634
+ onSettingsUpdate: (settings) => {
635
+ this.emit({ type: 'settingsUpdate', settings });
636
+ this.settingsUpdateListeners.forEach((listener) => listener(settings));
637
+ this.syncSettingsFromDevice(settings);
638
+ },
639
+ onBatteryUpdate: (battery) => {
640
+ this.emit({ type: 'batteryUpdate', battery });
641
+ this.batteryUpdateListeners.forEach((listener) => listener(battery));
642
+ },
643
+ });
518
644
  this.notificationUnsubscribe = this.adapter.onNotification(handler);
519
645
  }
520
646
  setupDisconnectHandler() {
521
- if (!this.adapter || !this.options.autoReconnect)
647
+ if (!this.adapter)
522
648
  return;
523
- // Monitor connection state
524
- const checkConnection = this.adapter.onConnectionStateChange?.((state) => {
525
- if (state === 'disconnected' && this._connectionState === 'connected') {
526
- this.handleUnexpectedDisconnect();
527
- }
528
- });
529
- // Store for cleanup if the adapter supports it
530
- if (checkConnection) {
649
+ const disconnectUnsub = (0, reconnect_handler_1.setupDisconnectMonitor)(this.adapter, this.options, () => this._connectionState === 'connected', () => this.handleUnexpectedDisconnect());
650
+ // Chain with existing notification unsubscribe for cleanup
651
+ if (disconnectUnsub) {
531
652
  const originalUnsubscribe = this.notificationUnsubscribe;
532
653
  this.notificationUnsubscribe = () => {
533
654
  originalUnsubscribe?.();
534
- checkConnection();
655
+ disconnectUnsub();
535
656
  };
536
657
  }
537
658
  }
@@ -544,35 +665,27 @@ class VoltraClient {
544
665
  }
545
666
  this._isReconnecting = true;
546
667
  this._reconnectAttempt = 0;
547
- while (this._reconnectAttempt < this.options.maxReconnectAttempts) {
548
- this._reconnectAttempt++;
549
- this.emit({
550
- type: 'reconnecting',
551
- attempt: this._reconnectAttempt,
552
- maxAttempts: this.options.maxReconnectAttempts,
553
- });
554
- try {
555
- await (0, utils_1.delay)(this.options.reconnectDelayMs);
556
- await this.connect(this._lastConnectedDevice);
557
- this._isReconnecting = false;
558
- return;
559
- }
560
- catch {
561
- // Continue to next attempt
562
- }
563
- }
564
- // Reconnect failed
565
- this._isReconnecting = false;
566
- this.cleanup();
567
- this.setConnectionState('disconnected');
568
- this.emit({ type: 'disconnected', deviceId: this._connectedDeviceId ?? 'unknown' });
668
+ const lastDevice = this._lastConnectedDevice;
669
+ const result = await (0, reconnect_handler_1.attemptReconnect)(this.options, {
670
+ onReconnecting: (attempt, maxAttempts) => {
671
+ this._reconnectAttempt = attempt;
672
+ this.emit({ type: 'reconnecting', attempt, maxAttempts });
673
+ },
674
+ reconnect: () => this.connect(lastDevice),
675
+ onReconnectFailed: () => {
676
+ this.cleanup();
677
+ this.setConnectionState('disconnected');
678
+ this.emit({ type: 'disconnected', deviceId: this._connectedDeviceId ?? 'unknown' });
679
+ },
680
+ });
681
+ this._isReconnecting = result.isReconnecting;
569
682
  }
570
683
  cleanup() {
571
684
  this.notificationUnsubscribe?.();
572
685
  this.notificationUnsubscribe = null;
573
686
  this._connectedDeviceId = null;
574
687
  this._connectedDeviceName = null;
575
- this._settings = { ...DEFAULT_SETTINGS };
688
+ this._settings = { ...device_1.DEFAULT_SETTINGS };
576
689
  this._recordingState = 'idle';
577
690
  }
578
691
  setConnectionState(state) {
@@ -627,6 +740,27 @@ class VoltraClient {
627
740
  getErrorMessage(e) {
628
741
  return e instanceof Error ? e.message : String(e);
629
742
  }
743
+ /**
744
+ * Sync internal settings state from device-reported settings.
745
+ * Called when the device sends a settings_update notification.
746
+ */
747
+ syncSettingsFromDevice(deviceSettings) {
748
+ if (deviceSettings.baseWeight !== undefined) {
749
+ this._settings.weight = deviceSettings.baseWeight;
750
+ }
751
+ if (deviceSettings.chains !== undefined) {
752
+ this._settings.chains = deviceSettings.chains;
753
+ }
754
+ if (deviceSettings.inverseChains !== undefined) {
755
+ this._settings.inverseChains = deviceSettings.inverseChains;
756
+ }
757
+ if (deviceSettings.eccentric !== undefined) {
758
+ this._settings.eccentric = deviceSettings.eccentric;
759
+ }
760
+ if (deviceSettings.trainingMode !== undefined) {
761
+ this._settings.mode = deviceSettings.trainingMode;
762
+ }
763
+ }
630
764
  }
631
765
  exports.VoltraClient = VoltraClient;
632
766
  //# sourceMappingURL=voltra-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"voltra-client.js","sourceRoot":"","sources":["../../../src/sdk/voltra-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voltra-client.js","sourceRoot":"","sources":["../../../src/sdk/voltra-client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bytesEqual = exports.bytesToHex = exports.hexToBytes = exports.delay = void 0;
3
+ exports.isDebugEnabled = exports.setDebugEnabled = exports.createLogger = exports.bytesEqual = exports.bytesToHex = exports.hexToBytes = exports.delay = void 0;
4
4
  /**
5
5
  * Shared Utilities
6
6
  */
@@ -9,4 +9,8 @@ Object.defineProperty(exports, "delay", { enumerable: true, get: function () { r
9
9
  Object.defineProperty(exports, "hexToBytes", { enumerable: true, get: function () { return utils_1.hexToBytes; } });
10
10
  Object.defineProperty(exports, "bytesToHex", { enumerable: true, get: function () { return utils_1.bytesToHex; } });
11
11
  Object.defineProperty(exports, "bytesEqual", { enumerable: true, get: function () { return utils_1.bytesEqual; } });
12
+ var logger_1 = require("./logger");
13
+ Object.defineProperty(exports, "createLogger", { enumerable: true, get: function () { return logger_1.createLogger; } });
14
+ Object.defineProperty(exports, "setDebugEnabled", { enumerable: true, get: function () { return logger_1.setDebugEnabled; } });
15
+ Object.defineProperty(exports, "isDebugEnabled", { enumerable: true, get: function () { return logger_1.isDebugEnabled; } });
12
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,iCAAoE;AAA3D,8FAAA,KAAK,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,mGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,iCAAoE;AAA3D,8FAAA,KAAK,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,mGAAA,UAAU,OAAA;AAClD,mCAAsF;AAA7E,sGAAA,YAAY,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,wGAAA,cAAc,OAAA"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /**
3
+ * SDK Logger
4
+ *
5
+ * Scoped, opt-in debug logging for SDK internals.
6
+ * Silent by default — consumers enable via `setDebugEnabled(true)`.
7
+ *
8
+ * Usage:
9
+ * const log = createLogger('NativeBLE');
10
+ * log.debug('Starting scan...'); // [NativeBLE] Starting scan...
11
+ * log.warn('MTU request failed'); // [NativeBLE] MTU request failed
12
+ * log.error('Connect error:', error); // [NativeBLE] Connect error: ...
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.setDebugEnabled = setDebugEnabled;
16
+ exports.isDebugEnabled = isDebugEnabled;
17
+ exports.createLogger = createLogger;
18
+ let debugEnabled = false;
19
+ /**
20
+ * Enable or disable SDK debug logging.
21
+ * When disabled (default), only warnings and errors are emitted.
22
+ */
23
+ function setDebugEnabled(enabled) {
24
+ debugEnabled = enabled;
25
+ }
26
+ /**
27
+ * Check if debug logging is enabled.
28
+ */
29
+ function isDebugEnabled() {
30
+ return debugEnabled;
31
+ }
32
+ /**
33
+ * Create a scoped logger for a module.
34
+ *
35
+ * @param tag Module name shown in brackets, e.g. 'NativeBLE'
36
+ */
37
+ function createLogger(tag) {
38
+ const prefix = `[${tag}]`;
39
+ return {
40
+ debug: (...args) => {
41
+ if (debugEnabled) {
42
+ // eslint-disable-next-line no-console
43
+ console.log(prefix, ...args);
44
+ }
45
+ },
46
+ warn: (...args) => {
47
+ console.warn(prefix, ...args);
48
+ },
49
+ error: (...args) => {
50
+ console.error(prefix, ...args);
51
+ },
52
+ };
53
+ }
54
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/shared/logger.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAQH,0CAEC;AAKD,wCAEC;AAmBD,oCAiBC;AAnDD,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB;;;GAGG;AACH,SAAgB,eAAe,CAAC,OAAgB;IAC9C,YAAY,GAAG,OAAO,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc;IAC5B,OAAO,YAAY,CAAC;AACtB,CAAC;AAcD;;;;GAIG;AACH,SAAgB,YAAY,CAAC,GAAW;IACtC,MAAM,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC;IAE1B,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC5B,IAAI,YAAY,EAAE,CAAC;gBACjB,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC5B,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QACjC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -5,14 +5,7 @@
5
5
  * Voltra device management, telemetry processing, and workout control.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.identifyMessageType = exports.encodeTelemetryFrame = exports.decodeTelemetryFrame = exports.decodeNotification = exports.PhaseNames = exports.MovementPhase = exports.BLE = exports.Workout = exports.Init = exports.Auth = exports.Timing = exports.TelemetryOffsets = exports.MessageTypes = exports.EccentricCommands = exports.ChainsCommands = exports.WeightCommands = exports.isEccentricPhase = exports.isConcentricPhase = exports.isActivePhase = exports.createFrame = exports.filterVoltraDevices = exports.isVoltraDevice = exports.VOLTRA_DEVICE_PREFIX = exports.VoltraConnectionStateModel = exports.isValidVoltraTransition = exports.DEFAULT_SETTINGS = exports.VoltraDevice = void 0;
9
- // =============================================================================
10
- // Models
11
- // =============================================================================
12
- // Device model
13
- var device_1 = require("./models/device");
14
- Object.defineProperty(exports, "VoltraDevice", { enumerable: true, get: function () { return device_1.VoltraDevice; } });
15
- Object.defineProperty(exports, "DEFAULT_SETTINGS", { enumerable: true, get: function () { return device_1.DEFAULT_SETTINGS; } });
8
+ exports.identifyMessageType = exports.encodeTelemetryFrame = exports.decodeTelemetryFrame = exports.decodeNotification = exports.VALID_TRAINING_MODES = exports.TrainingModeNames = exports.TrainingMode = exports.ParameterNames = exports.ParameterId = exports.PhaseNames = exports.MovementPhase = exports.BLE = exports.Workout = exports.Init = exports.Auth = exports.Timing = exports.TelemetryOffsets = exports.MessageTypes = exports.getAvailableModes = exports.getAvailableEccentric = exports.getAvailableChains = exports.getAvailableWeights = exports.getModeCommand = exports.getEccentricCommand = exports.getChainsCommand = exports.getWeightCommand = exports.isEccentricPhase = exports.isConcentricPhase = exports.isActivePhase = exports.createFrame = exports.filterVoltraDevices = exports.isVoltraDevice = exports.VOLTRA_DEVICE_PREFIX = exports.VoltraConnectionStateModel = exports.isValidVoltraTransition = void 0;
16
9
  // Connection model
17
10
  var connection_1 = require("./models/connection");
18
11
  Object.defineProperty(exports, "isValidVoltraTransition", { enumerable: true, get: function () { return connection_1.isValidVoltraTransition; } });
@@ -31,11 +24,16 @@ Object.defineProperty(exports, "isEccentricPhase", { enumerable: true, get: func
31
24
  // =============================================================================
32
25
  // Protocol
33
26
  // =============================================================================
34
- // Command builders
27
+ // Command lookup functions
35
28
  var commands_1 = require("./protocol/commands");
36
- Object.defineProperty(exports, "WeightCommands", { enumerable: true, get: function () { return commands_1.WeightCommands; } });
37
- Object.defineProperty(exports, "ChainsCommands", { enumerable: true, get: function () { return commands_1.ChainsCommands; } });
38
- Object.defineProperty(exports, "EccentricCommands", { enumerable: true, get: function () { return commands_1.EccentricCommands; } });
29
+ Object.defineProperty(exports, "getWeightCommand", { enumerable: true, get: function () { return commands_1.getWeightCommand; } });
30
+ Object.defineProperty(exports, "getChainsCommand", { enumerable: true, get: function () { return commands_1.getChainsCommand; } });
31
+ Object.defineProperty(exports, "getEccentricCommand", { enumerable: true, get: function () { return commands_1.getEccentricCommand; } });
32
+ Object.defineProperty(exports, "getModeCommand", { enumerable: true, get: function () { return commands_1.getModeCommand; } });
33
+ Object.defineProperty(exports, "getAvailableWeights", { enumerable: true, get: function () { return commands_1.getAvailableWeights; } });
34
+ Object.defineProperty(exports, "getAvailableChains", { enumerable: true, get: function () { return commands_1.getAvailableChains; } });
35
+ Object.defineProperty(exports, "getAvailableEccentric", { enumerable: true, get: function () { return commands_1.getAvailableEccentric; } });
36
+ Object.defineProperty(exports, "getAvailableModes", { enumerable: true, get: function () { return commands_1.getAvailableModes; } });
39
37
  // Protocol constants
40
38
  var constants_1 = require("./protocol/constants");
41
39
  Object.defineProperty(exports, "MessageTypes", { enumerable: true, get: function () { return constants_1.MessageTypes; } });
@@ -47,6 +45,11 @@ Object.defineProperty(exports, "Workout", { enumerable: true, get: function () {
47
45
  Object.defineProperty(exports, "BLE", { enumerable: true, get: function () { return constants_1.BLE; } });
48
46
  Object.defineProperty(exports, "MovementPhase", { enumerable: true, get: function () { return constants_1.MovementPhase; } });
49
47
  Object.defineProperty(exports, "PhaseNames", { enumerable: true, get: function () { return constants_1.PhaseNames; } });
48
+ Object.defineProperty(exports, "ParameterId", { enumerable: true, get: function () { return constants_1.ParameterId; } });
49
+ Object.defineProperty(exports, "ParameterNames", { enumerable: true, get: function () { return constants_1.ParameterNames; } });
50
+ Object.defineProperty(exports, "TrainingMode", { enumerable: true, get: function () { return constants_1.TrainingMode; } });
51
+ Object.defineProperty(exports, "TrainingModeNames", { enumerable: true, get: function () { return constants_1.TrainingModeNames; } });
52
+ Object.defineProperty(exports, "VALID_TRAINING_MODES", { enumerable: true, get: function () { return constants_1.VALID_TRAINING_MODES; } });
50
53
  // Telemetry decoder (low-level)
51
54
  var telemetry_decoder_1 = require("./protocol/telemetry-decoder");
52
55
  Object.defineProperty(exports, "decodeNotification", { enumerable: true, get: function () { return telemetry_decoder_1.decodeNotification; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/voltra/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF,eAAe;AACf,0CAMyB;AALvB,sGAAA,YAAY,OAAA;AACZ,0GAAA,gBAAgB,OAAA;AAMlB,mBAAmB;AACnB,kDAI6B;AAF3B,qHAAA,uBAAuB,OAAA;AACvB,wHAAA,0BAA0B,OAAA;AAG5B,gBAAgB;AAChB,wDAAmG;AAA1F,qHAAA,oBAAoB,OAAA;AAAE,+GAAA,cAAc,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAElE,mBAAmB;AACnB,gDAM4B;AAJ1B,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,8GAAA,iBAAiB,OAAA;AACjB,6GAAA,gBAAgB,OAAA;AAGlB,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF,mBAAmB;AACnB,gDAK6B;AAJ3B,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AACd,6GAAA,iBAAiB,OAAA;AAInB,qBAAqB;AACrB,kDAU8B;AAT5B,yGAAA,YAAY,OAAA;AACZ,6GAAA,gBAAgB,OAAA;AAChB,mGAAA,MAAM,OAAA;AACN,iGAAA,IAAI,OAAA;AACJ,iGAAA,IAAI,OAAA;AACJ,oGAAA,OAAO,OAAA;AACP,gGAAA,GAAG,OAAA;AACH,0GAAA,aAAa,OAAA;AACb,uGAAA,UAAU,OAAA;AAGZ,gCAAgC;AAChC,kEAOsC;AANpC,uHAAA,kBAAkB,OAAA;AAClB,yHAAA,oBAAoB,OAAA;AACpB,yHAAA,oBAAoB,OAAA;AACpB,wHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/voltra/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAaH,mBAAmB;AACnB,kDAI6B;AAF3B,qHAAA,uBAAuB,OAAA;AACvB,wHAAA,0BAA0B,OAAA;AAG5B,gBAAgB;AAChB,wDAAmG;AAA1F,qHAAA,oBAAoB,OAAA;AAAE,+GAAA,cAAc,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAElE,mBAAmB;AACnB,gDAM4B;AAJ1B,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,8GAAA,iBAAiB,OAAA;AACjB,6GAAA,gBAAgB,OAAA;AAGlB,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF,2BAA2B;AAC3B,gDAS6B;AAR3B,4GAAA,gBAAgB,OAAA;AAChB,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,0GAAA,cAAc,OAAA;AACd,+GAAA,mBAAmB,OAAA;AACnB,8GAAA,kBAAkB,OAAA;AAClB,iHAAA,qBAAqB,OAAA;AACrB,6GAAA,iBAAiB,OAAA;AAGnB,qBAAqB;AACrB,kDAe8B;AAd5B,yGAAA,YAAY,OAAA;AACZ,6GAAA,gBAAgB,OAAA;AAChB,mGAAA,MAAM,OAAA;AACN,iGAAA,IAAI,OAAA;AACJ,iGAAA,IAAI,OAAA;AACJ,oGAAA,OAAO,OAAA;AACP,gGAAA,GAAG,OAAA;AACH,0GAAA,aAAa,OAAA;AACb,uGAAA,UAAU,OAAA;AACV,wGAAA,WAAW,OAAA;AACX,2GAAA,cAAc,OAAA;AACd,yGAAA,YAAY,OAAA;AACZ,8GAAA,iBAAiB,OAAA;AACjB,iHAAA,oBAAoB,OAAA;AAGtB,gCAAgC;AAChC,kEAOsC;AANpC,uHAAA,kBAAkB,OAAA;AAClB,yHAAA,oBAAoB,OAAA;AACpB,yHAAA,oBAAoB,OAAA;AACpB,wHAAA,mBAAmB,OAAA"}