@remnic/core 9.3.629 → 9.3.631

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 (221) hide show
  1. package/dist/access-cli.js +15 -13
  2. package/dist/access-cli.js.map +1 -1
  3. package/dist/access-http.d.ts +5 -4
  4. package/dist/access-http.js +7 -6
  5. package/dist/access-mcp.d.ts +5 -4
  6. package/dist/access-mcp.js +6 -5
  7. package/dist/{access-service-BdThkfIE.d.ts → access-service-C9_EpVHd.d.ts} +2 -2
  8. package/dist/access-service.d.ts +5 -4
  9. package/dist/access-service.js +5 -4
  10. package/dist/action-confidence.d.ts +1 -1
  11. package/dist/active-memory-bridge.d.ts +1 -1
  12. package/dist/active-recall.d.ts +1 -1
  13. package/dist/active-recall.js +1 -1
  14. package/dist/auto-sync-RFADEHIQ.js +75 -0
  15. package/dist/auto-sync-RFADEHIQ.js.map +1 -0
  16. package/dist/behavior-learner.d.ts +1 -1
  17. package/dist/behavior-signals.d.ts +1 -1
  18. package/dist/bootstrap.d.ts +4 -3
  19. package/dist/briefing.d.ts +1 -1
  20. package/dist/briefing.js +3 -2
  21. package/dist/buffer-surprise-report.d.ts +1 -1
  22. package/dist/buffer.d.ts +1 -1
  23. package/dist/calibration.d.ts +1 -1
  24. package/dist/causal-behavior.d.ts +1 -1
  25. package/dist/causal-consolidation.d.ts +1 -1
  26. package/dist/causal-consolidation.js +4 -3
  27. package/dist/causal-consolidation.js.map +1 -1
  28. package/dist/{chunk-532VCWYW.js → chunk-242XFZ36.js} +2 -2
  29. package/dist/{chunk-XXO5TI3B.js → chunk-32U3N7H5.js} +3 -3
  30. package/dist/{chunk-KB4MFBF5.js → chunk-3RDYU3JS.js} +3 -3
  31. package/dist/{chunk-57QXN2CS.js → chunk-4S3N6HFG.js} +2 -2
  32. package/dist/{chunk-OLNNOHBC.js → chunk-5PT5I6JQ.js} +20 -14
  33. package/dist/{chunk-OLNNOHBC.js.map → chunk-5PT5I6JQ.js.map} +1 -1
  34. package/dist/{chunk-GE7Q7KXP.js → chunk-7A2QKUUA.js} +2 -2
  35. package/dist/{chunk-KKTXCFD7.js → chunk-7H5WCPBS.js} +95 -11
  36. package/dist/{chunk-KKTXCFD7.js.map → chunk-7H5WCPBS.js.map} +1 -1
  37. package/dist/{chunk-3MNBW7R7.js → chunk-C4KKM62E.js} +2 -2
  38. package/dist/{chunk-NKCW223V.js → chunk-CMN5AWAZ.js} +2 -2
  39. package/dist/{chunk-JXHMAQYT.js → chunk-DOBJH4I6.js} +4 -4
  40. package/dist/{chunk-TZDSNIRO.js → chunk-IFVFQRZ2.js} +5 -5
  41. package/dist/{chunk-LQYTQCXM.js → chunk-JCLECECB.js} +2 -2
  42. package/dist/chunk-KVDUDYEN.js +1164 -0
  43. package/dist/chunk-KVDUDYEN.js.map +1 -0
  44. package/dist/{chunk-QDV6VAD4.js → chunk-LEG7XWS2.js} +2 -2
  45. package/dist/chunk-M7XQSUBB.js +280 -0
  46. package/dist/chunk-M7XQSUBB.js.map +1 -0
  47. package/dist/{chunk-N5RGXWLQ.js → chunk-PUEAEQSN.js} +2 -2
  48. package/dist/{chunk-UGHUNQ74.js → chunk-QYGIQ5NM.js} +212 -417
  49. package/dist/chunk-QYGIQ5NM.js.map +1 -0
  50. package/dist/{chunk-JKCDQBDW.js → chunk-UXFOGILU.js} +2 -2
  51. package/dist/{chunk-MVQN73GT.js → chunk-VTR3MNYF.js} +2 -2
  52. package/dist/{chunk-KVFYTRMV.js → chunk-W25I7G6U.js} +2 -2
  53. package/dist/{chunk-3GLCUPXP.js → chunk-WLZBVYC6.js} +192 -889
  54. package/dist/chunk-WLZBVYC6.js.map +1 -0
  55. package/dist/{chunk-3R2UZV3U.js → chunk-X7EJF46S.js} +2 -2
  56. package/dist/{chunk-54KDA6UK.js → chunk-XG4NAWAV.js} +3 -3
  57. package/dist/{chunk-P2D2MM47.js → chunk-YROCXMCK.js} +2 -2
  58. package/dist/{cli-DAsHklrf.d.ts → cli-CuVEQWKr.d.ts} +3 -3
  59. package/dist/cli.d.ts +6 -5
  60. package/dist/cli.js +18 -17
  61. package/dist/compounding/engine.d.ts +1 -1
  62. package/dist/compounding/engine.js +3 -2
  63. package/dist/compounding/preference-consolidator.d.ts +1 -1
  64. package/dist/compression-optimizer.d.ts +1 -1
  65. package/dist/config.d.ts +1 -1
  66. package/dist/config.js +1 -1
  67. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  68. package/dist/connectors/codex-materialize-runner.js +3 -2
  69. package/dist/connectors/codex-materialize.d.ts +1 -1
  70. package/dist/connectors/index.d.ts +1 -1
  71. package/dist/connectors/index.js +3 -2
  72. package/dist/consolidation-provenance-check.d.ts +1 -1
  73. package/dist/consolidation-undo.d.ts +1 -1
  74. package/dist/contradiction/index.d.ts +1 -1
  75. package/dist/contradiction/index.js +4 -4
  76. package/dist/conversation-index/backend.d.ts +1 -1
  77. package/dist/conversation-index/chunker.d.ts +1 -1
  78. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  79. package/dist/conversation-index/indexer.d.ts +1 -1
  80. package/dist/conversation-index/search.d.ts +1 -1
  81. package/dist/day-summary.d.ts +1 -1
  82. package/dist/delinearize.d.ts +1 -1
  83. package/dist/direct-answer-wiring.d.ts +1 -1
  84. package/dist/direct-answer.d.ts +1 -1
  85. package/dist/embedding-fallback.d.ts +1 -1
  86. package/dist/enrichment/index.d.ts +1 -1
  87. package/dist/entity-retrieval.d.ts +1 -1
  88. package/dist/entity-retrieval.js +3 -2
  89. package/dist/entity-schema.d.ts +1 -1
  90. package/dist/explicit-capture.d.ts +4 -3
  91. package/dist/extraction-judge-telemetry.d.ts +1 -1
  92. package/dist/extraction-judge-training.d.ts +1 -1
  93. package/dist/extraction-judge.d.ts +1 -1
  94. package/dist/extraction.d.ts +1 -1
  95. package/dist/fallback-llm.d.ts +1 -1
  96. package/dist/identity-continuity.d.ts +1 -1
  97. package/dist/importance.d.ts +1 -1
  98. package/dist/index.d.ts +8 -8
  99. package/dist/index.js +49 -45
  100. package/dist/index.js.map +1 -1
  101. package/dist/intent.d.ts +1 -1
  102. package/dist/lcm/engine.d.ts +1 -1
  103. package/dist/lcm/index.d.ts +1 -1
  104. package/dist/lcm/tools.d.ts +1 -1
  105. package/dist/lifecycle.d.ts +1 -1
  106. package/dist/live-connectors-runner.d.ts +1 -1
  107. package/dist/local-llm.d.ts +1 -1
  108. package/dist/maintenance/memory-governance.d.ts +1 -1
  109. package/dist/maintenance/memory-governance.js +3 -2
  110. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +3 -2
  111. package/dist/maintenance/rebuild-memory-projection.js +4 -3
  112. package/dist/mcp-memory-inspector-app.d.ts +5 -4
  113. package/dist/memory-action-policy.d.ts +1 -1
  114. package/dist/memory-cache.d.ts +1 -1
  115. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  116. package/dist/memory-projection-store.d.ts +1 -1
  117. package/dist/memory-provenance.d.ts +1 -1
  118. package/dist/memory-worth-outcomes.d.ts +1 -1
  119. package/dist/models-json.d.ts +1 -1
  120. package/dist/namespaces/migrate.d.ts +1 -1
  121. package/dist/namespaces/migrate.js +4 -3
  122. package/dist/namespaces/principal.d.ts +1 -1
  123. package/dist/namespaces/search.d.ts +1 -1
  124. package/dist/namespaces/storage.d.ts +1 -1
  125. package/dist/namespaces/storage.js +3 -2
  126. package/dist/native-knowledge.d.ts +1 -1
  127. package/dist/operator-toolkit.d.ts +1 -1
  128. package/dist/operator-toolkit.js +7 -6
  129. package/dist/{orchestrator-BexeSJ2j.d.ts → orchestrator-CoqytbK_.d.ts} +102 -10
  130. package/dist/orchestrator.d.ts +4 -3
  131. package/dist/orchestrator.js +12 -10
  132. package/dist/patterns-cli.d.ts +1 -1
  133. package/dist/policy-runtime.d.ts +1 -1
  134. package/dist/qmd-recall-cache.d.ts +1 -1
  135. package/dist/qmd.d.ts +1 -1
  136. package/dist/recall-disclosure-escalation.d.ts +1 -1
  137. package/dist/recall-explain-renderer.d.ts +1 -1
  138. package/dist/recall-planner-llm.d.ts +1 -1
  139. package/dist/recall-state.d.ts +1 -1
  140. package/dist/recall-tag-filter.d.ts +1 -1
  141. package/dist/recall-xray-cli.d.ts +1 -1
  142. package/dist/recall-xray-renderer.d.ts +1 -1
  143. package/dist/recall-xray.d.ts +1 -1
  144. package/dist/resolve-auth-token.d.ts +1 -1
  145. package/dist/resume-bundles.js +2 -2
  146. package/dist/retrieval-agents.d.ts +1 -1
  147. package/dist/retrieval-tiers.d.ts +1 -1
  148. package/dist/routing/engine.d.ts +1 -1
  149. package/dist/routing/store.d.ts +1 -1
  150. package/dist/search/embed-helper.d.ts +1 -1
  151. package/dist/search/factory.d.ts +1 -1
  152. package/dist/search/index.d.ts +1 -1
  153. package/dist/search/lancedb-backend.d.ts +1 -1
  154. package/dist/search/meilisearch-backend.d.ts +1 -1
  155. package/dist/search/noop-backend.d.ts +1 -1
  156. package/dist/search/orama-backend.d.ts +1 -1
  157. package/dist/search/port.d.ts +1 -1
  158. package/dist/search/remote-backend.d.ts +1 -1
  159. package/dist/{semantic-consolidation-PwkzNfdK.d.ts → semantic-consolidation-BPs6BURk.d.ts} +1 -1
  160. package/dist/semantic-consolidation.d.ts +2 -2
  161. package/dist/semantic-consolidation.js +4 -3
  162. package/dist/semantic-rule-promotion.js +3 -2
  163. package/dist/semantic-rule-verifier.d.ts +1 -1
  164. package/dist/semantic-rule-verifier.js +3 -2
  165. package/dist/session-observer-bands.d.ts +1 -1
  166. package/dist/session-observer-state.d.ts +1 -1
  167. package/dist/shared-context/manager.d.ts +1 -1
  168. package/dist/signal.d.ts +1 -1
  169. package/dist/storage.d.ts +38 -2
  170. package/dist/storage.js +6 -3
  171. package/dist/summarizer.d.ts +1 -1
  172. package/dist/summary-snapshot.d.ts +1 -1
  173. package/dist/temporal-supersession.d.ts +1 -1
  174. package/dist/temporal-validity.d.ts +1 -1
  175. package/dist/threading.d.ts +1 -1
  176. package/dist/tier-migration.d.ts +1 -1
  177. package/dist/tier-routing.d.ts +1 -1
  178. package/dist/topics.d.ts +1 -1
  179. package/dist/transcript.d.ts +1 -1
  180. package/dist/{types-BCF2wqKa.d.ts → types-CpMPD8xl.d.ts} +59 -11
  181. package/dist/types.d.ts +1 -1
  182. package/dist/utility-runtime.d.ts +1 -1
  183. package/dist/verified-recall.js +3 -2
  184. package/package.json +1 -1
  185. package/src/orchestrator.ts +74 -0
  186. package/src/storage.ts +100 -0
  187. package/src/wearables/auto-sync.test.ts +181 -0
  188. package/src/wearables/auto-sync.ts +129 -0
  189. package/src/wearables/cli.ts +6 -0
  190. package/src/wearables/config.test.ts +90 -11
  191. package/src/wearables/config.ts +113 -11
  192. package/src/wearables/memory-gen.test.ts +416 -1
  193. package/src/wearables/memory-gen.ts +381 -23
  194. package/src/wearables/pipeline.test.ts +396 -5
  195. package/src/wearables/pipeline.ts +174 -22
  196. package/src/wearables/service.test.ts +172 -0
  197. package/src/wearables/service.ts +84 -3
  198. package/src/wearables/storage-io.test.ts +81 -0
  199. package/src/wearables/trust.test.ts +123 -0
  200. package/src/wearables/trust.ts +168 -0
  201. package/src/wearables/types.ts +57 -9
  202. package/dist/chunk-3GLCUPXP.js.map +0 -1
  203. package/dist/chunk-UGHUNQ74.js.map +0 -1
  204. /package/dist/{chunk-532VCWYW.js.map → chunk-242XFZ36.js.map} +0 -0
  205. /package/dist/{chunk-XXO5TI3B.js.map → chunk-32U3N7H5.js.map} +0 -0
  206. /package/dist/{chunk-KB4MFBF5.js.map → chunk-3RDYU3JS.js.map} +0 -0
  207. /package/dist/{chunk-57QXN2CS.js.map → chunk-4S3N6HFG.js.map} +0 -0
  208. /package/dist/{chunk-GE7Q7KXP.js.map → chunk-7A2QKUUA.js.map} +0 -0
  209. /package/dist/{chunk-3MNBW7R7.js.map → chunk-C4KKM62E.js.map} +0 -0
  210. /package/dist/{chunk-NKCW223V.js.map → chunk-CMN5AWAZ.js.map} +0 -0
  211. /package/dist/{chunk-JXHMAQYT.js.map → chunk-DOBJH4I6.js.map} +0 -0
  212. /package/dist/{chunk-TZDSNIRO.js.map → chunk-IFVFQRZ2.js.map} +0 -0
  213. /package/dist/{chunk-LQYTQCXM.js.map → chunk-JCLECECB.js.map} +0 -0
  214. /package/dist/{chunk-QDV6VAD4.js.map → chunk-LEG7XWS2.js.map} +0 -0
  215. /package/dist/{chunk-N5RGXWLQ.js.map → chunk-PUEAEQSN.js.map} +0 -0
  216. /package/dist/{chunk-JKCDQBDW.js.map → chunk-UXFOGILU.js.map} +0 -0
  217. /package/dist/{chunk-MVQN73GT.js.map → chunk-VTR3MNYF.js.map} +0 -0
  218. /package/dist/{chunk-KVFYTRMV.js.map → chunk-W25I7G6U.js.map} +0 -0
  219. /package/dist/{chunk-3R2UZV3U.js.map → chunk-X7EJF46S.js.map} +0 -0
  220. /package/dist/{chunk-54KDA6UK.js.map → chunk-XG4NAWAV.js.map} +0 -0
  221. /package/dist/{chunk-P2D2MM47.js.map → chunk-YROCXMCK.js.map} +0 -0
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-3UXOZBHV.js";
8
8
  import {
9
9
  StorageManager
10
- } from "./chunk-UGHUNQ74.js";
10
+ } from "./chunk-QYGIQ5NM.js";
11
11
  import {
12
12
  isSafeRouteNamespace
13
13
  } from "./chunk-U3PN77QT.js";
