@murphai/murph 0.2.12 → 1.0.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 (1161) hide show
  1. package/CHANGELOG.md +808 -0
  2. package/README.md +1 -1
  3. package/config.schema.json +1291 -336
  4. package/dist/cli-entry.d.ts.map +1 -1
  5. package/dist/cli-entry.js +15 -26
  6. package/dist/cli-entry.js.map +1 -1
  7. package/dist/commands/automation.d.ts +4 -12
  8. package/dist/commands/automation.d.ts.map +1 -1
  9. package/dist/commands/capture.d.ts +12 -0
  10. package/dist/commands/capture.d.ts.map +1 -0
  11. package/dist/commands/capture.js +198 -0
  12. package/dist/commands/capture.js.map +1 -0
  13. package/dist/commands/device.d.ts.map +1 -1
  14. package/dist/commands/device.js +7 -6
  15. package/dist/commands/device.js.map +1 -1
  16. package/dist/commands/entity-command-groups.d.ts +1 -0
  17. package/dist/commands/entity-command-groups.d.ts.map +1 -1
  18. package/dist/commands/entity-command-groups.js +1 -0
  19. package/dist/commands/entity-command-groups.js.map +1 -1
  20. package/dist/commands/experiment.d.ts.map +1 -1
  21. package/dist/commands/experiment.js +244 -108
  22. package/dist/commands/experiment.js.map +1 -1
  23. package/dist/commands/export-intake-read-helpers.d.ts +2 -2
  24. package/dist/commands/food.d.ts.map +1 -1
  25. package/dist/commands/food.js +22 -2
  26. package/dist/commands/food.js.map +1 -1
  27. package/dist/commands/inbox.d.ts.map +1 -1
  28. package/dist/commands/inbox.js +88 -23
  29. package/dist/commands/inbox.js.map +1 -1
  30. package/dist/commands/meal.d.ts.map +1 -1
  31. package/dist/commands/meal.js +141 -16
  32. package/dist/commands/meal.js.map +1 -1
  33. package/dist/commands/measurement.d.ts +12 -0
  34. package/dist/commands/measurement.d.ts.map +1 -0
  35. package/dist/commands/measurement.js +205 -0
  36. package/dist/commands/measurement.js.map +1 -0
  37. package/dist/commands/model.d.ts.map +1 -1
  38. package/dist/commands/model.js +14 -3
  39. package/dist/commands/model.js.map +1 -1
  40. package/dist/commands/sample-import-command-helpers.d.ts +30 -3
  41. package/dist/commands/sample-import-command-helpers.d.ts.map +1 -1
  42. package/dist/commands/sample-import-command-helpers.js +37 -10
  43. package/dist/commands/sample-import-command-helpers.js.map +1 -1
  44. package/dist/commands/samples.js +5 -5
  45. package/dist/commands/samples.js.map +1 -1
  46. package/dist/commands/scheduled-log.d.ts +639 -0
  47. package/dist/commands/scheduled-log.d.ts.map +1 -0
  48. package/dist/commands/scheduled-log.js +185 -0
  49. package/dist/commands/scheduled-log.js.map +1 -0
  50. package/dist/commands/search.d.ts.map +1 -1
  51. package/dist/commands/search.js +47 -11
  52. package/dist/commands/search.js.map +1 -1
  53. package/dist/commands/sync.d.ts +17 -0
  54. package/dist/commands/sync.d.ts.map +1 -0
  55. package/dist/commands/sync.js +156 -0
  56. package/dist/commands/sync.js.map +1 -0
  57. package/dist/commands/wearables.d.ts +10607 -0
  58. package/dist/commands/wearables.d.ts.map +1 -1
  59. package/dist/commands/wearables.js +285 -3
  60. package/dist/commands/wearables.js.map +1 -1
  61. package/dist/commands/workout.d.ts.map +1 -1
  62. package/dist/commands/workout.js +4 -129
  63. package/dist/commands/workout.js.map +1 -1
  64. package/dist/incur.generated.d.ts +319 -57
  65. package/dist/incur.generated.d.ts.map +1 -1
  66. package/dist/mapbox-route-directions.d.ts.map +1 -1
  67. package/dist/mapbox-route-directions.js +36 -2
  68. package/dist/mapbox-route-directions.js.map +1 -1
  69. package/dist/vault-cli-command-manifest.d.ts +10780 -57
  70. package/dist/vault-cli-command-manifest.d.ts.map +1 -1
  71. package/dist/vault-cli-command-manifest.js +171 -22
  72. package/dist/vault-cli-command-manifest.js.map +1 -1
  73. package/node_modules/@murphai/assistant-cli/dist/assistant/automation/run-loop.d.ts.map +1 -1
  74. package/node_modules/@murphai/assistant-cli/dist/assistant/automation/run-loop.js +1 -0
  75. package/node_modules/@murphai/assistant-cli/dist/assistant/automation/run-loop.js.map +1 -1
  76. package/node_modules/@murphai/assistant-cli/dist/assistant/doctor-security.js.map +1 -1
  77. package/node_modules/@murphai/assistant-cli/dist/assistant/doctor.js.map +1 -1
  78. package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts +7 -29
  79. package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts.map +1 -1
  80. package/node_modules/@murphai/assistant-cli/dist/assistant/service.js.map +1 -1
  81. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.d.ts.map +1 -1
  82. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.js +1 -0
  83. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.js.map +1 -1
  84. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.d.ts +2 -0
  85. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.d.ts.map +1 -1
  86. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js +9 -1
  87. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js.map +1 -1
  88. package/node_modules/@murphai/assistant-cli/dist/assistant-chat-ink.d.ts +1 -1
  89. package/node_modules/@murphai/assistant-cli/dist/assistant-chat-ink.d.ts.map +1 -1
  90. package/node_modules/@murphai/assistant-cli/dist/assistant-chat-ink.js +1 -1
  91. package/node_modules/@murphai/assistant-cli/dist/assistant-chat-ink.js.map +1 -1
  92. package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.d.ts +3 -2
  93. package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.d.ts.map +1 -1
  94. package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.js +7 -3
  95. package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.js.map +1 -1
  96. package/node_modules/@murphai/assistant-cli/dist/commands/assistant.d.ts.map +1 -1
  97. package/node_modules/@murphai/assistant-cli/dist/commands/assistant.js +84 -46
  98. package/node_modules/@murphai/assistant-cli/dist/commands/assistant.js.map +1 -1
  99. package/node_modules/@murphai/assistant-cli/package.json +1 -12
  100. package/node_modules/@murphai/assistant-engine/dist/assistant/active-experiment-context.d.ts +5 -0
  101. package/node_modules/@murphai/assistant-engine/dist/assistant/active-experiment-context.d.ts.map +1 -0
  102. package/node_modules/@murphai/assistant-engine/dist/assistant/active-experiment-context.js +135 -0
  103. package/node_modules/@murphai/assistant-engine/dist/assistant/active-experiment-context.js.map +1 -0
  104. package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.d.ts +2 -0
  105. package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.d.ts.map +1 -1
  106. package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.js +7 -1
  107. package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.js.map +1 -1
  108. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/auto-reply-retry.d.ts +1 -0
  109. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/auto-reply-retry.d.ts.map +1 -1
  110. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/auto-reply-retry.js +33 -5
  111. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/auto-reply-retry.js.map +1 -1
  112. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.d.ts +4 -0
  113. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.d.ts.map +1 -1
  114. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.js +13 -14
  115. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.js.map +1 -1
  116. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.d.ts +0 -1
  117. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.d.ts.map +1 -1
  118. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.js +1 -2
  119. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.js.map +1 -1
  120. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.d.ts +4 -0
  121. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.d.ts.map +1 -1
  122. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js +157 -84
  123. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js.map +1 -1
  124. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/routing.d.ts.map +1 -1
  125. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/routing.js +21 -3
  126. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/routing.js.map +1 -1
  127. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.d.ts +3 -1
  128. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.d.ts.map +1 -1
  129. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js +17 -3
  130. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js.map +1 -1
  131. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.d.ts +2 -0
  132. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.d.ts.map +1 -1
  133. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.js +4 -0
  134. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.js.map +1 -1
  135. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts +4 -0
  136. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts.map +1 -1
  137. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.js +5 -2
  138. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.js.map +1 -1
  139. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.d.ts +2 -0
  140. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.d.ts.map +1 -1
  141. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.js +1 -0
  142. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.js.map +1 -1
  143. package/node_modules/@murphai/assistant-engine/dist/assistant/automation-state.d.ts.map +1 -1
  144. package/node_modules/@murphai/assistant-engine/dist/assistant/automation-state.js +1 -0
  145. package/node_modules/@murphai/assistant-engine/dist/assistant/automation-state.js.map +1 -1
  146. package/node_modules/@murphai/assistant-engine/dist/assistant/automation.d.ts +1 -0
  147. package/node_modules/@murphai/assistant-engine/dist/assistant/automation.d.ts.map +1 -1
  148. package/node_modules/@murphai/assistant-engine/dist/assistant/automation.js +1 -0
  149. package/node_modules/@murphai/assistant-engine/dist/assistant/automation.js.map +1 -1
  150. package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.d.ts +1 -1
  151. package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.d.ts.map +1 -1
  152. package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.js +1 -1
  153. package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.js.map +1 -1
  154. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.d.ts.map +1 -1
  155. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.js +121 -10
  156. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.js.map +1 -1
  157. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.d.ts +9 -0
  158. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.d.ts.map +1 -1
  159. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.js +32 -1
  160. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.js.map +1 -1
  161. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.d.ts +2 -2
  162. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.d.ts.map +1 -1
  163. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.js +2 -2
  164. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.js.map +1 -1
  165. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.d.ts +4 -0
  166. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.d.ts.map +1 -1
  167. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.js +119 -12
  168. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.js.map +1 -1
  169. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.d.ts +18 -1
  170. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.d.ts.map +1 -1
  171. package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.js.map +1 -1
  172. package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.js +3 -0
  173. package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.js.map +1 -1
  174. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-policy.d.ts +2 -2
  175. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-policy.d.ts.map +1 -1
  176. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-policy.js +44 -8
  177. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-policy.js.map +1 -1
  178. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.d.ts +32 -1
  179. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.d.ts.map +1 -1
  180. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.js +33 -7
  181. package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.js.map +1 -1
  182. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/food-auto-log.d.ts +20 -0
  183. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/food-auto-log.d.ts.map +1 -0
  184. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/food-auto-log.js +117 -0
  185. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/food-auto-log.js.map +1 -0
  186. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/notification-delivery.js +1 -1
  187. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/notification-delivery.js.map +1 -1
  188. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.d.ts +37 -20
  189. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.d.ts.map +1 -1
  190. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.js +55 -37
  191. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.js.map +1 -1
  192. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.d.ts +11 -1
  193. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.d.ts.map +1 -1
  194. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.js +2 -7
  195. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.js.map +1 -1
  196. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/scheduled-log.d.ts +22 -0
  197. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/scheduled-log.d.ts.map +1 -0
  198. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/scheduled-log.js +45 -0
  199. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/scheduled-log.js.map +1 -0
  200. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.d.ts +13 -4
  201. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.d.ts.map +1 -1
  202. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.js +67 -3
  203. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.js.map +1 -1
  204. package/node_modules/@murphai/assistant-engine/dist/assistant/cron.d.ts.map +1 -1
  205. package/node_modules/@murphai/assistant-engine/dist/assistant/cron.js +532 -231
  206. package/node_modules/@murphai/assistant-engine/dist/assistant/cron.js.map +1 -1
  207. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts +2 -2
  208. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts.map +1 -1
  209. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js +8 -5
  210. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js.map +1 -1
  211. package/node_modules/@murphai/assistant-engine/dist/assistant/diagnostics.js.map +1 -1
  212. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts +20 -0
  213. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts.map +1 -1
  214. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js +70 -0
  215. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js.map +1 -1
  216. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-plan.d.ts.map +1 -1
  217. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-plan.js +1 -2
  218. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-plan.js.map +1 -1
  219. package/node_modules/@murphai/assistant-engine/dist/assistant/failover.d.ts.map +1 -1
  220. package/node_modules/@murphai/assistant-engine/dist/assistant/failover.js +14 -8
  221. package/node_modules/@murphai/assistant-engine/dist/assistant/failover.js.map +1 -1
  222. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome.d.ts +1 -1
  223. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome.d.ts.map +1 -1
  224. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome.js +2 -7
  225. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome.js.map +1 -1
  226. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact.js.map +1 -1
  227. package/node_modules/@murphai/assistant-engine/dist/assistant/food-auto-log-hooks.d.ts.map +1 -1
  228. package/node_modules/@murphai/assistant-engine/dist/assistant/food-auto-log-hooks.js +53 -46
  229. package/node_modules/@murphai/assistant-engine/dist/assistant/food-auto-log-hooks.js.map +1 -1
  230. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.d.ts +33 -0
  231. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.d.ts.map +1 -0
  232. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.js +225 -0
  233. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.js.map +1 -0
  234. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.d.ts +1 -2
  235. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.d.ts.map +1 -1
  236. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js +46 -12
  237. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js.map +1 -1
  238. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.d.ts +9 -0
  239. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.d.ts.map +1 -0
  240. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.js +53 -0
  241. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.js.map +1 -0
  242. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts +22 -1
  243. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts.map +1 -1
  244. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js +248 -18
  245. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js.map +1 -1
  246. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.d.ts +33 -0
  247. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.d.ts.map +1 -1
  248. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.js +158 -7
  249. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.js.map +1 -1
  250. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.d.ts +5 -1
  251. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.d.ts.map +1 -1
  252. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.js +5 -0
  253. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.js.map +1 -1
  254. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.d.ts +3 -0
  255. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.d.ts.map +1 -1
  256. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.js +16 -0
  257. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.js.map +1 -1
  258. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.d.ts +9 -1
  259. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.d.ts.map +1 -1
  260. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js +68 -16
  261. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js.map +1 -1
  262. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts +64 -4
  263. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts.map +1 -1
  264. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js +289 -58
  265. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js.map +1 -1
  266. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.d.ts +5 -5
  267. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.d.ts.map +1 -1
  268. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.js +6 -11
  269. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.js.map +1 -1
  270. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.d.ts +3 -3
  271. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.d.ts.map +1 -1
  272. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.js +12 -10
  273. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.js.map +1 -1
  274. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.d.ts +2 -2
  275. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.d.ts.map +1 -1
  276. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.js +20 -12
  277. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.js.map +1 -1
  278. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.d.ts +1 -4
  279. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.d.ts.map +1 -1
  280. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.js +2 -13
  281. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.js.map +1 -1
  282. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.d.ts +15 -2
  283. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.d.ts.map +1 -1
  284. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.js +142 -32
  285. package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.js.map +1 -1
  286. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/catalog.js +3 -3
  287. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/catalog.js.map +1 -1
  288. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.d.ts +1 -1
  289. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.d.ts.map +1 -1
  290. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js +95 -13
  291. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js.map +1 -1
  292. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.d.ts.map +1 -1
  293. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.js +60 -18
  294. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.js.map +1 -1
  295. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.d.ts +35 -1
  296. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.d.ts.map +1 -1
  297. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.js +275 -49
  298. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.js.map +1 -1
  299. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.d.ts +5 -5
  300. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.d.ts.map +1 -1
  301. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.js +18 -10
  302. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.js.map +1 -1
  303. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts +7 -0
  304. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts.map +1 -1
  305. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.js +3 -1
  306. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.js.map +1 -1
  307. package/node_modules/@murphai/assistant-engine/dist/assistant/quarantine.js.map +1 -1
  308. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.d.ts.map +1 -1
  309. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.js +0 -6
  310. package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.js.map +1 -1
  311. package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.d.ts +2 -1
  312. package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.d.ts.map +1 -1
  313. package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.js +28 -12
  314. package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.js.map +1 -1
  315. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-budgets.d.ts.map +1 -1
  316. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-budgets.js +30 -1
  317. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-budgets.js.map +1 -1
  318. package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts +15 -6
  319. package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts.map +1 -1
  320. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.d.ts +1 -1
  321. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.d.ts.map +1 -1
  322. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.js +5 -0
  323. package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.js.map +1 -1
  324. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.d.ts.map +1 -1
  325. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js +8 -1
  326. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js.map +1 -1
  327. package/node_modules/@murphai/assistant-engine/dist/assistant/service.d.ts +7 -31
  328. package/node_modules/@murphai/assistant-engine/dist/assistant/service.d.ts.map +1 -1
  329. package/node_modules/@murphai/assistant-engine/dist/assistant/service.js +2 -8
  330. package/node_modules/@murphai/assistant-engine/dist/assistant/service.js.map +1 -1
  331. package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.d.ts.map +1 -1
  332. package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.js +38 -24
  333. package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.js.map +1 -1
  334. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js.map +1 -1
  335. package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.js.map +1 -1
  336. package/node_modules/@murphai/assistant-engine/dist/assistant/status.js.map +1 -1
  337. package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.d.ts +4 -1
  338. package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.d.ts.map +1 -1
  339. package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.js +38 -0
  340. package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.js.map +1 -1
  341. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.d.ts +6 -0
  342. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.d.ts.map +1 -1
  343. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.js +102 -12
  344. package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.js.map +1 -1
  345. package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts +1 -1
  346. package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts.map +1 -1
  347. package/node_modules/@murphai/assistant-engine/dist/assistant/store.d.ts.map +1 -1
  348. package/node_modules/@murphai/assistant-engine/dist/assistant/store.js +4 -8
  349. package/node_modules/@murphai/assistant-engine/dist/assistant/store.js.map +1 -1
  350. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts +9 -1
  351. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts.map +1 -1
  352. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js +113 -46
  353. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js.map +1 -1
  354. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.d.ts.map +1 -1
  355. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js +1 -14
  356. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js.map +1 -1
  357. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.d.ts +60 -0
  358. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.d.ts.map +1 -0
  359. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.js +124 -0
  360. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.js.map +1 -0
  361. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-plan.d.ts +18 -0
  362. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-plan.d.ts.map +1 -1
  363. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-plan.js +56 -10
  364. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-plan.js.map +1 -1
  365. package/node_modules/@murphai/assistant-engine/dist/assistant/turns.d.ts.map +1 -1
  366. package/node_modules/@murphai/assistant-engine/dist/assistant/turns.js +6 -2
  367. package/node_modules/@murphai/assistant-engine/dist/assistant/turns.js.map +1 -1
  368. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.d.ts +45 -0
  369. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.d.ts.map +1 -0
  370. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.js +136 -0
  371. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.js.map +1 -0
  372. package/node_modules/@murphai/assistant-engine/dist/assistant/vault-overview.js +3 -1
  373. package/node_modules/@murphai/assistant-engine/dist/assistant/vault-overview.js.map +1 -1
  374. package/node_modules/@murphai/assistant-engine/dist/assistant/web-search/http.js +1 -1
  375. package/node_modules/@murphai/assistant-engine/dist/assistant/web-search/http.js.map +1 -1
  376. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.d.ts +3 -0
  377. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.d.ts.map +1 -0
  378. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.js +2 -0
  379. package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.js.map +1 -0
  380. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.d.ts +47 -349
  381. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.d.ts.map +1 -1
  382. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.js +12 -991
  383. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.js.map +1 -1
  384. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definition-factory.d.ts +17 -0
  385. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definition-factory.d.ts.map +1 -0
  386. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definition-factory.js +75 -0
  387. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definition-factory.js.map +1 -0
  388. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/inbox-promotion.d.ts +78 -0
  389. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/inbox-promotion.d.ts.map +1 -0
  390. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/inbox-promotion.js +95 -0
  391. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/inbox-promotion.js.map +1 -0
  392. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/knowledge.d.ts +25 -0
  393. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/knowledge.d.ts.map +1 -0
  394. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/knowledge.js +117 -0
  395. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/knowledge.js.map +1 -0
  396. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/outward-side-effects.d.ts +5 -0
  397. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/outward-side-effects.d.ts.map +1 -0
  398. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/outward-side-effects.js +109 -0
  399. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/outward-side-effects.js.map +1 -0
  400. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-query.d.ts +82 -0
  401. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-query.d.ts.map +1 -0
  402. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-query.js +355 -0
  403. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-query.js.map +1 -0
  404. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-write.d.ts +150 -0
  405. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-write.d.ts.map +1 -0
  406. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-write.js +399 -0
  407. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/vault-write.js.map +1 -0
  408. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/web-read.d.ts +40 -0
  409. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/web-read.d.ts.map +1 -0
  410. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/web-read.js +105 -0
  411. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/definitions/web-read.js.map +1 -0
  412. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.d.ts.map +1 -1
  413. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.js +67 -11
  414. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.js.map +1 -1
  415. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.d.ts +7 -0
  416. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.d.ts.map +1 -1
  417. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js +75 -1
  418. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js.map +1 -1
  419. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.d.ts +2 -0
  420. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.d.ts.map +1 -1
  421. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.js +2 -0
  422. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.js.map +1 -1
  423. package/node_modules/@murphai/assistant-engine/dist/inbox-model-harness.js +1 -0
  424. package/node_modules/@murphai/assistant-engine/dist/inbox-model-harness.js.map +1 -1
  425. package/node_modules/@murphai/assistant-engine/dist/inbox-multimodal.js +5 -0
  426. package/node_modules/@murphai/assistant-engine/dist/inbox-multimodal.js.map +1 -1
  427. package/node_modules/@murphai/assistant-engine/dist/model-harness.d.ts +9 -0
  428. package/node_modules/@murphai/assistant-engine/dist/model-harness.d.ts.map +1 -1
  429. package/node_modules/@murphai/assistant-engine/dist/model-harness.js +135 -41
  430. package/node_modules/@murphai/assistant-engine/dist/model-harness.js.map +1 -1
  431. package/node_modules/@murphai/assistant-engine/dist/outbound-channel.d.ts +3 -2
  432. package/node_modules/@murphai/assistant-engine/dist/outbound-channel.d.ts.map +1 -1
  433. package/node_modules/@murphai/assistant-engine/dist/outbound-channel.js +20 -4
  434. package/node_modules/@murphai/assistant-engine/dist/outbound-channel.js.map +1 -1
  435. package/node_modules/@murphai/assistant-engine/package.json +5 -19
  436. package/node_modules/@murphai/assistantd/dist/client.js.map +1 -1
  437. package/node_modules/@murphai/assistantd/dist/http-protocol.d.ts.map +1 -1
  438. package/node_modules/@murphai/assistantd/dist/http-protocol.js +23 -5
  439. package/node_modules/@murphai/assistantd/dist/http-protocol.js.map +1 -1
  440. package/node_modules/@murphai/assistantd/dist/service.d.ts +1 -1
  441. package/node_modules/@murphai/assistantd/dist/service.d.ts.map +1 -1
  442. package/node_modules/@murphai/assistantd/dist/service.js +1 -1
  443. package/node_modules/@murphai/assistantd/dist/service.js.map +1 -1
  444. package/node_modules/@murphai/assistantd/package.json +1 -9
  445. package/node_modules/@murphai/core/dist/assessment/storage.js.map +1 -1
  446. package/node_modules/@murphai/core/dist/automation.d.ts.map +1 -1
  447. package/node_modules/@murphai/core/dist/automation.js +11 -16
  448. package/node_modules/@murphai/core/dist/automation.js.map +1 -1
  449. package/node_modules/@murphai/core/dist/bank/allergies.d.ts.map +1 -1
  450. package/node_modules/@murphai/core/dist/bank/allergies.js +4 -1
  451. package/node_modules/@murphai/core/dist/bank/allergies.js.map +1 -1
  452. package/node_modules/@murphai/core/dist/bank/conditions.d.ts.map +1 -1
  453. package/node_modules/@murphai/core/dist/bank/conditions.js +4 -1
  454. package/node_modules/@murphai/core/dist/bank/conditions.js.map +1 -1
  455. package/node_modules/@murphai/core/dist/bank/goals.d.ts.map +1 -1
  456. package/node_modules/@murphai/core/dist/bank/goals.js +4 -1
  457. package/node_modules/@murphai/core/dist/bank/goals.js.map +1 -1
  458. package/node_modules/@murphai/core/dist/bank/workout-formats.d.ts.map +1 -1
  459. package/node_modules/@murphai/core/dist/bank/workout-formats.js +18 -16
  460. package/node_modules/@murphai/core/dist/bank/workout-formats.js.map +1 -1
  461. package/node_modules/@murphai/core/dist/constants.d.ts +8 -2
  462. package/node_modules/@murphai/core/dist/constants.d.ts.map +1 -1
  463. package/node_modules/@murphai/core/dist/constants.js +3 -0
  464. package/node_modules/@murphai/core/dist/constants.js.map +1 -1
  465. package/node_modules/@murphai/core/dist/domains/events.d.ts +37 -3
  466. package/node_modules/@murphai/core/dist/domains/events.d.ts.map +1 -1
  467. package/node_modules/@murphai/core/dist/domains/events.js +239 -15
  468. package/node_modules/@murphai/core/dist/domains/events.js.map +1 -1
  469. package/node_modules/@murphai/core/dist/domains/experiments.d.ts +8 -1
  470. package/node_modules/@murphai/core/dist/domains/experiments.d.ts.map +1 -1
  471. package/node_modules/@murphai/core/dist/domains/experiments.js +13 -0
  472. package/node_modules/@murphai/core/dist/domains/experiments.js.map +1 -1
  473. package/node_modules/@murphai/core/dist/event-attachments.d.ts +3 -12
  474. package/node_modules/@murphai/core/dist/event-attachments.d.ts.map +1 -1
  475. package/node_modules/@murphai/core/dist/event-attachments.js +1 -26
  476. package/node_modules/@murphai/core/dist/event-attachments.js.map +1 -1
  477. package/node_modules/@murphai/core/dist/fs.js.map +1 -1
  478. package/node_modules/@murphai/core/dist/history/event-spine.d.ts +1 -0
  479. package/node_modules/@murphai/core/dist/history/event-spine.d.ts.map +1 -1
  480. package/node_modules/@murphai/core/dist/history/event-spine.js +1 -0
  481. package/node_modules/@murphai/core/dist/history/event-spine.js.map +1 -1
  482. package/node_modules/@murphai/core/dist/index.d.ts +6 -3
  483. package/node_modules/@murphai/core/dist/index.d.ts.map +1 -1
  484. package/node_modules/@murphai/core/dist/index.js +4 -2
  485. package/node_modules/@murphai/core/dist/index.js.map +1 -1
  486. package/node_modules/@murphai/core/dist/mutations.d.ts +7 -2
  487. package/node_modules/@murphai/core/dist/mutations.d.ts.map +1 -1
  488. package/node_modules/@murphai/core/dist/mutations.js +33 -7
  489. package/node_modules/@murphai/core/dist/mutations.js.map +1 -1
  490. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.d.ts +3 -1
  491. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.d.ts.map +1 -1
  492. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.js +86 -66
  493. package/node_modules/@murphai/core/dist/operations/canonical-write-lock.js.map +1 -1
  494. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts +1 -0
  495. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts.map +1 -1
  496. package/node_modules/@murphai/core/dist/operations/write-batch.js +50 -26
  497. package/node_modules/@murphai/core/dist/operations/write-batch.js.map +1 -1
  498. package/node_modules/@murphai/core/dist/public-mutations.d.ts +3 -1
  499. package/node_modules/@murphai/core/dist/public-mutations.d.ts.map +1 -1
  500. package/node_modules/@murphai/core/dist/public-mutations.js +25 -8
  501. package/node_modules/@murphai/core/dist/public-mutations.js.map +1 -1
  502. package/node_modules/@murphai/core/dist/raw.d.ts.map +1 -1
  503. package/node_modules/@murphai/core/dist/raw.js +17 -0
  504. package/node_modules/@murphai/core/dist/raw.js.map +1 -1
  505. package/node_modules/@murphai/core/dist/scheduled-logs.d.ts +74 -0
  506. package/node_modules/@murphai/core/dist/scheduled-logs.d.ts.map +1 -0
  507. package/node_modules/@murphai/core/dist/scheduled-logs.js +488 -0
  508. package/node_modules/@murphai/core/dist/scheduled-logs.js.map +1 -0
  509. package/node_modules/@murphai/core/dist/vault-sync.d.ts +104 -0
  510. package/node_modules/@murphai/core/dist/vault-sync.d.ts.map +1 -0
  511. package/node_modules/@murphai/core/dist/vault-sync.js +702 -0
  512. package/node_modules/@murphai/core/dist/vault-sync.js.map +1 -0
  513. package/node_modules/@murphai/core/package.json +2 -6
  514. package/node_modules/@murphai/device-syncd/README.md +46 -6
  515. package/node_modules/@murphai/device-syncd/dist/client.js.map +1 -1
  516. package/node_modules/@murphai/device-syncd/dist/config/env-keys.d.ts +18 -0
  517. package/node_modules/@murphai/device-syncd/dist/config/env-keys.d.ts.map +1 -0
  518. package/node_modules/@murphai/device-syncd/dist/config/env-keys.js +38 -0
  519. package/node_modules/@murphai/device-syncd/dist/config/env-keys.js.map +1 -0
  520. package/node_modules/@murphai/device-syncd/dist/config/provider-config-helpers.d.ts +11 -0
  521. package/node_modules/@murphai/device-syncd/dist/config/provider-config-helpers.d.ts.map +1 -0
  522. package/node_modules/@murphai/device-syncd/dist/config/provider-config-helpers.js +63 -0
  523. package/node_modules/@murphai/device-syncd/dist/config/provider-config-helpers.js.map +1 -0
  524. package/node_modules/@murphai/device-syncd/dist/config/provider-configs.d.ts +17 -0
  525. package/node_modules/@murphai/device-syncd/dist/config/provider-configs.d.ts.map +1 -0
  526. package/node_modules/@murphai/device-syncd/dist/config/provider-configs.js +32 -0
  527. package/node_modules/@murphai/device-syncd/dist/config/provider-configs.js.map +1 -0
  528. package/node_modules/@murphai/device-syncd/dist/config/provider-env.d.ts +65 -0
  529. package/node_modules/@murphai/device-syncd/dist/config/provider-env.d.ts.map +1 -0
  530. package/node_modules/@murphai/device-syncd/dist/config/provider-env.js +148 -0
  531. package/node_modules/@murphai/device-syncd/dist/config/provider-env.js.map +1 -0
  532. package/node_modules/@murphai/device-syncd/dist/config/provider-factory.d.ts +9 -0
  533. package/node_modules/@murphai/device-syncd/dist/config/provider-factory.d.ts.map +1 -0
  534. package/node_modules/@murphai/device-syncd/dist/config/provider-factory.js +28 -0
  535. package/node_modules/@murphai/device-syncd/dist/config/provider-factory.js.map +1 -0
  536. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.d.ts +64 -0
  537. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.d.ts.map +1 -0
  538. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.js +511 -0
  539. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.js.map +1 -0
  540. package/node_modules/@murphai/device-syncd/dist/config/provider-types.d.ts +22 -0
  541. package/node_modules/@murphai/device-syncd/dist/config/provider-types.d.ts.map +1 -0
  542. package/node_modules/@murphai/device-syncd/dist/config/provider-types.js +2 -0
  543. package/node_modules/@murphai/device-syncd/dist/config/provider-types.js.map +1 -0
  544. package/node_modules/@murphai/device-syncd/dist/config/runtime-config.d.ts +11 -0
  545. package/node_modules/@murphai/device-syncd/dist/config/runtime-config.d.ts.map +1 -0
  546. package/node_modules/@murphai/device-syncd/dist/config/runtime-config.js +47 -0
  547. package/node_modules/@murphai/device-syncd/dist/config/runtime-config.js.map +1 -0
  548. package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.d.ts +7 -0
  549. package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.d.ts.map +1 -0
  550. package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.js +116 -0
  551. package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.js.map +1 -0
  552. package/node_modules/@murphai/device-syncd/dist/config.d.ts +11 -17
  553. package/node_modules/@murphai/device-syncd/dist/config.d.ts.map +1 -1
  554. package/node_modules/@murphai/device-syncd/dist/config.js +24 -244
  555. package/node_modules/@murphai/device-syncd/dist/config.js.map +1 -1
  556. package/node_modules/@murphai/device-syncd/dist/hosted-hints.d.ts.map +1 -1
  557. package/node_modules/@murphai/device-syncd/dist/hosted-hints.js +2 -83
  558. package/node_modules/@murphai/device-syncd/dist/hosted-hints.js.map +1 -1
  559. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts +0 -1
  560. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts.map +1 -1
  561. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js +41 -34
  562. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -1
  563. package/node_modules/@murphai/device-syncd/dist/http.d.ts.map +1 -1
  564. package/node_modules/@murphai/device-syncd/dist/http.js +46 -9
  565. package/node_modules/@murphai/device-syncd/dist/http.js.map +1 -1
  566. package/node_modules/@murphai/device-syncd/dist/index.d.ts +8 -5
  567. package/node_modules/@murphai/device-syncd/dist/index.d.ts.map +1 -1
  568. package/node_modules/@murphai/device-syncd/dist/index.js +5 -3
  569. package/node_modules/@murphai/device-syncd/dist/index.js.map +1 -1
  570. package/node_modules/@murphai/device-syncd/dist/metadata.d.ts +4 -0
  571. package/node_modules/@murphai/device-syncd/dist/metadata.d.ts.map +1 -0
  572. package/node_modules/@murphai/device-syncd/dist/metadata.js +61 -0
  573. package/node_modules/@murphai/device-syncd/dist/metadata.js.map +1 -0
  574. package/node_modules/@murphai/device-syncd/dist/provider-label.d.ts +3 -0
  575. package/node_modules/@murphai/device-syncd/dist/provider-label.d.ts.map +1 -0
  576. package/node_modules/@murphai/device-syncd/dist/provider-label.js +19 -0
  577. package/node_modules/@murphai/device-syncd/dist/provider-label.js.map +1 -0
  578. package/node_modules/@murphai/device-syncd/dist/providers/garmin.js +5 -2
  579. package/node_modules/@murphai/device-syncd/dist/providers/garmin.js.map +1 -1
  580. package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts +5 -3
  581. package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts.map +1 -1
  582. package/node_modules/@murphai/device-syncd/dist/providers/oura.js +27 -12
  583. package/node_modules/@murphai/device-syncd/dist/providers/oura.js.map +1 -1
  584. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts +2 -0
  585. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts.map +1 -1
  586. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js +9 -9
  587. package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js.map +1 -1
  588. package/node_modules/@murphai/device-syncd/dist/providers/strava-webhooks.d.ts +32 -0
  589. package/node_modules/@murphai/device-syncd/dist/providers/strava-webhooks.d.ts.map +1 -0
  590. package/node_modules/@murphai/device-syncd/dist/providers/strava-webhooks.js +189 -0
  591. package/node_modules/@murphai/device-syncd/dist/providers/strava-webhooks.js.map +1 -0
  592. package/node_modules/@murphai/device-syncd/dist/providers/strava.d.ts +21 -0
  593. package/node_modules/@murphai/device-syncd/dist/providers/strava.d.ts.map +1 -0
  594. package/node_modules/@murphai/device-syncd/dist/providers/strava.js +667 -0
  595. package/node_modules/@murphai/device-syncd/dist/providers/strava.js.map +1 -0
  596. package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts.map +1 -1
  597. package/node_modules/@murphai/device-syncd/dist/providers/whoop.js +2 -8
  598. package/node_modules/@murphai/device-syncd/dist/providers/whoop.js.map +1 -1
  599. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts +4 -2
  600. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts.map +1 -1
  601. package/node_modules/@murphai/device-syncd/dist/public-ingress.js +15 -10
  602. package/node_modules/@murphai/device-syncd/dist/public-ingress.js.map +1 -1
  603. package/node_modules/@murphai/device-syncd/dist/runtime-config.d.ts +3 -0
  604. package/node_modules/@murphai/device-syncd/dist/runtime-config.d.ts.map +1 -0
  605. package/node_modules/@murphai/device-syncd/dist/runtime-config.js +2 -0
  606. package/node_modules/@murphai/device-syncd/dist/runtime-config.js.map +1 -0
  607. package/node_modules/@murphai/device-syncd/dist/service.d.ts.map +1 -1
  608. package/node_modules/@murphai/device-syncd/dist/service.js +60 -18
  609. package/node_modules/@murphai/device-syncd/dist/service.js.map +1 -1
  610. package/node_modules/@murphai/device-syncd/dist/shared.d.ts +2 -3
  611. package/node_modules/@murphai/device-syncd/dist/shared.d.ts.map +1 -1
  612. package/node_modules/@murphai/device-syncd/dist/shared.js +10 -59
  613. package/node_modules/@murphai/device-syncd/dist/shared.js.map +1 -1
  614. package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts +9 -0
  615. package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts.map +1 -1
  616. package/node_modules/@murphai/device-syncd/dist/store/jobs.js +35 -0
  617. package/node_modules/@murphai/device-syncd/dist/store/jobs.js.map +1 -1
  618. package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts +0 -1
  619. package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts.map +1 -1
  620. package/node_modules/@murphai/device-syncd/dist/store/schema.js +0 -7
  621. package/node_modules/@murphai/device-syncd/dist/store/schema.js.map +1 -1
  622. package/node_modules/@murphai/device-syncd/dist/store.d.ts +1 -0
  623. package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -1
  624. package/node_modules/@murphai/device-syncd/dist/store.js +115 -18
  625. package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -1
  626. package/node_modules/@murphai/device-syncd/dist/types.d.ts +12 -5
  627. package/node_modules/@murphai/device-syncd/dist/types.d.ts.map +1 -1
  628. package/node_modules/@murphai/device-syncd/dist/webhook-verification.d.ts +7 -10
  629. package/node_modules/@murphai/device-syncd/dist/webhook-verification.d.ts.map +1 -1
  630. package/node_modules/@murphai/device-syncd/dist/webhook-verification.js +26 -13
  631. package/node_modules/@murphai/device-syncd/dist/webhook-verification.js.map +1 -1
  632. package/node_modules/@murphai/device-syncd/package.json +13 -5
  633. package/node_modules/@murphai/gateway-local/dist/store/permissions.d.ts.map +1 -1
  634. package/node_modules/@murphai/gateway-local/dist/store/permissions.js +39 -7
  635. package/node_modules/@murphai/gateway-local/dist/store/permissions.js.map +1 -1
  636. package/node_modules/@murphai/gateway-local/dist/store/source-sync.d.ts.map +1 -1
  637. package/node_modules/@murphai/gateway-local/dist/store/source-sync.js +130 -8
  638. package/node_modules/@murphai/gateway-local/dist/store/source-sync.js.map +1 -1
  639. package/node_modules/@murphai/gateway-local/package.json +1 -6
  640. package/node_modules/@murphai/importers/README.md +9 -1
  641. package/node_modules/@murphai/importers/dist/core-port.d.ts +14 -4
  642. package/node_modules/@murphai/importers/dist/core-port.d.ts.map +1 -1
  643. package/node_modules/@murphai/importers/dist/core-port.js.map +1 -1
  644. package/node_modules/@murphai/importers/dist/create-importers.d.ts +1 -1
  645. package/node_modules/@murphai/importers/dist/csv-sample-import-planner.d.ts +79 -0
  646. package/node_modules/@murphai/importers/dist/csv-sample-import-planner.d.ts.map +1 -0
  647. package/node_modules/@murphai/importers/dist/csv-sample-import-planner.js +576 -0
  648. package/node_modules/@murphai/importers/dist/csv-sample-import-planner.js.map +1 -0
  649. package/node_modules/@murphai/importers/dist/csv-sample-importer.d.ts +4 -16
  650. package/node_modules/@murphai/importers/dist/csv-sample-importer.d.ts.map +1 -1
  651. package/node_modules/@murphai/importers/dist/csv-sample-importer.js +91 -143
  652. package/node_modules/@murphai/importers/dist/csv-sample-importer.js.map +1 -1
  653. package/node_modules/@murphai/importers/dist/device-providers/canonical-wearable-records.d.ts +68 -0
  654. package/node_modules/@murphai/importers/dist/device-providers/canonical-wearable-records.d.ts.map +1 -0
  655. package/node_modules/@murphai/importers/dist/device-providers/canonical-wearable-records.js +261 -0
  656. package/node_modules/@murphai/importers/dist/device-providers/canonical-wearable-records.js.map +1 -0
  657. package/node_modules/@murphai/importers/dist/device-providers/defaults.d.ts +2 -2
  658. package/node_modules/@murphai/importers/dist/device-providers/defaults.d.ts.map +1 -1
  659. package/node_modules/@murphai/importers/dist/device-providers/defaults.js +4 -2
  660. package/node_modules/@murphai/importers/dist/device-providers/defaults.js.map +1 -1
  661. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts +16 -0
  662. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts.map +1 -1
  663. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js +114 -1
  664. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js.map +1 -1
  665. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts +9 -2
  666. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts.map +1 -1
  667. package/node_modules/@murphai/importers/dist/device-providers/index.js +5 -1
  668. package/node_modules/@murphai/importers/dist/device-providers/index.js.map +1 -1
  669. package/node_modules/@murphai/importers/dist/device-providers/metric-catalog.d.ts +48 -0
  670. package/node_modules/@murphai/importers/dist/device-providers/metric-catalog.d.ts.map +1 -0
  671. package/node_modules/@murphai/importers/dist/device-providers/metric-catalog.js +104 -0
  672. package/node_modules/@murphai/importers/dist/device-providers/metric-catalog.js.map +1 -0
  673. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.d.ts +93 -0
  674. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.d.ts.map +1 -1
  675. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.js +49 -0
  676. package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.js.map +1 -1
  677. package/node_modules/@murphai/importers/dist/device-providers/raw-ingest-envelope.d.ts +47 -0
  678. package/node_modules/@murphai/importers/dist/device-providers/raw-ingest-envelope.d.ts.map +1 -0
  679. package/node_modules/@murphai/importers/dist/device-providers/raw-ingest-envelope.js +62 -0
  680. package/node_modules/@murphai/importers/dist/device-providers/raw-ingest-envelope.js.map +1 -0
  681. package/node_modules/@murphai/importers/dist/device-providers/strava.d.ts +12 -0
  682. package/node_modules/@murphai/importers/dist/device-providers/strava.d.ts.map +1 -0
  683. package/node_modules/@murphai/importers/dist/device-providers/strava.js +290 -0
  684. package/node_modules/@murphai/importers/dist/device-providers/strava.js.map +1 -0
  685. package/node_modules/@murphai/importers/dist/device-providers/types.d.ts +19 -1
  686. package/node_modules/@murphai/importers/dist/device-providers/types.d.ts.map +1 -1
  687. package/node_modules/@murphai/importers/dist/document-importer.d.ts +2 -1
  688. package/node_modules/@murphai/importers/dist/document-importer.d.ts.map +1 -1
  689. package/node_modules/@murphai/importers/dist/document-importer.js +3 -2
  690. package/node_modules/@murphai/importers/dist/document-importer.js.map +1 -1
  691. package/node_modules/@murphai/importers/dist/index.d.ts +1 -0
  692. package/node_modules/@murphai/importers/dist/index.d.ts.map +1 -1
  693. package/node_modules/@murphai/importers/dist/index.js.map +1 -1
  694. package/node_modules/@murphai/importers/dist/meal-importer.d.ts +5 -1
  695. package/node_modules/@murphai/importers/dist/meal-importer.d.ts.map +1 -1
  696. package/node_modules/@murphai/importers/dist/meal-importer.js +29 -4
  697. package/node_modules/@murphai/importers/dist/meal-importer.js.map +1 -1
  698. package/node_modules/@murphai/importers/dist/shared.d.ts +2 -0
  699. package/node_modules/@murphai/importers/dist/shared.d.ts.map +1 -1
  700. package/node_modules/@murphai/importers/dist/shared.js +4 -1
  701. package/node_modules/@murphai/importers/dist/shared.js.map +1 -1
  702. package/node_modules/@murphai/importers/package.json +16 -6
  703. package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor.d.ts.map +1 -1
  704. package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor.js +0 -7
  705. package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor.js.map +1 -1
  706. package/node_modules/@murphai/inbox-services/dist/inbox-app/promotions.d.ts.map +1 -1
  707. package/node_modules/@murphai/inbox-services/dist/inbox-app/promotions.js +5 -3
  708. package/node_modules/@murphai/inbox-services/dist/inbox-app/promotions.js.map +1 -1
  709. package/node_modules/@murphai/inbox-services/dist/inbox-app/reads.d.ts.map +1 -1
  710. package/node_modules/@murphai/inbox-services/dist/inbox-app/reads.js +3 -0
  711. package/node_modules/@murphai/inbox-services/dist/inbox-app/reads.js.map +1 -1
  712. package/node_modules/@murphai/inbox-services/dist/inbox-app/runtime.js.map +1 -1
  713. package/node_modules/@murphai/inbox-services/dist/inbox-app/types.d.ts +10 -3
  714. package/node_modules/@murphai/inbox-services/dist/inbox-app/types.d.ts.map +1 -1
  715. package/node_modules/@murphai/inbox-services/dist/inbox-app/types.js.map +1 -1
  716. package/node_modules/@murphai/inbox-services/dist/inbox-services/parser.d.ts.map +1 -1
  717. package/node_modules/@murphai/inbox-services/dist/inbox-services/parser.js +0 -2
  718. package/node_modules/@murphai/inbox-services/dist/inbox-services/parser.js.map +1 -1
  719. package/node_modules/@murphai/inbox-services/dist/inbox-services/promotions.d.ts +1 -6
  720. package/node_modules/@murphai/inbox-services/dist/inbox-services/promotions.d.ts.map +1 -1
  721. package/node_modules/@murphai/inbox-services/dist/inbox-services/promotions.js +31 -12
  722. package/node_modules/@murphai/inbox-services/dist/inbox-services/promotions.js.map +1 -1
  723. package/node_modules/@murphai/inbox-services/dist/inbox-services/query.d.ts +1 -0
  724. package/node_modules/@murphai/inbox-services/dist/inbox-services/query.d.ts.map +1 -1
  725. package/node_modules/@murphai/inbox-services/dist/inbox-services/query.js +1 -0
  726. package/node_modules/@murphai/inbox-services/dist/inbox-services/query.js.map +1 -1
  727. package/node_modules/@murphai/inbox-services/dist/inbox-services/shared.d.ts.map +1 -1
  728. package/node_modules/@murphai/inbox-services/dist/inbox-services/shared.js +1 -0
  729. package/node_modules/@murphai/inbox-services/dist/inbox-services/shared.js.map +1 -1
  730. package/node_modules/@murphai/inbox-services/package.json +1 -12
  731. package/node_modules/@murphai/inboxd/dist/connectors/email/connector.js.map +1 -1
  732. package/node_modules/@murphai/inboxd/dist/connectors/email/normalize-parsed.js +0 -1
  733. package/node_modules/@murphai/inboxd/dist/connectors/email/normalize-parsed.js.map +1 -1
  734. package/node_modules/@murphai/inboxd/dist/connectors/hosted-conversation.d.ts +12 -0
  735. package/node_modules/@murphai/inboxd/dist/connectors/hosted-conversation.d.ts.map +1 -0
  736. package/node_modules/@murphai/inboxd/dist/connectors/hosted-conversation.js +17 -0
  737. package/node_modules/@murphai/inboxd/dist/connectors/hosted-conversation.js.map +1 -0
  738. package/node_modules/@murphai/inboxd/dist/connectors/linq/normalize.d.ts +29 -0
  739. package/node_modules/@murphai/inboxd/dist/connectors/linq/normalize.d.ts.map +1 -1
  740. package/node_modules/@murphai/inboxd/dist/connectors/linq/normalize.js +116 -3
  741. package/node_modules/@murphai/inboxd/dist/connectors/linq/normalize.js.map +1 -1
  742. package/node_modules/@murphai/inboxd/dist/connectors/telegram/connector.d.ts.map +1 -1
  743. package/node_modules/@murphai/inboxd/dist/connectors/telegram/connector.js +97 -4
  744. package/node_modules/@murphai/inboxd/dist/connectors/telegram/connector.js.map +1 -1
  745. package/node_modules/@murphai/inboxd/dist/contracts/search.d.ts +1 -0
  746. package/node_modules/@murphai/inboxd/dist/contracts/search.d.ts.map +1 -1
  747. package/node_modules/@murphai/inboxd/dist/index.d.ts +2 -2
  748. package/node_modules/@murphai/inboxd/dist/index.d.ts.map +1 -1
  749. package/node_modules/@murphai/inboxd/dist/index.js +1 -1
  750. package/node_modules/@murphai/inboxd/dist/index.js.map +1 -1
  751. package/node_modules/@murphai/inboxd/dist/indexing/persist/canonical-records.d.ts +1 -23
  752. package/node_modules/@murphai/inboxd/dist/indexing/persist/canonical-records.d.ts.map +1 -1
  753. package/node_modules/@murphai/inboxd/dist/indexing/persist/canonical-records.js +1 -66
  754. package/node_modules/@murphai/inboxd/dist/indexing/persist/canonical-records.js.map +1 -1
  755. package/node_modules/@murphai/inboxd/dist/kernel/pipeline.d.ts.map +1 -1
  756. package/node_modules/@murphai/inboxd/dist/kernel/pipeline.js +36 -0
  757. package/node_modules/@murphai/inboxd/dist/kernel/pipeline.js.map +1 -1
  758. package/node_modules/@murphai/inboxd/dist/kernel/sqlite/parse-jobs.d.ts.map +1 -1
  759. package/node_modules/@murphai/inboxd/dist/kernel/sqlite/parse-jobs.js +1 -0
  760. package/node_modules/@murphai/inboxd/dist/kernel/sqlite/parse-jobs.js.map +1 -1
  761. package/node_modules/@murphai/inboxd/dist/kernel/sqlite.d.ts.map +1 -1
  762. package/node_modules/@murphai/inboxd/dist/kernel/sqlite.js +40 -4
  763. package/node_modules/@murphai/inboxd/dist/kernel/sqlite.js.map +1 -1
  764. package/node_modules/@murphai/inboxd/package.json +5 -9
  765. package/node_modules/@murphai/messaging-ingress/package.json +1 -3
  766. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts +26 -16
  767. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts.map +1 -1
  768. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.js +2 -3
  769. package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.js.map +1 -1
  770. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.d.ts +71 -15
  771. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.d.ts.map +1 -1
  772. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.js +267 -109
  773. package/node_modules/@murphai/operator-config/dist/assistant/provider-config.js.map +1 -1
  774. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.d.ts +43 -0
  775. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.d.ts.map +1 -1
  776. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.js +74 -18
  777. package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.js.map +1 -1
  778. package/node_modules/@murphai/operator-config/dist/assistant-backend.d.ts +5 -4
  779. package/node_modules/@murphai/operator-config/dist/assistant-backend.d.ts.map +1 -1
  780. package/node_modules/@murphai/operator-config/dist/assistant-backend.js +28 -18
  781. package/node_modules/@murphai/operator-config/dist/assistant-backend.js.map +1 -1
  782. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts +144 -486
  783. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts.map +1 -1
  784. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js +38 -44
  785. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js.map +1 -1
  786. package/node_modules/@murphai/operator-config/dist/command-helpers.d.ts +6 -0
  787. package/node_modules/@murphai/operator-config/dist/command-helpers.d.ts.map +1 -1
  788. package/node_modules/@murphai/operator-config/dist/command-helpers.js +77 -1
  789. package/node_modules/@murphai/operator-config/dist/command-helpers.js.map +1 -1
  790. package/node_modules/@murphai/operator-config/dist/device-cli-contracts.d.ts +5 -0
  791. package/node_modules/@murphai/operator-config/dist/device-cli-contracts.d.ts.map +1 -1
  792. package/node_modules/@murphai/operator-config/dist/device-cli-contracts.js +21 -4
  793. package/node_modules/@murphai/operator-config/dist/device-cli-contracts.js.map +1 -1
  794. package/node_modules/@murphai/operator-config/dist/device-sync-client.d.ts.map +1 -1
  795. package/node_modules/@murphai/operator-config/dist/device-sync-client.js +26 -1
  796. package/node_modules/@murphai/operator-config/dist/device-sync-client.js.map +1 -1
  797. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.d.ts +16 -0
  798. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.d.ts.map +1 -0
  799. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.js +56 -0
  800. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.js.map +1 -0
  801. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.d.ts +2 -14
  802. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.d.ts.map +1 -1
  803. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.js +89 -54
  804. package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.js.map +1 -1
  805. package/node_modules/@murphai/operator-config/dist/http-json-retry.js.map +1 -1
  806. package/node_modules/@murphai/operator-config/dist/http-retry.d.ts +5 -0
  807. package/node_modules/@murphai/operator-config/dist/http-retry.d.ts.map +1 -1
  808. package/node_modules/@murphai/operator-config/dist/http-retry.js +17 -0
  809. package/node_modules/@murphai/operator-config/dist/http-retry.js.map +1 -1
  810. package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.d.ts +3 -60
  811. package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.d.ts.map +1 -1
  812. package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.js +2 -1
  813. package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.js.map +1 -1
  814. package/node_modules/@murphai/operator-config/dist/linq-runtime.d.ts.map +1 -1
  815. package/node_modules/@murphai/operator-config/dist/linq-runtime.js +134 -51
  816. package/node_modules/@murphai/operator-config/dist/linq-runtime.js.map +1 -1
  817. package/node_modules/@murphai/operator-config/dist/operator-config/cli-vault-defaults.d.ts.map +1 -1
  818. package/node_modules/@murphai/operator-config/dist/operator-config/cli-vault-defaults.js +11 -3
  819. package/node_modules/@murphai/operator-config/dist/operator-config/cli-vault-defaults.js.map +1 -1
  820. package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.d.ts +2 -2
  821. package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.d.ts.map +1 -1
  822. package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.js +4 -4
  823. package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.js.map +1 -1
  824. package/node_modules/@murphai/operator-config/dist/operator-config.d.ts +7 -5
  825. package/node_modules/@murphai/operator-config/dist/operator-config.d.ts.map +1 -1
  826. package/node_modules/@murphai/operator-config/dist/operator-config.js.map +1 -1
  827. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.d.ts +5 -32
  828. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.d.ts.map +1 -1
  829. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.js +12 -10
  830. package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.js.map +1 -1
  831. package/node_modules/@murphai/operator-config/dist/setup-runtime-env.d.ts +1 -0
  832. package/node_modules/@murphai/operator-config/dist/setup-runtime-env.d.ts.map +1 -1
  833. package/node_modules/@murphai/operator-config/dist/setup-runtime-env.js +50 -3
  834. package/node_modules/@murphai/operator-config/dist/setup-runtime-env.js.map +1 -1
  835. package/node_modules/@murphai/operator-config/dist/telegram-runtime.d.ts +1 -0
  836. package/node_modules/@murphai/operator-config/dist/telegram-runtime.d.ts.map +1 -1
  837. package/node_modules/@murphai/operator-config/dist/telegram-runtime.js +25 -13
  838. package/node_modules/@murphai/operator-config/dist/telegram-runtime.js.map +1 -1
  839. package/node_modules/@murphai/operator-config/dist/text/shared.js.map +1 -1
  840. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts +167 -25
  841. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts.map +1 -1
  842. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js +73 -7
  843. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js.map +1 -1
  844. package/node_modules/@murphai/operator-config/package.json +6 -10
  845. package/node_modules/@murphai/parsers/README.md +1 -1
  846. package/node_modules/@murphai/parsers/dist/adapters/zxing-wasm.d.ts +36 -0
  847. package/node_modules/@murphai/parsers/dist/adapters/zxing-wasm.d.ts.map +1 -0
  848. package/node_modules/@murphai/parsers/dist/adapters/zxing-wasm.js +152 -0
  849. package/node_modules/@murphai/parsers/dist/adapters/zxing-wasm.js.map +1 -0
  850. package/node_modules/@murphai/parsers/dist/index.d.ts +4 -4
  851. package/node_modules/@murphai/parsers/dist/index.d.ts.map +1 -1
  852. package/node_modules/@murphai/parsers/dist/index.js +3 -3
  853. package/node_modules/@murphai/parsers/dist/index.js.map +1 -1
  854. package/node_modules/@murphai/parsers/dist/toolchain/config.d.ts +1 -1
  855. package/node_modules/@murphai/parsers/dist/toolchain/config.d.ts.map +1 -1
  856. package/node_modules/@murphai/parsers/dist/toolchain/config.js +0 -1
  857. package/node_modules/@murphai/parsers/dist/toolchain/config.js.map +1 -1
  858. package/node_modules/@murphai/parsers/dist/toolchain/discover.d.ts.map +1 -1
  859. package/node_modules/@murphai/parsers/dist/toolchain/discover.js +2 -11
  860. package/node_modules/@murphai/parsers/dist/toolchain/discover.js.map +1 -1
  861. package/node_modules/@murphai/parsers/package.json +1 -5
  862. package/node_modules/@murphai/query/dist/automation.d.ts.map +1 -1
  863. package/node_modules/@murphai/query/dist/automation.js +7 -9
  864. package/node_modules/@murphai/query/dist/automation.js.map +1 -1
  865. package/node_modules/@murphai/query/dist/browser-replica.d.ts +266 -0
  866. package/node_modules/@murphai/query/dist/browser-replica.d.ts.map +1 -0
  867. package/node_modules/@murphai/query/dist/browser-replica.js +986 -0
  868. package/node_modules/@murphai/query/dist/browser-replica.js.map +1 -0
  869. package/node_modules/@murphai/query/dist/browser.d.ts +12 -0
  870. package/node_modules/@murphai/query/dist/browser.d.ts.map +1 -0
  871. package/node_modules/@murphai/query/dist/browser.js +6 -0
  872. package/node_modules/@murphai/query/dist/browser.js.map +1 -0
  873. package/node_modules/@murphai/query/dist/experiments.d.ts +112 -0
  874. package/node_modules/@murphai/query/dist/experiments.d.ts.map +1 -0
  875. package/node_modules/@murphai/query/dist/experiments.js +663 -0
  876. package/node_modules/@murphai/query/dist/experiments.js.map +1 -0
  877. package/node_modules/@murphai/query/dist/health/loaders.js.map +1 -1
  878. package/node_modules/@murphai/query/dist/health/projectors/history.d.ts +1 -1
  879. package/node_modules/@murphai/query/dist/health/supplements.d.ts.map +1 -1
  880. package/node_modules/@murphai/query/dist/health/supplements.js +1 -17
  881. package/node_modules/@murphai/query/dist/health/supplements.js.map +1 -1
  882. package/node_modules/@murphai/query/dist/health-library.d.ts +7 -1
  883. package/node_modules/@murphai/query/dist/health-library.d.ts.map +1 -1
  884. package/node_modules/@murphai/query/dist/health-library.js +18 -11
  885. package/node_modules/@murphai/query/dist/health-library.js.map +1 -1
  886. package/node_modules/@murphai/query/dist/index.d.ts +12 -5
  887. package/node_modules/@murphai/query/dist/index.d.ts.map +1 -1
  888. package/node_modules/@murphai/query/dist/index.js +8 -4
  889. package/node_modules/@murphai/query/dist/index.js.map +1 -1
  890. package/node_modules/@murphai/query/dist/model.d.ts +2 -133
  891. package/node_modules/@murphai/query/dist/model.d.ts.map +1 -1
  892. package/node_modules/@murphai/query/dist/model.js +2 -332
  893. package/node_modules/@murphai/query/dist/model.js.map +1 -1
  894. package/node_modules/@murphai/query/dist/overview.d.ts +20 -2
  895. package/node_modules/@murphai/query/dist/overview.d.ts.map +1 -1
  896. package/node_modules/@murphai/query/dist/overview.js +55 -30
  897. package/node_modules/@murphai/query/dist/overview.js.map +1 -1
  898. package/node_modules/@murphai/query/dist/query-projection.d.ts.map +1 -1
  899. package/node_modules/@murphai/query/dist/query-projection.js +72 -5
  900. package/node_modules/@murphai/query/dist/query-projection.js.map +1 -1
  901. package/node_modules/@murphai/query/dist/query-record-data.d.ts +2 -0
  902. package/node_modules/@murphai/query/dist/query-record-data.d.ts.map +1 -0
  903. package/node_modules/@murphai/query/dist/query-record-data.js +2 -0
  904. package/node_modules/@murphai/query/dist/query-record-data.js.map +1 -0
  905. package/node_modules/@murphai/query/dist/read-model.d.ts +132 -0
  906. package/node_modules/@murphai/query/dist/read-model.d.ts.map +1 -0
  907. package/node_modules/@murphai/query/dist/read-model.js +315 -0
  908. package/node_modules/@murphai/query/dist/read-model.js.map +1 -0
  909. package/node_modules/@murphai/query/dist/scheduled-logs.d.ts +28 -0
  910. package/node_modules/@murphai/query/dist/scheduled-logs.d.ts.map +1 -0
  911. package/node_modules/@murphai/query/dist/scheduled-logs.js +126 -0
  912. package/node_modules/@murphai/query/dist/scheduled-logs.js.map +1 -0
  913. package/node_modules/@murphai/query/dist/search.d.ts +1 -1
  914. package/node_modules/@murphai/query/dist/search.d.ts.map +1 -1
  915. package/node_modules/@murphai/query/dist/summaries.d.ts +2 -1
  916. package/node_modules/@murphai/query/dist/summaries.d.ts.map +1 -1
  917. package/node_modules/@murphai/query/dist/summaries.js +2 -0
  918. package/node_modules/@murphai/query/dist/summaries.js.map +1 -1
  919. package/node_modules/@murphai/query/dist/timeline.d.ts +1 -1
  920. package/node_modules/@murphai/query/dist/timeline.d.ts.map +1 -1
  921. package/node_modules/@murphai/query/dist/timeline.js +1 -1
  922. package/node_modules/@murphai/query/dist/timeline.js.map +1 -1
  923. package/node_modules/@murphai/query/dist/vault-reader.d.ts +4 -0
  924. package/node_modules/@murphai/query/dist/vault-reader.d.ts.map +1 -0
  925. package/node_modules/@murphai/query/dist/vault-reader.js +20 -0
  926. package/node_modules/@murphai/query/dist/vault-reader.js.map +1 -0
  927. package/node_modules/@murphai/query/dist/vault-source.d.ts +2 -1
  928. package/node_modules/@murphai/query/dist/vault-source.d.ts.map +1 -1
  929. package/node_modules/@murphai/query/dist/vault-source.js.map +1 -1
  930. package/node_modules/@murphai/query/dist/wearables/candidates.d.ts +1 -1
  931. package/node_modules/@murphai/query/dist/wearables/candidates.d.ts.map +1 -1
  932. package/node_modules/@murphai/query/dist/wearables/candidates.js +134 -25
  933. package/node_modules/@murphai/query/dist/wearables/candidates.js.map +1 -1
  934. package/node_modules/@murphai/query/dist/wearables/canonical-records.d.ts +4 -0
  935. package/node_modules/@murphai/query/dist/wearables/canonical-records.d.ts.map +1 -0
  936. package/node_modules/@murphai/query/dist/wearables/canonical-records.js +155 -0
  937. package/node_modules/@murphai/query/dist/wearables/canonical-records.js.map +1 -0
  938. package/node_modules/@murphai/query/dist/wearables/provider-policy.d.ts.map +1 -1
  939. package/node_modules/@murphai/query/dist/wearables/provider-policy.js +9 -54
  940. package/node_modules/@murphai/query/dist/wearables/provider-policy.js.map +1 -1
  941. package/node_modules/@murphai/query/dist/wearables/shared.js +1 -1
  942. package/node_modules/@murphai/query/dist/wearables/shared.js.map +1 -1
  943. package/node_modules/@murphai/query/dist/wearables/types.d.ts +71 -6
  944. package/node_modules/@murphai/query/dist/wearables/types.d.ts.map +1 -1
  945. package/node_modules/@murphai/query/dist/wearables/types.js.map +1 -1
  946. package/node_modules/@murphai/query/dist/wearables.d.ts +8 -3
  947. package/node_modules/@murphai/query/dist/wearables.d.ts.map +1 -1
  948. package/node_modules/@murphai/query/dist/wearables.js +295 -0
  949. package/node_modules/@murphai/query/dist/wearables.js.map +1 -1
  950. package/node_modules/@murphai/query/package.json +6 -7
  951. package/node_modules/@murphai/runtime-state/README.md +2 -1
  952. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.d.ts.map +1 -1
  953. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js +3 -1
  954. package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js.map +1 -1
  955. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.d.ts +51 -0
  956. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.d.ts.map +1 -0
  957. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.js +302 -0
  958. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.js.map +1 -0
  959. package/node_modules/@murphai/runtime-state/dist/assistant-state.d.ts +2 -0
  960. package/node_modules/@murphai/runtime-state/dist/assistant-state.d.ts.map +1 -1
  961. package/node_modules/@murphai/runtime-state/dist/assistant-state.js +3 -0
  962. package/node_modules/@murphai/runtime-state/dist/assistant-state.js.map +1 -1
  963. package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts +8 -0
  964. package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts.map +1 -1
  965. package/node_modules/@murphai/runtime-state/dist/assistant-usage.js +60 -1
  966. package/node_modules/@murphai/runtime-state/dist/assistant-usage.js.map +1 -1
  967. package/node_modules/@murphai/runtime-state/dist/hosted-browser-session-keys.d.ts +31 -0
  968. package/node_modules/@murphai/runtime-state/dist/hosted-browser-session-keys.d.ts.map +1 -0
  969. package/node_modules/@murphai/runtime-state/dist/hosted-browser-session-keys.js +180 -0
  970. package/node_modules/@murphai/runtime-state/dist/hosted-browser-session-keys.js.map +1 -0
  971. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.d.ts +1 -1
  972. package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.d.ts.map +1 -1
  973. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.js +4 -1
  974. package/node_modules/@murphai/runtime-state/dist/hosted-bundle.js.map +1 -1
  975. package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts +0 -2
  976. package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts.map +1 -1
  977. package/node_modules/@murphai/runtime-state/dist/hosted-email.js +32 -7
  978. package/node_modules/@murphai/runtime-state/dist/hosted-email.js.map +1 -1
  979. package/node_modules/@murphai/runtime-state/dist/hosted-storage.d.ts +37 -0
  980. package/node_modules/@murphai/runtime-state/dist/hosted-storage.d.ts.map +1 -0
  981. package/node_modules/@murphai/runtime-state/dist/hosted-storage.js +157 -0
  982. package/node_modules/@murphai/runtime-state/dist/hosted-storage.js.map +1 -0
  983. package/node_modules/@murphai/runtime-state/dist/index.d.ts +2 -1
  984. package/node_modules/@murphai/runtime-state/dist/index.d.ts.map +1 -1
  985. package/node_modules/@murphai/runtime-state/dist/index.js +2 -1
  986. package/node_modules/@murphai/runtime-state/dist/index.js.map +1 -1
  987. package/node_modules/@murphai/runtime-state/dist/locks.js.map +1 -1
  988. package/node_modules/@murphai/runtime-state/dist/node/assistant-usage.d.ts +2 -0
  989. package/node_modules/@murphai/runtime-state/dist/node/assistant-usage.d.ts.map +1 -0
  990. package/node_modules/@murphai/runtime-state/dist/node/assistant-usage.js +2 -0
  991. package/node_modules/@murphai/runtime-state/dist/node/assistant-usage.js.map +1 -0
  992. package/node_modules/@murphai/runtime-state/dist/node/hosted-bundle-codec.d.ts +3 -0
  993. package/node_modules/@murphai/runtime-state/dist/node/hosted-bundle-codec.d.ts.map +1 -0
  994. package/node_modules/@murphai/runtime-state/dist/node/hosted-bundle-codec.js +3 -0
  995. package/node_modules/@murphai/runtime-state/dist/node/hosted-bundle-codec.js.map +1 -0
  996. package/node_modules/@murphai/runtime-state/dist/node/index.d.ts +2 -1
  997. package/node_modules/@murphai/runtime-state/dist/node/index.d.ts.map +1 -1
  998. package/node_modules/@murphai/runtime-state/dist/node/index.js +2 -1
  999. package/node_modules/@murphai/runtime-state/dist/node/index.js.map +1 -1
  1000. package/node_modules/@murphai/runtime-state/dist/node/runtime-paths.d.ts +2 -0
  1001. package/node_modules/@murphai/runtime-state/dist/node/runtime-paths.d.ts.map +1 -0
  1002. package/node_modules/@murphai/runtime-state/dist/node/runtime-paths.js +2 -0
  1003. package/node_modules/@murphai/runtime-state/dist/node/runtime-paths.js.map +1 -0
  1004. package/node_modules/@murphai/runtime-state/dist/node/sqlite-warning-filter.d.ts +2 -0
  1005. package/node_modules/@murphai/runtime-state/dist/node/sqlite-warning-filter.d.ts.map +1 -0
  1006. package/node_modules/@murphai/runtime-state/dist/node/sqlite-warning-filter.js +2 -0
  1007. package/node_modules/@murphai/runtime-state/dist/node/sqlite-warning-filter.js.map +1 -0
  1008. package/node_modules/@murphai/runtime-state/dist/node/ulid.d.ts +2 -0
  1009. package/node_modules/@murphai/runtime-state/dist/node/ulid.d.ts.map +1 -0
  1010. package/node_modules/@murphai/runtime-state/dist/node/ulid.js +2 -0
  1011. package/node_modules/@murphai/runtime-state/dist/node/ulid.js.map +1 -0
  1012. package/node_modules/@murphai/runtime-state/dist/sqlite-warning-filter.d.ts +9 -0
  1013. package/node_modules/@murphai/runtime-state/dist/sqlite-warning-filter.d.ts.map +1 -0
  1014. package/node_modules/@murphai/runtime-state/dist/sqlite-warning-filter.js +63 -0
  1015. package/node_modules/@murphai/runtime-state/dist/sqlite-warning-filter.js.map +1 -0
  1016. package/node_modules/@murphai/runtime-state/dist/sqlite.d.ts +2 -1
  1017. package/node_modules/@murphai/runtime-state/dist/sqlite.d.ts.map +1 -1
  1018. package/node_modules/@murphai/runtime-state/dist/sqlite.js +4 -2
  1019. package/node_modules/@murphai/runtime-state/dist/sqlite.js.map +1 -1
  1020. package/node_modules/@murphai/runtime-state/dist/versioned-json-files.js.map +1 -1
  1021. package/node_modules/@murphai/runtime-state/package.json +29 -1
  1022. package/node_modules/@murphai/setup-cli/dist/setup-assistant-account.js.map +1 -1
  1023. package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.js +2 -2
  1024. package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.js.map +1 -1
  1025. package/node_modules/@murphai/setup-cli/dist/setup-assistant.d.ts.map +1 -1
  1026. package/node_modules/@murphai/setup-cli/dist/setup-assistant.js +7 -5
  1027. package/node_modules/@murphai/setup-cli/dist/setup-assistant.js.map +1 -1
  1028. package/node_modules/@murphai/setup-cli/dist/setup-cli.d.ts.map +1 -1
  1029. package/node_modules/@murphai/setup-cli/dist/setup-cli.js +13 -1
  1030. package/node_modules/@murphai/setup-cli/dist/setup-cli.js.map +1 -1
  1031. package/node_modules/@murphai/setup-cli/dist/setup-services/shell.d.ts.map +1 -1
  1032. package/node_modules/@murphai/setup-cli/dist/setup-services/shell.js +2 -69
  1033. package/node_modules/@murphai/setup-cli/dist/setup-services/shell.js.map +1 -1
  1034. package/node_modules/@murphai/setup-cli/dist/setup-services/steps.d.ts +1 -1
  1035. package/node_modules/@murphai/setup-cli/dist/setup-services/steps.d.ts.map +1 -1
  1036. package/node_modules/@murphai/setup-cli/dist/setup-services/steps.js +0 -17
  1037. package/node_modules/@murphai/setup-cli/dist/setup-services/steps.js.map +1 -1
  1038. package/node_modules/@murphai/setup-cli/dist/setup-services/tool-provisioning.d.ts +1 -1
  1039. package/node_modules/@murphai/setup-cli/dist/setup-services/tool-provisioning.js +0 -4
  1040. package/node_modules/@murphai/setup-cli/dist/setup-services/tool-provisioning.js.map +1 -1
  1041. package/node_modules/@murphai/setup-cli/dist/setup-services/wearables.js +2 -0
  1042. package/node_modules/@murphai/setup-cli/dist/setup-services/wearables.js.map +1 -1
  1043. package/node_modules/@murphai/setup-cli/dist/setup-services.d.ts.map +1 -1
  1044. package/node_modules/@murphai/setup-cli/dist/setup-services.js +7 -9
  1045. package/node_modules/@murphai/setup-cli/dist/setup-services.js.map +1 -1
  1046. package/node_modules/@murphai/setup-cli/dist/setup-wizard-app.d.ts.map +1 -1
  1047. package/node_modules/@murphai/setup-cli/dist/setup-wizard-app.js +47 -0
  1048. package/node_modules/@murphai/setup-cli/dist/setup-wizard-app.js.map +1 -1
  1049. package/node_modules/@murphai/setup-cli/dist/setup-wizard-options.d.ts.map +1 -1
  1050. package/node_modules/@murphai/setup-cli/dist/setup-wizard-options.js +7 -0
  1051. package/node_modules/@murphai/setup-cli/dist/setup-wizard-options.js.map +1 -1
  1052. package/node_modules/@murphai/setup-cli/dist/setup-wizard-public-url.d.ts +13 -1
  1053. package/node_modules/@murphai/setup-cli/dist/setup-wizard-public-url.d.ts.map +1 -1
  1054. package/node_modules/@murphai/setup-cli/dist/setup-wizard-public-url.js +214 -21
  1055. package/node_modules/@murphai/setup-cli/dist/setup-wizard-public-url.js.map +1 -1
  1056. package/node_modules/@murphai/setup-cli/dist/setup-wizard-ui.d.ts +1 -5
  1057. package/node_modules/@murphai/setup-cli/dist/setup-wizard-ui.d.ts.map +1 -1
  1058. package/node_modules/@murphai/setup-cli/dist/setup-wizard-ui.js +8 -2
  1059. package/node_modules/@murphai/setup-cli/dist/setup-wizard-ui.js.map +1 -1
  1060. package/node_modules/@murphai/setup-cli/dist/setup-wizard.d.ts +1 -1
  1061. package/node_modules/@murphai/setup-cli/dist/setup-wizard.d.ts.map +1 -1
  1062. package/node_modules/@murphai/setup-cli/dist/setup-wizard.js +1 -1
  1063. package/node_modules/@murphai/setup-cli/dist/setup-wizard.js.map +1 -1
  1064. package/node_modules/@murphai/setup-cli/package.json +1 -10
  1065. package/node_modules/@murphai/vault-usecases/dist/captures.d.ts +2 -0
  1066. package/node_modules/@murphai/vault-usecases/dist/captures.d.ts.map +1 -0
  1067. package/node_modules/@murphai/vault-usecases/dist/captures.js +2 -0
  1068. package/node_modules/@murphai/vault-usecases/dist/captures.js.map +1 -0
  1069. package/node_modules/@murphai/vault-usecases/dist/index.d.ts +3 -0
  1070. package/node_modules/@murphai/vault-usecases/dist/index.d.ts.map +1 -1
  1071. package/node_modules/@murphai/vault-usecases/dist/index.js +3 -0
  1072. package/node_modules/@murphai/vault-usecases/dist/index.js.map +1 -1
  1073. package/node_modules/@murphai/vault-usecases/dist/measurements.d.ts +3 -0
  1074. package/node_modules/@murphai/vault-usecases/dist/measurements.d.ts.map +1 -0
  1075. package/node_modules/@murphai/vault-usecases/dist/measurements.js +3 -0
  1076. package/node_modules/@murphai/vault-usecases/dist/measurements.js.map +1 -0
  1077. package/node_modules/@murphai/vault-usecases/dist/preferences.d.ts +2 -2
  1078. package/node_modules/@murphai/vault-usecases/dist/query-runtime.d.ts +115 -2
  1079. package/node_modules/@murphai/vault-usecases/dist/query-runtime.d.ts.map +1 -1
  1080. package/node_modules/@murphai/vault-usecases/dist/query-runtime.js.map +1 -1
  1081. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.d.ts +174 -0
  1082. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.d.ts.map +1 -0
  1083. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.js +485 -0
  1084. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.js.map +1 -0
  1085. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.d.ts +8 -5
  1086. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.d.ts.map +1 -1
  1087. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js +14 -52
  1088. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js.map +1 -1
  1089. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts +272 -9
  1090. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts.map +1 -1
  1091. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js +417 -2
  1092. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js.map +1 -1
  1093. package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.d.ts.map +1 -1
  1094. package/node_modules/@murphai/vault-usecases/dist/usecases/food-autolog.d.ts +2 -1
  1095. package/node_modules/@murphai/vault-usecases/dist/usecases/food-autolog.d.ts.map +1 -1
  1096. package/node_modules/@murphai/vault-usecases/dist/usecases/food-autolog.js +4 -2
  1097. package/node_modules/@murphai/vault-usecases/dist/usecases/food-autolog.js.map +1 -1
  1098. package/node_modules/@murphai/vault-usecases/dist/usecases/food.d.ts +2 -2
  1099. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.d.ts.map +1 -1
  1100. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js +172 -22
  1101. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js.map +1 -1
  1102. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.d.ts +114 -0
  1103. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.d.ts.map +1 -0
  1104. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js +92 -0
  1105. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js.map +1 -0
  1106. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.d.ts +95 -0
  1107. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.d.ts.map +1 -0
  1108. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.js +217 -0
  1109. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.js.map +1 -0
  1110. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts +3 -1
  1111. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts.map +1 -1
  1112. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js +33 -0
  1113. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js.map +1 -1
  1114. package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.d.ts.map +1 -1
  1115. package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.js +6 -1
  1116. package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.js.map +1 -1
  1117. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.d.ts +2 -1
  1118. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.d.ts.map +1 -1
  1119. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js +34 -0
  1120. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js.map +1 -1
  1121. package/node_modules/@murphai/vault-usecases/dist/usecases/types.d.ts +165 -15
  1122. package/node_modules/@murphai/vault-usecases/dist/usecases/types.d.ts.map +1 -1
  1123. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.d.ts +3 -1
  1124. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.d.ts.map +1 -1
  1125. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.js +30 -3
  1126. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.js.map +1 -1
  1127. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-core.d.ts +14 -1
  1128. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-core.d.ts.map +1 -1
  1129. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-core.js.map +1 -1
  1130. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts +1 -1
  1131. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.d.ts +0 -37
  1132. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.d.ts.map +1 -1
  1133. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.js +9 -185
  1134. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.js.map +1 -1
  1135. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.d.ts +5 -53
  1136. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.d.ts.map +1 -1
  1137. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js +4 -60
  1138. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js.map +1 -1
  1139. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts +2 -2
  1140. package/node_modules/@murphai/vault-usecases/package.json +9 -10
  1141. package/package.json +21 -20
  1142. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome-delivery.d.ts +0 -14
  1143. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome-delivery.d.ts.map +0 -1
  1144. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome-delivery.js +0 -194
  1145. package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome-delivery.js.map +0 -1
  1146. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-sanitizer.d.ts +0 -8
  1147. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-sanitizer.d.ts.map +0 -1
  1148. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-sanitizer.js +0 -93
  1149. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-sanitizer.js.map +0 -1
  1150. package/node_modules/@murphai/messaging-ingress/dist/index.d.ts +0 -2
  1151. package/node_modules/@murphai/messaging-ingress/dist/index.d.ts.map +0 -1
  1152. package/node_modules/@murphai/messaging-ingress/dist/index.js +0 -2
  1153. package/node_modules/@murphai/messaging-ingress/dist/index.js.map +0 -1
  1154. package/node_modules/@murphai/parsers/dist/adapters/pdftotext.d.ts +0 -7
  1155. package/node_modules/@murphai/parsers/dist/adapters/pdftotext.d.ts.map +0 -1
  1156. package/node_modules/@murphai/parsers/dist/adapters/pdftotext.js +0 -60
  1157. package/node_modules/@murphai/parsers/dist/adapters/pdftotext.js.map +0 -1
  1158. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.d.ts +0 -14
  1159. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.d.ts.map +0 -1
  1160. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.js +0 -59
  1161. package/node_modules/@murphai/runtime-state/dist/hosted-user-env.js.map +0 -1
