@murphai/murph 1.3.1 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (779) hide show
  1. package/CHANGELOG.md +808 -0
  2. package/config.schema.json +91 -40
  3. package/dist/bin.js +6 -4
  4. package/dist/bin.js.map +1 -1
  5. package/dist/cli-entry.d.ts +8 -1
  6. package/dist/cli-entry.d.ts.map +1 -1
  7. package/dist/cli-entry.js +79 -3
  8. package/dist/cli-entry.js.map +1 -1
  9. package/dist/commands/audit-command-helpers.d.ts.map +1 -1
  10. package/dist/commands/audit-command-helpers.js +7 -5
  11. package/dist/commands/audit-command-helpers.js.map +1 -1
  12. package/dist/commands/batch.d.ts +5 -5
  13. package/dist/commands/batch.d.ts.map +1 -1
  14. package/dist/commands/batch.js +2 -21
  15. package/dist/commands/batch.js.map +1 -1
  16. package/dist/commands/commons.d.ts.map +1 -1
  17. package/dist/commands/commons.js +2 -4
  18. package/dist/commands/commons.js.map +1 -1
  19. package/dist/commands/exercise.d.ts.map +1 -1
  20. package/dist/commands/exercise.js +16 -3
  21. package/dist/commands/exercise.js.map +1 -1
  22. package/dist/commands/experiment-progress-card-image.d.ts.map +1 -1
  23. package/dist/commands/experiment-progress-card-image.js +63 -12
  24. package/dist/commands/experiment-progress-card-image.js.map +1 -1
  25. package/dist/commands/experiment.d.ts.map +1 -1
  26. package/dist/commands/experiment.js +45 -5
  27. package/dist/commands/experiment.js.map +1 -1
  28. package/dist/commands/export-intake-read-helpers.d.ts.map +1 -1
  29. package/dist/commands/export-intake-read-helpers.js +2 -3
  30. package/dist/commands/export-intake-read-helpers.js.map +1 -1
  31. package/dist/commands/food.d.ts.map +1 -1
  32. package/dist/commands/food.js +1 -7
  33. package/dist/commands/food.js.map +1 -1
  34. package/dist/commands/habitat.d.ts.map +1 -1
  35. package/dist/commands/habitat.js +120 -9
  36. package/dist/commands/habitat.js.map +1 -1
  37. package/dist/commands/health-blood-test-save.d.ts.map +1 -1
  38. package/dist/commands/health-blood-test-save.js +42 -8
  39. package/dist/commands/health-blood-test-save.js.map +1 -1
  40. package/dist/commands/meal.d.ts.map +1 -1
  41. package/dist/commands/meal.js +4 -1
  42. package/dist/commands/meal.js.map +1 -1
  43. package/dist/commands/measurement.d.ts.map +1 -1
  44. package/dist/commands/measurement.js +3 -0
  45. package/dist/commands/measurement.js.map +1 -1
  46. package/dist/commands/murph-age.d.ts +9 -1
  47. package/dist/commands/murph-age.d.ts.map +1 -1
  48. package/dist/commands/murph-age.js +132 -7
  49. package/dist/commands/murph-age.js.map +1 -1
  50. package/dist/commands/public-validation-issue.d.ts +7 -0
  51. package/dist/commands/public-validation-issue.d.ts.map +1 -0
  52. package/dist/commands/public-validation-issue.js +7 -0
  53. package/dist/commands/public-validation-issue.js.map +1 -0
  54. package/dist/commands/scheduled-log.d.ts +12 -0
  55. package/dist/commands/scheduled-log.d.ts.map +1 -1
  56. package/dist/commands/scheduled-log.js +456 -106
  57. package/dist/commands/scheduled-log.js.map +1 -1
  58. package/dist/commands/wearables.d.ts +286 -0
  59. package/dist/commands/wearables.d.ts.map +1 -1
  60. package/dist/commands/wearables.js +33 -1
  61. package/dist/commands/wearables.js.map +1 -1
  62. package/dist/commands/workout-live.d.ts.map +1 -1
  63. package/dist/commands/workout-live.js +123 -42
  64. package/dist/commands/workout-live.js.map +1 -1
  65. package/dist/commands/workout-typed-options.d.ts +38 -0
  66. package/dist/commands/workout-typed-options.d.ts.map +1 -0
  67. package/dist/commands/workout-typed-options.js +90 -0
  68. package/dist/commands/workout-typed-options.js.map +1 -0
  69. package/dist/commands/workout.d.ts.map +1 -1
  70. package/dist/commands/workout.js +80 -73
  71. package/dist/commands/workout.js.map +1 -1
  72. package/dist/hosted-data-api-labels.d.ts.map +1 -1
  73. package/dist/hosted-data-api-labels.js +161 -30
  74. package/dist/hosted-data-api-labels.js.map +1 -1
  75. package/dist/incur-error-bridge.d.ts.map +1 -1
  76. package/dist/incur-error-bridge.js +7 -15
  77. package/dist/incur-error-bridge.js.map +1 -1
  78. package/dist/incur.generated.d.ts +22 -13
  79. package/dist/incur.generated.d.ts.map +1 -1
  80. package/dist/mapbox-address.d.ts.map +1 -1
  81. package/dist/mapbox-address.js +3 -4
  82. package/dist/mapbox-address.js.map +1 -1
  83. package/dist/mapbox-route-client.d.ts +2 -2
  84. package/dist/mapbox-route-client.d.ts.map +1 -1
  85. package/dist/mapbox-route-client.js +49 -12
  86. package/dist/mapbox-route-client.js.map +1 -1
  87. package/dist/mapbox-route-directions.d.ts.map +1 -1
  88. package/dist/mapbox-route-directions.js +0 -1
  89. package/dist/mapbox-route-directions.js.map +1 -1
  90. package/dist/mapbox-route-elevation.js +0 -1
  91. package/dist/mapbox-route-elevation.js.map +1 -1
  92. package/dist/mapbox-route-points.js +0 -2
  93. package/dist/mapbox-route-points.js.map +1 -1
  94. package/dist/mapbox-route.d.ts.map +1 -1
  95. package/dist/mapbox-route.js +1 -1
  96. package/dist/mapbox-route.js.map +1 -1
  97. package/dist/vault-cli-command-manifest.d.ts +304 -6
  98. package/dist/vault-cli-command-manifest.d.ts.map +1 -1
  99. package/dist/vault-cli-skill-hash.generated.d.ts +1 -1
  100. package/dist/vault-cli-skill-hash.generated.js +1 -1
  101. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.d.ts.map +1 -1
  102. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js +6 -2
  103. package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js.map +1 -1
  104. package/node_modules/@murphai/assistant-engine/README.md +4 -3
  105. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.d.ts +15 -1
  106. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.d.ts.map +1 -1
  107. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.js +121 -24
  108. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.js.map +1 -1
  109. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-journal.js +2 -2
  110. package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-journal.js.map +1 -1
  111. package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.d.ts.map +1 -1
  112. package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.js +1 -0
  113. package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.js.map +1 -1
  114. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.d.ts.map +1 -1
  115. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js +55 -7
  116. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js.map +1 -1
  117. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.d.ts.map +1 -1
  118. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js +9 -1
  119. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js.map +1 -1
  120. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts +1 -0
  121. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts.map +1 -1
  122. package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.js.map +1 -1
  123. package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-contract.generated.json +1 -1
  124. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.d.ts +1 -1
  125. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.d.ts.map +1 -1
  126. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.js +7 -7
  127. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.js.map +1 -1
  128. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.d.ts +1 -1
  129. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.d.ts.map +1 -1
  130. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.js +123 -22
  131. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.js.map +1 -1
  132. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.d.ts.map +1 -1
  133. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.js +48 -19
  134. package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.js.map +1 -1
  135. package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.js +3 -7
  136. package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.js.map +1 -1
  137. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.d.ts +5 -0
  138. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.d.ts.map +1 -1
  139. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.js +24 -10
  140. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.js.map +1 -1
  141. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.d.ts +2 -0
  142. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.d.ts.map +1 -1
  143. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.js +12 -0
  144. package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.js.map +1 -1
  145. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts +5 -0
  146. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts.map +1 -1
  147. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js +9 -10
  148. package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js.map +1 -1
  149. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts +41 -9
  150. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts.map +1 -1
  151. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js +9 -0
  152. package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js.map +1 -1
  153. package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.d.ts.map +1 -1
  154. package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.js +2 -0
  155. package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.js.map +1 -1
  156. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.d.ts +3 -0
  157. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.d.ts.map +1 -1
  158. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.js +8 -0
  159. package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.js.map +1 -1
  160. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.d.ts +3 -0
  161. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.d.ts.map +1 -1
  162. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.js +26 -1
  163. package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.js.map +1 -1
  164. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.d.ts.map +1 -1
  165. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js +687 -370
  166. package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js.map +1 -1
  167. package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.d.ts.map +1 -1
  168. package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.js +54 -18
  169. package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.js.map +1 -1
  170. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.d.ts +2 -3
  171. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.d.ts.map +1 -1
  172. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.js +10 -9
  173. package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.js.map +1 -1
  174. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts +1 -1
  175. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts.map +1 -1
  176. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js +146 -18
  177. package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js.map +1 -1
  178. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-seed.d.ts +25 -0
  179. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-seed.d.ts.map +1 -0
  180. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-seed.js +72 -0
  181. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-seed.js.map +1 -0
  182. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.d.ts +4 -0
  183. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.d.ts.map +1 -1
  184. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.js +14 -0
  185. package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.js.map +1 -1
  186. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.d.ts +1 -1
  187. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.d.ts.map +1 -1
  188. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js +8 -5
  189. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js.map +1 -1
  190. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts +4 -0
  191. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts.map +1 -1
  192. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js +8 -0
  193. package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js.map +1 -1
  194. package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.js +1 -0
  195. package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.js.map +1 -1
  196. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.d.ts.map +1 -1
  197. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js +25 -2
  198. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js.map +1 -1
  199. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.d.ts +11 -3
  200. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.d.ts.map +1 -1
  201. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.js +67 -176
  202. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.js.map +1 -1
  203. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts +17 -0
  204. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts.map +1 -1
  205. package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.js.map +1 -1
  206. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-delivery-context.d.ts +1 -1
  207. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-delivery-context.d.ts.map +1 -1
  208. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-delivery-context.js +10 -0
  209. package/node_modules/@murphai/assistant-engine/dist/assistant/reply-delivery-context.js.map +1 -1
  210. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.d.ts +19 -4
  211. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.d.ts.map +1 -1
  212. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.js +76 -40
  213. package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.js.map +1 -1
  214. package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts +3 -1
  215. package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts.map +1 -1
  216. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.d.ts +4 -2
  217. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.d.ts.map +1 -1
  218. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js +8 -7
  219. package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js.map +1 -1
  220. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.d.ts +1 -1
  221. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.d.ts.map +1 -1
  222. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js +1 -1
  223. package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js.map +1 -1
  224. package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts +1 -0
  225. package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts.map +1 -1
  226. package/node_modules/@murphai/assistant-engine/dist/assistant/store.d.ts.map +1 -1
  227. package/node_modules/@murphai/assistant-engine/dist/assistant/store.js +6 -0
  228. package/node_modules/@murphai/assistant-engine/dist/assistant/store.js.map +1 -1
  229. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts +3 -0
  230. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts.map +1 -1
  231. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js +57 -29
  232. package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js.map +1 -1
  233. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.d.ts +1 -0
  234. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.d.ts.map +1 -1
  235. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.js +17 -3
  236. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.js.map +1 -1
  237. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.d.ts +4 -7
  238. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.d.ts.map +1 -1
  239. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.js +21 -6
  240. package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.js.map +1 -1
  241. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.d.ts +1 -0
  242. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.d.ts.map +1 -1
  243. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js +6 -0
  244. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js.map +1 -1
  245. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.d.ts +1 -1
  246. package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.d.ts.map +1 -1
  247. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.d.ts +1 -1
  248. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.d.ts.map +1 -1
  249. package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.js.map +1 -1
  250. package/node_modules/@murphai/assistant-engine/dist/assistant-ask.js +8 -0
  251. package/node_modules/@murphai/assistant-engine/dist/assistant-ask.js.map +1 -1
  252. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.d.ts.map +1 -1
  253. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.js +1 -0
  254. package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.js.map +1 -1
  255. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/analyze-video-tool.d.ts +49 -0
  256. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/analyze-video-tool.d.ts.map +1 -0
  257. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/analyze-video-tool.js +387 -0
  258. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/analyze-video-tool.js.map +1 -0
  259. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.d.ts +1 -1
  260. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.d.ts.map +1 -1
  261. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.js +12 -13
  262. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.js.map +1 -1
  263. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.d.ts +1 -0
  264. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.d.ts.map +1 -1
  265. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.js +16 -5
  266. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.js.map +1 -1
  267. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.d.ts +1 -1
  268. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.d.ts.map +1 -1
  269. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.js +2 -1
  270. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.js.map +1 -1
  271. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.d.ts +4 -0
  272. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.d.ts.map +1 -1
  273. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.js +26 -13
  274. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.js.map +1 -1
  275. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.d.ts +1024 -1091
  276. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.d.ts.map +1 -1
  277. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.js +354 -330
  278. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.js.map +1 -1
  279. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/analyze-video.d.ts +50 -0
  280. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/analyze-video.d.ts.map +1 -0
  281. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/analyze-video.js +79 -0
  282. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/analyze-video.js.map +1 -0
  283. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation-model-input-schema.d.ts +4 -0
  284. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation-model-input-schema.d.ts.map +1 -0
  285. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation-model-input-schema.js +153 -0
  286. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation-model-input-schema.js.map +1 -0
  287. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.d.ts +4 -1
  288. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.d.ts.map +1 -1
  289. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.js +29 -35
  290. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.js.map +1 -1
  291. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.d.ts +4 -1
  292. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.d.ts.map +1 -1
  293. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.js +43 -9
  294. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.js.map +1 -1
  295. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.d.ts +6 -0
  296. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.d.ts.map +1 -1
  297. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.js.map +1 -1
  298. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/member-memory.d.ts +60 -0
  299. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/member-memory.d.ts.map +1 -0
  300. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/member-memory.js +91 -0
  301. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/member-memory.js.map +1 -0
  302. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.d.ts +41 -1
  303. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.d.ts.map +1 -1
  304. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.js +85 -9
  305. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.js.map +1 -1
  306. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.d.ts +25 -2
  307. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.d.ts.map +1 -1
  308. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.js +280 -89
  309. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.js.map +1 -1
  310. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/failures.js +1 -1
  311. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.d.ts.map +1 -1
  312. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.js +1 -3
  313. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.js.map +1 -1
  314. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/workout-delivery-context.d.ts +19 -0
  315. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/workout-delivery-context.d.ts.map +1 -0
  316. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/workout-delivery-context.js +203 -0
  317. package/node_modules/@murphai/assistant-engine/dist/assistant-codex/workout-delivery-context.js.map +1 -0
  318. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.d.ts +9 -1
  319. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.d.ts.map +1 -1
  320. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js +220 -130
  321. package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js.map +1 -1
  322. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.d.ts +1 -1
  323. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.d.ts.map +1 -1
  324. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.js +1 -1
  325. package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.js.map +1 -1
  326. package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.d.ts +1 -1
  327. package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.d.ts.map +1 -1
  328. package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.js +1 -1
  329. package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.js.map +1 -1
  330. package/node_modules/@murphai/assistant-engine/dist/index.d.ts +2 -1
  331. package/node_modules/@murphai/assistant-engine/dist/index.d.ts.map +1 -1
  332. package/node_modules/@murphai/assistant-engine/dist/index.js +1 -0
  333. package/node_modules/@murphai/assistant-engine/dist/index.js.map +1 -1
  334. package/node_modules/@murphai/assistant-engine/skills/automatic-meal-capture/SKILL.md +111 -68
  335. package/node_modules/@murphai/assistant-engine/skills/behavior-followthrough/SKILL.md +0 -2
  336. package/node_modules/@murphai/assistant-engine/skills/daily-activity/SKILL.md +11 -4
  337. package/node_modules/@murphai/assistant-engine/skills/food-journal/SKILL.md +83 -22
  338. package/node_modules/@murphai/assistant-engine/skills/hosted-low-usage/SKILL.md +3 -3
  339. package/node_modules/@murphai/assistant-engine/skills/murph-family/SKILL.md +1 -1
  340. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/SKILL.md +17 -11
  341. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/daily-nutrition-card-goals.md +62 -34
  342. package/node_modules/@murphai/assistant-engine/skills/physical-notes/SKILL.md +47 -0
  343. package/node_modules/@murphai/assistant-engine/skills/shared/exercise-catalog-runtime.md +6 -0
  344. package/node_modules/@murphai/assistant-engine/skills/signup-link/SKILL.md +1 -1
  345. package/node_modules/@murphai/assistant-engine/skills/strength-training/SKILL.md +12 -5
  346. package/node_modules/@murphai/assistant-engine/skills/tracked-table/SKILL.md +156 -66
  347. package/node_modules/@murphai/core/dist/automation.d.ts.map +1 -1
  348. package/node_modules/@murphai/core/dist/automation.js +17 -9
  349. package/node_modules/@murphai/core/dist/automation.js.map +1 -1
  350. package/node_modules/@murphai/core/dist/bank/habitat.d.ts +2 -0
  351. package/node_modules/@murphai/core/dist/bank/habitat.d.ts.map +1 -1
  352. package/node_modules/@murphai/core/dist/bank/habitat.js +27 -0
  353. package/node_modules/@murphai/core/dist/bank/habitat.js.map +1 -1
  354. package/node_modules/@murphai/core/dist/bank/regimens.js +1 -1
  355. package/node_modules/@murphai/core/dist/bank/regimens.js.map +1 -1
  356. package/node_modules/@murphai/core/dist/domains/events/ledger.d.ts +21 -0
  357. package/node_modules/@murphai/core/dist/domains/events/ledger.d.ts.map +1 -1
  358. package/node_modules/@murphai/core/dist/domains/events/ledger.js +102 -8
  359. package/node_modules/@murphai/core/dist/domains/events/ledger.js.map +1 -1
  360. package/node_modules/@murphai/core/dist/domains/events.d.ts +2 -2
  361. package/node_modules/@murphai/core/dist/domains/events.d.ts.map +1 -1
  362. package/node_modules/@murphai/core/dist/domains/events.js +1 -1
  363. package/node_modules/@murphai/core/dist/domains/events.js.map +1 -1
  364. package/node_modules/@murphai/core/dist/history/api.d.ts.map +1 -1
  365. package/node_modules/@murphai/core/dist/history/api.js +18 -3
  366. package/node_modules/@murphai/core/dist/history/api.js.map +1 -1
  367. package/node_modules/@murphai/core/dist/index.d.ts +4 -2
  368. package/node_modules/@murphai/core/dist/index.d.ts.map +1 -1
  369. package/node_modules/@murphai/core/dist/index.js +3 -1
  370. package/node_modules/@murphai/core/dist/index.js.map +1 -1
  371. package/node_modules/@murphai/core/dist/mutations.d.ts +25 -2
  372. package/node_modules/@murphai/core/dist/mutations.d.ts.map +1 -1
  373. package/node_modules/@murphai/core/dist/mutations.js +1588 -78
  374. package/node_modules/@murphai/core/dist/mutations.js.map +1 -1
  375. package/node_modules/@murphai/core/dist/operations/index.d.ts +1 -1
  376. package/node_modules/@murphai/core/dist/operations/index.d.ts.map +1 -1
  377. package/node_modules/@murphai/core/dist/operations/index.js +1 -1
  378. package/node_modules/@murphai/core/dist/operations/index.js.map +1 -1
  379. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts +2 -0
  380. package/node_modules/@murphai/core/dist/operations/write-batch.d.ts.map +1 -1
  381. package/node_modules/@murphai/core/dist/operations/write-batch.js +7 -0
  382. package/node_modules/@murphai/core/dist/operations/write-batch.js.map +1 -1
  383. package/node_modules/@murphai/core/dist/protocols.d.ts.map +1 -1
  384. package/node_modules/@murphai/core/dist/protocols.js +52 -9
  385. package/node_modules/@murphai/core/dist/protocols.js.map +1 -1
  386. package/node_modules/@murphai/core/dist/public-mutations.d.ts +1 -1
  387. package/node_modules/@murphai/core/dist/public-mutations.d.ts.map +1 -1
  388. package/node_modules/@murphai/core/dist/public-mutations.js +2 -2
  389. package/node_modules/@murphai/core/dist/public-mutations.js.map +1 -1
  390. package/node_modules/@murphai/core/dist/scheduled-logs.d.ts +3 -0
  391. package/node_modules/@murphai/core/dist/scheduled-logs.d.ts.map +1 -1
  392. package/node_modules/@murphai/core/dist/scheduled-logs.js +65 -29
  393. package/node_modules/@murphai/core/dist/scheduled-logs.js.map +1 -1
  394. package/node_modules/@murphai/device-syncd/README.md +140 -46
  395. package/node_modules/@murphai/device-syncd/dist/client.d.ts +14 -0
  396. package/node_modules/@murphai/device-syncd/dist/client.d.ts.map +1 -1
  397. package/node_modules/@murphai/device-syncd/dist/client.js.map +1 -1
  398. package/node_modules/@murphai/device-syncd/dist/config/connect-routes.d.ts +4 -1
  399. package/node_modules/@murphai/device-syncd/dist/config/connect-routes.d.ts.map +1 -1
  400. package/node_modules/@murphai/device-syncd/dist/config/connect-routes.js +24 -2
  401. package/node_modules/@murphai/device-syncd/dist/config/connect-routes.js.map +1 -1
  402. package/node_modules/@murphai/device-syncd/dist/config/junction-connect-sources.js +2 -2
  403. package/node_modules/@murphai/device-syncd/dist/config/junction-connect-sources.js.map +1 -1
  404. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.d.ts +53 -0
  405. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.d.ts.map +1 -1
  406. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.js +13 -0
  407. package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.js.map +1 -1
  408. package/node_modules/@murphai/device-syncd/dist/connect-config.d.ts +1 -1
  409. package/node_modules/@murphai/device-syncd/dist/connect-config.d.ts.map +1 -1
  410. package/node_modules/@murphai/device-syncd/dist/connect-config.js +1 -1
  411. package/node_modules/@murphai/device-syncd/dist/connect-config.js.map +1 -1
  412. package/node_modules/@murphai/device-syncd/dist/fitbit-migration.d.ts +57 -0
  413. package/node_modules/@murphai/device-syncd/dist/fitbit-migration.d.ts.map +1 -0
  414. package/node_modules/@murphai/device-syncd/dist/fitbit-migration.js +166 -0
  415. package/node_modules/@murphai/device-syncd/dist/fitbit-migration.js.map +1 -0
  416. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts +43 -0
  417. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts.map +1 -1
  418. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js +129 -5
  419. package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -1
  420. package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.d.ts +3 -0
  421. package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.d.ts.map +1 -1
  422. package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.js +36 -16
  423. package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.js.map +1 -1
  424. package/node_modules/@murphai/device-syncd/dist/junction-inline-authority.d.ts +17 -2
  425. package/node_modules/@murphai/device-syncd/dist/junction-inline-authority.d.ts.map +1 -1
  426. package/node_modules/@murphai/device-syncd/dist/junction-inline-authority.js +99 -40
  427. package/node_modules/@murphai/device-syncd/dist/junction-inline-authority.js.map +1 -1
  428. package/node_modules/@murphai/device-syncd/dist/junction-source-reconnect.d.ts +17 -0
  429. package/node_modules/@murphai/device-syncd/dist/junction-source-reconnect.d.ts.map +1 -0
  430. package/node_modules/@murphai/device-syncd/dist/junction-source-reconnect.js +45 -0
  431. package/node_modules/@murphai/device-syncd/dist/junction-source-reconnect.js.map +1 -0
  432. package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.d.ts +8 -1
  433. package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.d.ts.map +1 -1
  434. package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.js +12 -1
  435. package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.js.map +1 -1
  436. package/node_modules/@murphai/device-syncd/dist/providers/junction-client.d.ts +7 -0
  437. package/node_modules/@murphai/device-syncd/dist/providers/junction-client.d.ts.map +1 -1
  438. package/node_modules/@murphai/device-syncd/dist/providers/junction-client.js +285 -46
  439. package/node_modules/@murphai/device-syncd/dist/providers/junction-client.js.map +1 -1
  440. package/node_modules/@murphai/device-syncd/dist/providers/junction.d.ts +9 -0
  441. package/node_modules/@murphai/device-syncd/dist/providers/junction.d.ts.map +1 -1
  442. package/node_modules/@murphai/device-syncd/dist/providers/junction.js +2045 -367
  443. package/node_modules/@murphai/device-syncd/dist/providers/junction.js.map +1 -1
  444. package/node_modules/@murphai/device-syncd/dist/public-account.d.ts +2 -0
  445. package/node_modules/@murphai/device-syncd/dist/public-account.d.ts.map +1 -1
  446. package/node_modules/@murphai/device-syncd/dist/public-account.js +96 -0
  447. package/node_modules/@murphai/device-syncd/dist/public-account.js.map +1 -1
  448. package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts.map +1 -1
  449. package/node_modules/@murphai/device-syncd/dist/public-ingress.js +6 -4
  450. package/node_modules/@murphai/device-syncd/dist/public-ingress.js.map +1 -1
  451. package/node_modules/@murphai/device-syncd/dist/service.d.ts +6 -2
  452. package/node_modules/@murphai/device-syncd/dist/service.d.ts.map +1 -1
  453. package/node_modules/@murphai/device-syncd/dist/service.js +385 -44
  454. package/node_modules/@murphai/device-syncd/dist/service.js.map +1 -1
  455. package/node_modules/@murphai/device-syncd/dist/source-staleness.d.ts +15 -0
  456. package/node_modules/@murphai/device-syncd/dist/source-staleness.d.ts.map +1 -1
  457. package/node_modules/@murphai/device-syncd/dist/source-staleness.js +25 -1
  458. package/node_modules/@murphai/device-syncd/dist/source-staleness.js.map +1 -1
  459. package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts +10 -1
  460. package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts.map +1 -1
  461. package/node_modules/@murphai/device-syncd/dist/store/jobs.js +95 -1
  462. package/node_modules/@murphai/device-syncd/dist/store/jobs.js.map +1 -1
  463. package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts +1 -1
  464. package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts.map +1 -1
  465. package/node_modules/@murphai/device-syncd/dist/store/schema.js +25 -3
  466. package/node_modules/@murphai/device-syncd/dist/store/schema.js.map +1 -1
  467. package/node_modules/@murphai/device-syncd/dist/store/sources.d.ts +24 -2
  468. package/node_modules/@murphai/device-syncd/dist/store/sources.d.ts.map +1 -1
  469. package/node_modules/@murphai/device-syncd/dist/store/sources.js +223 -14
  470. package/node_modules/@murphai/device-syncd/dist/store/sources.js.map +1 -1
  471. package/node_modules/@murphai/device-syncd/dist/store.d.ts +13 -3
  472. package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -1
  473. package/node_modules/@murphai/device-syncd/dist/store.js +104 -22
  474. package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -1
  475. package/node_modules/@murphai/device-syncd/dist/types.d.ts +96 -9
  476. package/node_modules/@murphai/device-syncd/dist/types.d.ts.map +1 -1
  477. package/node_modules/@murphai/device-syncd/dist/types.js +4 -0
  478. package/node_modules/@murphai/device-syncd/dist/types.js.map +1 -1
  479. package/node_modules/@murphai/device-syncd/package.json +8 -0
  480. package/node_modules/@murphai/health-metrics/dist/definitions/activity.d.ts.map +1 -1
  481. package/node_modules/@murphai/health-metrics/dist/definitions/activity.js +66 -0
  482. package/node_modules/@murphai/health-metrics/dist/definitions/activity.js.map +1 -1
  483. package/node_modules/@murphai/health-metrics/dist/definitions/body.js +2 -2
  484. package/node_modules/@murphai/health-metrics/dist/definitions/body.js.map +1 -1
  485. package/node_modules/@murphai/health-metrics/dist/normalize.d.ts.map +1 -1
  486. package/node_modules/@murphai/health-metrics/dist/normalize.js +3 -0
  487. package/node_modules/@murphai/health-metrics/dist/normalize.js.map +1 -1
  488. package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.d.ts +3 -1
  489. package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.d.ts.map +1 -1
  490. package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.js +5 -1
  491. package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.js.map +1 -1
  492. package/node_modules/@murphai/health-metrics/dist/wearable-provider-catalog.d.ts +79 -0
  493. package/node_modules/@murphai/health-metrics/dist/wearable-provider-catalog.d.ts.map +1 -1
  494. package/node_modules/@murphai/health-metrics/dist/wearable-provider-catalog.js +19 -0
  495. package/node_modules/@murphai/health-metrics/dist/wearable-provider-catalog.js.map +1 -1
  496. package/node_modules/@murphai/importers/dist/core-port.d.ts +15 -1
  497. package/node_modules/@murphai/importers/dist/core-port.d.ts.map +1 -1
  498. package/node_modules/@murphai/importers/dist/core-port.js.map +1 -1
  499. package/node_modules/@murphai/importers/dist/create-importers.d.ts +9 -1
  500. package/node_modules/@murphai/importers/dist/create-importers.d.ts.map +1 -1
  501. package/node_modules/@murphai/importers/dist/create-importers.js +12 -2
  502. package/node_modules/@murphai/importers/dist/create-importers.js.map +1 -1
  503. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts +17 -3
  504. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts.map +1 -1
  505. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js +102 -8
  506. package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js.map +1 -1
  507. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts +5 -4
  508. package/node_modules/@murphai/importers/dist/device-providers/index.d.ts.map +1 -1
  509. package/node_modules/@murphai/importers/dist/device-providers/index.js +4 -3
  510. package/node_modules/@murphai/importers/dist/device-providers/index.js.map +1 -1
  511. package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.d.ts +11 -1
  512. package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.d.ts.map +1 -1
  513. package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.js +420 -27
  514. package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.js.map +1 -1
  515. package/node_modules/@murphai/importers/dist/device-providers/junction-origin.d.ts +1 -0
  516. package/node_modules/@murphai/importers/dist/device-providers/junction-origin.d.ts.map +1 -1
  517. package/node_modules/@murphai/importers/dist/device-providers/junction-origin.js +7 -2
  518. package/node_modules/@murphai/importers/dist/device-providers/junction-origin.js.map +1 -1
  519. package/node_modules/@murphai/importers/dist/device-providers/junction-resources.d.ts +4 -1
  520. package/node_modules/@murphai/importers/dist/device-providers/junction-resources.d.ts.map +1 -1
  521. package/node_modules/@murphai/importers/dist/device-providers/junction-resources.js +42 -1
  522. package/node_modules/@murphai/importers/dist/device-providers/junction-resources.js.map +1 -1
  523. package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-features.d.ts +79 -0
  524. package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-features.d.ts.map +1 -0
  525. package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-features.js +356 -0
  526. package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-features.js.map +1 -0
  527. package/node_modules/@murphai/importers/dist/device-providers/junction.d.ts +76 -3
  528. package/node_modules/@murphai/importers/dist/device-providers/junction.d.ts.map +1 -1
  529. package/node_modules/@murphai/importers/dist/device-providers/junction.js +1676 -347
  530. package/node_modules/@murphai/importers/dist/device-providers/junction.js.map +1 -1
  531. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.d.ts.map +1 -1
  532. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js +1 -0
  533. package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js.map +1 -1
  534. package/node_modules/@murphai/importers/dist/device-providers/types.d.ts +9 -1
  535. package/node_modules/@murphai/importers/dist/device-providers/types.d.ts.map +1 -1
  536. package/node_modules/@murphai/importers/dist/index.d.ts +2 -2
  537. package/node_modules/@murphai/importers/dist/index.d.ts.map +1 -1
  538. package/node_modules/@murphai/importers/dist/index.js +1 -1
  539. package/node_modules/@murphai/importers/dist/index.js.map +1 -1
  540. package/node_modules/@murphai/inboxd/README.md +1 -1
  541. package/node_modules/@murphai/inboxd/dist/indexing/retention.d.ts +6 -0
  542. package/node_modules/@murphai/inboxd/dist/indexing/retention.d.ts.map +1 -1
  543. package/node_modules/@murphai/inboxd/dist/indexing/retention.js +64 -18
  544. package/node_modules/@murphai/inboxd/dist/indexing/retention.js.map +1 -1
  545. package/node_modules/@murphai/inboxd/dist/retention.d.ts +1 -1
  546. package/node_modules/@murphai/inboxd/dist/retention.d.ts.map +1 -1
  547. package/node_modules/@murphai/inboxd/dist/retention.js +1 -1
  548. package/node_modules/@murphai/inboxd/dist/retention.js.map +1 -1
  549. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts +1 -0
  550. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts.map +1 -1
  551. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js +5 -0
  552. package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js.map +1 -1
  553. package/node_modules/@murphai/operator-config/dist/assistant-response-cards.d.ts +175 -152
  554. package/node_modules/@murphai/operator-config/dist/assistant-response-cards.d.ts.map +1 -1
  555. package/node_modules/@murphai/operator-config/dist/assistant-response-cards.js +62 -41
  556. package/node_modules/@murphai/operator-config/dist/assistant-response-cards.js.map +1 -1
  557. package/node_modules/@murphai/operator-config/dist/device-sync-client.d.ts.map +1 -1
  558. package/node_modules/@murphai/operator-config/dist/device-sync-client.js +1 -5
  559. package/node_modules/@murphai/operator-config/dist/device-sync-client.js.map +1 -1
  560. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts +66 -0
  561. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts.map +1 -1
  562. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js +58 -0
  563. package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js.map +1 -1
  564. package/node_modules/@murphai/operator-config/dist/vault-cli-error-projection.d.ts +24 -0
  565. package/node_modules/@murphai/operator-config/dist/vault-cli-error-projection.d.ts.map +1 -0
  566. package/node_modules/@murphai/operator-config/dist/vault-cli-error-projection.js +219 -0
  567. package/node_modules/@murphai/operator-config/dist/vault-cli-error-projection.js.map +1 -0
  568. package/node_modules/@murphai/operator-config/dist/vault-cli-errors.d.ts.map +1 -1
  569. package/node_modules/@murphai/operator-config/dist/vault-cli-errors.js.map +1 -1
  570. package/node_modules/@murphai/operator-config/dist/workout-action-binding.d.ts +9 -0
  571. package/node_modules/@murphai/operator-config/dist/workout-action-binding.d.ts.map +1 -1
  572. package/node_modules/@murphai/operator-config/dist/workout-action-binding.js +48 -5
  573. package/node_modules/@murphai/operator-config/dist/workout-action-binding.js.map +1 -1
  574. package/node_modules/@murphai/operator-config/package.json +5 -0
  575. package/node_modules/@murphai/query/README.md +20 -5
  576. package/node_modules/@murphai/query/dist/browser-replica/build.d.ts +1 -1
  577. package/node_modules/@murphai/query/dist/browser-replica/build.d.ts.map +1 -1
  578. package/node_modules/@murphai/query/dist/browser-replica/build.js +25 -16
  579. package/node_modules/@murphai/query/dist/browser-replica/build.js.map +1 -1
  580. package/node_modules/@murphai/query/dist/browser-replica/json.d.ts +6 -0
  581. package/node_modules/@murphai/query/dist/browser-replica/json.d.ts.map +1 -0
  582. package/node_modules/@murphai/query/dist/browser-replica/json.js +103 -0
  583. package/node_modules/@murphai/query/dist/browser-replica/json.js.map +1 -0
  584. package/node_modules/@murphai/query/dist/browser-replica/shared.d.ts +1 -0
  585. package/node_modules/@murphai/query/dist/browser-replica/shared.d.ts.map +1 -1
  586. package/node_modules/@murphai/query/dist/browser-replica/source.d.ts +13 -0
  587. package/node_modules/@murphai/query/dist/browser-replica/source.d.ts.map +1 -0
  588. package/node_modules/@murphai/query/dist/browser-replica/source.js +45 -0
  589. package/node_modules/@murphai/query/dist/browser-replica/source.js.map +1 -0
  590. package/node_modules/@murphai/query/dist/browser-replica-server.d.ts +2 -0
  591. package/node_modules/@murphai/query/dist/browser-replica-server.d.ts.map +1 -1
  592. package/node_modules/@murphai/query/dist/browser-replica-server.js +2 -0
  593. package/node_modules/@murphai/query/dist/browser-replica-server.js.map +1 -1
  594. package/node_modules/@murphai/query/dist/health/blood-tests.d.ts.map +1 -1
  595. package/node_modules/@murphai/query/dist/health/blood-tests.js +3 -2
  596. package/node_modules/@murphai/query/dist/health/blood-tests.js.map +1 -1
  597. package/node_modules/@murphai/query/dist/health/canonical-collector.d.ts +11 -1
  598. package/node_modules/@murphai/query/dist/health/canonical-collector.d.ts.map +1 -1
  599. package/node_modules/@murphai/query/dist/health/canonical-collector.js +39 -16
  600. package/node_modules/@murphai/query/dist/health/canonical-collector.js.map +1 -1
  601. package/node_modules/@murphai/query/dist/health/entity-slices.d.ts +9 -3
  602. package/node_modules/@murphai/query/dist/health/entity-slices.d.ts.map +1 -1
  603. package/node_modules/@murphai/query/dist/health/entity-slices.js +6 -6
  604. package/node_modules/@murphai/query/dist/health/entity-slices.js.map +1 -1
  605. package/node_modules/@murphai/query/dist/health/immunizations.d.ts.map +1 -1
  606. package/node_modules/@murphai/query/dist/health/immunizations.js +14 -11
  607. package/node_modules/@murphai/query/dist/health/immunizations.js.map +1 -1
  608. package/node_modules/@murphai/query/dist/health/loaders.d.ts +21 -7
  609. package/node_modules/@murphai/query/dist/health/loaders.d.ts.map +1 -1
  610. package/node_modules/@murphai/query/dist/health/loaders.js +53 -15
  611. package/node_modules/@murphai/query/dist/health/loaders.js.map +1 -1
  612. package/node_modules/@murphai/query/dist/health/registries.d.ts +1 -0
  613. package/node_modules/@murphai/query/dist/health/registries.d.ts.map +1 -1
  614. package/node_modules/@murphai/query/dist/health/registries.js.map +1 -1
  615. package/node_modules/@murphai/query/dist/index.d.ts +4 -3
  616. package/node_modules/@murphai/query/dist/index.d.ts.map +1 -1
  617. package/node_modules/@murphai/query/dist/index.js +4 -3
  618. package/node_modules/@murphai/query/dist/index.js.map +1 -1
  619. package/node_modules/@murphai/query/dist/meal-nutrition.d.ts +1 -1
  620. package/node_modules/@murphai/query/dist/meal-nutrition.d.ts.map +1 -1
  621. package/node_modules/@murphai/query/dist/meal-nutrition.js +10 -3
  622. package/node_modules/@murphai/query/dist/meal-nutrition.js.map +1 -1
  623. package/node_modules/@murphai/query/dist/metrics/projection.d.ts.map +1 -1
  624. package/node_modules/@murphai/query/dist/metrics/projection.js +19 -6
  625. package/node_modules/@murphai/query/dist/metrics/projection.js.map +1 -1
  626. package/node_modules/@murphai/query/dist/murph-age.d.ts +5 -1
  627. package/node_modules/@murphai/query/dist/murph-age.d.ts.map +1 -1
  628. package/node_modules/@murphai/query/dist/murph-age.js +22 -8
  629. package/node_modules/@murphai/query/dist/murph-age.js.map +1 -1
  630. package/node_modules/@murphai/query/dist/projection/entity-store.js +4 -4
  631. package/node_modules/@murphai/query/dist/projection/entity-store.js.map +1 -1
  632. package/node_modules/@murphai/query/dist/projection/schema.d.ts +1 -1
  633. package/node_modules/@murphai/query/dist/projection/schema.d.ts.map +1 -1
  634. package/node_modules/@murphai/query/dist/projection/schema.js +3 -1
  635. package/node_modules/@murphai/query/dist/projection/schema.js.map +1 -1
  636. package/node_modules/@murphai/query/dist/projection/wearable-summary-compose.js +4 -0
  637. package/node_modules/@murphai/query/dist/projection/wearable-summary-compose.js.map +1 -1
  638. package/node_modules/@murphai/query/dist/projection/wearable-summary-projector.js +4 -0
  639. package/node_modules/@murphai/query/dist/projection/wearable-summary-projector.js.map +1 -1
  640. package/node_modules/@murphai/query/dist/query-visibility.d.ts +5 -0
  641. package/node_modules/@murphai/query/dist/query-visibility.d.ts.map +1 -1
  642. package/node_modules/@murphai/query/dist/query-visibility.js +11 -5
  643. package/node_modules/@murphai/query/dist/query-visibility.js.map +1 -1
  644. package/node_modules/@murphai/query/dist/read-model.d.ts +8 -0
  645. package/node_modules/@murphai/query/dist/read-model.d.ts.map +1 -1
  646. package/node_modules/@murphai/query/dist/read-model.js +11 -1
  647. package/node_modules/@murphai/query/dist/read-model.js.map +1 -1
  648. package/node_modules/@murphai/query/dist/scheduled-logs.d.ts.map +1 -1
  649. package/node_modules/@murphai/query/dist/scheduled-logs.js +55 -79
  650. package/node_modules/@murphai/query/dist/scheduled-logs.js.map +1 -1
  651. package/node_modules/@murphai/query/dist/vault-source.d.ts +22 -4
  652. package/node_modules/@murphai/query/dist/vault-source.d.ts.map +1 -1
  653. package/node_modules/@murphai/query/dist/vault-source.js +188 -59
  654. package/node_modules/@murphai/query/dist/vault-source.js.map +1 -1
  655. package/node_modules/@murphai/query/dist/wearables/candidates.d.ts.map +1 -1
  656. package/node_modules/@murphai/query/dist/wearables/candidates.js +26 -15
  657. package/node_modules/@murphai/query/dist/wearables/candidates.js.map +1 -1
  658. package/node_modules/@murphai/query/dist/wearables/public-output.d.ts.map +1 -1
  659. package/node_modules/@murphai/query/dist/wearables/public-output.js +6 -0
  660. package/node_modules/@murphai/query/dist/wearables/public-output.js.map +1 -1
  661. package/node_modules/@murphai/query/dist/wearables/source-health.d.ts.map +1 -1
  662. package/node_modules/@murphai/query/dist/wearables/source-health.js +4 -0
  663. package/node_modules/@murphai/query/dist/wearables/source-health.js.map +1 -1
  664. package/node_modules/@murphai/query/dist/wearables/types.d.ts +41 -4
  665. package/node_modules/@murphai/query/dist/wearables/types.d.ts.map +1 -1
  666. package/node_modules/@murphai/query/dist/wearables/types.js +2 -0
  667. package/node_modules/@murphai/query/dist/wearables/types.js.map +1 -1
  668. package/node_modules/@murphai/query/dist/wearables/workout-features.d.ts +5 -0
  669. package/node_modules/@murphai/query/dist/wearables/workout-features.d.ts.map +1 -0
  670. package/node_modules/@murphai/query/dist/wearables/workout-features.js +179 -0
  671. package/node_modules/@murphai/query/dist/wearables/workout-features.js.map +1 -0
  672. package/node_modules/@murphai/query/dist/wearables.d.ts.map +1 -1
  673. package/node_modules/@murphai/query/dist/wearables.js +23 -6
  674. package/node_modules/@murphai/query/dist/wearables.js.map +1 -1
  675. package/node_modules/@murphai/query/package.json +5 -0
  676. package/node_modules/@murphai/runtime-state/README.md +1 -1
  677. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.d.ts +4 -0
  678. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.d.ts.map +1 -1
  679. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.js +16 -3
  680. package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.js.map +1 -1
  681. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts +1 -0
  682. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts.map +1 -1
  683. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js +31 -0
  684. package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js.map +1 -1
  685. package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts +5 -0
  686. package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts.map +1 -1
  687. package/node_modules/@murphai/runtime-state/dist/hosted-email.js +10 -0
  688. package/node_modules/@murphai/runtime-state/dist/hosted-email.js.map +1 -1
  689. package/node_modules/@murphai/setup-cli/dist/incur-error-bridge.d.ts.map +1 -1
  690. package/node_modules/@murphai/setup-cli/dist/incur-error-bridge.js +6 -15
  691. package/node_modules/@murphai/setup-cli/dist/incur-error-bridge.js.map +1 -1
  692. package/node_modules/@murphai/vault-usecases/README.md +9 -0
  693. package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.d.ts +6 -0
  694. package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.d.ts.map +1 -1
  695. package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.js +49 -1
  696. package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.js.map +1 -1
  697. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.d.ts.map +1 -1
  698. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.js +22 -12
  699. package/node_modules/@murphai/vault-usecases/dist/usecases/capture.js.map +1 -1
  700. package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.d.ts.map +1 -1
  701. package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.js +1 -3
  702. package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.js.map +1 -1
  703. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.d.ts.map +1 -1
  704. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js +24 -18
  705. package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js.map +1 -1
  706. package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.d.ts.map +1 -1
  707. package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.js +1 -3
  708. package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.js.map +1 -1
  709. package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.d.ts +8 -0
  710. package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.d.ts.map +1 -1
  711. package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.js +56 -5
  712. package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.js.map +1 -1
  713. package/node_modules/@murphai/vault-usecases/dist/usecases/exact-event-record.d.ts +20 -0
  714. package/node_modules/@murphai/vault-usecases/dist/usecases/exact-event-record.d.ts.map +1 -0
  715. package/node_modules/@murphai/vault-usecases/dist/usecases/exact-event-record.js +72 -0
  716. package/node_modules/@murphai/vault-usecases/dist/usecases/exact-event-record.js.map +1 -0
  717. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts +1 -1
  718. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts.map +1 -1
  719. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js +42 -9
  720. package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js.map +1 -1
  721. package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.d.ts.map +1 -1
  722. package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.js +158 -24
  723. package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.js.map +1 -1
  724. package/node_modules/@murphai/vault-usecases/dist/usecases/food.d.ts.map +1 -1
  725. package/node_modules/@murphai/vault-usecases/dist/usecases/food.js +98 -5
  726. package/node_modules/@murphai/vault-usecases/dist/usecases/food.js.map +1 -1
  727. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.d.ts.map +1 -1
  728. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js +20 -4
  729. package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js.map +1 -1
  730. package/node_modules/@murphai/vault-usecases/dist/usecases/intervention-experiment-link.d.ts.map +1 -1
  731. package/node_modules/@murphai/vault-usecases/dist/usecases/intervention-experiment-link.js +49 -24
  732. package/node_modules/@murphai/vault-usecases/dist/usecases/intervention-experiment-link.js.map +1 -1
  733. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.d.ts.map +1 -1
  734. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js +13 -11
  735. package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js.map +1 -1
  736. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts.map +1 -1
  737. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js +18 -11
  738. package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js.map +1 -1
  739. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.d.ts.map +1 -1
  740. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.js +43 -1
  741. package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.js.map +1 -1
  742. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.d.ts.map +1 -1
  743. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js +1 -3
  744. package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js.map +1 -1
  745. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.d.ts +2 -0
  746. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.d.ts.map +1 -1
  747. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.js +24 -1
  748. package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.js.map +1 -1
  749. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts +2 -0
  750. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts.map +1 -1
  751. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.d.ts +36 -4
  752. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.d.ts.map +1 -1
  753. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.js +48 -12
  754. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.js.map +1 -1
  755. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.d.ts +14 -14
  756. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.d.ts.map +1 -1
  757. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.js +84 -82
  758. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.js.map +1 -1
  759. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.d.ts +16 -4
  760. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.d.ts.map +1 -1
  761. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.js +316 -79
  762. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.js.map +1 -1
  763. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.d.ts.map +1 -1
  764. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js +19 -17
  765. package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js.map +1 -1
  766. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts +20 -7
  767. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts.map +1 -1
  768. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.js +56 -31
  769. package/node_modules/@murphai/vault-usecases/dist/usecases/workout.js.map +1 -1
  770. package/node_modules/incur/dist/Cli.js +7 -32
  771. package/node_modules/incur/dist/Errors.d.ts +17 -0
  772. package/node_modules/incur/dist/Errors.js +23 -0
  773. package/node_modules/incur/dist/internal/command.d.ts +2 -0
  774. package/node_modules/incur/dist/internal/command.js +2 -6
  775. package/node_modules/incur/src/Cli.ts +11 -32
  776. package/node_modules/incur/src/Errors.ts +36 -0
  777. package/node_modules/incur/src/internal/command.ts +4 -6
  778. package/package.json +4 -4
  779. package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/daily-nutrition-card-safety.md +0 -211
