@voltras/node-sdk 0.1.2 → 0.2.1

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 +33 -0
  39. package/dist/cjs/voltra/protocol/constants/index.js.map +1 -0
  40. package/dist/cjs/voltra/protocol/constants/message-types.js +75 -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 +130 -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 +69 -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 +132 -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 +57 -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 +249 -0
  143. package/dist/types/voltra/protocol/types.d.ts.map +1 -0
  144. package/package.json +9 -8
  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
@@ -1,54 +0,0 @@
1
- {
2
- "_comment": "Voltra BLE Protocol - Authentication, Initialization, and Telemetry",
3
- "_version": "1.1.0",
4
- "ble": {
5
- "service_uuid": "E4DADA34-0867-8783-9F70-2CA29216C7E4",
6
- "notify_char_uuid": "55CA1E52-7354-25DE-6AFC-B7DF1E8816AC",
7
- "write_char_uuid": "A010891D-F50F-44F0-901F-9A2421A9E050",
8
- "device_name_prefix": "VTR-"
9
- },
10
- "auth": {
11
- "_comment": "41-byte device IDs with proprietary checksums",
12
- "iphone": "552904c90110000020004f6950686f6e6500000000000000000000000000000084ab1a5f29200172d8",
13
- "ipad": "552904c90110000020004f69506164000000000000000000000000000000000084ab1a5f292001ea4f"
14
- },
15
- "init": {
16
- "_comment": "Minimal 2-command init sequence (reduced from 22+ in Beyond+ app)",
17
- "commands": [
18
- "550f0801aad200002000ff00aa04194000",
19
- "551f044eaa100000200027811065f8c6b9179047b797d3351c04bffb925cd64100"
20
- ]
21
- },
22
- "workout": {
23
- "_comment": "Workout control commands",
24
- "prepare": "551204c7aa1014002000110100b04f01db10",
25
- "setup": "55130403aa10150020000f02006a50823e8f2f",
26
- "go": "55130403aa1016002000110100893e05008173",
27
- "stop": "55130403aa101b002000110100893e040037dd"
28
- },
29
- "telemetry": {
30
- "_comment": "Telemetry parsing configuration - message types, byte offsets, movement phases",
31
- "message_types": {
32
- "_comment": "First 4 bytes of notifications identify message type",
33
- "stream": "553a0470",
34
- "rep_summary": "554a04c6",
35
- "set_summary": "554f0439",
36
- "status_update": "553404ac"
37
- },
38
- "offsets": {
39
- "_comment": "Byte offsets for parsing telemetry stream messages",
40
- "sequence": 6,
41
- "phase": 13,
42
- "position": 24,
43
- "force": 26,
44
- "velocity": 28
45
- },
46
- "phases": {
47
- "_comment": "Movement phase values (byte at offset 13)",
48
- "idle": 0,
49
- "concentric": 1,
50
- "hold": 2,
51
- "eccentric": 3
52
- }
53
- }
54
- }
@@ -1,62 +0,0 @@
1
- {
2
- "_comment": "Weight commands (863e register) - 5 to 200 lbs in 5 lb increments",
3
- "format": {
4
- "description": "21-byte command structure",
5
- "length": 21,
6
- "structure": [
7
- { "name": "prefix", "bytes": "0-5", "value": "55130403aa10", "constant": true },
8
- { "name": "sequence", "bytes": "6-7", "value": "varies", "encoding": "uint16_le" },
9
- { "name": "mode", "bytes": "8-12", "value": "2000110100", "constant": true },
10
- { "name": "register", "bytes": "13-14", "value": "863e", "constant": true },
11
- { "name": "value", "bytes": "15-16", "value": "weight_in_lbs", "encoding": "uint16_le" },
12
- { "name": "checksum", "bytes": "17-19", "value": "varies", "encoding": "3_bytes_hex" },
13
- { "name": "padding", "bytes": "20", "value": "00", "constant": true }
14
- ],
15
- "prefix": "55130403aa10",
16
- "mode": "2000110100",
17
- "register": "863e",
18
- "padding": "00"
19
- },
20
- "values": {
21
- "5": { "seq": "1500", "checksum": "cb3f37", "_full": "55130403aa1015002000110100863e0500cb3f3700" },
22
- "10": { "seq": "1400", "checksum": "92e941", "_full": "55130403aa1014002000110100863e0a0092e94100" },
23
- "15": { "seq": "1500", "checksum": "bbc234", "_full": "55130403aa1015002000110100863e0f00bbc23400" },
24
- "20": { "seq": "1600", "checksum": "314d40", "_full": "55130403aa1016002000110100863e1400314d4000" },
25
- "25": { "seq": "1700", "checksum": "d8a836", "_full": "55130403aa1017002000110100863e1900d8a83600" },
26
- "30": { "seq": "1800", "checksum": "9cf934", "_full": "55130403aa1018002000110100863e1e009cf93400" },
27
- "35": { "seq": "1900", "checksum": "d7aa37", "_full": "55130403aa1019002000110100863e2300d7aa3700" },
28
- "40": { "seq": "1a00", "checksum": "ccb037", "_full": "55130403aa101a002000110100863e2800ccb03700" },
29
- "45": { "seq": "1b00", "checksum": "e59b40", "_full": "55130403aa101b002000110100863e2d00e59b4000" },
30
- "50": { "seq": "1c00", "checksum": "5a2d37", "_full": "55130403aa101c002000110100863e32005a2d3700" },
31
- "55": { "seq": "1700", "checksum": "fb1112", "_full": "55130403aa1017002000110100863e3700fb111200" },
32
- "60": { "seq": "1800", "checksum": "1fe937", "_full": "55130403aa1018002000110100863e3c001fe93700" },
33
- "65": { "seq": "1900", "checksum": "32fc40", "_full": "55130403aa1019002000110100863e410032fc4000" },
34
- "70": { "seq": "1a00", "checksum": "894f37", "_full": "55130403aa101a002000110100863e4600894f3700" },
35
- "75": { "seq": "1b00", "checksum": "60aa12", "_full": "55130403aa101b002000110100863e4b0060aa1200" },
36
- "80": { "seq": "1c00", "checksum": "bf7b43", "_full": "55130403aa101c002000110100863e5000bf7b4300" },
37
- "85": { "seq": "1d00", "checksum": "965037", "_full": "55130403aa101d002000110100863e550096503700" },
38
- "90": { "seq": "1e00", "checksum": "ed2d37", "_full": "55130403aa101e002000110100863e5a00ed2d3700" },
39
- "95": { "seq": "1f00", "checksum": "c40634", "_full": "55130403aa101f002000110100863e5f00c4063400" },
40
- "100": { "seq": "2000", "checksum": "4ddb12", "_full": "55130403aa1020002000110100863e64004ddb1200" },
41
- "105": { "seq": "2100", "checksum": "a43e37", "_full": "55130403aa1021002000110100863e6900a43e3700" },
42
- "110": { "seq": "3000", "checksum": "785740", "_full": "55130403aa1030002000110100863e6e0078574000" },
43
- "115": { "seq": "3100", "checksum": "00272d", "_full": "55130403aa1031002000110100863e730000272d00" },
44
- "120": { "seq": "3200", "checksum": "1b3d40", "_full": "55130403aa1032002000110100863e78001b3d4000" },
45
- "125": { "seq": "3900", "checksum": "ba013f", "_full": "55130403aa1039002000110100863e7d00ba013f00" },
46
- "130": { "seq": "3a00", "checksum": "c90037", "_full": "55130403aa103a002000110100863e8200c9003700" },
47
- "135": { "seq": "3b00", "checksum": "e02b34", "_full": "55130403aa103b002000110100863e8700e02b3400" },
48
- "140": { "seq": "3c00", "checksum": "ae6f12", "_full": "55130403aa103c002000110100863e8c00ae6f1200" },
49
- "145": { "seq": "3d00", "checksum": "d61f37", "_full": "55130403aa103d002000110100863e9100d61f3700" },
50
- "150": { "seq": "3e00", "checksum": "6dac2d", "_full": "55130403aa103e002000110100863e96006dac2d00" },
51
- "155": { "seq": "3f00", "checksum": "844937", "_full": "55130403aa103f002000110100863e9b0084493700" },
52
- "160": { "seq": "4000", "checksum": "085941", "_full": "55130403aa1040002000110100863ea00008594100" },
53
- "165": { "seq": "4100", "checksum": "217237", "_full": "55130403aa1041002000110100863ea50021723700" },
54
- "170": { "seq": "4200", "checksum": "5a0f43", "_full": "55130403aa1042002000110100863eaa005a0f4300" },
55
- "175": { "seq": "4300", "checksum": "732434", "_full": "55130403aa1043002000110100863eaf0073243400" },
56
- "180": { "seq": "4400", "checksum": "acf537", "_full": "55130403aa1044002000110100863eb400acf53700" },
57
- "185": { "seq": "4500", "checksum": "451037", "_full": "55130403aa1045002000110100863eb90045103700" },
58
- "190": { "seq": "4600", "checksum": "fea312", "_full": "55130403aa1046002000110100863ebe00fea31200" },
59
- "195": { "seq": "4700", "checksum": "d3b637", "_full": "55130403aa1047002000110100863ec300d3b63700" },
60
- "200": { "seq": "4800", "checksum": "374e41", "_full": "55130403aa1048002000110100863ec800374e4100" }
61
- }
62
- }
@@ -1,103 +0,0 @@
1
- /**
2
- * Voltra Protocol Constants
3
- *
4
- * BLE configuration, authentication, and command constants for
5
- * Beyond Power Voltra resistance training devices.
6
- */
7
- export declare const BLE: {
8
- /** Main service UUID for Voltra devices */
9
- readonly SERVICE_UUID: string;
10
- /** Characteristic for receiving notifications */
11
- readonly NOTIFY_CHAR_UUID: string;
12
- /** Characteristic for writing commands */
13
- readonly WRITE_CHAR_UUID: string;
14
- /** Device name prefix for scanning (e.g., "VTR-") */
15
- readonly DEVICE_NAME_PREFIX: string;
16
- };
17
- export declare const Timing: {
18
- /** Delay between init commands (ms) */
19
- readonly INIT_COMMAND_DELAY_MS: 20;
20
- /** Delay between dual commands like chains/eccentric (ms) */
21
- readonly DUAL_COMMAND_DELAY_MS: 500;
22
- /** Timeout for authentication response (ms) */
23
- readonly AUTH_TIMEOUT_MS: 3000;
24
- /** Minimum responses expected during auth */
25
- readonly MIN_AUTH_RESPONSES: 2;
26
- /** Minimum responses expected after commands */
27
- readonly MIN_COMMAND_RESPONSES: 4;
28
- };
29
- /**
30
- * Device authentication identifiers.
31
- *
32
- * 41-byte device IDs that identify the connecting app.
33
- * Both iPhone and iPad IDs work - the Voltra doesn't care which.
34
- */
35
- export declare const Auth: {
36
- /** iPhone identity from Beyond+ app */
37
- readonly DEVICE_ID: Uint8Array<ArrayBufferLike>;
38
- /** iPad identity (alternative) */
39
- readonly DEVICE_ID_IPAD: Uint8Array<ArrayBufferLike>;
40
- };
41
- /**
42
- * Minimal 2-command init sequence (reduced from 22+ in Beyond+ app).
43
- */
44
- export declare const Init: {
45
- readonly SEQUENCE: Uint8Array<ArrayBufferLike>[];
46
- };
47
- /**
48
- * Workout control commands.
49
- *
50
- * To start: set weight -> PREPARE -> SETUP -> GO
51
- * To stop: STOP
52
- */
53
- export declare const Workout: {
54
- /** Prepare for workout (b04f=01) */
55
- readonly PREPARE: Uint8Array<ArrayBufferLike>;
56
- /** Setup workout mode (823e setup) */
57
- readonly SETUP: Uint8Array<ArrayBufferLike>;
58
- /** Start resistance (893e=05) */
59
- readonly GO: Uint8Array<ArrayBufferLike>;
60
- /** Stop resistance (893e=04) */
61
- readonly STOP: Uint8Array<ArrayBufferLike>;
62
- };
63
- /**
64
- * Message type identifiers (first 4 bytes of notifications).
65
- * Values loaded from protocol.json for single source of truth.
66
- */
67
- export declare const MessageTypes: {
68
- /** Real-time telemetry stream (~11 Hz) */
69
- readonly TELEMETRY_STREAM: Uint8Array<ArrayBufferLike>;
70
- /** Rep completion summary */
71
- readonly REP_SUMMARY: Uint8Array<ArrayBufferLike>;
72
- /** Set completion summary */
73
- readonly SET_SUMMARY: Uint8Array<ArrayBufferLike>;
74
- /** Status update */
75
- readonly STATUS_UPDATE: Uint8Array<ArrayBufferLike>;
76
- };
77
- /**
78
- * Byte offsets for parsing telemetry stream messages.
79
- * Values loaded from protocol.json for single source of truth.
80
- */
81
- export declare const TelemetryOffsets: {
82
- readonly SEQUENCE: number;
83
- readonly PHASE: number;
84
- readonly POSITION: number;
85
- readonly FORCE: number;
86
- readonly VELOCITY: number;
87
- };
88
- /**
89
- * Movement phase during workout.
90
- * Values match protocol.json telemetry.phases.
91
- */
92
- export declare enum MovementPhase {
93
- IDLE = 0,// protocolData.telemetry.phases.idle
94
- CONCENTRIC = 1,// protocolData.telemetry.phases.concentric - Pulling (muscle shortening)
95
- HOLD = 2,// protocolData.telemetry.phases.hold - Top of rep / transition
96
- ECCENTRIC = 3,// protocolData.telemetry.phases.eccentric - Releasing (muscle lengthening)
97
- UNKNOWN = -1
98
- }
99
- /**
100
- * Human-readable phase names.
101
- */
102
- export declare const PhaseNames: Record<MovementPhase, string>;
103
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/voltra/protocol/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,eAAO,MAAM,GAAG;IACd,2CAA2C;;IAE3C,iDAAiD;;IAEjD,0CAA0C;;IAE1C,qDAAqD;;CAE7C,CAAC;AAMX,eAAO,MAAM,MAAM;IACjB,uCAAuC;;IAEvC,6DAA6D;;IAE7D,+CAA+C;;IAE/C,6CAA6C;;IAE7C,gDAAgD;;CAExC,CAAC;AAMX;;;;;GAKG;AACH,eAAO,MAAM,IAAI;IACf,uCAAuC;;IAEvC,kCAAkC;;CAE1B,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,IAAI;;CAEP,CAAC;AAMX;;;;;GAKG;AACH,eAAO,MAAM,OAAO;IAClB,oCAAoC;;IAEpC,sCAAsC;;IAEtC,iCAAiC;;IAEjC,gCAAgC;;CAExB,CAAC;AAMX;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB,0CAA0C;;IAE1C,6BAA6B;;IAE7B,6BAA6B;;IAE7B,oBAAoB;;CAEZ,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;CAMnB,CAAC;AAEX;;;GAGG;AACH,oBAAY,aAAa;IACvB,IAAI,IAAI,CAAE,qCAAqC;IAC/C,UAAU,IAAI,CAAE,yEAAyE;IACzF,IAAI,IAAI,CAAE,+DAA+D;IACzE,SAAS,IAAI,CAAE,2EAA2E;IAC1F,OAAO,KAAK;CACb;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAMpD,CAAC"}