@@ -0,0 +1,986 @@
1
+ import { buildOverviewMetrics, buildOverviewWeeklyStatsFromDailySampleSummaries, isActiveOverviewExperimentStatus, summarizeOverviewExperiments, summarizeRecentOverviewJournals, } from "./overview.js";
2
+ import { summarizeDailySamples } from "./summaries.js";
3
+ import { buildTimeline } from "./timeline.js";
4
+ import { buildWearableAssistantSummary, summarizeWearableActivity, summarizeWearableBodyState, summarizeWearableRecovery, summarizeWearableSleep, summarizeWearableSourceHealth, } from "./wearables.js";
5
+ export const BROWSER_VAULT_REPLICA_SCHEMA = "murph.browser-vault-replica.v1";
6
+ export const BROWSER_VAULT_REPLICA_POLICY_ID = "health-vault-browser-v1";
7
+ const BODY_PREVIEW_CHARS = 280;
8
+ const METRIC_LOOKBACK_DAYS = 365;
9
+ const RECENT_JOURNAL_LIMIT = 4;
10
+ const TRACKED_EXPERIMENT_LIMIT = 24;
11
+ const TIMELINE_LIMIT = 240;
12
+ const SIGNAL_LIMIT = 30;
13
+ const SOURCE_HEALTH_LIMIT = 24;
14
+ const WEEKLY_SAMPLE_LOOKBACK_DAYS = 365;
15
+ const INCLUDED_FAMILIES = [
16
+ "allergy",
17
+ "assessment",
18
+ "condition",
19
+ "event",
20
+ "experiment",
21
+ "family",
22
+ "genetics",
23
+ "goal",
24
+ "journal",
25
+ "protocol",
26
+ "provider",
27
+ "sample",
28
+ "workout_format",
29
+ ];
30
+ const EXCLUDED_FAMILIES = [
31
+ "audit",
32
+ "core",
33
+ "food",
34
+ "recipe",
35
+ ];
36
+ export async function createBrowserVaultReplica(input) {
37
+ const generatedAt = input.generatedAt
38
+ ? requireIsoDateTime(input.generatedAt, "Browser vault replica generatedAt")
39
+ : new Date().toISOString();
40
+ const policy = createBrowserVaultReplicaPolicy();
41
+ const entities = input.vault.entities
42
+ .filter((entity) => isBrowserVaultIncludedFamily(entity.family))
43
+ .map(projectEntity);
44
+ const timelineRows = buildTimeline(input.vault, { limit: TIMELINE_LIMIT })
45
+ .map(projectTimelineRow);
46
+ const weeklySampleSummaries = projectWeeklySampleSummaries(input.vault, generatedAt);
47
+ const activity = summarizeWearableActivity(input.vault, { limit: SIGNAL_LIMIT });
48
+ const sleep = summarizeWearableSleep(input.vault, { limit: SIGNAL_LIMIT });
49
+ const recovery = summarizeWearableRecovery(input.vault, { limit: SIGNAL_LIMIT });
50
+ const bodyState = summarizeWearableBodyState(input.vault, { limit: SIGNAL_LIMIT });
51
+ const metricDayRows = [
52
+ ...activity.map(projectActivityMetricDayRow),
53
+ ...sleep.map(projectSleepMetricDayRow),
54
+ ...recovery.map(projectRecoveryMetricDayRow),
55
+ ...bodyState.map(projectBodyStateMetricDayRow),
56
+ ];
57
+ const metricRows = metricDayRows.flatMap((day) => dayToMetricRows(day));
58
+ const sourceHealthRows = summarizeWearableSourceHealth(input.vault, { limit: SOURCE_HEALTH_LIMIT })
59
+ .map(projectSourceHealthRow);
60
+ const replicaWithoutVersion = {
61
+ assistantSummary: projectWearableAssistantSummary(buildWearableAssistantSummary(input.vault)),
62
+ entities,
63
+ generatedAt,
64
+ metricDayRows,
65
+ metricRows,
66
+ policy,
67
+ schema: BROWSER_VAULT_REPLICA_SCHEMA,
68
+ searchRows: entities.map(projectSearchRow),
69
+ source: {
70
+ dataVersion: "pending",
71
+ sourceBundleHash: requireString(input.sourceBundleHash, "Browser vault replica sourceBundleHash"),
72
+ },
73
+ sourceHealthRows,
74
+ timelineRows,
75
+ weeklySampleSummaries,
76
+ };
77
+ const dataVersion = await hashBrowserVaultReplicaData(replicaWithoutVersion);
78
+ return {
79
+ ...replicaWithoutVersion,
80
+ source: {
81
+ ...replicaWithoutVersion.source,
82
+ dataVersion,
83
+ },
84
+ };
85
+ }
86
+ export async function hashBrowserVaultReplicaData(replica) {
87
+ const stableReplica = {
88
+ ...replica,
89
+ generatedAt: "",
90
+ source: {
91
+ ...replica.source,
92
+ dataVersion: "pending",
93
+ },
94
+ };
95
+ const digest = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(stableStringify(stableReplica)));
96
+ return [...new Uint8Array(digest)]
97
+ .map((byte) => byte.toString(16).padStart(2, "0"))
98
+ .join("");
99
+ }
100
+ export function parseBrowserVaultReplica(value, label = "Browser vault replica") {
101
+ const record = requireRecord(value, label);
102
+ const schema = requireString(record.schema, `${label}.schema`);
103
+ if (schema !== BROWSER_VAULT_REPLICA_SCHEMA) {
104
+ throw new TypeError(`${label}.schema must be ${BROWSER_VAULT_REPLICA_SCHEMA}.`);
105
+ }
106
+ return {
107
+ assistantSummary: parseAssistantSummary(record.assistantSummary, `${label}.assistantSummary`),
108
+ entities: requireArray(record.entities, `${label}.entities`).map((entry, index) => parseEntity(entry, `${label}.entities[${index}]`)),
109
+ generatedAt: requireIsoDateTime(record.generatedAt, `${label}.generatedAt`),
110
+ metricDayRows: requireArray(record.metricDayRows, `${label}.metricDayRows`).map((entry, index) => parseMetricDayRow(entry, `${label}.metricDayRows[${index}]`)),
111
+ metricRows: requireArray(record.metricRows, `${label}.metricRows`).map((entry, index) => parseMetricRow(entry, `${label}.metricRows[${index}]`)),
112
+ policy: parsePolicy(record.policy, `${label}.policy`),
113
+ schema: BROWSER_VAULT_REPLICA_SCHEMA,
114
+ searchRows: requireArray(record.searchRows, `${label}.searchRows`).map((entry, index) => parseSearchRow(entry, `${label}.searchRows[${index}]`)),
115
+ source: parseSource(record.source, `${label}.source`),
116
+ sourceHealthRows: requireArray(record.sourceHealthRows, `${label}.sourceHealthRows`).map((entry, index) => parseSourceHealthRow(entry, `${label}.sourceHealthRows[${index}]`)),
117
+ timelineRows: requireArray(record.timelineRows, `${label}.timelineRows`).map((entry, index) => parseTimelineRow(entry, `${label}.timelineRows[${index}]`)),
118
+ weeklySampleSummaries: requireArray(record.weeklySampleSummaries, `${label}.weeklySampleSummaries`).map((entry, index) => parseWeeklySampleSummary(entry, `${label}.weeklySampleSummaries[${index}]`)),
119
+ };
120
+ }
121
+ export function createBrowserVaultQueryClient(replica) {
122
+ const byLookupId = new Map();
123
+ for (const entity of replica.entities) {
124
+ byLookupId.set(entity.id, entity);
125
+ for (const lookupId of entity.lookupIds) {
126
+ byLookupId.set(lookupId, entity);
127
+ }
128
+ }
129
+ return {
130
+ entities: {
131
+ get(idOrLookupId) {
132
+ return byLookupId.get(idOrLookupId) ?? null;
133
+ },
134
+ list(filters = {}) {
135
+ return replica.entities.filter((entity) => matchesEntityFilters(entity, filters));
136
+ },
137
+ },
138
+ metricDays: {
139
+ list(filters = {}) {
140
+ return replica.metricDayRows.filter((row) => matchesMetricDayFilters(row, filters));
141
+ },
142
+ },
143
+ metrics: {
144
+ latest(filters = {}) {
145
+ return replica.metricRows.find((row) => matchesMetricFilters(row, filters)) ?? null;
146
+ },
147
+ list(filters = {}) {
148
+ return replica.metricRows.filter((row) => matchesMetricFilters(row, filters));
149
+ },
150
+ series(filters = {}) {
151
+ return replica.metricRows.filter((row) => matchesMetricFilters(row, filters)).slice().reverse();
152
+ },
153
+ },
154
+ replica,
155
+ search(query, filters = {}) {
156
+ const normalizedQuery = normalizeSearch(query);
157
+ const familySet = filters.families ? new Set(filters.families) : null;
158
+ if (normalizedQuery.length === 0) {
159
+ return [];
160
+ }
161
+ return replica.searchRows.filter((row) => {
162
+ if (familySet && !familySet.has(row.family)) {
163
+ return false;
164
+ }
165
+ return normalizeSearch(row.text).includes(normalizedQuery);
166
+ });
167
+ },
168
+ timeline: {
169
+ list(filters = {}) {
170
+ return replica.timelineRows.filter((row) => matchesTimelineFilters(row, filters));
171
+ },
172
+ },
173
+ };
174
+ }
175
+ export function selectBrowserVaultOverview(client) {
176
+ const vault = vaultViewFromReplica(client.replica);
177
+ return {
178
+ metrics: buildOverviewMetrics(vault),
179
+ recentJournals: summarizeRecentOverviewJournals(vault, RECENT_JOURNAL_LIMIT),
180
+ trackedExperiments: summarizeOverviewExperiments(vault, TRACKED_EXPERIMENT_LIMIT),
181
+ weeklySampleSummaries: client.replica.weeklySampleSummaries.slice(),
182
+ };
183
+ }
184
+ export function selectBrowserVaultHistory(client) {
185
+ return {
186
+ timeline: client.timeline.list().slice(0, TIMELINE_LIMIT),
187
+ };
188
+ }
189
+ export function selectBrowserVaultTrackedExperiments(client) {
190
+ return selectBrowserVaultOverview(client).trackedExperiments;
191
+ }
192
+ export function selectBrowserVaultSignals(client) {
193
+ return {
194
+ activity: client.metricDays.list({ domain: "activity" }).map(dayToActivitySummary),
195
+ assistantSummary: {
196
+ highlights: client.replica.assistantSummary.highlights.slice(),
197
+ latestDate: client.replica.assistantSummary.latestDate,
198
+ },
199
+ bodyState: client.metricDays.list({ domain: "body_state" }).map(dayToBodyStateSummary),
200
+ recovery: client.metricDays.list({ domain: "recovery" }).map(dayToRecoverySummary),
201
+ sleep: client.metricDays.list({ domain: "sleep" }).map(dayToSleepSummary),
202
+ sourceHealth: client.replica.sourceHealthRows.slice(),
203
+ };
204
+ }
205
+ function vaultViewFromReplica(replica) {
206
+ const byFamily = {};
207
+ const entities = replica.entities.map(entityFromBrowserEntity);
208
+ for (const entity of entities) {
209
+ byFamily[entity.family] = byFamily[entity.family] ?? [];
210
+ byFamily[entity.family]?.push(entity);
211
+ }
212
+ return {
213
+ allergies: byFamily.allergy ?? [],
214
+ assessments: byFamily.assessment ?? [],
215
+ audits: [],
216
+ byFamily,
217
+ conditions: byFamily.condition ?? [],
218
+ coreDocument: null,
219
+ entities,
220
+ events: byFamily.event ?? [],
221
+ experiments: byFamily.experiment ?? [],
222
+ familyMembers: byFamily.family ?? [],
223
+ foods: [],
224
+ format: "murph.query.v1",
225
+ geneticVariants: byFamily.genetics ?? [],
226
+ goals: byFamily.goal ?? [],
227
+ journalEntries: byFamily.journal ?? [],
228
+ metadata: null,
229
+ protocols: byFamily.protocol ?? [],
230
+ providers: byFamily.provider ?? [],
231
+ recipes: [],
232
+ samples: byFamily.sample ?? [],
233
+ vaultRoot: "browser-vault-replica",
234
+ workoutFormats: byFamily.workout_format ?? [],
235
+ };
236
+ }
237
+ function entityFromBrowserEntity(entity) {
238
+ return {
239
+ attributes: cloneRecord(entity.attributes),
240
+ body: entity.bodyPreview,
241
+ date: entity.date,
242
+ entityId: entity.id,
243
+ experimentSlug: entity.experimentSlug,
244
+ family: entity.family,
245
+ frontmatter: cloneRecord(entity.attributes),
246
+ kind: entity.kind,
247
+ links: entity.links.map((link) => ({ targetId: link.targetId, type: link.type })),
248
+ lookupIds: entity.lookupIds.slice(),
249
+ occurredAt: entity.occurredAt,
250
+ path: `browser://${entity.id}`,
251
+ primaryLookupId: entity.lookupIds[0] ?? entity.id,
252
+ recordClass: entity.recordClass,
253
+ relatedIds: entity.links.map((link) => link.targetId),
254
+ status: entity.status,
255
+ stream: entity.stream,
256
+ tags: entity.tags.slice(),
257
+ title: entity.title,
258
+ };
259
+ }
260
+ function createBrowserVaultReplicaPolicy() {
261
+ return {
262
+ bodyPreviewChars: BODY_PREVIEW_CHARS,
263
+ excludedFamilies: EXCLUDED_FAMILIES.slice(),
264
+ id: BROWSER_VAULT_REPLICA_POLICY_ID,
265
+ includedFamilies: INCLUDED_FAMILIES.slice(),
266
+ metricLookbackDays: METRIC_LOOKBACK_DAYS,
267
+ };
268
+ }
269
+ function isBrowserVaultIncludedFamily(family) {
270
+ return INCLUDED_FAMILIES.includes(family);
271
+ }
272
+ function projectEntity(entity) {
273
+ return {
274
+ attributes: projectSafeAttributes(entity),
275
+ bodyPreview: previewText(entity.body, BODY_PREVIEW_CHARS),
276
+ date: entity.date,
277
+ experimentSlug: entity.experimentSlug,
278
+ family: entity.family,
279
+ id: entity.entityId,
280
+ kind: entity.kind,
281
+ links: entity.links.map((link) => ({ targetId: link.targetId, type: link.type })),
282
+ lookupIds: uniqueStrings([entity.primaryLookupId, ...entity.lookupIds, entity.entityId]),
283
+ occurredAt: entity.occurredAt,
284
+ recordClass: entity.recordClass,
285
+ status: entity.status,
286
+ stream: entity.stream,
287
+ tags: entity.tags.slice(),
288
+ title: entity.title,
289
+ };
290
+ }
291
+ function projectSafeAttributes(entity) {
292
+ const source = entity.frontmatter ?? entity.attributes;
293
+ const allowed = {};
294
+ for (const key of [
295
+ "analysisPlan",
296
+ "assistantSupport",
297
+ "baselineEnd",
298
+ "baselineStart",
299
+ "category",
300
+ "completedAt",
301
+ "endedOn",
302
+ "group",
303
+ "metric",
304
+ "onboarding",
305
+ "outcome",
306
+ "outcomeRef",
307
+ "protocolRef",
308
+ "runPlan",
309
+ "startedOn",
310
+ "status",
311
+ "summary",
312
+ "unit",
313
+ "value",
314
+ ]) {
315
+ if (source[key] !== undefined && isBrowserSafeJson(source[key])) {
316
+ allowed[key] = cloneJson(source[key]);
317
+ }
318
+ }
319
+ return allowed;
320
+ }
321
+ function projectTimelineRow(entry) {
322
+ return {
323
+ date: entry.date,
324
+ entityId: entry.id,
325
+ entryType: entry.entryType,
326
+ family: entry.entryType === "sample_summary" ? "sample" : entry.entryType,
327
+ id: entry.id,
328
+ kind: entry.kind,
329
+ occurredAt: entry.occurredAt,
330
+ stream: entry.stream,
331
+ tags: entry.tags.slice(),
332
+ title: entry.title,
333
+ };
334
+ }
335
+ function projectSearchRow(entity) {
336
+ return {
337
+ date: entity.date,
338
+ entityId: entity.id,
339
+ family: entity.family,
340
+ id: entity.id,
341
+ kind: entity.kind,
342
+ occurredAt: entity.occurredAt,
343
+ tags: entity.tags.slice(),
344
+ text: [entity.title, entity.bodyPreview, entity.kind, entity.status, entity.stream, entity.tags.join(" ")]
345
+ .filter((value) => typeof value === "string" && value.length > 0)
346
+ .join("\n"),
347
+ title: entity.title,
348
+ };
349
+ }
350
+ function projectWeeklySampleSummaries(vault, generatedAt) {
351
+ const cutoffDate = subtractDaysFromIsoDate(generatedAt.slice(0, 10), WEEKLY_SAMPLE_LOOKBACK_DAYS);
352
+ return summarizeDailySamples(vault)
353
+ .filter((entry) => entry.date >= cutoffDate)
354
+ .map(projectWeeklySampleSummary);
355
+ }
356
+ function projectWeeklySampleSummary(entry) {
357
+ return {
358
+ date: entry.date,
359
+ numericSampleCount: entry.numericSampleCount,
360
+ sampleCount: entry.sampleCount,
361
+ stream: entry.stream,
362
+ sumValue: entry.sumValue,
363
+ unit: entry.unit,
364
+ };
365
+ }
366
+ function projectWearableAssistantSummary(summary) {
367
+ return {
368
+ highlights: summary.highlights.slice(),
369
+ latestDate: summary.latestDate,
370
+ };
371
+ }
372
+ function projectActivityMetricDayRow(summary) {
373
+ return buildMetricDayRow({
374
+ attributes: { activityTypes: summary.activityTypes.slice() },
375
+ confidence: summary.summaryConfidence.level,
376
+ date: summary.date,
377
+ domain: "activity",
378
+ metrics: {
379
+ activityScore: projectWearableResolvedMetric(summary.activityScore),
380
+ activeCalories: projectWearableResolvedMetric(summary.activeCalories),
381
+ dayStrain: projectWearableResolvedMetric(summary.dayStrain),
382
+ distanceKm: projectWearableResolvedMetric(summary.distanceKm),
383
+ sessionCount: projectWearableResolvedMetric(summary.sessionCount),
384
+ sessionMinutes: projectWearableResolvedMetric(summary.sessionMinutes),
385
+ steps: projectWearableResolvedMetric(summary.steps),
386
+ },
387
+ notes: summary.notes,
388
+ });
389
+ }
390
+ function projectSleepMetricDayRow(summary) {
391
+ return buildMetricDayRow({
392
+ attributes: {
393
+ sleepEndAt: summary.sleepEndAt,
394
+ sleepStartAt: summary.sleepStartAt,
395
+ sleepWindowProvider: summary.sleepWindowProvider,
396
+ },
397
+ confidence: summary.summaryConfidence.level,
398
+ date: summary.date,
399
+ domain: "sleep",
400
+ metrics: {
401
+ averageHeartRate: projectWearableResolvedMetric(summary.averageHeartRate),
402
+ awakeMinutes: projectWearableResolvedMetric(summary.awakeMinutes),
403
+ deepMinutes: projectWearableResolvedMetric(summary.deepMinutes),
404
+ hrv: projectWearableResolvedMetric(summary.hrv),
405
+ lightMinutes: projectWearableResolvedMetric(summary.lightMinutes),
406
+ lowestHeartRate: projectWearableResolvedMetric(summary.lowestHeartRate),
407
+ remMinutes: projectWearableResolvedMetric(summary.remMinutes),
408
+ respiratoryRate: projectWearableResolvedMetric(summary.respiratoryRate),
409
+ sessionMinutes: projectWearableResolvedMetric(summary.sessionMinutes),
410
+ sleepConsistency: projectWearableResolvedMetric(summary.sleepConsistency),
411
+ sleepEfficiency: projectWearableResolvedMetric(summary.sleepEfficiency),
412
+ sleepPerformance: projectWearableResolvedMetric(summary.sleepPerformance),
413
+ sleepScore: projectWearableResolvedMetric(summary.sleepScore),
414
+ spo2: projectWearableResolvedMetric(summary.spo2),
415
+ timeInBedMinutes: projectWearableResolvedMetric(summary.timeInBedMinutes),
416
+ totalSleepMinutes: projectWearableResolvedMetric(summary.totalSleepMinutes),
417
+ },
418
+ notes: summary.notes,
419
+ });
420
+ }
421
+ function projectRecoveryMetricDayRow(summary) {
422
+ return buildMetricDayRow({
423
+ attributes: {},
424
+ confidence: summary.summaryConfidence.level,
425
+ date: summary.date,
426
+ domain: "recovery",
427
+ metrics: {
428
+ bodyBattery: projectWearableResolvedMetric(summary.bodyBattery),
429
+ hrv: projectWearableResolvedMetric(summary.hrv),
430
+ readinessScore: projectWearableResolvedMetric(summary.readinessScore),
431
+ recoveryScore: projectWearableResolvedMetric(summary.recoveryScore),
432
+ respiratoryRate: projectWearableResolvedMetric(summary.respiratoryRate),
433
+ restingHeartRate: projectWearableResolvedMetric(summary.restingHeartRate),
434
+ spo2: projectWearableResolvedMetric(summary.spo2),
435
+ stressLevel: projectWearableResolvedMetric(summary.stressLevel),
436
+ temperature: projectWearableResolvedMetric(summary.temperature),
437
+ temperatureDeviation: projectWearableResolvedMetric(summary.temperatureDeviation),
438
+ },
439
+ notes: summary.notes,
440
+ });
441
+ }
442
+ function projectBodyStateMetricDayRow(summary) {
443
+ return buildMetricDayRow({
444
+ attributes: {},
445
+ confidence: summary.summaryConfidence.level,
446
+ date: summary.date,
447
+ domain: "body_state",
448
+ metrics: {
449
+ bmi: projectWearableResolvedMetric(summary.bmi),
450
+ bodyFatPercentage: projectWearableResolvedMetric(summary.bodyFatPercentage),
451
+ temperature: projectWearableResolvedMetric(summary.temperature),
452
+ weightKg: projectWearableResolvedMetric(summary.weightKg),
453
+ },
454
+ notes: summary.notes,
455
+ });
456
+ }
457
+ function buildMetricDayRow(input) {
458
+ const metricIds = Object.keys(input.metrics).map((metric) => `${input.domain}:${input.date}:${metric}`);
459
+ return {
460
+ attributes: cloneRecord(input.attributes),
461
+ confidence: input.confidence,
462
+ date: input.date,
463
+ domain: input.domain,
464
+ id: `${input.domain}:${input.date}`,
465
+ metricIds,
466
+ metrics: cloneMetricMap(input.metrics),
467
+ notes: input.notes.slice(),
468
+ };
469
+ }
470
+ function dayToMetricRows(day) {
471
+ return Object.entries(day.metrics).map(([metric, resolved]) => ({
472
+ confidence: day.confidence,
473
+ date: day.date,
474
+ domain: day.domain,
475
+ id: `${day.id}:${metric}`,
476
+ metric,
477
+ recordIds: [],
478
+ sourceFamily: "derived",
479
+ sourceKind: "summary",
480
+ unit: resolved.selection.unit,
481
+ value: resolved.selection.value,
482
+ }));
483
+ }
484
+ function projectWearableResolvedMetric(metric) {
485
+ return {
486
+ selection: {
487
+ unit: metric.selection.unit,
488
+ value: metric.selection.value,
489
+ },
490
+ };
491
+ }
492
+ function projectSourceHealthRow(summary) {
493
+ return {
494
+ activityDays: summary.activityDays,
495
+ bodyStateDays: summary.bodyStateDays,
496
+ conflictCount: summary.conflictCount,
497
+ firstDate: null,
498
+ lastDate: summary.lastDate,
499
+ latestRecordedAt: summary.lastDate,
500
+ provider: summary.provider,
501
+ providerDisplayName: summary.providerDisplayName,
502
+ recoveryDays: summary.recoveryDays,
503
+ selectedMetrics: summary.selectedMetrics,
504
+ sleepNights: summary.sleepNights,
505
+ stalenessVsNewestDays: summary.stalenessVsNewestDays,
506
+ };
507
+ }
508
+ function dayToActivitySummary(day) {
509
+ return {
510
+ activityScore: metric(day, "activityScore"),
511
+ activeCalories: metric(day, "activeCalories"),
512
+ activityTypes: readStringArray(day.attributes.activityTypes),
513
+ date: day.date,
514
+ dayStrain: metric(day, "dayStrain"),
515
+ distanceKm: metric(day, "distanceKm"),
516
+ notes: day.notes.slice(),
517
+ sessionCount: metric(day, "sessionCount"),
518
+ sessionMinutes: metric(day, "sessionMinutes"),
519
+ steps: metric(day, "steps"),
520
+ summaryConfidence: { level: day.confidence },
521
+ };
522
+ }
523
+ function dayToSleepSummary(day) {
524
+ return {
525
+ averageHeartRate: metric(day, "averageHeartRate"),
526
+ awakeMinutes: metric(day, "awakeMinutes"),
527
+ date: day.date,
528
+ deepMinutes: metric(day, "deepMinutes"),
529
+ hrv: metric(day, "hrv"),
530
+ lightMinutes: metric(day, "lightMinutes"),
531
+ lowestHeartRate: metric(day, "lowestHeartRate"),
532
+ notes: day.notes.slice(),
533
+ remMinutes: metric(day, "remMinutes"),
534
+ respiratoryRate: metric(day, "respiratoryRate"),
535
+ sessionMinutes: metric(day, "sessionMinutes"),
536
+ sleepConsistency: metric(day, "sleepConsistency"),
537
+ sleepEfficiency: metric(day, "sleepEfficiency"),
538
+ sleepEndAt: readNullableString(day.attributes.sleepEndAt),
539
+ sleepPerformance: metric(day, "sleepPerformance"),
540
+ sleepScore: metric(day, "sleepScore"),
541
+ sleepStartAt: readNullableString(day.attributes.sleepStartAt),
542
+ sleepWindowProvider: readNullableString(day.attributes.sleepWindowProvider),
543
+ spo2: metric(day, "spo2"),
544
+ summaryConfidence: { level: day.confidence },
545
+ timeInBedMinutes: metric(day, "timeInBedMinutes"),
546
+ totalSleepMinutes: metric(day, "totalSleepMinutes"),
547
+ };
548
+ }
549
+ function dayToRecoverySummary(day) {
550
+ return {
551
+ bodyBattery: metric(day, "bodyBattery"),
552
+ date: day.date,
553
+ hrv: metric(day, "hrv"),
554
+ notes: day.notes.slice(),
555
+ readinessScore: metric(day, "readinessScore"),
556
+ recoveryScore: metric(day, "recoveryScore"),
557
+ respiratoryRate: metric(day, "respiratoryRate"),
558
+ restingHeartRate: metric(day, "restingHeartRate"),
559
+ spo2: metric(day, "spo2"),
560
+ stressLevel: metric(day, "stressLevel"),
561
+ summaryConfidence: { level: day.confidence },
562
+ temperature: metric(day, "temperature"),
563
+ temperatureDeviation: metric(day, "temperatureDeviation"),
564
+ };
565
+ }
566
+ function dayToBodyStateSummary(day) {
567
+ return {
568
+ bmi: metric(day, "bmi"),
569
+ bodyFatPercentage: metric(day, "bodyFatPercentage"),
570
+ date: day.date,
571
+ notes: day.notes.slice(),
572
+ summaryConfidence: { level: day.confidence },
573
+ temperature: metric(day, "temperature"),
574
+ weightKg: metric(day, "weightKg"),
575
+ };
576
+ }
577
+ function metric(day, key) {
578
+ return day.metrics[key] ?? { selection: { unit: null, value: null } };
579
+ }
580
+ function matchesEntityFilters(entity, filters) {
581
+ if (filters.ids && !filters.ids.some((id) => entity.lookupIds.includes(id) || entity.id === id)) {
582
+ return false;
583
+ }
584
+ if (filters.families && !filters.families.includes(entity.family)) {
585
+ return false;
586
+ }
587
+ if (filters.kinds && !filters.kinds.includes(entity.kind)) {
588
+ return false;
589
+ }
590
+ if (filters.statuses && (!entity.status || !filters.statuses.includes(entity.status))) {
591
+ return false;
592
+ }
593
+ if (filters.tags && !filters.tags.every((tag) => entity.tags.includes(tag))) {
594
+ return false;
595
+ }
596
+ if (filters.from && (entity.date ?? "") < filters.from) {
597
+ return false;
598
+ }
599
+ if (filters.to && (entity.date ?? "9999-12-31") > filters.to) {
600
+ return false;
601
+ }
602
+ if (filters.text) {
603
+ return normalizeSearch([entity.title, entity.bodyPreview, entity.tags.join(" ")].join(" "))
604
+ .includes(normalizeSearch(filters.text));
605
+ }
606
+ return true;
607
+ }
608
+ function matchesMetricFilters(row, filters) {
609
+ if (filters.domain && row.domain !== filters.domain) {
610
+ return false;
611
+ }
612
+ if (filters.metric && row.metric !== filters.metric) {
613
+ return false;
614
+ }
615
+ if (filters.from && row.date < filters.from) {
616
+ return false;
617
+ }
618
+ if (filters.to && row.date > filters.to) {
619
+ return false;
620
+ }
621
+ return true;
622
+ }
623
+ function matchesMetricDayFilters(row, filters) {
624
+ if (filters.domain && row.domain !== filters.domain) {
625
+ return false;
626
+ }
627
+ if (filters.metric && !Object.hasOwn(row.metrics, filters.metric)) {
628
+ return false;
629
+ }
630
+ if (filters.from && row.date < filters.from) {
631
+ return false;
632
+ }
633
+ if (filters.to && row.date > filters.to) {
634
+ return false;
635
+ }
636
+ return true;
637
+ }
638
+ function matchesTimelineFilters(row, filters) {
639
+ if (filters.families && !filters.families.includes(row.family)) {
640
+ return false;
641
+ }
642
+ if (filters.kinds && !filters.kinds.includes(row.kind)) {
643
+ return false;
644
+ }
645
+ if (filters.tags && !filters.tags.every((tag) => row.tags.includes(tag))) {
646
+ return false;
647
+ }
648
+ if (filters.from && row.date < filters.from) {
649
+ return false;
650
+ }
651
+ if (filters.to && row.date > filters.to) {
652
+ return false;
653
+ }
654
+ return true;
655
+ }
656
+ function parsePolicy(value, label) {
657
+ const record = requireRecord(value, label);
658
+ const id = requireString(record.id, `${label}.id`);
659
+ if (id !== BROWSER_VAULT_REPLICA_POLICY_ID) {
660
+ throw new TypeError(`${label}.id must be ${BROWSER_VAULT_REPLICA_POLICY_ID}.`);
661
+ }
662
+ return {
663
+ bodyPreviewChars: requireNonNegativeInteger(record.bodyPreviewChars, `${label}.bodyPreviewChars`),
664
+ excludedFamilies: requireStringArray(record.excludedFamilies, `${label}.excludedFamilies`),
665
+ id,
666
+ includedFamilies: requireStringArray(record.includedFamilies, `${label}.includedFamilies`),
667
+ metricLookbackDays: requireNonNegativeInteger(record.metricLookbackDays, `${label}.metricLookbackDays`),
668
+ };
669
+ }
670
+ function parseSource(value, label) {
671
+ const record = requireRecord(value, label);
672
+ return {
673
+ dataVersion: requireString(record.dataVersion, `${label}.dataVersion`),
674
+ sourceBundleHash: requireString(record.sourceBundleHash, `${label}.sourceBundleHash`),
675
+ };
676
+ }
677
+ function parseEntity(value, label) {
678
+ const record = requireRecord(value, label);
679
+ return {
680
+ attributes: requireRecord(record.attributes, `${label}.attributes`),
681
+ bodyPreview: readNullableString(record.bodyPreview),
682
+ date: readNullableString(record.date),
683
+ experimentSlug: readNullableString(record.experimentSlug),
684
+ family: requireString(record.family, `${label}.family`),
685
+ id: requireString(record.id, `${label}.id`),
686
+ kind: requireString(record.kind, `${label}.kind`),
687
+ links: requireArray(record.links, `${label}.links`).map((entry, index) => parseEntityLink(entry, `${label}.links[${index}]`)),
688
+ lookupIds: requireStringArray(record.lookupIds, `${label}.lookupIds`),
689
+ occurredAt: readNullableString(record.occurredAt),
690
+ recordClass: requireRecordClass(record.recordClass, `${label}.recordClass`),
691
+ status: readNullableString(record.status),
692
+ stream: readNullableString(record.stream),
693
+ tags: requireStringArray(record.tags, `${label}.tags`),
694
+ title: readNullableString(record.title),
695
+ };
696
+ }
697
+ function parseEntityLink(value, label) {
698
+ const record = requireRecord(value, label);
699
+ return {
700
+ targetId: requireString(record.targetId, `${label}.targetId`),
701
+ type: requireString(record.type, `${label}.type`),
702
+ };
703
+ }
704
+ function parseMetricRow(value, label) {
705
+ const record = requireRecord(value, label);
706
+ return {
707
+ confidence: requireConfidenceLevel(record.confidence, `${label}.confidence`),
708
+ date: requireString(record.date, `${label}.date`),
709
+ domain: requireMetricDomain(record.domain, `${label}.domain`),
710
+ id: requireString(record.id, `${label}.id`),
711
+ metric: requireString(record.metric, `${label}.metric`),
712
+ recordIds: requireStringArray(record.recordIds, `${label}.recordIds`),
713
+ sourceFamily: readNullableString(record.sourceFamily),
714
+ sourceKind: readNullableString(record.sourceKind),
715
+ unit: readNullableString(record.unit),
716
+ value: readNullableFiniteNumber(record.value),
717
+ };
718
+ }
719
+ function parseMetricDayRow(value, label) {
720
+ const record = requireRecord(value, label);
721
+ return {
722
+ attributes: requireRecord(record.attributes, `${label}.attributes`),
723
+ confidence: requireConfidenceLevel(record.confidence, `${label}.confidence`),
724
+ date: requireString(record.date, `${label}.date`),
725
+ domain: requireMetricDomain(record.domain, `${label}.domain`),
726
+ id: requireString(record.id, `${label}.id`),
727
+ metricIds: requireStringArray(record.metricIds, `${label}.metricIds`),
728
+ metrics: parseMetricMap(record.metrics, `${label}.metrics`),
729
+ notes: requireStringArray(record.notes, `${label}.notes`),
730
+ };
731
+ }
732
+ function parseTimelineRow(value, label) {
733
+ const record = requireRecord(value, label);
734
+ return {
735
+ date: requireString(record.date, `${label}.date`),
736
+ entityId: requireString(record.entityId, `${label}.entityId`),
737
+ entryType: requireTimelineEntryType(record.entryType, `${label}.entryType`),
738
+ family: requireString(record.family, `${label}.family`),
739
+ id: requireString(record.id, `${label}.id`),
740
+ kind: requireString(record.kind, `${label}.kind`),
741
+ occurredAt: requireString(record.occurredAt, `${label}.occurredAt`),
742
+ stream: readNullableString(record.stream),
743
+ tags: requireStringArray(record.tags, `${label}.tags`),
744
+ title: requireString(record.title, `${label}.title`),
745
+ };
746
+ }
747
+ function parseSearchRow(value, label) {
748
+ const record = requireRecord(value, label);
749
+ return {
750
+ date: readNullableString(record.date),
751
+ entityId: requireString(record.entityId, `${label}.entityId`),
752
+ family: requireString(record.family, `${label}.family`),
753
+ id: requireString(record.id, `${label}.id`),
754
+ kind: requireString(record.kind, `${label}.kind`),
755
+ occurredAt: readNullableString(record.occurredAt),
756
+ tags: requireStringArray(record.tags, `${label}.tags`),
757
+ text: requireString(record.text, `${label}.text`),
758
+ title: readNullableString(record.title),
759
+ };
760
+ }
761
+ function parseSourceHealthRow(value, label) {
762
+ const record = requireRecord(value, label);
763
+ return {
764
+ activityDays: requireNonNegativeInteger(record.activityDays, `${label}.activityDays`),
765
+ bodyStateDays: requireNonNegativeInteger(record.bodyStateDays, `${label}.bodyStateDays`),
766
+ conflictCount: requireNonNegativeInteger(record.conflictCount, `${label}.conflictCount`),
767
+ firstDate: readNullableString(record.firstDate),
768
+ lastDate: readNullableString(record.lastDate),
769
+ latestRecordedAt: readNullableString(record.latestRecordedAt),
770
+ provider: requireString(record.provider, `${label}.provider`),
771
+ providerDisplayName: requireString(record.providerDisplayName, `${label}.providerDisplayName`),
772
+ recoveryDays: requireNonNegativeInteger(record.recoveryDays, `${label}.recoveryDays`),
773
+ selectedMetrics: requireNonNegativeInteger(record.selectedMetrics, `${label}.selectedMetrics`),
774
+ sleepNights: requireNonNegativeInteger(record.sleepNights, `${label}.sleepNights`),
775
+ stalenessVsNewestDays: readNullableNonNegativeInteger(record.stalenessVsNewestDays, `${label}.stalenessVsNewestDays`),
776
+ };
777
+ }
778
+ function parseWeeklySampleSummary(value, label) {
779
+ const record = requireRecord(value, label);
780
+ return {
781
+ date: requireString(record.date, `${label}.date`),
782
+ numericSampleCount: requireNonNegativeInteger(record.numericSampleCount, `${label}.numericSampleCount`),
783
+ sampleCount: requireNonNegativeInteger(record.sampleCount, `${label}.sampleCount`),
784
+ stream: requireString(record.stream, `${label}.stream`),
785
+ sumValue: readNullableFiniteNumber(record.sumValue),
786
+ unit: readNullableString(record.unit),
787
+ };
788
+ }
789
+ function parseAssistantSummary(value, label) {
790
+ const record = requireRecord(value, label);
791
+ return {
792
+ highlights: requireStringArray(record.highlights, `${label}.highlights`),
793
+ latestDate: readNullableString(record.latestDate),
794
+ };
795
+ }
796
+ function parseMetricMap(value, label) {
797
+ const record = requireRecord(value, label);
798
+ const output = {};
799
+ for (const [key, metricValue] of Object.entries(record)) {
800
+ output[key] = parseResolvedMetric(metricValue, `${label}.${key}`);
801
+ }
802
+ return output;
803
+ }
804
+ function parseResolvedMetric(value, label) {
805
+ const record = requireRecord(value, label);
806
+ const selection = requireRecord(record.selection, `${label}.selection`);
807
+ return {
808
+ selection: {
809
+ unit: readNullableString(selection.unit),
810
+ value: readNullableFiniteNumber(selection.value),
811
+ },
812
+ };
813
+ }
814
+ function cloneMetricMap(metrics) {
815
+ const output = {};
816
+ for (const [key, value] of Object.entries(metrics)) {
817
+ output[key] = {
818
+ selection: {
819
+ unit: value.selection.unit,
820
+ value: value.selection.value,
821
+ },
822
+ };
823
+ }
824
+ return output;
825
+ }
826
+ function requireRecord(value, label) {
827
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
828
+ throw new TypeError(`${label} must be an object.`);
829
+ }
830
+ return value;
831
+ }
832
+ function requireArray(value, label) {
833
+ if (!Array.isArray(value)) {
834
+ throw new TypeError(`${label} must be an array.`);
835
+ }
836
+ return value.slice();
837
+ }
838
+ function requireString(value, label) {
839
+ if (typeof value !== "string" || value.length === 0) {
840
+ throw new TypeError(`${label} must be a non-empty string.`);
841
+ }
842
+ return value;
843
+ }
844
+ function requireStringArray(value, label) {
845
+ return requireArray(value, label).map((entry, index) => requireString(entry, `${label}[${index}]`));
846
+ }
847
+ function requireFiniteNumber(value, label) {
848
+ if (typeof value !== "number" || !Number.isFinite(value)) {
849
+ throw new TypeError(`${label} must be a finite number.`);
850
+ }
851
+ return value;
852
+ }
853
+ function readNullableFiniteNumber(value) {
854
+ if (value === null || value === undefined) {
855
+ return null;
856
+ }
857
+ return requireFiniteNumber(value, "nullable number");
858
+ }
859
+ function requireNonNegativeInteger(value, label) {
860
+ const parsed = requireFiniteNumber(value, label);
861
+ if (!Number.isInteger(parsed) || parsed < 0) {
862
+ throw new TypeError(`${label} must be a non-negative integer.`);
863
+ }
864
+ return parsed;
865
+ }
866
+ function readNullableNonNegativeInteger(value, label) {
867
+ if (value === null || value === undefined) {
868
+ return null;
869
+ }
870
+ return requireNonNegativeInteger(value, label);
871
+ }
872
+ function readNullableString(value) {
873
+ if (value === null || value === undefined) {
874
+ return null;
875
+ }
876
+ if (typeof value !== "string") {
877
+ throw new TypeError("Expected nullable string.");
878
+ }
879
+ return value;
880
+ }
881
+ function requireIsoDateTime(value, label) {
882
+ const text = requireString(value, label);
883
+ const parsed = Date.parse(text);
884
+ if (Number.isNaN(parsed)) {
885
+ throw new TypeError(`${label} must be an ISO timestamp.`);
886
+ }
887
+ return text;
888
+ }
889
+ function requireRecordClass(value, label) {
890
+ const text = requireString(value, label);
891
+ if (text === "bank" || text === "ledger" || text === "sample" || text === "snapshot") {
892
+ return text;
893
+ }
894
+ throw new TypeError(`${label} must be a canonical record class.`);
895
+ }
896
+ function requireMetricDomain(value, label) {
897
+ const text = requireString(value, label);
898
+ if (text === "activity" || text === "body_state" || text === "recovery" || text === "sleep") {
899
+ return text;
900
+ }
901
+ throw new TypeError(`${label} must be a browser vault metric domain.`);
902
+ }
903
+ function requireConfidenceLevel(value, label) {
904
+ const text = requireString(value, label);
905
+ if (text === "none" || text === "low" || text === "medium" || text === "high") {
906
+ return text;
907
+ }
908
+ throw new TypeError(`${label} must be a wearable confidence level.`);
909
+ }
910
+ function requireTimelineEntryType(value, label) {
911
+ const text = requireString(value, label);
912
+ if (text === "assessment" || text === "event" || text === "journal" || text === "sample_summary") {
913
+ return text;
914
+ }
915
+ throw new TypeError(`${label} must be a timeline entry type.`);
916
+ }
917
+ function previewText(value, limit) {
918
+ if (!value) {
919
+ return null;
920
+ }
921
+ const normalized = value.replace(/\s+/gu, " ").trim();
922
+ if (normalized.length <= limit) {
923
+ return normalized;
924
+ }
925
+ return `${normalized.slice(0, Math.max(0, limit - 1)).trim()}…`;
926
+ }
927
+ function uniqueStrings(values) {
928
+ return [...new Set(values.filter((value) => typeof value === "string" && value.length > 0))];
929
+ }
930
+ function readStringArray(value) {
931
+ return Array.isArray(value)
932
+ ? value.filter((entry) => typeof entry === "string")
933
+ : [];
934
+ }
935
+ function cloneRecord(value) {
936
+ const output = {};
937
+ for (const [key, entry] of Object.entries(value)) {
938
+ if (isBrowserSafeJson(entry)) {
939
+ output[key] = cloneJson(entry);
940
+ }
941
+ }
942
+ return output;
943
+ }
944
+ function cloneJson(value) {
945
+ return JSON.parse(JSON.stringify(value));
946
+ }
947
+ function isBrowserSafeJson(value) {
948
+ if (value === null) {
949
+ return true;
950
+ }
951
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
952
+ return true;
953
+ }
954
+ if (Array.isArray(value)) {
955
+ return value.every(isBrowserSafeJson);
956
+ }
957
+ if (typeof value === "object") {
958
+ return Object.values(value).every(isBrowserSafeJson);
959
+ }
960
+ return false;
961
+ }
962
+ function normalizeSearch(value) {
963
+ return value.trim().toLowerCase();
964
+ }
965
+ function subtractDaysFromIsoDate(value, days) {
966
+ const parsed = new Date(`${value}T00:00:00.000Z`);
967
+ if (Number.isNaN(parsed.valueOf())) {
968
+ throw new TypeError("Browser vault replica generatedAt date must be a valid ISO date.");
969
+ }
970
+ parsed.setUTCDate(parsed.getUTCDate() - days);
971
+ return parsed.toISOString().slice(0, 10);
972
+ }
973
+ function stableStringify(value) {
974
+ if (value === null || typeof value !== "object") {
975
+ return JSON.stringify(value);
976
+ }
977
+ if (Array.isArray(value)) {
978
+ return `[${value.map(stableStringify).join(",")}]`;
979
+ }
980
+ return `{${Object.entries(value)
981
+ .sort(([left], [right]) => left.localeCompare(right))
982
+ .map(([key, entry]) => `${JSON.stringify(key)}:${stableStringify(entry)}`)
983
+ .join(",")}}`;
984
+ }
985
+ export { buildOverviewWeeklyStatsFromDailySampleSummaries, isActiveOverviewExperimentStatus, };
986
+ //# sourceMappingURL=browser-replica.js.map