@ovok/native 1.12.1 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +48 -27
  2. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +14 -41
  4. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-delivery.js +75 -0
  6. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-delivery.js.map +1 -0
  7. package/lib/commonjs/modules/bt-management/services/bt-manager.js +2 -1
  8. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  9. package/lib/commonjs/modules/bt-management/services/series-recorder.js +9 -5
  10. package/lib/commonjs/modules/bt-management/services/series-recorder.js.map +1 -1
  11. package/lib/commonjs/modules/bt-management/services/series-slots.js +9 -2
  12. package/lib/commonjs/modules/bt-management/services/series-slots.js.map +1 -1
  13. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +7 -5
  14. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  15. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +4 -5
  16. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
  17. package/lib/commonjs/modules/data-sync/services/managers/storage-manager.js +12 -5
  18. package/lib/commonjs/modules/data-sync/services/managers/storage-manager.js.map +1 -1
  19. package/lib/commonjs/modules/data-sync/types/health-sync-batch-error.js +18 -0
  20. package/lib/commonjs/modules/data-sync/types/health-sync-batch-error.js.map +1 -1
  21. package/lib/commonjs/modules/data-sync/utils/healthkit-series.js +4 -1
  22. package/lib/commonjs/modules/data-sync/utils/healthkit-series.js.map +1 -1
  23. package/lib/commonjs/modules/data-sync/utils/identify-imported-observations.js +70 -0
  24. package/lib/commonjs/modules/data-sync/utils/identify-imported-observations.js.map +1 -0
  25. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +48 -27
  26. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  27. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +15 -42
  28. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  29. package/lib/module/modules/bt-management/services/background-sync/background-sync-delivery.js +70 -0
  30. package/lib/module/modules/bt-management/services/background-sync/background-sync-delivery.js.map +1 -0
  31. package/lib/module/modules/bt-management/services/bt-manager.js +2 -1
  32. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  33. package/lib/module/modules/bt-management/services/series-recorder.js +10 -6
  34. package/lib/module/modules/bt-management/services/series-recorder.js.map +1 -1
  35. package/lib/module/modules/bt-management/services/series-slots.js +8 -2
  36. package/lib/module/modules/bt-management/services/series-slots.js.map +1 -1
  37. package/lib/module/modules/data-sync/services/base-health-sync-service.js +7 -5
  38. package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  39. package/lib/module/modules/data-sync/services/managers/data-processor.js +4 -5
  40. package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
  41. package/lib/module/modules/data-sync/services/managers/storage-manager.js +12 -5
  42. package/lib/module/modules/data-sync/services/managers/storage-manager.js.map +1 -1
  43. package/lib/module/modules/data-sync/types/health-sync-batch-error.js +18 -0
  44. package/lib/module/modules/data-sync/types/health-sync-batch-error.js.map +1 -1
  45. package/lib/module/modules/data-sync/utils/healthkit-series.js +4 -1
  46. package/lib/module/modules/data-sync/utils/healthkit-series.js.map +1 -1
  47. package/lib/module/modules/data-sync/utils/identify-imported-observations.js +65 -0
  48. package/lib/module/modules/data-sync/utils/identify-imported-observations.js.map +1 -0
  49. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  51. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-delivery.d.ts +9 -0
  52. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-delivery.d.ts.map +1 -0
  53. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +2 -0
  54. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/src/modules/bt-management/services/series-recorder.d.ts +3 -1
  56. package/lib/typescript/commonjs/src/modules/bt-management/services/series-recorder.d.ts.map +1 -1
  57. package/lib/typescript/commonjs/src/modules/bt-management/services/series-slots.d.ts +4 -1
  58. package/lib/typescript/commonjs/src/modules/bt-management/services/series-slots.d.ts.map +1 -1
  59. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +6 -0
  60. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts +5 -0
  62. package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts +2 -2
  65. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/storage-manager.d.ts +7 -2
  67. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/storage-manager.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-batch-error.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-series.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/src/modules/data-sync/utils/identify-imported-observations.d.ts +25 -0
  71. package/lib/typescript/commonjs/src/modules/data-sync/utils/identify-imported-observations.d.ts.map +1 -0
  72. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  73. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  74. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-delivery.d.ts +9 -0
  75. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-delivery.d.ts.map +1 -0
  76. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +2 -0
  77. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  78. package/lib/typescript/module/src/modules/bt-management/services/series-recorder.d.ts +3 -1
  79. package/lib/typescript/module/src/modules/bt-management/services/series-recorder.d.ts.map +1 -1
  80. package/lib/typescript/module/src/modules/bt-management/services/series-slots.d.ts +4 -1
  81. package/lib/typescript/module/src/modules/bt-management/services/series-slots.d.ts.map +1 -1
  82. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +6 -0
  83. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  84. package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts +5 -0
  85. package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
  86. package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  87. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts +2 -2
  88. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  89. package/lib/typescript/module/src/modules/data-sync/services/managers/storage-manager.d.ts +7 -2
  90. package/lib/typescript/module/src/modules/data-sync/services/managers/storage-manager.d.ts.map +1 -1
  91. package/lib/typescript/module/src/modules/data-sync/types/health-sync-batch-error.d.ts.map +1 -1
  92. package/lib/typescript/module/src/modules/data-sync/utils/healthkit-series.d.ts.map +1 -1
  93. package/lib/typescript/module/src/modules/data-sync/utils/identify-imported-observations.d.ts +25 -0
  94. package/lib/typescript/module/src/modules/data-sync/utils/identify-imported-observations.d.ts.map +1 -0
  95. package/package.json +3 -3
  96. package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js +0 -108
  97. package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js.map +0 -1
  98. package/lib/commonjs/modules/data-sync/utils/save-bundle-observations.js +0 -100
  99. package/lib/commonjs/modules/data-sync/utils/save-bundle-observations.js.map +0 -1
  100. package/lib/module/modules/data-sync/utils/generate-observation-entry.js +0 -103
  101. package/lib/module/modules/data-sync/utils/generate-observation-entry.js.map +0 -1
  102. package/lib/module/modules/data-sync/utils/save-bundle-observations.js +0 -95
  103. package/lib/module/modules/data-sync/utils/save-bundle-observations.js.map +0 -1
  104. package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts +0 -21
  105. package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +0 -1
  106. package/lib/typescript/commonjs/src/modules/data-sync/utils/save-bundle-observations.d.ts +0 -11
  107. package/lib/typescript/commonjs/src/modules/data-sync/utils/save-bundle-observations.d.ts.map +0 -1
  108. package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts +0 -21
  109. package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +0 -1
  110. package/lib/typescript/module/src/modules/data-sync/utils/save-bundle-observations.d.ts +0 -11
  111. package/lib/typescript/module/src/modules/data-sync/utils/save-bundle-observations.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["recordOvokDuration","recordOvokMetric","withOvokSpan","DEFAULT_HEALTH_SYNC_CHUNK_SIZE","toHealthSyncError","getHealthDataMode","isSyncRetryCancelled","withSyncRetries","DataProcessor","StorageManager","SyncProgressManager","SyncStateManager","BaseHealthSyncService","constructor","props","adapter","client","patientId","dataToSync","onSyncError","progressManager","updateProgress","stateManager","storageManager","provider","dataProcessor","chunkSize","getTotalCount","getData","convert","startSync","once","runSync","isInitialized","Error","resume","setNotStartedStatuses","initialDataFetched","initializeSync","processAllDataTypes","setPauseStatuses","pauseReason","error","stopSync","resetAll","reset","shouldStopSync","pauseSync","reason","pause","latestObservationDates","getLatestObservationDates","calculateTotalCounts","key","Object","keys","measurementTypeKey","data","getDataForMeasurementType","latestValidStartDate","getLatestValidStartDate","mode","totalCount","getTotalRecordsCountForType","setTotalObservations","setStatus","syncDataByType","hasMore","observationBodies","observationSyncIds","observationRecordIds","deletedRecordIds","currentHasMore","anchors","getObservationBodiesForType","entries","generateObservationEntries","length","startedAt","Date","now","result","saveObservations","responseEntries","entry","savedCount","filter","response","status","startsWith","createdCount","addResult","incrementSyncedObservations","deleteObservations","saveAnchors"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/services/base-health-sync-service.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["recordOvokDuration","recordOvokMetric","withOvokSpan","DEFAULT_HEALTH_SYNC_CHUNK_SIZE","toHealthSyncError","getHealthDataMode","isSyncRetryCancelled","withSyncRetries","DataProcessor","StorageManager","SyncProgressManager","SyncStateManager","BaseHealthSyncService","constructor","props","adapter","client","patientId","dataToSync","onSyncError","progressManager","updateProgress","stateManager","storageManager","provider","dataProcessor","chunkSize","getTotalCount","getData","convert","startSync","once","runSync","isInitialized","Error","resume","setNotStartedStatuses","initialDataFetched","initializeSync","processAllDataTypes","setPauseStatuses","pauseReason","error","stopSync","resetAll","reset","shouldStopSync","pauseSync","reason","pause","latestObservationDates","getLatestObservationDates","calculateTotalCounts","key","Object","keys","measurementTypeKey","data","getDataForMeasurementType","latestValidStartDate","getLatestValidStartDate","mode","totalCount","getTotalRecordsCountForType","setTotalObservations","setStatus","syncDataByType","hasMore","observationBodies","observationSyncIds","observationRecordIds","deletedRecordIds","currentHasMore","anchors","getObservationBodiesForType","groups","identifyObservations","observationCount","flat","length","startedAt","Date","now","result","saveObservations","responseEntries","entry","savedCount","filter","response","status","startsWith","createdCount","addResult","incrementSyncedObservations","deleteObservations","saveAnchors"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/services/base-health-sync-service.ts"],"mappings":"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","ignoreList":[]}
@@ -4,13 +4,13 @@
4
4
 
5
5
  import { MeasurementTypeKey } from "@ovok/core";
6
6
  import { getHealthDataMode, HealthDataType } from "../../types/health-sync-keys.js";
7
- import { generateObservationEntry } from "../../utils/generate-observation-entry.js";
8
7
  import { getHealthRecordSourceId, getHealthRecordSyncId } from "../../utils/get-health-record-sync-id.js";
9
8
  import { getLatestObservationDatesByCode } from "../../utils/get-latest-observation-dates-by-code.js";
10
9
  import { getLatestValidStartDate } from "../../utils/get-latest-valid-start-date.js";
11
10
  import { groupSamplesByInterval } from "../../utils/group-samples-by-interval.js";
12
11
  import { groupSleepSamples } from "../../utils/group-sleep-samples.js";
13
12
  import { getHealthDataCoding } from "../../utils/health-data-catalog.js";
13
+ import { identifyImportedObservations } from "../../utils/identify-imported-observations.js";
14
14
  export class DataProcessor {
15
15
  constructor(client, patientId, provider, chunkSize, storageManager, getTotalCountsFunction, getDataFromProviderFunction, getConverterFunction) {
16
16
  this.client = client;
@@ -132,14 +132,13 @@ export class DataProcessor {
132
132
  anchors: newAnchors
133
133
  };
134
134
  }
135
- generateObservationEntries(observationBodies, observationSyncIds, observationRecordIds, mode) {
136
- return generateObservationEntry({
135
+ identifyObservations(observationBodies, observationSyncIds, observationRecordIds, mode) {
136
+ return identifyImportedObservations({
137
137
  groupedObservationBodies: observationBodies,
138
138
  provider: this.provider,
139
139
  groupedObservationSyncIds: observationSyncIds,
140
140
  groupedRecordIds: observationRecordIds,
141
- mode,
142
- patientId: this.patientId
141
+ mode
143
142
  });
144
143
  }
145
144
  getLatestValidStartDate(latestObservationDates, data, measurementTypeKey, mode) {
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","getHealthDataMode","HealthDataType","generateObservationEntry","getHealthRecordSourceId","getHealthRecordSyncId","getLatestObservationDatesByCode","getLatestValidStartDate","groupSamplesByInterval","groupSleepSamples","getHealthDataCoding","DataProcessor","constructor","client","patientId","provider","chunkSize","storageManager","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","extractCodes","dataToSync","entries","Object","flatMap","key","data","typeIdentifiers","map","typeIdentifier","code","String","mode","getLatestObservationDates","codes","getTotalRecordsCountForType","measurementTypeKey","latestValidStartDate","totalCounts","Promise","all","anchor","getAnchor","startDate","toISOString","reduce","acc","count","getObservationBodiesForType","configuredCodings","system","display","catalogCoding","undefined","typeIdentifierCodes","fromEntries","typeIdentifierCodeSystems","typeIdentifierCodeDisplays","results","result","newAnchors","flat","filter","Boolean","allData","deletedRecordIds","dataGroups","sleep","bloodPressure","observationBodies","group","length","observationSyncIds","observationRecordIds","hasMore","some","anchors","generateObservationEntries","groupedObservationBodies","groupedObservationSyncIds","groupedRecordIds","latestObservationDates","resolvedMode","resolvedData"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/data-processor.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","getHealthDataMode","HealthDataType","getHealthRecordSourceId","getHealthRecordSyncId","getLatestObservationDatesByCode","getLatestValidStartDate","groupSamplesByInterval","groupSleepSamples","getHealthDataCoding","identifyImportedObservations","DataProcessor","constructor","client","patientId","provider","chunkSize","storageManager","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","extractCodes","dataToSync","entries","Object","flatMap","key","data","typeIdentifiers","map","typeIdentifier","code","String","mode","getLatestObservationDates","codes","getTotalRecordsCountForType","measurementTypeKey","latestValidStartDate","totalCounts","Promise","all","anchor","getAnchor","startDate","toISOString","reduce","acc","count","getObservationBodiesForType","configuredCodings","system","display","catalogCoding","undefined","typeIdentifierCodes","fromEntries","typeIdentifierCodeSystems","typeIdentifierCodeDisplays","results","result","newAnchors","flat","filter","Boolean","allData","deletedRecordIds","dataGroups","sleep","bloodPressure","observationBodies","group","length","observationSyncIds","observationRecordIds","hasMore","some","anchors","identifyObservations","groupedObservationBodies","groupedObservationSyncIds","groupedRecordIds","latestObservationDates","resolvedMode","resolvedData"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/data-processor.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
+ import { OBSERVATION_SYNC_ID_SYSTEM } from "../../utils/fhir-systems.js";
3
4
  import { getHealthRecordIdentifier } from "../../utils/get-health-record-sync-id.js";
4
- import { saveBundleObservations } from "../../utils/save-bundle-observations.js";
5
+ import { replacesSavedObservation } from "../../utils/replaces-saved-observation.js";
5
6
  export class StorageManager {
6
7
  /**
7
8
  * Where an anchor goes when the host client has no storage.
@@ -25,10 +26,16 @@ export class StorageManager {
25
26
  this.client = client;
26
27
  this.provider = provider;
27
28
  }
28
- async saveObservations(entries) {
29
- return saveBundleObservations({
30
- entries,
31
- client: this.client
29
+
30
+ /**
31
+ * Saves a page of imported readings, each group one reading with its main observation first. An observation is
32
+ * created once per sync id, or with a mode that replaces, written over the one saved under it. The record id stays
33
+ * out of that check: all of a reading's observations share it.
34
+ */
35
+ async saveObservations(groups, mode) {
36
+ return this.client.saveObservationGroups(groups, {
37
+ identifierSystems: [OBSERVATION_SYNC_ID_SYSTEM],
38
+ replace: replacesSavedObservation(mode)
32
39
  });
33
40
  }
34
41
 
@@ -1 +1 @@
1
- {"version":3,"names":["getHealthRecordIdentifier","saveBundleObservations","StorageManager","inMemoryAnchors","Map","constructor","client","provider","saveObservations","entries","deleteObservations","recordIds","patientId","recordId","Set","system","value","observations","page","searchResourcePages","subject","identifier","push","Promise","all","filter","observation","id","map","deleteResource","saveAnchor","typeIdentifier","anchor","key","anchorKey","clientStorage","setString","set","getAnchor","getString","get","saveAnchors","anchors","forEach"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/storage-manager.ts"],"mappings":";;AAIA,SAASA,yBAAyB,QAAQ,0CAAuC;AACjF,SAASC,sBAAsB,QAAQ,yCAAsC;AAE7E,OAAO,MAAMC,cAAc,CAAC;EAC1B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACmBC,eAAe,GAAG,IAAIC,GAAG,CAAiB,CAAC;EAE5DC,WAAWA,CACDC,MAAkB,EAClBC,QAAwB,EAChC;IAAA,KAFQD,MAAkB,GAAlBA,MAAkB;IAAA,KAClBC,QAAwB,GAAxBA,QAAwB;EAC/B;EAEH,MAAMC,gBAAgBA,CACpBC,OAAgE,EAClC;IAC9B,OAAOR,sBAAsB,CAAC;MAC5BQ,OAAO;MACPH,MAAM,EAAE,IAAI,CAACA;IACf,CAAC,CAAC;EACJ;;EAEA;EACA,MAAMI,kBAAkBA,CACtBC,SAAmB,EACnBC,SAAiB,EACF;IACf,KAAK,MAAMC,QAAQ,IAAI,IAAIC,GAAG,CAACH,SAAS,CAAC,EAAE;MACzC,MAAM;QAAEI,MAAM;QAAEC;MAAM,CAAC,GAAGhB,yBAAyB,CAAC,IAAI,CAACO,QAAQ,EAAEM,QAAQ,CAAC;MAC5E,MAAMI,YAAY,GAAG,EAAE;MAEvB,WAAW,MAAMC,IAAI,IAAI,IAAI,CAACZ,MAAM,CAACa,mBAAmB,CAAC,aAAa,EAAE;QACtEC,OAAO,EAAE,WAAWR,SAAS,EAAE;QAC/BS,UAAU,EAAE,GAAGN,MAAM,IAAIC,KAAK;MAChC,CAAC,CAAC,EAAE;QACFC,YAAY,CAACK,IAAI,CAAC,GAAGJ,IAAI,CAAC;MAC5B;MAEA,MAAMK,OAAO,CAACC,GAAG,CACfP,YAAY,CACTQ,MAAM,CAAEC,WAAW,IAAKA,WAAW,CAACC,EAAE,CAAC,CACvCC,GAAG,CAAEF,WAAW,IACf,IAAI,CAACpB,MAAM,CAACuB,cAAc,CAAC,aAAa,EAAEH,WAAW,CAACC,EAAG,CAC3D,CACJ,CAAC;IACH;EACF;EAEAG,UAAUA,CAACC,cAAsB,EAAEC,MAAc,EAAQ;IACvD,MAAMC,GAAG,GAAG,IAAI,CAACC,SAAS,CAACH,cAAc,CAAC;IAE1C,IAAI,IAAI,CAACzB,MAAM,CAAC6B,aAAa,EAAE;MAC7B,IAAI,CAAC7B,MAAM,CAAC6B,aAAa,CAACC,SAAS,CAACH,GAAG,EAAED,MAAM,CAAC;MAEhD;IACF;IAEA,IAAI,CAAC7B,eAAe,CAACkC,GAAG,CAACJ,GAAG,EAAED,MAAM,CAAC;EACvC;EAEAM,SAASA,CAACP,cAAsB,EAAsB;IACpD,MAAME,GAAG,GAAG,IAAI,CAACC,SAAS,CAACH,cAAc,CAAC;IAE1C,OAAO,IAAI,CAACzB,MAAM,CAAC6B,aAAa,GAC5B,IAAI,CAAC7B,MAAM,CAAC6B,aAAa,CAACI,SAAS,CAACN,GAAG,CAAC,GACxC,IAAI,CAAC9B,eAAe,CAACqC,GAAG,CAACP,GAAG,CAAC;EACnC;EAEQC,SAASA,CAACH,cAAsB,EAAU;IAChD,OAAO,GAAG,IAAI,CAACxB,QAAQ,SAASwB,cAAc,SAAS;EACzD;EAEAU,WAAWA,CACTC,OAA0D,EACpD;IACNA,OAAO,CAACC,OAAO,CAAC,CAAC;MAAEZ,cAAc;MAAEC;IAAO,CAAC,KAAK;MAC9C,IAAI,CAACF,UAAU,CAACC,cAAc,EAAEC,MAAM,CAAC;IACzC,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
1
+ {"version":3,"names":["OBSERVATION_SYNC_ID_SYSTEM","getHealthRecordIdentifier","replacesSavedObservation","StorageManager","inMemoryAnchors","Map","constructor","client","provider","saveObservations","groups","mode","saveObservationGroups","identifierSystems","replace","deleteObservations","recordIds","patientId","recordId","Set","system","value","observations","page","searchResourcePages","subject","identifier","push","Promise","all","filter","observation","id","map","deleteResource","saveAnchor","typeIdentifier","anchor","key","anchorKey","clientStorage","setString","set","getAnchor","getString","get","saveAnchors","anchors","forEach"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/storage-manager.ts"],"mappings":"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","ignoreList":[]}
@@ -9,10 +9,28 @@ class HealthSyncBatchError extends Error {
9
9
  this.outcome = outcome;
10
10
  }
11
11
  }
12
+ const isBundle = value => value?.resourceType === "Bundle";
13
+
14
+ /** What the entries a batch didn't save answered, as "409 Conflict × 2, 500 Internal Server Error × 1". */
15
+ const summarizeUnsavedEntries = bundle => {
16
+ const statusCounts = new Map();
17
+ for (const entry of bundle.entry ?? []) {
18
+ const status = entry.response?.status ?? "missing status";
19
+ if (!status.startsWith("2")) {
20
+ statusCounts.set(status, (statusCounts.get(status) ?? 0) + 1);
21
+ }
22
+ }
23
+ return [...statusCounts].map(([status, count]) => `${status} × ${count}`).join(", ");
24
+ };
12
25
  const toHealthSyncError = error => {
13
26
  if (error instanceof HealthSyncBatchError) {
14
27
  return error;
15
28
  }
29
+
30
+ // Core's save throws the response of a request that didn't save every entry.
31
+ if (isBundle(error)) {
32
+ return new HealthSyncBatchError(`Health import batch did not save every entry (${summarizeUnsavedEntries(error) || "an entry was not answered"})`, error);
33
+ }
16
34
  const record = typeof error === "object" && error !== null ? error : undefined;
17
35
  if (record?.outcome) {
18
36
  return new HealthSyncBatchError(error instanceof Error ? error.message : String(error), undefined, record.outcome);
@@ -1 +1 @@
1
- {"version":3,"names":["toError","HealthSyncBatchError","Error","name","constructor","message","bundle","outcome","toHealthSyncError","error","record","undefined","String"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/types/health-sync-batch-error.ts"],"mappings":";;AAEA,SAASA,OAAO,QAAQ,iCAA8B;AAEtD,MAAMC,oBAAoB,SAASC,KAAK,CAAC;EACvBC,IAAI,GAAG,sBAAsB;EAEtCC,WAAWA,CAChBC,OAAe,EACCC,MAAe,EACfC,OAA0B,EAC1C;IACA,KAAK,CAACF,OAAO,CAAC;IAAC,KAHCC,MAAe,GAAfA,MAAe;IAAA,KACfC,OAA0B,GAA1BA,OAA0B;EAG5C;AACF;AAEA,MAAMC,iBAAiB,GAAIC,KAAc,IAAY;EACnD,IAAIA,KAAK,YAAYR,oBAAoB,EAAE;IACzC,OAAOQ,KAAK;EACd;EAEA,MAAMC,MAAM,GACV,OAAOD,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,GACtCA,KAAK,GACNE,SAAS;EAEf,IAAID,MAAM,EAAEH,OAAO,EAAE;IACnB,OAAO,IAAIN,oBAAoB,CAC7BQ,KAAK,YAAYP,KAAK,GAAGO,KAAK,CAACJ,OAAO,GAAGO,MAAM,CAACH,KAAK,CAAC,EACtDE,SAAS,EACTD,MAAM,CAACH,OACT,CAAC;EACH;EAEA,OAAOP,OAAO,CAACS,KAAK,CAAC;AACvB,CAAC;AAED,SAASR,oBAAoB,EAAEO,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["toError","HealthSyncBatchError","Error","name","constructor","message","bundle","outcome","isBundle","value","resourceType","summarizeUnsavedEntries","statusCounts","Map","entry","status","response","startsWith","set","get","map","count","join","toHealthSyncError","error","record","undefined","String"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/types/health-sync-batch-error.ts"],"mappings":";;AAEA,SAASA,OAAO,QAAQ,iCAA8B;AAEtD,MAAMC,oBAAoB,SAASC,KAAK,CAAC;EACvBC,IAAI,GAAG,sBAAsB;EAEtCC,WAAWA,CAChBC,OAAe,EACCC,MAAe,EACfC,OAA0B,EAC1C;IACA,KAAK,CAACF,OAAO,CAAC;IAAC,KAHCC,MAAe,GAAfA,MAAe;IAAA,KACfC,OAA0B,GAA1BA,OAA0B;EAG5C;AACF;AAEA,MAAMC,QAAQ,GAAIC,KAAc,IAC7BA,KAAK,EAAyBC,YAAY,KAAK,QAAQ;;AAE1D;AACA,MAAMC,uBAAuB,GAAIL,MAAc,IAAa;EAC1D,MAAMM,YAAY,GAAG,IAAIC,GAAG,CAAiB,CAAC;EAE9C,KAAK,MAAMC,KAAK,IAAIR,MAAM,CAACQ,KAAK,IAAI,EAAE,EAAE;IACtC,MAAMC,MAAM,GAAGD,KAAK,CAACE,QAAQ,EAAED,MAAM,IAAI,gBAAgB;IAEzD,IAAI,CAACA,MAAM,CAACE,UAAU,CAAC,GAAG,CAAC,EAAE;MAC3BL,YAAY,CAACM,GAAG,CAACH,MAAM,EAAE,CAACH,YAAY,CAACO,GAAG,CAACJ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D;EACF;EAEA,OAAO,CAAC,GAAGH,YAAY,CAAC,CACrBQ,GAAG,CAAC,CAAC,CAACL,MAAM,EAAEM,KAAK,CAAC,KAAK,GAAGN,MAAM,MAAMM,KAAK,EAAE,CAAC,CAChDC,IAAI,CAAC,IAAI,CAAC;AACf,CAAC;AAED,MAAMC,iBAAiB,GAAIC,KAAc,IAAY;EACnD,IAAIA,KAAK,YAAYvB,oBAAoB,EAAE;IACzC,OAAOuB,KAAK;EACd;;EAEA;EACA,IAAIhB,QAAQ,CAACgB,KAAK,CAAC,EAAE;IACnB,OAAO,IAAIvB,oBAAoB,CAC7B,iDAAiDU,uBAAuB,CAACa,KAAK,CAAC,IAAI,2BAA2B,GAAG,EACjHA,KACF,CAAC;EACH;EAEA,MAAMC,MAAM,GACV,OAAOD,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,GACtCA,KAAK,GACNE,SAAS;EAEf,IAAID,MAAM,EAAElB,OAAO,EAAE;IACnB,OAAO,IAAIN,oBAAoB,CAC7BuB,KAAK,YAAYtB,KAAK,GAAGsB,KAAK,CAACnB,OAAO,GAAGsB,MAAM,CAACH,KAAK,CAAC,EACtDE,SAAS,EACTD,MAAM,CAAClB,OACT,CAAC;EACH;EAEA,OAAOP,OAAO,CAACwB,KAAK,CAAC;AACvB,CAAC;AAED,SAASvB,oBAAoB,EAAEsB,iBAAiB","ignoreList":[]}
@@ -11,6 +11,9 @@ import { finishedHourWindows, toHourlySeries } from "./hourly-series.js";
11
11
  */
12
12
  const getHealthKitSeries = async (typeIdentifier, startDate) => {
13
13
  const unit = healthUnitFor(typeIdentifier);
14
+
15
+ // HealthKit gives a percentage as a fraction (0.97); a reading of it says 97 %, as a single sample's does.
16
+ const scale = unit === "%" ? 100 : 1;
14
17
  const minutes = [];
15
18
  for (const {
16
19
  from,
@@ -26,7 +29,7 @@ const getHealthKitSeries = async (typeIdentifier, startDate) => {
26
29
  if (value !== undefined) {
27
30
  minutes.push({
28
31
  start: new Date(from.getTime() + index * SERIES_SLOT_MS),
29
- value
32
+ value: value * scale
30
33
  });
31
34
  }
32
35
  });
@@ -1 +1 @@
1
- {"version":3,"names":["Healthkit","HKStatisticsOptions","SERIES_SLOT_MS","healthUnitFor","finishedHourWindows","toHourlySeries","getHealthKitSeries","typeIdentifier","startDate","unit","minutes","from","to","statistics","queryStatisticsCollectionForQuantity","discreteAverage","minute","forEach","statistic","index","value","averageQuantity","quantity","undefined","push","start","Date","getTime","data","anchor"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/healthkit-series.ts"],"mappings":";;AAAA,OAAOA,SAAS,IAA8BC,mBAAmB,QAAQ,oCAAoC;AAE7G,SAASC,cAAc,QAAQ,iBAAc;AAG7C,SAASC,aAAa,QAAQ,mBAAgB;AAC9C,SAASC,mBAAmB,EAAeC,cAAc,QAAQ,oBAAiB;;AAElF;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,MAAAA,CACzBC,cAAwC,EACxCC,SAAe,KAC8C;EAC7D,MAAMC,IAAI,GAAGN,aAAa,CAACI,cAAc,CAAC;EAC1C,MAAMG,OAAsB,GAAG,EAAE;EAEjC,KAAK,MAAM;IAAEC,IAAI;IAAEC;EAAG,CAAC,IAAIR,mBAAmB,CAACI,SAAS,CAAC,EAAE;IACzD,MAAMK,UAAU,GAAG,MAAMb,SAAS,CAACc,oCAAoC,CACrEP,cAAc,EACd,CAACN,mBAAmB,CAACc,eAAe,CAAC,EACrCJ,IAAI,EACJ;MAAEK,MAAM,EAAE;IAAE,CAAC,EACbL,IAAI,EACJC,EAAE,EACFH,IACF,CAAC;;IAED;IACAI,UAAU,CAACI,OAAO,CAAC,CAACC,SAAS,EAAEC,KAAK,KAAK;MACvC,MAAMC,KAAK,GAAGF,SAAS,CAACG,eAAe,EAAEC,QAAQ;MAEjD,IAAIF,KAAK,KAAKG,SAAS,EAAE;QACvBb,OAAO,CAACc,IAAI,CAAC;UAAEC,KAAK,EAAE,IAAIC,IAAI,CAACf,IAAI,CAACgB,OAAO,CAAC,CAAC,GAAGR,KAAK,GAAGjB,cAAc,CAAC;UAAEkB;QAAM,CAAC,CAAC;MACnF;IACF,CAAC,CAAC;EACJ;EAEA,OAAO;IAAEQ,IAAI,EAAEvB,cAAc,CAACE,cAAc,EAAEE,IAAI,IAAI,GAAG,EAAEC,OAAO,CAAC;IAAEmB,MAAM,EAAEN;EAAU,CAAC;AAC1F,CAAC;AAED,SAASjB,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["Healthkit","HKStatisticsOptions","SERIES_SLOT_MS","healthUnitFor","finishedHourWindows","toHourlySeries","getHealthKitSeries","typeIdentifier","startDate","unit","scale","minutes","from","to","statistics","queryStatisticsCollectionForQuantity","discreteAverage","minute","forEach","statistic","index","value","averageQuantity","quantity","undefined","push","start","Date","getTime","data","anchor"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/healthkit-series.ts"],"mappings":";;AAAA,OAAOA,SAAS,IAA8BC,mBAAmB,QAAQ,oCAAoC;AAE7G,SAASC,cAAc,QAAQ,iBAAc;AAG7C,SAASC,aAAa,QAAQ,mBAAgB;AAC9C,SAASC,mBAAmB,EAAeC,cAAc,QAAQ,oBAAiB;;AAElF;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,MAAAA,CACzBC,cAAwC,EACxCC,SAAe,KAC8C;EAC7D,MAAMC,IAAI,GAAGN,aAAa,CAACI,cAAc,CAAC;;EAE1C;EACA,MAAMG,KAAK,GAAGD,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;EACpC,MAAME,OAAsB,GAAG,EAAE;EAEjC,KAAK,MAAM;IAAEC,IAAI;IAAEC;EAAG,CAAC,IAAIT,mBAAmB,CAACI,SAAS,CAAC,EAAE;IACzD,MAAMM,UAAU,GAAG,MAAMd,SAAS,CAACe,oCAAoC,CACrER,cAAc,EACd,CAACN,mBAAmB,CAACe,eAAe,CAAC,EACrCJ,IAAI,EACJ;MAAEK,MAAM,EAAE;IAAE,CAAC,EACbL,IAAI,EACJC,EAAE,EACFJ,IACF,CAAC;;IAED;IACAK,UAAU,CAACI,OAAO,CAAC,CAACC,SAAS,EAAEC,KAAK,KAAK;MACvC,MAAMC,KAAK,GAAGF,SAAS,CAACG,eAAe,EAAEC,QAAQ;MAEjD,IAAIF,KAAK,KAAKG,SAAS,EAAE;QACvBb,OAAO,CAACc,IAAI,CAAC;UAAEC,KAAK,EAAE,IAAIC,IAAI,CAACf,IAAI,CAACgB,OAAO,CAAC,CAAC,GAAGR,KAAK,GAAGlB,cAAc,CAAC;UAAEmB,KAAK,EAAEA,KAAK,GAAGX;QAAM,CAAC,CAAC;MAClG;IACF,CAAC,CAAC;EACJ;EAEA,OAAO;IAAEmB,IAAI,EAAExB,cAAc,CAACE,cAAc,EAAEE,IAAI,IAAI,GAAG,EAAEE,OAAO,CAAC;IAAEmB,MAAM,EAAEN;EAAU,CAAC;AAC1F,CAAC;AAED,SAASlB,kBAAkB","ignoreList":[]}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ import { OBSERVATION_SYNC_ID_SYSTEM, OBSERVATION_SYNC_PROVIDER_SYSTEM } from "./fhir-systems.js";
4
+ import { getHealthRecordIdentifier } from "./get-health-record-sync-id.js";
5
+ import { isDailyAggregateMode } from "./is-daily-aggregate-mode.js";
6
+ const getObservationCode = observation => observation.code?.coding?.map(coding => `${coding.system ?? ""}|${coding.code ?? ""}`).join("~") || observation.code?.text || "unknown";
7
+ const getObservationTime = observation => {
8
+ if (observation.effectivePeriod) {
9
+ return `${observation.effectivePeriod.start ?? ""}:${observation.effectivePeriod.end ?? ""}`;
10
+ }
11
+ return observation.effectiveDateTime?.slice(0, 19) ?? "unknown";
12
+ };
13
+ const getStableObservationId = ({
14
+ observation,
15
+ provider,
16
+ sourceId,
17
+ bodyIndex
18
+ }) => observation.id && !sourceId ? `${provider}:${observation.id}` : [provider, sourceId ?? getObservationTime(observation), getObservationCode(observation), bodyIndex].join(":");
19
+ const syncIdentifier = value => ({
20
+ system: OBSERVATION_SYNC_ID_SYSTEM,
21
+ value
22
+ });
23
+
24
+ /**
25
+ * Names each imported observation for good: by its provider, by a sync id that stays the same when the source value
26
+ * changes, and by the record it came from. Core's `saveObservationGroups` finds an earlier import by the sync id, so a
27
+ * read of the same source again saves nothing new, or writes over a total that grew.
28
+ */
29
+ const identifyImportedObservations = ({
30
+ groupedObservationBodies,
31
+ provider,
32
+ groupedObservationSyncIds,
33
+ groupedRecordIds,
34
+ mode
35
+ }) => groupedObservationBodies.map((observationBodies, groupIndex) => {
36
+ const recordId = groupedRecordIds?.[groupIndex];
37
+ return observationBodies.map((observationBody, bodyIndex) => {
38
+ const syncId = getStableObservationId({
39
+ observation: observationBody,
40
+ provider,
41
+ sourceId: groupedObservationSyncIds?.[groupIndex],
42
+ bodyIndex
43
+ });
44
+
45
+ // A day's total saved before sync ids named their source carries its old id; naming the total by that id as
46
+ // well is what lets the save find it and write over it.
47
+ const legacySyncId = isDailyAggregateMode(mode) && observationBody.id ? `${provider}:${observationBody.id}` : undefined;
48
+ return {
49
+ ...observationBody,
50
+ identifier: [...(observationBody.identifier || []), {
51
+ system: OBSERVATION_SYNC_PROVIDER_SYSTEM,
52
+ value: provider
53
+ }, syncIdentifier(syncId), ...(legacySyncId && legacySyncId !== syncId ? [syncIdentifier(legacySyncId)] : []), ...(recordId ? [getHealthRecordIdentifier(provider, recordId)] : [])],
54
+ device: {
55
+ ...(observationBody.device ?? {}),
56
+ identifier: {
57
+ system: OBSERVATION_SYNC_PROVIDER_SYSTEM,
58
+ value: provider
59
+ }
60
+ }
61
+ };
62
+ });
63
+ });
64
+ export { getStableObservationId, identifyImportedObservations };
65
+ //# sourceMappingURL=identify-imported-observations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OBSERVATION_SYNC_ID_SYSTEM","OBSERVATION_SYNC_PROVIDER_SYSTEM","getHealthRecordIdentifier","isDailyAggregateMode","getObservationCode","observation","code","coding","map","system","join","text","getObservationTime","effectivePeriod","start","end","effectiveDateTime","slice","getStableObservationId","provider","sourceId","bodyIndex","id","syncIdentifier","value","identifyImportedObservations","groupedObservationBodies","groupedObservationSyncIds","groupedRecordIds","mode","observationBodies","groupIndex","recordId","observationBody","syncId","legacySyncId","undefined","identifier","device"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/identify-imported-observations.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAsCjF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,SAAS,cAAc,EAAE,EAAE,mWAqBvE,KAAK,CAAC,iBAAiB,CACxB,2BAA2B,CAAC,CAAC,CAAC,GAAG;IAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,CACxE,sBAqgBF,CAAC"}
1
+ {"version":3,"file":"bt-provider-child-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/components/bt-provider-child-wrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAsCjF,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,SAAS,cAAc,EAAE,EAAE,mWAqBvE,KAAK,CAAC,iBAAiB,CACxB,2BAA2B,CAAC,CAAC,CAAC,GAAG;IAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,CACxE,sBAiiBF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"background-sync-coordinator.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/background-sync/background-sync-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAIL,iBAAiB,EAIlB,MAAM,yBAAyB,CAAC;AAEjC,+GAA+G;AAC/G,KAAK,kBAAkB,CAAC,CAAC,SAAS,SAAS,IAAI,qBAAqB,CAAC,CAAC,CAAC,GAAG;IACxE,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACvC,CAAC;AAWF,cAAM,yBAAyB,CAAC,CAAC,SAAS,SAAS;IACjD,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;gBAEhC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAI1C,aAAa,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI;IAInD,OAAO,GAAI,QAAQ,cAAc,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC,CA6BzD;IAEK,KAAK,GAAI,UAAS,0BAA+B,KAAG,OAAO,CAAC,IAAI,CAAC,CAOnE;IAEL;;;OAGG;IACI,SAAS,QAAO,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAgB;IAEzE,4GAA4G;IACrG,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAUrD;IAEF,OAAO,CAAC,OAAO,CAeb;IAEF,OAAO,CAAC,YAAY,CAMlB;IAEF,OAAO,CAAC,UAAU,CA+GhB;CACH;AAED,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,CAAC;AACxD,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"background-sync-coordinator.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/background-sync/background-sync-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAGL,iBAAiB,EAGlB,MAAM,yBAAyB,CAAC;AAEjC,+GAA+G;AAC/G,KAAK,kBAAkB,CAAC,CAAC,SAAS,SAAS,IAAI,qBAAqB,CAAC,CAAC,CAAC,GAAG;IACxE,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACvC,CAAC;AAWF,cAAM,yBAAyB,CAAC,CAAC,SAAS,SAAS;IACjD,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;gBAEhC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAI1C,aAAa,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI;IAInD,OAAO,GAAI,QAAQ,cAAc,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC,CA6BzD;IAEK,KAAK,GAAI,UAAS,0BAA+B,KAAG,OAAO,CAAC,IAAI,CAAC,CAOnE;IAEL;;;OAGG;IACI,SAAS,QAAO,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAgB;IAEzE,4GAA4G;IACrG,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAUrD;IAEF,OAAO,CAAC,OAAO,CAeb;IAEF,OAAO,CAAC,YAAY,CAMlB;IAEF,OAAO,CAAC,UAAU,CAoEhB;CACH;AAED,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,CAAC;AACxD,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { StoredBackgroundSyncItem } from "./background-sync-queue";
2
+ import { BackgroundSyncOptions } from "../../types/background-sync";
3
+ import { DeviceKey } from "../../types/device-key";
4
+ /** Hands every due result to `onResults` at once; whether they were all accepted, and so taken off the queue. */
5
+ declare const deliverTogether: <T extends DeviceKey>(queue: StoredBackgroundSyncItem<T>[], due: StoredBackgroundSyncItem<T>[], syncOptions: BackgroundSyncOptions<T>) => Promise<boolean>;
6
+ /** Hands one result to `onResult`: off the queue once accepted, otherwise tried again later, or kept as exhausted. */
7
+ declare const deliver: <T extends DeviceKey>(queue: StoredBackgroundSyncItem<T>[], item: StoredBackgroundSyncItem<T>, syncOptions: BackgroundSyncOptions<T>) => Promise<void>;
8
+ export { deliver, deliverTogether };
9
+ //# sourceMappingURL=background-sync-delivery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-sync-delivery.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/bt-management/services/background-sync/background-sync-delivery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGxE,OAAO,EAAE,qBAAqB,EAAwB,MAAM,6BAA6B,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAanD,iHAAiH;AACjH,QAAA,MAAM,eAAe,GAAU,CAAC,SAAS,SAAS,EAChD,OAAO,wBAAwB,CAAC,CAAC,CAAC,EAAE,EACpC,KAAK,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAClC,aAAa,qBAAqB,CAAC,CAAC,CAAC,KACpC,OAAO,CAAC,OAAO,CAoBjB,CAAC;AAEF,sHAAsH;AACtH,QAAA,MAAM,OAAO,GAAU,CAAC,SAAS,SAAS,EACxC,OAAO,wBAAwB,CAAC,CAAC,CAAC,EAAE,EACpC,MAAM,wBAAwB,CAAC,CAAC,CAAC,EACjC,aAAa,qBAAqB,CAAC,CAAC,CAAC,KACpC,OAAO,CAAC,IAAI,CA4Cd,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -27,6 +27,8 @@ interface BTManagerOptions {
27
27
  * results queue in. Without it they live in memory, and a closed app loses the series it was recording.
28
28
  */
29
29
  seriesStorage?: BackgroundSyncStorage;
30
+ /** The signed-in account, which each series is recorded for. */
31
+ getOwnerKey?: () => string | undefined;
30
32
  clockSync?: ClockSyncOptions;
31
33
  /** Connect one newly discovered device automatically after the scan settles. */
32
34
  autoConnect?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,UAAU,EACV,MAAM,EAIP,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,UAAU,gBAAgB;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACxC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE7D;;;OAGG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAE7B,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,qFAAqF;IACrF,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE;QACtC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;QACtC,MAAM,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACtD,KAAK,IAAI,CAAC;CACZ;AAED,KAAK,iBAAiB,GAAG,IAAI,CAC3B,eAAe,EACf,IAAI,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAC3C,CAAC;AAUF,cAAM,SAAS,CAAC,CAAC,SAAS,SAAS,cAAc,EAAE;IAuB/C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAxB1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAM;IACzC,OAAO,CAAC,OAAO,CAAsD;IACrE,OAAO,CAAC,kBAAkB,CAAqB;IAE/C,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,qBAAqB,CAAsD;IACnF,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,WAAW,CAA6C;gBAG7C,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,CAAC,EAClB,OAAO,GAAE,gBAAqB;IAO1C,cAAc,GACnB,kBAAkB,OAAO,GAAG;QAC1B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,yBAAyB,CAAC,EAAE,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;KAC3E,EACD,UAAU,MAAM,EAChB,4BAA4B,gBAAgB,CAAC,2BAA2B,CAAC,KACxE,IAAI,CAwBL;IAEK,OAAO,aAeZ;IAEF,mGAAmG;IAC5F,aAAa,QAAO,SAAS,UAAU,EAAE,CAA0B;IAE1E,0FAA0F;IACnF,mBAAmB,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAAoC;IAE9F,SAAS,aAmEd;IAEF,+EAA+E;IACxE,wBAAwB,GAAI,SAAS,OAAO,KAAG,IAAI,CAUxD;IAEK,QAAQ,aAuBb;IAEF;;;;;OAKG;IACI,SAAS,aAQd;IAEF;;;;;OAKG;IACI,UAAU,aAOf;IAEF,OAAO,CAAC,WAAW,CAQjB;IAEF,mEAAmE;IACnE,OAAO,CAAC,QAAQ,CAOd;IAEF,OAAO,CAAC,eAAe,CAUrB;IAEF,OAAO,CAAC,iBAAiB,CASvB;IAEF,OAAO,CAAC,yBAAyB,CAgB/B;IAEF,OAAO,CAAC,eAAe,CAgErB;IAEK,cAAc,GAAI,SAAS,SAAS,MAAM,EAAE,UAKjD;IAEF,iFAAiF;IAC1E,gBAAgB,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAW/D;IAEF,2FAA2F;IACpF,MAAM,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAGrD;IAEK,aAAa,GAClB,WAAW,CACT,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EACvC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAClB,OAAO,CAAC,IAAI,CAAC,UAIlB;IAEK,OAAO,GAAI,WAAW,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,UAGxD;IAEK,qBAAqB,GAC1B,WAAW,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,UAIrD;IAEK,iBAAiB,GACtB,WAAW,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,UAIhD;IAEK,QAAQ,GACb,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,UAOzD;IAGF,OAAO,CAAC,gBAAgB,CAAC,CAAiD;IAC1E,OAAO,CAAC,eAAe,CAAC,CAAgC;IACxD,OAAO,CAAC,qBAAqB,CAAC,CAGX;IACnB,OAAO,CAAC,6BAA6B,CAAC,CAE5B;IACV,OAAO,CAAC,yBAAyB,CAAC,CAAwC;IAE1E,OAAO,CAAC,YAAY,CAuFlB;IAEF,OAAO,CAAC,gBAAgB,CAmDtB;IAEF,OAAO,CAAC,8BAA8B,CAYpC;CACH;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"bt-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/bt-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,UAAU,EACV,MAAM,EAIP,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,UAAU,gBAAgB;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACxC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE7D;;;OAGG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IAEtC,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAE7B,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,qFAAqF;IACrF,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE;QACtC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;QACtC,MAAM,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACtD,KAAK,IAAI,CAAC;CACZ;AAED,KAAK,iBAAiB,GAAG,IAAI,CAC3B,eAAe,EACf,IAAI,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAC3C,CAAC;AAUF,cAAM,SAAS,CAAC,CAAC,SAAS,SAAS,cAAc,EAAE;IAuB/C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAxB1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAM;IACzC,OAAO,CAAC,OAAO,CAAsD;IACrE,OAAO,CAAC,kBAAkB,CAAqB;IAE/C,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,qBAAqB,CAAsD;IACnF,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,WAAW,CAA6C;gBAG7C,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,CAAC,EAClB,OAAO,GAAE,gBAAqB;IAO1C,cAAc,GACnB,kBAAkB,OAAO,GAAG;QAC1B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,yBAAyB,CAAC,EAAE,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;KAC3E,EACD,UAAU,MAAM,EAChB,4BAA4B,gBAAgB,CAAC,2BAA2B,CAAC,KACxE,IAAI,CAwBL;IAEK,OAAO,aAeZ;IAEF,mGAAmG;IAC5F,aAAa,QAAO,SAAS,UAAU,EAAE,CAA0B;IAE1E,0FAA0F;IACnF,mBAAmB,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAAoC;IAE9F,SAAS,aAmEd;IAEF,+EAA+E;IACxE,wBAAwB,GAAI,SAAS,OAAO,KAAG,IAAI,CAUxD;IAEK,QAAQ,aAuBb;IAEF;;;;;OAKG;IACI,SAAS,aAQd;IAEF;;;;;OAKG;IACI,UAAU,aAOf;IAEF,OAAO,CAAC,WAAW,CAQjB;IAEF,mEAAmE;IACnE,OAAO,CAAC,QAAQ,CAOd;IAEF,OAAO,CAAC,eAAe,CAUrB;IAEF,OAAO,CAAC,iBAAiB,CASvB;IAEF,OAAO,CAAC,yBAAyB,CAgB/B;IAEF,OAAO,CAAC,eAAe,CAgErB;IAEK,cAAc,GAAI,SAAS,SAAS,MAAM,EAAE,UAKjD;IAEF,iFAAiF;IAC1E,gBAAgB,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAW/D;IAEF,2FAA2F;IACpF,MAAM,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAGrD;IAEK,aAAa,GAClB,WAAW,CACT,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EACvC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAClB,OAAO,CAAC,IAAI,CAAC,UAIlB;IAEK,OAAO,GAAI,WAAW,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,UAGxD;IAEK,qBAAqB,GAC1B,WAAW,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,UAIrD;IAEK,iBAAiB,GACtB,WAAW,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,UAIhD;IAEK,QAAQ,GACb,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,UAOzD;IAGF,OAAO,CAAC,gBAAgB,CAAC,CAAiD;IAC1E,OAAO,CAAC,eAAe,CAAC,CAAgC;IACxD,OAAO,CAAC,qBAAqB,CAAC,CAGX;IACnB,OAAO,CAAC,6BAA6B,CAAC,CAE5B;IACV,OAAO,CAAC,yBAAyB,CAAC,CAAwC;IAE1E,OAAO,CAAC,YAAY,CAuFlB;IAEF,OAAO,CAAC,gBAAgB,CAmDtB;IAEF,OAAO,CAAC,8BAA8B,CAYpC;CACH;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -9,6 +9,8 @@ interface SeriesRecorderOptions {
9
9
  storage?: BackgroundSyncStorage;
10
10
  storageKey?: string;
11
11
  now?: () => number;
12
+ /** The signed-in account: a series is recorded for it and queued for it, even if someone else signs in meanwhile. */
13
+ getOwnerKey?: () => string | undefined;
12
14
  }
13
15
  /**
14
16
  * Keeps each device's live values of a kind as a series of one-second slots, for a result policy of `"series"`. A
@@ -29,7 +31,7 @@ declare class SeriesRecorder {
29
31
  constructor(options?: SeriesRecorderOptions);
30
32
  /** Records a reading's values, or returns false for a stored record, which isn't part of a series. */
31
33
  add: (deviceData: DeviceData, reading: Reading) => boolean;
32
- /** Closes every series that has gone quiet. `add` does it for its own; call this now and then for the rest. */
34
+ /** Closes every series that's over: quiet, full, or another account's (handed to that account). Call it now and then. */
33
35
  closeIdle: () => void;
34
36
  /** Hands closed series to `receiver`, those waiting and those still to close; `undefined` makes them wait. */
35
37
  deliverTo: (receiver: ((result: ResultCallback<DeviceKey>) => void) | undefined) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"series-recorder.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/series-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAML,OAAO,EAMR,MAAM,gBAAgB,CAAC;AAexB,UAAU,qBAAqB;IAE7B,+FAA+F;IAC/F,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,cAAM,cAAc;IAUC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,QAAQ,CAA4D;IAC5E,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;gBAEL,OAAO,GAAE,qBAA0B;IAIvE,sGAAsG;IAC/F,GAAG,GAAI,YAAY,UAAU,EAAE,SAAS,OAAO,KAAG,OAAO,CAmD9D;IAEF,+GAA+G;IACxG,SAAS,QAAO,IAAI,CAMzB;IAEF,8GAA8G;IACvG,SAAS,GAAI,UAAU,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,KAAG,IAAI,CAG5F;IAEF,sGAAsG;IAC/F,OAAO,QAAO,SAAS,UAAU,EAAE,CAAkB;IAErD,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAMrD;IAEF,+FAA+F;IACxF,OAAO,QAAO,OAAO,CAAC,IAAI,CAAC,CAKhC;IAEF,OAAO,CAAC,GAAG,CAAoD;IAE/D,OAAO,CAAC,KAAK,CAYX;IAEF,OAAO,CAAC,OAAO,CAYb;IAEF,OAAO,CAAC,OAAO,CAGb;IAEF,OAAO,CAAC,SAAS,CASf;IAEF,6EAA6E;IAC7E,OAAO,CAAC,KAAK,CAiBX;IAEF;;;OAGG;IACH,OAAO,CAAC,OAAO,CAqBb;CACH;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"series-recorder.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/series-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAML,OAAO,EAMR,MAAM,gBAAgB,CAAC;AAexB,UAAU,qBAAqB;IAE7B,+FAA+F;IAC/F,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAEnB,qHAAqH;IACrH,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACxC;AAED;;;;;GAKG;AACH,cAAM,cAAc;IAUC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,QAAQ,CAA4D;IAC5E,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;gBAEL,OAAO,GAAE,qBAA0B;IAIvE,sGAAsG;IAC/F,GAAG,GAAI,YAAY,UAAU,EAAE,SAAS,OAAO,KAAG,OAAO,CAqD9D;IAEF,yHAAyH;IAClH,SAAS,QAAO,IAAI,CAMzB;IAEF,8GAA8G;IACvG,SAAS,GAAI,UAAU,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,KAAG,IAAI,CAG5F;IAEF,sGAAsG;IAC/F,OAAO,QAAO,SAAS,UAAU,EAAE,CAAkB;IAErD,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAMrD;IAEF,+FAA+F;IACxF,OAAO,QAAO,OAAO,CAAC,IAAI,CAAC,CAKhC;IAEF,OAAO,CAAC,GAAG,CAAoD;IAE/D,OAAO,CAAC,KAAK,CAYX;IAEF,OAAO,CAAC,OAAO,CAYb;IAEF,OAAO,CAAC,OAAO,CAGb;IAEF,OAAO,CAAC,SAAS,CASf;IAEF,6EAA6E;IAC7E,OAAO,CAAC,KAAK,CAiBX;IAEF;;;OAGG;IACH,OAAO,CAAC,OAAO,CAqBb;CACH;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
@@ -17,6 +17,7 @@ type Reading = {
17
17
  /** A series as it is kept and stored: plain JSON. */
18
18
  interface RecordingSeries {
19
19
  deviceData: DeviceData;
20
+ ownerKey?: string;
20
21
  measurementTypeKey: MeasurementTypeKey;
21
22
  start: number;
22
23
  updatedAt: number;
@@ -24,6 +25,8 @@ interface RecordingSeries {
24
25
  }
25
26
  /** Whether a reading is a live value rather than a stored record dated earlier. */
26
27
  declare const isLive: (reading: Reading, now: number) => boolean;
28
+ /** Whether a series takes no more values: it went quiet, is full, or was recorded for another account. */
29
+ declare const hasEnded: (series: RecordingSeries, now: number, ownerKey: string | undefined) => boolean;
27
30
  declare const slotCount: (series: RecordingSeries) => number;
28
31
  /** A closed series as a result: its values in `series`, their means in `data`. */
29
32
  declare const toResult: (series: RecordingSeries) => ResultCallback<DeviceKey>;
@@ -31,6 +34,6 @@ declare const toResult: (series: RecordingSeries) => ResultCallback<DeviceKey>;
31
34
  declare const toOpenSeries: (series: RecordingSeries) => OpenSeries;
32
35
  /** What an earlier run stored, or `undefined` when nothing readable was. */
33
36
  declare const readStored: <T>(storage: BackgroundSyncStorage, key: string) => Promise<T | undefined>;
34
- export { IDLE_CLOSE_MS, isLive, MAX_SLOTS, NOT_MEASURED, readStored, slotCount, SLOT_MS, toOpenSeries, toResult, };
37
+ export { hasEnded, IDLE_CLOSE_MS, isLive, MAX_SLOTS, NOT_MEASURED, readStored, slotCount, SLOT_MS, toOpenSeries, toResult, };
35
38
  export type { Reading, RecordingSeries };
36
39
  //# sourceMappingURL=series-slots.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"series-slots.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/series-slots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAsB,MAAM,0BAA0B,CAAC;AAE9E,iGAAiG;AACjG,QAAA,MAAM,OAAO,OAAQ,CAAC;AACtB,QAAA,MAAM,SAAS,OAAQ,CAAC;AACxB,QAAA,MAAM,aAAa,QAAc,CAAC;AAMlC,gFAAgF;AAChF,QAAA,MAAM,YAAY,aAA0B,CAAC;AAE7C,KAAK,OAAO,GAAG;IAAE,kBAAkB,EAAE,kBAAkB,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhF,qDAAqD;AACrD,UAAU,eAAe;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC9C;AAID,mFAAmF;AACnF,QAAA,MAAM,MAAM,GAAI,SAAS,OAAO,EAAE,KAAK,MAAM,KAAG,OAEmB,CAAC;AAEpE,QAAA,MAAM,SAAS,GAAI,QAAQ,eAAe,KAAG,MACgC,CAAC;AA8C9E,kFAAkF;AAClF,QAAA,MAAM,QAAQ,GAAI,QAAQ,eAAe,KAAG,cAAc,CAAC,SAAS,CAcnE,CAAC;AAEF,kDAAkD;AAClD,QAAA,MAAM,YAAY,GAAI,QAAQ,eAAe,KAAG,UAQ9C,CAAC;AAEH,4EAA4E;AAC5E,QAAA,MAAM,UAAU,GAAU,CAAC,EAAE,SAAS,qBAAqB,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAQ/F,CAAC;AAEF,OAAO,EACL,aAAa,EACb,MAAM,EACN,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,OAAO,EACP,YAAY,EACZ,QAAQ,GACT,CAAC;AACF,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"series-slots.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/services/series-slots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAsB,MAAM,0BAA0B,CAAC;AAE9E,iGAAiG;AACjG,QAAA,MAAM,OAAO,OAAQ,CAAC;AACtB,QAAA,MAAM,SAAS,OAAQ,CAAC;AACxB,QAAA,MAAM,aAAa,QAAc,CAAC;AAMlC,gFAAgF;AAChF,QAAA,MAAM,YAAY,aAA0B,CAAC;AAE7C,KAAK,OAAO,GAAG;IAAE,kBAAkB,EAAE,kBAAkB,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhF,qDAAqD;AACrD,UAAU,eAAe;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC9C;AAID,mFAAmF;AACnF,QAAA,MAAM,MAAM,GAAI,SAAS,OAAO,EAAE,KAAK,MAAM,KAAG,OAEmB,CAAC;AAEpE,0GAA0G;AAC1G,QAAA,MAAM,QAAQ,GAAI,QAAQ,eAAe,EAAE,KAAK,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS,KAAG,OAC+B,CAAC;AAEvH,QAAA,MAAM,SAAS,GAAI,QAAQ,eAAe,KAAG,MACgC,CAAC;AA8C9E,kFAAkF;AAClF,QAAA,MAAM,QAAQ,GAAI,QAAQ,eAAe,KAAG,cAAc,CAAC,SAAS,CAenE,CAAC;AAEF,kDAAkD;AAClD,QAAA,MAAM,YAAY,GAAI,QAAQ,eAAe,KAAG,UAQ9C,CAAC;AAEH,4EAA4E;AAC5E,QAAA,MAAM,UAAU,GAAU,CAAC,EAAE,SAAS,qBAAqB,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAQ/F,CAAC;AAEF,OAAO,EACL,QAAQ,EACR,aAAa,EACb,MAAM,EACN,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,OAAO,EACP,YAAY,EACZ,QAAQ,GACT,CAAC;AACF,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -23,6 +23,12 @@ interface BackgroundSyncOptions<T extends DeviceKey = DeviceKey> {
23
23
  storage: BackgroundSyncStorage;
24
24
  /** Called after a result is persisted. Resolve only after the result is accepted. */
25
25
  onResult: (result: BackgroundSyncResult<T>) => Promise<void>;
26
+ /**
27
+ * Takes every result that is due at once, so a device emptying its memory is saved in a few requests rather than one
28
+ * a reading. Resolve only after all of them are accepted. When it rejects, each is delivered by `onResult` on its
29
+ * own, so one that can't be saved doesn't hold back the rest; delivering a result twice must be harmless.
30
+ */
31
+ onResults?: (results: BackgroundSyncResult<T>[]) => Promise<void>;
26
32
  /**
27
33
  * Returns the stable, opaque key for the account currently able to accept a
28
34
  * result. Required at runtime before queueing or delivering account-owned data.
@@ -1 +1 @@
1
- {"version":3,"file":"background-sync.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/background-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,UAAU,qBAAqB;IAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED,UAAU,oBAAoB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAC5D,SAAQ,cAAc,CAAC,CAAC,CAAC;IAEzB,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IAEX,gGAAgG;IAChG,QAAQ,EAAE,MAAM,CAAC;IAEjB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,qBAAqB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAE7D,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,mGAAmG;IACnG,OAAO,EAAE,qBAAqB,CAAC;IAE/B,qFAAqF;IACrF,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAEvC,mEAAmE;IACnE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sFAAsF;IACtF,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEjC,gFAAgF;IAChF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR,iBAAiB,CAAC,EAAE,wCAAwC,CAAC;KAC9D,CAAC;IAEF,kFAAkF;IAClF,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAE9D,0EAA0E;QAC1E,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;QAC5D,IAAI,CAAC,EACD,uBAAuB,CAAC,MAAM,CAAC,GAC/B,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;KAC5E,CAAC;IAEF,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"background-sync.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/background-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,UAAU,qBAAqB;IAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED,UAAU,oBAAoB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAC5D,SAAQ,cAAc,CAAC,CAAC,CAAC;IAEzB,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IAEX,gGAAgG;IAChG,QAAQ,EAAE,MAAM,CAAC;IAEjB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,qBAAqB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAE7D,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,mGAAmG;IACnG,OAAO,EAAE,qBAAqB,CAAC;IAE/B,qFAAqF;IACrF,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAEvC,mEAAmE;IACnE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sFAAsF;IACtF,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEjC,gFAAgF;IAChF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR,iBAAiB,CAAC,EAAE,wCAAwC,CAAC;KAC9D,CAAC;IAEF,kFAAkF;IAClF,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAE9D,0EAA0E;QAC1E,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;QAC5D,IAAI,CAAC,EACD,uBAAuB,CAAC,MAAM,CAAC,GAC/B,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;KAC5E,CAAC;IAEF,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -16,6 +16,11 @@ interface ResultCallback<T extends DeviceKey> {
16
16
  * `data` then holds each property's mean, from the series' start.
17
17
  */
18
18
  series?: MeasurementSeries;
19
+ /**
20
+ * The account a series was recorded for. It closes later, perhaps after someone else signs in, and is queued for
21
+ * this account, not for whoever is signed in then.
22
+ */
23
+ recordedFor?: string;
19
24
  }
20
25
  export type { ResultCallback, ResultCallbackData };
21
26
  //# sourceMappingURL=result-callback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"result-callback.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/result-callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,GAClD,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GACnB,KAAK,CAAC;AAEV,KAAK,kBAAkB,CAAC,CAAC,SAAS,SAAS,IAAI,YAAY,CACzD,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAC;AAEF,UAAU,cAAc,CAAC,CAAC,SAAS,SAAS;IAE1C,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAE5B;;;OAGG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"result-callback.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/result-callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,GAClD,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GACnB,KAAK,CAAC;AAEV,KAAK,kBAAkB,CAAC,CAAC,SAAS,SAAS,IAAI,YAAY,CACzD,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAC;AAEF,UAAU,cAAc,CAAC,CAAC,SAAS,SAAS;IAE1C,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAE5B;;;OAGG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"base-health-sync-service.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/data-sync/services/base-health-sync-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AASjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQzD,2DAA2D;AAC3D,MAAM,MAAM,iBAAiB,CAAC,eAAe,SAAS,MAAM,EAAE,iBAAiB,IAAI;IACjF,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,eAAe,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,OAAO,EAAE,CACP,KAAK,EAAE,wBAAwB,CAAC,eAAe,CAAC,KAC7C,OAAO,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;IACzE,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CACjF,CAAC;AAEF,8BAAsB,qBAAqB,CACzC,WAAW,SACT,sBAAsB,CAAC,YAAY,CAAC,GAAG,oBAAoB,CAAC,YAAY,CAAC,EAC3E,eAAe,SAAS,MAAM,EAC9B,iBAAiB,GAAG,OAAO;IAkBzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhB1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IAErD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmC;IACnE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAI5B;gBAGA,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACnB,OAAO,EAAE,iBAAiB,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAyBjF,2EAA2E;IAC9D,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAQzB,OAAO;IA6BR,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMzB,SAAS,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAKjD,cAAc;YAUd,oBAAoB;YA0BpB,mBAAmB;YAqBnB,cAAc;IAsH5B,OAAO,CAAC,yBAAyB;CAGlC"}
1
+ {"version":3,"file":"base-health-sync-service.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/data-sync/services/base-health-sync-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AASjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQzD,2DAA2D;AAC3D,MAAM,MAAM,iBAAiB,CAAC,eAAe,SAAS,MAAM,EAAE,iBAAiB,IAAI;IACjF,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,eAAe,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,OAAO,EAAE,CACP,KAAK,EAAE,wBAAwB,CAAC,eAAe,CAAC,KAC7C,OAAO,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;IACzE,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CACjF,CAAC;AAEF,8BAAsB,qBAAqB,CACzC,WAAW,SACT,sBAAsB,CAAC,YAAY,CAAC,GAAG,oBAAoB,CAAC,YAAY,CAAC,EAC3E,eAAe,SAAS,MAAM,EAC9B,iBAAiB,GAAG,OAAO;IAkBzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhB1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IAErD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmC;IACnE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAI5B;gBAGA,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACnB,OAAO,EAAE,iBAAiB,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAyBjF,2EAA2E;IAC9D,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAQzB,OAAO;IA6BR,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMzB,SAAS,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAKjD,cAAc;YAUd,oBAAoB;YA0BpB,mBAAmB;YAqBnB,cAAc;IA0H5B,OAAO,CAAC,yBAAyB;CAGlC"}
@@ -8,8 +8,8 @@ import { GetDataFromProviderProps } from "../../types/get-data-from-provider-pro
8
8
  import { GetTotalCountProps } from "../../types/get-total-count-props";
9
9
  import { HealthProvider } from "../../types/health-provider";
10
10
  import { HealthSyncKey } from "../../types/health-sync-keys";
11
- import { generateObservationEntry } from "../../utils/generate-observation-entry";
12
11
  import { getLatestValidStartDate } from "../../utils/get-latest-valid-start-date";
12
+ import { identifyImportedObservations } from "../../utils/identify-imported-observations";
13
13
  import { StorageManager } from "./storage-manager";
14
14
  export declare class DataProcessor<TDataToSync extends AndroidHealthSyncProps["dataToSync"] | AppleHealthSyncProps["dataToSync"], TTypeIdentifier extends string, TDataFromProvider> {
15
15
  private client;
@@ -38,7 +38,7 @@ export declare class DataProcessor<TDataToSync extends AndroidHealthSyncProps["d
38
38
  anchor: string;
39
39
  }>;
40
40
  }>;
41
- generateObservationEntries(observationBodies: Observation[][], observationSyncIds?: Array<string | undefined>, observationRecordIds?: Array<string | undefined>, mode?: Parameters<typeof generateObservationEntry>[0]["mode"]): import("@medplum/fhirtypes").BundleEntry<Observation>[];
41
+ identifyObservations(observationBodies: Observation[][], observationSyncIds?: Array<string | undefined>, observationRecordIds?: Array<string | undefined>, mode?: Parameters<typeof identifyImportedObservations>[0]["mode"]): Observation[][];
42
42
  getLatestValidStartDate(latestObservationDates: Array<{
43
43
  code: string | undefined;
44
44
  date: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"data-processor.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/data-sync/services/managers/data-processor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAsB,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAGL,aAAa,EACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAMlF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAKlF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,aAAa,CACxB,WAAW,SACT,sBAAsB,CAAC,YAAY,CAAC,GAAG,oBAAoB,CAAC,YAAY,CAAC,EAC3E,eAAe,SAAS,MAAM,EAC9B,iBAAiB;IAGf,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,sBAAsB;IAG9B,OAAO,CAAC,2BAA2B;IAGnC,OAAO,CAAC,oBAAoB;gBAXpB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,cAAc,EAC9B,sBAAsB,EAAE,CAC9B,KAAK,EAAE,kBAAkB,CAAC,eAAe,CAAC,KACvC,OAAO,CAAC,MAAM,CAAC,EACZ,2BAA2B,EAAE,CACnC,KAAK,EAAE,wBAAwB,CAAC,eAAe,CAAC,KAC7C,OAAO,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,EAChE,oBAAoB,EAAE,CAC5B,KAAK,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,KACvC,OAAO,CAAC,WAAW,EAAE,CAAC;IAG7B,YAAY,CAAC,UAAU,EAAE,WAAW,GAAG,MAAM,EAAE;IAmBzC,yBAAyB,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAC/D,KAAK,CAAC;QACJ,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;KAC1B,CAAC,CACH;IAWK,2BAA2B,CAC/B,kBAAkB,EAAE,aAAa,EACjC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,EAC7C,oBAAoB,EAAE,IAAI,GAAG,SAAS,GACrC,OAAO,CAAC,MAAM,CAAC;IAmBZ,2BAA2B,CAC/B,kBAAkB,EAAE,aAAa,EACjC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,EAC7C,oBAAoB,EAAE,IAAI,GAAG,SAAS,GACrC,OAAO,CAAC;QACT,iBAAiB,EAAE,WAAW,EAAE,EAAE,CAAC;QACnC,kBAAkB,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAC9C,oBAAoB,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QAChD,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,KAAK,CAAC;YAAE,cAAc,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC5D,CAAC;IAwHF,0BAA0B,CACxB,iBAAiB,EAAE,WAAW,EAAE,EAAE,EAClC,kBAAkB,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAC9C,oBAAoB,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAChD,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAY/D,uBAAuB,CACrB,sBAAsB,EAAE,KAAK,CAAC;QAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;KAC1B,CAAC,EACF,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,EAC7C,kBAAkB,EAAE,aAAa,EACjC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAC3D,IAAI,GAAG,SAAS;CAwBpB"}
1
+ {"version":3,"file":"data-processor.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/data-sync/services/managers/data-processor.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Bundle, Observation } from "@medplum/fhirtypes";
2
2
  import { OvokClient } from "@ovok/core";
3
3
  import { HealthProvider } from "../../types/health-provider";
4
- import { saveBundleObservations } from "../../utils/save-bundle-observations";
4
+ import { HealthDataMode } from "../../types/health-sync-keys";
5
5
  export declare class StorageManager {
6
6
  private client;
7
7
  private provider;
@@ -24,7 +24,12 @@ export declare class StorageManager {
24
24
  */
25
25
  private readonly inMemoryAnchors;
26
26
  constructor(client: OvokClient, provider: HealthProvider);
27
- saveObservations(entries: Parameters<typeof saveBundleObservations>[0]["entries"]): Promise<Bundle<Observation>>;
27
+ /**
28
+ * Saves a page of imported readings, each group one reading with its main observation first. An observation is
29
+ * created once per sync id, or with a mode that replaces, written over the one saved under it. The record id stays
30
+ * out of that check: all of a reading's observations share it.
31
+ */
32
+ saveObservations(groups: Observation[][], mode?: HealthDataMode): Promise<Bundle<Observation>>;
28
33
  /** Deletes the observations imported from records the provider reports deleted. */
29
34
  deleteObservations(recordIds: string[], patientId: string): Promise<void>;
30
35
  saveAnchor(typeIdentifier: string, anchor: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"storage-manager.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/data-sync/services/managers/storage-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,qBAAa,cAAc;IAqBvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IArBlB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;gBAGnD,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,cAAc;IAG5B,gBAAgB,CACpB,OAAO,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAC/D,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAO/B,mFAAmF;IAC7E,kBAAkB,CACtB,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAsBhB,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAYxD,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAQrD,OAAO,CAAC,SAAS;IAIjB,WAAW,CACT,OAAO,EAAE,KAAK,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GACzD,IAAI;CAKR"}
1
+ {"version":3,"file":"storage-manager.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/data-sync/services/managers/storage-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK9D,qBAAa,cAAc;IAqBvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IArBlB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;gBAGnD,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,cAAc;IAGlC;;;;OAIG;IACG,gBAAgB,CACpB,MAAM,EAAE,WAAW,EAAE,EAAE,EACvB,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAO/B,mFAAmF;IAC7E,kBAAkB,CACtB,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAsBhB,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAYxD,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAQrD,OAAO,CAAC,SAAS;IAIjB,WAAW,CACT,OAAO,EAAE,KAAK,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GACzD,IAAI;CAKR"}
@@ -1 +1 @@
1
- {"version":3,"file":"health-sync-batch-error.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/data-sync/types/health-sync-batch-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,cAAM,oBAAqB,SAAQ,KAAK;aAKpB,MAAM,CAAC,EAAE,MAAM;aACf,OAAO,CAAC,EAAE,gBAAgB;IAL5C,SAAgB,IAAI,0BAA0B;gBAG5C,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,OAAO,CAAC,EAAE,gBAAgB,YAAA;CAI7C;AAED,QAAA,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,KAmB3C,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"health-sync-batch-error.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/data-sync/types/health-sync-batch-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,cAAM,oBAAqB,SAAQ,KAAK;aAKpB,MAAM,CAAC,EAAE,MAAM;aACf,OAAO,CAAC,EAAE,gBAAgB;IAL5C,SAAgB,IAAI,0BAA0B;gBAG5C,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,OAAO,CAAC,EAAE,gBAAgB,YAAA;CAI7C;AAsBD,QAAA,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,KA2B3C,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC"}