@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
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createManagedEncryptedUploadV2Backend = createManagedEncryptedUploadV2Backend;
7
+ /** @internal Dependency injection keeps the public facade and host tests on the same implementation. */
8
+ function createManagedEncryptedUploadV2Backend(native, recordings, options) {
9
+ // Capture identity once; mutating the caller's object cannot repoint an active request.
10
+ const config = {
11
+ ...options
12
+ };
13
+ const url = new URL(config.baseUrl);
14
+ const path = url.pathname.replace(/\/$/, '');
15
+ if (url.protocol !== 'https:' || url.username || url.password || url.search || url.hash || !/^(\/[A-Za-z0-9_-]+)+$/.test(path) || !config.scopeKey || !config.signal) {
16
+ throw new Error('Invalid encrypted upload backend configuration');
17
+ }
18
+ const apiOrigin = url.origin;
19
+ const attempts = new Set();
20
+ let disposed = false;
21
+ const backend = {
22
+ async sync(device, recording, target) {
23
+ device = {
24
+ ...device
25
+ };
26
+ recording = {
27
+ ...recording
28
+ };
29
+ target = {
30
+ ...target,
31
+ priorUpload: target.priorUpload && {
32
+ ...target.priorUpload
33
+ }
34
+ };
35
+ if (!native) throw new Error('Encrypted upload backend requires the matching native SDK binary');
36
+ if (disposed || config.signal.aborted || target.signal?.aborted) throw new Error('Encrypted upload cancelled');
37
+ const signal = new AbortController();
38
+ let operationId;
39
+ let selected;
40
+ let cancelTask;
41
+ let completed = false;
42
+ const check = () => {
43
+ if (disposed || signal.signal.aborted || config.signal.aborted || target.signal?.aborted) {
44
+ throw new Error('Encrypted upload cancelled');
45
+ }
46
+ };
47
+ const cancel = () => {
48
+ signal.abort();
49
+ if (operationId) cancelTask ??= Promise.resolve().then(() => native.cancel(operationId));
50
+ return cancelTask ?? Promise.resolve();
51
+ };
52
+ // Event callbacks must not create unhandled rejections; disposal awaits the same task.
53
+ const abort = () => {
54
+ void cancel().catch(() => {});
55
+ };
56
+ let settle;
57
+ const settled = new Promise(resolve => {
58
+ settle = resolve;
59
+ });
60
+ const attempt = {
61
+ cancel,
62
+ settled
63
+ };
64
+ attempts.add(attempt);
65
+ let subscription;
66
+ try {
67
+ config.signal.addEventListener('abort', abort, {
68
+ once: true
69
+ });
70
+ target.signal?.addEventListener('abort', abort, {
71
+ once: true
72
+ });
73
+ subscription = native.onCredentialsRequested(event => {
74
+ if (!operationId || event.operationId !== operationId) return;
75
+ void (async () => {
76
+ try {
77
+ check();
78
+ const token = await config.getAccessToken(signal.signal);
79
+ check();
80
+ await native.resolveCredentials(event.requestId, token);
81
+ } catch {
82
+ await native.rejectCredentials(event.requestId).catch(() => {});
83
+ }
84
+ })();
85
+ });
86
+ check();
87
+ await recordings.syncEncryptedRecordingV2(device, recording, async context => {
88
+ check();
89
+ if (!context.operationId || operationId && operationId !== context.operationId) {
90
+ throw new Error('Encrypted upload operation changed');
91
+ }
92
+ operationId = context.operationId;
93
+ const value = JSON.parse(await native.prepare(JSON.stringify({
94
+ operationId,
95
+ scope: {
96
+ apiOrigin,
97
+ apiBasePath: path,
98
+ scopeKey: config.scopeKey,
99
+ accountId: config.accountId,
100
+ projectId: config.projectId,
101
+ endUserId: config.endUserId,
102
+ organizationId: config.organizationId ?? '',
103
+ environment: config.environment,
104
+ deviceId: target.deviceId,
105
+ bindingGeneration: target.bindingGeneration,
106
+ serialNumber: device.serialNumber,
107
+ nativeDeviceId: device.id
108
+ },
109
+ recording: {
110
+ uuid: context.recording.uuid,
111
+ generation: context.recording.generation,
112
+ ciphertextLength: context.recording.ciphertextLength,
113
+ ciphertextSha256: context.recording.ciphertextSha256,
114
+ startedAtMs: context.recording.startedAtMs,
115
+ durationMs: context.recording.durationMs,
116
+ plaintextLength: context.recording.plaintextLength,
117
+ storageFormat: context.recording.storageFormat
118
+ },
119
+ capability: {
120
+ rawValueHex: context.capability.rawValueHex,
121
+ flags: context.capability.flags
122
+ },
123
+ ...(context.checkpoint === undefined ? {} : {
124
+ checkpoint: {
125
+ version: context.checkpoint.version,
126
+ uploadSessionId: context.checkpoint.uploadSessionId,
127
+ ownerRevision: context.checkpoint.ownerRevision,
128
+ revision: context.checkpoint.revision,
129
+ nextCiphertextOffset: context.checkpoint.nextCiphertextOffset,
130
+ prefixSha256: context.checkpoint.prefixSha256,
131
+ highestContiguousSequence: context.checkpoint.highestContiguousSequence,
132
+ transportSessionId: context.checkpoint.transportSessionId,
133
+ sinkRegistrationId: context.checkpoint.sinkRegistrationId,
134
+ windowPackets: context.checkpoint.windowPackets,
135
+ dataPayloadBytes: context.checkpoint.dataPayloadBytes
136
+ }
137
+ }),
138
+ ...(target.priorUpload === undefined ? {} : {
139
+ priorJournalEntry: {
140
+ recordingId: target.priorUpload.recordingId,
141
+ sessionId: target.priorUpload.sessionId,
142
+ ownerRevision: target.priorUpload.ownerRevision
143
+ }
144
+ })
145
+ })));
146
+ check();
147
+ const result = value;
148
+ if (!result || result.profile !== 'encrypted_upload_v2' || !/^rec_[A-Za-z0-9_-]+$/.test(result.recordingId) || !/^[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}$/.test(result.uploadSessionId) || !Number.isSafeInteger(result.ownerRevision) || result.ownerRevision < 1 || !result.materialRegistrationId || !['legacy_allowed', 'v2_preferred', 'v2_required'].includes(result.securityPolicy)) {
149
+ throw new Error('Invalid encrypted upload backend response');
150
+ }
151
+ selected = result;
152
+ return {
153
+ profile: result.profile,
154
+ uploadSessionId: result.uploadSessionId,
155
+ ownerRevision: result.ownerRevision,
156
+ securityPolicy: result.securityPolicy,
157
+ materialRegistrationId: result.materialRegistrationId
158
+ };
159
+ }, progress => {
160
+ if (!signal.signal.aborted) target.onProgress?.(progress);
161
+ }, {
162
+ signal: signal.signal
163
+ });
164
+ check();
165
+ if (!operationId || !selected) throw new Error('Encrypted upload confirmation is missing');
166
+ // The native sync only resolves after signed receipt/CONFIRM. Never infer this from HTTP 2xx.
167
+ await native.complete(operationId);
168
+ completed = true;
169
+ return {
170
+ recordingId: selected.recordingId
171
+ };
172
+ } finally {
173
+ // Native complete already releases the operation. A later bridge cancellation
174
+ // failure must not turn confirmed device cleanup into a retryable sync failure.
175
+ try {
176
+ if (completed) signal.abort();else await cancel();
177
+ } finally {
178
+ attempts.delete(attempt);
179
+ config.signal.removeEventListener('abort', abort);
180
+ target.signal?.removeEventListener('abort', abort);
181
+ subscription?.remove();
182
+ settle();
183
+ }
184
+ }
185
+ },
186
+ async dispose() {
187
+ disposed = true;
188
+ const results = await Promise.allSettled([...attempts].map(async attempt => {
189
+ try {
190
+ await attempt.cancel();
191
+ } finally {
192
+ await attempt.settled;
193
+ }
194
+ }));
195
+ if (results.some(result => result.status === 'rejected')) throw new Error('Encrypted upload cancellation failed');
196
+ }
197
+ };
198
+ return backend;
199
+ }
200
+ //# sourceMappingURL=encryptedUploadV2Backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createManagedEncryptedUploadV2Backend","native","recordings","options","config","url","URL","baseUrl","path","pathname","replace","protocol","username","password","search","hash","test","scopeKey","signal","Error","apiOrigin","origin","attempts","Set","disposed","backend","sync","device","recording","target","priorUpload","aborted","AbortController","operationId","selected","cancelTask","completed","check","cancel","abort","Promise","resolve","then","catch","settle","settled","attempt","add","subscription","addEventListener","once","onCredentialsRequested","event","token","getAccessToken","resolveCredentials","requestId","rejectCredentials","syncEncryptedRecordingV2","context","value","JSON","parse","prepare","stringify","scope","apiBasePath","accountId","projectId","endUserId","organizationId","environment","deviceId","bindingGeneration","serialNumber","nativeDeviceId","id","uuid","generation","ciphertextLength","ciphertextSha256","startedAtMs","durationMs","plaintextLength","storageFormat","capability","rawValueHex","flags","checkpoint","undefined","version","uploadSessionId","ownerRevision","revision","nextCiphertextOffset","prefixSha256","highestContiguousSequence","transportSessionId","sinkRegistrationId","windowPackets","dataPayloadBytes","priorJournalEntry","recordingId","sessionId","result","profile","Number","isSafeInteger","materialRegistrationId","includes","securityPolicy","progress","onProgress","complete","delete","removeEventListener","remove","dispose","results","allSettled","map","some","status"],"sourceRoot":"../../src","sources":["encryptedUploadV2Backend.ts"],"mappings":"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","ignoreList":[]}
@@ -28,6 +28,12 @@ Object.defineProperty(exports, "BotaNativeModuleError", {
28
28
  return _client.BotaNativeModuleError;
29
29
  }
30
30
  });