@@ -0,0 +1,356 @@
1
+ import { summarizeSampleSeries } from "@murphai/health-metrics";
2
+ export const JUNCTION_TEMPORAL_FEATURE_MAX_SAMPLES_PER_DAY = 5_000;
3
+ export const JUNCTION_TEMPORAL_FEATURE_MAX_SAMPLES_PER_IMPORT = 25_000;
4
+ export const JUNCTION_TEMPORAL_FEATURE_MAX_OBSERVATIONS_PER_DAY = 10;
5
+ export const JUNCTION_TEMPORAL_FEATURE_ENVELOPE_MAX_BYTES = 1_024;
6
+ export const JUNCTION_TEMPORAL_FEATURE_METHOD = "distinct-instant-mean-median-gap-2.5x-absolute-cap.v2";
7
+ export const JUNCTION_TEMPORAL_FEATURE_RESOURCES = Object.freeze([
8
+ "blood_oxygen",
9
+ "stress_level",
10
+ ]);
11
+ // This is the only clinical-looking threshold in this reducer. It reuses the
12
+ // repository-owned oxygen-night screening contract in sample-series-summary;
13
+ // the output describes sample shape and is not a diagnosis.
14
+ const BLOOD_OXYGEN_THRESHOLD_PERCENT = 90;
15
+ const BLOOD_OXYGEN_MAX_ADJACENT_GAP_SECONDS = 5 * 60;
16
+ const STRESS_MAX_ADJACENT_GAP_SECONDS = 15 * 60;
17
+ const MORNING_START_LOCAL_MINUTE = 360;
18
+ const MORNING_END_LOCAL_MINUTE = 720;
19
+ const EVENING_START_LOCAL_MINUTE = 1_080;
20
+ const EVENING_END_LOCAL_MINUTE = 1_440;
21
+ export function isJunctionTemporalFeatureResource(resource) {
22
+ return JUNCTION_TEMPORAL_FEATURE_RESOURCES.includes(resource);
23
+ }
24
+ export function buildJunctionTemporalFeatures(input) {
25
+ if (input.samples.length > JUNCTION_TEMPORAL_FEATURE_MAX_SAMPLES_PER_DAY) {
26
+ return { observations: [], status: "suppressed_input_cap" };
27
+ }
28
+ const samples = collapseEqualTimestampSamples(input.samples);
29
+ if (samples.length < 2) {
30
+ return { observations: [], status: "insufficient_samples" };
31
+ }
32
+ const result = buildTemporalFeatureResult(input.resource, samples);
33
+ if (result.status !== "complete") {
34
+ return result;
35
+ }
36
+ if (result.observations.length > JUNCTION_TEMPORAL_FEATURE_MAX_OBSERVATIONS_PER_DAY
37
+ || serializedByteLength(result.envelope) > JUNCTION_TEMPORAL_FEATURE_ENVELOPE_MAX_BYTES) {
38
+ return { observations: [], status: "suppressed_output_cap" };
39
+ }
40
+ return result;
41
+ }
42
+ // Junction reconciles the same instant more than once for some providers. A
43
+ // sorted mean makes those rows one deterministic observation, independent of
44
+ // payload order. Conflicting local clocks are dropped for daypart use instead
45
+ // of choosing one provider row. The shared sample summarizer therefore only
46
+ // receives unique, ordered instants and needs no repository-wide policy change.
47
+ function collapseEqualTimestampSamples(samples) {
48
+ const byInstant = new Map();
49
+ for (const sample of samples) {
50
+ const instant = Date.parse(sample.recordedAt);
51
+ if (!Number.isFinite(instant) || !Number.isFinite(sample.value)) {
52
+ continue;
53
+ }
54
+ const atInstant = byInstant.get(instant) ?? [];
55
+ atInstant.push(sample);
56
+ byInstant.set(instant, atInstant);
57
+ }
58
+ return [...byInstant.entries()]
59
+ .sort(([left], [right]) => left - right)
60
+ .map(([instant, atInstant]) => {
61
+ const values = atInstant.map((sample) => sample.value).sort((left, right) => left - right);
62
+ const localMinutes = [...new Set(atInstant.flatMap((sample) => sample.localMinuteOfDay === undefined ? [] : [sample.localMinuteOfDay]))];
63
+ return {
64
+ recordedAt: new Date(instant).toISOString(),
65
+ value: values.reduce((sum, value) => sum + value, 0) / values.length,
66
+ ...(localMinutes.length === 1 ? { localMinuteOfDay: localMinutes[0] } : {}),
67
+ };
68
+ });
69
+ }
70
+ function buildTemporalFeatureResult(resource, samples) {
71
+ switch (resource) {
72
+ case "blood_oxygen":
73
+ return buildBloodOxygenTemporalFeatures(samples);
74
+ case "stress_level":
75
+ return buildStressTemporalFeatures(samples);
76
+ }
77
+ }
78
+ function buildBloodOxygenTemporalFeatures(samples) {
79
+ const summary = summarizeBelowThresholds(samples, [
80
+ BLOOD_OXYGEN_THRESHOLD_PERCENT,
81
+ ]);
82
+ const threshold = summary.thresholds.find((entry) => entry.below === BLOOD_OXYGEN_THRESHOLD_PERCENT);
83
+ const belowThresholdSampleCount = threshold?.sampleCount ?? 0;
84
+ const belowThresholdSamplePercent = round4(belowThresholdSampleCount / samples.length * 100);
85
+ const continuity = assessContinuity(samples, BLOOD_OXYGEN_MAX_ADJACENT_GAP_SECONDS);
86
+ const runEvidence = continuity.qualifyingPairs.length > 0
87
+ ? summarizeThresholdRuns(samples, continuity.qualifyingPairs, (value) => value < BLOOD_OXYGEN_THRESHOLD_PERCENT)
88
+ : null;
89
+ const envelope = {
90
+ schema: "junction.timeseries_temporal_features.v2",
91
+ method: JUNCTION_TEMPORAL_FEATURE_METHOD,
92
+ kind: "blood_oxygen",
93
+ sampleCount: samples.length,
94
+ sampleIntervalSeconds: continuity.sampleIntervalSeconds,
95
+ maxAdjacentGapSeconds: BLOOD_OXYGEN_MAX_ADJACENT_GAP_SECONDS,
96
+ qualifyingPairCount: continuity.qualifyingPairs.length,
97
+ thresholdPercent: BLOOD_OXYGEN_THRESHOLD_PERCENT,
98
+ belowThresholdSampleCount,
99
+ belowThresholdSamplePercent,
100
+ belowThresholdRunCount: runEvidence?.runCount,
101
+ longestBelowThresholdSampleCount: runEvidence?.longestRunSampleCount,
102
+ };
103
+ const sampleBurdenQualifiers = evidenceQualifiers({
104
+ confidence: "low",
105
+ continuity,
106
+ sampleCount: samples.length,
107
+ thresholdSampleCount: belowThresholdSampleCount,
108
+ });
109
+ const observations = [
110
+ observation("spo2-samples-below-90-percent", "Junction SpO2 samples below 90%", "%", belowThresholdSamplePercent, sampleBurdenQualifiers),
111
+ ];
112
+ if (runEvidence) {
113
+ const continuitySampleCount = continuity.participatingSampleIndexes.length;
114
+ const continuityThresholdSampleCount = continuity.participatingSampleIndexes.reduce((count, index) => count + ((samples[index]?.value ?? Infinity) < BLOOD_OXYGEN_THRESHOLD_PERCENT ? 1 : 0), 0);
115
+ const runQualifiers = evidenceQualifiers({
116
+ confidence: "medium",
117
+ continuity,
118
+ sampleCount: continuitySampleCount,
119
+ thresholdSampleCount: continuityThresholdSampleCount,
120
+ });
121
+ observations.push(observation("spo2-below-90-run-count", "Junction SpO2 runs below 90%", "count", runEvidence.runCount, runQualifiers), observation("spo2-longest-below-90-sample-count", "Junction longest SpO2 sample run below 90%", "count", runEvidence.longestRunSampleCount, runQualifiers));
122
+ }
123
+ return {
124
+ envelope,
125
+ observations,
126
+ status: "complete",
127
+ };
128
+ }
129
+ function buildStressTemporalFeatures(samples) {
130
+ const continuity = assessContinuity(samples, STRESS_MAX_ADJACENT_GAP_SECONDS);
131
+ if (continuity.qualifyingPairs.length === 0) {
132
+ return { observations: [], status: "insufficient_temporal_evidence" };
133
+ }
134
+ const continuitySamples = continuity.participatingSampleIndexes.flatMap((index) => {
135
+ const sample = samples[index];
136
+ return sample ? [sample] : [];
137
+ });
138
+ const unroundedDailyMean = continuitySamples.reduce((sum, sample) => sum + sample.value, 0)
139
+ / continuitySamples.length;
140
+ const dailyMean = round4(unroundedDailyMean);
141
+ const aboveDailyMeanRunCount = summarizeThresholdRuns(samples, continuity.qualifyingPairs, (value) => value > unroundedDailyMean).runCount;
142
+ const meanAbsoluteSuccessiveDifferenceValue = meanAbsoluteSuccessiveDifference(samples, continuity.qualifyingPairs);
143
+ const morning = evidenceForLocalMinuteWindow(samples, continuity.qualifyingPairs, MORNING_START_LOCAL_MINUTE, MORNING_END_LOCAL_MINUTE);
144
+ const evening = evidenceForLocalMinuteWindow(samples, continuity.qualifyingPairs, EVENING_START_LOCAL_MINUTE, EVENING_END_LOCAL_MINUTE);
145
+ const eveningMinusMorningMean = morning === null || evening === null
146
+ ? null
147
+ : round4(evening.mean - morning.mean);
148
+ const envelope = {
149
+ schema: "junction.timeseries_temporal_features.v2",
150
+ method: JUNCTION_TEMPORAL_FEATURE_METHOD,
151
+ kind: "stress_level",
152
+ sampleCount: continuitySamples.length,
153
+ sampleIntervalSeconds: continuity.sampleIntervalSeconds,
154
+ maxAdjacentGapSeconds: STRESS_MAX_ADJACENT_GAP_SECONDS,
155
+ qualifyingPairCount: continuity.qualifyingPairs.length,
156
+ dailyMean,
157
+ aboveDailyMeanRunCount,
158
+ meanAbsoluteSuccessiveDifference: meanAbsoluteSuccessiveDifferenceValue,
159
+ morningWindowStartLocalMinute: MORNING_START_LOCAL_MINUTE,
160
+ morningWindowEndLocalMinute: MORNING_END_LOCAL_MINUTE,
161
+ eveningWindowStartLocalMinute: EVENING_START_LOCAL_MINUTE,
162
+ eveningWindowEndLocalMinute: EVENING_END_LOCAL_MINUTE,
163
+ morningMean: morning?.mean ?? null,
164
+ morningSampleCount: morning?.sampleCount,
165
+ eveningMean: evening?.mean ?? null,
166
+ eveningSampleCount: evening?.sampleCount,
167
+ eveningMinusMorningMean,
168
+ };
169
+ const continuityQualifiers = evidenceQualifiers({
170
+ confidence: "medium",
171
+ continuity,
172
+ sampleCount: continuitySamples.length,
173
+ });
174
+ const observations = [
175
+ observation("stress-above-daily-mean-run-count", "Junction stress runs above the daily mean", "count", aboveDailyMeanRunCount, continuityQualifiers),
176
+ observation("stress-mean-absolute-successive-difference", "Junction stress mean absolute successive difference", "score", meanAbsoluteSuccessiveDifferenceValue, continuityQualifiers),
177
+ ];
178
+ if (eveningMinusMorningMean !== null && morning && evening) {
179
+ observations.push(observation("stress-evening-minus-morning-score", "Junction evening minus morning stress score", "score", eveningMinusMorningMean, evidenceQualifiers({
180
+ confidence: "medium",
181
+ continuity,
182
+ eveningSampleCount: evening.sampleCount,
183
+ morningSampleCount: morning.sampleCount,
184
+ qualifyingPairCount: morning.qualifyingPairCount + evening.qualifyingPairCount,
185
+ sampleCount: continuitySamples.length,
186
+ })));
187
+ }
188
+ return { envelope, observations, status: "complete" };
189
+ }
190
+ function summarizeBelowThresholds(samples, thresholdsBelow) {
191
+ return summarizeSampleSeries({
192
+ stream: "junction-temporal-feature",
193
+ samples,
194
+ thresholdsBelow,
195
+ });
196
+ }
197
+ function assessContinuity(samples, maxAdjacentGapSeconds) {
198
+ const partitionCadences = [];
199
+ const qualifyingPairs = [];
200
+ let partitionStart = 0;
201
+ for (let index = 1; index <= samples.length; index += 1) {
202
+ const previous = samples[index - 1];
203
+ const current = samples[index];
204
+ const gapSeconds = previous && current
205
+ ? (Date.parse(current.recordedAt) - Date.parse(previous.recordedAt)) / 1_000
206
+ : Infinity;
207
+ if (index < samples.length && gapSeconds <= maxAdjacentGapSeconds) {
208
+ continue;
209
+ }
210
+ const partition = samples.slice(partitionStart, index);
211
+ if (partition.length > 1) {
212
+ const partitionCadence = summarizeBelowThresholds(partition, []).sampleIntervalSeconds;
213
+ if (partitionCadence !== null) {
214
+ partitionCadences.push(partitionCadence);
215
+ const qualifyingGapSeconds = Math.min(maxAdjacentGapSeconds, partitionCadence * 2.5);
216
+ for (let partitionIndex = partitionStart + 1; partitionIndex < index; partitionIndex += 1) {
217
+ const partitionPrevious = samples[partitionIndex - 1];
218
+ const partitionCurrent = samples[partitionIndex];
219
+ if (!partitionPrevious || !partitionCurrent) {
220
+ continue;
221
+ }
222
+ const partitionGapSeconds = (Date.parse(partitionCurrent.recordedAt)
223
+ - Date.parse(partitionPrevious.recordedAt)) / 1_000;
224
+ if (partitionGapSeconds > 0 && partitionGapSeconds <= qualifyingGapSeconds) {
225
+ qualifyingPairs.push({
226
+ currentIndex: partitionIndex,
227
+ previousIndex: partitionIndex - 1,
228
+ });
229
+ }
230
+ }
231
+ }
232
+ }
233
+ partitionStart = index;
234
+ }
235
+ return {
236
+ maxAdjacentGapSeconds,
237
+ participatingSampleIndexes: [...new Set(qualifyingPairs.flatMap((pair) => [
238
+ pair.previousIndex,
239
+ pair.currentIndex,
240
+ ]))].sort((left, right) => left - right),
241
+ qualifyingPairs,
242
+ sampleIntervalSeconds: medianPositiveNumber(partitionCadences),
243
+ };
244
+ }
245
+ function medianPositiveNumber(values) {
246
+ if (values.length === 0) {
247
+ return null;
248
+ }
249
+ const sorted = [...values].sort((left, right) => left - right);
250
+ const midpoint = Math.floor(sorted.length / 2);
251
+ const median = sorted.length % 2 === 0
252
+ ? ((sorted[midpoint - 1] ?? 0) + (sorted[midpoint] ?? 0)) / 2
253
+ : sorted[midpoint] ?? 0;
254
+ return median > 0 ? round4(median) : null;
255
+ }
256
+ function summarizeThresholdRuns(samples, qualifyingPairs, qualifies) {
257
+ let currentRun = 0;
258
+ let longestRun = 0;
259
+ let previousPairCurrentIndex = -1;
260
+ let runCount = 0;
261
+ for (const pair of qualifyingPairs) {
262
+ const previous = samples[pair.previousIndex];
263
+ const current = samples[pair.currentIndex];
264
+ if (!previous || !current || !qualifies(previous.value) || !qualifies(current.value)) {
265
+ currentRun = 0;
266
+ previousPairCurrentIndex = -1;
267
+ continue;
268
+ }
269
+ if (pair.previousIndex === previousPairCurrentIndex) {
270
+ currentRun += 1;
271
+ }
272
+ else {
273
+ currentRun = 2;
274
+ runCount += 1;
275
+ }
276
+ longestRun = Math.max(longestRun, currentRun);
277
+ previousPairCurrentIndex = pair.currentIndex;
278
+ }
279
+ return { longestRunSampleCount: longestRun, runCount };
280
+ }
281
+ function evidenceForLocalMinuteWindow(samples, qualifyingPairs, startMinute, endMinute) {
282
+ const sampleIndexes = new Set();
283
+ let qualifyingPairCount = 0;
284
+ for (const pair of qualifyingPairs) {
285
+ const previous = samples[pair.previousIndex];
286
+ const current = samples[pair.currentIndex];
287
+ if (!previous || !current) {
288
+ continue;
289
+ }
290
+ if (minuteIsInWindow(previous.localMinuteOfDay, startMinute, endMinute)
291
+ && minuteIsInWindow(current.localMinuteOfDay, startMinute, endMinute)) {
292
+ sampleIndexes.add(pair.previousIndex);
293
+ sampleIndexes.add(pair.currentIndex);
294
+ qualifyingPairCount += 1;
295
+ }
296
+ }
297
+ if (qualifyingPairCount === 0) {
298
+ return null;
299
+ }
300
+ const values = [...sampleIndexes].map((index) => samples[index]?.value).filter((value) => value !== undefined);
301
+ return {
302
+ mean: round4(values.reduce((sum, value) => sum + value, 0) / values.length),
303
+ qualifyingPairCount,
304
+ sampleCount: values.length,
305
+ };
306
+ }
307
+ function minuteIsInWindow(minute, startMinute, endMinute) {
308
+ return minute !== undefined && minute >= startMinute && minute < endMinute;
309
+ }
310
+ function meanAbsoluteSuccessiveDifference(samples, qualifyingPairs) {
311
+ const differenceTotal = qualifyingPairs.reduce((sum, pair) => {
312
+ const previous = samples[pair.previousIndex];
313
+ const current = samples[pair.currentIndex];
314
+ return previous && current ? sum + Math.abs(current.value - previous.value) : sum;
315
+ }, 0);
316
+ return round4(differenceTotal / qualifyingPairs.length);
317
+ }
318
+ function evidenceQualifiers(input) {
319
+ return {
320
+ derived: true,
321
+ evidenceConfidence: input.confidence,
322
+ evidenceMethod: JUNCTION_TEMPORAL_FEATURE_METHOD,
323
+ maxAdjacentGapSeconds: input.continuity.maxAdjacentGapSeconds,
324
+ qualifyingPairCount: input.qualifyingPairCount ?? input.continuity.qualifyingPairs.length,
325
+ sampleCount: input.sampleCount,
326
+ ...(input.continuity.sampleIntervalSeconds === null
327
+ ? {}
328
+ : { sampleIntervalSeconds: input.continuity.sampleIntervalSeconds }),
329
+ ...(input.thresholdSampleCount === undefined
330
+ ? {}
331
+ : { thresholdSampleCount: input.thresholdSampleCount }),
332
+ ...(input.morningSampleCount === undefined
333
+ ? {}
334
+ : { morningSampleCount: input.morningSampleCount }),
335
+ ...(input.eveningSampleCount === undefined
336
+ ? {}
337
+ : { eveningSampleCount: input.eveningSampleCount }),
338
+ };
339
+ }
340
+ function observation(metric, title, unit, value, qualifiers) {
341
+ return {
342
+ confidence: qualifiers.evidenceConfidence,
343
+ metric,
344
+ qualifiers,
345
+ title,
346
+ unit,
347
+ value: round4(value),
348
+ };
349
+ }
350
+ function serializedByteLength(value) {
351
+ return new TextEncoder().encode(JSON.stringify(value)).byteLength;
352
+ }
353
+ function round4(value) {
354
+ return Number(value.toFixed(4));
355
+ }
356
+ //# sourceMappingURL=junction-timeseries-features.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"junction-timeseries-features.js","sourceRoot":"","sources":["../../src/device-providers/junction-timeseries-features.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { type CompanionHrvRmssdAdmissionId, type CompanionHrvRmssdObservation } from "@murphai/contracts";
2
2
  import { JUNCTION_ALLOWED_SUMMARY_RESOURCES } from "./junction-resources.ts";
