@bota-dev/react-native-sdk 0.0.2

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 (177) hide show
  1. package/README.md +279 -0
  2. package/lib/commonjs/BotaClient.js +223 -0
  3. package/lib/commonjs/BotaClient.js.map +1 -0
  4. package/lib/commonjs/ble/BleManager.js +494 -0
  5. package/lib/commonjs/ble/BleManager.js.map +1 -0
  6. package/lib/commonjs/ble/constants.js +166 -0
  7. package/lib/commonjs/ble/constants.js.map +1 -0
  8. package/lib/commonjs/ble/index.js +54 -0
  9. package/lib/commonjs/ble/index.js.map +1 -0
  10. package/lib/commonjs/ble/parsers.js +345 -0
  11. package/lib/commonjs/ble/parsers.js.map +1 -0
  12. package/lib/commonjs/index.js +81 -0
  13. package/lib/commonjs/index.js.map +1 -0
  14. package/lib/commonjs/managers/DeviceManager.js +437 -0
  15. package/lib/commonjs/managers/DeviceManager.js.map +1 -0
  16. package/lib/commonjs/managers/OTAManager.js +227 -0
  17. package/lib/commonjs/managers/OTAManager.js.map +1 -0
  18. package/lib/commonjs/managers/RecordingManager.js +384 -0
  19. package/lib/commonjs/managers/RecordingManager.js.map +1 -0
  20. package/lib/commonjs/managers/index.js +27 -0
  21. package/lib/commonjs/managers/index.js.map +1 -0
  22. package/lib/commonjs/models/Device.js +2 -0
  23. package/lib/commonjs/models/Device.js.map +1 -0
  24. package/lib/commonjs/models/Recording.js +2 -0
  25. package/lib/commonjs/models/Recording.js.map +1 -0
  26. package/lib/commonjs/models/Status.js +6 -0
  27. package/lib/commonjs/models/Status.js.map +1 -0
  28. package/lib/commonjs/models/index.js +39 -0
  29. package/lib/commonjs/models/index.js.map +1 -0
  30. package/lib/commonjs/protocol/ProtocolHandler.js +343 -0
  31. package/lib/commonjs/protocol/ProtocolHandler.js.map +1 -0
  32. package/lib/commonjs/protocol/index.js +13 -0
  33. package/lib/commonjs/protocol/index.js.map +1 -0
  34. package/lib/commonjs/storage/StorageManager.js +333 -0
  35. package/lib/commonjs/storage/StorageManager.js.map +1 -0
  36. package/lib/commonjs/storage/index.js +19 -0
  37. package/lib/commonjs/storage/index.js.map +1 -0
  38. package/lib/commonjs/upload/S3Uploader.js +133 -0
  39. package/lib/commonjs/upload/S3Uploader.js.map +1 -0
  40. package/lib/commonjs/upload/UploadQueue.js +280 -0
  41. package/lib/commonjs/upload/UploadQueue.js.map +1 -0
  42. package/lib/commonjs/upload/index.js +20 -0
  43. package/lib/commonjs/upload/index.js.map +1 -0
  44. package/lib/commonjs/utils/errors.js +187 -0
  45. package/lib/commonjs/utils/errors.js.map +1 -0
  46. package/lib/commonjs/utils/index.js +40 -0
  47. package/lib/commonjs/utils/index.js.map +1 -0
  48. package/lib/commonjs/utils/logger.js +135 -0
  49. package/lib/commonjs/utils/logger.js.map +1 -0
  50. package/lib/commonjs/utils/retry.js +160 -0
  51. package/lib/commonjs/utils/retry.js.map +1 -0
  52. package/lib/module/BotaClient.js +216 -0
  53. package/lib/module/BotaClient.js.map +1 -0
  54. package/lib/module/ble/BleManager.js +484 -0
  55. package/lib/module/ble/BleManager.js.map +1 -0
  56. package/lib/module/ble/constants.js +159 -0
  57. package/lib/module/ble/constants.js.map +1 -0
  58. package/lib/module/ble/index.js +8 -0
  59. package/lib/module/ble/index.js.map +1 -0
  60. package/lib/module/ble/parsers.js +328 -0
  61. package/lib/module/ble/parsers.js.map +1 -0
  62. package/lib/module/index.js +22 -0
  63. package/lib/module/index.js.map +1 -0
  64. package/lib/module/managers/DeviceManager.js +429 -0
  65. package/lib/module/managers/DeviceManager.js.map +1 -0
  66. package/lib/module/managers/OTAManager.js +219 -0
  67. package/lib/module/managers/OTAManager.js.map +1 -0
  68. package/lib/module/managers/RecordingManager.js +376 -0
  69. package/lib/module/managers/RecordingManager.js.map +1 -0
  70. package/lib/module/managers/index.js +8 -0
  71. package/lib/module/managers/index.js.map +1 -0
  72. package/lib/module/models/Device.js +2 -0
  73. package/lib/module/models/Device.js.map +1 -0
  74. package/lib/module/models/Recording.js +2 -0
  75. package/lib/module/models/Recording.js.map +1 -0
  76. package/lib/module/models/Status.js +2 -0
  77. package/lib/module/models/Status.js.map +1 -0
  78. package/lib/module/models/index.js +8 -0
  79. package/lib/module/models/index.js.map +1 -0
  80. package/lib/module/protocol/ProtocolHandler.js +336 -0
  81. package/lib/module/protocol/ProtocolHandler.js.map +1 -0
  82. package/lib/module/protocol/index.js +6 -0
  83. package/lib/module/protocol/index.js.map +1 -0
  84. package/lib/module/storage/StorageManager.js +324 -0
  85. package/lib/module/storage/StorageManager.js.map +1 -0
  86. package/lib/module/storage/index.js +6 -0
  87. package/lib/module/storage/index.js.map +1 -0
  88. package/lib/module/upload/S3Uploader.js +126 -0
  89. package/lib/module/upload/S3Uploader.js.map +1 -0
  90. package/lib/module/upload/UploadQueue.js +272 -0
  91. package/lib/module/upload/UploadQueue.js.map +1 -0
  92. package/lib/module/upload/index.js +7 -0
  93. package/lib/module/upload/index.js.map +1 -0
  94. package/lib/module/utils/errors.js +173 -0
  95. package/lib/module/utils/errors.js.map +1 -0
  96. package/lib/module/utils/index.js +8 -0
  97. package/lib/module/utils/index.js.map +1 -0
  98. package/lib/module/utils/logger.js +129 -0
  99. package/lib/module/utils/logger.js.map +1 -0
  100. package/lib/module/utils/retry.js +149 -0
  101. package/lib/module/utils/retry.js.map +1 -0
  102. package/lib/typescript/src/BotaClient.d.ts +77 -0
  103. package/lib/typescript/src/BotaClient.d.ts.map +1 -0
  104. package/lib/typescript/src/ble/BleManager.d.ts +111 -0
  105. package/lib/typescript/src/ble/BleManager.d.ts.map +1 -0
  106. package/lib/typescript/src/ble/constants.d.ts +111 -0
  107. package/lib/typescript/src/ble/constants.d.ts.map +1 -0
  108. package/lib/typescript/src/ble/index.d.ts +7 -0
  109. package/lib/typescript/src/ble/index.d.ts.map +1 -0
  110. package/lib/typescript/src/ble/parsers.d.ts +100 -0
  111. package/lib/typescript/src/ble/parsers.d.ts.map +1 -0
  112. package/lib/typescript/src/index.d.ts +16 -0
  113. package/lib/typescript/src/index.d.ts.map +1 -0
  114. package/lib/typescript/src/managers/DeviceManager.d.ts +84 -0
  115. package/lib/typescript/src/managers/DeviceManager.d.ts.map +1 -0
  116. package/lib/typescript/src/managers/OTAManager.d.ts +78 -0
  117. package/lib/typescript/src/managers/OTAManager.d.ts.map +1 -0
  118. package/lib/typescript/src/managers/RecordingManager.d.ts +90 -0
  119. package/lib/typescript/src/managers/RecordingManager.d.ts.map +1 -0
  120. package/lib/typescript/src/managers/index.d.ts +7 -0
  121. package/lib/typescript/src/managers/index.d.ts.map +1 -0
  122. package/lib/typescript/src/models/Device.d.ts +139 -0
  123. package/lib/typescript/src/models/Device.d.ts.map +1 -0
  124. package/lib/typescript/src/models/Recording.d.ts +110 -0
  125. package/lib/typescript/src/models/Recording.d.ts.map +1 -0
  126. package/lib/typescript/src/models/Status.d.ts +104 -0
  127. package/lib/typescript/src/models/Status.d.ts.map +1 -0
  128. package/lib/typescript/src/models/index.d.ts +7 -0
  129. package/lib/typescript/src/models/index.d.ts.map +1 -0
  130. package/lib/typescript/src/protocol/ProtocolHandler.d.ts +69 -0
  131. package/lib/typescript/src/protocol/ProtocolHandler.d.ts.map +1 -0
  132. package/lib/typescript/src/protocol/index.d.ts +5 -0
  133. package/lib/typescript/src/protocol/index.d.ts.map +1 -0
  134. package/lib/typescript/src/storage/StorageManager.d.ts +116 -0
  135. package/lib/typescript/src/storage/StorageManager.d.ts.map +1 -0
  136. package/lib/typescript/src/storage/index.d.ts +5 -0
  137. package/lib/typescript/src/storage/index.d.ts.map +1 -0
  138. package/lib/typescript/src/upload/S3Uploader.d.ts +38 -0
  139. package/lib/typescript/src/upload/S3Uploader.d.ts.map +1 -0
  140. package/lib/typescript/src/upload/UploadQueue.d.ts +95 -0
  141. package/lib/typescript/src/upload/UploadQueue.d.ts.map +1 -0
  142. package/lib/typescript/src/upload/index.d.ts +6 -0
  143. package/lib/typescript/src/upload/index.d.ts.map +1 -0
  144. package/lib/typescript/src/utils/errors.d.ts +82 -0
  145. package/lib/typescript/src/utils/errors.d.ts.map +1 -0
  146. package/lib/typescript/src/utils/index.d.ts +7 -0
  147. package/lib/typescript/src/utils/index.d.ts.map +1 -0
  148. package/lib/typescript/src/utils/logger.d.ts +68 -0
  149. package/lib/typescript/src/utils/logger.d.ts.map +1 -0
  150. package/lib/typescript/src/utils/retry.d.ts +53 -0
  151. package/lib/typescript/src/utils/retry.d.ts.map +1 -0
  152. package/package.json +95 -0
  153. package/src/BotaClient.ts +238 -0
  154. package/src/ble/BleManager.ts +573 -0
  155. package/src/ble/constants.ts +158 -0
  156. package/src/ble/index.ts +7 -0
  157. package/src/ble/parsers.ts +395 -0
  158. package/src/index.ts +64 -0
  159. package/src/managers/DeviceManager.ts +545 -0
  160. package/src/managers/OTAManager.ts +263 -0
  161. package/src/managers/RecordingManager.ts +434 -0
  162. package/src/managers/index.ts +12 -0
  163. package/src/models/Device.ts +164 -0
  164. package/src/models/Recording.ts +123 -0
  165. package/src/models/Status.ts +126 -0
  166. package/src/models/index.ts +7 -0
  167. package/src/protocol/ProtocolHandler.ts +459 -0
  168. package/src/protocol/index.ts +5 -0
  169. package/src/storage/StorageManager.ts +343 -0
  170. package/src/storage/index.ts +5 -0
  171. package/src/upload/S3Uploader.ts +164 -0
  172. package/src/upload/UploadQueue.ts +310 -0
  173. package/src/upload/index.ts +6 -0
  174. package/src/utils/errors.ts +310 -0
  175. package/src/utils/index.ts +7 -0
  176. package/src/utils/logger.ts +137 -0
  177. package/src/utils/retry.ts +177 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AsyncStorage","Buffer","logger","log","tag","STORAGE_PREFIX","UPLOAD_QUEUE_KEY","SDK_STATE_KEY","StorageManager","uploadQueue","sdkState","lastSyncTimes","deviceInfo","isInitialized","initialize","debug","queueData","getItem","JSON","parse","map","task","createdAt","Date","updatedAt","stateData","info","pendingUploads","length","error","getUploadQueue","getPendingUploads","filter","status","getFailedUploads","addUploadTask","taskId","id","recordingId","push","saveUploadQueue","updateUploadTask","updates","index","findIndex","t","warn","updateTaskStatus","errorMessage","incrementRetryCount","find","retryCount","removeUploadTask","clearCompletedTasks","clearAllTasks","getUploadTask","setItem","stringify","getLastSyncTime","deviceId","timestamp","setLastSyncTime","time","getTime","saveSdkState","getDeviceInfo","setDeviceInfo","saveRecordingData","recordingUuid","data","key","toString","size","loadRecordingData","localPath","Error","from","deleteRecordingData","removeItem","clearAll","keys","getAllKeys","botaKeys","k","startsWith","multiRemove","destroy","generateTaskId","now","Math","random","substring"],"sourceRoot":"../../../src","sources":["storage/StorageManager.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Storage module exports