@@ -118,4 +118,4 @@ export {
118
118
  runCodexMaterialize,
119
119
  runPostConsolidationMaterialize
120
120
  };
121
- //# sourceMappingURL=chunk-GE7Q7KXP.js.map
121
+ //# sourceMappingURL=chunk-7A2QKUUA.js.map
@@ -29,7 +29,7 @@ import path from "path";
29
29
 
30
30
  // src/wearables/config.ts
31
31
  var KNOWN_WEARABLE_SOURCE_IDS = ["limitless", "bee", "omi"];
32
- var MEMORY_MODES = ["off", "review", "auto"];
32
+ var MEMORY_MODES = ["off", "review", "auto", "smart"];
33
33
  var IMPORTANCE_LEVELS = [
34
34
  "trivial",
35
35
  "low",
@@ -37,11 +37,19 @@ var IMPORTANCE_LEVELS = [
37
37
  "high",
38
38
  "critical"
39
39
  ];
40
- var NATIVE_IMPORT_MODES = ["off", "review"];
40
+ var NATIVE_IMPORT_MODES = ["off", "review", "smart"];
41
41
  var DEFAULT_MIN_CONFIDENCE = 0.6;
42
42
  var DEFAULT_MIN_IMPORTANCE = "low";
43
- var DEFAULT_MAX_MEMORIES_PER_DAY = 20;
44
- var MAX_MEMORIES_PER_DAY_CEILING = 500;
43
+ var DEFAULT_MAX_MEMORIES_PER_DAY = 0;
44
+ var DEFAULT_AUTO_SYNC_ENABLED = true;
45
+ var DEFAULT_AUTO_SYNC_INTERVAL_MINUTES = 15;
46
+ var MAX_AUTO_SYNC_INTERVAL_MINUTES = 1440;
47
+ var DEFAULT_AUTO_SYNC_DAYS = 2;
48
+ var DEFAULT_AUTO_SYNC_DEEP_DAYS = 7;
49
+ var MAX_AUTO_SYNC_WINDOW_DAYS = 90;
50
+ var DEFAULT_SOURCE_TRUST = 0.8;
51
+ var DEFAULT_AUTO_APPROVE_TRUST = 0.7;
52
+ var DEFAULT_REVIEW_TRUST = 0.45;
45
53
  function defaultWearableCleanupSettings() {
46
54
  return {
47
55
  mergeSameSpeaker: true,
@@ -53,11 +61,14 @@ function defaultWearableCleanupSettings() {
53
61
  function defaultWearableSourceSettings() {
54
62
  return {
55
63
  enabled: false,
56
- memoryMode: "review",
64
+ memoryMode: "smart",
65
+ sourceTrust: DEFAULT_SOURCE_TRUST,
66
+ autoApproveTrust: DEFAULT_AUTO_APPROVE_TRUST,
67
+ reviewTrust: DEFAULT_REVIEW_TRUST,
57
68
  minConfidence: DEFAULT_MIN_CONFIDENCE,
58
69
  minImportance: DEFAULT_MIN_IMPORTANCE,
59
70
  maxMemoriesPerDay: DEFAULT_MAX_MEMORIES_PER_DAY,
60
- importNativeMemories: "off",
71
+ importNativeMemories: "smart",
61
72
  cleanup: defaultWearableCleanupSettings()
62
73
  };
63
74
  }
@@ -66,8 +77,12 @@ function defaultWearablesConfig() {
66
77
  enabled: false,
67
78
  redactionEnabled: true,
68
79
  redactionPatterns: [],
69
- offTheRecordEnabled: false,
70
- digestEnabled: false,
80
+ offTheRecordEnabled: true,
81
+ digestEnabled: true,
82
+ autoSyncEnabled: DEFAULT_AUTO_SYNC_ENABLED,
83
+ autoSyncIntervalMinutes: DEFAULT_AUTO_SYNC_INTERVAL_MINUTES,
84
+ autoSyncDays: DEFAULT_AUTO_SYNC_DAYS,
85
+ autoSyncDeepDays: DEFAULT_AUTO_SYNC_DEEP_DAYS,
71
86
  corrections: [],
72
87
  sources: {}
73
88
  };
@@ -149,12 +164,34 @@ function parseSourceSettings(value, keyPath) {
149
164
  }
150
165
  const minConfidence = minConfidenceRaw ?? defaults.minConfidence;
151
166
  const maxPerDayRaw = coerceNumber(raw.maxMemoriesPerDay);
152
- if (raw.maxMemoriesPerDay !== void 0 && (maxPerDayRaw === void 0 || !Number.isInteger(maxPerDayRaw) || maxPerDayRaw < 0 || maxPerDayRaw > MAX_MEMORIES_PER_DAY_CEILING)) {
167
+ if (raw.maxMemoriesPerDay !== void 0 && (maxPerDayRaw === void 0 || !Number.isInteger(maxPerDayRaw) || maxPerDayRaw < 0)) {
153
168
  throw new Error(
154
- `${keyPath}.maxMemoriesPerDay must be an integer between 0 and ${MAX_MEMORIES_PER_DAY_CEILING} (0 disables the cap); got ${JSON.stringify(raw.maxMemoriesPerDay)}`
169
+ `${keyPath}.maxMemoriesPerDay must be a non-negative integer (0, the default, disables the cap); got ${JSON.stringify(raw.maxMemoriesPerDay)}`
155
170
  );
156
171
  }
157
172
  const maxMemoriesPerDay = maxPerDayRaw ?? defaults.maxMemoriesPerDay;
173
+ const parseUnitInterval = (value2, name, fallback) => {
174
+ if (value2 === void 0) return fallback;
175
+ const coerced = coerceNumber(value2);
176
+ if (coerced === void 0 || coerced < 0 || coerced > 1) {
177
+ throw new Error(
178
+ `${keyPath}.${name} must be a number between 0 and 1 (got ${JSON.stringify(value2)})`
179
+ );
180
+ }
181
+ return coerced;
182
+ };
183
+ const sourceTrust = parseUnitInterval(raw.sourceTrust, "sourceTrust", defaults.sourceTrust);
184
+ const autoApproveTrust = parseUnitInterval(
185
+ raw.autoApproveTrust,
186
+ "autoApproveTrust",
187
+ defaults.autoApproveTrust
188
+ );
189
+ const reviewTrust = parseUnitInterval(raw.reviewTrust, "reviewTrust", defaults.reviewTrust);
190
+ if (reviewTrust >= autoApproveTrust) {
191
+ throw new Error(
192
+ `${keyPath}.reviewTrust (${reviewTrust}) must be below autoApproveTrust (${autoApproveTrust})`
193
+ );
194
+ }
158
195
  const rawCleanup = raw.cleanup === void 0 ? {} : requireObject(raw.cleanup, `${keyPath}.cleanup`);
159
196
  const cleanup = {
160
197
  mergeSameSpeaker: parseBool(
@@ -190,6 +227,9 @@ function parseSourceSettings(value, keyPath) {
190
227
  MEMORY_MODES,
191
228
  defaults.memoryMode
192
229
  ),
230
+ sourceTrust,
231
+ autoApproveTrust,
232
+ reviewTrust,
193
233
  minConfidence,
194
234
  minImportance: parseEnum(
195
235
  raw.minImportance,
@@ -229,6 +269,42 @@ function parseWearablesConfig(value) {
229
269
  redactionPatterns = raw.redactionPatterns;
230
270
  compileRedactionPatterns(redactionPatterns);
231
271
  }
272
+ const parseBoundedInt = (value2, name, fallback, min, max) => {
273
+ if (value2 === void 0) return fallback;
274
+ const coerced = coerceNumber(value2);
275
+ if (coerced === void 0 || !Number.isInteger(coerced) || coerced < min || coerced > max) {
276
+ throw new Error(
277
+ `${name} must be an integer between ${min} and ${max}; got ${JSON.stringify(value2)}`
278
+ );
279
+ }
280
+ return coerced;
281
+ };
282
+ const autoSyncIntervalMinutes = parseBoundedInt(
283
+ raw.autoSyncIntervalMinutes,
284
+ "wearables.autoSyncIntervalMinutes",
285
+ defaults.autoSyncIntervalMinutes,
286
+ 1,
287
+ MAX_AUTO_SYNC_INTERVAL_MINUTES
288
+ );
289
+ const autoSyncDays = parseBoundedInt(
290
+ raw.autoSyncDays,
291
+ "wearables.autoSyncDays",
292
+ defaults.autoSyncDays,
293
+ 1,
294
+ MAX_AUTO_SYNC_WINDOW_DAYS
295
+ );
296
+ const autoSyncDeepDays = parseBoundedInt(
297
+ raw.autoSyncDeepDays,
298
+ "wearables.autoSyncDeepDays",
299
+ defaults.autoSyncDeepDays,
300
+ 0,
301
+ MAX_AUTO_SYNC_WINDOW_DAYS
302
+ );
303
+ if (autoSyncDeepDays !== 0 && autoSyncDeepDays < autoSyncDays) {
304
+ throw new Error(
305
+ `wearables.autoSyncDeepDays must be 0 (disabled) or >= wearables.autoSyncDays (${autoSyncDays}); got ${autoSyncDeepDays}`
306
+ );
307
+ }
232
308
  const sources = {};
233
309
  if (raw.sources !== void 0) {
234
310
  const rawSources = requireObject(raw.sources, "wearables.sources");
@@ -263,6 +339,14 @@ function parseWearablesConfig(value) {
263
339
  "wearables.digestEnabled",
264
340
  defaults.digestEnabled
265
341
  ),
342
+ autoSyncEnabled: parseBool(
343
+ raw.autoSyncEnabled,
344
+ "wearables.autoSyncEnabled",
345
+ defaults.autoSyncEnabled
346
+ ),
347
+ autoSyncIntervalMinutes,
348
+ autoSyncDays,
349
+ autoSyncDeepDays,
266
350
  corrections: parseCorrectionRules(raw.corrections, "wearables.corrections"),
267
351
  sources
268
352
  };
@@ -2695,4 +2779,4 @@ export {
2695
2779
  VALID_MEMORY_CATEGORIES,
2696
2780
  parseConfig
2697
2781
  };
2698
- //# sourceMappingURL=chunk-KKTXCFD7.js.map
2782
+ //# sourceMappingURL=chunk-7H5WCPBS.js.map