3
3
  import { type JunctionSparseIntervalResource } from "./junction-timeseries-fidelity.ts";
4
- import { JUNCTION_ECG_VOLTAGE_FEATURE_SCHEMA, JUNCTION_WORKOUT_STREAM_FEATURE_SCHEMA, buildJunctionBoundedFeatureIdentity, reduceJunctionElectrocardiogramVoltageRecords, reduceJunctionWorkoutStreamPayload, resolveJunctionBoundedFeatureRecords, selectJunctionWorkoutStreamCandidates } from "./junction-bounded-features.ts";
4
+ import { JUNCTION_ECG_VOLTAGE_FEATURE_SCHEMA, JUNCTION_WORKOUT_STREAM_FEATURE_SCHEMA, JunctionWorkoutStreamTimestampCardinalityError, buildJunctionBoundedFeatureIdentity, reduceJunctionElectrocardiogramVoltageRecords, reduceJunctionWorkoutStreamPayload, resolveJunctionBoundedFeatureRecords, selectJunctionWorkoutStreamCandidates } from "./junction-bounded-features.ts";
5
+ import type { DeviceDataOrigin } from "../core-port.ts";
5
6
  import type { DeviceProviderAdapter, DeviceProviderNormalizationContext, NormalizedDeviceBatch } from "./types.ts";
