@bota.dev/react-native-app-sdk 2.0.0-beta.1 → 2.0.0-beta.11

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 (152) hide show
  1. package/README.md +115 -4
  2. package/android/build.gradle +1 -0
  3. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidDevices.kt +22 -0
  4. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidDiagnostics.kt +53 -0
  5. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidLogs.kt +16 -0
  6. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingUploads.kt +144 -14
  7. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordings.kt +150 -29
  8. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKEncryptedUploadV2Materials.kt +27 -0
  9. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKModule.kt +86 -3
  10. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKPackage.kt +9 -0
  11. package/android/src/main/java/dev/bota/sdk/reactnative/upload/BotaUploadV2BackendModule.kt +66 -0
  12. package/android/src/main/java/dev/bota/sdk/reactnative/upload/NativeUpload.kt +400 -0
  13. package/android/src/main/java/dev/bota/sdk/reactnative/upload/UploadHttp.kt +158 -0
  14. package/android/src/main/java/dev/bota/sdk/reactnative/upload/UploadJournal.kt +112 -0
  15. package/android/src/main/java/dev/bota/sdk/reactnative/upload/UploadModels.kt +171 -0
  16. package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidDevicesTest.kt +35 -0
  17. package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidLogsTest.kt +33 -0
  18. package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingUploadsTest.kt +135 -6
  19. package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingsTest.kt +236 -10
  20. package/generated/codegen-contract.json +751 -32
  21. package/ios/BotaDeviceSDK.mm +114 -0
  22. package/ios/BotaDeviceSDKAppleBridge.swift +141 -4
  23. package/ios/BotaDeviceSDKAppleDevices.swift +11 -0
  24. package/ios/BotaDeviceSDKAppleDiagnostics.swift +40 -0
  25. package/ios/BotaDeviceSDKAppleLogs.swift +18 -0
  26. package/ios/BotaDeviceSDKAppleRecordingUploads.swift +138 -6
  27. package/ios/BotaDeviceSDKAppleRecordings.swift +113 -5
  28. package/ios/BotaDeviceSDKEncryptedUploadV2Materials.swift +40 -0
  29. package/ios/BotaUploadV2Backend.mm +49 -0
  30. package/ios/UploadBackend/BotaUploadV2BackendBridge.swift +98 -0
  31. package/ios/UploadBackend/UploadCoordinator.swift +84 -0
  32. package/ios/UploadBackend/UploadHTTP.swift +82 -0
  33. package/ios/UploadBackend/UploadJournal.swift +187 -0
  34. package/ios/UploadBackend/UploadModels.swift +273 -0
  35. package/ios/UploadBackend/UploadOperation.swift +391 -0
  36. package/lib/commonjs/BotaClient.js +16 -2
  37. package/lib/commonjs/BotaClient.js.map +1 -1
  38. package/lib/commonjs/ble/constants.js +5 -1
  39. package/lib/commonjs/ble/constants.js.map +1 -1
  40. package/lib/commonjs/ble/deviceDiagnostics.js +240 -0
  41. package/lib/commonjs/ble/deviceDiagnostics.js.map +1 -0
  42. package/lib/commonjs/client.js +183 -28
  43. package/lib/commonjs/client.js.map +1 -1
  44. package/lib/commonjs/clientPresence.js +26 -0
  45. package/lib/commonjs/clientPresence.js.map +1 -0
  46. package/lib/commonjs/encryptedUploadV2Backend.js +200 -0
  47. package/lib/commonjs/encryptedUploadV2Backend.js.map +1 -0
  48. package/lib/commonjs/index.js +34 -0
  49. package/lib/commonjs/index.js.map +1 -1
  50. package/lib/commonjs/managers/DeviceManager.js +23 -0
  51. package/lib/commonjs/managers/DeviceManager.js.map +1 -1
  52. package/lib/commonjs/managers/NativeUploadQueue.js +386 -0
  53. package/lib/commonjs/managers/NativeUploadQueue.js.map +1 -0
  54. package/lib/commonjs/managers/RecordingManager.js +83 -102
  55. package/lib/commonjs/managers/RecordingManager.js.map +1 -1
  56. package/lib/commonjs/managers/uploadRecoveryMetadata.js +83 -0
  57. package/lib/commonjs/managers/uploadRecoveryMetadata.js.map +1 -0
  58. package/lib/commonjs/sdkIdentity.js +10 -0
  59. package/lib/commonjs/sdkIdentity.js.map +1 -0
  60. package/lib/commonjs/specs/NativeBotaDeviceSDK.js.map +1 -1
  61. package/lib/commonjs/specs/NativeBotaUploadV2Backend.js +11 -0
  62. package/lib/commonjs/specs/NativeBotaUploadV2Backend.js.map +1 -0
  63. package/lib/commonjs/uploadRecovery.js +68 -0
  64. package/lib/commonjs/uploadRecovery.js.map +1 -0
  65. package/lib/module/BotaClient.js +16 -2
  66. package/lib/module/BotaClient.js.map +1 -1
  67. package/lib/module/ble/constants.js +4 -0
  68. package/lib/module/ble/constants.js.map +1 -1
  69. package/lib/module/ble/deviceDiagnostics.js +234 -0
  70. package/lib/module/ble/deviceDiagnostics.js.map +1 -0
  71. package/lib/module/client.js +183 -28
  72. package/lib/module/client.js.map +1 -1
  73. package/lib/module/clientPresence.js +22 -0
  74. package/lib/module/clientPresence.js.map +1 -0
  75. package/lib/module/encryptedUploadV2Backend.js +196 -0
  76. package/lib/module/encryptedUploadV2Backend.js.map +1 -0
  77. package/lib/module/index.js +7 -0
  78. package/lib/module/index.js.map +1 -1
  79. package/lib/module/managers/DeviceManager.js +23 -0
  80. package/lib/module/managers/DeviceManager.js.map +1 -1
  81. package/lib/module/managers/NativeUploadQueue.js +380 -0
  82. package/lib/module/managers/NativeUploadQueue.js.map +1 -0
  83. package/lib/module/managers/RecordingManager.js +83 -102
  84. package/lib/module/managers/RecordingManager.js.map +1 -1
  85. package/lib/module/managers/uploadRecoveryMetadata.js +77 -0
  86. package/lib/module/managers/uploadRecoveryMetadata.js.map +1 -0
  87. package/lib/module/sdkIdentity.js +6 -0
  88. package/lib/module/sdkIdentity.js.map +1 -0
  89. package/lib/module/specs/NativeBotaDeviceSDK.js.map +1 -1
  90. package/lib/module/specs/NativeBotaUploadV2Backend.js +9 -0
  91. package/lib/module/specs/NativeBotaUploadV2Backend.js.map +1 -0
  92. package/lib/module/uploadRecovery.js +64 -0
  93. package/lib/module/uploadRecovery.js.map +1 -0
  94. package/lib/typescript/BotaClient.d.ts +2 -0
  95. package/lib/typescript/BotaClient.d.ts.map +1 -1
  96. package/lib/typescript/ble/constants.d.ts +4 -0
  97. package/lib/typescript/ble/constants.d.ts.map +1 -1
  98. package/lib/typescript/ble/deviceDiagnostics.d.ts +10 -0
  99. package/lib/typescript/ble/deviceDiagnostics.d.ts.map +1 -0
  100. package/lib/typescript/client.d.ts +24 -3
  101. package/lib/typescript/client.d.ts.map +1 -1
  102. package/lib/typescript/clientPresence.d.ts +26 -0
  103. package/lib/typescript/clientPresence.d.ts.map +1 -0
  104. package/lib/typescript/encryptedUploadV2Backend.d.ts +41 -0
  105. package/lib/typescript/encryptedUploadV2Backend.d.ts.map +1 -0
  106. package/lib/typescript/index.d.ts +13 -4
  107. package/lib/typescript/index.d.ts.map +1 -1
  108. package/lib/typescript/managers/DeviceManager.d.ts +5 -1
  109. package/lib/typescript/managers/DeviceManager.d.ts.map +1 -1
  110. package/lib/typescript/managers/NativeUploadQueue.d.ts +41 -0
  111. package/lib/typescript/managers/NativeUploadQueue.d.ts.map +1 -0
  112. package/lib/typescript/managers/RecordingManager.d.ts +3 -8
  113. package/lib/typescript/managers/RecordingManager.d.ts.map +1 -1
  114. package/lib/typescript/managers/types.d.ts +6 -1
  115. package/lib/typescript/managers/types.d.ts.map +1 -1
  116. package/lib/typescript/managers/uploadRecoveryMetadata.d.ts +6 -0
  117. package/lib/typescript/managers/uploadRecoveryMetadata.d.ts.map +1 -0
  118. package/lib/typescript/models/Device.d.ts +42 -0
  119. package/lib/typescript/models/Device.d.ts.map +1 -1
  120. package/lib/typescript/models/Recording.d.ts +47 -0
  121. package/lib/typescript/models/Recording.d.ts.map +1 -1
  122. package/lib/typescript/models/Status.d.ts +5 -1
  123. package/lib/typescript/models/Status.d.ts.map +1 -1
  124. package/lib/typescript/sdkIdentity.d.ts +3 -0
  125. package/lib/typescript/sdkIdentity.d.ts.map +1 -0
  126. package/lib/typescript/specs/NativeBotaDeviceSDK.d.ts +70 -0
  127. package/lib/typescript/specs/NativeBotaDeviceSDK.d.ts.map +1 -1
  128. package/lib/typescript/specs/NativeBotaUploadV2Backend.d.ts +18 -0
  129. package/lib/typescript/specs/NativeBotaUploadV2Backend.d.ts.map +1 -0
  130. package/lib/typescript/uploadRecovery.d.ts +27 -0
  131. package/lib/typescript/uploadRecovery.d.ts.map +1 -0
  132. package/package.json +1 -1
  133. package/scripts/bota_device_sdk_spm_workaround.rb +26 -15
  134. package/src/BotaClient.ts +17 -3
  135. package/src/ble/constants.ts +5 -0
  136. package/src/ble/deviceDiagnostics.ts +238 -0
  137. package/src/client.ts +189 -18
  138. package/src/clientPresence.ts +33 -0
  139. package/src/encryptedUploadV2Backend.ts +171 -0
  140. package/src/index.ts +24 -0
  141. package/src/managers/DeviceManager.ts +23 -0
  142. package/src/managers/NativeUploadQueue.ts +330 -0
  143. package/src/managers/RecordingManager.ts +83 -116
  144. package/src/managers/types.ts +7 -1
  145. package/src/managers/uploadRecoveryMetadata.ts +59 -0
  146. package/src/models/Device.ts +43 -0
  147. package/src/models/Recording.ts +52 -0
  148. package/src/models/Status.ts +5 -1
  149. package/src/sdkIdentity.ts +3 -0
  150. package/src/specs/NativeBotaDeviceSDK.ts +66 -0
  151. package/src/specs/NativeBotaUploadV2Backend.ts +19 -0
  152. package/src/uploadRecovery.ts +66 -0