3
+ */
4
+
5
+ export { StorageManager, generateTaskId } from './StorageManager';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StorageManager","generateTaskId"],"sourceRoot":"../../../src","sources":["storage/index.ts"],"mappings":"AAAA;AACA;AACA;;AAEA,SAASA,cAAc,EAAEC,cAAc,QAAQ,kBAAkB","ignoreList":[]}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * S3 Uploader - Handles uploading audio files to S3 using pre-signed URLs
3
+ */
4
+
5
+ import { UploadError } from '../utils/errors';
6
+ import { logger } from '../utils/logger';
7
+ const log = logger.tag('S3Uploader');
8
+
9
+ /**
10
+ * Upload progress callback
11
+ */
12
+
13
+ /**
14
+ * Upload options
15
+ */
16
+
17
+ /**
18
+ * S3 Uploader class
19
+ */
20
+ export class S3Uploader {
21
+ /**
22
+ * Upload a file to S3 using a pre-signed URL
23
+ */
24
+ async upload(data, uploadUrl, options = {}) {
25
+ const {
26
+ contentType = 'audio/opus',
27
+ onProgress,
28
+ abortSignal
29
+ } = options;
30
+ log.info('Starting S3 upload', {
31
+ size: data.length,
32
+ contentType
33
+ });
34
+ try {
35
+ // For React Native, we use fetch with the PUT method
36
+ const response = await fetch(uploadUrl, {
37
+ method: 'PUT',
38
+ headers: {
39
+ 'Content-Type': contentType,
40
+ 'Content-Length': data.length.toString()
41
+ },
42
+ body: data,
43
+ signal: abortSignal
44
+ });
45
+ if (!response.ok) {
46
+ const errorText = await response.text().catch(() => 'Unknown error');
47
+ log.error('S3 upload failed', undefined, {
48
+ status: response.status,
49
+ statusText: response.statusText,
50
+ error: errorText
51
+ });
52
+ if (response.status === 403) {
53
+ throw UploadError.urlExpired('');
54
+ }
55
+ throw new UploadError(`S3 upload failed: ${response.status} ${response.statusText}`, 'S3_UPLOAD_FAILED');
56
+ }
57
+
58
+ // Report completion
59
+ onProgress?.(1.0);
60
+ log.info('S3 upload completed', {
61
+ size: data.length
62
+ });
63
+ } catch (error) {
64
+ if (error instanceof UploadError) {
65
+ throw error;
66
+ }
67
+ const err = error;
68
+
69
+ // Check for abort
70
+ if (err.name === 'AbortError') {
71
+ throw new UploadError('Upload was cancelled', 'UPLOAD_CANCELLED');
72
+ }
73
+
74
+ // Check for network errors
75
+ if (err.message?.includes('Network request failed')) {
76
+ throw UploadError.networkUnavailable();
77
+ }
78
+ throw new UploadError(`Upload failed: ${err.message}`, 'UPLOAD_FAILED', undefined, err);
79
+ }
80
+ }
81
+
82
+ /**
83
+ * Upload a file in chunks (for larger files)
84
+ * Note: This requires multipart upload support from the pre-signed URL
85
+ */
86
+ async uploadChunked(data, uploadUrl, options = {}) {
87
+ // For now, delegate to simple upload
88
+ // In production, you'd implement S3 multipart upload here
89
+ return this.upload(data, uploadUrl, options);
90
+ }
91
+
92
+ /**
93
+ * Notify the backend that upload is complete
94
+ */
95
+ async notifyCompletion(completeUrl, recordingId, uploadToken) {
96
+ log.debug('Notifying upload completion', {
97
+ recordingId
98
+ });
99
+ try {
100
+ const response = await fetch(completeUrl, {
101
+ method: 'POST',
102
+ headers: {
103
+ 'Content-Type': 'application/json',
104
+ Authorization: `Bearer ${uploadToken}`
105
+ },
106
+ body: JSON.stringify({
107
+ recording_id: recordingId
108
+ })
109
+ });
110
+ if (!response.ok) {
111
+ const errorText = await response.text().catch(() => 'Unknown error');
112
+ throw new UploadError(`Completion notification failed: ${response.status} - ${errorText}`, 'COMPLETION_FAILED');
113
+ }
114
+ log.info('Upload completion notified', {
115
+ recordingId
116
+ });
117
+ } catch (error) {
118
+ if (error instanceof UploadError) {
119
+ throw error;
120
+ }
121
+ const err = error;
122
+ throw UploadError.completionFailed('', err);
123
+ }
124
+ }
125
+ }
126
+ //# sourceMappingURL=S3Uploader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UploadError","logger","log","tag","S3Uploader","upload","data","uploadUrl","options","contentType","onProgress","abortSignal","info","size","length","response","fetch","method","headers","toString","body","signal","ok","errorText","text","catch","error","undefined","status","statusText","urlExpired","err","name","message","includes","networkUnavailable","uploadChunked","notifyCompletion","completeUrl","recordingId","uploadToken","debug","Authorization","JSON","stringify","recording_id","completionFailed"],"sourceRoot":"../../../src","sources":["upload/S3Uploader.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,272 @@
1
+ /**
2
+ * Upload Queue - Manages persistent upload queue with retry logic
3
+ */
4
+
5
+ import EventEmitter from 'eventemitter3';
6
+ import { generateTaskId } from '../storage/StorageManager';
7
+ import { S3Uploader } from './S3Uploader';
8
+ import { shouldContinueRetrying } from '../utils/retry';
9
+ import { logger } from '../utils/logger';
10
+ const log = logger.tag('UploadQueue');
11
+
12
+ /**
13
+ * Events emitted by UploadQueue
14
+ */
15
+
16
+ /**
17
+ * Upload Queue configuration
18
+ */
19
+
20
+ /**
21
+ * Upload Queue class
22
+ */
23
+ export class UploadQueue extends EventEmitter {
24
+ activeUploads = new Set();
25
+ isPaused = false;
26
+ isProcessing = false;
27
+ abortControllers = new Map();
28
+ constructor(storage, config = {}) {
29
+ super();
30
+ this.storage = storage;
31
+ this.uploader = new S3Uploader();
32
+ this.maxConcurrent = config.maxConcurrent ?? 2;
33
+ this.maxRetries = config.maxRetries ?? 6;
34
+ if (config.autoStart !== false) {
35
+ this.processQueue();
36
+ }
37
+ }
38
+
39
+ /**
40
+ * Add a new upload task to the queue
41
+ */
42
+ async enqueue(params) {
43
+ const task = {
44
+ id: generateTaskId(),
45
+ recordingId: params.recordingId,
46
+ deviceId: params.deviceId,
47
+ localPath: params.localPath,
48
+ uploadUrl: params.uploadUrl,
49
+ uploadToken: params.uploadToken,
50
+ completeUrl: params.completeUrl,
51
+ status: 'pending',
52
+ retryCount: 0,
53
+ createdAt: new Date(),
54
+ updatedAt: new Date()
55
+ };
56
+ await this.storage.addUploadTask(task);
57
+ this.emit('taskAdded', task);
58
+ log.info('Task enqueued', {
59
+ taskId: task.id,
60
+ recordingId: task.recordingId
61
+ });
62
+
63
+ // Trigger queue processing
64
+ this.processQueue();
65
+ return task;
66
+ }
67
+
68
+ /**
69
+ * Cancel a specific upload task
70
+ */
71
+ async cancel(taskId) {
72
+ log.info('Cancelling task', {
73
+ taskId
74
+ });
75
+
76
+ // Abort if currently uploading
77
+ const controller = this.abortControllers.get(taskId);
78
+ if (controller) {
79
+ controller.abort();
80
+ this.abortControllers.delete(taskId);
81
+ }
82
+
83
+ // Remove from active uploads
84
+ this.activeUploads.delete(taskId);
85
+
86
+ // Remove from queue
87
+ await this.storage.removeUploadTask(taskId);
88
+ }
89
+
90
+ /**
91
+ * Cancel all uploads
92
+ */
93
+ async cancelAll() {
94
+ log.info('Cancelling all uploads');
95
+
96
+ // Abort all active uploads
97
+ for (const controller of this.abortControllers.values()) {
98
+ controller.abort();
99
+ }
100
+ this.abortControllers.clear();
101
+ this.activeUploads.clear();
102
+
103
+ // Clear queue
104
+ await this.storage.clearAllTasks();
105
+ this.emit('queueEmpty');
106
+ }
107
+
108
+ /**
109
+ * Pause queue processing
110
+ */
111
+ pause() {
112
+ log.info('Pausing upload queue');
113
+ this.isPaused = true;
114
+ }
115
+
116
+ /**
117
+ * Resume queue processing
118
+ */
119
+ resume() {
120
+ log.info('Resuming upload queue');
121
+ this.isPaused = false;
122
+ this.processQueue();
123
+ }
124
+
125
+ /**
126
+ * Retry all failed uploads
127
+ */
128
+ async retryFailed() {
129
+ log.info('Retrying failed uploads');
130
+ const failedTasks = this.storage.getFailedUploads();
131
+ for (const task of failedTasks) {
132
+ if (task.retryCount < this.maxRetries) {
133
+ await this.storage.updateTaskStatus(task.id, 'pending');
134
+ }
135
+ }
136
+ this.processQueue();
137
+ }
138
+
139
+ /**
140
+ * Get all pending tasks
141
+ */
142
+ getPendingTasks() {
143
+ return this.storage.getPendingUploads();
144
+ }
145
+
146
+ /**
147
+ * Get all tasks
148
+ */
149
+ getAllTasks() {
150
+ return this.storage.getUploadQueue();
151
+ }
152
+
153
+ /**
154
+ * Process the upload queue
155
+ */
156
+ async processQueue() {
157
+ if (this.isPaused || this.isProcessing) {
158
+ return;
159
+ }
160
+ this.isProcessing = true;
161
+ try {
162
+ while (!this.isPaused) {
163
+ // Check if we can start more uploads
164
+ if (this.activeUploads.size >= this.maxConcurrent) {
165
+ break;
166
+ }
167
+
168
+ // Get next pending task
169
+ const pendingTasks = this.storage.getPendingUploads();
170
+ const nextTask = pendingTasks.find(t => !this.activeUploads.has(t.id) && t.status === 'pending');
171
+ if (!nextTask) {
172
+ // No more tasks to process
173
+ if (this.activeUploads.size === 0) {
174
+ this.emit('queueEmpty');
175
+ }
176
+ break;
177
+ }
178
+
179
+ // Start upload in background
180
+ this.processTask(nextTask);
181
+ }
182
+ } finally {
183
+ this.isProcessing = false;
184
+ }
185
+ }
186
+
187
+ /**
188
+ * Process a single upload task
189
+ */
190
+ async processTask(task) {
191
+ this.activeUploads.add(task.id);
192
+ const abortController = new AbortController();
193
+ this.abortControllers.set(task.id, abortController);
194
+ try {
195
+ // Update status to uploading
196
+ await this.storage.updateTaskStatus(task.id, 'uploading');
197
+ this.emit('taskUpdated', {
198
+ ...task,
199
+ status: 'uploading'
200
+ });
201
+ log.info('Starting upload', {
202
+ taskId: task.id,
203
+ recordingId: task.recordingId
204
+ });
205
+
206
+ // Load the audio data
207
+ const audioData = await this.storage.loadRecordingData(task.localPath);
208
+
209
+ // Upload to S3
210
+ await this.uploader.upload(audioData, task.uploadUrl, {
211
+ onProgress: progress => {
212
+ this.emit('uploadProgress', task.id, progress);
213
+ },
214
+ abortSignal: abortController.signal
215
+ });
216
+
217
+ // Notify completion
218
+ await this.uploader.notifyCompletion(task.completeUrl, task.recordingId, task.uploadToken);
219
+
220
+ // Mark as completed
221
+ await this.storage.updateTaskStatus(task.id, 'completed');
222
+
223
+ // Clean up local file
224
+ await this.storage.deleteRecordingData(task.localPath);
225
+ log.info('Upload completed', {
226
+ taskId: task.id,
227
+ recordingId: task.recordingId
228
+ });
229
+ this.emit('taskCompleted', task.id, task.recordingId);
230
+ } catch (error) {
231
+ const err = error;
232
+ log.error('Upload failed', err, {
233
+ taskId: task.id
234
+ });
235
+
236
+ // Check if we should retry
237
+ if (task.retryCount < this.maxRetries && shouldContinueRetrying(task.createdAt)) {
238
+ await this.storage.incrementRetryCount(task.id);
239
+ await this.storage.updateTaskStatus(task.id, 'pending', err.message);
240
+ log.info('Task will be retried', {
241
+ taskId: task.id,
242
+ retryCount: task.retryCount + 1
243
+ });
244
+ } else {
245
+ await this.storage.updateTaskStatus(task.id, 'failed', err.message);
246
+ this.emit('taskFailed', task.id, err);
247
+ }
248
+ } finally {
249
+ this.activeUploads.delete(task.id);
250
+ this.abortControllers.delete(task.id);
251
+
252
+ // Process next task
253
+ this.processQueue();
254
+ }
255
+ }
256
+
257
+ /**
258
+ * Clean up resources
259
+ */
260
+ destroy() {
261
+ this.isPaused = true;
262
+
263
+ // Abort all active uploads
264
+ for (const controller of this.abortControllers.values()) {
265
+ controller.abort();
266
+ }
267
+ this.abortControllers.clear();
268
+ this.activeUploads.clear();
269
+ this.removeAllListeners();
270
+ }
271
+ }
272
+ //# sourceMappingURL=UploadQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["EventEmitter","generateTaskId","S3Uploader","shouldContinueRetrying","logger","log","tag","UploadQueue","activeUploads","Set","isPaused","isProcessing","abortControllers","Map","constructor","storage","config","uploader","maxConcurrent","maxRetries","autoStart","processQueue","enqueue","params","task","id","recordingId","deviceId","localPath","uploadUrl","uploadToken","completeUrl","status","retryCount","createdAt","Date","updatedAt","addUploadTask","emit","info","taskId","cancel","controller","get","abort","delete","removeUploadTask","cancelAll","values","clear","clearAllTasks","pause","resume","retryFailed","failedTasks","getFailedUploads","updateTaskStatus","getPendingTasks","getPendingUploads","getAllTasks","getUploadQueue","size","pendingTasks","nextTask","find","t","has","processTask","add","abortController","AbortController","set","audioData","loadRecordingData","upload","onProgress","progress","abortSignal","signal","notifyCompletion","deleteRecordingData","error","err","incrementRetryCount","message","destroy","removeAllListeners"],"sourceRoot":"../../../src","sources":["upload/UploadQueue.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Upload module exports
3
+ */
4
+
5
+ export { S3Uploader } from './S3Uploader';
6
+ export { UploadQueue } from './UploadQueue';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["S3Uploader","UploadQueue"],"sourceRoot":"../../../src","sources":["upload/index.ts"],"mappings":"AAAA;AACA;AACA;;AAEA,SAASA,UAAU,QAAyD,cAAc;AAC1F,SAASC,WAAW,QAAgC,eAAe","ignoreList":[]}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Custom error types for the Bota SDK
3
+ */
4
+
5
+ /**
6
+ * Base error class for all Bota SDK errors
7
+ */
8
+ export class BotaError extends Error {
9
+ constructor(message, code, cause) {
10
+ super(message);
11
+ this.code = code;
12
+ this.cause = cause;
13
+ this.name = 'BotaError';
14
+ Object.setPrototypeOf(this, BotaError.prototype);
15
+ }
16
+ }
17
+
18
+ /**
19
+ * Bluetooth-related errors
20
+ */
21
+ export class BluetoothError extends BotaError {
22
+ constructor(message, code, cause) {
23
+ super(message, code, cause);
24
+ this.name = 'BluetoothError';
25
+ Object.setPrototypeOf(this, BluetoothError.prototype);
26
+ }
27
+ static unavailable() {
28
+ return new BluetoothError('Bluetooth is not available on this device', 'BLUETOOTH_UNAVAILABLE');
29
+ }
30
+ static unauthorized() {
31
+ return new BluetoothError('Bluetooth permission not granted', 'BLUETOOTH_UNAUTHORIZED');
32
+ }
33
+ static poweredOff() {
34
+ return new BluetoothError('Bluetooth is powered off', 'BLUETOOTH_OFF');
35
+ }
36
+ }
37
+
38
+ /**
39
+ * Device-related errors
40
+ */
41
+ export class DeviceError extends BotaError {
42
+ constructor(message, code, deviceId, cause) {
43
+ super(message, code, cause);
44
+ this.deviceId = deviceId;
45
+ this.name = 'DeviceError';
46
+ Object.setPrototypeOf(this, DeviceError.prototype);
47
+ }
48
+ static notFound(deviceId) {
49
+ return new DeviceError(`Device ${deviceId} not found`, 'DEVICE_NOT_FOUND', deviceId);
50
+ }
51
+ static connectionFailed(deviceId, cause) {
52
+ return new DeviceError(`Failed to connect to device ${deviceId}`, 'CONNECTION_FAILED', deviceId, cause);
53
+ }
54
+ static connectionLost(deviceId, during) {
55
+ const message = during ? `Connection to device ${deviceId} lost during ${during}` : `Connection to device ${deviceId} lost`;
56
+ return new DeviceError(message, 'CONNECTION_LOST', deviceId);
57
+ }
58
+ static bondingFailed(deviceId, cause) {
59
+ return new DeviceError(`Bonding failed for device ${deviceId}`, 'BONDING_FAILED', deviceId, cause);
60
+ }
61
+ static notConnected(deviceId) {
62
+ return new DeviceError(`Device ${deviceId} is not connected`, 'NOT_CONNECTED', deviceId);
63
+ }
64
+ static alreadyConnected(deviceId) {
65
+ return new DeviceError(`Device ${deviceId} is already connected`, 'ALREADY_CONNECTED', deviceId);
66
+ }
67
+ }
68
+
69
+ /**
70
+ * Provisioning-related errors
71
+ */
72
+ export class ProvisioningError extends BotaError {
73
+ constructor(message, code, deviceId, cause) {
74
+ super(message, code, cause);
75
+ this.deviceId = deviceId;
76
+ this.name = 'ProvisioningError';
77
+ Object.setPrototypeOf(this, ProvisioningError.prototype);
78
+ }
79
+ static invalidToken(deviceId) {
80
+ return new ProvisioningError('Device rejected the token as invalid', 'INVALID_TOKEN', deviceId);
81
+ }
82
+ static storageError(deviceId) {
83
+ return new ProvisioningError('Device failed to store the token', 'STORAGE_ERROR', deviceId);
84
+ }
85
+ static chunkError(deviceId) {
86
+ return new ProvisioningError('Token chunk transfer failed', 'CHUNK_ERROR', deviceId);
87
+ }
88
+ static alreadyProvisioned(deviceId) {
89
+ return new ProvisioningError('Device is already provisioned', 'ALREADY_PROVISIONED', deviceId);
90
+ }
91
+ static timeout(deviceId) {
92
+ return new ProvisioningError('Provisioning timed out waiting for device response', 'PROVISIONING_TIMEOUT', deviceId);
93
+ }
94
+ }
95
+
96
+ /**
97
+ * Transfer-related errors
98
+ */
99
+ export class TransferError extends BotaError {
100
+ constructor(message, code, recordingUuid, cause) {
101
+ super(message, code, cause);
102
+ this.recordingUuid = recordingUuid;
103
+ this.name = 'TransferError';
104
+ Object.setPrototypeOf(this, TransferError.prototype);
105
+ }
106
+ static recordingNotFound(uuid) {
107
+ return new TransferError(`Recording ${uuid} not found on device`, 'RECORDING_NOT_FOUND', uuid);
108
+ }
109
+ static checksumMismatch(uuid) {
110
+ return new TransferError(`Checksum mismatch for recording ${uuid}`, 'CHECKSUM_MISMATCH', uuid);
111
+ }
112
+ static interrupted(uuid, cause) {
113
+ return new TransferError(`Transfer interrupted for recording ${uuid}`, 'TRANSFER_INTERRUPTED', uuid, cause);
114
+ }
115
+ static timeout(uuid) {
116
+ return new TransferError(`Transfer timed out for recording ${uuid}`, 'TRANSFER_TIMEOUT', uuid);
117
+ }
118
+ static deviceError(uuid, errorCode) {
119
+ return new TransferError(`Device error (code: ${errorCode}) during transfer of ${uuid}`, 'DEVICE_ERROR', uuid);
120
+ }
121
+ }
122
+
123
+ /**
124
+ * Upload-related errors
125
+ */
126
+ export class UploadError extends BotaError {
127
+ constructor(message, code, taskId, cause) {
128
+ super(message, code, cause);
129
+ this.taskId = taskId;
130
+ this.name = 'UploadError';
131
+ Object.setPrototypeOf(this, UploadError.prototype);
132
+ }
133
+ static urlExpired(taskId) {
134
+ return new UploadError('Upload URL has expired', 'URL_EXPIRED', taskId);
135
+ }
136
+ static networkUnavailable() {
137
+ return new UploadError('Network is not available', 'NETWORK_UNAVAILABLE');
138
+ }
139
+ static uploadFailed(taskId, cause) {
140
+ return new UploadError(`Upload failed for task ${taskId}`, 'UPLOAD_FAILED', taskId, cause);
141
+ }
142
+ static completionFailed(taskId, cause) {
143
+ return new UploadError(`Failed to notify completion for task ${taskId}`, 'COMPLETION_FAILED', taskId, cause);
144
+ }
145
+ }
146
+
147
+ /**
148
+ * SDK state errors
149
+ */
150
+ export class SdkError extends BotaError {
151
+ constructor(message, code, cause) {
152
+ super(message, code, cause);
153
+ this.name = 'SdkError';
154
+ Object.setPrototypeOf(this, SdkError.prototype);
155
+ }
156
+ static notInitialized() {
157
+ return new SdkError('SDK has not been initialized. Call BotaClient.configure() first.', 'NOT_INITIALIZED');
158
+ }
159
+ static invalidState(expected, actual) {
160
+ return new SdkError(`Invalid state: expected ${expected}, got ${actual}`, 'INVALID_STATE');
161
+ }
162
+ static timeout(operation) {
163
+ return new SdkError(`Operation timed out: ${operation}`, 'TIMEOUT');
164
+ }
165
+ }
166
+
167
+ /**
168
+ * Type guard to check if an error is a BotaError
169
+ */
170
+ export function isBotaError(error) {
171
+ return error instanceof BotaError;
172
+ }
173
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BotaError","Error","constructor","message","code","cause","name","Object","setPrototypeOf","prototype","BluetoothError","unavailable","unauthorized","poweredOff","DeviceError","deviceId","notFound","connectionFailed","connectionLost","during","bondingFailed","notConnected","alreadyConnected","ProvisioningError","invalidToken","storageError","chunkError","alreadyProvisioned","timeout","TransferError","recordingUuid","recordingNotFound","uuid","checksumMismatch","interrupted","deviceError","errorCode","UploadError","taskId","urlExpired","networkUnavailable","uploadFailed","completionFailed","SdkError","notInitialized","invalidState","expected","actual","operation","isBotaError","error"],"sourceRoot":"../../../src","sources":["utils/errors.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Utils module exports
3
+ */
4
+
5
+ export * from './errors';
6
+ export { logger } from './logger';
7
+ export * from './retry';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["logger"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAAA;AACA;AACA;;AAEA,cAAc,UAAU;AACxB,SAASA,MAAM,QAAQ,UAAU;AACjC,cAAc,SAAS","ignoreList":[]}