31
+ Object.defineProperty(exports, "DeviceDiagnosticsDecoder", {
32
+ enumerable: true,
33
+ get: function () {
34
+ return _deviceDiagnostics.DeviceDiagnosticsDecoder;
35
+ }
36
+ });
31
37
  Object.defineProperty(exports, "DeviceError", {
32
38
  enumerable: true,
33
39
  get: function () {
@@ -82,6 +88,7 @@ Object.defineProperty(exports, "TransferError", {
82
88
  return _errors.TransferError;
83
89
  }
84
90
  });
91
+ exports.UPLOAD_RECOVERY_VERSION = void 0;
85
92
  Object.defineProperty(exports, "UploadError", {
86
93
  enumerable: true,
87
94
  get: function () {
@@ -94,23 +101,47 @@ Object.defineProperty(exports, "createBotaDeviceSDK", {
94
101
  return _client.createBotaDeviceSDK;
95
102
  }
96
103
  });
104
+ exports.createEncryptedUploadV2Backend = void 0;
105
+ Object.defineProperty(exports, "createUploadRecoveryProvider", {
106
+ enumerable: true,
107
+ get: function () {
108
+ return _uploadRecovery.createUploadRecoveryProvider;
109
+ }
110
+ });
97
111
  Object.defineProperty(exports, "deriveSyncStatus", {
98
112
  enumerable: true,
99
113
  get: function () {
100
114
  return _syncStatus.deriveSyncStatus;
101
115
  }
102
116
  });
117
+ Object.defineProperty(exports, "diagnosticEventIdCommand", {
118
+ enumerable: true,
119
+ get: function () {
120
+ return _deviceDiagnostics.diagnosticEventIdCommand;
121
+ }
122
+ });
103
123
  Object.defineProperty(exports, "isBotaError", {
104
124
  enumerable: true,
105
125
  get: function () {
106
126
  return _errors.isBotaError;
107
127
  }
108
128
  });
129
+ Object.defineProperty(exports, "readClientPresenceObservation", {
130
+ enumerable: true,
131
+ get: function () {
132
+ return _clientPresence.readClientPresenceObservation;
133
+ }
134
+ });
109
135
  var _NativeBotaDeviceSDK = _interopRequireDefault(require("./specs/NativeBotaDeviceSDK"));
110
136
  var _client = require("./client");
137
+ var _NativeBotaUploadV2Backend = _interopRequireDefault(require("./specs/NativeBotaUploadV2Backend"));
138
+ var _encryptedUploadV2Backend = require("./encryptedUploadV2Backend");
111
139
  var _runtime = require("./compatibility/runtime");
112
140
  var _BotaClient = require("./BotaClient");
141
+ var _clientPresence = require("./clientPresence");
142
+ var _uploadRecovery = require("./uploadRecovery");
113
143
  var _deviceLogs = require("./ble/deviceLogs");
144
+ var _deviceDiagnostics = require("./ble/deviceDiagnostics");
114
145
  var _DeviceManager = require("./managers/DeviceManager");
115
146
  var _OTAManager = require("./managers/OTAManager");
116
147
  var _RecordingManager = require("./managers/RecordingManager");
@@ -119,5 +150,8 @@ var _errors = require("./utils/errors");
119
150
  var _syncStatus = require("./sync/syncStatus");
120
151
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
121
152
  const BotaDeviceSDK = exports.BotaDeviceSDK = (0, _client.createBotaDeviceSDK)(_NativeBotaDeviceSDK.default);
153
+ const createEncryptedUploadV2Backend = options => (0, _encryptedUploadV2Backend.createManagedEncryptedUploadV2Backend)(_NativeBotaUploadV2Backend.default, BotaDeviceSDK.recordings, options);
154
+ exports.createEncryptedUploadV2Backend = createEncryptedUploadV2Backend;
122
155
  (0, _runtime.setDefaultCompatibilityClient)(BotaDeviceSDK);
156
+ const UPLOAD_RECOVERY_VERSION = exports.UPLOAD_RECOVERY_VERSION = 1;
123
157
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_NativeBotaDeviceSDK","_interopRequireDefault","require","_client","_runtime","_BotaClient","_deviceLogs","_DeviceManager","_OTAManager","_RecordingManager","_StreamingSession","_errors","_syncStatus","e","__esModule","default","BotaDeviceSDK","exports","createBotaDeviceSDK","NativeBotaDeviceSDK","setDefaultCompatibilityClient"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAkDA,IAAAG,WAAA,GAAAH,OAAA;AAuEA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AACA,IAAAQ,iBAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AAWA,IAAAU,WAAA,GAAAV,OAAA;AAAqD,SAAAD,uBAAAY,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA1F9C,MAAMG,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,IAAAE,2BAAmB,EAACC,4BAAmB,CAAC;AACrE,IAAAC,sCAA6B,EAACJ,aAAa,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_NativeBotaDeviceSDK","_interopRequireDefault","require","_client","_NativeBotaUploadV2Backend","_encryptedUploadV2Backend","_runtime","_BotaClient","_clientPresence","_uploadRecovery","_deviceLogs","_deviceDiagnostics","_DeviceManager","_OTAManager","_RecordingManager","_StreamingSession","_errors","_syncStatus","e","__esModule","default","BotaDeviceSDK","exports","createBotaDeviceSDK","NativeBotaDeviceSDK","createEncryptedUploadV2Backend","options","createManagedEncryptedUploadV2Backend","NativeBotaUploadV2Backend","recordings","setDefaultCompatibilityClient","UPLOAD_RECOVERY_VERSION"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,yBAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AAyDA,IAAAK,WAAA,GAAAL,OAAA;AAEA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,eAAA,GAAAP,OAAA;AAgFA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,kBAAA,GAAAT,OAAA;AACA,IAAAU,cAAA,GAAAV,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,iBAAA,GAAAZ,OAAA;AAEA,IAAAa,iBAAA,GAAAb,OAAA;AACA,IAAAc,OAAA,GAAAd,OAAA;AAWA,IAAAe,WAAA,GAAAf,OAAA;AAAqD,SAAAD,uBAAAiB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA3G9C,MAAMG,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,IAAAE,2BAAmB,EAACC,4BAAmB,CAAC;AAC9D,MAAMC,8BAA8B,GAAIC,OAAwC,IACrF,IAAAC,+DAAqC,EAACC,kCAAyB,EAAEP,aAAa,CAACQ,UAAU,EAAEH,OAAO,CAAC;AAACJ,OAAA,CAAAG,8BAAA,GAAAA,8BAAA;AAEtG,IAAAK,sCAA6B,EAACT,aAAa,CAAC;AA0FrC,MAAMU,uBAAuB,GAAAT,OAAA,CAAAS,uBAAA,GAAG,CAAC","ignoreList":[]}
@@ -9,6 +9,21 @@ var _runtime = require("../compatibility/runtime");
9
9
  var _errors = require("../utils/errors");
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  class DeviceManager extends _eventemitter.default {
12
+ clientPresence = {
13
+ nextReport: async deviceId => {
14
+ if (this.destroyed) return null;
15
+ const report = await this.client.clientPresence.nextReport(deviceId);
16
+ if (this.destroyed || !report || report.platform !== 'ios' && report.platform !== 'android') return null;
17
+ return {
18
+ schema_version: 1,
19
+ session_id: report.sessionId,
20
+ sequence: report.sequence,
21
+ platform: report.platform,
22
+ sdk_package: report.sdkPackage,
23
+ sdk_version: report.sdkVersion
24
+ };
25
+ }
26
+ };
12
27
  discoveredDevices = new Map();
13
28
  connectedDevices = new Map();
14
29
  knownBleIds = new Map();
@@ -293,6 +308,14 @@ class DeviceManager extends _eventemitter.default {
293
308
  void this.removeExpected(this.logSubscriptions, device.id, promise);
294
309
  });
295
310
  }
311
+ async readDiagnosticEvents(device) {
312
+ this.requireConnected(device.id);
313
+ return this.client.logs.readDiagnosticEvents(device);
314
+ }
315
+ async acknowledgeDiagnosticEvents(device, acceptedEventIds) {
316
+ this.requireConnected(device.id);
317
+ await this.client.logs.acknowledgeDiagnosticEvents(device, acceptedEventIds);
318
+ }
296
319
  async readConnectionSettings(device) {
297
320
  this.requireConnected(device.id);
298
321
  return this.client.provisioning.readConnectionSettings(device);
@@ -1 +1 @@
1
- {"version":3,"names":["_eventemitter","_interopRequireDefault","require","_runtime","_errors","e","__esModule","default","DeviceManager","EventEmitter","discoveredDevices","Map","connectedDevices","knownBleIds","cache","cacheListeners","Set","statusSubscriptions","statusCallbacks","wifiStatusSubscriptions","logSubscriptions","recordingStateCache","recordingStatePending","recordingStateSubscriptions","reconnectInFlight","reconnectChain","Promise","resolve","scanSubscription","scanActive","autoReconnectEnabled","autoReconnectSerial","autoReconnectTimer","autoReconnectAttempting","userDisconnected","destroyed","constructor","client","getCompatibilityClient","disconnectionSubscription","subscribeToCompatibilityDisconnections","error","handleNativeDisconnection","initialize","startScan","options","assertAlive","emit","devices","device","set","id","asError","stopScan","remove","catch","getDiscoveredDevices","Array","from","values","getConnectedDevices","getKnownBleIds","Object","fromEntries","connect","priority","connected","rememberConnected","ensureStatusWatchdog","reconnect","serialNumber","existing","findConnectedBySerial","inFlight","get","run","undefined","then","finally","delete","disconnect","stopAutoReconnectLoop","removeOwned","isConnected","deviceId","connectionState","getStatus","requireConnected","readStatus","isProvisioned","controls","readPublicKey","readAuthNonce","setApiEndpoint","environment","deliverCert","certPem","privkeyPem","deliverCertificate","deliverBackendPubkey","pubkey","deliverBackendPublicKey","writeGrant","grantBlob","syncTime","provision","deviceToken","provisioning","apiEndpoint","String","fromCharCode","environmentCode","mtu","isAlreadyPaired","fetchDeprovisionGrant","provisioningError","nonce","result","deprovision","success","ProvisioningError","factoryReset","invalidToken","bleFactoryReset","persistResult","persisted","commandId","nextCompatibilityResetCommandId","bindingGeneration","rejected","factoryResetRejection","Error","resumeBleFactoryReset","resumePendingFactoryReset","requestStartRecording","grantOrFetcher","_options","runRecordingControl","fetchRecordingGrant","requestStopRecording","getRecordingState","pending","readAndCacheRecordingState","cachedRecordingState","subscribeToRecordingState","callback","promise","replaceOwned","idempotentRemoval","removeExpected","subscribeToStatus","callbacks","add","size","subscribeToDeviceLogs","logs","subscribe","readConnectionSettings","writeConnectionSettings","settings","configureWiFi","credentials","grant","wifi","configure","disconnectWiFi","getWiFiStatus","status","updateCachedDeviceState","wifiStatus","subscribeToWiFiStatus","scanWiFiNetworks","scanNetworks","getCachedDeviceState","getCachedWiFiStatus","patch","previous","mergeWiFiStatus","state","updatedAt","Date","now","listener","clearCachedDeviceState","clearAllCachedDeviceStates","clear","enableAutoReconnect","startAutoReconnectLoop","disableAutoReconnect","has","onCachedDeviceStateChanged","destroy","removeAllListeners","subscription","attempt","scanTimeout","setInterval","clearInterval","DeviceError","notConnected","fetcher","command","operation","pendingState","readRecordingState","active","initiatedBy","owner","next","expected","exports","removed","signalStrength","ssid","lastError","nativeProtocolStatus","direct","Reflect","userInfo","nested","code","storageError","chunkError","alreadyPaired","compatibilityResetSequence","toString"],"sourceRoot":"../../../src","sources":["managers/DeviceManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_eventemitter","_interopRequireDefault","require","_runtime","_errors","e","__esModule","default","DeviceManager","EventEmitter","clientPresence","nextReport","deviceId","destroyed","report","client","platform","schema_version","session_id","sessionId","sequence","sdk_package","sdkPackage","sdk_version","sdkVersion","discoveredDevices","Map","connectedDevices","knownBleIds","cache","cacheListeners","Set","statusSubscriptions","statusCallbacks","wifiStatusSubscriptions","logSubscriptions","recordingStateCache","recordingStatePending","recordingStateSubscriptions","reconnectInFlight","reconnectChain","Promise","resolve","scanSubscription","scanActive","autoReconnectEnabled","autoReconnectSerial","autoReconnectTimer","autoReconnectAttempting","userDisconnected","constructor","getCompatibilityClient","disconnectionSubscription","subscribeToCompatibilityDisconnections","error","handleNativeDisconnection","initialize","startScan","options","assertAlive","emit","devices","device","set","id","asError","stopScan","remove","catch","getDiscoveredDevices","Array","from","values","getConnectedDevices","getKnownBleIds","Object","fromEntries","connect","priority","connected","rememberConnected","ensureStatusWatchdog","reconnect","serialNumber","existing","findConnectedBySerial","inFlight","get","run","undefined","then","finally","delete","disconnect","stopAutoReconnectLoop","removeOwned","isConnected","connectionState","getStatus","requireConnected","readStatus","isProvisioned","controls","readPublicKey","readAuthNonce","setApiEndpoint","environment","deliverCert","certPem","privkeyPem","deliverCertificate","deliverBackendPubkey","pubkey","deliverBackendPublicKey","writeGrant","grantBlob","syncTime","provision","deviceToken","provisioning","apiEndpoint","String","fromCharCode","environmentCode","mtu","isAlreadyPaired","fetchDeprovisionGrant","provisioningError","nonce","result","deprovision","success","ProvisioningError","factoryReset","invalidToken","bleFactoryReset","persistResult","persisted","commandId","nextCompatibilityResetCommandId","bindingGeneration","rejected","factoryResetRejection","Error","resumeBleFactoryReset","resumePendingFactoryReset","requestStartRecording","grantOrFetcher","_options","runRecordingControl","fetchRecordingGrant","requestStopRecording","getRecordingState","pending","readAndCacheRecordingState","cachedRecordingState","subscribeToRecordingState","callback","promise","replaceOwned","idempotentRemoval","removeExpected","subscribeToStatus","callbacks","add","size","subscribeToDeviceLogs","logs","subscribe","readDiagnosticEvents","acknowledgeDiagnosticEvents","acceptedEventIds","readConnectionSettings","writeConnectionSettings","settings","configureWiFi","credentials","grant","wifi","configure","disconnectWiFi","getWiFiStatus","status","updateCachedDeviceState","wifiStatus","subscribeToWiFiStatus","scanWiFiNetworks","scanNetworks","getCachedDeviceState","getCachedWiFiStatus","patch","previous","mergeWiFiStatus","state","updatedAt","Date","now","listener","clearCachedDeviceState","clearAllCachedDeviceStates","clear","enableAutoReconnect","startAutoReconnectLoop","disableAutoReconnect","has","onCachedDeviceStateChanged","destroy","removeAllListeners","subscription","attempt","scanTimeout","setInterval","clearInterval","DeviceError","notConnected","fetcher","command","operation","pendingState","readRecordingState","active","initiatedBy","owner","next","expected","exports","removed","signalStrength","ssid","lastError","nativeProtocolStatus","direct","Reflect","userInfo","nested","code","storageError","chunkError","alreadyPaired","compatibilityResetSequence","toString"],"sourceRoot":"../../../src","sources":["managers/DeviceManager.ts"],"mappings":"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","ignoreList":[]}