@@ -9,6 +9,7 @@ var _runtime = require("./compatibility/runtime");
9
9
  var _DeviceManager = require("./managers/DeviceManager");
10
10
  var _OTAManager = require("./managers/OTAManager");
11
11
  var _RecordingManager = require("./managers/RecordingManager");
12
+ var _uploadRecoveryMetadata = require("./managers/uploadRecoveryMetadata");
12
13
  var _errors = require("./utils/errors");
13
14
  var _logger = require("./utils/logger");
14
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -18,9 +19,15 @@ const normalizeConfig = config => ({
18
19
  backgroundSyncEnabled: config.backgroundSyncEnabled ?? true,
19
20
  wifiOnlyUpload: config.wifiOnlyUpload ?? false,
20
21
  logLevel: config.logLevel ?? 'warn',
21
- debug: config.debug ?? false
22
+ debug: config.debug ?? false,
23
+ ...(config.uploadRecoveryProvider ? {
24
+ uploadRecoveryProvider: config.uploadRecoveryProvider
25
+ } : {})
22
26
  });
23
27
  class BotaClientImpl extends _eventemitter.default {
28
+ clientPresence = {
29
+ nextReport: async deviceId => this._deviceManager?.clientPresence.nextReport(deviceId) ?? null
30
+ };
24
31
  _config = null;
25
32
  _state = 'uninitialized';
26
33
  _bluetoothState = 'unknown';
@@ -60,6 +67,11 @@ class BotaClientImpl extends _eventemitter.default {
60
67
  return this._otaManager;
61
68
  }
62
69
  configure(config = {}) {
70
+ try {
71
+ (0, _uploadRecoveryMetadata.rejectRecordingDataStore)(config.recordingDataStore);
72
+ } catch (error) {
73
+ return Promise.reject(error);
74
+ }
63
75
  if (this._configurePromise && !this._destroyPromise) {
64
76
  return this._configurePromise;
65
77
  }
@@ -140,7 +152,9 @@ class BotaClientImpl extends _eventemitter.default {
140
152
  this.setBluetoothState(capabilities.bluetooth ? 'poweredOn' : 'unsupported');
141
153
  deviceManager = new _DeviceManager.DeviceManager();
142
154
  await deviceManager.initialize();
143
- recordingManager = new _RecordingManager.RecordingManager();
155
+ recordingManager = new _RecordingManager.RecordingManager({
156
+ uploadRecoveryProvider: config.uploadRecoveryProvider
157
+ });
144
158
  await recordingManager.initialize();
145
159
  otaManager = new _OTAManager.OTAManager(deviceManager);
146
160
  this._deviceManager = deviceManager;
@@ -1 +1 @@
1
- {"version":3,"names":["_eventemitter","_interopRequireDefault","require","_runtime","_DeviceManager","_OTAManager","_RecordingManager","_errors","_logger","e","__esModule","default","log","logger","tag","normalizeConfig","config","environment","backgroundSyncEnabled","wifiOnlyUpload","logLevel","debug","BotaClientImpl","EventEmitter","_config","_state","_bluetoothState","_client","_deviceManager","_recordingManager","_otaManager","_nativeOwned","_operation","Promise","resolve","_configurePromise","_destroyPromise","state","bluetoothState","isBluetoothReady","isInitialized","devices","SdkError","notInitialized","recordings","ota","configure","normalized","operation","enqueue","performConfigure","finally","catch","undefined","waitForBluetooth","timeoutMs","BluetoothError","unavailable","deadline","Date","now","setTimeout","capabilities","getCapabilities","bluetooth","setBluetoothState","timeout","setLogLevel","level","setLevel","setLogHandler","handler","setHandler","destroy","releaseOwnerGraph","removeAllListeners","queued","then","warn","setState","client","getCompatibilityClient","deviceManager","recordingManager","otaManager","nativeState","getState","invalidState","DeviceManager","initialize","RecordingManager","OTAManager","info","error","failure","Error","String","emit","BotaClient","exports"],"sourceRoot":"../../src","sources":["BotaClient.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_eventemitter","_interopRequireDefault","require","_runtime","_DeviceManager","_OTAManager","_RecordingManager","_uploadRecoveryMetadata","_errors","_logger","e","__esModule","default","log","logger","tag","normalizeConfig","config","environment","backgroundSyncEnabled","wifiOnlyUpload","logLevel","debug","uploadRecoveryProvider","BotaClientImpl","EventEmitter","clientPresence","nextReport","deviceId","_deviceManager","_config","_state","_bluetoothState","_client","_recordingManager","_otaManager","_nativeOwned","_operation","Promise","resolve","_configurePromise","_destroyPromise","state","bluetoothState","isBluetoothReady","isInitialized","devices","SdkError","notInitialized","recordings","ota","configure","rejectRecordingDataStore","recordingDataStore","error","reject","normalized","operation","enqueue","performConfigure","finally","catch","undefined","waitForBluetooth","timeoutMs","BluetoothError","unavailable","deadline","Date","now","setTimeout","capabilities","getCapabilities","bluetooth","setBluetoothState","timeout","setLogLevel","level","setLevel","setLogHandler","handler","setHandler","destroy","releaseOwnerGraph","removeAllListeners","queued","then","warn","setState","client","getCompatibilityClient","deviceManager","recordingManager","otaManager","nativeState","getState","invalidState","DeviceManager","initialize","RecordingManager","OTAManager","info","failure","Error","String","emit","BotaClient","exports"],"sourceRoot":"../../src","sources":["BotaClient.ts"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.DEVICE_LOG_FLAG_DROPPED = exports.DEVICE_LOG_FLAG_BACKLOG = exports.BLE_ERROR_STORAGE_KEY_UNAVAILABLE = void 0;
6
+ exports.DEVICE_LOG_FLAG_DROPPED = exports.DEVICE_LOG_FLAG_BACKLOG = exports.DEVICE_DIAGNOSTICS_EVT_SIGNATURE = exports.DEVICE_DIAGNOSTICS_EVT_META = exports.DEVICE_DIAGNOSTICS_EVT_END = exports.DEVICE_DIAGNOSTICS_EVT_DETAIL = exports.BLE_ERROR_STORAGE_KEY_UNAVAILABLE = void 0;
7
7
  const DEVICE_LOG_FLAG_BACKLOG = exports.DEVICE_LOG_FLAG_BACKLOG = 0x01;
8
8
  const DEVICE_LOG_FLAG_DROPPED = exports.DEVICE_LOG_FLAG_DROPPED = 0x02;
9
9
  const BLE_ERROR_STORAGE_KEY_UNAVAILABLE = exports.BLE_ERROR_STORAGE_KEY_UNAVAILABLE = 0x14;
10
+ const DEVICE_DIAGNOSTICS_EVT_META = exports.DEVICE_DIAGNOSTICS_EVT_META = 0x90;
11
+ const DEVICE_DIAGNOSTICS_EVT_SIGNATURE = exports.DEVICE_DIAGNOSTICS_EVT_SIGNATURE = 0x91;
12
+ const DEVICE_DIAGNOSTICS_EVT_END = exports.DEVICE_DIAGNOSTICS_EVT_END = 0x92;
13
+ const DEVICE_DIAGNOSTICS_EVT_DETAIL = exports.DEVICE_DIAGNOSTICS_EVT_DETAIL = 0x95;
10
14
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DEVICE_LOG_FLAG_BACKLOG","exports","DEVICE_LOG_FLAG_DROPPED","BLE_ERROR_STORAGE_KEY_UNAVAILABLE"],"sourceRoot":"../../../src","sources":["ble/constants.ts"],"mappings":";;;;;;AAAO,MAAMA,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,IAAI;AACpC,MAAME,uBAAuB,GAAAD,OAAA,CAAAC,uBAAA,GAAG,IAAI;AACpC,MAAMC,iCAAiC,GAAAF,OAAA,CAAAE,iCAAA,GAAG,IAAI","ignoreList":[]}
1
+ {"version":3,"names":["DEVICE_LOG_FLAG_BACKLOG","exports","DEVICE_LOG_FLAG_DROPPED","BLE_ERROR_STORAGE_KEY_UNAVAILABLE","DEVICE_DIAGNOSTICS_EVT_META","DEVICE_DIAGNOSTICS_EVT_SIGNATURE","DEVICE_DIAGNOSTICS_EVT_END","DEVICE_DIAGNOSTICS_EVT_DETAIL"],"sourceRoot":"../../../src","sources":["ble/constants.ts"],"mappings":";;;;;;AAAO,MAAMA,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,IAAI;AACpC,MAAME,uBAAuB,GAAAD,OAAA,CAAAC,uBAAA,GAAG,IAAI;AACpC,MAAMC,iCAAiC,GAAAF,OAAA,CAAAE,iCAAA,GAAG,IAAI;AAE9C,MAAMC,2BAA2B,GAAAH,OAAA,CAAAG,2BAAA,GAAG,IAAI;AACxC,MAAMC,gCAAgC,GAAAJ,OAAA,CAAAI,gCAAA,GAAG,IAAI;AAC7C,MAAMC,0BAA0B,GAAAL,OAAA,CAAAK,0BAAA,GAAG,IAAI;AACvC,MAAMC,6BAA6B,GAAAN,OAAA,CAAAM,6BAAA,GAAG,IAAI","ignoreList":[]}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DeviceDiagnosticsDecoder = void 0;
7
+ exports.diagnosticEventIdCommand = diagnosticEventIdCommand;
8
+ var _buffer = require("buffer");
9
+ var _constants = require("./constants");
10
+ const EVENT_TYPES = {
11
+ 1: 'reset',
12
+ 2: 'watchdog',
13
+ 3: 'hard_fault',
14
+ 4: 'storage',
15
+ 5: 'power',
16
+ 6: 'radio',
17
+ 7: 'security'
18
+ };
19
+ const REASONS = {
20
+ 1: 'watchdog_timeout',
21
+ 2: 'cpu_illegal_instruction',
22
+ 3: 'cpu_misaligned_access',
23
+ 4: 'cpu_stack_overflow',
24
+ 5: 'cpu_usage_fault',
25
+ 6: 'memory_protection_fault',
26
+ 7: 'invalid_register_read',
27
+ 8: 'invalid_register_write',
28
+ 9: 'audio_subsystem_fault',
29
+ 10: 'wireless_subsystem_fault',
30
+ 11: 'flash_mmu_fault',
31
+ 12: 'low_voltage_reset',
32
+ 255: 'unknown_cpu_exception'
33
+ };
34
+ const SUBSYSTEMS = {
35
+ 0: 'system',
36
+ 1: 'audio',
37
+ 2: 'wireless',
38
+ 3: 'storage',
39
+ 4: 'power',
40
+ 5: 'security'
41
+ };
42
+ const STATES = {
43
+ 0: 'boot',
44
+ 1: 'deep_standby',
45
+ 2: 'recording',
46
+ 3: 'upload_preparing',
47
+ 4: 'uploading',
48
+ 5: 'error_recovery',
49
+ 6: 'full_sleep'
50
+ };
51
+ const BREADCRUMBS = {
52
+ 1: 'boot',
53
+ 2: 'standby_entered',
54
+ 3: 'recording_started',
55
+ 4: 'upload_preparing',
56
+ 5: 'upload_started',
57
+ 6: 'error_recovery',
58
+ 7: 'full_sleep'
59
+ };
60
+ const DETAIL_WIRE_SIZE = 176;
61
+ function u64LeHex(bytes) {
62
+ return _buffer.Buffer.from(bytes).reverse().toString('hex').padStart(16, '0');
63
+ }
64
+ function diagnosticEventIdCommand(eventId) {
65
+ if (!/^[0-9a-f]{16}$/.test(eventId)) {
66
+ throw new Error('Diagnostic event_id must be 16 lowercase hex characters');
67
+ }
68
+ return _buffer.Buffer.concat([_buffer.Buffer.from([0x11]), _buffer.Buffer.from(eventId, 'hex').reverse()]);
69
+ }
70
+ function normalizedAddress(value) {
71
+ if (value === 0) return undefined;
72
+ const region = (value & 0x80000000) !== 0 ? 'sdram' : (value & 0x40000000) !== 0 ? 'ram' : 'rom';
73
+ const offset = (value & 0x3fffffff).toString(16).padStart(8, '0');
74
+ return `${region}:${offset}`;
75
+ }
76
+ function fixedHex32(value) {
77
+ return value.toString(16).padStart(8, '0');
78
+ }
79
+ function decodeDetail(bytes) {
80
+ if (bytes.length !== DETAIL_WIRE_SIZE || bytes[0] !== 1) {
81
+ throw new Error('Unsupported diagnostic detail payload');
82
+ }
83
+ const hasReport = (bytes[1] & 1) !== 0;
84
+ const firmwareBuildId = _buffer.Buffer.from(bytes.subarray(2, 14)).toString('ascii');
85
+ if (!/^[0-9a-f]{12}$/.test(firmwareBuildId)) {
86
+ throw new Error('Invalid diagnostic firmware build id');
87
+ }
88
+ const common = {
89
+ firmware_build_id: firmwareBuildId,
90
+ subsystem: SUBSYSTEMS[bytes[14]] ?? 'system',
91
+ state_before_event: STATES[bytes[15]] ?? 'unknown'
92
+ };
93
+ if (!hasReport) return common;
94
+ const pcCount = Math.min(bytes[17], 6);
95
+ const breadcrumbCount = Math.min(bytes[18], 8);
96
+ const runtimeMask = bytes[19];
97
+ const pcTrace = [];
98
+ for (let index = 0; index < pcCount; index++) {
99
+ const address = normalizedAddress(bytes.readUInt32LE(48 + index * 4));
100
+ if (address) pcTrace.push(address);
101
+ }
102
+ const task = _buffer.Buffer.from(bytes.subarray(80, 96)).toString('ascii').replace(/\0.*$/, '');
103
+ const breadcrumbs = [];
104
+ for (let index = 0; index < breadcrumbCount; index++) {
105
+ const offset = 96 + index * 10;
106
+ breadcrumbs.push({
107
+ delta_ms: bytes.readInt32LE(offset),
108
+ code: BREADCRUMBS[bytes.readUInt16LE(offset + 4)] ?? 'state_changed',
109
+ arg0: bytes.readInt32LE(offset + 6)
110
+ });
111
+ }
112
+ const reti = normalizedAddress(bytes.readUInt32LE(40));
113
+ const rets = normalizedAddress(bytes.readUInt32LE(44));
114
+ return {
115
+ ...common,
116
+ report: {
117
+ fault: {
118
+ cpu_id: bytes[16],
119
+ cpu_emu: fixedHex32(bytes.readUInt32LE(20)),
120
+ core_emu: fixedHex32(bytes.readUInt32LE(24)),
121
+ hsb_emu: fixedHex32(bytes.readUInt32LE(28)),
122
+ audio_emu: fixedHex32(bytes.readUInt32LE(32)),
123
+ wireless_emu: fixedHex32(bytes.readUInt32LE(36))
124
+ },
125
+ execution: {
126
+ ...(task ? {
127
+ task
128
+ } : {}),
129
+ ...(reti ? {
130
+ reti
131
+ } : {}),
132
+ ...(rets ? {
133
+ rets
134
+ } : {}),
135
+ pc_trace: pcTrace
136
+ },
137
+ ...((runtimeMask & 3) !== 0 ? {
138
+ runtime: {
139
+ ...((runtimeMask & 1) !== 0 ? {
140
+ heap_free_bytes: bytes.readUInt32LE(72)
141
+ } : {}),
142
+ ...((runtimeMask & 2) !== 0 ? {
143
+ task_stack_remaining_bytes: bytes.readUInt32LE(76)
144
+ } : {})
145
+ }
146
+ } : {}),
147
+ ...(breadcrumbs.length ? {
148
+ breadcrumbs
149
+ } : {})
150
+ }
151
+ };
152
+ }
153
+ class DeviceDiagnosticsDecoder {
154
+ events = new Map();
155
+ details = new Map();
156
+ push(packet) {
157
+ if (packet.length === 17 && packet[0] === _constants.DEVICE_DIAGNOSTICS_EVT_META) {
158
+ const type = EVENT_TYPES[packet[2]];
159
+ if (!type) return null;
160
+ this.events.set(packet[1], {
161
+ event_id: u64LeHex(packet.subarray(9, 17)),
162
+ event_type: type,
163
+ reason_code: REASONS[packet.readUInt16LE(3)] ?? 'unknown_cpu_exception',
164
+ uptime_ms: packet.readUInt32LE(5)
165
+ });
166
+ return null;
167
+ }
168
+ if (packet.length === 10 && packet[0] === _constants.DEVICE_DIAGNOSTICS_EVT_SIGNATURE) {
169
+ const event = this.events.get(packet[1]);
170
+ if (event) event.signature = u64LeHex(packet.subarray(2, 10));
171
+ return null;
172
+ }
173
+ if (packet.length >= 6 && packet.length <= 20 && packet[0] === _constants.DEVICE_DIAGNOSTICS_EVT_DETAIL) {
174
+ const index = packet[1];
175
+ const offset = packet.readUInt16LE(2);
176
+ const total = packet.readUInt16LE(4);
177
+ if (total !== DETAIL_WIRE_SIZE || offset + packet.length - 6 > total) {
178
+ this.reset();
179
+ throw new Error('Invalid diagnostic detail chunk');
180
+ }
181
+ let detail = this.details.get(index);
182
+ if (offset === 0) {
183
+ if (detail) {
184
+ this.reset();
185
+ throw new Error(`Duplicate diagnostic detail at index ${index}`);
186
+ }
187
+ detail = {
188
+ buffer: _buffer.Buffer.alloc(total),
189
+ received: 0
190
+ };
191
+ this.details.set(index, detail);
192
+ }
193
+ if (!detail || detail.received !== offset) {
194
+ this.reset();
195
+ throw new Error(`Out-of-order diagnostic detail at index ${index}`);
196
+ }
197
+ packet.copy(detail.buffer, offset, 6);
198
+ detail.received += packet.length - 6;
199
+ if (detail.received === total) {
200
+ const event = this.events.get(index);
201
+ if (!event) {
202
+ this.reset();
203
+ throw new Error(`Diagnostic detail without metadata at index ${index}`);
204
+ }
205
+ try {
206
+ Object.assign(event, decodeDetail(detail.buffer));
207
+ } catch (error) {
208
+ this.reset();
209
+ throw error;
210
+ }
211
+ }
212
+ return null;
213
+ }
214
+ if (packet.length === 2 && packet[0] === _constants.DEVICE_DIAGNOSTICS_EVT_END) {
215
+ const expected = packet[1];
216
+ const events = [];
217
+ for (let index = 0; index < expected; index++) {
218
+ const event = this.events.get(index);
219
+ if (!event?.signature || !event.firmware_build_id || !event.subsystem || !event.state_before_event || this.details.get(index)?.received !== DETAIL_WIRE_SIZE) {
220
+ this.reset();
221
+ throw new Error(`Incomplete diagnostic event at index ${index}`);
222
+ }
223
+ events.push(event);
224
+ }
225
+ const batch = {
226
+ schema_version: 1,
227
+ events
228
+ };
229
+ this.reset();
230
+ return batch;
231
+ }
232
+ return null;
233
+ }
234
+ reset() {
235
+ this.events.clear();
236
+ this.details.clear();
237
+ }
238
+ }
239
+ exports.DeviceDiagnosticsDecoder = DeviceDiagnosticsDecoder;
240
+ //# sourceMappingURL=deviceDiagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_buffer","require","_constants","EVENT_TYPES","REASONS","SUBSYSTEMS","STATES","BREADCRUMBS","DETAIL_WIRE_SIZE","u64LeHex","bytes","Buffer","from","reverse","toString","padStart","diagnosticEventIdCommand","eventId","test","Error","concat","normalizedAddress","value","undefined","region","offset","fixedHex32","decodeDetail","length","hasReport","firmwareBuildId","subarray","common","firmware_build_id","subsystem","state_before_event","pcCount","Math","min","breadcrumbCount","runtimeMask","pcTrace","index","address","readUInt32LE","push","task","replace","breadcrumbs","delta_ms","readInt32LE","code","readUInt16LE","arg0","reti","rets","report","fault","cpu_id","cpu_emu","core_emu","hsb_emu","audio_emu","wireless_emu","execution","pc_trace","runtime","heap_free_bytes","task_stack_remaining_bytes","DeviceDiagnosticsDecoder","events","Map","details","packet","DEVICE_DIAGNOSTICS_EVT_META","type","set","event_id","event_type","reason_code","uptime_ms","DEVICE_DIAGNOSTICS_EVT_SIGNATURE","event","get","signature","DEVICE_DIAGNOSTICS_EVT_DETAIL","total","reset","detail","buffer","alloc","received","copy","Object","assign","error","DEVICE_DIAGNOSTICS_EVT_END","expected","batch","schema_version","clear","exports"],"sourceRoot":"../../../src","sources":["ble/deviceDiagnostics.ts"],"mappings":"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","ignoreList":[]}