6
7
  export { JUNCTION_DENSE_FIDELITY_RESOURCES, } from "./junction-timeseries-fidelity.ts";
7
8
  export { JUNCTION_ALLOWED_SUMMARY_RESOURCES, JUNCTION_ALLOWED_TIMESERIES_RESOURCES, JUNCTION_DEFAULT_SUMMARY_RESOURCES, JUNCTION_DEFAULT_TIMESERIES_RESOURCES, JUNCTION_KNOWN_TIMESERIES_RESOURCES, JUNCTION_OPT_IN_SUMMARY_RESOURCES, JUNCTION_OPT_IN_TIMESERIES_RESOURCES, JUNCTION_RAW_ONLY_SUMMARY_RESOURCES, normalizeJunctionResourceName, type JunctionTimeseriesResource, } from "./junction-resources.ts";
8
- export { JUNCTION_ECG_VOLTAGE_FEATURE_SCHEMA, JUNCTION_WORKOUT_STREAM_FEATURE_SCHEMA, buildJunctionBoundedFeatureIdentity, reduceJunctionElectrocardiogramVoltageRecords, reduceJunctionWorkoutStreamPayload, resolveJunctionBoundedFeatureRecords, selectJunctionWorkoutStreamCandidates, };
9
+ export { JUNCTION_ECG_VOLTAGE_FEATURE_SCHEMA, JUNCTION_WORKOUT_STREAM_FEATURE_SCHEMA, JunctionWorkoutStreamTimestampCardinalityError, buildJunctionBoundedFeatureIdentity, reduceJunctionElectrocardiogramVoltageRecords, reduceJunctionWorkoutStreamPayload, resolveJunctionBoundedFeatureRecords, selectJunctionWorkoutStreamCandidates, };
9
10
  export interface JunctionCompanionHrvRmssdSnapshotEntry {
10
11
  admissionId: CompanionHrvRmssdAdmissionId;
11
12
  observation: CompanionHrvRmssdObservation;
@@ -21,6 +22,12 @@ export interface JunctionSnapshotInput {
21
22
  summaries?: Record<string, unknown>;
22
23
  timeseries?: Record<string, unknown>;
23
24
  companionHrvRmssd?: JunctionCompanionHrvRmssdSnapshotEntry;
25
+ canonicalCoverageFence?: JunctionCanonicalCoverageFence;
26
+ canonicalCoverageProviderPulledAt?: string;
27
+ }
28
+ export interface JunctionCanonicalCoverageFence {
29
+ readonly coverageBoundaryByResource: Readonly<Record<string, string | null>>;
30
+ readonly sourceProviderSlug: string;
24
31
  }
25
32
  export type JunctionTimeseriesWindowKind = "calendar_day" | "precise";
26
33
  export interface JunctionSparseCalendarRepairExpectation {
@@ -43,6 +50,36 @@ export interface JunctionBloodPressureProviderRecordIdentityEvidence {
43
50
  readonly providerRecordCount: number;
44
51
  readonly repairStableExternalRefResourceIds: readonly (string | null)[];
45
52
  }
53
+ export interface JunctionCanonicalCoverageEvidence {
54
+ readonly coverageBoundary: string;
55
+ readonly coverageFinalizedAt?: string;
56
+ readonly resource: string;
57
+ readonly sourceProviderSlug: string;
58
+ }
59
+ export interface JunctionCanonicalCoverageDerivationOptions {
60
+ readonly providerPulledAt?: string;
61
+ }
62
+ export interface JunctionCanonicalCoverageEvent {
63
+ readonly dataOrigin?: {
64
+ readonly sourceProviderSlug?: string;
65
+ readonly timeZoneOffsetMinutes?: number | null;
66
+ };
67
+ readonly dayKey?: string;
68
+ readonly endAt?: string;
69
+ readonly externalRef?: {
70
+ readonly resourceType: string;
71
+ };
72
+ readonly fields?: Readonly<Record<string, unknown>>;
73
+ readonly kind: string;
74
+ readonly occurredAt: string;
75
+ readonly sample?: {
76
+ readonly endAt?: string;
77
+ };
78
+ readonly timeZone?: string;
79
+ readonly workout?: {
80
+ readonly endedAt?: string;
81
+ };
82
+ }
46
83
  export interface JunctionDailyTimeseriesAggregateIdentity {
47
84
  dayKey: string;
48
85
  resource: string;
@@ -50,17 +87,53 @@ export interface JunctionDailyTimeseriesAggregateIdentity {
50
87
  sourceProviderSlug: string;
51
88
  sourceType?: string | null;
52
89
  }
90
+ type TimestampSemantics = NonNullable<DeviceDataOrigin["timestampSemantics"]>;
53
91
  export declare function normalizeJunctionSnapshot(snapshot: JunctionSnapshotInput, providerContext?: DeviceProviderNormalizationContext): NormalizedDeviceBatch;
92
+ /**
93
+ * Derives provider cutover coverage only from the canonical events returned by
94
+ * the committed vault import. This deliberately does not replay raw Junction
95
+ * normalization: the stored event owns the canonical provider day or interval.
96
+ * Daily coverage becomes final only when a provider pull performed after its
97
+ * local day closed accepts that day. Inline payloads can advance the fence but
98
+ * cannot finalize it. Interval coverage remains anchored to its accepted end.
99
+ */
100
+ export declare function deriveJunctionCanonicalCoverageEvidence(events: readonly JunctionCanonicalCoverageEvent[], options?: JunctionCanonicalCoverageDerivationOptions): readonly JunctionCanonicalCoverageEvidence[];
54
101
  export declare function classifyJunctionSummaryNormalizationEvidence(snapshot: Pick<JunctionSnapshotInput, "connections" | "importedAt" | "summaries" | "windowEnd" | "windowStart">, evidenceWindow?: JunctionSummaryNormalizationEvidenceWindow): readonly JunctionSummaryNormalizationEvidence[];
55
102
  export declare function identifyJunctionBloodPressureProviderRecords(snapshot: Pick<JunctionSnapshotInput, "connections" | "importedAt" | "timeseries" | "windowEnd" | "windowStart">): JunctionBloodPressureProviderRecordIdentityEvidence;
56
103
  /** Count provider rows accepted by the canonical daily-aggregate parser. */
57
104
  export declare function countAcceptedJunctionDailyTimeseriesProviderRecords(snapshot: Pick<JunctionSnapshotInput, "connections" | "importedAt" | "timeseries" | "windowEnd" | "windowStart">): number;
58
105
  export declare function canNormalizeJunctionSleepCycleRecordToCompactStages(record: Record<string, unknown>, sourceProviderSlug: string): boolean;
106
+ export type JunctionCalendarRefreshNormalizationFailureReason = "daily.timestamp_or_day_unresolved" | "daily.value_missing" | "daily.value_non_numeric" | "daily.value_out_of_range" | "source_context.unresolved" | "source_day.outside_authorized_day" | "sparse_interval.row_incomplete" | "temporal.local_time_ambiguous_or_nonexistent" | "temporal.timestamp_invalid" | "temporal.timestamp_missing_or_non_string" | "temporal.timestamp_semantics_mismatch";
107
+ export type JunctionNormalizationTimestampKind = "absolute" | "date_only" | "floating" | "invalid" | "missing";
108
+ export interface JunctionCalendarRefreshNormalizationDiagnostic {
109
+ reason: JunctionCalendarRefreshNormalizationFailureReason;
110
+ rowOrdinal?: number;
111
+ sourceProvider?: string;
112
+ timestampKind?: JunctionNormalizationTimestampKind;
113
+ timestampSemantics?: TimestampSemantics;
114
+ }
59
115
  export declare class JunctionSparseCalendarRepairNormalizationError extends Error {
60
116
  readonly code = "JUNCTION_CALENDAR_REFRESH_INCOMPLETE_NORMALIZATION";
117
+ readonly diagnostic: Readonly<JunctionCalendarRefreshNormalizationDiagnostic>;
61
118
  readonly retryable = true;
62
- constructor();
119
+ constructor(diagnostic: JunctionCalendarRefreshNormalizationDiagnostic);
63
120
  }
121
+ export declare function normalizeJunctionCanonicalBodyTimestamp(value: unknown): string | undefined;
122
+ export type JunctionCompleteDayTimestamp = {
123
+ kind: "date-only";
124
+ dayKey: string;
125
+ } | {
126
+ kind: "floating";
127
+ dayKey: string;
128
+ hour: number;
129
+ minute: number;
130
+ second: number;
131
+ millisecond: number;
132
+ } | {
133
+ kind: "absolute";
134
+ instant: string;
135
+ };
136
+ export declare function parseJunctionCompleteDayTimestamp(value: string): JunctionCompleteDayTimestamp | null;
64
137
  export declare function buildJunctionDailyTimeseriesAggregateResourceId(input: JunctionDailyTimeseriesAggregateIdentity): string;
65
138
  export declare function resolveJunctionWeightProviderRecordIdentity(entry: Record<string, unknown>): {
66
139
  providerReadingId: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"junction.d.ts","sourceRoot":"","sources":["../../src/device-providers/junction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"junction.d.ts","sourceRoot":"","sources":["../../src/device-providers/junction.ts"],"names":[],"mappings":"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"}